From 402eeddec5034f751b5aeabbb169f8ccfe295f17 Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Thu, 13 Jun 2024 00:01:07 +0530 Subject: [PATCH 01/82] Changes in connect and connack --- source/core_mqtt.c | 174 ++++ source/core_mqtt_serializer.c | 903 ++++++++++++++++++++- source/include/core_mqtt.h | 83 ++ source/include/core_mqtt_config_defaults.h | 15 + source/include/core_mqtt_serializer.h | 93 +++ 5 files changed, 1264 insertions(+), 4 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index c5c315f73..6e8370dbf 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -90,6 +90,13 @@ */ #define CORE_MQTT_UNSUBSCRIBE_PER_TOPIC_VECTOR_LENGTH ( 2U ) +#if (MQTT_VERSION_5_ENABLED) +#define CORE_MQTT_ID_SIZE ( 1U ) +#define MQTT_USER_PROPERTY_ID (0x17) +#define MQTT_AUTH_METHOD_ID (0x15) +#define MQTT_AUTH_DATA_ID (0x16) +#endif + /*-----------------------------------------------------------*/ /** @@ -547,8 +554,67 @@ static bool matchTopicFilter( const char * pTopicName, const char * pTopicFilter, uint16_t topicFilterLength ); + +#if (MQTT_VERSION_5_ENABLED) +static size_t addEncodedStringToVectorWithId( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ], + const char * const string, + uint16_t length, + TransportOutVector_t * iterator, + size_t * updatedLength,uint8_t packetId ); + + + +/*-----------------------------------------------------------*/ + +static size_t addEncodedStringToVectorWithId( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ], + const char * const string, + uint16_t length, + TransportOutVector_t * iterator, + size_t * updatedLength,uint8_t packetId ) +{ + size_t packetLength = 0U; + TransportOutVector_t * pLocalIterator = iterator; + size_t vectorsAdded = 0U; + + /* When length is non-zero, the string must be non-NULL. */ + assert( ( length != 0U ) ? ( string != NULL ) : true ); + + serializedLength[ 0 ] = ( ( uint8_t ) ( ( length ) >> 8 ) ); + serializedLength[ 1 ] = ( ( uint8_t ) ( ( length ) & 0x00ffU ) ); + + /* Add the serialized length of the string first. */ + pLocalIterator[ 0 ].iov_base = packetId; + pLocalIterator[ 0 ].iov_len = CORE_MQTT_ID_SIZE; + vectorsAdded++; + packetLength = CORE_MQTT_ID_SIZE; + + /* Add the serialized length of the string first. */ + pLocalIterator[ 1 ].iov_base = serializedLength; + pLocalIterator[ 1 ].iov_len = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; + vectorsAdded++; + packetLength = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; + + /* Sometimes the string can be NULL that is, of 0 length. In that case, + * only the length field should be encoded in the vector. */ + if( ( string != NULL ) && ( length != 0U ) ) + { + /* Then add the pointer to the string itself. */ + pLocalIterator[ 2 ].iov_base = string; + pLocalIterator[ 2 ].iov_len = length; + vectorsAdded++; + packetLength += length; + } + + ( *updatedLength ) = ( *updatedLength ) + packetLength; + + return vectorsAdded; +} + +#endif + /*-----------------------------------------------------------*/ + static bool matchEndWildcardsSpecialCases( const char * pTopicFilter, uint16_t topicFilterLength, uint16_t filterIndex ) @@ -2180,6 +2246,7 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, uint8_t serializedPasswordLength[ 2 ]; size_t vectorsAdded; + #if (!MQTT_VERSION_5_ENABLED) /* Maximum number of bytes required by the 'fixed' part of the CONNECT * packet header according to the MQTT specification. * MQTT Control Byte 0 + 1 = 1 @@ -2191,6 +2258,22 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, * Keep alive + 2 = 15 */ uint8_t connectPacketHeader[ 15U ]; + #else + /*Properties + * Properties length- max- 4 + *Session Expiry - 5 + * receive Maximum - 3 + * Max packet Size 5 + * Topic Alias Maximum - 3 + * Request response Information- 2 + * Request problem Information-2 + * User property- MAX USER PROPERTY- separate vector + * Authentication Data- UTF-8 so separate vector for method and data. + * Total- 24 + */ + uint8_t connectPacketHeader[39U]; + + #endif /* The maximum vectors required to encode and send a connect packet. The * breakdown is shown below. * Fixed header 0 + 1 = 1 @@ -2199,7 +2282,18 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, * Will payload + 2 = 7 * Username + 2 = 9 * Password + 2 = 11 */ + #if (MQTT_VERSION_5_ENABLED==0) TransportOutVector_t pIoVector[ 11U ]; + #else + /* + * + * User Property- 2* Max userProperty + * Authentication- 2 + * 6 for wiill properties + * + */ + TransportOutVector_t pIoVector[ 19U + 2* MAX_USER_PROPERTY]; + #endif iterator = pIoVector; pIndex = connectPacketHeader; @@ -2217,6 +2311,11 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, pWillInfo, remainingLength ); + #if (MQTT_VERSION_5_ENABLED) + + pIndex = MQTT_SerializeConnectProperties(pIndex,pContext->connectProperties); + + #endif assert( ( ( size_t ) ( pIndex - connectPacketHeader ) ) <= sizeof( connectPacketHeader ) ); /* The header gets sent first. */ @@ -2230,6 +2329,42 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, iterator++; ioVectorLength++; + #if (MQTT_VERSION_5_ENABLED) + // User Properties + uint8_t serializedAuthMethodLength[ 2 ]; + uint8_t serializedAuthDataLength[ 2 ]; + MQTTAuthInfo_t *pAuthInfo=pContext->connectProperties->outgoingAuth; + if(pAuthInfo!= NULL ) + { + /* Serialize the authentication method string. */ + vectorsAdded = addEncodedStringToVectorWithId( serializedAuthMethodLength, + pAuthInfo->authMethod, + pAuthInfo->authMethodLength, + iterator, + &totalMessageLength,MQTT_AUTH_METHOD_ID ); + + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; + if(pAuthInfo->authDataLength!=0U){ + vectorsAdded = addEncodedStringToVectorWithId(serializedAuthDataLength, + pAuthInfo->authData, + pAuthInfo->authDataLength, + iterator, + &totalMessageLength,MQTT_AUTH_DATA_ID); + + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; + } + } + + if(pContext->connectProperties->outgoingUserPropSize!=0){ + ioVectorLength += MQTT_SerializeUserProperty(pContext->connectProperties->outgoingUserProperty,pContext->connectProperties->outgoingUserPropSize,&iterator,&totalMessageLength); + } + + #endif + /* Serialize the client ID. */ vectorsAdded = addEncodedStringToVector( serializedClientIDLength, pConnectInfo->pClientIdentifier, @@ -2243,6 +2378,10 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, if( pWillInfo != NULL ) { + #if (MQTT_VERSION_5_ENABLED) + //Add the will properties + vectorsAdded= MQTT_SerializePublishProperties(pWillInfo,iterator,&totalMessageLength); + #endif /* Serialize the topic. */ vectorsAdded = addEncodedStringToVector( serializedTopicLength, pWillInfo->pTopicName, @@ -2403,7 +2542,11 @@ static MQTTStatus_t receiveConnack( const MQTTContext_t * pContext, pIncomingPacket->pRemainingData = pContext->networkBuffer.pBuffer; /* Deserialize CONNACK. */ + #if (MQTT_VERSION_5_ENABLED==0) status = MQTT_DeserializeAck( pIncomingPacket, NULL, pSessionPresent ); + #else + status = MQTTV5_DeserializeConnack( pIncomingPacket, NULL, pSessionPresent); + #endif } /* If a clean session is requested, a session present should not be set by @@ -2698,6 +2841,37 @@ MQTTStatus_t MQTT_Connect( MQTTContext_t * pContext, status = MQTTBadParameter; } + #if (MQTT_VERSION_5_ENABLED) + if(status==MQTTSuccess){ + if(pContext->connectProperties==NULL) + { + LogError( ( "Argument cannot be NULL: connectProperties=%p, ", + ( void * ) pContext->connectProperties, + )); + status = MQTTBadParameter; + } + else if(pContext->connectProperties->outgoingAuth!=NULL && pContext->connectProperties->incomingAuth==NULL){ + LogError( ( "Argument cannot be NULL: incomingAuth=%p, ", + ( void * ) pContext->connectProperties->incomingAuth, + )); + status = MQTTBadParameter; + } + else{ + + } + } + if( status == MQTTSuccess ) + { + status= MQTT_GetConnectPropertiesSize(pContext->connectProperties, &packetSize); + remainingLength +=pContext->connectProperties->propertyLength; + remainingLength += remainingLengthEncodedSize(pContext->connectProperties->propertyLength); + if(status==MQTTSuccess){ + status = MQTT_GetWillPropertiesSize(pWillInfo,pContext->connectProperties->willDelay); + remainingLength += pWillInfo->propertyLength; + remainingLength += remainingLengthEncodedSize( pWillInfo->propertyLength); + } + } + #endif if( status == MQTTSuccess ) { /* Get MQTT connect packet size and remaining length. */ diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index e0595ca2b..c08cb6ac0 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -44,6 +44,7 @@ */ #define MQTT_PACKET_CONNECT_HEADER_SIZE ( 10UL ) + /* MQTT CONNECT flags. */ #define MQTT_CONNECT_FLAG_CLEAN ( 1 ) /**< @brief Clean session. */ #define MQTT_CONNECT_FLAG_WILL ( 2 ) /**< @brief Will present. */ @@ -96,6 +97,48 @@ */ #define MQTT_MAX_REMAINING_LENGTH ( 268435455UL ) +#if (MQTT_VERSION_5_ENABLED) +#define MQTT_SESSION_EXPIRY_SIZE (5U) +#define MQTT_RECEIVE_MAX_SIZE (3U) +#define MQTT_MAX_PACKET_SIZE (5U) +#define MQTT_TOPIC_ALIAS_SIZE (3U) +#define MQTT_REQUEST_RESPONSE_SIZE (2U) +#define MQTT_REQUEST_PPOBLEM_SIZE (2U) + +#define MQTT_SESSION_EXPIRY_ID (0x11) +#define MQTT_RECEIVE_MAX_ID (0x21) +#define MQTT_MAX_PACKET_SIZE_ID (0x27) +#define MQTT_TOPIC_ALIAS_MAX_ID (0x22) +#define MQTT_REQUEST_RESPONSE_ID (0x19) +#define MQTT_REQUEST_PROBLEM_ID (0x17) +#define MQTT_USER_PROPERTY_ID (0x17) +#define MQTT_AUTH_METHOD_ID (0x15) +#define MQTT_AUTH_DATA_ID (0x16) + + + +// WILL PROPERTIES +#define MQTT_WILL_DELAY_ID (0x18) +#define MQTT_PAYLOAD_FORMAT_ID (0x01) +#define MQTT_MSG_EXPIRY_ID (0x02) +#define MQTT_CONTENT_TYPE_ID (0x03) +#define MQTT_RESPONSE_TOPIC_ID (0x08) +#define MQTT_CORRELATION_DATA_ID (0x09) + + +// CONNECT PROPERTIES +#define MQTT_MAX_QOS_ID (0x24) +#define MQTT_RETAIN_AVAILABLE_ID (0x25) +#define MQTT_ASSIGNED_CLIENT_ID (0x12) +#define MQTT_REASON_STRING_ID (0x1F) +#define MQTT_WILDCARD_ID (0x28) +#define MQTT_SUB_AVAILABLE_ID (0x29) +#define MQTT_SHARED_SUB_ID (0x2A) +#define MQTT_SERVER_KEEP_ALIVE_ID (0x13) +#define MQTT_RESPONSE_INFO_ID (0x1A) +#define MQTT_SERVER_REF_ID (0x1C) +#endif + /** * @brief Set a bit in an 8-bit unsigned integer. */ @@ -128,6 +171,28 @@ ( uint16_t ) ( ( ( ( uint16_t ) ptr[ 0 ] ) << 8 ) | \ ( ( uint16_t ) ptr[ 1 ] ) ) +#if (MQTT_VERSION_5_ENABLED) + +#define UINT32_BYTE3( x ) ( ( uint8_t ) ( ( x ) >> 24 ) ) + +#define UINT32_BYTE2( x ) ( ( uint8_t ) ( ( x ) >> 16 ) ) + +#define UINT32_BYTE1( x ) ( ( uint8_t ) ( ( x ) >> 8 ) ) + +#define UINT32_BYTE0( x ) ( ( uint8_t ) ( ( x ) >> 0x000000FFU ) ) + +/** + * @brief Get the low byte of a 16-bit unsigned integer. + */ +#define UINT32_DECODE( ptr ) \ + ( uint32_t ) ( ( ( ( uint32_t ) ptr[ 0 ] ) << 24 ) | \ + ( ( ( uint32_t ) ptr[ 0 ] ) << 16 ) | \ + ( ( ( uint32_t ) ptr[ 0 ] ) << 8 ) | \ + ( ( uint32_t ) ptr[ 1 ] ) ) + + +#endif + /** * @brief A value that represents an invalid remaining length. * @@ -446,6 +511,833 @@ static MQTTStatus_t deserializeSimpleAck( const MQTTPacketInfo_t * pAck, */ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); +#if (MQTT_VERSION_5_ENABLED) + +MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t * userProperty, uint16_t size,size_t *length); + + +MQTTStatus_t MQTT_GetConnectPropertiesSize (MQTTConnectProperties_t * pConnectProperties, + size_t * pPacketSize ); + +MQTTStatus_t MQTT_GetWillPropertiesSize ( const MQTTPublishInfo_t * pConnectProperties, + size_t *pWillLenght, uint32_t willDelay); + +uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex,const MQTTConnectProperties_t * pConnectProperties); + +size_t MQTT_SerializeUserProperty(MQTTUserProperty_t * userProperty, uint16_t size,TransportOutVector_t *iterator,size_t* updatedLength); + +size_t MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, TransportOutVector_t *iterator, size_t * updatedLength,uint32_t willDelay); + +MQTTStatus_t decodeVariableLength( const uint8_t * pBuffer, size_t* length); + +MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t * pIncomingPacket, + bool * pSessionPresent ); + + +MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackProperties,const MQTTPacketInfo_t * pIncomingPacket, + + bool * pSessionPresent ); + + +/*-----------------------------------------------------------*/ + +MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t * userProperty, uint16_t size, size_t* length){ + MQTTStatus_t status= MQTTSuccess; + if(size>MAX_USER_PROPERTY){ + status=MQTTBadParameter; + } + else if(size!=0 && userProperty==NULL){ + status=MQTTBadParameter; + } + else{ + for(uint16_t i=0;ikeyLength==0 || (userProperty+i)->valueLength==0||(userProperty+i)->key==NULL || (userProperty+i)->value==NULL ){ + status==MQTTBadParameter; + } + length+=(userProperty+i)->keyLength; + length+=(userProperty+i)->valueLength; + } + } + return status; +} + + +MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t *pConnectProperties, + size_t *pPacketSize) +{ + size_t propertyLength = 0U; + MQTTStatus_t status = MQTTSuccess; + if (pConnectProperties->sessionExpiry != 0) + { + // 4U + 1U + propertyLength += MQTT_SESSION_EXPIRY_SIZE; + } + if (pConnectProperties->receiveMax != UINT16_MAX) + { + propertyLength += MQTT_RECEIVE_MAX_SIZE; + } + if (pConnectProperties->maxPacketSize != UINT16_MAX) + { + propertyLength += MQTT_MAX_PACKET_SIZE; + } + if (pConnectProperties->topicAliasMax != 0U) + { + propertyLength += MQTT_TOPIC_ALIAS_SIZE; + } + if (pConnectProperties->reqResInfo != 0) + { + propertyLength += MQTT_REQUEST_RESPONSE_SIZE; + } + if (pConnectProperties->reqProbInfo != 1) + { + propertyLength += MQTT_REQUEST_PPOBLEM_SIZE; + } + if (pConnectProperties->incomingAuth != NULL) + { + if (pConnectProperties->outgoingAuth->authMethodLength == 0U && pConnectProperties->outgoingAuth->authDataLength != 0U) + { + status = MQTTBadParameter; + } + else if ((pConnectProperties->outgoingAuth->authMethodLength != 0U) && (pConnectProperties->outgoingAuth->authMethod == NULL)) + { + status = MQTTBadParameter; + } + else if ((pConnectProperties->outgoingAuth->authDataLength != 0U) && (pConnectProperties->outgoingAuth->authData == NULL)) + { + status = MQTTBadParameter; + } + else + { + propertyLength += pConnectProperties->incomingAuth->authMethodLength; + propertyLength += 1U; + if(pConnectProperties->outgoingAuth->authDataLength != 0U){ + propertyLength += pConnectProperties->incomingAuth->authDataLength; + propertyLength += 1U; + } + } + } + if(status==MQTTSuccess){ + status= GetUserPropertySize(pConnectProperties->outgoingUserProperty,pConnectProperties->outgoingUserPropSize,&propertyLength); + } + pConnectProperties->propertyLength = propertyLength; + + return status; + +} + +MQTTStatus_t MQTT_GetWillPropertiesSize(const MQTTPublishInfo_t *pWillProperties, + size_t *pWillLenght, uint32_t willDelay) +{ + size_t willLength = 0U; + MQTTStatus_t status = MQTTSuccess; + if (willDelay != 0U) + { + willLength += 5U; + } + if (pWillProperties->payloadFormat != 0) + { + willLength += 2U; + } + if (pWillProperties->msgExpiryInterval != 0U) + { + willLength += 5U; + } + if (pWillProperties->contentTypeLength != 0U) + { + willLength += pWillProperties->contentTypeLength+ 1U; + } + if (pWillProperties->responseTopicLength != 0U) + { + willLength += pWillProperties->responseTopicLength + 1U; + } + if (pWillProperties->correlationLength != 0U) + { + willLength += pWillProperties->correlationLength + 1U; + } + if(status==MQTTSuccess){ + status= GetUserPropertySize(pWillProperties->userProperty,pWillProperties->userPropertySize,&willLength); + } + + return status; +} + +uint8_t * MQTT_SerializeConnectProperties(uint8_t *pIndex, const MQTTConnectProperties_t *pConnectProperties) +{ + uint8_t *pIndexLocal = pIndex; + pIndexLocal = encodeRemainingLength(pIndexLocal, pConnectProperties->propertyLength); + if (pConnectProperties->sessionExpiry != 0) + { + *pIndexLocal = MQTT_SESSION_EXPIRY_ID; + pIndexLocal++; + pIndexLocal[0] = UINT32_BYTE3(pConnectProperties->sessionExpiry); + pIndexLocal[1] = UINT32_BYTE2(pConnectProperties->sessionExpiry); + pIndexLocal[2] = UINT32_BYTE1(pConnectProperties->sessionExpiry); + pIndexLocal[3] = UINT32_BYTE0(pConnectProperties->sessionExpiry); + pIndexLocal = &pIndexLocal[4]; + } + if (pConnectProperties->receiveMax != UINT16_MAX) + { + *pIndexLocal = MQTT_RECEIVE_MAX_ID; + pIndexLocal++; + pIndexLocal[0] = UINT16_HIGH_BYTE(pConnectProperties->receiveMax); + pIndexLocal[1] = UINT16_LOW_BYTE(pConnectProperties->receiveMax); + pIndexLocal = &pIndexLocal[2]; + } + if (pConnectProperties->maxPacketSize != UINT16_MAX) + { + *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; + pIndexLocal++; + pIndexLocal[0] = UINT32_BYTE3(pConnectProperties->maxPacketSize); + pIndexLocal[1] = UINT32_BYTE2(pConnectProperties->maxPacketSize); + pIndexLocal[2] = UINT32_BYTE1(pConnectProperties->maxPacketSize); + pIndexLocal[3] = UINT32_BYTE0(pConnectProperties->maxPacketSize); + pIndexLocal = &pIndexLocal[4]; + + } + if (pConnectProperties->topicAliasMax != 0U) + { + *pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; + pIndexLocal++; + pIndexLocal[0] = UINT16_HIGH_BYTE(pConnectProperties->topicAliasMax); + pIndexLocal[1] = UINT16_LOW_BYTE(pConnectProperties->topicAliasMax); + pIndexLocal = &pIndexLocal[2]; + } + if (pConnectProperties->reqResInfo != 0) + { + *pIndexLocal = MQTT_REQUEST_RESPONSE_ID; + pIndexLocal++; + *pIndexLocal = 1U; + pIndexLocal++; + } + if (pConnectProperties->reqProbInfo != 1) + { + *pIndexLocal = MQTT_REQUEST_PROBLEM_ID; + pIndexLocal++; + *pIndexLocal = 0U; + pIndexLocal++; + } + return pIndexLocal; +} + +size_t MQTT_SerializeUserProperty(MQTTUserProperty_t * userProperty, uint16_t size,TransportOutVector_t *iterator,size_t* totalMessageLength) +{ + uint8_t serializedUserKeyLength[ MAX_USER_PROPERTY ][2]; + uint8_t serializedUserValueLength[ 2 ]; + size_t vectorsAdded = 0U; + size_t ioVectorLength= 0U; + for(uint16_t i=0;ikey, + (userProperty+i)->keyLength, + iterator, + &totalMessageLength,MAX_USER_PROPERTY ); + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; + + vectorsAdded = addEncodedStringToVector(serializedUserValueLength[i], + (userProperty+i)->value, + (userProperty+i)->valueLength, + iterator, + &totalMessageLength ); + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; + } + return ioVectorLength; +} + +size_t MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, TransportOutVector_t *iterator, size_t * totalMessageLength,uint32_t willDelay){ + uint8_t* pIndex; + size_t vectorsAdded = 0U; + size_t ioVectorLength= 0U; + uint8_t serializedContentTypeLength[ 2 ]; + uint8_t serializedResponseTopicLength[ 2 ]; + uint8_t serailizedCorrelationLength[ 2 ]; + // 4 byte + 4 byte delay + 2 byte payload format + 6 byte + uint8_t fixedSizeProperties[ 16U]; + // 1 for fixed, 5 for variable + pIndex = encodeRemainingLength( pIndex, pPublishInfo->propertyLength); + if (willDelay != 0U) + { + *pIndex = MQTT_WILL_DELAY_ID; + pIndex++; + pIndex[0] = UINT32_BYTE3(willDelay); + pIndex[1] = UINT32_BYTE2(willDelay); + pIndex[2] = UINT32_BYTE1(willDelay); + pIndex[3] = UINT32_BYTE0(willDelay); + pIndex = &pIndex[4]; + } + if (pPublishInfo->payloadFormat != 0) + { + *pIndex = MQTT_PAYLOAD_FORMAT_ID; + pIndex++; + *pIndex= pPublishInfo->payloadFormat; + } + if (pPublishInfo->msgExpiryInterval != 0U) + { + *pIndex = MQTT_MSG_EXPIRY_ID; + pIndex++; + pIndex[0] = UINT32_BYTE3(pPublishInfo->msgExpiryInterval); + pIndex[1] = UINT32_BYTE2(pPublishInfo->msgExpiryInterval); + pIndex[2] = UINT32_BYTE1(pPublishInfo->msgExpiryInterval); + pIndex[3] = UINT32_BYTE0(pPublishInfo->msgExpiryInterval); + } + + iterator->iov_base = fixedSizeProperties; + iterator->iov_len = ( size_t ) ( pIndex - fixedSizeProperties ); + totalMessageLength += iterator->iov_len; + iterator++; + ioVectorLength++; + + if ( pPublishInfo->contentTypeLength != 0U) + { + vectorsAdded = addEncodedStringToVectorwithId( serializedContentTypeLength, + pPublishInfo->contentType, + pPublishInfo->contentTypeLength, + iterator, + &totalMessageLength,MQTT_CONTENT_TYPE_ID); + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; + } + if ( pPublishInfo->responseTopicLength != 0U) + { + vectorsAdded = addEncodedStringToVectorWithId( serializedResponseTopicLength, + pPublishInfo->responseTopic, + pPublishInfo->responseTopicLength, + iterator, + &totalMessageLength,MQTT_RESPONSE_TOPIC_ID ); + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; + } + if (pPublishInfo->correlationLength != 0U) + { + vectorsAdded = addEncodedStringToVectorWithId(serailizedCorrelationLength, + pPublishInfo->correlationData, + pPublishInfo->correlationLength, + iterator, + &totalMessageLength,MQTT_CORRELATION_DATA_ID); + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; + } + if(pPublishInfo->userPropertySize!=0){ + ioVectorLength += MQTT_SerializeUserProperty(pPublishInfo->userProperty,pPublishInfo->userPropertySize,&iterator,&totalMessageLength); + } + return ioVectorLength; +}; + +MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t * pIncomingPacket, bool * pSessionPresent ) +{ + +MQTTStatus_t status = MQTTSuccess; + if ( pIncomingPacket == NULL ) + { + LogError( ( "pIncomingPacket cannot be NULL." ) ); + status = MQTTBadParameter; + } + else if(pSessionPresent == NULL) + { + LogError( ( "pSessionPresent cannot be NULL for CONNACK packet." ) ); + status = MQTTBadParameter; + } + else if( pIncomingPacket->pRemainingData == NULL ) + { + LogError( ( "Remaining data of incoming packet is NULL." ) ); + status = MQTTBadParameter; + } + else if(pIncomingPacket->type!=MQTT_PACKET_TYPE_CONNACK){ + + LogError( ( "Packet type is invalid." ) ); + status = MQTTBadParameter; + } + else{ + const uint8_t * pRemainingData = NULL; + pRemainingData = pIncomingPacket->pRemainingData; + if( ( pRemainingData[ 0 ] | 0x01U ) != 0x01U ) + { + LogError( ( "Reserved bits in CONNACK incorrect." ) ); + + status = MQTTBadResponse; + } + else + { + /* Determine if the "Session Present" bit is set. This is the lowest bit of + * the third byte in CONNACK. */ + if( ( pRemainingData[ 0 ] & MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK ) + == MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK ) + { + LogDebug( ( "CONNACK session present bit set." ) ); + *pSessionPresent = true; + + /* MQTT 5 specifies that the fourth byte in CONNACK must be 0 if the + * "Session Present" bit is set. */ + if( pRemainingData[ 1 ] != 0U ) + { + LogError( ( "Session Present bit is set, but connect return code in CONNACK is %u (nonzero).", + ( unsigned int ) pRemainingData[ 1 ] ) ); + status = MQTTBadResponse; + } + } + else + { + LogDebug( ( "CONNACK session present bit not set." ) ); + *pSessionPresent = false; + } + } + if( status == MQTTSuccess ) + { + /* In MQTT 5, only values 0 , 80 through 9F are valid CONNACK response codes. */ + if( pRemainingData[ 1 ] !=0u && (pRemainingData[1]<0x80 || pRemainingData[1]>0x9F)) + { + LogError( ( "CONNACK response %u is invalid.", + ( unsigned int ) pRemainingData[ 1 ] ) ); + + status = MQTTBadResponse; + } + else + { + /* Print the appropriate message for the CONNACK response code if logs are + * enabled. */ + logConnackVersion5Response( pRemainingData[ 1 ] ); + + /* A nonzero CONNACK response code means the connection was refused. */ + if( pRemainingData[ 1 ] > 0U ) + { + status = MQTTServerRefused; + } + } + } + } + + return status; +} + +MQTTStatus_t decodeVariableLength( const uint8_t * pBuffer, size_t* length) +{ + size_t remainingLength = 0; + size_t multiplier = 1; + size_t bytesDecoded = 0; + size_t expectedSize = 0; + uint8_t encodedByte = 0; + MQTTStatus_t status = MQTTSuccess; + + /* This algorithm is copied from the MQTT v3.1.1 spec. */ + do + { + if( multiplier > 2097152U ) /* 128 ^ 3 */ + { + remainingLength = MQTT_REMAINING_LENGTH_INVALID; + + LogError( ( "Invalid remaining length in the packet.\n" ) ); + + status = MQTTBadResponse; + } + else + { + /* Get the next byte. It is at the next position after the bytes + * decoded till now since the header of one byte was read before. */ + encodedByte = pBuffer[ bytesDecoded]; + remainingLength += ( ( size_t ) encodedByte & 0x7FU ) * multiplier; + multiplier *= 128U; + bytesDecoded++; + + } + + /* If the response is incorrect, or no more data is available, then + * break out of the loop. */ + if( ( remainingLength == MQTT_REMAINING_LENGTH_INVALID ) || + ( status != MQTTSuccess ) ) + { + break; + } + } while( ( encodedByte & 0x80U ) != 0U ); + + if( status == MQTTSuccess ) + { + /* Check that the decoded remaining length conforms to the MQTT specification. */ + expectedSize = remainingLengthEncodedSize( remainingLength ); + + if( bytesDecoded != expectedSize ) + { + LogError( ( "Expected and actual length of decoded bytes do not match.\n" ) ); + status = MQTTBadResponse; + } + else + { + *length = remainingLength; + } + } + + return status; +} + +MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackProperties,const MQTTPacketInfo_t * pIncomingPacket, + + bool * pSessionPresent ) +{ + MQTTStatus_t status = MQTTSuccess; + status= validateConnackParams( pIncomingPacket,pSessionPresent ); + size_t propertyLength=0U; + uint8_t* pVariableHeader=NULL; + if(status==MQTTSuccess){ + uint8_t* pVariableHeader = pIncomingPacket->pRemainingData; + pVariableHeader= &pVariableHeader[2]; + size_t remainingLengthSize= remainingLengthEncodedSize(pIncomingPacket->remainingLength); + pVariableHeader=pVariableHeader[remainingLengthSize]; + status=decodeVariableLength(pVariableHeader,&propertyLength); + } + if(propertyLength==0U){ + status=MQTTProtocolError; + } + else if(pIncomingPacket->remainingLength!=1+propertyLength+remainingLengthEncodedSize(propertyLength)){ + status=MQTTMalformedPacket; + } + if(status==MQTTSuccess){ + bool sessionExpiry=false; + bool serverReceiveMax=false; + bool maxQos=false; + bool retain=false; + bool maxPacket=false; + bool clientId=false; + bool topicAlias=false; + bool reasonString=false; + bool wildcard=false; + bool subId=false; + bool sharedsub=false; + bool keepAlive=false; + bool responseInfo=false; + bool serverRef=false; + bool authMethod =false; + bool authData=false; + MQTTUserProperty_t *userProperty = pConnackProperties->incomingUserProperty; + + while((propertyLength>0 )&& (status=MQTTSuccess)){ + uint8_t packetId = *pVariableHeader; + pVariableHeader= pVariableHeader[1]; + propertyLength-=1; + switch (packetId){ + case MQTT_SESSION_EXPIRY_ID: + if(sessionExpiry==true){ + status=MQTTProtocolError; + } + else if(propertyLength<4){ + status=MQTTMalformedPacket; + } + else{ + pConnackProperties->sessionExpiry= UINT32_DECODE(pVariableHeader); + pVariableHeader= &pVariableHeader[sizeof(uint32_t)]; + sessionExpiry=true; + propertyLength-=4; + } + break; + case MQTT_RECEIVE_MAX_ID: + if(serverReceiveMax==true){ + status = MQTTProtocolError; + } + else if(propertyLength<2){ + status = MQTTMalformedPacket; + } + else{ + pConnackProperties->serverReceiveMax= UINT16_DECODE(pVariableHeader); + pVariableHeader= &pVariableHeader[sizeof(uint16_t)]; + serverReceiveMax=true; + propertyLength-=2; + if(pConnackProperties->serverReceiveMax==0){ + status=MQTTProtocolError; + } + } + break; + case MQTT_MAX_QOS_ID: + if(maxQos==true){ + status=MQTTProtocolError; + } + else if(propertyLength<1){ + status = MQTTMalformedPacket; + } + else{ + pConnackProperties->serverMaxQos=*pVariableHeader; + pVariableHeader= &pVariableHeader[sizeof(uint8_t)]; + maxQos=true; + propertyLength-=1; + if(pConnackProperties->serverMaxQos>1){ + status=MQTTProtocolError; + } + } + break; + case MQTT_RETAIN_AVAILABLE_ID: + if(retain==true){ + status=MQTTProtocolError; + } + else if(propertyLength<1){ + status = MQTTMalformedPacket; + } + else{ + pConnackProperties->returnAvailable=*pVariableHeader; + pVariableHeader= &pVariableHeader[sizeof(uint8_t)]; + retain=true; + propertyLength-=1; + + if(pConnackProperties->returnAvailable>1){ + status=MQTTProtocolError; + } + } + break; + case MQTT_MAX_PACKET_SIZE_ID: + if(maxPacket==true){ + status=MQTTProtocolError; + } + else if(propertyLength<4){ + status = MQTTMalformedPacket; + } + else{ + pConnackProperties->serverMaxPacketSize= UINT32_DECODE(pVariableHeader); + pVariableHeader= &pVariableHeader[sizeof(uint32_t)]; + maxPacket=true; + propertyLength-=4; + if( pConnackProperties->serverMaxPacketSize==0){ + status=MQTTProtocolError; + } + } + break; + case MQTT_ASSIGNED_CLIENT_ID: + if(clientId==true){ + status=MQTTProtocolError; + } + else if(propertyLength<2){ + status = MQTTMalformedPacket; + } + else{ + pConnackProperties->clientIdLength= UINT16_DECODE(pVariableHeader); + pVariableHeader= &pVariableHeader[sizeof(uint16_t)]; + propertyLength-=2; + if(propertyLengthclientIdLength){ + status=MQTTMalformedPacket; + } + else{ + pConnackProperties->clientIdentifier=( const char * )pVariableHeader; + pVariableHeader=&pVariableHeader[pConnackProperties->clientIdLength]; + propertyLength-=pConnackProperties->clientIdLength; + clientId=true; + } + } + break; + + case MQTT_TOPIC_ALIAS_MAX_ID: + if(topicAlias==true){ + status=MQTTProtocolError; + } + else if(propertyLength<2){ + status=MQTTMalformedPacket; + } + else{ + pConnackProperties->topicAliasMax=UINT16_DECODE(pVariableHeader); + pVariableHeader= &pVariableHeader[sizeof(uint16_t)]; + topicAlias=true; + propertyLength-=2; + } + break; + case MQTT_REASON_STRING_ID: + if(reasonString==true){ + status=MQTTProtocolError; + } + else if(propertyLength<2){ + status = MQTTMalformedPacket; + } + else{ + pConnackProperties->reasonStringLength= UINT16_DECODE(pVariableHeader); + pVariableHeader= &pVariableHeader[sizeof(uint16_t)]; + propertyLength-=2; + if(propertyLengthreasonStringLength){ + status=MQTTMalformedPacket; + } + else{ + pConnackProperties->reasonString=( const char * )pVariableHeader; + pVariableHeader=pVariableHeader[pConnackProperties->reasonStringLength]; + propertyLength-=pConnackProperties->reasonStringLength; + reasonString=true; + } + } + break; + case MQTT_USER_PROPERTY_ID: + // Decode user property + if(pConnackProperties->incomingUserPropSize==MAX_USER_PROPERTY){ + + } + else if(propertyLength<2){ + status = MQTTMalformedPacket; + } + else{ + pConnackProperties->incomingUserPropSize++; + userProperty->keyLength=UINT16_DECODE(pVariableHeader); + propertyLength-=2; + if(propertyLengthkeyLength+2){ + status=MQTTMalformedPacket; + } + else{ + userProperty->key=&pVariableHeader[userProperty->valueLength]; + userProperty->valueLength=UINT16_DECODE(pVariableHeader); + propertyLength-=2; + if(propertyLengthvalueLength){ + status=MQTTMalformedPacket; + } + else{ + userProperty->value=&pVariableHeader[userProperty->valueLength]; + } + } + } + break; + case MQTT_WILDCARD_ID: + if(wildcard==true){ + status=MQTTProtocolError; + } + else if(propertyLength<1){ + status = MQTTMalformedPacket; + } + else{ + pConnackProperties->isWildcardAvaiable=*pVariableHeader; + pVariableHeader= &pVariableHeader[sizeof(uint8_t)]; + propertyLength-=1; + if(pConnackProperties->isSharedAvailable>1){ + status= MQTTProtocolError; + } + wildcard=true; + } + break; + case MQTT_SUB_AVAILABLE_ID: + if(subId==true){ + status=MQTTProtocolError; + } + else if(propertyLength<1){ + status = MQTTMalformedPacket; + } + else{ + pConnackProperties->subscriptionId=*pVariableHeader; + pVariableHeader= &pVariableHeader[sizeof(uint8_t)]; + propertyLength-=1; + if(pConnackProperties->subscriptionId>1){ + status= MQTTProtocolError; + } + subId=true; + } + break; + case MQTT_SHARED_SUB_ID: + if(sharedsub==true){ + status=MQTTProtocolError; + } + else if(propertyLength<1){ + status = MQTTMalformedPacket; + } + else{ + pConnackProperties->isSharedAvailable=*pVariableHeader; + pVariableHeader= &pVariableHeader[sizeof(uint8_t)]; + propertyLength-=1; + if(pConnackProperties->isSharedAvailable>1){ + status= MQTTProtocolError; + } + sharedsub=true; + } + break; + case MQTT_SERVER_KEEP_ALIVE_ID: + if(keepAlive==true){ + status=MQTTProtocolError; + } + else if(propertyLength<2){ + status = MQTTMalformedPacket; + } + else{ + pConnackProperties->serverKeepAlive=UINT16_DECODE(pVariableHeader); + pVariableHeader= &pVariableHeader[sizeof(uint16_t)]; + propertyLength-=2; + keepAlive=true; + } + break; + case MQTT_RESPONSE_INFO_ID: + if(responseInfo==true || pConnackProperties->reqResInfo==0){ + status=MQTTProtocolError; + } + else if(propertyLength<2){ + status = MQTTMalformedPacket; + } + else{ + pConnackProperties->responseInfoLength= UINT16_DECODE(pVariableHeader); + pVariableHeader=&pVariableHeader[sizeof(uint16_t)]; + propertyLength-=2; + if(propertyLengthresponseInfoLength){ + status=MQTTMalformedPacket; + } + pConnackProperties->responseInfo=( const char * )pVariableHeader; + pVariableHeader=&pVariableHeader[pConnackProperties->responseInfoLength]; + propertyLength-=pConnackProperties->responseInfoLength; + responseInfo=true; + } + break; + case MQTT_SERVER_REF_ID: + if(serverRef==true){ + status=MQTTProtocolError; + } + else if(propertyLength<2){ + status=MQTTMalformedPacket; + } + else{ + pConnackProperties->serverRefLength= UINT16_DECODE(pVariableHeader); + pVariableHeader= &pVariableHeader[sizeof(uint16_t)]; + propertyLength-=2; + if(propertyLengthserverRefLength){ + status=MQTTMalformedPacket; + } + pConnackProperties->serverRef=( const char * )pVariableHeader; + pVariableHeader=&pVariableHeader[pConnackProperties->serverRefLength]; + propertyLength-=pConnackProperties->serverRefLength; + serverRef=true; + } + break; + case MQTT_AUTH_METHOD_ID: + if(authMethod==true || pConnackProperties->outgoingAuth==NULL){ + status=MQTTProtocolError; + } + else if(propertyLength<2){ + status=MQTTMalformedPacket; + } + else{ + pConnackProperties->outgoingAuth->authMethodLength= UINT16_DECODE(pVariableHeader); + pVariableHeader= &pVariableHeader[sizeof(uint16_t)]; + propertyLength-=2; + if(propertyLengthoutgoingAuth->authMethodLength){ + status=MQTTMalformedPacket; + } + pConnackProperties->outgoingAuth->authMethod=( const char * )pVariableHeader; + pVariableHeader=&pVariableHeader[pConnackProperties->outgoingAuth->authMethodLength]; + propertyLength-=pConnackProperties->outgoingAuth->authMethodLength; + authMethod=true; + } + break; + case MQTT_AUTH_DATA_ID : + if(authData==true || pConnackProperties->outgoingAuth==NULL){ + status=MQTTProtocolError; + } + else if(propertyLength<2){ + status=MQTTMalformedPacket; + } + else{ + pConnackProperties->outgoingAuth->authDataLength= UINT16_DECODE(pVariableHeader); + pVariableHeader= &pVariableHeader[sizeof(uint16_t)]; + propertyLength-=2; + if(propertyLengthoutgoingAuth->authDataLength){ + status=MQTTMalformedPacket; + } + pConnackProperties->outgoingAuth->authData=( const char * )pVariableHeader; + pVariableHeader=&pVariableHeader[pConnackProperties->outgoingAuth->authDataLength]; + propertyLength-=pConnackProperties->outgoingAuth->authDataLength; + authMethod=true; + } + break; + default: + status= MQTTProtocolError; + } + } + } + return status; +} + +#endif /*-----------------------------------------------------------*/ static size_t remainingLengthEncodedSize( size_t length ) @@ -1569,6 +2461,9 @@ uint8_t * MQTT_SerializeConnectFixedHeader( uint8_t * pIndex, /* The string "MQTT" is placed at the beginning of the CONNECT packet's variable * header. This string is 4 bytes long. */ + + // Add the correct version + pIndexLocal = encodeString( pIndexLocal, "MQTT", 4 ); /* The MQTT protocol version is the second field of the variable header. */ @@ -1600,7 +2495,7 @@ uint8_t * MQTT_SerializeConnectFixedHeader( uint8_t * pIndex, /* Flags only need to be changed for Will QoS 1 or 2. */ if( pWillInfo->qos == MQTTQoS1 ) { - UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_WILL_QOS1 ); + UINT8_SET_BIvT( connectFlags, MQTT_CONNECT_FLAG_WILL_QOS1 ); } else if( pWillInfo->qos == MQTTQoS2 ) { @@ -1696,7 +2591,7 @@ MQTTStatus_t MQTT_GetConnectPacketSize( const MQTTConnectInfo_t * pConnectInfo, size_t remainingLength; /* The CONNECT packet will always include a 10-byte variable header. */ - size_t connectPacketSize = MQTT_PACKET_CONNECT_HEADER_SIZE; + size_t connectPacketSize = MQTT_PACKET_CONNECT_HEADER_SIZE; /* Validate arguments. */ if( ( pConnectInfo == NULL ) || ( pRemainingLength == NULL ) || @@ -1774,8 +2669,8 @@ MQTTStatus_t MQTT_GetConnectPacketSize( const MQTTConnectInfo_t * pConnectInfo, * (packet type field length) 1 + * (CONNECT packet encoded length) 3 = 327699 */ - *pRemainingLength = remainingLength; - *pPacketSize = connectPacketSize; + *pRemainingLength += remainingLength; + *pPacketSize += connectPacketSize; LogDebug( ( "CONNECT packet remaining length=%lu and packet size=%lu.", ( unsigned long ) *pRemainingLength, diff --git a/source/include/core_mqtt.h b/source/include/core_mqtt.h index fdfb06799..0d067455a 100644 --- a/source/include/core_mqtt.h +++ b/source/include/core_mqtt.h @@ -41,6 +41,9 @@ /* Include transport interface. */ #include "transport_interface.h" +/* Include transport interface. */ +#include "core_mqtt_config_defaults.h" + /** * @cond DOXYGEN_IGNORE * The current version of this library. @@ -61,6 +64,12 @@ struct MQTTPubAckInfo; struct MQTTContext; struct MQTTDeserializedInfo; +#if(MQTT_VERSION==5) +struct MQTTConnectProperties; +struct MQTTUserProperty; +struict MQTTAuthInfo; +#endif + /** * @ingroup mqtt_callback_types * @brief Application provided function to query the time elapsed since a given @@ -162,6 +171,77 @@ typedef struct MQTTPubAckInfo MQTTPublishState_t publishState; /**< @brief The current state of the publish process. */ } MQTTPubAckInfo_t; +#if (MQTT_VERSION_5_ENABLED) + + /** + * @ingroup mqtt_struct_types + * @brief Struct to hold authentication method and authentication data. + */ +typedef struct MQTTAuthInfo +{ + const char* authMethod; + uint16_t authMethodLength; + const char* authData; + uint16_t authDataLength; +}MQTTAuthInfo_t; + +typedef struct MQTTUserProperty +{ + const char* key; + uint16_t keyLength; + const char* value; + uint16_t valueLength; +}MQTTUserProperty_t; + + /** + * @ingroup mqtt_struct_types + * @brief Struct to hold connect and connack properties. + */ +typedef struct MQTTConnectProperties +{ + uint32_t sessionExpiry; + uint16_t receiveMax; + uint32_t maxPacketSize; + uint16_t topicAliasMax; + bool reqResInfo; + bool reqProbInfo; + size_t propertyLength; +// Add user property +// Pointer to array of userProperty; +// array of user property -> with size as maximum value of user property configured +// add authentication + MQTTUserProperty_t *incomingUserProperty; + uint16_t incomingUserPropSize; + MQTTUserProperty_t *outgoingUserProperty; + uint16_t outgoingUserPropSize; + MQTTAuthInfo_t *incomingAuth; + uint32_t willDelay; + + // CONNACK + uint16_t serverReceiveMax; + uint8_t serverMaxQos; + uint8_t returnAvailable; + uint32_t serverMaxPacketSize; + const char* clientIdentifier; + uint16_t clientIdLength; + uint16_t serverTopicAliasMax; + const char* reasonString; + uint16_t reasonStringLength; + bool isWildcardAvaiable; + bool subscriptionId; + bool isSharedAvailable; + uint16_t serverKeepAlive; + const char* responseInfo; + uint16_t responseInfoLength; + const char* serverRef; + uint16_t serverRefLength; + MQTTAuthInfo_t *outgoingAuth; + +} MQTTConnectProperties_t; +#endif + + + /** * @ingroup mqtt_struct_types * @brief A struct representing an MQTT connection. @@ -243,6 +323,9 @@ typedef struct MQTTContext uint16_t keepAliveIntervalSec; /**< @brief Keep Alive interval. */ uint32_t pingReqSendTimeMs; /**< @brief Timestamp of the last sent PINGREQ. */ bool waitingForPingResp; /**< @brief If the library is currently awaiting a PINGRESP. */ + #if (MQTT_VERSION_5_ENABLED) + MQTTConnectProperties_t *connectProperties; + #endif } MQTTContext_t; /** diff --git a/source/include/core_mqtt_config_defaults.h b/source/include/core_mqtt_config_defaults.h index 18bde6d95..a07598e5e 100644 --- a/source/include/core_mqtt_config_defaults.h +++ b/source/include/core_mqtt_config_defaults.h @@ -68,6 +68,21 @@ #define MQTT_DO_NOT_USE_CUSTOM_CONFIG #endif +/** + * @ingroup mqtt_constants + * @brief Version of the MQTT protocol with default value as 3.1.1 + */ +#ifndef MQTT_VERSION_5_ENABLED + #define MQTT_VERSION_5_ENABLED (true) + #ifndef MAX_USER_PROPERTY + #define MAX_USER_PROPERTY (5U) + #endif +#endif + +#ifndef MQTT_MAX_USER_PROPERTY + #define MQTT_MAX_USER_PROPERTY ( 5U ) +#endif + /** * @ingroup mqtt_constants * @brief Maximum number of vectors in subscribe and unsubscribe packet. diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index 16f797da9..e6afc0760 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -43,6 +43,7 @@ /* *INDENT-ON */ #include "transport_interface.h" +#include "core_mqtt_config_defaults.h" /* MQTT packet types. */ @@ -99,6 +100,12 @@ typedef enum MQTTStatus MQTTNeedMoreBytes /**< MQTT_ProcessLoop/MQTT_ReceiveLoop has received incomplete data; it should be called again (probably after a delay). */ + #if (MQTT_VERSION_5_ENABLED) + , + MQTTMalformedPacket = 0x81, + MQTTProtocolError = 0x82, + + #endif } MQTTStatus_t; /** @@ -194,6 +201,76 @@ typedef struct MQTTSubscribeInfo uint16_t topicFilterLength; } MQTTSubscribeInfo_t; +#if (MQTT_VERSION_5_ENABLED) + + /** + * @ingroup mqtt_struct_types + * @brief Struct to hold authentication method and authentication data. + */ +typedef struct MQTTAuthInfo +{ + const char* authMethod; + uint16_t authMethodLength; + const char* authData; + uint16_t authDataLength; +}MQTTAuthInfo_t; + +typedef struct MQTTUserProperty +{ + const char* key; + uint16_t keyLength; + const char* value; + uint16_t valueLength; +}MQTTUserProperty_t; + /** + * @ingroup mqtt_struct_types + * @brief Struct to hold connect and connack properties. + */ +typedef struct MQTTConnectProperties +{ + uint32_t sessionExpiry; + uint16_t receiveMax; + uint32_t maxPacketSize; + uint16_t topicAliasMax; + bool reqResInfo; + bool reqProbInfo; + size_t propertyLength; +// Add user property +// Pointer to array of userProperty; +// UserProperty_t userProperty; +// array of user property -> with size as maximum value of user property configured +// add authenticationenecccdkcnfvkejgbniughcdhnlelkkhdrbhvkelthjn + + MQTTUserProperty_t *incomingUserProperty; + uint16_t incomingUserPropSize; + MQTTUserProperty_t *outgoingUserProperty; + uint16_t outgoingUserPropSize; + MQTTAuthInfo_t *incomingAuth; + uint32_t willDelay; + // CONNECT + uint16_t serverReceiveMax; + uint8_t serverMaxQos; + int8_t returnAvailable; + uint32_t serverMaxPacketSize; + const char* clientIdentifier; + uint16_t clientIdLength; + uint16_t serverTopicAliasMax; + const char* reasonString; + uint16_t reasonStringLength; + bool isWildcardAvaiable; + bool subscriptionId; + bool isSharedAvailable; + uint16_t serverKeepAlive; + const char* responseInfo; + uint16_t responseInfoLength; + const char* serverRef; + uint16_t serverRefLength; + MQTTAuthInfo_t *outgoingAuth; + +} MQTTConnectProperties_t; +#endif + + /** * @ingroup mqtt_struct_types * @brief MQTT PUBLISH packet parameters. @@ -234,6 +311,22 @@ typedef struct MQTTPublishInfo * @brief Message payload length. */ size_t payloadLength; + +#if (MQTT_VERSION_5_ENABLED) + size_t propertyLength; + uint8_t payloadFormat; + uint64_t msgExpiryInterval; + uint16_t contentTypeLength; + const char *contentType; + uint16_t responseTopicLength; + const char *responseTopic; + uint16_t correlationLength; + const void *correlationData; + MQTTUserProperty_t* userProperty; + uint16_t userPropertySize; +// Add user property +#endif + } MQTTPublishInfo_t; /** From f9a358881fe2d6c8be9fd25337060037d8750feb Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Thu, 13 Jun 2024 22:29:06 +0530 Subject: [PATCH 02/82] Minor changes --- source/core_mqtt.c | 119 +----------- source/core_mqtt_serializer.c | 211 ++++++++++++++++++--- source/include/core_mqtt.h | 78 +------- source/include/core_mqtt_config_defaults.h | 4 - source/include/core_mqtt_serializer.h | 74 ++++++-- 5 files changed, 258 insertions(+), 228 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 6e8370dbf..7107950ee 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -29,11 +29,11 @@ #include #include -#include "core_mqtt.h" #include "core_mqtt_state.h" /* Include config defaults header to get default values of configs. */ #include "core_mqtt_config_defaults.h" +#include "core_mqtt_serializer.h" #ifndef MQTT_PRE_SEND_HOOK @@ -72,7 +72,6 @@ * @brief Bytes required to encode any string length in an MQTT packet header. * Length is always encoded in two bytes according to the MQTT specification. */ -#define CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ( 2U ) /** * @brief Number of vectors required to encode one topic filter in a subscribe @@ -91,7 +90,6 @@ #define CORE_MQTT_UNSUBSCRIBE_PER_TOPIC_VECTOR_LENGTH ( 2U ) #if (MQTT_VERSION_5_ENABLED) -#define CORE_MQTT_ID_SIZE ( 1U ) #define MQTT_USER_PROPERTY_ID (0x17) #define MQTT_AUTH_METHOD_ID (0x15) #define MQTT_AUTH_DATA_ID (0x16) @@ -188,11 +186,6 @@ static int32_t sendMessageVector( MQTTContext_t * pContext, * * @return The number of vectors added. */ -static size_t addEncodedStringToVector( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ], - const char * const string, - uint16_t length, - TransportOutVector_t * iterator, - size_t * updatedLength ); /** * @brief Send MQTT SUBSCRIBE message without copying the user data into a buffer and @@ -556,60 +549,6 @@ static bool matchTopicFilter( const char * pTopicName, #if (MQTT_VERSION_5_ENABLED) -static size_t addEncodedStringToVectorWithId( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ], - const char * const string, - uint16_t length, - TransportOutVector_t * iterator, - size_t * updatedLength,uint8_t packetId ); - - - -/*-----------------------------------------------------------*/ - -static size_t addEncodedStringToVectorWithId( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ], - const char * const string, - uint16_t length, - TransportOutVector_t * iterator, - size_t * updatedLength,uint8_t packetId ) -{ - size_t packetLength = 0U; - TransportOutVector_t * pLocalIterator = iterator; - size_t vectorsAdded = 0U; - - /* When length is non-zero, the string must be non-NULL. */ - assert( ( length != 0U ) ? ( string != NULL ) : true ); - - serializedLength[ 0 ] = ( ( uint8_t ) ( ( length ) >> 8 ) ); - serializedLength[ 1 ] = ( ( uint8_t ) ( ( length ) & 0x00ffU ) ); - - /* Add the serialized length of the string first. */ - pLocalIterator[ 0 ].iov_base = packetId; - pLocalIterator[ 0 ].iov_len = CORE_MQTT_ID_SIZE; - vectorsAdded++; - packetLength = CORE_MQTT_ID_SIZE; - - /* Add the serialized length of the string first. */ - pLocalIterator[ 1 ].iov_base = serializedLength; - pLocalIterator[ 1 ].iov_len = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; - vectorsAdded++; - packetLength = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; - - /* Sometimes the string can be NULL that is, of 0 length. In that case, - * only the length field should be encoded in the vector. */ - if( ( string != NULL ) && ( length != 0U ) ) - { - /* Then add the pointer to the string itself. */ - pLocalIterator[ 2 ].iov_base = string; - pLocalIterator[ 2 ].iov_len = length; - vectorsAdded++; - packetLength += length; - } - - ( *updatedLength ) = ( *updatedLength ) + packetLength; - - return vectorsAdded; -} - #endif /*-----------------------------------------------------------*/ @@ -1924,44 +1863,6 @@ static MQTTStatus_t validateSubscribeUnsubscribeParams( const MQTTContext_t * pC /*-----------------------------------------------------------*/ -static size_t addEncodedStringToVector( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ], - const char * const string, - uint16_t length, - TransportOutVector_t * iterator, - size_t * updatedLength ) -{ - size_t packetLength = 0U; - TransportOutVector_t * pLocalIterator = iterator; - size_t vectorsAdded = 0U; - - /* When length is non-zero, the string must be non-NULL. */ - assert( ( length != 0U ) ? ( string != NULL ) : true ); - - serializedLength[ 0 ] = ( ( uint8_t ) ( ( length ) >> 8 ) ); - serializedLength[ 1 ] = ( ( uint8_t ) ( ( length ) & 0x00ffU ) ); - - /* Add the serialized length of the string first. */ - pLocalIterator[ 0 ].iov_base = serializedLength; - pLocalIterator[ 0 ].iov_len = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; - vectorsAdded++; - packetLength = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; - - /* Sometimes the string can be NULL that is, of 0 length. In that case, - * only the length field should be encoded in the vector. */ - if( ( string != NULL ) && ( length != 0U ) ) - { - /* Then add the pointer to the string itself. */ - pLocalIterator[ 1 ].iov_base = string; - pLocalIterator[ 1 ].iov_len = length; - vectorsAdded++; - packetLength += length; - } - - ( *updatedLength ) = ( *updatedLength ) + packetLength; - - return vectorsAdded; -} - /*-----------------------------------------------------------*/ static MQTTStatus_t sendSubscribeWithoutCopy( MQTTContext_t * pContext, @@ -2360,7 +2261,7 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, } if(pContext->connectProperties->outgoingUserPropSize!=0){ - ioVectorLength += MQTT_SerializeUserProperty(pContext->connectProperties->outgoingUserProperty,pContext->connectProperties->outgoingUserPropSize,&iterator,&totalMessageLength); + ioVectorLength += MQTT_SerializeUserProperty(pContext->connectProperties->outgoingUserProperty,pContext->connectProperties->outgoingUserPropSize,iterator,&totalMessageLength); } #endif @@ -2380,7 +2281,7 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, { #if (MQTT_VERSION_5_ENABLED) //Add the will properties - vectorsAdded= MQTT_SerializePublishProperties(pWillInfo,iterator,&totalMessageLength); + vectorsAdded= MQTT_SerializePublishProperties(pWillInfo,iterator,&totalMessageLength,pContext->connectProperties->willDelay); #endif /* Serialize the topic. */ vectorsAdded = addEncodedStringToVector( serializedTopicLength, @@ -2845,15 +2746,15 @@ MQTTStatus_t MQTT_Connect( MQTTContext_t * pContext, if(status==MQTTSuccess){ if(pContext->connectProperties==NULL) { - LogError( ( "Argument cannot be NULL: connectProperties=%p, ", - ( void * ) pContext->connectProperties, - )); + // LogError( ( "Argument cannot be NULL: connectProperties=%p,", + // ( void * ) pContext->connectProperties, + // )); status = MQTTBadParameter; } else if(pContext->connectProperties->outgoingAuth!=NULL && pContext->connectProperties->incomingAuth==NULL){ - LogError( ( "Argument cannot be NULL: incomingAuth=%p, ", - ( void * ) pContext->connectProperties->incomingAuth, - )); + // LogError( ( "Argument cannot be NULL: incomingAuth=%p, ", + // ( void * ) pContext->connectProperties->incomingAuth, + // )); status = MQTTBadParameter; } else{ @@ -2865,7 +2766,7 @@ MQTTStatus_t MQTT_Connect( MQTTContext_t * pContext, status= MQTT_GetConnectPropertiesSize(pContext->connectProperties, &packetSize); remainingLength +=pContext->connectProperties->propertyLength; remainingLength += remainingLengthEncodedSize(pContext->connectProperties->propertyLength); - if(status==MQTTSuccess){ + if(status==MQTTSuccess && pWillInfo!=NULL){ status = MQTT_GetWillPropertiesSize(pWillInfo,pContext->connectProperties->willDelay); remainingLength += pWillInfo->propertyLength; remainingLength += remainingLengthEncodedSize( pWillInfo->propertyLength); diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index c08cb6ac0..c7f6ea57e 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -137,6 +137,9 @@ #define MQTT_SERVER_KEEP_ALIVE_ID (0x13) #define MQTT_RESPONSE_INFO_ID (0x1A) #define MQTT_SERVER_REF_ID (0x1C) + +#define CORE_MQTT_ID_SIZE ( 1U ) + #endif /** @@ -179,7 +182,7 @@ #define UINT32_BYTE1( x ) ( ( uint8_t ) ( ( x ) >> 8 ) ) -#define UINT32_BYTE0( x ) ( ( uint8_t ) ( ( x ) >> 0x000000FFU ) ) +#define UINT32_BYTE0( x ) ( ( uint8_t ) ( ( x ) & 0x000000FFU ) ) /** * @brief Get the low byte of a 16-bit unsigned integer. @@ -339,7 +342,7 @@ static uint8_t * encodeRemainingLength( uint8_t * pDestination, * * @return The size of the remaining length if it were to be encoded. */ -static size_t remainingLengthEncodedSize( size_t length ); +size_t remainingLengthEncodedSize( size_t length ); /** * @brief Encode a string whose size is at maximum 16 bits in length. @@ -511,6 +514,12 @@ static MQTTStatus_t deserializeSimpleAck( const MQTTPacketInfo_t * pAck, */ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); +size_t addEncodedStringToVector( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ], + const char * const string, + uint16_t length, + TransportOutVector_t * iterator, + size_t * updatedLength ); + #if (MQTT_VERSION_5_ENABLED) MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t * userProperty, uint16_t size,size_t *length); @@ -519,12 +528,12 @@ MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t * userProperty, uint16_ MQTTStatus_t MQTT_GetConnectPropertiesSize (MQTTConnectProperties_t * pConnectProperties, size_t * pPacketSize ); -MQTTStatus_t MQTT_GetWillPropertiesSize ( const MQTTPublishInfo_t * pConnectProperties, - size_t *pWillLenght, uint32_t willDelay); +MQTTStatus_t MQTT_GetWillPropertiesSize ( MQTTPublishInfo_t * pConnectProperties, + uint32_t willDelay); uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex,const MQTTConnectProperties_t * pConnectProperties); -size_t MQTT_SerializeUserProperty(MQTTUserProperty_t * userProperty, uint16_t size,TransportOutVector_t *iterator,size_t* updatedLength); +size_t MQTT_SerializeUserProperty(MQTTUserProperty_t * userProperty, uint16_t size,TransportOutVector_t *iterator,size_t* totalMessageLength); size_t MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, TransportOutVector_t *iterator, size_t * updatedLength,uint32_t willDelay); @@ -538,6 +547,59 @@ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackPropert bool * pSessionPresent ); + size_t addEncodedStringToVectorWithId( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ], + const char * const string, + uint16_t length, + TransportOutVector_t * iterator, + size_t * updatedLength,uint8_t packetId ); + + + +/*-----------------------------------------------------------*/ + + size_t addEncodedStringToVectorWithId( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ], + const char * const string, + uint16_t length, + TransportOutVector_t * iterator, + size_t * updatedLength,uint8_t packetId ) +{ + size_t packetLength = 0U; + TransportOutVector_t * pLocalIterator = iterator; + size_t vectorsAdded = 0U; + + /* When length is non-zero, the string must be non-NULL. */ + assert( ( length != 0U ) ? ( string != NULL ) : true ); + + serializedLength[ 0 ] = ( ( uint8_t ) ( ( length ) >> 8 ) ); + serializedLength[ 1 ] = ( ( uint8_t ) ( ( length ) & 0x00ffU ) ); + + /* Add the packet id first. */ + pLocalIterator[ 0 ].iov_base = &packetId; + pLocalIterator[ 0 ].iov_len = CORE_MQTT_ID_SIZE; + vectorsAdded++; + packetLength = CORE_MQTT_ID_SIZE; + + /* Add the serialized length of the string. */ + pLocalIterator[ 1 ].iov_base = serializedLength; + pLocalIterator[ 1 ].iov_len = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; + vectorsAdded++; + packetLength = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; + + /* Sometimes the string can be NULL that is, of 0 length. In that case, + * only the length field should be encoded in the vector. */ + if( ( string != NULL ) && ( length != 0U ) ) + { + /* Then add the pointer to the string itself. */ + pLocalIterator[ 2 ].iov_base = string; + pLocalIterator[ 2 ].iov_len = length; + vectorsAdded++; + packetLength += length; + } + + ( *updatedLength ) = ( *updatedLength ) + packetLength; + + return vectorsAdded; +} /*-----------------------------------------------------------*/ @@ -552,7 +614,7 @@ MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t * userProperty, uint16_ else{ for(uint16_t i=0;ikeyLength==0 || (userProperty+i)->valueLength==0||(userProperty+i)->key==NULL || (userProperty+i)->value==NULL ){ - status==MQTTBadParameter; + status=MQTTBadParameter; } length+=(userProperty+i)->keyLength; length+=(userProperty+i)->valueLength; @@ -617,7 +679,10 @@ MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t *pConnectProp } } if(status==MQTTSuccess){ - status= GetUserPropertySize(pConnectProperties->outgoingUserProperty,pConnectProperties->outgoingUserPropSize,&propertyLength); + status= MQTT_GetUserPropertySize(pConnectProperties->outgoingUserProperty,pConnectProperties->outgoingUserPropSize,&propertyLength); + } + if(pConnectProperties->propertyLength){ + status= MQTTBadParameter; } pConnectProperties->propertyLength = propertyLength; @@ -625,8 +690,8 @@ MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t *pConnectProp } -MQTTStatus_t MQTT_GetWillPropertiesSize(const MQTTPublishInfo_t *pWillProperties, - size_t *pWillLenght, uint32_t willDelay) +MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillProperties, + uint32_t willDelay) { size_t willLength = 0U; MQTTStatus_t status = MQTTSuccess; @@ -655,9 +720,12 @@ MQTTStatus_t MQTT_GetWillPropertiesSize(const MQTTPublishInfo_t *pWillProperties willLength += pWillProperties->correlationLength + 1U; } if(status==MQTTSuccess){ - status= GetUserPropertySize(pWillProperties->userProperty,pWillProperties->userPropertySize,&willLength); + status= MQTT_GetUserPropertySize(pWillProperties->userProperty,pWillProperties->userPropertySize,&willLength); } - + if(willLength>0xffff){ + status= MQTTBadParameter; + } + pWillProperties->propertyLength=willLength; return status; } @@ -722,7 +790,7 @@ uint8_t * MQTT_SerializeConnectProperties(uint8_t *pIndex, const MQTTConnectProp size_t MQTT_SerializeUserProperty(MQTTUserProperty_t * userProperty, uint16_t size,TransportOutVector_t *iterator,size_t* totalMessageLength) { uint8_t serializedUserKeyLength[ MAX_USER_PROPERTY ][2]; - uint8_t serializedUserValueLength[ 2 ]; + uint8_t serializedUserValueLength[MAX_USER_PROPERTY][ 2 ]; size_t vectorsAdded = 0U; size_t ioVectorLength= 0U; for(uint16_t i=0;ikey, (userProperty+i)->keyLength, iterator, - &totalMessageLength,MAX_USER_PROPERTY ); + totalMessageLength,MQTT_USER_PROPERTY_ID); iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; @@ -738,7 +806,7 @@ size_t MQTT_SerializeUserProperty(MQTTUserProperty_t * userProperty, uint16_t si (userProperty+i)->value, (userProperty+i)->valueLength, iterator, - &totalMessageLength ); + totalMessageLength ); iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; } @@ -746,7 +814,7 @@ size_t MQTT_SerializeUserProperty(MQTTUserProperty_t * userProperty, uint16_t si } size_t MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, TransportOutVector_t *iterator, size_t * totalMessageLength,uint32_t willDelay){ - uint8_t* pIndex; + uint8_t* pIndex=0; size_t vectorsAdded = 0U; size_t ioVectorLength= 0U; uint8_t serializedContentTypeLength[ 2 ]; @@ -790,11 +858,11 @@ size_t MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, T if ( pPublishInfo->contentTypeLength != 0U) { - vectorsAdded = addEncodedStringToVectorwithId( serializedContentTypeLength, + vectorsAdded = addEncodedStringToVectorWithId( serializedContentTypeLength, pPublishInfo->contentType, pPublishInfo->contentTypeLength, iterator, - &totalMessageLength,MQTT_CONTENT_TYPE_ID); + totalMessageLength,MQTT_CONTENT_TYPE_ID); iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; } @@ -804,7 +872,7 @@ size_t MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, T pPublishInfo->responseTopic, pPublishInfo->responseTopicLength, iterator, - &totalMessageLength,MQTT_RESPONSE_TOPIC_ID ); + totalMessageLength,MQTT_RESPONSE_TOPIC_ID ); iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; } @@ -814,12 +882,12 @@ size_t MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, T pPublishInfo->correlationData, pPublishInfo->correlationLength, iterator, - &totalMessageLength,MQTT_CORRELATION_DATA_ID); + totalMessageLength,MQTT_CORRELATION_DATA_ID); iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; } if(pPublishInfo->userPropertySize!=0){ - ioVectorLength += MQTT_SerializeUserProperty(pPublishInfo->userProperty,pPublishInfo->userPropertySize,&iterator,&totalMessageLength); + ioVectorLength += MQTT_SerializeUserProperty(pPublishInfo->userProperty,pPublishInfo->userPropertySize,iterator,totalMessageLength); } return ioVectorLength; }; @@ -896,7 +964,7 @@ MQTTStatus_t status = MQTTSuccess; { /* Print the appropriate message for the CONNACK response code if logs are * enabled. */ - logConnackVersion5Response( pRemainingData[ 1 ] ); + logConnackResponse( pRemainingData[ 1 ] ); /* A nonzero CONNACK response code means the connection was refused. */ if( pRemainingData[ 1 ] > 0U ) @@ -981,7 +1049,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackPropert uint8_t* pVariableHeader = pIncomingPacket->pRemainingData; pVariableHeader= &pVariableHeader[2]; size_t remainingLengthSize= remainingLengthEncodedSize(pIncomingPacket->remainingLength); - pVariableHeader=pVariableHeader[remainingLengthSize]; + pVariableHeader=&pVariableHeader[remainingLengthSize]; status=decodeVariableLength(pVariableHeader,&propertyLength); } if(propertyLength==0U){ @@ -1011,7 +1079,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackPropert while((propertyLength>0 )&& (status=MQTTSuccess)){ uint8_t packetId = *pVariableHeader; - pVariableHeader= pVariableHeader[1]; + pVariableHeader= &pVariableHeader[1]; propertyLength-=1; switch (packetId){ case MQTT_SESSION_EXPIRY_ID: @@ -1150,7 +1218,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackPropert } else{ pConnackProperties->reasonString=( const char * )pVariableHeader; - pVariableHeader=pVariableHeader[pConnackProperties->reasonStringLength]; + pVariableHeader=&pVariableHeader[pConnackProperties->reasonStringLength]; propertyLength-=pConnackProperties->reasonStringLength; reasonString=true; } @@ -1340,7 +1408,46 @@ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackPropert #endif /*-----------------------------------------------------------*/ -static size_t remainingLengthEncodedSize( size_t length ) + +size_t addEncodedStringToVector( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ], + const char * const string, + uint16_t length, + TransportOutVector_t * iterator, + size_t * updatedLength ) +{ + size_t packetLength = 0U; + TransportOutVector_t * pLocalIterator = iterator; + size_t vectorsAdded = 0U; + + /* When length is non-zero, the string must be non-NULL. */ + assert( ( length != 0U ) ? ( string != NULL ) : true ); + + serializedLength[ 0 ] = ( ( uint8_t ) ( ( length ) >> 8 ) ); + serializedLength[ 1 ] = ( ( uint8_t ) ( ( length ) & 0x00ffU ) ); + + /* Add the serialized length of the string first. */ + pLocalIterator[ 0 ].iov_base = serializedLength; + pLocalIterator[ 0 ].iov_len = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; + vectorsAdded++; + packetLength = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; + + /* Sometimes the string can be NULL that is, of 0 length. In that case, + * only the length field should be encoded in the vector. */ + if( ( string != NULL ) && ( length != 0U ) ) + { + /* Then add the pointer to the string itself. */ + pLocalIterator[ 1 ].iov_base = string; + pLocalIterator[ 1 ].iov_len = length; + vectorsAdded++; + packetLength += length; + } + + ( *updatedLength ) = ( *updatedLength ) + packetLength; + + return vectorsAdded; +} + +size_t remainingLengthEncodedSize( size_t length ) { size_t encodedSize; @@ -1941,6 +2048,7 @@ static MQTTStatus_t processPublishFlags( uint8_t publishFlags, } /*-----------------------------------------------------------*/ +#if (!MQTT_VERSION_5_ENABLED) static void logConnackResponse( uint8_t responseCode ) { @@ -1972,6 +2080,57 @@ static void logConnackResponse( uint8_t responseCode ) } } +#else + +static void logConnackResponse( uint8_t responseCode ) +{ + + const char * const pConnackResponses[ 6 ] = + { + "Connection refused: Unspecified error.", /* 0 */ + "Connection refused: Malformed Packet.", /* 1 */ + "Connection refused: Protocol Error.", /* 2 */ + "Connection refused: Impementation specific error.", /* 3 */ + "Connection refused: Unsupported Protocol Version.", /* 4 */ + "Connection refused: Client Identifier not valid." /* 5 */ + "Connection refused: Bad User Name or Password." /* 6 */ + "Connection refused: Not authorized." /* 7 */ + "Connection refused: Server unavailable." /* 8 */ + "Connection refused: Server busy." /* 9 */ + "Connection refused: Banned." /* 10 */ + "Connection refused: Bad authentication method." /* 11 */ + "Connection refused: Topic Name invalid." /* 12 */ + "Connection refused: Packet too large ." /* 13 */ + "Connection refused: Quota exceeded." /* 14 */ + "Connection refused: Payload format invalid." /* 15 */ + "Connection refused: Retain not supported." /* 16 */ + "Connection refused: QoS not supported." /* 17 */ + "Connection refused: Use another server." /* 18 */ + "Connection refused: Server moved." /* 19 */ + "Connection refused: Connection rate exceeded." /* 20 */ + + + }; + + /* Avoid unused parameter warning when assert and logs are disabled. */ + ( void ) responseCode; + ( void ) pConnackResponses; + if( responseCode == 0u ) + { + /* Log at Debug level for a success CONNACK response. */ + LogDebug("The Connection is accepted"); + } + else + { + responseCode-=128; + assert( responseCode <= 20 ); + assert( responseCode >= 20 ); + /* Log an error based on the CONNACK response code. */ + LogError( ( "%s", pConnackResponses[ responseCode ] ) ); + } +} + +#endif /*-----------------------------------------------------------*/ static MQTTStatus_t deserializeConnack( const MQTTPacketInfo_t * pConnack, @@ -2495,7 +2654,7 @@ uint8_t * MQTT_SerializeConnectFixedHeader( uint8_t * pIndex, /* Flags only need to be changed for Will QoS 1 or 2. */ if( pWillInfo->qos == MQTTQoS1 ) { - UINT8_SET_BIvT( connectFlags, MQTT_CONNECT_FLAG_WILL_QOS1 ); + UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_WILL_QOS1 ); } else if( pWillInfo->qos == MQTTQoS2 ) { diff --git a/source/include/core_mqtt.h b/source/include/core_mqtt.h index 0d067455a..7d17cc5dc 100644 --- a/source/include/core_mqtt.h +++ b/source/include/core_mqtt.h @@ -42,7 +42,7 @@ #include "transport_interface.h" /* Include transport interface. */ -#include "core_mqtt_config_defaults.h" +// #include "core_mqtt_config_defaults.h" /** * @cond DOXYGEN_IGNORE @@ -64,12 +64,6 @@ struct MQTTPubAckInfo; struct MQTTContext; struct MQTTDeserializedInfo; -#if(MQTT_VERSION==5) -struct MQTTConnectProperties; -struct MQTTUserProperty; -struict MQTTAuthInfo; -#endif - /** * @ingroup mqtt_callback_types * @brief Application provided function to query the time elapsed since a given @@ -171,76 +165,6 @@ typedef struct MQTTPubAckInfo MQTTPublishState_t publishState; /**< @brief The current state of the publish process. */ } MQTTPubAckInfo_t; -#if (MQTT_VERSION_5_ENABLED) - - /** - * @ingroup mqtt_struct_types - * @brief Struct to hold authentication method and authentication data. - */ -typedef struct MQTTAuthInfo -{ - const char* authMethod; - uint16_t authMethodLength; - const char* authData; - uint16_t authDataLength; -}MQTTAuthInfo_t; - -typedef struct MQTTUserProperty -{ - const char* key; - uint16_t keyLength; - const char* value; - uint16_t valueLength; -}MQTTUserProperty_t; - - /** - * @ingroup mqtt_struct_types - * @brief Struct to hold connect and connack properties. - */ -typedef struct MQTTConnectProperties -{ - uint32_t sessionExpiry; - uint16_t receiveMax; - uint32_t maxPacketSize; - uint16_t topicAliasMax; - bool reqResInfo; - bool reqProbInfo; - size_t propertyLength; -// Add user property -// Pointer to array of userProperty; -// array of user property -> with size as maximum value of user property configured -// add authentication - MQTTUserProperty_t *incomingUserProperty; - uint16_t incomingUserPropSize; - MQTTUserProperty_t *outgoingUserProperty; - uint16_t outgoingUserPropSize; - MQTTAuthInfo_t *incomingAuth; - uint32_t willDelay; - - // CONNACK - uint16_t serverReceiveMax; - uint8_t serverMaxQos; - uint8_t returnAvailable; - uint32_t serverMaxPacketSize; - const char* clientIdentifier; - uint16_t clientIdLength; - uint16_t serverTopicAliasMax; - const char* reasonString; - uint16_t reasonStringLength; - bool isWildcardAvaiable; - bool subscriptionId; - bool isSharedAvailable; - uint16_t serverKeepAlive; - const char* responseInfo; - uint16_t responseInfoLength; - const char* serverRef; - uint16_t serverRefLength; - MQTTAuthInfo_t *outgoingAuth; - -} MQTTConnectProperties_t; -#endif - - /** * @ingroup mqtt_struct_types diff --git a/source/include/core_mqtt_config_defaults.h b/source/include/core_mqtt_config_defaults.h index a07598e5e..af3142eed 100644 --- a/source/include/core_mqtt_config_defaults.h +++ b/source/include/core_mqtt_config_defaults.h @@ -79,10 +79,6 @@ #endif #endif -#ifndef MQTT_MAX_USER_PROPERTY - #define MQTT_MAX_USER_PROPERTY ( 5U ) -#endif - /** * @ingroup mqtt_constants * @brief Maximum number of vectors in subscribe and unsubscribe packet. diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index e6afc0760..c170935d2 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -72,6 +72,7 @@ * @brief The size of MQTT PUBACK, PUBREC, PUBREL, and PUBCOMP packets, per MQTT spec. */ #define MQTT_PUBLISH_ACK_PACKET_SIZE ( 4UL ) +#define CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ( 2U ) /* Structures defined in this file. */ struct MQTTFixedBuffer; @@ -80,6 +81,11 @@ struct MQTTSubscribeInfo; struct MQTTPublishInfo; struct MQTTPacketInfo; +#if (MQTT_VERSION_5_ENABLED) +struct MQTTConnectProperties; +struct MQTTUserProperty; +struct MQTTAuthInfo; +#endif /** * @ingroup mqtt_enum_types * @brief Return codes from MQTT functions. @@ -97,17 +103,20 @@ typedef enum MQTTStatus MQTTIllegalState, /**< An illegal state in the state record. */ MQTTStateCollision, /**< A collision with an existing state record entry. */ MQTTKeepAliveTimeout, /**< Timeout while waiting for PINGRESP. */ - MQTTNeedMoreBytes /**< MQTT_ProcessLoop/MQTT_ReceiveLoop has received + MQTTNeedMoreBytes, /**< MQTT_ProcessLoop/MQTT_ReceiveLoop has received incomplete data; it should be called again (probably after a delay). */ - #if (MQTT_VERSION_5_ENABLED) - , - MQTTMalformedPacket = 0x81, - MQTTProtocolError = 0x82, + #if(MQTT_VERSION_5_ENABLED) + MQTTMalformedPacket=0x81, + MQTTProtocolError=0x82 #endif + + // #endif } MQTTStatus_t; + + /** * @ingroup mqtt_enum_types * @brief MQTT Quality of Service values. @@ -222,6 +231,7 @@ typedef struct MQTTUserProperty const char* value; uint16_t valueLength; }MQTTUserProperty_t; + /** * @ingroup mqtt_struct_types * @brief Struct to hold connect and connack properties. @@ -237,20 +247,19 @@ typedef struct MQTTConnectProperties size_t propertyLength; // Add user property // Pointer to array of userProperty; -// UserProperty_t userProperty; -// array of user property -> with size as maximum value of user property configured -// add authenticationenecccdkcnfvkejgbniughcdhnlelkkhdrbhvkelthjn - +// array of user property -> with size as maximum value of user property configured +// add authentication MQTTUserProperty_t *incomingUserProperty; uint16_t incomingUserPropSize; MQTTUserProperty_t *outgoingUserProperty; uint16_t outgoingUserPropSize; MQTTAuthInfo_t *incomingAuth; uint32_t willDelay; - // CONNECT + + // CONNACK uint16_t serverReceiveMax; uint8_t serverMaxQos; - int8_t returnAvailable; + uint8_t returnAvailable; uint32_t serverMaxPacketSize; const char* clientIdentifier; uint16_t clientIdLength; @@ -270,7 +279,6 @@ typedef struct MQTTConnectProperties } MQTTConnectProperties_t; #endif - /** * @ingroup mqtt_struct_types * @brief MQTT PUBLISH packet parameters. @@ -1377,6 +1385,48 @@ uint8_t * MQTT_SerializeUnsubscribeHeader( size_t remainingLength, uint8_t * pIndex, uint16_t packetId ); /** @endcond */ +size_t remainingLengthEncodedSize( size_t length ); + + +#if(MQTT_VERSION_5_ENABLED) +MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t * userProperty, uint16_t size,size_t *length); + + +MQTTStatus_t MQTT_GetConnectPropertiesSize (MQTTConnectProperties_t * pConnectProperties, + size_t * pPacketSize ); + +MQTTStatus_t MQTT_GetWillPropertiesSize ( MQTTPublishInfo_t * pConnectProperties, + uint32_t willDelay); + +uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex,const MQTTConnectProperties_t * pConnectProperties); + +size_t MQTT_SerializeUserProperty(MQTTUserProperty_t * userProperty, uint16_t size,TransportOutVector_t *iterator,size_t* updatedLength); + +size_t MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, TransportOutVector_t *iterator, size_t * updatedLength,uint32_t willDelay); + +MQTTStatus_t decodeVariableLength( const uint8_t * pBuffer, size_t* length); + +MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t * pIncomingPacket, + bool * pSessionPresent ); + + +MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackProperties,const MQTTPacketInfo_t * pIncomingPacket, + + bool * pSessionPresent ); + +size_t addEncodedStringToVectorWithId( uint8_t serializedLength[ 2 ], + const char * const string, + uint16_t length, + TransportOutVector_t * iterator, + size_t * updatedLength,uint8_t packetId ); + +size_t addEncodedStringToVector( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ], + const char * const string, + uint16_t length, + TransportOutVector_t * iterator, + size_t * updatedLength ); + +#endif /* *INDENT-OFF* */ #ifdef __cplusplus From bdef8fe1cdcd8bdc5598b0952b181da300214f17 Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Fri, 14 Jun 2024 00:28:02 +0530 Subject: [PATCH 03/82] For loop --- source/core_mqtt_serializer.c | 6 ++++-- source/include/core_mqtt_serializer.h | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index c7f6ea57e..084b60d31 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -605,6 +605,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackPropert MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t * userProperty, uint16_t size, size_t* length){ MQTTStatus_t status= MQTTSuccess; + uint16_t i; if(size>MAX_USER_PROPERTY){ status=MQTTBadParameter; } @@ -612,7 +613,7 @@ MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t * userProperty, uint16_ status=MQTTBadParameter; } else{ - for(uint16_t i=0;ikeyLength==0 || (userProperty+i)->valueLength==0||(userProperty+i)->key==NULL || (userProperty+i)->value==NULL ){ status=MQTTBadParameter; } @@ -793,7 +794,8 @@ size_t MQTT_SerializeUserProperty(MQTTUserProperty_t * userProperty, uint16_t si uint8_t serializedUserValueLength[MAX_USER_PROPERTY][ 2 ]; size_t vectorsAdded = 0U; size_t ioVectorLength= 0U; - for(uint16_t i=0;ikey, (userProperty+i)->keyLength, diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index c170935d2..a86207b56 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -1419,6 +1419,8 @@ size_t addEncodedStringToVectorWithId( uint8_t serializedLength[ 2 ], uint16_t length, TransportOutVector_t * iterator, size_t * updatedLength,uint8_t packetId ); +#endif + size_t addEncodedStringToVector( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ], const char * const string, @@ -1426,7 +1428,6 @@ size_t addEncodedStringToVector( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_ TransportOutVector_t * iterator, size_t * updatedLength ); -#endif /* *INDENT-OFF* */ #ifdef __cplusplus From ef6e9508587633b8c6e28238da6f2c3bd7137519 Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Fri, 14 Jun 2024 13:47:11 +0530 Subject: [PATCH 04/82] Minor changes --- source/core_mqtt.c | 8 +++--- source/core_mqtt_serializer.c | 52 ++++++++++++++++++----------------- 2 files changed, 31 insertions(+), 29 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 7107950ee..0dffdb5a2 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -2188,12 +2188,12 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, #else /* * - * User Property- 2* Max userProperty - * Authentication- 2 - * 6 for wiill properties + * User Property- 5* Max userProperty + * Authentication- 6 + * 10 + 5*Max user for wiill properties * */ - TransportOutVector_t pIoVector[ 19U + 2* MAX_USER_PROPERTY]; + TransportOutVector_t pIoVector[ 27 + 10* MAX_USER_PROPERTY]; #endif iterator = pIoVector; diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 084b60d31..30ef29dc5 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -44,6 +44,7 @@ */ #define MQTT_PACKET_CONNECT_HEADER_SIZE ( 10UL ) +#define UINT16_MAX (65535U) /* MQTT CONNECT flags. */ #define MQTT_CONNECT_FLAG_CLEAN ( 1 ) /**< @brief Clean session. */ @@ -583,7 +584,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackPropert pLocalIterator[ 1 ].iov_base = serializedLength; pLocalIterator[ 1 ].iov_len = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; vectorsAdded++; - packetLength = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; + packetLength += CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; /* Sometimes the string can be NULL that is, of 0 length. In that case, * only the length field should be encoded in the vector. */ @@ -605,7 +606,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackPropert MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t * userProperty, uint16_t size, size_t* length){ MQTTStatus_t status= MQTTSuccess; - uint16_t i; + uint16_t i=0; if(size>MAX_USER_PROPERTY){ status=MQTTBadParameter; } @@ -614,10 +615,10 @@ MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t * userProperty, uint16_ } else{ for(;ikeyLength==0 || (userProperty+i)->valueLength==0||(userProperty+i)->key==NULL || (userProperty+i)->value==NULL ){ + if((userProperty+i)==NULL || (userProperty+i)->keyLength==0 || (userProperty+i)->valueLength==0||(userProperty+i)->key==NULL || (userProperty+i)->value==NULL ){ status=MQTTBadParameter; } - length+=(userProperty+i)->keyLength; + length+=(userProperty+i)->keyLength+1; length+=(userProperty+i)->valueLength; } } @@ -655,7 +656,7 @@ MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t *pConnectProp { propertyLength += MQTT_REQUEST_PPOBLEM_SIZE; } - if (pConnectProperties->incomingAuth != NULL) + if (pConnectProperties->outgoingAuth != NULL) { if (pConnectProperties->outgoingAuth->authMethodLength == 0U && pConnectProperties->outgoingAuth->authDataLength != 0U) { @@ -671,18 +672,18 @@ MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t *pConnectProp } else { - propertyLength += pConnectProperties->incomingAuth->authMethodLength; + propertyLength += pConnectProperties->outgoingAuth->authMethodLength; propertyLength += 1U; if(pConnectProperties->outgoingAuth->authDataLength != 0U){ - propertyLength += pConnectProperties->incomingAuth->authDataLength; + propertyLength += pConnectProperties->outgoingAuth->authDataLength; propertyLength += 1U; } } } - if(status==MQTTSuccess){ + if(status==MQTTSuccess && pConnectProperties->outgoingUserPropSize!=0){ status= MQTT_GetUserPropertySize(pConnectProperties->outgoingUserProperty,pConnectProperties->outgoingUserPropSize,&propertyLength); } - if(pConnectProperties->propertyLength){ + if(pConnectProperties->propertyLength>UINT16_MAX){ status= MQTTBadParameter; } pConnectProperties->propertyLength = propertyLength; @@ -791,22 +792,22 @@ uint8_t * MQTT_SerializeConnectProperties(uint8_t *pIndex, const MQTTConnectProp size_t MQTT_SerializeUserProperty(MQTTUserProperty_t * userProperty, uint16_t size,TransportOutVector_t *iterator,size_t* totalMessageLength) { uint8_t serializedUserKeyLength[ MAX_USER_PROPERTY ][2]; - uint8_t serializedUserValueLength[MAX_USER_PROPERTY][ 2 ]; + uint8_t serializedUserValueLength[MAX_USER_PROPERTY][2]; size_t vectorsAdded = 0U; size_t ioVectorLength= 0U; uint16_t i=0; for(;ikey, - (userProperty+i)->keyLength, + userProperty[i].key, + userProperty[i].keyLength, iterator, totalMessageLength,MQTT_USER_PROPERTY_ID); iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; vectorsAdded = addEncodedStringToVector(serializedUserValueLength[i], - (userProperty+i)->value, - (userProperty+i)->valueLength, + userProperty[i].value, + userProperty[i].valueLength, iterator, totalMessageLength ); iterator = &iterator[ vectorsAdded ]; @@ -823,7 +824,8 @@ size_t MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, T uint8_t serializedResponseTopicLength[ 2 ]; uint8_t serailizedCorrelationLength[ 2 ]; // 4 byte + 4 byte delay + 2 byte payload format + 6 byte - uint8_t fixedSizeProperties[ 16U]; + uint8_t fixedSizeProperties[ 20U]; + pIndex= fixedSizeProperties; // 1 for fixed, 5 for variable pIndex = encodeRemainingLength( pIndex, pPublishInfo->propertyLength); if (willDelay != 0U) @@ -1367,15 +1369,15 @@ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackPropert status=MQTTMalformedPacket; } else{ - pConnackProperties->outgoingAuth->authMethodLength= UINT16_DECODE(pVariableHeader); + pConnackProperties->incomingAuth->authMethodLength= UINT16_DECODE(pVariableHeader); pVariableHeader= &pVariableHeader[sizeof(uint16_t)]; propertyLength-=2; - if(propertyLengthoutgoingAuth->authMethodLength){ + if(propertyLengthincomingAuth->authMethodLength){ status=MQTTMalformedPacket; } - pConnackProperties->outgoingAuth->authMethod=( const char * )pVariableHeader; - pVariableHeader=&pVariableHeader[pConnackProperties->outgoingAuth->authMethodLength]; - propertyLength-=pConnackProperties->outgoingAuth->authMethodLength; + pConnackProperties->incomingAuth->authMethod=( const char * )pVariableHeader; + pVariableHeader=&pVariableHeader[pConnackProperties->incomingAuth->authMethodLength]; + propertyLength-=pConnackProperties->incomingAuth->authMethodLength; authMethod=true; } break; @@ -1387,15 +1389,15 @@ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackPropert status=MQTTMalformedPacket; } else{ - pConnackProperties->outgoingAuth->authDataLength= UINT16_DECODE(pVariableHeader); + pConnackProperties->incomingAuth->authDataLength= UINT16_DECODE(pVariableHeader); pVariableHeader= &pVariableHeader[sizeof(uint16_t)]; propertyLength-=2; - if(propertyLengthoutgoingAuth->authDataLength){ + if(propertyLengthincomingAuth->authDataLength){ status=MQTTMalformedPacket; } - pConnackProperties->outgoingAuth->authData=( const char * )pVariableHeader; - pVariableHeader=&pVariableHeader[pConnackProperties->outgoingAuth->authDataLength]; - propertyLength-=pConnackProperties->outgoingAuth->authDataLength; + pConnackProperties->incomingAuth->authData=( const char * )pVariableHeader; + pVariableHeader=&pVariableHeader[pConnackProperties->incomingAuth->authDataLength]; + propertyLength-=pConnackProperties->incomingAuth->authDataLength; authMethod=true; } break; From 92bc1e5ded619c81ff0abe6c79debefbeaf2271e Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Sun, 16 Jun 2024 00:06:38 +0530 Subject: [PATCH 05/82] add --- source/core_mqtt.c | 69 ++++++++++++++++++++++++++- source/core_mqtt_serializer.c | 60 +++++++++++++++++++---- source/include/core_mqtt_serializer.h | 4 ++ 3 files changed, 121 insertions(+), 12 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 0dffdb5a2..4a01474eb 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -93,6 +93,13 @@ #define MQTT_USER_PROPERTY_ID (0x17) #define MQTT_AUTH_METHOD_ID (0x15) #define MQTT_AUTH_DATA_ID (0x16) + +#define MQTT_WILL_DELAY_ID (0x18) +#define MQTT_PAYLOAD_FORMAT_ID (0x01) +#define MQTT_MSG_EXPIRY_ID (0x02) +#define MQTT_CONTENT_TYPE_ID (0x03) +#define MQTT_RESPONSE_TOPIC_ID (0x08) +#define MQTT_CORRELATION_DATA_ID (0x09) #endif /*-----------------------------------------------------------*/ @@ -549,6 +556,64 @@ static bool matchTopicFilter( const char * pTopicName, #if (MQTT_VERSION_5_ENABLED) + +size_t MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, TransportOutVector_t *iterator, size_t * totalMessageLength,uint32_t willDelay); + +size_t MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, TransportOutVector_t *iterator, size_t * totalMessageLength,uint32_t willDelay){ + uint8_t* pIndex=0; + size_t vectorsAdded = 0U; + size_t ioVectorLength= 0U; + uint8_t serializedContentTypeLength[ 2 ]; + uint8_t serializedResponseTopicLength[ 2 ]; + uint8_t serailizedCorrelationLength[ 2 ]; + // 4 byte + 4 byte delay + 2 byte payload format + 6 byte + uint8_t fixedSizeProperties[ 20U]; + pIndex= fixedSizeProperties; + // 1 for fixed, 5 for variable + pIndex=SerializePublishProperties(pIndex,pPublishInfo,willDelay); + + + iterator->iov_base = fixedSizeProperties; + iterator->iov_len = ( size_t ) ( pIndex - fixedSizeProperties ); + totalMessageLength += iterator->iov_len; + iterator++; + ioVectorLength++; + + if ( pPublishInfo->contentTypeLength != 0U) + { + vectorsAdded = addEncodedStringToVectorWithId( serializedContentTypeLength, + pPublishInfo->contentType, + pPublishInfo->contentTypeLength, + iterator, + totalMessageLength,MQTT_CONTENT_TYPE_ID); + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; + } + if ( pPublishInfo->responseTopicLength != 0U) + { + vectorsAdded = addEncodedStringToVectorWithId( serializedResponseTopicLength, + pPublishInfo->responseTopic, + pPublishInfo->responseTopicLength, + iterator, + totalMessageLength,MQTT_RESPONSE_TOPIC_ID ); + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; + } + if (pPublishInfo->correlationLength != 0U) + { + vectorsAdded = addEncodedStringToVectorWithId(serailizedCorrelationLength, + pPublishInfo->correlationData, + pPublishInfo->correlationLength, + iterator, + totalMessageLength,MQTT_CORRELATION_DATA_ID); + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; + } + if(pPublishInfo->userPropertySize!=0){ + ioVectorLength += MQTT_SerializeUserProperty(pPublishInfo->userProperty,pPublishInfo->userPropertySize,iterator,totalMessageLength); + } + return ioVectorLength; +}; #endif /*-----------------------------------------------------------*/ @@ -2281,7 +2346,7 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, { #if (MQTT_VERSION_5_ENABLED) //Add the will properties - vectorsAdded= MQTT_SerializePublishProperties(pWillInfo,iterator,&totalMessageLength,pContext->connectProperties->willDelay); + vectorsAdded= MQTT_SerializePublishProperties(pWillInfo,&iterator,&totalMessageLength,pContext->connectProperties->willDelay); #endif /* Serialize the topic. */ vectorsAdded = addEncodedStringToVector( serializedTopicLength, @@ -2446,7 +2511,7 @@ static MQTTStatus_t receiveConnack( const MQTTContext_t * pContext, #if (MQTT_VERSION_5_ENABLED==0) status = MQTT_DeserializeAck( pIncomingPacket, NULL, pSessionPresent ); #else - status = MQTTV5_DeserializeConnack( pIncomingPacket, NULL, pSessionPresent); + status = MQTTV5_DeserializeConnack( pContext->connectProperties,pIncomingPacket, pSessionPresent); #endif } diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 30ef29dc5..08fc4706d 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -38,6 +38,7 @@ * @brief MQTT protocol version 3.1.1. */ #define MQTT_VERSION_3_1_1 ( ( uint8_t ) 4U ) +#define MQTT_VERSION_5 ( ( uint8_t ) 5U ) /** * @brief Size of the fixed and variable header of a CONNECT packet. @@ -112,7 +113,7 @@ #define MQTT_TOPIC_ALIAS_MAX_ID (0x22) #define MQTT_REQUEST_RESPONSE_ID (0x19) #define MQTT_REQUEST_PROBLEM_ID (0x17) -#define MQTT_USER_PROPERTY_ID (0x17) +#define MQTT_USER_PROPERTY_ID (0x26) #define MQTT_AUTH_METHOD_ID (0x15) #define MQTT_AUTH_DATA_ID (0x16) @@ -534,6 +535,8 @@ MQTTStatus_t MQTT_GetWillPropertiesSize ( MQTTPublishInfo_t * pConnectProperties uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex,const MQTTConnectProperties_t * pConnectProperties); +uint8_t * SerializePublishProperties(uint8_t *pIndex, const MQTTPublishInfo_t *pPublishProperties, uint32_t willDelay); + size_t MQTT_SerializeUserProperty(MQTTUserProperty_t * userProperty, uint16_t size,TransportOutVector_t *iterator,size_t* totalMessageLength); size_t MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, TransportOutVector_t *iterator, size_t * updatedLength,uint32_t willDelay); @@ -618,8 +621,8 @@ MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t * userProperty, uint16_ if((userProperty+i)==NULL || (userProperty+i)->keyLength==0 || (userProperty+i)->valueLength==0||(userProperty+i)->key==NULL || (userProperty+i)->value==NULL ){ status=MQTTBadParameter; } - length+=(userProperty+i)->keyLength+1; - length+=(userProperty+i)->valueLength; + *length+=(userProperty+i)->keyLength+3U; + *length+=(userProperty+i)->valueLength+2U; } } return status; @@ -673,10 +676,10 @@ MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t *pConnectProp else { propertyLength += pConnectProperties->outgoingAuth->authMethodLength; - propertyLength += 1U; + propertyLength += 3U; if(pConnectProperties->outgoingAuth->authDataLength != 0U){ propertyLength += pConnectProperties->outgoingAuth->authDataLength; - propertyLength += 1U; + propertyLength += 3U; } } } @@ -788,7 +791,39 @@ uint8_t * MQTT_SerializeConnectProperties(uint8_t *pIndex, const MQTTConnectProp } return pIndexLocal; } +uint8_t * SerializePublishProperties(uint8_t *pIndex, const MQTTPublishInfo_t *pPublishInfo, uint32_t willDelay) +{ + uint8_t *pIndexLocal = pIndex; + pIndex = encodeRemainingLength( pIndex, pPublishInfo->propertyLength); + if (willDelay != 0U) + { + *pIndex = MQTT_WILL_DELAY_ID; + pIndex++; + pIndex[0] = UINT32_BYTE3(willDelay); + pIndex[1] = UINT32_BYTE2(willDelay); + pIndex[2] = UINT32_BYTE1(willDelay); + pIndex[3] = UINT32_BYTE0(willDelay); + pIndex = &pIndex[4]; + } + if (pPublishInfo->payloadFormat != 0) + { + *pIndex = MQTT_PAYLOAD_FORMAT_ID; + pIndex++; + *pIndex= pPublishInfo->payloadFormat; + } + if (pPublishInfo->msgExpiryInterval != 0U) + { + *pIndex = MQTT_MSG_EXPIRY_ID; + pIndex++; + pIndex[0] = UINT32_BYTE3(pPublishInfo->msgExpiryInterval); + pIndex[1] = UINT32_BYTE2(pPublishInfo->msgExpiryInterval); + pIndex[2] = UINT32_BYTE1(pPublishInfo->msgExpiryInterval); + pIndex[3] = UINT32_BYTE0(pPublishInfo->msgExpiryInterval); + pIndex = &pIndex[4]; + } + return pIndexLocal; +} size_t MQTT_SerializeUserProperty(MQTTUserProperty_t * userProperty, uint16_t size,TransportOutVector_t *iterator,size_t* totalMessageLength) { uint8_t serializedUserKeyLength[ MAX_USER_PROPERTY ][2]; @@ -852,6 +887,8 @@ size_t MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, T pIndex[1] = UINT32_BYTE2(pPublishInfo->msgExpiryInterval); pIndex[2] = UINT32_BYTE1(pPublishInfo->msgExpiryInterval); pIndex[3] = UINT32_BYTE0(pPublishInfo->msgExpiryInterval); + pIndex = &pIndex[4]; + } iterator->iov_base = fixedSizeProperties; @@ -1047,13 +1084,12 @@ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackPropert { MQTTStatus_t status = MQTTSuccess; status= validateConnackParams( pIncomingPacket,pSessionPresent ); - size_t propertyLength=0U; + size_t propertyLength=0U; uint8_t* pVariableHeader=NULL; if(status==MQTTSuccess){ - uint8_t* pVariableHeader = pIncomingPacket->pRemainingData; + pVariableHeader = pIncomingPacket->pRemainingData; pVariableHeader= &pVariableHeader[2]; size_t remainingLengthSize= remainingLengthEncodedSize(pIncomingPacket->remainingLength); - pVariableHeader=&pVariableHeader[remainingLengthSize]; status=decodeVariableLength(pVariableHeader,&propertyLength); } if(propertyLength==0U){ @@ -1080,7 +1116,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackPropert bool authMethod =false; bool authData=false; MQTTUserProperty_t *userProperty = pConnackProperties->incomingUserProperty; - + pVariableHeader=&pVariableHeader[remainingLengthEncodedSize(propertyLength)]; while((propertyLength>0 )&& (status=MQTTSuccess)){ uint8_t packetId = *pVariableHeader; pVariableHeader= &pVariableHeader[1]; @@ -2626,11 +2662,15 @@ uint8_t * MQTT_SerializeConnectFixedHeader( uint8_t * pIndex, * header. This string is 4 bytes long. */ // Add the correct version - + pIndexLocal = encodeString( pIndexLocal, "MQTT", 4 ); /* The MQTT protocol version is the second field of the variable header. */ + #if(MQTT_VERSION_5_ENABLED) + *pIndexLocal = MQTT_VERSION_5; + #else *pIndexLocal = MQTT_VERSION_3_1_1; + #endif pIndexLocal++; /* Set the clean session flag if needed. */ diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index a86207b56..018e171f4 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -1399,6 +1399,8 @@ MQTTStatus_t MQTT_GetWillPropertiesSize ( MQTTPublishInfo_t * pConnectProperties uint32_t willDelay); uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex,const MQTTConnectProperties_t * pConnectProperties); +uint8_t * SerializePublishProperties(uint8_t *pIndex, const MQTTPublishInfo_t *pPublishProperties, uint32_t willDelay); + size_t MQTT_SerializeUserProperty(MQTTUserProperty_t * userProperty, uint16_t size,TransportOutVector_t *iterator,size_t* updatedLength); @@ -1419,6 +1421,7 @@ size_t addEncodedStringToVectorWithId( uint8_t serializedLength[ 2 ], uint16_t length, TransportOutVector_t * iterator, size_t * updatedLength,uint8_t packetId ); + #endif @@ -1429,6 +1432,7 @@ size_t addEncodedStringToVector( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_ size_t * updatedLength ); + /* *INDENT-OFF* */ #ifdef __cplusplus } From df5d9489c9006755e408e4598a295f7d35a57378 Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Sun, 16 Jun 2024 18:53:26 +0530 Subject: [PATCH 06/82] ahuh --- source/core_mqtt.c | 2739 +++++++++++---------- source/core_mqtt_serializer.c | 3136 ++++++++++++------------- source/include/core_mqtt_serializer.h | 21 +- 3 files changed, 2949 insertions(+), 2947 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 4a01474eb..1eff8aa61 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -22,16 +22,16 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/** - * @file core_mqtt.c - * @brief Implements the user-facing functions in core_mqtt.h. - */ + /** + * @file core_mqtt.c + * @brief Implements the user-facing functions in core_mqtt.h. + */ #include #include #include "core_mqtt_state.h" -/* Include config defaults header to get default values of configs. */ + /* Include config defaults header to get default values of configs. */ #include "core_mqtt_config_defaults.h" #include "core_mqtt_serializer.h" @@ -40,91 +40,88 @@ /** * @brief Hook called before a 'send' operation is executed. */ - #define MQTT_PRE_SEND_HOOK( pContext ) +#define MQTT_PRE_SEND_HOOK( pContext ) #endif /* !MQTT_PRE_SEND_HOOK */ #ifndef MQTT_POST_SEND_HOOK -/** - * @brief Hook called after the 'send' operation is complete. - */ - #define MQTT_POST_SEND_HOOK( pContext ) + /** + * @brief Hook called after the 'send' operation is complete. + */ +#define MQTT_POST_SEND_HOOK( pContext ) #endif /* !MQTT_POST_SEND_HOOK */ #ifndef MQTT_PRE_STATE_UPDATE_HOOK -/** - * @brief Hook called just before an update to the MQTT state is made. - */ - #define MQTT_PRE_STATE_UPDATE_HOOK( pContext ) + /** + * @brief Hook called just before an update to the MQTT state is made. + */ +#define MQTT_PRE_STATE_UPDATE_HOOK( pContext ) #endif /* !MQTT_PRE_STATE_UPDATE_HOOK */ #ifndef MQTT_POST_STATE_UPDATE_HOOK -/** - * @brief Hook called just after an update to the MQTT state has - * been made. - */ - #define MQTT_POST_STATE_UPDATE_HOOK( pContext ) + /** + * @brief Hook called just after an update to the MQTT state has + * been made. + */ +#define MQTT_POST_STATE_UPDATE_HOOK( pContext ) #endif /* !MQTT_POST_STATE_UPDATE_HOOK */ -/** - * @brief Bytes required to encode any string length in an MQTT packet header. - * Length is always encoded in two bytes according to the MQTT specification. - */ + /** + * @brief Bytes required to encode any string length in an MQTT packet header. + * Length is always encoded in two bytes according to the MQTT specification. + */ -/** - * @brief Number of vectors required to encode one topic filter in a subscribe - * request. Three vectors are required as there are three fields in the - * subscribe request namely: - * 1. Topic filter length; 2. Topic filter; and 3. QoS in this order. - */ + /** + * @brief Number of vectors required to encode one topic filter in a subscribe + * request. Three vectors are required as there are three fields in the + * subscribe request namely: + * 1. Topic filter length; 2. Topic filter; and 3. QoS in this order. + */ #define CORE_MQTT_SUBSCRIBE_PER_TOPIC_VECTOR_LENGTH ( 3U ) -/** - * @brief Number of vectors required to encode one topic filter in an - * unsubscribe request. Two vectors are required as there are two fields in the - * unsubscribe request namely: - * 1. Topic filter length; and 2. Topic filter in this order. - */ + /** + * @brief Number of vectors required to encode one topic filter in an + * unsubscribe request. Two vectors are required as there are two fields in the + * unsubscribe request namely: + * 1. Topic filter length; and 2. Topic filter in this order. + */ #define CORE_MQTT_UNSUBSCRIBE_PER_TOPIC_VECTOR_LENGTH ( 2U ) #if (MQTT_VERSION_5_ENABLED) -#define MQTT_USER_PROPERTY_ID (0x17) +#define MQTT_USER_PROPERTY_ID (0x26) #define MQTT_AUTH_METHOD_ID (0x15) #define MQTT_AUTH_DATA_ID (0x16) - -#define MQTT_WILL_DELAY_ID (0x18) -#define MQTT_PAYLOAD_FORMAT_ID (0x01) -#define MQTT_MSG_EXPIRY_ID (0x02) #define MQTT_CONTENT_TYPE_ID (0x03) #define MQTT_RESPONSE_TOPIC_ID (0x08) #define MQTT_CORRELATION_DATA_ID (0x09) +#define CORE_MQTT_ID_SIZE (1U) #endif -/*-----------------------------------------------------------*/ - -/** - * @brief Sends provided buffer to network using transport send. - * - * @brief param[in] pContext Initialized MQTT context. - * @brief param[in] pBufferToSend Buffer to be sent to network. - * @brief param[in] bytesToSend Number of bytes to be sent. - * - * @note This operation may call the transport send function - * repeatedly to send bytes over the network until either: - * 1. The requested number of bytes @a bytesToSend have been sent. - * OR - * 2. MQTT_SEND_TIMEOUT_MS milliseconds have gone by since entering this - * function. - * OR - * 3. There is an error in sending data over the network. - * - * @return Total number of bytes sent, or negative value on network error. - */ -static int32_t sendBuffer( MQTTContext_t * pContext, - const uint8_t * pBufferToSend, - size_t bytesToSend ); + /*-----------------------------------------------------------*/ + + /** + * @brief Sends provided buffer to network using transport send. + * + * @brief param[in] pContext Initialized MQTT context. + * @brief param[in] pBufferToSend Buffer to be sent to network. + * @brief param[in] bytesToSend Number of bytes to be sent. + * + * @note This operation may call the transport send function + * repeatedly to send bytes over the network until either: + * 1. The requested number of bytes @a bytesToSend have been sent. + * OR + * 2. MQTT_SEND_TIMEOUT_MS milliseconds have gone by since entering this + * function. + * OR + * 3. There is an error in sending data over the network. + * + * @return Total number of bytes sent, or negative value on network error. + */ +static int32_t sendBuffer(MQTTContext_t* pContext, + const uint8_t* pBufferToSend, + size_t bytesToSend); /** * @brief Sends MQTT connect without copying the users data into any buffer. @@ -146,10 +143,10 @@ static int32_t sendBuffer( MQTTContext_t * pContext, * * @return #MQTTSendFailed or #MQTTSuccess. */ -static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, - const MQTTConnectInfo_t * pConnectInfo, - const MQTTPublishInfo_t * pWillInfo, - size_t remainingLength ); +static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t* pContext, + const MQTTConnectInfo_t* pConnectInfo, + const MQTTPublishInfo_t* pWillInfo, + size_t remainingLength); /** * @brief Sends the vector array passed through the parameters over the network. @@ -174,9 +171,9 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, * @return The total number of bytes sent or the error code as received from the * transport interface. */ -static int32_t sendMessageVector( MQTTContext_t * pContext, - TransportOutVector_t * pIoVec, - size_t ioVecCount ); +static int32_t sendMessageVector(MQTTContext_t* pContext, + TransportOutVector_t* pIoVec, + size_t ioVecCount); /** * @brief Add a string and its length after serializing it in a manner outlined by @@ -194,23 +191,23 @@ static int32_t sendMessageVector( MQTTContext_t * pContext, * @return The number of vectors added. */ -/** - * @brief Send MQTT SUBSCRIBE message without copying the user data into a buffer and - * directly sending it. - * - * @param[in] pContext Initialized MQTT context. - * @param[in] pSubscriptionList List of MQTT subscription info. - * @param[in] subscriptionCount The count of elements in the list. - * @param[in] packetId The packet ID of the subscribe packet - * @param[in] remainingLength The remaining length of the subscribe packet. - * - * @return #MQTTSuccess or #MQTTSendFailed. - */ -static MQTTStatus_t sendSubscribeWithoutCopy( MQTTContext_t * pContext, - const MQTTSubscribeInfo_t * pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength ); + /** + * @brief Send MQTT SUBSCRIBE message without copying the user data into a buffer and + * directly sending it. + * + * @param[in] pContext Initialized MQTT context. + * @param[in] pSubscriptionList List of MQTT subscription info. + * @param[in] subscriptionCount The count of elements in the list. + * @param[in] packetId The packet ID of the subscribe packet + * @param[in] remainingLength The remaining length of the subscribe packet. + * + * @return #MQTTSuccess or #MQTTSendFailed. + */ +static MQTTStatus_t sendSubscribeWithoutCopy(MQTTContext_t* pContext, + const MQTTSubscribeInfo_t* pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength); /** * @brief Send MQTT UNSUBSCRIBE message without copying the user data into a buffer and @@ -224,11 +221,11 @@ static MQTTStatus_t sendSubscribeWithoutCopy( MQTTContext_t * pContext, * * @return #MQTTSuccess or #MQTTSendFailed. */ -static MQTTStatus_t sendUnsubscribeWithoutCopy( MQTTContext_t * pContext, - const MQTTSubscribeInfo_t * pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength ); +static MQTTStatus_t sendUnsubscribeWithoutCopy(MQTTContext_t* pContext, + const MQTTSubscribeInfo_t* pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength); /** * @brief Calculate the interval between two millisecond timestamps, including @@ -243,8 +240,8 @@ static MQTTStatus_t sendUnsubscribeWithoutCopy( MQTTContext_t * pContext, * * @return later - start. */ -static uint32_t calculateElapsedTime( uint32_t later, - uint32_t start ); +static uint32_t calculateElapsedTime(uint32_t later, + uint32_t start); /** * @brief Convert a byte indicating a publish ack type to an #MQTTPubAckType_t. @@ -253,7 +250,7 @@ static uint32_t calculateElapsedTime( uint32_t later, * * @return Type of ack. */ -static MQTTPubAckType_t getAckFromPacketType( uint8_t packetType ); +static MQTTPubAckType_t getAckFromPacketType(uint8_t packetType); /** * @brief Receive bytes into the network buffer. @@ -273,8 +270,8 @@ static MQTTPubAckType_t getAckFromPacketType( uint8_t packetType ); * * @return Number of bytes received, or negative number on network error. */ -static int32_t recvExact( const MQTTContext_t * pContext, - size_t bytesToRecv ); +static int32_t recvExact(const MQTTContext_t* pContext, + size_t bytesToRecv); /** * @brief Discard a packet from the transport interface. @@ -285,9 +282,9 @@ static int32_t recvExact( const MQTTContext_t * pContext, * * @return #MQTTRecvFailed or #MQTTNoDataAvailable. */ -static MQTTStatus_t discardPacket( const MQTTContext_t * pContext, - size_t remainingLength, - uint32_t timeoutMs ); +static MQTTStatus_t discardPacket(const MQTTContext_t* pContext, + size_t remainingLength, + uint32_t timeoutMs); /** * @brief Discard a packet from the MQTT buffer and the transport interface. @@ -297,8 +294,8 @@ static MQTTStatus_t discardPacket( const MQTTContext_t * pContext, * * @return #MQTTRecvFailed or #MQTTNoDataAvailable. */ -static MQTTStatus_t discardStoredPacket( MQTTContext_t * pContext, - const MQTTPacketInfo_t * pPacketInfo ); +static MQTTStatus_t discardStoredPacket(MQTTContext_t* pContext, + const MQTTPacketInfo_t* pPacketInfo); /** * @brief Receive a packet from the transport interface. @@ -309,9 +306,9 @@ static MQTTStatus_t discardStoredPacket( MQTTContext_t * pContext, * * @return #MQTTSuccess or #MQTTRecvFailed. */ -static MQTTStatus_t receivePacket( const MQTTContext_t * pContext, - MQTTPacketInfo_t incomingPacket, - uint32_t remainingTimeMs ); +static MQTTStatus_t receivePacket(const MQTTContext_t* pContext, + MQTTPacketInfo_t incomingPacket, + uint32_t remainingTimeMs); /** * @brief Get the correct ack type to send. @@ -321,7 +318,7 @@ static MQTTStatus_t receivePacket( const MQTTContext_t * pContext, * @return Packet Type byte of PUBACK, PUBREC, PUBREL, or PUBCOMP if one of * those should be sent, else 0. */ -static uint8_t getAckTypeToSend( MQTTPublishState_t state ); +static uint8_t getAckTypeToSend(MQTTPublishState_t state); /** * @brief Send acks for received QoS 1/2 publishes. @@ -332,9 +329,9 @@ static uint8_t getAckTypeToSend( MQTTPublishState_t state ); * * @return #MQTTSuccess, #MQTTIllegalState or #MQTTSendFailed. */ -static MQTTStatus_t sendPublishAcks( MQTTContext_t * pContext, - uint16_t packetId, - MQTTPublishState_t publishState ); +static MQTTStatus_t sendPublishAcks(MQTTContext_t* pContext, + uint16_t packetId, + MQTTPublishState_t publishState); /** * @brief Send a keep alive PINGREQ if the keep alive interval has elapsed. @@ -344,7 +341,7 @@ static MQTTStatus_t sendPublishAcks( MQTTContext_t * pContext, * @return #MQTTKeepAliveTimeout if a PINGRESP is not received in time, * #MQTTSendFailed if the PINGREQ cannot be sent, or #MQTTSuccess. */ -static MQTTStatus_t handleKeepAlive( MQTTContext_t * pContext ); +static MQTTStatus_t handleKeepAlive(MQTTContext_t* pContext); /** * @brief Handle received MQTT PUBLISH packet. @@ -354,8 +351,8 @@ static MQTTStatus_t handleKeepAlive( MQTTContext_t * pContext ); * * @return MQTTSuccess, MQTTIllegalState or deserialization error. */ -static MQTTStatus_t handleIncomingPublish( MQTTContext_t * pContext, - MQTTPacketInfo_t * pIncomingPacket ); +static MQTTStatus_t handleIncomingPublish(MQTTContext_t* pContext, + MQTTPacketInfo_t* pIncomingPacket); /** * @brief Handle received MQTT publish acks. @@ -365,8 +362,8 @@ static MQTTStatus_t handleIncomingPublish( MQTTContext_t * pContext, * * @return MQTTSuccess, MQTTIllegalState, or deserialization error. */ -static MQTTStatus_t handlePublishAcks( MQTTContext_t * pContext, - MQTTPacketInfo_t * pIncomingPacket ); +static MQTTStatus_t handlePublishAcks(MQTTContext_t* pContext, + MQTTPacketInfo_t* pIncomingPacket); /** * @brief Handle received MQTT ack. @@ -378,9 +375,9 @@ static MQTTStatus_t handlePublishAcks( MQTTContext_t * pContext, * * @return MQTTSuccess, MQTTIllegalState, or deserialization error. */ -static MQTTStatus_t handleIncomingAck( MQTTContext_t * pContext, - MQTTPacketInfo_t * pIncomingPacket, - bool manageKeepAlive ); +static MQTTStatus_t handleIncomingAck(MQTTContext_t* pContext, + MQTTPacketInfo_t* pIncomingPacket, + bool manageKeepAlive); /** * @brief Run a single iteration of the receive loop. @@ -397,8 +394,8 @@ static MQTTStatus_t handleIncomingAck( MQTTContext_t * pContext, * invalid transition for the internal state machine; * #MQTTSuccess on success. */ -static MQTTStatus_t receiveSingleIteration( MQTTContext_t * pContext, - bool manageKeepAlive ); +static MQTTStatus_t receiveSingleIteration(MQTTContext_t* pContext, + bool manageKeepAlive); /** * @brief Validates parameters of #MQTT_Subscribe or #MQTT_Unsubscribe. @@ -411,10 +408,10 @@ static MQTTStatus_t receiveSingleIteration( MQTTContext_t * pContext, * @return #MQTTBadParameter if invalid parameters are passed; * #MQTTSuccess otherwise. */ -static MQTTStatus_t validateSubscribeUnsubscribeParams( const MQTTContext_t * pContext, - const MQTTSubscribeInfo_t * pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId ); +static MQTTStatus_t validateSubscribeUnsubscribeParams(const MQTTContext_t* pContext, + const MQTTSubscribeInfo_t* pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId); /** * @brief Receives a CONNACK MQTT packet. @@ -431,11 +428,11 @@ static MQTTStatus_t validateSubscribeUnsubscribeParams( const MQTTContext_t * pC * ##MQTTRecvFailed if transport recv failed; * #MQTTSuccess otherwise. */ -static MQTTStatus_t receiveConnack( const MQTTContext_t * pContext, - uint32_t timeoutMs, - bool cleanSession, - MQTTPacketInfo_t * pIncomingPacket, - bool * pSessionPresent ); +static MQTTStatus_t receiveConnack(const MQTTContext_t* pContext, + uint32_t timeoutMs, + bool cleanSession, + MQTTPacketInfo_t* pIncomingPacket, + bool* pSessionPresent); /** * @brief Resends pending acks for a re-established MQTT session, or @@ -447,8 +444,8 @@ static MQTTStatus_t receiveConnack( const MQTTContext_t * pContext, * @return #MQTTSendFailed if transport send during resend failed; * #MQTTSuccess otherwise. */ -static MQTTStatus_t handleSessionResumption( MQTTContext_t * pContext, - bool sessionPresent ); +static MQTTStatus_t handleSessionResumption(MQTTContext_t* pContext, + bool sessionPresent); /** @@ -465,11 +462,11 @@ static MQTTStatus_t handleSessionResumption( MQTTContext_t * pContext, * @return #MQTTSendFailed if transport send during resend failed; * #MQTTSuccess otherwise. */ -static MQTTStatus_t sendPublishWithoutCopy( MQTTContext_t * pContext, - const MQTTPublishInfo_t * pPublishInfo, - const uint8_t * pMqttHeader, - size_t headerSize, - uint16_t packetId ); +static MQTTStatus_t sendPublishWithoutCopy(MQTTContext_t* pContext, + const MQTTPublishInfo_t* pPublishInfo, + const uint8_t* pMqttHeader, + size_t headerSize, + uint16_t packetId); /** * @brief Function to validate #MQTT_Publish parameters. @@ -481,9 +478,9 @@ static MQTTStatus_t sendPublishWithoutCopy( MQTTContext_t * pContext, * @return #MQTTBadParameter if invalid parameters are passed; * #MQTTSuccess otherwise. */ -static MQTTStatus_t validatePublishParams( const MQTTContext_t * pContext, - const MQTTPublishInfo_t * pPublishInfo, - uint16_t packetId ); +static MQTTStatus_t validatePublishParams(const MQTTContext_t* pContext, + const MQTTPublishInfo_t* pPublishInfo, + uint16_t packetId); /** * @brief Performs matching for special cases when a topic filter ends @@ -506,9 +503,9 @@ static MQTTStatus_t validatePublishParams( const MQTTContext_t * pContext, * * @return Returns whether the topic filter and the topic name match. */ -static bool matchEndWildcardsSpecialCases( const char * pTopicFilter, - uint16_t topicFilterLength, - uint16_t filterIndex ); +static bool matchEndWildcardsSpecialCases(const char* pTopicFilter, + uint16_t topicFilterLength, + uint16_t filterIndex); /** * @brief Attempt to match topic name with a topic filter starting with a wildcard. @@ -531,13 +528,13 @@ static bool matchEndWildcardsSpecialCases( const char * pTopicFilter, * @return `true` if the caller of this function should exit; `false` if the * caller should continue parsing the topics. */ -static bool matchWildcards( const char * pTopicName, - uint16_t topicNameLength, - const char * pTopicFilter, - uint16_t topicFilterLength, - uint16_t * pNameIndex, - uint16_t * pFilterIndex, - bool * pMatch ); +static bool matchWildcards(const char* pTopicName, + uint16_t topicNameLength, + const char* pTopicFilter, + uint16_t topicFilterLength, + uint16_t* pNameIndex, + uint16_t* pFilterIndex, + bool* pMatch); /** * @brief Match a topic name and topic filter allowing the use of wildcards. @@ -549,93 +546,163 @@ static bool matchWildcards( const char * pTopicName, * * @return `true` if the topic name and topic filter match; `false` otherwise. */ -static bool matchTopicFilter( const char * pTopicName, - uint16_t topicNameLength, - const char * pTopicFilter, - uint16_t topicFilterLength ); +static bool matchTopicFilter(const char* pTopicName, + uint16_t topicNameLength, + const char* pTopicFilter, + uint16_t topicFilterLength); + +size_t addEncodedStringToVector(uint8_t serializedLength[CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES], + const char* const string, + uint16_t length, + TransportOutVector_t* iterator, + size_t* updatedLength); + + #if (MQTT_VERSION_5_ENABLED) -size_t MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, TransportOutVector_t *iterator, size_t * totalMessageLength,uint32_t willDelay); +size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES], + const char* const string, + uint16_t length, + TransportOutVector_t* iterator, + size_t* updatedLength, uint8_t packetId); + +size_t MQTT_SerializeUserProperty(MQTTUserProperty_t* userProperty, uint16_t size, TransportOutVector_t* iterator, size_t* totalMessageLength); + -size_t MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, TransportOutVector_t *iterator, size_t * totalMessageLength,uint32_t willDelay){ - uint8_t* pIndex=0; +size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES], + const char* const string, + uint16_t length, + TransportOutVector_t* iterator, + size_t* updatedLength, uint8_t packetId) +{ + size_t packetLength = 0U; + TransportOutVector_t* pLocalIterator = iterator; size_t vectorsAdded = 0U; - size_t ioVectorLength= 0U; - uint8_t serializedContentTypeLength[ 2 ]; - uint8_t serializedResponseTopicLength[ 2 ]; - uint8_t serailizedCorrelationLength[ 2 ]; - // 4 byte + 4 byte delay + 2 byte payload format + 6 byte - uint8_t fixedSizeProperties[ 20U]; - pIndex= fixedSizeProperties; - // 1 for fixed, 5 for variable - pIndex=SerializePublishProperties(pIndex,pPublishInfo,willDelay); - - - iterator->iov_base = fixedSizeProperties; - iterator->iov_len = ( size_t ) ( pIndex - fixedSizeProperties ); - totalMessageLength += iterator->iov_len; - iterator++; - ioVectorLength++; - if ( pPublishInfo->contentTypeLength != 0U) + /* When length is non-zero, the string must be non-NULL. */ + assert((length != 0U) ? (string != NULL) : true); + + serializedLength[0] = ((uint8_t)((length) >> 8)); + serializedLength[1] = ((uint8_t)((length) & 0x00ffU)); + + /* Add the packet id first. */ + pLocalIterator[0].iov_base = &packetId; + pLocalIterator[0].iov_len = CORE_MQTT_ID_SIZE; + vectorsAdded++; + packetLength = CORE_MQTT_ID_SIZE; + + /* Add the serialized length of the string. */ + pLocalIterator[1].iov_base = serializedLength; + pLocalIterator[1].iov_len = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; + vectorsAdded++; + packetLength += CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; + + /* Sometimes the string can be NULL that is, of 0 length. In that case, + * only the length field should be encoded in the vector. */ + if ((string != NULL) && (length != 0U)) { - vectorsAdded = addEncodedStringToVectorWithId( serializedContentTypeLength, - pPublishInfo->contentType, - pPublishInfo->contentTypeLength, - iterator, - totalMessageLength,MQTT_CONTENT_TYPE_ID); - iterator = &iterator[ vectorsAdded ]; - ioVectorLength += vectorsAdded; + /* Then add the pointer to the string itself. */ + pLocalIterator[2].iov_base = string; + pLocalIterator[2].iov_len = length; + vectorsAdded++; + packetLength += length; } - if ( pPublishInfo->responseTopicLength != 0U) - { - vectorsAdded = addEncodedStringToVectorWithId( serializedResponseTopicLength, - pPublishInfo->responseTopic, - pPublishInfo->responseTopicLength, - iterator, - totalMessageLength,MQTT_RESPONSE_TOPIC_ID ); - iterator = &iterator[ vectorsAdded ]; + + (*updatedLength) = (*updatedLength) + packetLength; + + return vectorsAdded; +} + +size_t MQTT_SerializeUserProperty(MQTTUserProperty_t* userProperty, uint16_t size, TransportOutVector_t* iterator, size_t* totalMessageLength) +{ + uint8_t serializedUserKeyLength[MAX_USER_PROPERTY][2]; + uint8_t serializedUserValueLength[MAX_USER_PROPERTY][2]; + size_t vectorsAdded = 0U; + size_t ioVectorLength = 0U; + uint16_t i = 0; + for (; i < size; i++) { + vectorsAdded = addEncodedStringToVectorWithId(serializedUserKeyLength[i], + userProperty[i].key, + userProperty[i].keyLength, + iterator, + totalMessageLength, MQTT_USER_PROPERTY_ID); + iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; - } - if (pPublishInfo->correlationLength != 0U) - { - vectorsAdded = addEncodedStringToVectorWithId(serailizedCorrelationLength, - pPublishInfo->correlationData, - pPublishInfo->correlationLength, - iterator, - totalMessageLength,MQTT_CORRELATION_DATA_ID); - iterator = &iterator[ vectorsAdded ]; + + vectorsAdded = addEncodedStringToVector(serializedUserValueLength[i], + userProperty[i].value, + userProperty[i].valueLength, + iterator, + totalMessageLength); + iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; } - if(pPublishInfo->userPropertySize!=0){ - ioVectorLength += MQTT_SerializeUserProperty(pPublishInfo->userProperty,pPublishInfo->userPropertySize,iterator,totalMessageLength); - } - return ioVectorLength; -}; + return ioVectorLength; +} + #endif /*-----------------------------------------------------------*/ -static bool matchEndWildcardsSpecialCases( const char * pTopicFilter, - uint16_t topicFilterLength, - uint16_t filterIndex ) +size_t addEncodedStringToVector(uint8_t serializedLength[CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES], + const char* const string, + uint16_t length, + TransportOutVector_t* iterator, + size_t* updatedLength) +{ + size_t packetLength = 0U; + TransportOutVector_t* pLocalIterator = iterator; + size_t vectorsAdded = 0U; + + /* When length is non-zero, the string must be non-NULL. */ + assert((length != 0U) ? (string != NULL) : true); + + serializedLength[0] = ((uint8_t)((length) >> 8)); + serializedLength[1] = ((uint8_t)((length) & 0x00ffU)); + + /* Add the serialized length of the string first. */ + pLocalIterator[0].iov_base = serializedLength; + pLocalIterator[0].iov_len = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; + vectorsAdded++; + packetLength = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; + + /* Sometimes the string can be NULL that is, of 0 length. In that case, + * only the length field should be encoded in the vector. */ + if ((string != NULL) && (length != 0U)) + { + /* Then add the pointer to the string itself. */ + pLocalIterator[1].iov_base = string; + pLocalIterator[1].iov_len = length; + vectorsAdded++; + packetLength += length; + } + + (*updatedLength) = (*updatedLength) + packetLength; + + return vectorsAdded; +} + + +static bool matchEndWildcardsSpecialCases(const char* pTopicFilter, + uint16_t topicFilterLength, + uint16_t filterIndex) { bool matchFound = false; - assert( pTopicFilter != NULL ); - assert( topicFilterLength != 0U ); + assert(pTopicFilter != NULL); + assert(topicFilterLength != 0U); /* Check if the topic filter has 2 remaining characters and it ends in * "/#". This check handles the case to match filter "sport/#" with topic * "sport". The reason is that the '#' wildcard represents the parent and * any number of child levels in the topic name.*/ - if( ( topicFilterLength >= 3U ) && - ( filterIndex == ( topicFilterLength - 3U ) ) && - ( pTopicFilter[ filterIndex + 1U ] == '/' ) && - ( pTopicFilter[ filterIndex + 2U ] == '#' ) ) + if ((topicFilterLength >= 3U) && + (filterIndex == (topicFilterLength - 3U)) && + (pTopicFilter[filterIndex + 1U] == '/') && + (pTopicFilter[filterIndex + 2U] == '#')) { matchFound = true; @@ -647,12 +714,12 @@ static bool matchEndWildcardsSpecialCases( const char * pTopicFilter, * - Topic filter "sport/+" with topic "sport/". * - Topic filter "sport/#" with topic "sport/". */ - if( ( filterIndex == ( topicFilterLength - 2U ) ) && - ( pTopicFilter[ filterIndex ] == '/' ) ) + if ((filterIndex == (topicFilterLength - 2U)) && + (pTopicFilter[filterIndex] == '/')) { /* Check that the last character is a wildcard. */ - matchFound = ( pTopicFilter[ filterIndex + 1U ] == '+' ) || - ( pTopicFilter[ filterIndex + 1U ] == '#' ); + matchFound = (pTopicFilter[filterIndex + 1U] == '+') || + (pTopicFilter[filterIndex + 1U] == '#'); } return matchFound; @@ -660,31 +727,31 @@ static bool matchEndWildcardsSpecialCases( const char * pTopicFilter, /*-----------------------------------------------------------*/ -static bool matchWildcards( const char * pTopicName, - uint16_t topicNameLength, - const char * pTopicFilter, - uint16_t topicFilterLength, - uint16_t * pNameIndex, - uint16_t * pFilterIndex, - bool * pMatch ) +static bool matchWildcards(const char* pTopicName, + uint16_t topicNameLength, + const char* pTopicFilter, + uint16_t topicFilterLength, + uint16_t* pNameIndex, + uint16_t* pFilterIndex, + bool* pMatch) { bool shouldStopMatching = false; bool locationIsValidForWildcard; - assert( pTopicName != NULL ); - assert( topicNameLength != 0U ); - assert( pTopicFilter != NULL ); - assert( topicFilterLength != 0U ); - assert( pNameIndex != NULL ); - assert( pFilterIndex != NULL ); - assert( pMatch != NULL ); + assert(pTopicName != NULL); + assert(topicNameLength != 0U); + assert(pTopicFilter != NULL); + assert(topicFilterLength != 0U); + assert(pNameIndex != NULL); + assert(pFilterIndex != NULL); + assert(pMatch != NULL); /* Wild card in a topic filter is only valid either at the starting position * or when it is preceded by a '/'.*/ - locationIsValidForWildcard = ( *pFilterIndex == 0u ) || - ( pTopicFilter[ *pFilterIndex - 1U ] == '/' ); + locationIsValidForWildcard = (*pFilterIndex == 0u) || + (pTopicFilter[*pFilterIndex - 1U] == '/'); - if( ( pTopicFilter[ *pFilterIndex ] == '+' ) && ( locationIsValidForWildcard == true ) ) + if ((pTopicFilter[*pFilterIndex] == '+') && (locationIsValidForWildcard == true)) { bool nextLevelExistsInTopicName = false; bool nextLevelExistsinTopicFilter = false; @@ -692,30 +759,30 @@ static bool matchWildcards( const char * pTopicName, /* Move topic name index to the end of the current level. The end of the * current level is identified by the last character before the next level * separator '/'. */ - while( *pNameIndex < topicNameLength ) + while (*pNameIndex < topicNameLength) { /* Exit the loop if we hit the level separator. */ - if( pTopicName[ *pNameIndex ] == '/' ) + if (pTopicName[*pNameIndex] == '/') { nextLevelExistsInTopicName = true; break; } - ( *pNameIndex )++; + (*pNameIndex)++; } /* Determine if the topic filter contains a child level after the current level * represented by the '+' wildcard. */ - if( ( *pFilterIndex < ( topicFilterLength - 1U ) ) && - ( pTopicFilter[ *pFilterIndex + 1U ] == '/' ) ) + if ((*pFilterIndex < (topicFilterLength - 1U)) && + (pTopicFilter[*pFilterIndex + 1U] == '/')) { nextLevelExistsinTopicFilter = true; } /* If the topic name contains a child level but the topic filter ends at * the current level, then there does not exist a match. */ - if( ( nextLevelExistsInTopicName == true ) && - ( nextLevelExistsinTopicFilter == false ) ) + if ((nextLevelExistsInTopicName == true) && + (nextLevelExistsinTopicFilter == false)) { *pMatch = false; shouldStopMatching = true; @@ -726,9 +793,9 @@ static bool matchWildcards( const char * pTopicName, * can be performed in the next level. * Note: The name index already points to the level separator in the topic * name. */ - else if( nextLevelExistsInTopicName == true ) + else if (nextLevelExistsInTopicName == true) { - ( *pFilterIndex )++; + (*pFilterIndex)++; } else { @@ -736,15 +803,15 @@ static bool matchWildcards( const char * pTopicName, * ( *pNameIndex < topicNameLength) condition, which means that have * reached past the end of the topic name, and thus, we decrement the * index to the last character in the topic name.*/ - ( *pNameIndex )--; + (*pNameIndex)--; } } /* '#' matches everything remaining in the topic name. It must be the * last character in a topic filter. */ - else if( ( pTopicFilter[ *pFilterIndex ] == '#' ) && - ( *pFilterIndex == ( topicFilterLength - 1U ) ) && - ( locationIsValidForWildcard == true ) ) + else if ((pTopicFilter[*pFilterIndex] == '#') && + (*pFilterIndex == (topicFilterLength - 1U)) && + (locationIsValidForWildcard == true)) { /* Subsequent characters don't need to be checked for the * multi-level wildcard. */ @@ -764,48 +831,48 @@ static bool matchWildcards( const char * pTopicName, /*-----------------------------------------------------------*/ -static bool matchTopicFilter( const char * pTopicName, - uint16_t topicNameLength, - const char * pTopicFilter, - uint16_t topicFilterLength ) +static bool matchTopicFilter(const char* pTopicName, + uint16_t topicNameLength, + const char* pTopicFilter, + uint16_t topicFilterLength) { bool matchFound = false, shouldStopMatching = false; uint16_t nameIndex = 0, filterIndex = 0; - assert( pTopicName != NULL ); - assert( topicNameLength != 0 ); - assert( pTopicFilter != NULL ); - assert( topicFilterLength != 0 ); + assert(pTopicName != NULL); + assert(topicNameLength != 0); + assert(pTopicFilter != NULL); + assert(topicFilterLength != 0); - while( ( nameIndex < topicNameLength ) && ( filterIndex < topicFilterLength ) ) + while ((nameIndex < topicNameLength) && (filterIndex < topicFilterLength)) { /* Check if the character in the topic name matches the corresponding * character in the topic filter string. */ - if( pTopicName[ nameIndex ] == pTopicFilter[ filterIndex ] ) + if (pTopicName[nameIndex] == pTopicFilter[filterIndex]) { /* If the topic name has been consumed but the topic filter has not * been consumed, match for special cases when the topic filter ends * with wildcard character. */ - if( nameIndex == ( topicNameLength - 1U ) ) + if (nameIndex == (topicNameLength - 1U)) { - matchFound = matchEndWildcardsSpecialCases( pTopicFilter, - topicFilterLength, - filterIndex ); + matchFound = matchEndWildcardsSpecialCases(pTopicFilter, + topicFilterLength, + filterIndex); } } else { /* Check for matching wildcards. */ - shouldStopMatching = matchWildcards( pTopicName, - topicNameLength, - pTopicFilter, - topicFilterLength, - &nameIndex, - &filterIndex, - &matchFound ); + shouldStopMatching = matchWildcards(pTopicName, + topicNameLength, + pTopicFilter, + topicFilterLength, + &nameIndex, + &filterIndex, + &matchFound); } - if( ( matchFound == true ) || ( shouldStopMatching == true ) ) + if ((matchFound == true) || (shouldStopMatching == true)) { break; } @@ -815,14 +882,14 @@ static bool matchTopicFilter( const char * pTopicName, filterIndex++; } - if( matchFound == false ) + if (matchFound == false) { /* If the end of both strings has been reached, they match. This represents the * case when the topic filter contains the '+' wildcard at a non-starting position. * For example, when matching either of "sport/+/player" OR "sport/hockey/+" topic * filters with "sport/hockey/player" topic name. */ - matchFound = ( nameIndex == topicNameLength ) && - ( filterIndex == topicFilterLength ); + matchFound = (nameIndex == topicNameLength) && + (filterIndex == topicFilterLength); } return matchFound; @@ -830,25 +897,25 @@ static bool matchTopicFilter( const char * pTopicName, /*-----------------------------------------------------------*/ -static int32_t sendMessageVector( MQTTContext_t * pContext, - TransportOutVector_t * pIoVec, - size_t ioVecCount ) +static int32_t sendMessageVector(MQTTContext_t* pContext, + TransportOutVector_t* pIoVec, + size_t ioVecCount) { int32_t sendResult; uint32_t startTime; - TransportOutVector_t * pIoVectIterator; + TransportOutVector_t* pIoVectIterator; size_t vectorsToBeSent = ioVecCount; size_t bytesToSend = 0U; int32_t bytesSentOrError = 0; - assert( pContext != NULL ); - assert( pIoVec != NULL ); - assert( pContext->getTime != NULL ); + assert(pContext != NULL); + assert(pIoVec != NULL); + assert(pContext->getTime != NULL); /* Send must always be defined */ - assert( pContext->transportInterface.send != NULL ); + assert(pContext->transportInterface.send != NULL); /* Count the total number of bytes to be sent as outlined in the vector. */ - for( pIoVectIterator = pIoVec; pIoVectIterator <= &( pIoVec[ ioVecCount - 1U ] ); pIoVectIterator++ ) + for (pIoVectIterator = pIoVec; pIoVectIterator <= &(pIoVec[ioVecCount - 1U]); pIoVectIterator++) { bytesToSend += pIoVectIterator->iov_len; } @@ -859,40 +926,40 @@ static int32_t sendMessageVector( MQTTContext_t * pContext, /* Note the start time. */ startTime = pContext->getTime(); - while( ( bytesSentOrError < ( int32_t ) bytesToSend ) && ( bytesSentOrError >= 0 ) ) + while ((bytesSentOrError < (int32_t)bytesToSend) && (bytesSentOrError >= 0)) { - if( pContext->transportInterface.writev != NULL ) + if (pContext->transportInterface.writev != NULL) { - sendResult = pContext->transportInterface.writev( pContext->transportInterface.pNetworkContext, - pIoVectIterator, - vectorsToBeSent ); + sendResult = pContext->transportInterface.writev(pContext->transportInterface.pNetworkContext, + pIoVectIterator, + vectorsToBeSent); } else { - sendResult = pContext->transportInterface.send( pContext->transportInterface.pNetworkContext, - pIoVectIterator->iov_base, - pIoVectIterator->iov_len ); + sendResult = pContext->transportInterface.send(pContext->transportInterface.pNetworkContext, + pIoVectIterator->iov_base, + pIoVectIterator->iov_len); } - if( sendResult > 0 ) + if (sendResult > 0) { /* It is a bug in the application's transport send implementation if * more bytes than expected are sent. */ - assert( sendResult <= ( ( int32_t ) bytesToSend - bytesSentOrError ) ); + assert(sendResult <= ((int32_t)bytesToSend - bytesSentOrError)); bytesSentOrError += sendResult; /* Set last transmission time. */ pContext->lastPacketTxTime = pContext->getTime(); - LogDebug( ( "sendMessageVector: Bytes Sent=%ld, Bytes Remaining=%lu", - ( long int ) sendResult, - ( unsigned long ) ( bytesToSend - ( size_t ) bytesSentOrError ) ) ); + LogDebug(("sendMessageVector: Bytes Sent=%ld, Bytes Remaining=%lu", + (long int)sendResult, + (unsigned long)(bytesToSend - (size_t)bytesSentOrError))); } - else if( sendResult < 0 ) + else if (sendResult < 0) { bytesSentOrError = sendResult; - LogError( ( "sendMessageVector: Unable to send packet: Network Error." ) ); + LogError(("sendMessageVector: Unable to send packet: Network Error.")); } else { @@ -900,17 +967,17 @@ static int32_t sendMessageVector( MQTTContext_t * pContext, } /* Check for timeout. */ - if( calculateElapsedTime( pContext->getTime(), startTime ) > MQTT_SEND_TIMEOUT_MS ) + if (calculateElapsedTime(pContext->getTime(), startTime) > MQTT_SEND_TIMEOUT_MS) { - LogError( ( "sendMessageVector: Unable to send packet: Timed out." ) ); + LogError(("sendMessageVector: Unable to send packet: Timed out.")); break; } /* Update the send pointer to the correct vector and offset. */ - while( ( pIoVectIterator <= &( pIoVec[ ioVecCount - 1U ] ) ) && - ( sendResult >= ( int32_t ) pIoVectIterator->iov_len ) ) + while ((pIoVectIterator <= &(pIoVec[ioVecCount - 1U])) && + (sendResult >= (int32_t)pIoVectIterator->iov_len)) { - sendResult -= ( int32_t ) pIoVectIterator->iov_len; + sendResult -= (int32_t)pIoVectIterator->iov_len; pIoVectIterator++; /* Update the number of vector which are yet to be sent. */ vectorsToBeSent--; @@ -918,60 +985,60 @@ static int32_t sendMessageVector( MQTTContext_t * pContext, /* Some of the bytes from this vector were sent as well, update the length * and the pointer to data in this vector. */ - if( ( sendResult > 0 ) && - ( pIoVectIterator <= &( pIoVec[ ioVecCount - 1U ] ) ) ) + if ((sendResult > 0) && + (pIoVectIterator <= &(pIoVec[ioVecCount - 1U]))) { - pIoVectIterator->iov_base = ( const void * ) &( ( ( const uint8_t * ) pIoVectIterator->iov_base )[ sendResult ] ); - pIoVectIterator->iov_len -= ( size_t ) sendResult; + pIoVectIterator->iov_base = (const void*)&(((const uint8_t*)pIoVectIterator->iov_base)[sendResult]); + pIoVectIterator->iov_len -= (size_t)sendResult; } } return bytesSentOrError; } -static int32_t sendBuffer( MQTTContext_t * pContext, - const uint8_t * pBufferToSend, - size_t bytesToSend ) +static int32_t sendBuffer(MQTTContext_t* pContext, + const uint8_t* pBufferToSend, + size_t bytesToSend) { int32_t sendResult; uint32_t startTime; int32_t bytesSentOrError = 0; - const uint8_t * pIndex = pBufferToSend; + const uint8_t* pIndex = pBufferToSend; - assert( pContext != NULL ); - assert( pContext->getTime != NULL ); - assert( pContext->transportInterface.send != NULL ); - assert( pIndex != NULL ); + assert(pContext != NULL); + assert(pContext->getTime != NULL); + assert(pContext->transportInterface.send != NULL); + assert(pIndex != NULL); /* Set the timeout. */ startTime = pContext->getTime(); - while( ( bytesSentOrError < ( int32_t ) bytesToSend ) && ( bytesSentOrError >= 0 ) ) + while ((bytesSentOrError < (int32_t)bytesToSend) && (bytesSentOrError >= 0)) { - sendResult = pContext->transportInterface.send( pContext->transportInterface.pNetworkContext, - pIndex, - bytesToSend - ( size_t ) bytesSentOrError ); + sendResult = pContext->transportInterface.send(pContext->transportInterface.pNetworkContext, + pIndex, + bytesToSend - (size_t)bytesSentOrError); - if( sendResult > 0 ) + if (sendResult > 0) { /* It is a bug in the application's transport send implementation if * more bytes than expected are sent. */ - assert( sendResult <= ( ( int32_t ) bytesToSend - bytesSentOrError ) ); + assert(sendResult <= ((int32_t)bytesToSend - bytesSentOrError)); bytesSentOrError += sendResult; - pIndex = &pIndex[ sendResult ]; + pIndex = &pIndex[sendResult]; /* Set last transmission time. */ pContext->lastPacketTxTime = pContext->getTime(); - LogDebug( ( "sendBuffer: Bytes Sent=%ld, Bytes Remaining=%lu", - ( long int ) sendResult, - ( unsigned long ) ( bytesToSend - ( size_t ) bytesSentOrError ) ) ); + LogDebug(("sendBuffer: Bytes Sent=%ld, Bytes Remaining=%lu", + (long int)sendResult, + (unsigned long)(bytesToSend - (size_t)bytesSentOrError))); } - else if( sendResult < 0 ) + else if (sendResult < 0) { bytesSentOrError = sendResult; - LogError( ( "sendBuffer: Unable to send packet: Network Error." ) ); + LogError(("sendBuffer: Unable to send packet: Network Error.")); } else { @@ -979,9 +1046,9 @@ static int32_t sendBuffer( MQTTContext_t * pContext, } /* Check for timeout. */ - if( calculateElapsedTime( pContext->getTime(), startTime ) >= ( MQTT_SEND_TIMEOUT_MS ) ) + if (calculateElapsedTime(pContext->getTime(), startTime) >= (MQTT_SEND_TIMEOUT_MS)) { - LogError( ( "sendBuffer: Unable to send packet: Timed out." ) ); + LogError(("sendBuffer: Unable to send packet: Timed out.")); break; } } @@ -991,40 +1058,40 @@ static int32_t sendBuffer( MQTTContext_t * pContext, /*-----------------------------------------------------------*/ -static uint32_t calculateElapsedTime( uint32_t later, - uint32_t start ) +static uint32_t calculateElapsedTime(uint32_t later, + uint32_t start) { return later - start; } /*-----------------------------------------------------------*/ -static MQTTPubAckType_t getAckFromPacketType( uint8_t packetType ) +static MQTTPubAckType_t getAckFromPacketType(uint8_t packetType) { MQTTPubAckType_t ackType = MQTTPuback; - switch( packetType ) + switch (packetType) { - case MQTT_PACKET_TYPE_PUBACK: - ackType = MQTTPuback; - break; + case MQTT_PACKET_TYPE_PUBACK: + ackType = MQTTPuback; + break; - case MQTT_PACKET_TYPE_PUBREC: - ackType = MQTTPubrec; - break; + case MQTT_PACKET_TYPE_PUBREC: + ackType = MQTTPubrec; + break; - case MQTT_PACKET_TYPE_PUBREL: - ackType = MQTTPubrel; - break; + case MQTT_PACKET_TYPE_PUBREL: + ackType = MQTTPubrel; + break; - case MQTT_PACKET_TYPE_PUBCOMP: - default: + case MQTT_PACKET_TYPE_PUBCOMP: + default: - /* This function is only called after checking the type is one of - * the above four values, so packet type must be PUBCOMP here. */ - assert( packetType == MQTT_PACKET_TYPE_PUBCOMP ); - ackType = MQTTPubcomp; - break; + /* This function is only called after checking the type is one of + * the above four values, so packet type must be PUBCOMP here. */ + assert(packetType == MQTT_PACKET_TYPE_PUBCOMP); + ackType = MQTTPubcomp; + break; } return ackType; @@ -1032,10 +1099,10 @@ static MQTTPubAckType_t getAckFromPacketType( uint8_t packetType ) /*-----------------------------------------------------------*/ -static int32_t recvExact( const MQTTContext_t * pContext, - size_t bytesToRecv ) +static int32_t recvExact(const MQTTContext_t* pContext, + size_t bytesToRecv) { - uint8_t * pIndex = NULL; + uint8_t* pIndex = NULL; size_t bytesRemaining = bytesToRecv; int32_t totalBytesRecvd = 0, bytesRecvd; uint32_t lastDataRecvTimeMs = 0U, timeSinceLastRecvMs = 0U; @@ -1043,11 +1110,11 @@ static int32_t recvExact( const MQTTContext_t * pContext, MQTTGetCurrentTimeFunc_t getTimeStampMs = NULL; bool receiveError = false; - assert( pContext != NULL ); - assert( bytesToRecv <= pContext->networkBuffer.size ); - assert( pContext->getTime != NULL ); - assert( pContext->transportInterface.recv != NULL ); - assert( pContext->networkBuffer.pBuffer != NULL ); + assert(pContext != NULL); + assert(bytesToRecv <= pContext->networkBuffer.size); + assert(pContext->getTime != NULL); + assert(pContext->transportInterface.recv != NULL); + assert(pContext->networkBuffer.pBuffer != NULL); pIndex = pContext->networkBuffer.pBuffer; recvFunc = pContext->transportInterface.recv; @@ -1056,20 +1123,20 @@ static int32_t recvExact( const MQTTContext_t * pContext, /* Part of the MQTT packet has been read before calling this function. */ lastDataRecvTimeMs = getTimeStampMs(); - while( ( bytesRemaining > 0U ) && ( receiveError == false ) ) + while ((bytesRemaining > 0U) && (receiveError == false)) { - bytesRecvd = recvFunc( pContext->transportInterface.pNetworkContext, - pIndex, - bytesRemaining ); + bytesRecvd = recvFunc(pContext->transportInterface.pNetworkContext, + pIndex, + bytesRemaining); - if( bytesRecvd < 0 ) + if (bytesRecvd < 0) { - LogError( ( "Network error while receiving packet: ReturnCode=%ld.", - ( long int ) bytesRecvd ) ); + LogError(("Network error while receiving packet: ReturnCode=%ld.", + (long int)bytesRecvd)); totalBytesRecvd = bytesRecvd; receiveError = true; } - else if( bytesRecvd > 0 ) + else if (bytesRecvd > 0) { /* Reset the starting time as we have received some data from the network. */ lastDataRecvTimeMs = getTimeStampMs(); @@ -1079,26 +1146,26 @@ static int32_t recvExact( const MQTTContext_t * pContext, * overflow in converting bytesRemaining from unsigned to signed, * this assert must exist after the check for bytesRecvd being * negative. */ - assert( ( size_t ) bytesRecvd <= bytesRemaining ); + assert((size_t)bytesRecvd <= bytesRemaining); - bytesRemaining -= ( size_t ) bytesRecvd; - totalBytesRecvd += ( int32_t ) bytesRecvd; + bytesRemaining -= (size_t)bytesRecvd; + totalBytesRecvd += (int32_t)bytesRecvd; /* Increment the index. */ - pIndex = &pIndex[ bytesRecvd ]; - LogDebug( ( "BytesReceived=%ld, BytesRemaining=%lu, TotalBytesReceived=%ld.", - ( long int ) bytesRecvd, - ( unsigned long ) bytesRemaining, - ( long int ) totalBytesRecvd ) ); + pIndex = &pIndex[bytesRecvd]; + LogDebug(("BytesReceived=%ld, BytesRemaining=%lu, TotalBytesReceived=%ld.", + (long int)bytesRecvd, + (unsigned long)bytesRemaining, + (long int)totalBytesRecvd)); } else { /* No bytes were read from the network. */ - timeSinceLastRecvMs = calculateElapsedTime( getTimeStampMs(), lastDataRecvTimeMs ); + timeSinceLastRecvMs = calculateElapsedTime(getTimeStampMs(), lastDataRecvTimeMs); /* Check for timeout if we have been waiting to receive any byte on the network. */ - if( timeSinceLastRecvMs >= MQTT_RECV_POLLING_TIMEOUT_MS ) + if (timeSinceLastRecvMs >= MQTT_RECV_POLLING_TIMEOUT_MS) { - LogError( ( "Unable to receive packet: Timed out in transport recv." ) ); + LogError(("Unable to receive packet: Timed out in transport recv.")); receiveError = true; } } @@ -1109,9 +1176,9 @@ static int32_t recvExact( const MQTTContext_t * pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t discardPacket( const MQTTContext_t * pContext, - size_t remainingLength, - uint32_t timeoutMs ) +static MQTTStatus_t discardPacket(const MQTTContext_t* pContext, + size_t remainingLength, + uint32_t timeoutMs) { MQTTStatus_t status = MQTTRecvFailed; int32_t bytesReceived = 0; @@ -1122,50 +1189,50 @@ static MQTTStatus_t discardPacket( const MQTTContext_t * pContext, MQTTGetCurrentTimeFunc_t getTimeStampMs = NULL; bool receiveError = false; - assert( pContext != NULL ); - assert( pContext->getTime != NULL ); + assert(pContext != NULL); + assert(pContext->getTime != NULL); bytesToReceive = pContext->networkBuffer.size; getTimeStampMs = pContext->getTime; entryTimeMs = getTimeStampMs(); - while( ( totalBytesReceived < remainingLength ) && ( receiveError == false ) ) + while ((totalBytesReceived < remainingLength) && (receiveError == false)) { - if( ( remainingLength - totalBytesReceived ) < bytesToReceive ) + if ((remainingLength - totalBytesReceived) < bytesToReceive) { bytesToReceive = remainingLength - totalBytesReceived; } - bytesReceived = recvExact( pContext, bytesToReceive ); + bytesReceived = recvExact(pContext, bytesToReceive); - if( bytesReceived != ( int32_t ) bytesToReceive ) + if (bytesReceived != (int32_t)bytesToReceive) { - LogError( ( "Receive error while discarding packet." - "ReceivedBytes=%ld, ExpectedBytes=%lu.", - ( long int ) bytesReceived, - ( unsigned long ) bytesToReceive ) ); + LogError(("Receive error while discarding packet." + "ReceivedBytes=%ld, ExpectedBytes=%lu.", + (long int)bytesReceived, + (unsigned long)bytesToReceive)); receiveError = true; } else { - totalBytesReceived += ( uint32_t ) bytesReceived; + totalBytesReceived += (uint32_t)bytesReceived; - elapsedTimeMs = calculateElapsedTime( getTimeStampMs(), entryTimeMs ); + elapsedTimeMs = calculateElapsedTime(getTimeStampMs(), entryTimeMs); /* Check for timeout. */ - if( elapsedTimeMs >= timeoutMs ) + if (elapsedTimeMs >= timeoutMs) { - LogError( ( "Time expired while discarding packet." ) ); + LogError(("Time expired while discarding packet.")); receiveError = true; } } } - if( totalBytesReceived == remainingLength ) + if (totalBytesReceived == remainingLength) { - LogError( ( "Dumped packet. DumpedBytes=%lu.", - ( unsigned long ) totalBytesReceived ) ); + LogError(("Dumped packet. DumpedBytes=%lu.", + (unsigned long)totalBytesReceived)); /* Packet dumped, so no data is available. */ status = MQTTNoDataAvailable; } @@ -1175,8 +1242,8 @@ static MQTTStatus_t discardPacket( const MQTTContext_t * pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t discardStoredPacket( MQTTContext_t * pContext, - const MQTTPacketInfo_t * pPacketInfo ) +static MQTTStatus_t discardStoredPacket(MQTTContext_t* pContext, + const MQTTPacketInfo_t* pPacketInfo) { MQTTStatus_t status = MQTTRecvFailed; int32_t bytesReceived = 0; @@ -1186,14 +1253,14 @@ static MQTTStatus_t discardStoredPacket( MQTTContext_t * pContext, size_t mqttPacketSize = 0; size_t remainingLength; - assert( pContext != NULL ); - assert( pPacketInfo != NULL ); + assert(pContext != NULL); + assert(pPacketInfo != NULL); mqttPacketSize = pPacketInfo->remainingLength + pPacketInfo->headerLength; /* Assert that the packet being discarded is bigger than the * receive buffer. */ - assert( mqttPacketSize > pContext->networkBuffer.size ); + assert(mqttPacketSize > pContext->networkBuffer.size); /* Discard these many bytes at a time. */ bytesToReceive = pContext->networkBuffer.size; @@ -1201,41 +1268,41 @@ static MQTTStatus_t discardStoredPacket( MQTTContext_t * pContext, /* Number of bytes depicted by 'index' have already been received. */ remainingLength = mqttPacketSize - pContext->index; - while( ( totalBytesReceived < remainingLength ) && ( receiveError == false ) ) + while ((totalBytesReceived < remainingLength) && (receiveError == false)) { - if( ( remainingLength - totalBytesReceived ) < bytesToReceive ) + if ((remainingLength - totalBytesReceived) < bytesToReceive) { bytesToReceive = remainingLength - totalBytesReceived; } - bytesReceived = recvExact( pContext, bytesToReceive ); + bytesReceived = recvExact(pContext, bytesToReceive); - if( bytesReceived != ( int32_t ) bytesToReceive ) + if (bytesReceived != (int32_t)bytesToReceive) { - LogError( ( "Receive error while discarding packet." - "ReceivedBytes=%ld, ExpectedBytes=%lu.", - ( long int ) bytesReceived, - ( unsigned long ) bytesToReceive ) ); + LogError(("Receive error while discarding packet." + "ReceivedBytes=%ld, ExpectedBytes=%lu.", + (long int)bytesReceived, + (unsigned long)bytesToReceive)); receiveError = true; } else { - totalBytesReceived += ( uint32_t ) bytesReceived; + totalBytesReceived += (uint32_t)bytesReceived; } } - if( totalBytesReceived == remainingLength ) + if (totalBytesReceived == remainingLength) { - LogError( ( "Dumped packet. DumpedBytes=%lu.", - ( unsigned long ) totalBytesReceived ) ); + LogError(("Dumped packet. DumpedBytes=%lu.", + (unsigned long)totalBytesReceived)); /* Packet dumped, so no data is available. */ status = MQTTNoDataAvailable; } /* Clear the buffer */ - ( void ) memset( pContext->networkBuffer.pBuffer, - 0, - pContext->networkBuffer.size ); + (void)memset(pContext->networkBuffer.pBuffer, + 0, + pContext->networkBuffer.size); /* Reset the index. */ pContext->index = 0; @@ -1245,45 +1312,45 @@ static MQTTStatus_t discardStoredPacket( MQTTContext_t * pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t receivePacket( const MQTTContext_t * pContext, - MQTTPacketInfo_t incomingPacket, - uint32_t remainingTimeMs ) +static MQTTStatus_t receivePacket(const MQTTContext_t* pContext, + MQTTPacketInfo_t incomingPacket, + uint32_t remainingTimeMs) { MQTTStatus_t status = MQTTSuccess; int32_t bytesReceived = 0; size_t bytesToReceive = 0U; - assert( pContext != NULL ); - assert( pContext->networkBuffer.pBuffer != NULL ); + assert(pContext != NULL); + assert(pContext->networkBuffer.pBuffer != NULL); - if( incomingPacket.remainingLength > pContext->networkBuffer.size ) + if (incomingPacket.remainingLength > pContext->networkBuffer.size) { - LogError( ( "Incoming packet will be dumped: " - "Packet length exceeds network buffer size." - "PacketSize=%lu, NetworkBufferSize=%lu.", - ( unsigned long ) incomingPacket.remainingLength, - ( unsigned long ) pContext->networkBuffer.size ) ); - status = discardPacket( pContext, - incomingPacket.remainingLength, - remainingTimeMs ); + LogError(("Incoming packet will be dumped: " + "Packet length exceeds network buffer size." + "PacketSize=%lu, NetworkBufferSize=%lu.", + (unsigned long)incomingPacket.remainingLength, + (unsigned long)pContext->networkBuffer.size)); + status = discardPacket(pContext, + incomingPacket.remainingLength, + remainingTimeMs); } else { bytesToReceive = incomingPacket.remainingLength; - bytesReceived = recvExact( pContext, bytesToReceive ); + bytesReceived = recvExact(pContext, bytesToReceive); - if( bytesReceived == ( int32_t ) bytesToReceive ) + if (bytesReceived == (int32_t)bytesToReceive) { /* Receive successful, bytesReceived == bytesToReceive. */ - LogDebug( ( "Packet received. ReceivedBytes=%ld.", - ( long int ) bytesReceived ) ); + LogDebug(("Packet received. ReceivedBytes=%ld.", + (long int)bytesReceived)); } else { - LogError( ( "Packet reception failed. ReceivedBytes=%ld, " - "ExpectedBytes=%lu.", - ( long int ) bytesReceived, - ( unsigned long ) bytesToReceive ) ); + LogError(("Packet reception failed. ReceivedBytes=%ld, " + "ExpectedBytes=%lu.", + (long int)bytesReceived, + (unsigned long)bytesToReceive)); status = MQTTRecvFailed; } } @@ -1293,38 +1360,38 @@ static MQTTStatus_t receivePacket( const MQTTContext_t * pContext, /*-----------------------------------------------------------*/ -static uint8_t getAckTypeToSend( MQTTPublishState_t state ) +static uint8_t getAckTypeToSend(MQTTPublishState_t state) { uint8_t packetTypeByte = 0U; - switch( state ) + switch (state) { - case MQTTPubAckSend: - packetTypeByte = MQTT_PACKET_TYPE_PUBACK; - break; + case MQTTPubAckSend: + packetTypeByte = MQTT_PACKET_TYPE_PUBACK; + break; - case MQTTPubRecSend: - packetTypeByte = MQTT_PACKET_TYPE_PUBREC; - break; + case MQTTPubRecSend: + packetTypeByte = MQTT_PACKET_TYPE_PUBREC; + break; - case MQTTPubRelSend: - packetTypeByte = MQTT_PACKET_TYPE_PUBREL; - break; + case MQTTPubRelSend: + packetTypeByte = MQTT_PACKET_TYPE_PUBREL; + break; - case MQTTPubCompSend: - packetTypeByte = MQTT_PACKET_TYPE_PUBCOMP; - break; + case MQTTPubCompSend: + packetTypeByte = MQTT_PACKET_TYPE_PUBCOMP; + break; - case MQTTPubAckPending: - case MQTTPubCompPending: - case MQTTPubRecPending: - case MQTTPubRelPending: - case MQTTPublishDone: - case MQTTPublishSend: - case MQTTStateNull: - default: - /* Take no action for states that do not require sending an ack. */ - break; + case MQTTPubAckPending: + case MQTTPubCompPending: + case MQTTPubRecPending: + case MQTTPubRelPending: + case MQTTPublishDone: + case MQTTPublishSend: + case MQTTStateNull: + default: + /* Take no action for states that do not require sending an ack. */ + break; } return packetTypeByte; @@ -1332,9 +1399,9 @@ static uint8_t getAckTypeToSend( MQTTPublishState_t state ) /*-----------------------------------------------------------*/ -static MQTTStatus_t sendPublishAcks( MQTTContext_t * pContext, - uint16_t packetId, - MQTTPublishState_t publishState ) +static MQTTStatus_t sendPublishAcks(MQTTContext_t* pContext, + uint16_t packetId, + MQTTPublishState_t publishState) { MQTTStatus_t status = MQTTSuccess; MQTTPublishState_t newState = MQTTStateNull; @@ -1342,62 +1409,62 @@ static MQTTStatus_t sendPublishAcks( MQTTContext_t * pContext, uint8_t packetTypeByte = 0U; MQTTPubAckType_t packetType; MQTTFixedBuffer_t localBuffer; - uint8_t pubAckPacket[ MQTT_PUBLISH_ACK_PACKET_SIZE ]; + uint8_t pubAckPacket[MQTT_PUBLISH_ACK_PACKET_SIZE]; localBuffer.pBuffer = pubAckPacket; localBuffer.size = MQTT_PUBLISH_ACK_PACKET_SIZE; - assert( pContext != NULL ); + assert(pContext != NULL); - packetTypeByte = getAckTypeToSend( publishState ); + packetTypeByte = getAckTypeToSend(publishState); - if( packetTypeByte != 0U ) + if (packetTypeByte != 0U) { - packetType = getAckFromPacketType( packetTypeByte ); + packetType = getAckFromPacketType(packetTypeByte); - status = MQTT_SerializeAck( &localBuffer, - packetTypeByte, - packetId ); + status = MQTT_SerializeAck(&localBuffer, + packetTypeByte, + packetId); - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { - MQTT_PRE_SEND_HOOK( pContext ); + MQTT_PRE_SEND_HOOK(pContext); /* Here, we are not using the vector approach for efficiency. There is just one buffer * to be sent which can be achieved with a normal send call. */ - sendResult = sendBuffer( pContext, - localBuffer.pBuffer, - MQTT_PUBLISH_ACK_PACKET_SIZE ); + sendResult = sendBuffer(pContext, + localBuffer.pBuffer, + MQTT_PUBLISH_ACK_PACKET_SIZE); - MQTT_POST_SEND_HOOK( pContext ); + MQTT_POST_SEND_HOOK(pContext); } - if( sendResult == ( int32_t ) MQTT_PUBLISH_ACK_PACKET_SIZE ) + if (sendResult == (int32_t)MQTT_PUBLISH_ACK_PACKET_SIZE) { pContext->controlPacketSent = true; - MQTT_PRE_STATE_UPDATE_HOOK( pContext ); + MQTT_PRE_STATE_UPDATE_HOOK(pContext); - status = MQTT_UpdateStateAck( pContext, - packetId, - packetType, - MQTT_SEND, - &newState ); + status = MQTT_UpdateStateAck(pContext, + packetId, + packetType, + MQTT_SEND, + &newState); - MQTT_POST_STATE_UPDATE_HOOK( pContext ); + MQTT_POST_STATE_UPDATE_HOOK(pContext); - if( status != MQTTSuccess ) + if (status != MQTTSuccess) { - LogError( ( "Failed to update state of publish %hu.", - ( unsigned short ) packetId ) ); + LogError(("Failed to update state of publish %hu.", + (unsigned short)packetId)); } } else { - LogError( ( "Failed to send ACK packet: PacketType=%02x, SentBytes=%ld, " - "PacketSize=%lu.", - ( unsigned int ) packetTypeByte, ( long int ) sendResult, - MQTT_PUBLISH_ACK_PACKET_SIZE ) ); + LogError(("Failed to send ACK packet: PacketType=%02x, SentBytes=%ld, " + "PacketSize=%lu.", + (unsigned int)packetTypeByte, (long int)sendResult, + MQTT_PUBLISH_ACK_PACKET_SIZE)); status = MQTTSendFailed; } } @@ -1407,52 +1474,52 @@ static MQTTStatus_t sendPublishAcks( MQTTContext_t * pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t handleKeepAlive( MQTTContext_t * pContext ) +static MQTTStatus_t handleKeepAlive(MQTTContext_t* pContext) { MQTTStatus_t status = MQTTSuccess; uint32_t now = 0U; uint32_t packetTxTimeoutMs = 0U; uint32_t lastPacketTxTime = 0U; - assert( pContext != NULL ); - assert( pContext->getTime != NULL ); + assert(pContext != NULL); + assert(pContext->getTime != NULL); now = pContext->getTime(); - packetTxTimeoutMs = 1000U * ( uint32_t ) pContext->keepAliveIntervalSec; + packetTxTimeoutMs = 1000U * (uint32_t)pContext->keepAliveIntervalSec; - if( PACKET_TX_TIMEOUT_MS < packetTxTimeoutMs ) + if (PACKET_TX_TIMEOUT_MS < packetTxTimeoutMs) { packetTxTimeoutMs = PACKET_TX_TIMEOUT_MS; } /* If keep alive interval is 0, it is disabled. */ - if( pContext->waitingForPingResp == true ) + if (pContext->waitingForPingResp == true) { /* Has time expired? */ - if( calculateElapsedTime( now, pContext->pingReqSendTimeMs ) > - MQTT_PINGRESP_TIMEOUT_MS ) + if (calculateElapsedTime(now, pContext->pingReqSendTimeMs) > + MQTT_PINGRESP_TIMEOUT_MS) { status = MQTTKeepAliveTimeout; } } else { - MQTT_PRE_STATE_UPDATE_HOOK( pContext ); + MQTT_PRE_STATE_UPDATE_HOOK(pContext); lastPacketTxTime = pContext->lastPacketTxTime; - MQTT_POST_STATE_UPDATE_HOOK( pContext ); + MQTT_POST_STATE_UPDATE_HOOK(pContext); - if( ( packetTxTimeoutMs != 0U ) && ( calculateElapsedTime( now, lastPacketTxTime ) >= packetTxTimeoutMs ) ) + if ((packetTxTimeoutMs != 0U) && (calculateElapsedTime(now, lastPacketTxTime) >= packetTxTimeoutMs)) { - status = MQTT_Ping( pContext ); + status = MQTT_Ping(pContext); } else { - const uint32_t timeElapsed = calculateElapsedTime( now, pContext->lastPacketRxTime ); + const uint32_t timeElapsed = calculateElapsedTime(now, pContext->lastPacketRxTime); - if( ( timeElapsed != 0U ) && ( timeElapsed >= PACKET_RX_TIMEOUT_MS ) ) + if ((timeElapsed != 0U) && (timeElapsed >= PACKET_RX_TIMEOUT_MS)) { - status = MQTT_Ping( pContext ); + status = MQTT_Ping(pContext); } } } @@ -1462,8 +1529,8 @@ static MQTTStatus_t handleKeepAlive( MQTTContext_t * pContext ) /*-----------------------------------------------------------*/ -static MQTTStatus_t handleIncomingPublish( MQTTContext_t * pContext, - MQTTPacketInfo_t * pIncomingPacket ) +static MQTTStatus_t handleIncomingPublish(MQTTContext_t* pContext, + MQTTPacketInfo_t* pIncomingPacket) { MQTTStatus_t status = MQTTBadParameter; MQTTPublishState_t publishRecordState = MQTTStateNull; @@ -1472,41 +1539,41 @@ static MQTTStatus_t handleIncomingPublish( MQTTContext_t * pContext, MQTTDeserializedInfo_t deserializedInfo; bool duplicatePublish = false; - assert( pContext != NULL ); - assert( pIncomingPacket != NULL ); - assert( pContext->appCallback != NULL ); + assert(pContext != NULL); + assert(pIncomingPacket != NULL); + assert(pContext->appCallback != NULL); - status = MQTT_DeserializePublish( pIncomingPacket, &packetIdentifier, &publishInfo ); - LogInfo( ( "De-serialized incoming PUBLISH packet: DeserializerResult=%s.", - MQTT_Status_strerror( status ) ) ); + status = MQTT_DeserializePublish(pIncomingPacket, &packetIdentifier, &publishInfo); + LogInfo(("De-serialized incoming PUBLISH packet: DeserializerResult=%s.", + MQTT_Status_strerror(status))); - if( ( status == MQTTSuccess ) && - ( pContext->incomingPublishRecords == NULL ) && - ( publishInfo.qos > MQTTQoS0 ) ) + if ((status == MQTTSuccess) && + (pContext->incomingPublishRecords == NULL) && + (publishInfo.qos > MQTTQoS0)) { - LogError( ( "Incoming publish has QoS > MQTTQoS0 but incoming " - "publish records have not been initialized. Dropping the " - "incoming publish. Please call MQTT_InitStatefulQoS to enable " - "use of QoS1 and QoS2 publishes." ) ); + LogError(("Incoming publish has QoS > MQTTQoS0 but incoming " + "publish records have not been initialized. Dropping the " + "incoming publish. Please call MQTT_InitStatefulQoS to enable " + "use of QoS1 and QoS2 publishes.")); status = MQTTRecvFailed; } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { - MQTT_PRE_STATE_UPDATE_HOOK( pContext ); + MQTT_PRE_STATE_UPDATE_HOOK(pContext); - status = MQTT_UpdateStatePublish( pContext, - packetIdentifier, - MQTT_RECEIVE, - publishInfo.qos, - &publishRecordState ); + status = MQTT_UpdateStatePublish(pContext, + packetIdentifier, + MQTT_RECEIVE, + publishInfo.qos, + &publishRecordState); - MQTT_POST_STATE_UPDATE_HOOK( pContext ); + MQTT_POST_STATE_UPDATE_HOOK(pContext); - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { - LogInfo( ( "State record updated. New state=%s.", - MQTT_State_strerror( publishRecordState ) ) ); + LogInfo(("State record updated. New state=%s.", + MQTT_State_strerror(publishRecordState))); } /* Different cases in which an incoming publish with duplicate flag is @@ -1535,34 +1602,34 @@ static MQTTStatus_t handleIncomingPublish( MQTTContext_t * pContext, * state engine. This will be handled by ignoring the * #MQTTStateCollision status from the state engine. The publish * data is not passed to the application. */ - else if( status == MQTTStateCollision ) + else if (status == MQTTStateCollision) { status = MQTTSuccess; duplicatePublish = true; /* Calculate the state for the ack packet that needs to be sent out * for the duplicate incoming publish. */ - publishRecordState = MQTT_CalculateStatePublish( MQTT_RECEIVE, - publishInfo.qos ); + publishRecordState = MQTT_CalculateStatePublish(MQTT_RECEIVE, + publishInfo.qos); - LogDebug( ( "Incoming publish packet with packet id %hu already exists.", - ( unsigned short ) packetIdentifier ) ); + LogDebug(("Incoming publish packet with packet id %hu already exists.", + (unsigned short)packetIdentifier)); - if( publishInfo.dup == false ) + if (publishInfo.dup == false) { - LogError( ( "DUP flag is 0 for duplicate packet (MQTT-3.3.1.-1)." ) ); + LogError(("DUP flag is 0 for duplicate packet (MQTT-3.3.1.-1).")); } } else { - LogError( ( "Error in updating publish state for incoming publish with packet id %hu." - " Error is %s", - ( unsigned short ) packetIdentifier, - MQTT_Status_strerror( status ) ) ); + LogError(("Error in updating publish state for incoming publish with packet id %hu." + " Error is %s", + (unsigned short)packetIdentifier, + MQTT_Status_strerror(status))); } } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Set fields of deserialized struct. */ deserializedInfo.packetIdentifier = packetIdentifier; @@ -1573,17 +1640,17 @@ static MQTTStatus_t handleIncomingPublish( MQTTContext_t * pContext, * before sending acks. * Application callback will be invoked for all publishes, except for * duplicate incoming publishes. */ - if( duplicatePublish == false ) + if (duplicatePublish == false) { - pContext->appCallback( pContext, - pIncomingPacket, - &deserializedInfo ); + pContext->appCallback(pContext, + pIncomingPacket, + &deserializedInfo); } /* Send PUBACK or PUBREC if necessary. */ - status = sendPublishAcks( pContext, - packetIdentifier, - publishRecordState ); + status = sendPublishAcks(pContext, + packetIdentifier, + publishRecordState); } return status; @@ -1591,8 +1658,8 @@ static MQTTStatus_t handleIncomingPublish( MQTTContext_t * pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t handlePublishAcks( MQTTContext_t * pContext, - MQTTPacketInfo_t * pIncomingPacket ) +static MQTTStatus_t handlePublishAcks(MQTTContext_t* pContext, + MQTTPacketInfo_t* pIncomingPacket) { MQTTStatus_t status = MQTTBadResponse; MQTTPublishState_t publishRecordState = MQTTStateNull; @@ -1601,44 +1668,44 @@ static MQTTStatus_t handlePublishAcks( MQTTContext_t * pContext, MQTTEventCallback_t appCallback; MQTTDeserializedInfo_t deserializedInfo; - assert( pContext != NULL ); - assert( pIncomingPacket != NULL ); - assert( pContext->appCallback != NULL ); + assert(pContext != NULL); + assert(pIncomingPacket != NULL); + assert(pContext->appCallback != NULL); appCallback = pContext->appCallback; - ackType = getAckFromPacketType( pIncomingPacket->type ); - status = MQTT_DeserializeAck( pIncomingPacket, &packetIdentifier, NULL ); - LogInfo( ( "Ack packet deserialized with result: %s.", - MQTT_Status_strerror( status ) ) ); + ackType = getAckFromPacketType(pIncomingPacket->type); + status = MQTT_DeserializeAck(pIncomingPacket, &packetIdentifier, NULL); + LogInfo(("Ack packet deserialized with result: %s.", + MQTT_Status_strerror(status))); - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { - MQTT_PRE_STATE_UPDATE_HOOK( pContext ); + MQTT_PRE_STATE_UPDATE_HOOK(pContext); - status = MQTT_UpdateStateAck( pContext, - packetIdentifier, - ackType, - MQTT_RECEIVE, - &publishRecordState ); + status = MQTT_UpdateStateAck(pContext, + packetIdentifier, + ackType, + MQTT_RECEIVE, + &publishRecordState); - MQTT_POST_STATE_UPDATE_HOOK( pContext ); + MQTT_POST_STATE_UPDATE_HOOK(pContext); - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { - LogInfo( ( "State record updated. New state=%s.", - MQTT_State_strerror( publishRecordState ) ) ); + LogInfo(("State record updated. New state=%s.", + MQTT_State_strerror(publishRecordState))); } else { - LogError( ( "Updating the state engine for packet id %hu" - " failed with error %s.", - ( unsigned short ) packetIdentifier, - MQTT_Status_strerror( status ) ) ); + LogError(("Updating the state engine for packet id %hu" + " failed with error %s.", + (unsigned short)packetIdentifier, + MQTT_Status_strerror(status))); } } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Set fields of deserialized struct. */ deserializedInfo.packetIdentifier = packetIdentifier; @@ -1647,12 +1714,12 @@ static MQTTStatus_t handlePublishAcks( MQTTContext_t * pContext, /* Invoke application callback to hand the buffer over to application * before sending acks. */ - appCallback( pContext, pIncomingPacket, &deserializedInfo ); + appCallback(pContext, pIncomingPacket, &deserializedInfo); /* Send PUBREL or PUBCOMP if necessary. */ - status = sendPublishAcks( pContext, - packetIdentifier, - publishRecordState ); + status = sendPublishAcks(pContext, + packetIdentifier, + publishRecordState); } return status; @@ -1660,9 +1727,9 @@ static MQTTStatus_t handlePublishAcks( MQTTContext_t * pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t handleIncomingAck( MQTTContext_t * pContext, - MQTTPacketInfo_t * pIncomingPacket, - bool manageKeepAlive ) +static MQTTStatus_t handleIncomingAck(MQTTContext_t* pContext, + MQTTPacketInfo_t* pIncomingPacket, + bool manageKeepAlive) { MQTTStatus_t status = MQTTBadResponse; uint16_t packetIdentifier = MQTT_PACKET_ID_INVALID; @@ -1676,60 +1743,60 @@ static MQTTStatus_t handleIncomingAck( MQTTContext_t * pContext, bool invokeAppCallback = false; MQTTEventCallback_t appCallback = NULL; - assert( pContext != NULL ); - assert( pIncomingPacket != NULL ); - assert( pContext->appCallback != NULL ); + assert(pContext != NULL); + assert(pIncomingPacket != NULL); + assert(pContext->appCallback != NULL); appCallback = pContext->appCallback; - LogDebug( ( "Received packet of type %02x.", - ( unsigned int ) pIncomingPacket->type ) ); + LogDebug(("Received packet of type %02x.", + (unsigned int)pIncomingPacket->type)); - switch( pIncomingPacket->type ) + switch (pIncomingPacket->type) { - case MQTT_PACKET_TYPE_PUBACK: - case MQTT_PACKET_TYPE_PUBREC: - case MQTT_PACKET_TYPE_PUBREL: - case MQTT_PACKET_TYPE_PUBCOMP: + case MQTT_PACKET_TYPE_PUBACK: + case MQTT_PACKET_TYPE_PUBREC: + case MQTT_PACKET_TYPE_PUBREL: + case MQTT_PACKET_TYPE_PUBCOMP: - /* Handle all the publish acks. The app callback is invoked here. */ - status = handlePublishAcks( pContext, pIncomingPacket ); + /* Handle all the publish acks. The app callback is invoked here. */ + status = handlePublishAcks(pContext, pIncomingPacket); - break; + break; - case MQTT_PACKET_TYPE_PINGRESP: - status = MQTT_DeserializeAck( pIncomingPacket, &packetIdentifier, NULL ); - invokeAppCallback = ( status == MQTTSuccess ) && !manageKeepAlive; + case MQTT_PACKET_TYPE_PINGRESP: + status = MQTT_DeserializeAck(pIncomingPacket, &packetIdentifier, NULL); + invokeAppCallback = (status == MQTTSuccess) && !manageKeepAlive; - if( ( status == MQTTSuccess ) && ( manageKeepAlive == true ) ) - { - pContext->waitingForPingResp = false; - } + if ((status == MQTTSuccess) && (manageKeepAlive == true)) + { + pContext->waitingForPingResp = false; + } - break; + break; - case MQTT_PACKET_TYPE_SUBACK: - case MQTT_PACKET_TYPE_UNSUBACK: - /* Deserialize and give these to the app provided callback. */ - status = MQTT_DeserializeAck( pIncomingPacket, &packetIdentifier, NULL ); - invokeAppCallback = ( status == MQTTSuccess ) || ( status == MQTTServerRefused ); - break; + case MQTT_PACKET_TYPE_SUBACK: + case MQTT_PACKET_TYPE_UNSUBACK: + /* Deserialize and give these to the app provided callback. */ + status = MQTT_DeserializeAck(pIncomingPacket, &packetIdentifier, NULL); + invokeAppCallback = (status == MQTTSuccess) || (status == MQTTServerRefused); + break; - default: - /* Bad response from the server. */ - LogError( ( "Unexpected packet type from server: PacketType=%02x.", - ( unsigned int ) pIncomingPacket->type ) ); - status = MQTTBadResponse; - break; + default: + /* Bad response from the server. */ + LogError(("Unexpected packet type from server: PacketType=%02x.", + (unsigned int)pIncomingPacket->type)); + status = MQTTBadResponse; + break; } - if( invokeAppCallback == true ) + if (invokeAppCallback == true) { /* Set fields of deserialized struct. */ deserializedInfo.packetIdentifier = packetIdentifier; deserializedInfo.deserializationResult = status; deserializedInfo.pPublishInfo = NULL; - appCallback( pContext, pIncomingPacket, &deserializedInfo ); + appCallback(pContext, pIncomingPacket, &deserializedInfo); /* In case a SUBACK indicated refusal, reset the status to continue the loop. */ status = MQTTSuccess; } @@ -1738,28 +1805,28 @@ static MQTTStatus_t handleIncomingAck( MQTTContext_t * pContext, } /*-----------------------------------------------------------*/ -static MQTTStatus_t receiveSingleIteration( MQTTContext_t * pContext, - bool manageKeepAlive ) +static MQTTStatus_t receiveSingleIteration(MQTTContext_t* pContext, + bool manageKeepAlive) { MQTTStatus_t status = MQTTSuccess; MQTTPacketInfo_t incomingPacket = { 0 }; int32_t recvBytes; size_t totalMQTTPacketLength = 0; - assert( pContext != NULL ); - assert( pContext->networkBuffer.pBuffer != NULL ); + assert(pContext != NULL); + assert(pContext->networkBuffer.pBuffer != NULL); /* Read as many bytes as possible into the network buffer. */ - recvBytes = pContext->transportInterface.recv( pContext->transportInterface.pNetworkContext, - &( pContext->networkBuffer.pBuffer[ pContext->index ] ), - pContext->networkBuffer.size - pContext->index ); + recvBytes = pContext->transportInterface.recv(pContext->transportInterface.pNetworkContext, + &(pContext->networkBuffer.pBuffer[pContext->index]), + pContext->networkBuffer.size - pContext->index); - if( recvBytes < 0 ) + if (recvBytes < 0) { /* The receive function has failed. Bubble up the error up to the user. */ status = MQTTRecvFailed; } - else if( ( recvBytes == 0 ) && ( pContext->index == 0U ) ) + else if ((recvBytes == 0) && (pContext->index == 0U)) { /* No more bytes available since the last read and neither is anything in * the buffer. */ @@ -1771,62 +1838,62 @@ static MQTTStatus_t receiveSingleIteration( MQTTContext_t * pContext, else { /* Update the number of bytes in the MQTT fixed buffer. */ - pContext->index += ( size_t ) recvBytes; + pContext->index += (size_t)recvBytes; - status = MQTT_ProcessIncomingPacketTypeAndLength( pContext->networkBuffer.pBuffer, - &( pContext->index ), - &incomingPacket ); + status = MQTT_ProcessIncomingPacketTypeAndLength(pContext->networkBuffer.pBuffer, + &(pContext->index), + &incomingPacket); totalMQTTPacketLength = incomingPacket.remainingLength + incomingPacket.headerLength; } /* No data was received, check for keep alive timeout. */ - if( recvBytes == 0 ) + if (recvBytes == 0) { - if( manageKeepAlive == true ) + if (manageKeepAlive == true) { /* Keep the copy of the status to be reset later. */ MQTTStatus_t statusCopy = status; /* Assign status so an error can be bubbled up to application, * but reset it on success. */ - status = handleKeepAlive( pContext ); + status = handleKeepAlive(pContext); - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Reset the status. */ status = statusCopy; } else { - LogError( ( "Handling of keep alive failed. Status=%s", - MQTT_Status_strerror( status ) ) ); + LogError(("Handling of keep alive failed. Status=%s", + MQTT_Status_strerror(status))); } } } /* Check whether there is data available before processing the packet further. */ - if( ( status == MQTTNeedMoreBytes ) || ( status == MQTTNoDataAvailable ) ) + if ((status == MQTTNeedMoreBytes) || (status == MQTTNoDataAvailable)) { /* Do nothing as there is nothing to be processed right now. The proper * error code will be bubbled up to the user. */ } /* Any other error code. */ - else if( status != MQTTSuccess ) + else if (status != MQTTSuccess) { - LogError( ( "Call to receiveSingleIteration failed. Status=%s", - MQTT_Status_strerror( status ) ) ); + LogError(("Call to receiveSingleIteration failed. Status=%s", + MQTT_Status_strerror(status))); } /* If the MQTT Packet size is bigger than the buffer itself. */ - else if( totalMQTTPacketLength > pContext->networkBuffer.size ) + else if (totalMQTTPacketLength > pContext->networkBuffer.size) { /* Discard the packet from the receive buffer and drain the pending * data from the socket buffer. */ - status = discardStoredPacket( pContext, - &incomingPacket ); + status = discardStoredPacket(pContext, + &incomingPacket); } /* If the total packet is of more length than the bytes we have available. */ - else if( totalMQTTPacketLength > pContext->index ) + else if (totalMQTTPacketLength > pContext->index) { status = MQTTNeedMoreBytes; } @@ -1836,36 +1903,36 @@ static MQTTStatus_t receiveSingleIteration( MQTTContext_t * pContext, } /* Handle received packet. If incomplete data was read then this will not execute. */ - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { - incomingPacket.pRemainingData = &pContext->networkBuffer.pBuffer[ incomingPacket.headerLength ]; + incomingPacket.pRemainingData = &pContext->networkBuffer.pBuffer[incomingPacket.headerLength]; /* PUBLISH packets allow flags in the lower four bits. For other * packet types, they are reserved. */ - if( ( incomingPacket.type & 0xF0U ) == MQTT_PACKET_TYPE_PUBLISH ) + if ((incomingPacket.type & 0xF0U) == MQTT_PACKET_TYPE_PUBLISH) { - status = handleIncomingPublish( pContext, &incomingPacket ); + status = handleIncomingPublish(pContext, &incomingPacket); } else { - status = handleIncomingAck( pContext, &incomingPacket, manageKeepAlive ); + status = handleIncomingAck(pContext, &incomingPacket, manageKeepAlive); } /* Update the index to reflect the remaining bytes in the buffer. */ pContext->index -= totalMQTTPacketLength; /* Move the remaining bytes to the front of the buffer. */ - ( void ) memmove( pContext->networkBuffer.pBuffer, - &( pContext->networkBuffer.pBuffer[ totalMQTTPacketLength ] ), - pContext->index ); + (void)memmove(pContext->networkBuffer.pBuffer, + &(pContext->networkBuffer.pBuffer[totalMQTTPacketLength]), + pContext->index); - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { pContext->lastPacketRxTime = pContext->getTime(); } } - if( status == MQTTNoDataAvailable ) + if (status == MQTTNoDataAvailable) { /* No data available is not an error. Reset to MQTTSuccess so the * return code will indicate success. */ @@ -1877,45 +1944,45 @@ static MQTTStatus_t receiveSingleIteration( MQTTContext_t * pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t validateSubscribeUnsubscribeParams( const MQTTContext_t * pContext, - const MQTTSubscribeInfo_t * pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId ) +static MQTTStatus_t validateSubscribeUnsubscribeParams(const MQTTContext_t* pContext, + const MQTTSubscribeInfo_t* pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId) { MQTTStatus_t status = MQTTSuccess; size_t iterator; /* Validate all the parameters. */ - if( ( pContext == NULL ) || ( pSubscriptionList == NULL ) ) + if ((pContext == NULL) || (pSubscriptionList == NULL)) { - LogError( ( "Argument cannot be NULL: pContext=%p, " - "pSubscriptionList=%p.", - ( void * ) pContext, - ( void * ) pSubscriptionList ) ); + LogError(("Argument cannot be NULL: pContext=%p, " + "pSubscriptionList=%p.", + (void*)pContext, + (void*)pSubscriptionList)); status = MQTTBadParameter; } - else if( subscriptionCount == 0UL ) + else if (subscriptionCount == 0UL) { - LogError( ( "Subscription count is 0." ) ); + LogError(("Subscription count is 0.")); status = MQTTBadParameter; } - else if( packetId == 0U ) + else if (packetId == 0U) { - LogError( ( "Packet Id for subscription packet is 0." ) ); + LogError(("Packet Id for subscription packet is 0.")); status = MQTTBadParameter; } else { - if( pContext->incomingPublishRecords == NULL ) + if (pContext->incomingPublishRecords == NULL) { - for( iterator = 0; iterator < subscriptionCount; iterator++ ) + for (iterator = 0; iterator < subscriptionCount; iterator++) { - if( pSubscriptionList->qos > MQTTQoS0 ) + if (pSubscriptionList->qos > MQTTQoS0) { - LogError( ( "The incoming publish record list is not " - "initialised for QoS1/QoS2 records. Please call " - " MQTT_InitStatefulQoS to enable use of QoS1 and " - " QoS2 packets." ) ); + LogError(("The incoming publish record list is not " + "initialised for QoS1/QoS2 records. Please call " + " MQTT_InitStatefulQoS to enable use of QoS1 and " + " QoS2 packets.")); status = MQTTBadParameter; break; } @@ -1930,17 +1997,17 @@ static MQTTStatus_t validateSubscribeUnsubscribeParams( const MQTTContext_t * pC /*-----------------------------------------------------------*/ -static MQTTStatus_t sendSubscribeWithoutCopy( MQTTContext_t * pContext, - const MQTTSubscribeInfo_t * pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength ) +static MQTTStatus_t sendSubscribeWithoutCopy(MQTTContext_t* pContext, + const MQTTSubscribeInfo_t* pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength) { MQTTStatus_t status = MQTTSuccess; - uint8_t * pIndex; - TransportOutVector_t pIoVector[ MQTT_SUB_UNSUB_MAX_VECTORS ]; - TransportOutVector_t * pIterator; - uint8_t serializedTopicFieldLength[ MQTT_SUB_UNSUB_MAX_VECTORS ][ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ]; + uint8_t* pIndex; + TransportOutVector_t pIoVector[MQTT_SUB_UNSUB_MAX_VECTORS]; + TransportOutVector_t* pIterator; + uint8_t serializedTopicFieldLength[MQTT_SUB_UNSUB_MAX_VECTORS][CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES]; size_t totalPacketLength = 0U; size_t ioVectorLength = 0U; size_t subscriptionsSent = 0U; @@ -1952,18 +2019,18 @@ static MQTTStatus_t sendSubscribeWithoutCopy( MQTTContext_t * pContext, * MQTT Control Byte 0 + 1 = 1 * Remaining length (max) + 4 = 5 * Packet ID + 2 = 7 */ - uint8_t subscribeheader[ 7U ]; + uint8_t subscribeheader[7U]; /* The vector array should be at least three element long as the topic * string needs these many vector elements to be stored. */ - assert( MQTT_SUB_UNSUB_MAX_VECTORS >= CORE_MQTT_SUBSCRIBE_PER_TOPIC_VECTOR_LENGTH ); + assert(MQTT_SUB_UNSUB_MAX_VECTORS >= CORE_MQTT_SUBSCRIBE_PER_TOPIC_VECTOR_LENGTH); pIndex = subscribeheader; pIterator = pIoVector; - pIndex = MQTT_SerializeSubscribeHeader( remainingLength, - pIndex, - packetId ); + pIndex = MQTT_SerializeSubscribeHeader(remainingLength, + pIndex, + packetId); /* The header is to be sent first. */ pIterator->iov_base = subscribeheader; @@ -1971,33 +2038,33 @@ static MQTTStatus_t sendSubscribeWithoutCopy( MQTTContext_t * pContext, /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-108 */ /* coverity[misra_c_2012_rule_18_2_violation] */ /* coverity[misra_c_2012_rule_10_8_violation] */ - pIterator->iov_len = ( size_t ) ( pIndex - subscribeheader ); + pIterator->iov_len = (size_t)(pIndex - subscribeheader); totalPacketLength += pIterator->iov_len; pIterator++; ioVectorLength++; - while( ( status == MQTTSuccess ) && ( subscriptionsSent < subscriptionCount ) ) + while ((status == MQTTSuccess) && (subscriptionsSent < subscriptionCount)) { /* Reset the index for next iteration. */ topicFieldLengthIndex = 0; /* Check whether the subscription topic (with QoS) will fit in the * given vector. */ - while( ( ioVectorLength <= ( MQTT_SUB_UNSUB_MAX_VECTORS - CORE_MQTT_SUBSCRIBE_PER_TOPIC_VECTOR_LENGTH ) ) && - ( subscriptionsSent < subscriptionCount ) ) + while ((ioVectorLength <= (MQTT_SUB_UNSUB_MAX_VECTORS - CORE_MQTT_SUBSCRIBE_PER_TOPIC_VECTOR_LENGTH)) && + (subscriptionsSent < subscriptionCount)) { /* The topic filter and the filter length gets sent next. */ - vectorsAdded = addEncodedStringToVector( serializedTopicFieldLength[ topicFieldLengthIndex ], - pSubscriptionList[ subscriptionsSent ].pTopicFilter, - pSubscriptionList[ subscriptionsSent ].topicFilterLength, - pIterator, - &totalPacketLength ); + vectorsAdded = addEncodedStringToVector(serializedTopicFieldLength[topicFieldLengthIndex], + pSubscriptionList[subscriptionsSent].pTopicFilter, + pSubscriptionList[subscriptionsSent].topicFilterLength, + pIterator, + &totalPacketLength); /* Update the pointer after the above operation. */ - pIterator = &pIterator[ vectorsAdded ]; + pIterator = &pIterator[vectorsAdded]; /* Lastly, the QoS gets sent. */ - pIterator->iov_base = &( pSubscriptionList[ subscriptionsSent ].qos ); + pIterator->iov_base = &(pSubscriptionList[subscriptionsSent].qos); pIterator->iov_len = 1U; totalPacketLength += pIterator->iov_len; @@ -2014,9 +2081,9 @@ static MQTTStatus_t sendSubscribeWithoutCopy( MQTTContext_t * pContext, topicFieldLengthIndex++; } - if( sendMessageVector( pContext, - pIoVector, - ioVectorLength ) != ( int32_t ) totalPacketLength ) + if (sendMessageVector(pContext, + pIoVector, + ioVectorLength) != (int32_t)totalPacketLength) { status = MQTTSendFailed; } @@ -2034,17 +2101,17 @@ static MQTTStatus_t sendSubscribeWithoutCopy( MQTTContext_t * pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t sendUnsubscribeWithoutCopy( MQTTContext_t * pContext, - const MQTTSubscribeInfo_t * pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength ) +static MQTTStatus_t sendUnsubscribeWithoutCopy(MQTTContext_t* pContext, + const MQTTSubscribeInfo_t* pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength) { MQTTStatus_t status = MQTTSuccess; - uint8_t * pIndex; - TransportOutVector_t pIoVector[ MQTT_SUB_UNSUB_MAX_VECTORS ]; - TransportOutVector_t * pIterator; - uint8_t serializedTopicFieldLength[ MQTT_SUB_UNSUB_MAX_VECTORS ][ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ]; + uint8_t* pIndex; + TransportOutVector_t pIoVector[MQTT_SUB_UNSUB_MAX_VECTORS]; + TransportOutVector_t* pIterator; + uint8_t serializedTopicFieldLength[MQTT_SUB_UNSUB_MAX_VECTORS][CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES]; size_t totalPacketLength = 0U; size_t unsubscriptionsSent = 0U; size_t ioVectorLength = 0U; @@ -2056,18 +2123,18 @@ static MQTTStatus_t sendUnsubscribeWithoutCopy( MQTTContext_t * pContext, * MQTT Control Byte 0 + 1 = 1 * Remaining length (max) + 4 = 5 * Packet ID + 2 = 7 */ - uint8_t unsubscribeheader[ 7U ]; + uint8_t unsubscribeheader[7U]; /* The vector array should be at least three element long as the topic * string needs these many vector elements to be stored. */ - assert( MQTT_SUB_UNSUB_MAX_VECTORS >= CORE_MQTT_UNSUBSCRIBE_PER_TOPIC_VECTOR_LENGTH ); + assert(MQTT_SUB_UNSUB_MAX_VECTORS >= CORE_MQTT_UNSUBSCRIBE_PER_TOPIC_VECTOR_LENGTH); pIndex = unsubscribeheader; pIterator = pIoVector; - pIndex = MQTT_SerializeUnsubscribeHeader( remainingLength, - pIndex, - packetId ); + pIndex = MQTT_SerializeUnsubscribeHeader(remainingLength, + pIndex, + packetId); /* The header is to be sent first. */ pIterator->iov_base = unsubscribeheader; @@ -2075,29 +2142,29 @@ static MQTTStatus_t sendUnsubscribeWithoutCopy( MQTTContext_t * pContext, /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-108 */ /* coverity[misra_c_2012_rule_18_2_violation] */ /* coverity[misra_c_2012_rule_10_8_violation] */ - pIterator->iov_len = ( size_t ) ( pIndex - unsubscribeheader ); + pIterator->iov_len = (size_t)(pIndex - unsubscribeheader); totalPacketLength += pIterator->iov_len; pIterator++; ioVectorLength++; - while( ( status == MQTTSuccess ) && ( unsubscriptionsSent < subscriptionCount ) ) + while ((status == MQTTSuccess) && (unsubscriptionsSent < subscriptionCount)) { /* Reset the index for next iteration. */ topicFieldLengthIndex = 0; /* Check whether the subscription topic will fit in the given vector. */ - while( ( ioVectorLength <= ( MQTT_SUB_UNSUB_MAX_VECTORS - CORE_MQTT_UNSUBSCRIBE_PER_TOPIC_VECTOR_LENGTH ) ) && - ( unsubscriptionsSent < subscriptionCount ) ) + while ((ioVectorLength <= (MQTT_SUB_UNSUB_MAX_VECTORS - CORE_MQTT_UNSUBSCRIBE_PER_TOPIC_VECTOR_LENGTH)) && + (unsubscriptionsSent < subscriptionCount)) { /* The topic filter gets sent next. */ - vectorsAdded = addEncodedStringToVector( serializedTopicFieldLength[ topicFieldLengthIndex ], - pSubscriptionList[ unsubscriptionsSent ].pTopicFilter, - pSubscriptionList[ unsubscriptionsSent ].topicFilterLength, - pIterator, - &totalPacketLength ); + vectorsAdded = addEncodedStringToVector(serializedTopicFieldLength[topicFieldLengthIndex], + pSubscriptionList[unsubscriptionsSent].pTopicFilter, + pSubscriptionList[unsubscriptionsSent].topicFilterLength, + pIterator, + &totalPacketLength); /* Update the iterator to point to the next empty location. */ - pIterator = &pIterator[ vectorsAdded ]; + pIterator = &pIterator[vectorsAdded]; /* Update the total count based on how many vectors were added. */ ioVectorLength += vectorsAdded; @@ -2107,7 +2174,7 @@ static MQTTStatus_t sendUnsubscribeWithoutCopy( MQTTContext_t * pContext, topicFieldLengthIndex++; } - if( sendMessageVector( pContext, pIoVector, ioVectorLength ) != ( int32_t ) totalPacketLength ) + if (sendMessageVector(pContext, pIoVector, ioVectorLength) != (int32_t)totalPacketLength) { status = MQTTSendFailed; } @@ -2125,11 +2192,11 @@ static MQTTStatus_t sendUnsubscribeWithoutCopy( MQTTContext_t * pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t sendPublishWithoutCopy( MQTTContext_t * pContext, - const MQTTPublishInfo_t * pPublishInfo, - const uint8_t * pMqttHeader, - size_t headerSize, - uint16_t packetId ) +static MQTTStatus_t sendPublishWithoutCopy(MQTTContext_t* pContext, + const MQTTPublishInfo_t* pPublishInfo, + const uint8_t* pMqttHeader, + size_t headerSize, + uint16_t packetId) { MQTTStatus_t status = MQTTSuccess; size_t ioVectorLength; @@ -2137,7 +2204,7 @@ static MQTTStatus_t sendPublishWithoutCopy( MQTTContext_t * pContext, /* Bytes required to encode the packet ID in an MQTT header according to * the MQTT specification. */ - uint8_t serializedPacketID[ 2U ]; + uint8_t serializedPacketID[2U]; /* Maximum number of vectors required to encode and send a publish * packet. The breakdown is shown below. @@ -2145,46 +2212,46 @@ static MQTTStatus_t sendPublishWithoutCopy( MQTTContext_t * pContext, * Topic string + 1 = 2 * Packet ID (only when QoS > QoS0) + 1 = 3 * Payload + 1 = 4 */ - TransportOutVector_t pIoVector[ 4U ]; + TransportOutVector_t pIoVector[4U]; /* The header is sent first. */ - pIoVector[ 0U ].iov_base = pMqttHeader; - pIoVector[ 0U ].iov_len = headerSize; + pIoVector[0U].iov_base = pMqttHeader; + pIoVector[0U].iov_len = headerSize; totalMessageLength = headerSize; /* Then the topic name has to be sent. */ - pIoVector[ 1U ].iov_base = pPublishInfo->pTopicName; - pIoVector[ 1U ].iov_len = pPublishInfo->topicNameLength; + pIoVector[1U].iov_base = pPublishInfo->pTopicName; + pIoVector[1U].iov_len = pPublishInfo->topicNameLength; totalMessageLength += pPublishInfo->topicNameLength; /* The next field's index should be 2 as the first two fields * have been filled in. */ ioVectorLength = 2U; - if( pPublishInfo->qos > MQTTQoS0 ) + if (pPublishInfo->qos > MQTTQoS0) { /* Encode the packet ID. */ - serializedPacketID[ 0 ] = ( ( uint8_t ) ( ( packetId ) >> 8 ) ); - serializedPacketID[ 1 ] = ( ( uint8_t ) ( ( packetId ) & 0x00ffU ) ); + serializedPacketID[0] = ((uint8_t)((packetId) >> 8)); + serializedPacketID[1] = ((uint8_t)((packetId) & 0x00ffU)); - pIoVector[ ioVectorLength ].iov_base = serializedPacketID; - pIoVector[ ioVectorLength ].iov_len = sizeof( serializedPacketID ); + pIoVector[ioVectorLength].iov_base = serializedPacketID; + pIoVector[ioVectorLength].iov_len = sizeof(serializedPacketID); ioVectorLength++; - totalMessageLength += sizeof( serializedPacketID ); + totalMessageLength += sizeof(serializedPacketID); } /* Publish packets are allowed to contain no payload. */ - if( pPublishInfo->payloadLength > 0U ) + if (pPublishInfo->payloadLength > 0U) { - pIoVector[ ioVectorLength ].iov_base = pPublishInfo->pPayload; - pIoVector[ ioVectorLength ].iov_len = pPublishInfo->payloadLength; + pIoVector[ioVectorLength].iov_base = pPublishInfo->pPayload; + pIoVector[ioVectorLength].iov_len = pPublishInfo->payloadLength; ioVectorLength++; totalMessageLength += pPublishInfo->payloadLength; } - if( sendMessageVector( pContext, pIoVector, ioVectorLength ) != ( int32_t ) totalMessageLength ) + if (sendMessageVector(pContext, pIoVector, ioVectorLength) != (int32_t)totalMessageLength) { status = MQTTSendFailed; } @@ -2194,25 +2261,25 @@ static MQTTStatus_t sendPublishWithoutCopy( MQTTContext_t * pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, - const MQTTConnectInfo_t * pConnectInfo, - const MQTTPublishInfo_t * pWillInfo, - size_t remainingLength ) +static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t* pContext, + const MQTTConnectInfo_t* pConnectInfo, + const MQTTPublishInfo_t* pWillInfo, + size_t remainingLength) { MQTTStatus_t status = MQTTSuccess; - TransportOutVector_t * iterator; + TransportOutVector_t* iterator; size_t ioVectorLength = 0U; size_t totalMessageLength = 0U; int32_t bytesSentOrError; - uint8_t * pIndex; - uint8_t serializedClientIDLength[ 2 ]; - uint8_t serializedTopicLength[ 2 ]; - uint8_t serializedPayloadLength[ 2 ]; - uint8_t serializedUsernameLength[ 2 ]; - uint8_t serializedPasswordLength[ 2 ]; + uint8_t* pIndex; + uint8_t serializedClientIDLength[2]; + uint8_t serializedTopicLength[2]; + uint8_t serializedPayloadLength[2]; + uint8_t serializedUsernameLength[2]; + uint8_t serializedPasswordLength[2]; size_t vectorsAdded; - #if (!MQTT_VERSION_5_ENABLED) +#if (!MQTT_VERSION_5_ENABLED) /* Maximum number of bytes required by the 'fixed' part of the CONNECT * packet header according to the MQTT specification. * MQTT Control Byte 0 + 1 = 1 @@ -2222,9 +2289,9 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, * Protocol level + 1 = 12 * Connect flags + 1 = 13 * Keep alive + 2 = 15 */ - uint8_t connectPacketHeader[ 15U ]; + uint8_t connectPacketHeader[15U]; - #else +#else /*Properties * Properties length- max- 4 *Session Expiry - 5 @@ -2233,13 +2300,13 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, * Topic Alias Maximum - 3 * Request response Information- 2 * Request problem Information-2 - * User property- MAX USER PROPERTY- separate vector + * User property- MAX USER PROPERTY- separate vector * Authentication Data- UTF-8 so separate vector for method and data. * Total- 24 */ uint8_t connectPacketHeader[39U]; - #endif +#endif /* The maximum vectors required to encode and send a connect packet. The * breakdown is shown below. * Fixed header 0 + 1 = 1 @@ -2248,41 +2315,41 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, * Will payload + 2 = 7 * Username + 2 = 9 * Password + 2 = 11 */ - #if (MQTT_VERSION_5_ENABLED==0) - TransportOutVector_t pIoVector[ 11U ]; - #else - /* - * - * User Property- 5* Max userProperty - * Authentication- 6 - * 10 + 5*Max user for wiill properties - * - */ - TransportOutVector_t pIoVector[ 27 + 10* MAX_USER_PROPERTY]; - #endif +#if (MQTT_VERSION_5_ENABLED==0) + TransportOutVector_t pIoVector[11U]; +#else + /* + * + * User Property- 5* Max userProperty + * Authentication- 6 + * 10 + 5*Max user for wiill properties + * + */ + TransportOutVector_t pIoVector[27 + 10 * MAX_USER_PROPERTY]; +#endif iterator = pIoVector; pIndex = connectPacketHeader; /* Validate arguments. */ - if( ( pWillInfo != NULL ) && ( pWillInfo->pTopicName == NULL ) ) + if ((pWillInfo != NULL) && (pWillInfo->pTopicName == NULL)) { - LogError( ( "pWillInfo->pTopicName cannot be NULL if Will is present." ) ); + LogError(("pWillInfo->pTopicName cannot be NULL if Will is present.")); status = MQTTBadParameter; } else { - pIndex = MQTT_SerializeConnectFixedHeader( pIndex, - pConnectInfo, - pWillInfo, - remainingLength ); + pIndex = MQTT_SerializeConnectFixedHeader(pIndex, + pConnectInfo, + pWillInfo, + remainingLength); - #if (MQTT_VERSION_5_ENABLED) +#if (MQTT_VERSION_5_ENABLED) - pIndex = MQTT_SerializeConnectProperties(pIndex,pContext->connectProperties); + pIndex = MQTT_SerializeConnectProperties(pIndex, pContext->connectProperties); - #endif - assert( ( ( size_t ) ( pIndex - connectPacketHeader ) ) <= sizeof( connectPacketHeader ) ); +#endif + assert(((size_t)(pIndex - connectPacketHeader)) <= sizeof(connectPacketHeader)); /* The header gets sent first. */ iterator->iov_base = connectPacketHeader; @@ -2290,120 +2357,190 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-108 */ /* coverity[misra_c_2012_rule_18_2_violation] */ /* coverity[misra_c_2012_rule_10_8_violation] */ - iterator->iov_len = ( size_t ) ( pIndex - connectPacketHeader ); + iterator->iov_len = (size_t)(pIndex - connectPacketHeader); totalMessageLength += iterator->iov_len; iterator++; ioVectorLength++; - #if (MQTT_VERSION_5_ENABLED) +#if (MQTT_VERSION_5_ENABLED) // User Properties - uint8_t serializedAuthMethodLength[ 2 ]; - uint8_t serializedAuthDataLength[ 2 ]; - MQTTAuthInfo_t *pAuthInfo=pContext->connectProperties->outgoingAuth; - if(pAuthInfo!= NULL ) + uint8_t serializedAuthMethodLength[2]; + uint8_t serializedAuthDataLength[2]; + MQTTAuthInfo_t* pAuthInfo = pContext->connectProperties->outgoingUserProperty; + if (pAuthInfo != NULL) { /* Serialize the authentication method string. */ - vectorsAdded = addEncodedStringToVectorWithId( serializedAuthMethodLength, - pAuthInfo->authMethod, - pAuthInfo->authMethodLength, - iterator, - &totalMessageLength,MQTT_AUTH_METHOD_ID ); + vectorsAdded = addEncodedStringToVectorWithId(serializedAuthMethodLength, + pAuthInfo->authMethod, + pAuthInfo->authMethodLength, + iterator, + &totalMessageLength, MQTT_AUTH_METHOD_ID); /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[ vectorsAdded ]; - ioVectorLength += vectorsAdded; - if(pAuthInfo->authDataLength!=0U){ - vectorsAdded = addEncodedStringToVectorWithId(serializedAuthDataLength, - pAuthInfo->authData, - pAuthInfo->authDataLength, - iterator, - &totalMessageLength,MQTT_AUTH_DATA_ID); - - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[ vectorsAdded ]; + iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; + if (pAuthInfo->authDataLength != 0U) { + vectorsAdded = addEncodedStringToVectorWithId(serializedAuthDataLength, + pAuthInfo->authData, + pAuthInfo->authDataLength, + iterator, + &totalMessageLength, MQTT_AUTH_DATA_ID); + + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[vectorsAdded]; + ioVectorLength += vectorsAdded; } } - - if(pContext->connectProperties->outgoingUserPropSize!=0){ - ioVectorLength += MQTT_SerializeUserProperty(pContext->connectProperties->outgoingUserProperty,pContext->connectProperties->outgoingUserPropSize,iterator,&totalMessageLength); + + if (pContext->connectProperties->outgoingUserPropSize != 0) { + uint8_t serializedUserKeyLength[2]; + uint8_t serializedUserValueLength[2]; + uint16_t i = 0; + uint16_t size= pContext->connectProperties->outgoingUserPropSize; + MQTTUserProperty_t* userProperty= pContext->connectProperties->outgoingAuth; + for (; i < size; i++) { + vectorsAdded = addEncodedStringToVectorWithId(serializedUserKeyLength, + userProperty[i].key, + userProperty[i].keyLength, + iterator, + &totalMessageLength, MQTT_USER_PROPERTY_ID); + iterator = &iterator[vectorsAdded]; + ioVectorLength += vectorsAdded; + + vectorsAdded = addEncodedStringToVector(serializedUserValueLength, + userProperty[i].value, + userProperty[i].valueLength, + iterator, + &totalMessageLength); + iterator = &iterator[vectorsAdded]; + ioVectorLength += vectorsAdded; + } + // ioVectorLength += MQTT_SerializeUserProperty(pContext->connectProperties->outgoingUserProperty, pContext->connectProperties->outgoingUserPropSize, iterator, &totalMessageLength); } - #endif +#endif /* Serialize the client ID. */ - vectorsAdded = addEncodedStringToVector( serializedClientIDLength, - pConnectInfo->pClientIdentifier, - pConnectInfo->clientIdentifierLength, - iterator, - &totalMessageLength ); + vectorsAdded = addEncodedStringToVector(serializedClientIDLength, + pConnectInfo->pClientIdentifier, + pConnectInfo->clientIdentifierLength, + iterator, + &totalMessageLength); /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[ vectorsAdded ]; + iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; - if( pWillInfo != NULL ) + if (pWillInfo != NULL) { - #if (MQTT_VERSION_5_ENABLED) +#if (MQTT_VERSION_5_ENABLED) //Add the will properties - vectorsAdded= MQTT_SerializePublishProperties(pWillInfo,&iterator,&totalMessageLength,pContext->connectProperties->willDelay); - #endif - /* Serialize the topic. */ - vectorsAdded = addEncodedStringToVector( serializedTopicLength, - pWillInfo->pTopicName, - pWillInfo->topicNameLength, - iterator, - &totalMessageLength ); + uint8_t serializedContentTypeLength[2]; + uint8_t serializedResponseTopicLength[2]; + uint8_t serailizedCorrelationLength[2]; + // 4 byte + 4 byte delay + 2 byte payload format + 6 byte + uint8_t fixedSizeProperties[20U]; + pIndex = fixedSizeProperties; + pIndex = MQTT_SerializePublishProperties(pWillInfo, pIndex, pContext->connectProperties->willDelay); + iterator->iov_base = fixedSizeProperties; + iterator->iov_len = (size_t)(pIndex - fixedSizeProperties); + totalMessageLength += iterator->iov_len; + iterator++; + ioVectorLength++; + + if (pWillInfo->contentTypeLength != 0U) + { + vectorsAdded = addEncodedStringToVectorWithId(serializedContentTypeLength, + pWillInfo->contentType, + pWillInfo->contentTypeLength, + iterator, + &totalMessageLength, MQTT_CONTENT_TYPE_ID); + iterator = &iterator[vectorsAdded]; + ioVectorLength += vectorsAdded; + } + if (pWillInfo->responseTopicLength != 0U) + { + vectorsAdded = addEncodedStringToVectorWithId(serializedResponseTopicLength, + pWillInfo->responseTopic, + pWillInfo->responseTopicLength, + iterator, + &totalMessageLength, MQTT_RESPONSE_TOPIC_ID); + iterator = &iterator[vectorsAdded]; + ioVectorLength += vectorsAdded; + } + if (pWillInfo->correlationLength != 0U) + { + vectorsAdded = addEncodedStringToVectorWithId(serailizedCorrelationLength, + pWillInfo->correlationData, + pWillInfo->correlationLength, + iterator, + &totalMessageLength, MQTT_CORRELATION_DATA_ID); + iterator = &iterator[vectorsAdded]; + ioVectorLength += vectorsAdded; + } + if (pWillInfo->userPropertySize != 0) { + + ioVectorLength += MQTT_SerializeUserProperty(pWillInfo->userProperty, pWillInfo->userPropertySize, iterator, totalMessageLength); + } + + // vectorsAdded= MQTT_SerializePublishProperties(pWillInfo,iterator,&totalMessageLength,pContext->connectProperties->willDelay); +#endif +/* Serialize the topic. */ + vectorsAdded = addEncodedStringToVector(serializedTopicLength, + pWillInfo->pTopicName, + pWillInfo->topicNameLength, + iterator, + &totalMessageLength); /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[ vectorsAdded ]; + iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; /* Serialize the payload. Payload of last will and testament can be NULL. */ - vectorsAdded = addEncodedStringToVector( serializedPayloadLength, - pWillInfo->pPayload, - ( uint16_t ) pWillInfo->payloadLength, - iterator, - &totalMessageLength ); + vectorsAdded = addEncodedStringToVector(serializedPayloadLength, + pWillInfo->pPayload, + (uint16_t)pWillInfo->payloadLength, + iterator, + &totalMessageLength); /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[ vectorsAdded ]; + iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; } /* Encode the user name if provided. */ - if( pConnectInfo->pUserName != NULL ) + if (pConnectInfo->pUserName != NULL) { /* Serialize the user name string. */ - vectorsAdded = addEncodedStringToVector( serializedUsernameLength, - pConnectInfo->pUserName, - pConnectInfo->userNameLength, - iterator, - &totalMessageLength ); + vectorsAdded = addEncodedStringToVector(serializedUsernameLength, + pConnectInfo->pUserName, + pConnectInfo->userNameLength, + iterator, + &totalMessageLength); /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[ vectorsAdded ]; + iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; } /* Encode the password if provided. */ - if( pConnectInfo->pPassword != NULL ) + if (pConnectInfo->pPassword != NULL) { /* Serialize the user name string. */ - vectorsAdded = addEncodedStringToVector( serializedPasswordLength, - pConnectInfo->pPassword, - pConnectInfo->passwordLength, - iterator, - &totalMessageLength ); + vectorsAdded = addEncodedStringToVector(serializedPasswordLength, + pConnectInfo->pPassword, + pConnectInfo->passwordLength, + iterator, + &totalMessageLength); /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[ vectorsAdded ]; + iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; } - bytesSentOrError = sendMessageVector( pContext, pIoVector, ioVectorLength ); + bytesSentOrError = sendMessageVector(pContext, pIoVector, ioVectorLength); - if( bytesSentOrError != ( int32_t ) totalMessageLength ) + if (bytesSentOrError != (int32_t)totalMessageLength) { status = MQTTSendFailed; } @@ -2414,11 +2551,11 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t receiveConnack( const MQTTContext_t * pContext, - uint32_t timeoutMs, - bool cleanSession, - MQTTPacketInfo_t * pIncomingPacket, - bool * pSessionPresent ) +static MQTTStatus_t receiveConnack(const MQTTContext_t* pContext, + uint32_t timeoutMs, + bool cleanSession, + MQTTPacketInfo_t* pIncomingPacket, + bool* pSessionPresent) { MQTTStatus_t status = MQTTSuccess; MQTTGetCurrentTimeFunc_t getTimeStamp = NULL; @@ -2426,9 +2563,9 @@ static MQTTStatus_t receiveConnack( const MQTTContext_t * pContext, bool breakFromLoop = false; uint16_t loopCount = 0U; - assert( pContext != NULL ); - assert( pIncomingPacket != NULL ); - assert( pContext->getTime != NULL ); + assert(pContext != NULL); + assert(pIncomingPacket != NULL); + assert(pContext->getTime != NULL); getTimeStamp = pContext->getTime; @@ -2441,9 +2578,9 @@ static MQTTStatus_t receiveConnack( const MQTTContext_t * pContext, * MQTT_GetIncomingPacketTypeAndLength is a blocking call and it is * returned after a transport receive timeout, an error, or a successful * receive of packet type and length. */ - status = MQTT_GetIncomingPacketTypeAndLength( pContext->transportInterface.recv, - pContext->transportInterface.pNetworkContext, - pIncomingPacket ); + status = MQTT_GetIncomingPacketTypeAndLength(pContext->transportInterface.recv, + pContext->transportInterface.pNetworkContext, + pIncomingPacket); /* The loop times out based on 2 conditions. * 1. If timeoutMs is greater than 0: @@ -2454,9 +2591,9 @@ static MQTTStatus_t receiveConnack( const MQTTContext_t * pContext, * MQTT_MAX_CONNACK_RECEIVE_RETRY_COUNT. This config will control * maximum the number of retry attempts to read the CONNACK packet. * A value of 0 for the config will try once to read CONNACK. */ - if( timeoutMs > 0U ) + if (timeoutMs > 0U) { - breakFromLoop = calculateElapsedTime( getTimeStamp(), entryTimeMs ) >= timeoutMs; + breakFromLoop = calculateElapsedTime(getTimeStamp(), entryTimeMs) >= timeoutMs; } else { @@ -2465,14 +2602,14 @@ static MQTTStatus_t receiveConnack( const MQTTContext_t * pContext, } /* Loop until there is data to read or if we have exceeded the timeout/retries. */ - } while( ( status == MQTTNoDataAvailable ) && ( breakFromLoop == false ) ); + } while ((status == MQTTNoDataAvailable) && (breakFromLoop == false)); - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Time taken in this function so far. */ - timeTakenMs = calculateElapsedTime( getTimeStamp(), entryTimeMs ); + timeTakenMs = calculateElapsedTime(getTimeStamp(), entryTimeMs); - if( timeTakenMs < timeoutMs ) + if (timeTakenMs < timeoutMs) { /* Calculate remaining time for receiving the remainder of * the packet. */ @@ -2486,55 +2623,55 @@ static MQTTStatus_t receiveConnack( const MQTTContext_t * pContext, * CONNACK packet is tried to be read only once. Reading once would be * good as the packet type and remaining length was already read. Hence, * the probability of the remaining 2 bytes available to read is very high. */ - if( pIncomingPacket->type == MQTT_PACKET_TYPE_CONNACK ) + if (pIncomingPacket->type == MQTT_PACKET_TYPE_CONNACK) { - status = receivePacket( pContext, - *pIncomingPacket, - remainingTimeMs ); + status = receivePacket(pContext, + *pIncomingPacket, + remainingTimeMs); } else { - LogError( ( "Incorrect packet type %X received while expecting" - " CONNACK(%X).", - ( unsigned int ) pIncomingPacket->type, - MQTT_PACKET_TYPE_CONNACK ) ); + LogError(("Incorrect packet type %X received while expecting" + " CONNACK(%X).", + (unsigned int)pIncomingPacket->type, + MQTT_PACKET_TYPE_CONNACK)); status = MQTTBadResponse; } } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Update the packet info pointer to the buffer read. */ pIncomingPacket->pRemainingData = pContext->networkBuffer.pBuffer; /* Deserialize CONNACK. */ - #if (MQTT_VERSION_5_ENABLED==0) - status = MQTT_DeserializeAck( pIncomingPacket, NULL, pSessionPresent ); - #else +#if (MQTT_VERSION_5_ENABLED==0) + status = MQTT_DeserializeAck(pIncomingPacket, NULL, pSessionPresent); +#else status = MQTTV5_DeserializeConnack( pContext->connectProperties,pIncomingPacket, pSessionPresent); - #endif +#endif } /* If a clean session is requested, a session present should not be set by * broker. */ - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { - if( ( cleanSession == true ) && ( *pSessionPresent == true ) ) + if ((cleanSession == true) && (*pSessionPresent == true)) { - LogError( ( "Unexpected session present flag in CONNACK response from broker." - " CONNECT request with clean session was made with broker." ) ); + LogError(("Unexpected session present flag in CONNACK response from broker." + " CONNECT request with clean session was made with broker.")); status = MQTTBadResponse; } } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { - LogDebug( ( "Received MQTT CONNACK successfully from broker." ) ); + LogDebug(("Received MQTT CONNACK successfully from broker.")); } else { - LogError( ( "CONNACK recv failed with status = %s.", - MQTT_Status_strerror( status ) ) ); + LogError(("CONNACK recv failed with status = %s.", + MQTT_Status_strerror(status))); } return status; @@ -2542,89 +2679,89 @@ static MQTTStatus_t receiveConnack( const MQTTContext_t * pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t handleSessionResumption( MQTTContext_t * pContext, - bool sessionPresent ) +static MQTTStatus_t handleSessionResumption(MQTTContext_t* pContext, + bool sessionPresent) { MQTTStatus_t status = MQTTSuccess; MQTTStateCursor_t cursor = MQTT_STATE_CURSOR_INITIALIZER; uint16_t packetId = MQTT_PACKET_ID_INVALID; MQTTPublishState_t state = MQTTStateNull; - assert( pContext != NULL ); + assert(pContext != NULL); /* Reset the index and clear the buffer when a new session is established. */ pContext->index = 0; - ( void ) memset( pContext->networkBuffer.pBuffer, 0, pContext->networkBuffer.size ); + (void)memset(pContext->networkBuffer.pBuffer, 0, pContext->networkBuffer.size); - if( sessionPresent == true ) + if (sessionPresent == true) { /* Get the next packet ID for which a PUBREL need to be resent. */ - packetId = MQTT_PubrelToResend( pContext, &cursor, &state ); + packetId = MQTT_PubrelToResend(pContext, &cursor, &state); /* Resend all the PUBREL acks after session is reestablished. */ - while( ( packetId != MQTT_PACKET_ID_INVALID ) && - ( status == MQTTSuccess ) ) + while ((packetId != MQTT_PACKET_ID_INVALID) && + (status == MQTTSuccess)) { - status = sendPublishAcks( pContext, packetId, state ); + status = sendPublishAcks(pContext, packetId, state); - packetId = MQTT_PubrelToResend( pContext, &cursor, &state ); + packetId = MQTT_PubrelToResend(pContext, &cursor, &state); } } else { /* Clear any existing records if a new session is established. */ - if( pContext->outgoingPublishRecordMaxCount > 0U ) + if (pContext->outgoingPublishRecordMaxCount > 0U) { - ( void ) memset( pContext->outgoingPublishRecords, - 0x00, - pContext->outgoingPublishRecordMaxCount * sizeof( *pContext->outgoingPublishRecords ) ); + (void)memset(pContext->outgoingPublishRecords, + 0x00, + pContext->outgoingPublishRecordMaxCount * sizeof(*pContext->outgoingPublishRecords)); } - if( pContext->incomingPublishRecordMaxCount > 0U ) + if (pContext->incomingPublishRecordMaxCount > 0U) { - ( void ) memset( pContext->incomingPublishRecords, - 0x00, - pContext->incomingPublishRecordMaxCount * sizeof( *pContext->incomingPublishRecords ) ); + (void)memset(pContext->incomingPublishRecords, + 0x00, + pContext->incomingPublishRecordMaxCount * sizeof(*pContext->incomingPublishRecords)); } } return status; } -static MQTTStatus_t validatePublishParams( const MQTTContext_t * pContext, - const MQTTPublishInfo_t * pPublishInfo, - uint16_t packetId ) +static MQTTStatus_t validatePublishParams(const MQTTContext_t* pContext, + const MQTTPublishInfo_t* pPublishInfo, + uint16_t packetId) { MQTTStatus_t status = MQTTSuccess; /* Validate arguments. */ - if( ( pContext == NULL ) || ( pPublishInfo == NULL ) ) + if ((pContext == NULL) || (pPublishInfo == NULL)) { - LogError( ( "Argument cannot be NULL: pContext=%p, " - "pPublishInfo=%p.", - ( void * ) pContext, - ( void * ) pPublishInfo ) ); + LogError(("Argument cannot be NULL: pContext=%p, " + "pPublishInfo=%p.", + (void*)pContext, + (void*)pPublishInfo)); status = MQTTBadParameter; } - else if( ( pPublishInfo->qos != MQTTQoS0 ) && ( packetId == 0U ) ) + else if ((pPublishInfo->qos != MQTTQoS0) && (packetId == 0U)) { - LogError( ( "Packet Id is 0 for PUBLISH with QoS=%u.", - ( unsigned int ) pPublishInfo->qos ) ); + LogError(("Packet Id is 0 for PUBLISH with QoS=%u.", + (unsigned int)pPublishInfo->qos)); status = MQTTBadParameter; } - else if( ( pPublishInfo->payloadLength > 0U ) && ( pPublishInfo->pPayload == NULL ) ) + else if ((pPublishInfo->payloadLength > 0U) && (pPublishInfo->pPayload == NULL)) { - LogError( ( "A nonzero payload length requires a non-NULL payload: " - "payloadLength=%lu, pPayload=%p.", - ( unsigned long ) pPublishInfo->payloadLength, - pPublishInfo->pPayload ) ); + LogError(("A nonzero payload length requires a non-NULL payload: " + "payloadLength=%lu, pPayload=%p.", + (unsigned long)pPublishInfo->payloadLength, + pPublishInfo->pPayload)); status = MQTTBadParameter; } - else if( ( pContext->outgoingPublishRecords == NULL ) && ( pPublishInfo->qos > MQTTQoS0 ) ) + else if ((pContext->outgoingPublishRecords == NULL) && (pPublishInfo->qos > MQTTQoS0)) { - LogError( ( "Trying to publish a QoS > MQTTQoS0 packet when outgoing publishes " - "for QoS1/QoS2 have not been enabled. Please, call MQTT_InitStatefulQoS " - "to initialize and enable the use of QoS1/QoS2 publishes." ) ); + LogError(("Trying to publish a QoS > MQTTQoS0 packet when outgoing publishes " + "for QoS1/QoS2 have not been enabled. Please, call MQTT_InitStatefulQoS " + "to initialize and enable the use of QoS1/QoS2 publishes.")); status = MQTTBadParameter; } else @@ -2637,49 +2774,49 @@ static MQTTStatus_t validatePublishParams( const MQTTContext_t * pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_Init( MQTTContext_t * pContext, - const TransportInterface_t * pTransportInterface, - MQTTGetCurrentTimeFunc_t getTimeFunction, - MQTTEventCallback_t userCallback, - const MQTTFixedBuffer_t * pNetworkBuffer ) +MQTTStatus_t MQTT_Init(MQTTContext_t* pContext, + const TransportInterface_t* pTransportInterface, + MQTTGetCurrentTimeFunc_t getTimeFunction, + MQTTEventCallback_t userCallback, + const MQTTFixedBuffer_t* pNetworkBuffer) { MQTTStatus_t status = MQTTSuccess; /* Validate arguments. */ - if( ( pContext == NULL ) || ( pTransportInterface == NULL ) || - ( pNetworkBuffer == NULL ) ) - { - LogError( ( "Argument cannot be NULL: pContext=%p, " - "pTransportInterface=%p, " - "pNetworkBuffer=%p", - ( void * ) pContext, - ( void * ) pTransportInterface, - ( void * ) pNetworkBuffer ) ); + if ((pContext == NULL) || (pTransportInterface == NULL) || + (pNetworkBuffer == NULL)) + { + LogError(("Argument cannot be NULL: pContext=%p, " + "pTransportInterface=%p, " + "pNetworkBuffer=%p", + (void*)pContext, + (void*)pTransportInterface, + (void*)pNetworkBuffer)); status = MQTTBadParameter; } - else if( getTimeFunction == NULL ) + else if (getTimeFunction == NULL) { - LogError( ( "Invalid parameter: getTimeFunction is NULL" ) ); + LogError(("Invalid parameter: getTimeFunction is NULL")); status = MQTTBadParameter; } - else if( userCallback == NULL ) + else if (userCallback == NULL) { - LogError( ( "Invalid parameter: userCallback is NULL" ) ); + LogError(("Invalid parameter: userCallback is NULL")); status = MQTTBadParameter; } - else if( pTransportInterface->recv == NULL ) + else if (pTransportInterface->recv == NULL) { - LogError( ( "Invalid parameter: pTransportInterface->recv is NULL" ) ); + LogError(("Invalid parameter: pTransportInterface->recv is NULL")); status = MQTTBadParameter; } - else if( pTransportInterface->send == NULL ) + else if (pTransportInterface->send == NULL) { - LogError( ( "Invalid parameter: pTransportInterface->send is NULL" ) ); + LogError(("Invalid parameter: pTransportInterface->send is NULL")); status = MQTTBadParameter; } else { - ( void ) memset( pContext, 0x00, sizeof( MQTTContext_t ) ); + (void)memset(pContext, 0x00, sizeof(MQTTContext_t)); pContext->connectStatus = MQTTNotConnected; pContext->transportInterface = *pTransportInterface; @@ -2696,48 +2833,48 @@ MQTTStatus_t MQTT_Init( MQTTContext_t * pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_InitStatefulQoS( MQTTContext_t * pContext, - MQTTPubAckInfo_t * pOutgoingPublishRecords, - size_t outgoingPublishCount, - MQTTPubAckInfo_t * pIncomingPublishRecords, - size_t incomingPublishCount ) +MQTTStatus_t MQTT_InitStatefulQoS(MQTTContext_t* pContext, + MQTTPubAckInfo_t* pOutgoingPublishRecords, + size_t outgoingPublishCount, + MQTTPubAckInfo_t* pIncomingPublishRecords, + size_t incomingPublishCount) { MQTTStatus_t status = MQTTSuccess; - if( pContext == NULL ) + if (pContext == NULL) { - LogError( ( "Argument cannot be NULL: pContext=%p\n", - ( void * ) pContext ) ); + LogError(("Argument cannot be NULL: pContext=%p\n", + (void*)pContext)); status = MQTTBadParameter; } /* Check whether the arguments make sense. Not equal here behaves * like an exclusive-or operator for boolean values. */ - else if( ( outgoingPublishCount == 0U ) != - ( pOutgoingPublishRecords == NULL ) ) + else if ((outgoingPublishCount == 0U) != + (pOutgoingPublishRecords == NULL)) { - LogError( ( "Arguments do not match: pOutgoingPublishRecords=%p, " - "outgoingPublishCount=%lu", - ( void * ) pOutgoingPublishRecords, - ( unsigned long ) outgoingPublishCount ) ); + LogError(("Arguments do not match: pOutgoingPublishRecords=%p, " + "outgoingPublishCount=%lu", + (void*)pOutgoingPublishRecords, + (unsigned long)outgoingPublishCount)); status = MQTTBadParameter; } /* Check whether the arguments make sense. Not equal here behaves * like an exclusive-or operator for boolean values. */ - else if( ( incomingPublishCount == 0U ) != - ( pIncomingPublishRecords == NULL ) ) + else if ((incomingPublishCount == 0U) != + (pIncomingPublishRecords == NULL)) { - LogError( ( "Arguments do not match: pIncomingPublishRecords=%p, " - "incomingPublishCount=%lu", - ( void * ) pIncomingPublishRecords, - ( unsigned long ) incomingPublishCount ) ); + LogError(("Arguments do not match: pIncomingPublishRecords=%p, " + "incomingPublishCount=%lu", + (void*)pIncomingPublishRecords, + (unsigned long)incomingPublishCount)); status = MQTTBadParameter; } - else if( pContext->appCallback == NULL ) + else if (pContext->appCallback == NULL) { - LogError( ( "MQTT_InitStatefulQoS must be called only after MQTT_Init has" - " been called successfully.\n" ) ); + LogError(("MQTT_InitStatefulQoS must be called only after MQTT_Init has" + " been called successfully.\n")); status = MQTTBadParameter; } else @@ -2753,31 +2890,31 @@ MQTTStatus_t MQTT_InitStatefulQoS( MQTTContext_t * pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_CancelCallback( const MQTTContext_t * pContext, - uint16_t packetId ) +MQTTStatus_t MQTT_CancelCallback(const MQTTContext_t* pContext, + uint16_t packetId) { MQTTStatus_t status = MQTTSuccess; - if( pContext == NULL ) + if (pContext == NULL) { - LogWarn( ( "pContext is NULL\n" ) ); + LogWarn(("pContext is NULL\n")); status = MQTTBadParameter; } - else if( pContext->outgoingPublishRecords == NULL ) + else if (pContext->outgoingPublishRecords == NULL) { - LogError( ( "QoS1/QoS2 is not initialized for use. Please, " - "call MQTT_InitStatefulQoS to enable QoS1 and QoS2 " - "publishes.\n" ) ); + LogError(("QoS1/QoS2 is not initialized for use. Please, " + "call MQTT_InitStatefulQoS to enable QoS1 and QoS2 " + "publishes.\n")); status = MQTTBadParameter; } else { - MQTT_PRE_STATE_UPDATE_HOOK( pContext ); + MQTT_PRE_STATE_UPDATE_HOOK(pContext); - status = MQTT_RemoveStateRecord( pContext, - packetId ); + status = MQTT_RemoveStateRecord(pContext, + packetId); - MQTT_POST_STATE_UPDATE_HOOK( pContext ); + MQTT_POST_STATE_UPDATE_HOOK(pContext); } return status; @@ -2785,102 +2922,102 @@ MQTTStatus_t MQTT_CancelCallback( const MQTTContext_t * pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_Connect( MQTTContext_t * pContext, - const MQTTConnectInfo_t * pConnectInfo, - const MQTTPublishInfo_t * pWillInfo, - uint32_t timeoutMs, - bool * pSessionPresent ) +MQTTStatus_t MQTT_Connect(MQTTContext_t* pContext, + const MQTTConnectInfo_t* pConnectInfo, + const MQTTPublishInfo_t* pWillInfo, + uint32_t timeoutMs, + bool* pSessionPresent) { size_t remainingLength = 0UL, packetSize = 0UL; MQTTStatus_t status = MQTTSuccess; MQTTPacketInfo_t incomingPacket = { 0 }; - incomingPacket.type = ( uint8_t ) 0; + incomingPacket.type = (uint8_t)0; - if( ( pContext == NULL ) || ( pConnectInfo == NULL ) || ( pSessionPresent == NULL ) ) + if ((pContext == NULL) || (pConnectInfo == NULL) || (pSessionPresent == NULL)) { - LogError( ( "Argument cannot be NULL: pContext=%p, " - "pConnectInfo=%p, pSessionPresent=%p.", - ( void * ) pContext, - ( void * ) pConnectInfo, - ( void * ) pSessionPresent ) ); + LogError(("Argument cannot be NULL: pContext=%p, " + "pConnectInfo=%p, pSessionPresent=%p.", + (void*)pContext, + (void*)pConnectInfo, + (void*)pSessionPresent)); status = MQTTBadParameter; } - #if (MQTT_VERSION_5_ENABLED) - if(status==MQTTSuccess){ - if(pContext->connectProperties==NULL) - { - // LogError( ( "Argument cannot be NULL: connectProperties=%p,", - // ( void * ) pContext->connectProperties, - // )); - status = MQTTBadParameter; - } - else if(pContext->connectProperties->outgoingAuth!=NULL && pContext->connectProperties->incomingAuth==NULL){ - // LogError( ( "Argument cannot be NULL: incomingAuth=%p, ", - // ( void * ) pContext->connectProperties->incomingAuth, - // )); - status = MQTTBadParameter; - } - else{ +#if (MQTT_VERSION_5_ENABLED) + if (status == MQTTSuccess) { + if (pContext->connectProperties == NULL) + { + // LogError( ( "Argument cannot be NULL: connectProperties=%p,", + // ( void * ) pContext->connectProperties, + // )); + status = MQTTBadParameter; + } + else if (pContext->connectProperties->outgoingAuth != NULL && pContext->connectProperties->incomingAuth == NULL) { + // LogError( ( "Argument cannot be NULL: incomingAuth=%p, ", + // ( void * ) pContext->connectProperties->incomingAuth, + // )); + status = MQTTBadParameter; + } + else { - } + } } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { - status= MQTT_GetConnectPropertiesSize(pContext->connectProperties, &packetSize); - remainingLength +=pContext->connectProperties->propertyLength; + status = MQTT_GetConnectPropertiesSize(pContext->connectProperties, &packetSize); + remainingLength += pContext->connectProperties->propertyLength; remainingLength += remainingLengthEncodedSize(pContext->connectProperties->propertyLength); - if(status==MQTTSuccess && pWillInfo!=NULL){ - status = MQTT_GetWillPropertiesSize(pWillInfo,pContext->connectProperties->willDelay); - remainingLength += pWillInfo->propertyLength; - remainingLength += remainingLengthEncodedSize( pWillInfo->propertyLength); - } - } - #endif - if( status == MQTTSuccess ) + if (status == MQTTSuccess && pWillInfo != NULL) { + status = MQTT_GetWillPropertiesSize(pWillInfo, pContext->connectProperties->willDelay); + remainingLength += pWillInfo->propertyLength; + remainingLength += remainingLengthEncodedSize(pWillInfo->propertyLength); + } + } +#endif + if (status == MQTTSuccess) { /* Get MQTT connect packet size and remaining length. */ - status = MQTT_GetConnectPacketSize( pConnectInfo, - pWillInfo, - &remainingLength, - &packetSize ); - LogDebug( ( "CONNECT packet size is %lu and remaining length is %lu.", - ( unsigned long ) packetSize, - ( unsigned long ) remainingLength ) ); + status = MQTT_GetConnectPacketSize(pConnectInfo, + pWillInfo, + &remainingLength, + &packetSize); + LogDebug(("CONNECT packet size is %lu and remaining length is %lu.", + (unsigned long)packetSize, + (unsigned long)remainingLength)); } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { - MQTT_PRE_SEND_HOOK( pContext ); + MQTT_PRE_SEND_HOOK(pContext); - status = sendConnectWithoutCopy( pContext, - pConnectInfo, - pWillInfo, - remainingLength ); + status = sendConnectWithoutCopy(pContext, + pConnectInfo, + pWillInfo, + remainingLength); - MQTT_POST_SEND_HOOK( pContext ); + MQTT_POST_SEND_HOOK(pContext); } /* Read CONNACK from transport layer. */ - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { - status = receiveConnack( pContext, - timeoutMs, - pConnectInfo->cleanSession, - &incomingPacket, - pSessionPresent ); + status = receiveConnack(pContext, + timeoutMs, + pConnectInfo->cleanSession, + &incomingPacket, + pSessionPresent); } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Resend PUBRELs when reestablishing a session, or clear records for new sessions. */ - status = handleSessionResumption( pContext, *pSessionPresent ); + status = handleSessionResumption(pContext, *pSessionPresent); } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { - LogInfo( ( "MQTT connection established with the broker." ) ); + LogInfo(("MQTT connection established with the broker.")); pContext->connectStatus = MQTTConnected; /* Initialize keep-alive fields after a successful connection. */ pContext->keepAliveIntervalSec = pConnectInfo->keepAliveSeconds; @@ -2889,8 +3026,8 @@ MQTTStatus_t MQTT_Connect( MQTTContext_t * pContext, } else { - LogError( ( "MQTT connection failed with status = %s.", - MQTT_Status_strerror( status ) ) ); + LogError(("MQTT connection failed with status = %s.", + MQTT_Status_strerror(status))); } return status; @@ -2898,43 +3035,43 @@ MQTTStatus_t MQTT_Connect( MQTTContext_t * pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_Subscribe( MQTTContext_t * pContext, - const MQTTSubscribeInfo_t * pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId ) +MQTTStatus_t MQTT_Subscribe(MQTTContext_t* pContext, + const MQTTSubscribeInfo_t* pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId) { size_t remainingLength = 0UL, packetSize = 0UL; /* Validate arguments. */ - MQTTStatus_t status = validateSubscribeUnsubscribeParams( pContext, - pSubscriptionList, - subscriptionCount, - packetId ); + MQTTStatus_t status = validateSubscribeUnsubscribeParams(pContext, + pSubscriptionList, + subscriptionCount, + packetId); - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Get the remaining length and packet size.*/ - status = MQTT_GetSubscribePacketSize( pSubscriptionList, - subscriptionCount, - &remainingLength, - &packetSize ); - LogDebug( ( "SUBSCRIBE packet size is %lu and remaining length is %lu.", - ( unsigned long ) packetSize, - ( unsigned long ) remainingLength ) ); + status = MQTT_GetSubscribePacketSize(pSubscriptionList, + subscriptionCount, + &remainingLength, + &packetSize); + LogDebug(("SUBSCRIBE packet size is %lu and remaining length is %lu.", + (unsigned long)packetSize, + (unsigned long)remainingLength)); } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { - MQTT_PRE_SEND_HOOK( pContext ); + MQTT_PRE_SEND_HOOK(pContext); /* Send MQTT SUBSCRIBE packet. */ - status = sendSubscribeWithoutCopy( pContext, - pSubscriptionList, - subscriptionCount, - packetId, - remainingLength ); + status = sendSubscribeWithoutCopy(pContext, + pSubscriptionList, + subscriptionCount, + packetId, + remainingLength); - MQTT_POST_SEND_HOOK( pContext ); + MQTT_POST_SEND_HOOK(pContext); } return status; @@ -2942,9 +3079,9 @@ MQTTStatus_t MQTT_Subscribe( MQTTContext_t * pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_Publish( MQTTContext_t * pContext, - const MQTTPublishInfo_t * pPublishInfo, - uint16_t packetId ) +MQTTStatus_t MQTT_Publish(MQTTContext_t* pContext, + const MQTTPublishInfo_t* pPublishInfo, + uint16_t packetId) { size_t headerSize = 0UL; size_t remainingLength = 0UL; @@ -2963,95 +3100,95 @@ MQTTStatus_t MQTT_Publish( MQTTContext_t * pContext, * the header so efficiency. Otherwise, we would need an extra vector and * an extra call to 'send' (in case writev is not defined) to send the * topic length. */ - uint8_t mqttHeader[ 7U ]; + uint8_t mqttHeader[7U]; /* Validate arguments. */ - MQTTStatus_t status = validatePublishParams( pContext, pPublishInfo, packetId ); + MQTTStatus_t status = validatePublishParams(pContext, pPublishInfo, packetId); - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Get the remaining length and packet size.*/ - status = MQTT_GetPublishPacketSize( pPublishInfo, - &remainingLength, - &packetSize ); + status = MQTT_GetPublishPacketSize(pPublishInfo, + &remainingLength, + &packetSize); } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { - status = MQTT_SerializePublishHeaderWithoutTopic( pPublishInfo, - remainingLength, - mqttHeader, - &headerSize ); + status = MQTT_SerializePublishHeaderWithoutTopic(pPublishInfo, + remainingLength, + mqttHeader, + &headerSize); } - if( ( status == MQTTSuccess ) && ( pPublishInfo->qos > MQTTQoS0 ) ) + if ((status == MQTTSuccess) && (pPublishInfo->qos > MQTTQoS0)) { - MQTT_PRE_STATE_UPDATE_HOOK( pContext ); + MQTT_PRE_STATE_UPDATE_HOOK(pContext); /* Set the flag so that the corresponding hook can be called later. */ stateUpdateHookExecuted = true; - status = MQTT_ReserveState( pContext, - packetId, - pPublishInfo->qos ); + status = MQTT_ReserveState(pContext, + packetId, + pPublishInfo->qos); /* State already exists for a duplicate packet. * If a state doesn't exist, it will be handled as a new publish in * state engine. */ - if( ( status == MQTTStateCollision ) && ( pPublishInfo->dup == true ) ) + if ((status == MQTTStateCollision) && (pPublishInfo->dup == true)) { status = MQTTSuccess; } } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Take the mutex as multiple send calls are required for sending this * packet. */ - MQTT_PRE_SEND_HOOK( pContext ); + MQTT_PRE_SEND_HOOK(pContext); - status = sendPublishWithoutCopy( pContext, - pPublishInfo, - mqttHeader, - headerSize, - packetId ); + status = sendPublishWithoutCopy(pContext, + pPublishInfo, + mqttHeader, + headerSize, + packetId); /* Give the mutex away for the next taker. */ - MQTT_POST_SEND_HOOK( pContext ); + MQTT_POST_SEND_HOOK(pContext); } - if( ( status == MQTTSuccess ) && - ( pPublishInfo->qos > MQTTQoS0 ) ) + if ((status == MQTTSuccess) && + (pPublishInfo->qos > MQTTQoS0)) { /* Update state machine after PUBLISH is sent. * Only to be done for QoS1 or QoS2. */ - status = MQTT_UpdateStatePublish( pContext, - packetId, - MQTT_SEND, - pPublishInfo->qos, - &publishStatus ); + status = MQTT_UpdateStatePublish(pContext, + packetId, + MQTT_SEND, + pPublishInfo->qos, + &publishStatus); - if( status != MQTTSuccess ) + if (status != MQTTSuccess) { - LogError( ( "Update state for publish failed with status %s." - " However PUBLISH packet was sent to the broker." - " Any further handling of ACKs for the packet Id" - " will fail.", - MQTT_Status_strerror( status ) ) ); + LogError(("Update state for publish failed with status %s." + " However PUBLISH packet was sent to the broker." + " Any further handling of ACKs for the packet Id" + " will fail.", + MQTT_Status_strerror(status))); } } - if( stateUpdateHookExecuted == true ) + if (stateUpdateHookExecuted == true) { /* Regardless of the status, if the mutex was taken due to the * packet being of QoS > QoS0, then it should be relinquished. */ - MQTT_POST_STATE_UPDATE_HOOK( pContext ); + MQTT_POST_STATE_UPDATE_HOOK(pContext); } - if( status != MQTTSuccess ) + if (status != MQTTSuccess) { - LogError( ( "MQTT PUBLISH failed with status %s.", - MQTT_Status_strerror( status ) ) ); + LogError(("MQTT PUBLISH failed with status %s.", + MQTT_Status_strerror(status))); } return status; @@ -3059,76 +3196,76 @@ MQTTStatus_t MQTT_Publish( MQTTContext_t * pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_Ping( MQTTContext_t * pContext ) +MQTTStatus_t MQTT_Ping(MQTTContext_t* pContext) { int32_t sendResult = 0; MQTTStatus_t status = MQTTSuccess; size_t packetSize = 0U; /* MQTT ping packets are of fixed length. */ - uint8_t pingreqPacket[ 2U ]; + uint8_t pingreqPacket[2U]; MQTTFixedBuffer_t localBuffer; localBuffer.pBuffer = pingreqPacket; - localBuffer.size = sizeof( pingreqPacket ); + localBuffer.size = sizeof(pingreqPacket); - if( pContext == NULL ) + if (pContext == NULL) { - LogError( ( "pContext is NULL." ) ); + LogError(("pContext is NULL.")); status = MQTTBadParameter; } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Get MQTT PINGREQ packet size. */ - status = MQTT_GetPingreqPacketSize( &packetSize ); + status = MQTT_GetPingreqPacketSize(&packetSize); - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { - assert( packetSize == localBuffer.size ); - LogDebug( ( "MQTT PINGREQ packet size is %lu.", - ( unsigned long ) packetSize ) ); + assert(packetSize == localBuffer.size); + LogDebug(("MQTT PINGREQ packet size is %lu.", + (unsigned long)packetSize)); } else { - LogError( ( "Failed to get the PINGREQ packet size." ) ); + LogError(("Failed to get the PINGREQ packet size.")); } } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Serialize MQTT PINGREQ. */ - status = MQTT_SerializePingreq( &localBuffer ); + status = MQTT_SerializePingreq(&localBuffer); } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Take the mutex as the send call should not be interrupted in * between. */ - MQTT_PRE_SEND_HOOK( pContext ); + MQTT_PRE_SEND_HOOK(pContext); /* Send the serialized PINGREQ packet to transport layer. * Here, we do not use the vectored IO approach for efficiency as the * Ping packet does not have numerous fields which need to be copied * from the user provided buffers. Thus it can be sent directly. */ - sendResult = sendBuffer( pContext, - localBuffer.pBuffer, - packetSize ); + sendResult = sendBuffer(pContext, + localBuffer.pBuffer, + packetSize); /* Give the mutex away. */ - MQTT_POST_SEND_HOOK( pContext ); + MQTT_POST_SEND_HOOK(pContext); /* It is an error to not send the entire PINGREQ packet. */ - if( sendResult < ( int32_t ) packetSize ) + if (sendResult < (int32_t)packetSize) { - LogError( ( "Transport send failed for PINGREQ packet." ) ); + LogError(("Transport send failed for PINGREQ packet.")); status = MQTTSendFailed; } else { pContext->pingReqSendTimeMs = pContext->lastPacketTxTime; pContext->waitingForPingResp = true; - LogDebug( ( "Sent %ld bytes of PINGREQ packet.", - ( long int ) sendResult ) ); + LogDebug(("Sent %ld bytes of PINGREQ packet.", + (long int)sendResult)); } } @@ -3137,44 +3274,44 @@ MQTTStatus_t MQTT_Ping( MQTTContext_t * pContext ) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_Unsubscribe( MQTTContext_t * pContext, - const MQTTSubscribeInfo_t * pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId ) +MQTTStatus_t MQTT_Unsubscribe(MQTTContext_t* pContext, + const MQTTSubscribeInfo_t* pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId) { size_t remainingLength = 0UL, packetSize = 0UL; /* Validate arguments. */ - MQTTStatus_t status = validateSubscribeUnsubscribeParams( pContext, - pSubscriptionList, - subscriptionCount, - packetId ); + MQTTStatus_t status = validateSubscribeUnsubscribeParams(pContext, + pSubscriptionList, + subscriptionCount, + packetId); - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Get the remaining length and packet size.*/ - status = MQTT_GetUnsubscribePacketSize( pSubscriptionList, - subscriptionCount, - &remainingLength, - &packetSize ); - LogDebug( ( "UNSUBSCRIBE packet size is %lu and remaining length is %lu.", - ( unsigned long ) packetSize, - ( unsigned long ) remainingLength ) ); + status = MQTT_GetUnsubscribePacketSize(pSubscriptionList, + subscriptionCount, + &remainingLength, + &packetSize); + LogDebug(("UNSUBSCRIBE packet size is %lu and remaining length is %lu.", + (unsigned long)packetSize, + (unsigned long)remainingLength)); } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Take the mutex because the below call should not be interrupted. */ - MQTT_PRE_SEND_HOOK( pContext ); + MQTT_PRE_SEND_HOOK(pContext); - status = sendUnsubscribeWithoutCopy( pContext, - pSubscriptionList, - subscriptionCount, - packetId, - remainingLength ); + status = sendUnsubscribeWithoutCopy(pContext, + pSubscriptionList, + subscriptionCount, + packetId, + remainingLength); /* Give the mutex away. */ - MQTT_POST_SEND_HOOK( pContext ); + MQTT_POST_SEND_HOOK(pContext); } return status; @@ -3182,73 +3319,73 @@ MQTTStatus_t MQTT_Unsubscribe( MQTTContext_t * pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_Disconnect( MQTTContext_t * pContext ) +MQTTStatus_t MQTT_Disconnect(MQTTContext_t* pContext) { size_t packetSize = 0U; int32_t sendResult = 0; MQTTStatus_t status = MQTTSuccess; MQTTFixedBuffer_t localBuffer; - uint8_t disconnectPacket[ 2U ]; + uint8_t disconnectPacket[2U]; localBuffer.pBuffer = disconnectPacket; localBuffer.size = 2U; /* Validate arguments. */ - if( pContext == NULL ) + if (pContext == NULL) { - LogError( ( "pContext cannot be NULL." ) ); + LogError(("pContext cannot be NULL.")); status = MQTTBadParameter; } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Get MQTT DISCONNECT packet size. */ - status = MQTT_GetDisconnectPacketSize( &packetSize ); - LogDebug( ( "MQTT DISCONNECT packet size is %lu.", - ( unsigned long ) packetSize ) ); + status = MQTT_GetDisconnectPacketSize(&packetSize); + LogDebug(("MQTT DISCONNECT packet size is %lu.", + (unsigned long)packetSize)); } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Serialize MQTT DISCONNECT packet. */ - status = MQTT_SerializeDisconnect( &localBuffer ); + status = MQTT_SerializeDisconnect(&localBuffer); } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Take the mutex because the below call should not be interrupted. */ - MQTT_PRE_SEND_HOOK( pContext ); + MQTT_PRE_SEND_HOOK(pContext); /* Here we do not use vectors as the disconnect packet has fixed fields * which do not reside in user provided buffers. Thus, it can be sent * using a simple send call. */ - sendResult = sendBuffer( pContext, - localBuffer.pBuffer, - packetSize ); + sendResult = sendBuffer(pContext, + localBuffer.pBuffer, + packetSize); /* Give the mutex away. */ - MQTT_POST_SEND_HOOK( pContext ); + MQTT_POST_SEND_HOOK(pContext); - if( sendResult < ( int32_t ) packetSize ) + if (sendResult < (int32_t)packetSize) { - LogError( ( "Transport send failed for DISCONNECT packet." ) ); + LogError(("Transport send failed for DISCONNECT packet.")); status = MQTTSendFailed; } else { - LogDebug( ( "Sent %ld bytes of DISCONNECT packet.", - ( long int ) sendResult ) ); + LogDebug(("Sent %ld bytes of DISCONNECT packet.", + (long int)sendResult)); } } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { - LogInfo( ( "Disconnected from the broker." ) ); + LogInfo(("Disconnected from the broker.")); pContext->connectStatus = MQTTNotConnected; /* Reset the index and clean the buffer on a successful disconnect. */ pContext->index = 0; - ( void ) memset( pContext->networkBuffer.pBuffer, 0, pContext->networkBuffer.size ); + (void)memset(pContext->networkBuffer.pBuffer, 0, pContext->networkBuffer.size); } return status; @@ -3256,26 +3393,26 @@ MQTTStatus_t MQTT_Disconnect( MQTTContext_t * pContext ) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_ProcessLoop( MQTTContext_t * pContext ) +MQTTStatus_t MQTT_ProcessLoop(MQTTContext_t* pContext) { MQTTStatus_t status = MQTTBadParameter; - if( pContext == NULL ) + if (pContext == NULL) { - LogError( ( "Invalid input parameter: MQTT Context cannot be NULL." ) ); + LogError(("Invalid input parameter: MQTT Context cannot be NULL.")); } - else if( pContext->getTime == NULL ) + else if (pContext->getTime == NULL) { - LogError( ( "Invalid input parameter: MQTT Context must have valid getTime." ) ); + LogError(("Invalid input parameter: MQTT Context must have valid getTime.")); } - else if( pContext->networkBuffer.pBuffer == NULL ) + else if (pContext->networkBuffer.pBuffer == NULL) { - LogError( ( "Invalid input parameter: The MQTT context's networkBuffer must not be NULL." ) ); + LogError(("Invalid input parameter: The MQTT context's networkBuffer must not be NULL.")); } else { pContext->controlPacketSent = false; - status = receiveSingleIteration( pContext, true ); + status = receiveSingleIteration(pContext, true); } return status; @@ -3283,25 +3420,25 @@ MQTTStatus_t MQTT_ProcessLoop( MQTTContext_t * pContext ) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_ReceiveLoop( MQTTContext_t * pContext ) +MQTTStatus_t MQTT_ReceiveLoop(MQTTContext_t* pContext) { MQTTStatus_t status = MQTTBadParameter; - if( pContext == NULL ) + if (pContext == NULL) { - LogError( ( "Invalid input parameter: MQTT Context cannot be NULL." ) ); + LogError(("Invalid input parameter: MQTT Context cannot be NULL.")); } - else if( pContext->getTime == NULL ) + else if (pContext->getTime == NULL) { - LogError( ( "Invalid input parameter: MQTT Context must have a valid getTime function." ) ); + LogError(("Invalid input parameter: MQTT Context must have a valid getTime function.")); } - else if( pContext->networkBuffer.pBuffer == NULL ) + else if (pContext->networkBuffer.pBuffer == NULL) { - LogError( ( "Invalid input parameter: MQTT context's networkBuffer must not be NULL." ) ); + LogError(("Invalid input parameter: MQTT context's networkBuffer must not be NULL.")); } else { - status = receiveSingleIteration( pContext, false ); + status = receiveSingleIteration(pContext, false); } return status; @@ -3309,19 +3446,19 @@ MQTTStatus_t MQTT_ReceiveLoop( MQTTContext_t * pContext ) /*-----------------------------------------------------------*/ -uint16_t MQTT_GetPacketId( MQTTContext_t * pContext ) +uint16_t MQTT_GetPacketId(MQTTContext_t* pContext) { uint16_t packetId = 0U; - if( pContext != NULL ) + if (pContext != NULL) { - MQTT_PRE_STATE_UPDATE_HOOK( pContext ); + MQTT_PRE_STATE_UPDATE_HOOK(pContext); packetId = pContext->nextPacketId; /* A packet ID of zero is not a valid packet ID. When the max ID * is reached the next one should start at 1. */ - if( pContext->nextPacketId == ( uint16_t ) UINT16_MAX ) + if (pContext->nextPacketId == (uint16_t)UINT16_MAX) { pContext->nextPacketId = 1; } @@ -3330,7 +3467,7 @@ uint16_t MQTT_GetPacketId( MQTTContext_t * pContext ) pContext->nextPacketId++; } - MQTT_POST_STATE_UPDATE_HOOK( pContext ); + MQTT_POST_STATE_UPDATE_HOOK(pContext); } return packetId; @@ -3338,63 +3475,63 @@ uint16_t MQTT_GetPacketId( MQTTContext_t * pContext ) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_MatchTopic( const char * pTopicName, - const uint16_t topicNameLength, - const char * pTopicFilter, - const uint16_t topicFilterLength, - bool * pIsMatch ) +MQTTStatus_t MQTT_MatchTopic(const char* pTopicName, + const uint16_t topicNameLength, + const char* pTopicFilter, + const uint16_t topicFilterLength, + bool* pIsMatch) { MQTTStatus_t status = MQTTSuccess; bool topicFilterStartsWithWildcard = false; bool matchStatus = false; - if( ( pTopicName == NULL ) || ( topicNameLength == 0u ) ) + if ((pTopicName == NULL) || (topicNameLength == 0u)) { - LogError( ( "Invalid paramater: Topic name should be non-NULL and its " - "length should be > 0: TopicName=%p, TopicNameLength=%hu", - ( void * ) pTopicName, - ( unsigned short ) topicNameLength ) ); + LogError(("Invalid paramater: Topic name should be non-NULL and its " + "length should be > 0: TopicName=%p, TopicNameLength=%hu", + (void*)pTopicName, + (unsigned short)topicNameLength)); status = MQTTBadParameter; } - else if( ( pTopicFilter == NULL ) || ( topicFilterLength == 0u ) ) + else if ((pTopicFilter == NULL) || (topicFilterLength == 0u)) { - LogError( ( "Invalid paramater: Topic filter should be non-NULL and " - "its length should be > 0: TopicName=%p, TopicFilterLength=%hu", - ( void * ) pTopicFilter, - ( unsigned short ) topicFilterLength ) ); + LogError(("Invalid paramater: Topic filter should be non-NULL and " + "its length should be > 0: TopicName=%p, TopicFilterLength=%hu", + (void*)pTopicFilter, + (unsigned short)topicFilterLength)); status = MQTTBadParameter; } - else if( pIsMatch == NULL ) + else if (pIsMatch == NULL) { - LogError( ( "Invalid paramater: Output parameter, pIsMatch, is NULL" ) ); + LogError(("Invalid paramater: Output parameter, pIsMatch, is NULL")); status = MQTTBadParameter; } else { /* Check for an exact match if the incoming topic name and the registered * topic filter length match. */ - if( topicNameLength == topicFilterLength ) + if (topicNameLength == topicFilterLength) { - matchStatus = strncmp( pTopicName, pTopicFilter, topicNameLength ) == 0; + matchStatus = strncmp(pTopicName, pTopicFilter, topicNameLength) == 0; } - if( matchStatus == false ) + if (matchStatus == false) { /* If an exact match was not found, match against wildcard characters in * topic filter.*/ - /* Determine if topic filter starts with a wildcard. */ - topicFilterStartsWithWildcard = ( pTopicFilter[ 0 ] == '+' ) || - ( pTopicFilter[ 0 ] == '#' ); + /* Determine if topic filter starts with a wildcard. */ + topicFilterStartsWithWildcard = (pTopicFilter[0] == '+') || + (pTopicFilter[0] == '#'); /* Note: According to the MQTT 3.1.1 specification, incoming PUBLISH topic names * starting with "$" character cannot be matched against topic filter starting with * a wildcard, i.e. for example, "$SYS/sport" cannot be matched with "#" or * "+/sport" topic filters. */ - if( !( ( pTopicName[ 0 ] == '$' ) && ( topicFilterStartsWithWildcard == true ) ) ) + if (!((pTopicName[0] == '$') && (topicFilterStartsWithWildcard == true))) { - matchStatus = matchTopicFilter( pTopicName, topicNameLength, pTopicFilter, topicFilterLength ); + matchStatus = matchTopicFilter(pTopicName, topicNameLength, pTopicFilter, topicFilterLength); } } @@ -3407,48 +3544,48 @@ MQTTStatus_t MQTT_MatchTopic( const char * pTopicName, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetSubAckStatusCodes( const MQTTPacketInfo_t * pSubackPacket, - uint8_t ** pPayloadStart, - size_t * pPayloadSize ) +MQTTStatus_t MQTT_GetSubAckStatusCodes(const MQTTPacketInfo_t* pSubackPacket, + uint8_t** pPayloadStart, + size_t* pPayloadSize) { MQTTStatus_t status = MQTTSuccess; - if( pSubackPacket == NULL ) + if (pSubackPacket == NULL) { - LogError( ( "Invalid parameter: pSubackPacket is NULL." ) ); + LogError(("Invalid parameter: pSubackPacket is NULL.")); status = MQTTBadParameter; } - else if( pPayloadStart == NULL ) + else if (pPayloadStart == NULL) { - LogError( ( "Invalid parameter: pPayloadStart is NULL." ) ); + LogError(("Invalid parameter: pPayloadStart is NULL.")); status = MQTTBadParameter; } - else if( pPayloadSize == NULL ) + else if (pPayloadSize == NULL) { - LogError( ( "Invalid parameter: pPayloadSize is NULL." ) ); + LogError(("Invalid parameter: pPayloadSize is NULL.")); status = MQTTBadParameter; } - else if( pSubackPacket->type != MQTT_PACKET_TYPE_SUBACK ) + else if (pSubackPacket->type != MQTT_PACKET_TYPE_SUBACK) { - LogError( ( "Invalid parameter: Input packet is not a SUBACK packet: " - "ExpectedType=%02x, InputType=%02x", - ( int ) MQTT_PACKET_TYPE_SUBACK, - ( int ) pSubackPacket->type ) ); + LogError(("Invalid parameter: Input packet is not a SUBACK packet: " + "ExpectedType=%02x, InputType=%02x", + (int)MQTT_PACKET_TYPE_SUBACK, + (int)pSubackPacket->type)); status = MQTTBadParameter; } - else if( pSubackPacket->pRemainingData == NULL ) + else if (pSubackPacket->pRemainingData == NULL) { - LogError( ( "Invalid parameter: pSubackPacket->pRemainingData is NULL" ) ); + LogError(("Invalid parameter: pSubackPacket->pRemainingData is NULL")); status = MQTTBadParameter; } /* A SUBACK must have a remaining length of at least 3 to accommodate the * packet identifier and at least 1 return code. */ - else if( pSubackPacket->remainingLength < 3U ) + else if (pSubackPacket->remainingLength < 3U) { - LogError( ( "Invalid parameter: Packet remaining length is invalid: " - "Should be greater than 2 for SUBACK packet: InputRemainingLength=%lu", - ( unsigned long ) pSubackPacket->remainingLength ) ); + LogError(("Invalid parameter: Packet remaining length is invalid: " + "Should be greater than 2 for SUBACK packet: InputRemainingLength=%lu", + (unsigned long)pSubackPacket->remainingLength)); status = MQTTBadParameter; } else @@ -3457,8 +3594,8 @@ MQTTStatus_t MQTT_GetSubAckStatusCodes( const MQTTPacketInfo_t * pSubackPacket, * length of the variable header (2 bytes) plus the length of the payload. * Therefore, we add 2 positions for the starting address of the payload, and * subtract 2 bytes from the remaining length for the length of the payload.*/ - *pPayloadStart = &pSubackPacket->pRemainingData[ sizeof( uint16_t ) ]; - *pPayloadSize = pSubackPacket->remainingLength - sizeof( uint16_t ); + *pPayloadStart = &pSubackPacket->pRemainingData[sizeof(uint16_t)]; + *pPayloadSize = pSubackPacket->remainingLength - sizeof(uint16_t); } return status; @@ -3466,63 +3603,63 @@ MQTTStatus_t MQTT_GetSubAckStatusCodes( const MQTTPacketInfo_t * pSubackPacket, /*-----------------------------------------------------------*/ -const char * MQTT_Status_strerror( MQTTStatus_t status ) +const char* MQTT_Status_strerror(MQTTStatus_t status) { - const char * str = NULL; + const char* str = NULL; - switch( status ) + switch (status) { - case MQTTSuccess: - str = "MQTTSuccess"; - break; + case MQTTSuccess: + str = "MQTTSuccess"; + break; - case MQTTBadParameter: - str = "MQTTBadParameter"; - break; + case MQTTBadParameter: + str = "MQTTBadParameter"; + break; - case MQTTNoMemory: - str = "MQTTNoMemory"; - break; + case MQTTNoMemory: + str = "MQTTNoMemory"; + break; - case MQTTSendFailed: - str = "MQTTSendFailed"; - break; + case MQTTSendFailed: + str = "MQTTSendFailed"; + break; - case MQTTRecvFailed: - str = "MQTTRecvFailed"; - break; + case MQTTRecvFailed: + str = "MQTTRecvFailed"; + break; - case MQTTBadResponse: - str = "MQTTBadResponse"; - break; + case MQTTBadResponse: + str = "MQTTBadResponse"; + break; - case MQTTServerRefused: - str = "MQTTServerRefused"; - break; + case MQTTServerRefused: + str = "MQTTServerRefused"; + break; - case MQTTNoDataAvailable: - str = "MQTTNoDataAvailable"; - break; + case MQTTNoDataAvailable: + str = "MQTTNoDataAvailable"; + break; - case MQTTIllegalState: - str = "MQTTIllegalState"; - break; + case MQTTIllegalState: + str = "MQTTIllegalState"; + break; - case MQTTStateCollision: - str = "MQTTStateCollision"; - break; + case MQTTStateCollision: + str = "MQTTStateCollision"; + break; - case MQTTKeepAliveTimeout: - str = "MQTTKeepAliveTimeout"; - break; + case MQTTKeepAliveTimeout: + str = "MQTTKeepAliveTimeout"; + break; - case MQTTNeedMoreBytes: - str = "MQTTNeedMoreBytes"; - break; + case MQTTNeedMoreBytes: + str = "MQTTNeedMoreBytes"; + break; - default: - str = "Invalid MQTT Status code"; - break; + default: + str = "Invalid MQTT Status code"; + break; } return str; diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 08fc4706d..3a2d16284 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -22,32 +22,31 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/** - * @file core_mqtt_serializer.c - * @brief Implements the user-facing functions in core_mqtt_serializer.h. - */ + /** + * @file core_mqtt_serializer.c + * @brief Implements the user-facing functions in core_mqtt_serializer.h. + */ #include #include #include "core_mqtt_serializer.h" -/* Include config defaults header to get default values of configs. */ + /* Include config defaults header to get default values of configs. */ #include "core_mqtt_config_defaults.h" /** * @brief MQTT protocol version 3.1.1. */ #define MQTT_VERSION_3_1_1 ( ( uint8_t ) 4U ) -#define MQTT_VERSION_5 ( ( uint8_t ) 5U ) -/** - * @brief Size of the fixed and variable header of a CONNECT packet. - */ + /** + * @brief Size of the fixed and variable header of a CONNECT packet. + */ #define MQTT_PACKET_CONNECT_HEADER_SIZE ( 10UL ) #define UINT16_MAX (65535U) -/* MQTT CONNECT flags. */ + /* MQTT CONNECT flags. */ #define MQTT_CONNECT_FLAG_CLEAN ( 1 ) /**< @brief Clean session. */ #define MQTT_CONNECT_FLAG_WILL ( 2 ) /**< @brief Will present. */ #define MQTT_CONNECT_FLAG_WILL_QOS1 ( 3 ) /**< @brief Will QoS 1. */ @@ -65,41 +64,43 @@ #define MQTT_PUBLISH_FLAG_QOS2 ( 2 ) /**< @brief MQTT PUBLISH QoS2 flag. */ #define MQTT_PUBLISH_FLAG_DUP ( 3 ) /**< @brief MQTT PUBLISH duplicate flag. */ -/** - * @brief The size of MQTT DISCONNECT packets, per MQTT spec. - */ + /** + * @brief The size of MQTT DISCONNECT packets, per MQTT spec. + */ #define MQTT_DISCONNECT_PACKET_SIZE ( 2UL ) -/** - * @brief A PINGREQ packet is always 2 bytes in size, defined by MQTT 3.1.1 spec. - */ + /** + * @brief A PINGREQ packet is always 2 bytes in size, defined by MQTT 3.1.1 spec. + */ #define MQTT_PACKET_PINGREQ_SIZE ( 2UL ) -/** - * @brief The Remaining Length field of MQTT disconnect packets, per MQTT spec. - */ + /** + * @brief The Remaining Length field of MQTT disconnect packets, per MQTT spec. + */ #define MQTT_DISCONNECT_REMAINING_LENGTH ( ( uint8_t ) 0 ) -/* - * Constants relating to CONNACK packets, defined by MQTT 3.1.1 spec. - */ + /* + * Constants relating to CONNACK packets, defined by MQTT 3.1.1 spec. + */ #define MQTT_PACKET_CONNACK_REMAINING_LENGTH ( ( uint8_t ) 2U ) /**< @brief A CONNACK packet always has a "Remaining length" of 2. */ #define MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK ( ( uint8_t ) 0x01U ) /**< @brief The "Session Present" bit is always the lowest bit. */ -/* - * UNSUBACK, PUBACK, PUBREC, PUBREL, and PUBCOMP always have a remaining length - * of 2. - */ + /* + * UNSUBACK, PUBACK, PUBREC, PUBREL, and PUBCOMP always have a remaining length + * of 2. + */ #define MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH ( ( uint8_t ) 2 ) /**< @brief PUBACK, PUBREC, PUBREl, PUBCOMP, UNSUBACK Remaining length. */ #define MQTT_PACKET_PINGRESP_REMAINING_LENGTH ( 0U ) /**< @brief A PINGRESP packet always has a "Remaining length" of 0. */ -/** - * @brief Per the MQTT 3.1.1 spec, the largest "Remaining Length" of an MQTT - * packet is this value, 256 MB. - */ + /** + * @brief Per the MQTT 3.1.1 spec, the largest "Remaining Length" of an MQTT + * packet is this value, 256 MB. + */ #define MQTT_MAX_REMAINING_LENGTH ( 268435455UL ) #if (MQTT_VERSION_5_ENABLED) + +#define MQTT_VERSION_5 (5U) #define MQTT_SESSION_EXPIRY_SIZE (5U) #define MQTT_RECEIVE_MAX_SIZE (3U) #define MQTT_MAX_PACKET_SIZE (5U) @@ -119,7 +120,7 @@ -// WILL PROPERTIES + // WILL PROPERTIES #define MQTT_WILL_DELAY_ID (0x18) #define MQTT_PAYLOAD_FORMAT_ID (0x01) #define MQTT_MSG_EXPIRY_ID (0x02) @@ -149,29 +150,29 @@ */ #define UINT8_SET_BIT( x, position ) ( ( x ) = ( uint8_t ) ( ( x ) | ( 0x01U << ( position ) ) ) ) -/** - * @brief Macro for checking if a bit is set in a 1-byte unsigned int. - * - * @param[in] x The unsigned int to check. - * @param[in] position Which bit to check. - */ + /** + * @brief Macro for checking if a bit is set in a 1-byte unsigned int. + * + * @param[in] x The unsigned int to check. + * @param[in] position Which bit to check. + */ #define UINT8_CHECK_BIT( x, position ) ( ( ( x ) & ( 0x01U << ( position ) ) ) == ( 0x01U << ( position ) ) ) -/** - * @brief Get the high byte of a 16-bit unsigned integer. - */ + /** + * @brief Get the high byte of a 16-bit unsigned integer. + */ #define UINT16_HIGH_BYTE( x ) ( ( uint8_t ) ( ( x ) >> 8 ) ) -/** - * @brief Get the low byte of a 16-bit unsigned integer. - */ + /** + * @brief Get the low byte of a 16-bit unsigned integer. + */ #define UINT16_LOW_BYTE( x ) ( ( uint8_t ) ( ( x ) & 0x00ffU ) ) -/** - * @brief Macro for decoding a 2-byte unsigned int from a sequence of bytes. - * - * @param[in] ptr A uint8_t* that points to the high byte. - */ + /** + * @brief Macro for decoding a 2-byte unsigned int from a sequence of bytes. + * + * @param[in] ptr A uint8_t* that points to the high byte. + */ #define UINT16_DECODE( ptr ) \ ( uint16_t ) ( ( ( ( uint16_t ) ptr[ 0 ] ) << 8 ) | \ ( ( uint16_t ) ptr[ 1 ] ) ) @@ -186,9 +187,9 @@ #define UINT32_BYTE0( x ) ( ( uint8_t ) ( ( x ) & 0x000000FFU ) ) -/** - * @brief Get the low byte of a 16-bit unsigned integer. - */ + /** + * @brief Get the low byte of a 16-bit unsigned integer. + */ #define UINT32_DECODE( ptr ) \ ( uint32_t ) ( ( ( ( uint32_t ) ptr[ 0 ] ) << 24 ) | \ ( ( ( uint32_t ) ptr[ 0 ] ) << 16 ) | \ @@ -198,26 +199,26 @@ #endif -/** - * @brief A value that represents an invalid remaining length. - * - * This value is greater than what is allowed by the MQTT specification. - */ + /** + * @brief A value that represents an invalid remaining length. + * + * This value is greater than what is allowed by the MQTT specification. + */ #define MQTT_REMAINING_LENGTH_INVALID ( ( size_t ) 268435456 ) -/** - * @brief The minimum remaining length for a QoS 0 PUBLISH. - * - * Includes two bytes for topic name length and one byte for topic name. - */ + /** + * @brief The minimum remaining length for a QoS 0 PUBLISH. + * + * Includes two bytes for topic name length and one byte for topic name. + */ #define MQTT_MIN_PUBLISH_REMAINING_LENGTH_QOS0 ( 3U ) -/*-----------------------------------------------------------*/ + /*-----------------------------------------------------------*/ -/** - * @brief MQTT Subscription packet types. - */ + /** + * @brief MQTT Subscription packet types. + */ typedef enum MQTTSubscriptionType { MQTT_SUBSCRIBE, /**< @brief The type is a SUBSCRIBE packet. */ @@ -241,11 +242,11 @@ typedef enum MQTTSubscriptionType * @brief param[in] serializePayload Copy payload to the serialized buffer * only if true. Only PUBLISH header will be serialized if false. */ -static void serializePublishCommon( const MQTTPublishInfo_t * pPublishInfo, - size_t remainingLength, - uint16_t packetIdentifier, - const MQTTFixedBuffer_t * pFixedBuffer, - bool serializePayload ); +static void serializePublishCommon(const MQTTPublishInfo_t* pPublishInfo, + size_t remainingLength, + uint16_t packetIdentifier, + const MQTTFixedBuffer_t* pFixedBuffer, + bool serializePayload); /** * @brief Calculates the packet size and remaining length of an MQTT @@ -258,9 +259,9 @@ static void serializePublishCommon( const MQTTPublishInfo_t * pPublishInfo, * @return false if the packet would exceed the size allowed by the * MQTT spec; true otherwise. */ -static bool calculatePublishPacketSize( const MQTTPublishInfo_t * pPublishInfo, - size_t * pRemainingLength, - size_t * pPacketSize ); +static bool calculatePublishPacketSize(const MQTTPublishInfo_t* pPublishInfo, + size_t* pRemainingLength, + size_t* pPacketSize); /** * @brief Calculates the packet size and remaining length of an MQTT @@ -277,11 +278,11 @@ static bool calculatePublishPacketSize( const MQTTPublishInfo_t * pPublishInfo, * #MQTTBadParameter if the packet would exceed the size allowed by the * MQTT spec or a subscription is empty; #MQTTSuccess otherwise. */ -static MQTTStatus_t calculateSubscriptionPacketSize( const MQTTSubscribeInfo_t * pSubscriptionList, - size_t subscriptionCount, - size_t * pRemainingLength, - size_t * pPacketSize, - MQTTSubscriptionType_t subscriptionType ); +static MQTTStatus_t calculateSubscriptionPacketSize(const MQTTSubscribeInfo_t* pSubscriptionList, + size_t subscriptionCount, + size_t* pRemainingLength, + size_t* pPacketSize, + MQTTSubscriptionType_t subscriptionType); /** * @brief Validates parameters of #MQTT_SerializeSubscribe or @@ -297,11 +298,11 @@ static MQTTStatus_t calculateSubscriptionPacketSize( const MQTTSubscribeInfo_t * * #MQTTBadParameter if invalid parameters are passed; * #MQTTSuccess otherwise. */ -static MQTTStatus_t validateSubscriptionSerializeParams( const MQTTSubscribeInfo_t * pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t * pFixedBuffer ); +static MQTTStatus_t validateSubscriptionSerializeParams(const MQTTSubscribeInfo_t* pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t* pFixedBuffer); /** * @brief Serialize an MQTT CONNECT packet in the given buffer. @@ -311,10 +312,10 @@ static MQTTStatus_t validateSubscriptionSerializeParams( const MQTTSubscribeInfo * @param[in] remainingLength Remaining Length of MQTT CONNECT packet. * @param[out] pFixedBuffer Buffer for packet serialization. */ -static void serializeConnectPacket( const MQTTConnectInfo_t * pConnectInfo, - const MQTTPublishInfo_t * pWillInfo, - size_t remainingLength, - const MQTTFixedBuffer_t * pFixedBuffer ); +static void serializeConnectPacket(const MQTTConnectInfo_t* pConnectInfo, + const MQTTPublishInfo_t* pWillInfo, + size_t remainingLength, + const MQTTFixedBuffer_t* pFixedBuffer); /** * @brief Prints the appropriate message for the CONNACK response code if logs @@ -322,7 +323,7 @@ static void serializeConnectPacket( const MQTTConnectInfo_t * pConnectInfo, * * @param[in] responseCode MQTT standard CONNACK response code. */ -static void logConnackResponse( uint8_t responseCode ); +static void logConnackResponse(uint8_t responseCode); /** * @brief Encodes the remaining length of the packet using the variable length @@ -334,8 +335,8 @@ static void logConnackResponse( uint8_t responseCode ); * * @return The location of the byte following the encoded value. */ -static uint8_t * encodeRemainingLength( uint8_t * pDestination, - size_t length ); +static uint8_t* encodeRemainingLength(uint8_t* pDestination, + size_t length); /** * @brief Retrieve the size of the remaining length if it were to be encoded. @@ -344,7 +345,7 @@ static uint8_t * encodeRemainingLength( uint8_t * pDestination, * * @return The size of the remaining length if it were to be encoded. */ -size_t remainingLengthEncodedSize( size_t length ); +size_t remainingLengthEncodedSize(size_t length); /** * @brief Encode a string whose size is at maximum 16 bits in length. @@ -355,9 +356,9 @@ size_t remainingLengthEncodedSize( size_t length ); * * @return A pointer to the end of the encoded string. */ -static uint8_t * encodeString( uint8_t * pDestination, - const char * pSource, - uint16_t sourceLength ); +static uint8_t* encodeString(uint8_t* pDestination, + const char* pSource, + uint16_t sourceLength); /** * @brief Retrieves and decodes the Remaining Length from the network interface @@ -368,8 +369,8 @@ static uint8_t * encodeString( uint8_t * pDestination, * * @return The Remaining Length of the incoming packet. */ -static size_t getRemainingLength( TransportRecv_t recvFunc, - NetworkContext_t * pNetworkContext ); +static size_t getRemainingLength(TransportRecv_t recvFunc, + NetworkContext_t* pNetworkContext); /** * @brief Retrieves, decodes and stores the Remaining Length from the network @@ -385,9 +386,9 @@ static size_t getRemainingLength( TransportRecv_t recvFunc, * packet is not yet fully received and decoded. Otherwise, MQTTSuccess * shows that processing of the packet was successful. */ -static MQTTStatus_t processRemainingLength( const uint8_t * pBuffer, - const size_t * pIndex, - MQTTPacketInfo_t * pIncomingPacket ); +static MQTTStatus_t processRemainingLength(const uint8_t* pBuffer, + const size_t* pIndex, + MQTTPacketInfo_t* pIncomingPacket); /** * @brief Check if an incoming packet type is valid. @@ -396,7 +397,7 @@ static MQTTStatus_t processRemainingLength( const uint8_t * pBuffer, * * @return `true` if the packet type is valid; `false` otherwise. */ -static bool incomingPacketValid( uint8_t packetType ); +static bool incomingPacketValid(uint8_t packetType); /** * @brief Check the remaining length of an incoming PUBLISH packet against some @@ -411,9 +412,9 @@ static bool incomingPacketValid( uint8_t packetType ); * * @return #MQTTSuccess or #MQTTBadResponse. */ -static MQTTStatus_t checkPublishRemainingLength( size_t remainingLength, - MQTTQoS_t qos, - size_t qos0Minimum ); +static MQTTStatus_t checkPublishRemainingLength(size_t remainingLength, + MQTTQoS_t qos, + size_t qos0Minimum); /** * @brief Process the flags of an incoming PUBLISH packet. @@ -424,8 +425,8 @@ static MQTTStatus_t checkPublishRemainingLength( size_t remainingLength, * * @return #MQTTSuccess or #MQTTBadResponse. */ -static MQTTStatus_t processPublishFlags( uint8_t publishFlags, - MQTTPublishInfo_t * pPublishInfo ); +static MQTTStatus_t processPublishFlags(uint8_t publishFlags, + MQTTPublishInfo_t* pPublishInfo); /** * @brief Deserialize a CONNACK packet. @@ -440,8 +441,8 @@ static MQTTStatus_t processPublishFlags( uint8_t publishFlags, * #MQTTServerRefused if CONNACK specifies that CONNECT was rejected; * #MQTTBadResponse if the CONNACK packet doesn't follow MQTT spec. */ -static MQTTStatus_t deserializeConnack( const MQTTPacketInfo_t * pConnack, - bool * pSessionPresent ); +static MQTTStatus_t deserializeConnack(const MQTTPacketInfo_t* pConnack, + bool* pSessionPresent); /** * @brief Decode the status bytes of a SUBACK packet to a #MQTTStatus_t. @@ -451,8 +452,8 @@ static MQTTStatus_t deserializeConnack( const MQTTPacketInfo_t * pConnack, * * @return #MQTTSuccess, #MQTTServerRefused, or #MQTTBadResponse. */ -static MQTTStatus_t readSubackStatus( size_t statusCount, - const uint8_t * pStatusStart ); +static MQTTStatus_t readSubackStatus(size_t statusCount, + const uint8_t* pStatusStart); /** * @brief Deserialize a SUBACK packet. @@ -466,8 +467,8 @@ static MQTTStatus_t readSubackStatus( size_t statusCount, * @return #MQTTSuccess if SUBACK is valid; #MQTTBadResponse if SUBACK packet * doesn't follow the MQTT spec. */ -static MQTTStatus_t deserializeSuback( const MQTTPacketInfo_t * pSuback, - uint16_t * pPacketIdentifier ); +static MQTTStatus_t deserializeSuback(const MQTTPacketInfo_t* pSuback, + uint16_t* pPacketIdentifier); /** * @brief Deserialize a PUBLISH packet received from the server. @@ -485,9 +486,9 @@ static MQTTStatus_t deserializeSuback( const MQTTPacketInfo_t * pSuback, * @return #MQTTSuccess if PUBLISH is valid; #MQTTBadResponse * if the PUBLISH packet doesn't follow MQTT spec. */ -static MQTTStatus_t deserializePublish( const MQTTPacketInfo_t * pIncomingPacket, - uint16_t * pPacketId, - MQTTPublishInfo_t * pPublishInfo ); +static MQTTStatus_t deserializePublish(const MQTTPacketInfo_t* pIncomingPacket, + uint16_t* pPacketId, + MQTTPublishInfo_t* pPublishInfo); /** * @brief Deserialize an UNSUBACK, PUBACK, PUBREC, PUBREL, or PUBCOMP packet. @@ -501,8 +502,8 @@ static MQTTStatus_t deserializePublish( const MQTTPacketInfo_t * pIncomingPacket * @return #MQTTSuccess if UNSUBACK, PUBACK, PUBREC, PUBREL, or PUBCOMP is valid; * #MQTTBadResponse if the packet doesn't follow the MQTT spec. */ -static MQTTStatus_t deserializeSimpleAck( const MQTTPacketInfo_t * pAck, - uint16_t * pPacketIdentifier ); +static MQTTStatus_t deserializeSimpleAck(const MQTTPacketInfo_t* pAck, + uint16_t* pPacketIdentifier); /** * @brief Deserialize a PINGRESP packet. @@ -514,123 +515,100 @@ static MQTTStatus_t deserializeSimpleAck( const MQTTPacketInfo_t * pAck, * @return #MQTTSuccess if PINGRESP is valid; #MQTTBadResponse if the PINGRESP * packet doesn't follow MQTT spec. */ -static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); +static MQTTStatus_t deserializePingresp(const MQTTPacketInfo_t* pPingresp); -size_t addEncodedStringToVector( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ], - const char * const string, - uint16_t length, - TransportOutVector_t * iterator, - size_t * updatedLength ); #if (MQTT_VERSION_5_ENABLED) -MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t * userProperty, uint16_t size,size_t *length); - +MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* userProperty, uint16_t size, size_t* length); -MQTTStatus_t MQTT_GetConnectPropertiesSize (MQTTConnectProperties_t * pConnectProperties, - size_t * pPacketSize ); -MQTTStatus_t MQTT_GetWillPropertiesSize ( MQTTPublishInfo_t * pConnectProperties, - uint32_t willDelay); +MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProperties, + size_t* pPacketSize); -uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex,const MQTTConnectProperties_t * pConnectProperties); +MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pConnectProperties, + uint32_t willDelay); -uint8_t * SerializePublishProperties(uint8_t *pIndex, const MQTTPublishInfo_t *pPublishProperties, uint32_t willDelay); +uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex, const MQTTConnectProperties_t* pConnectProperties); -size_t MQTT_SerializeUserProperty(MQTTUserProperty_t * userProperty, uint16_t size,TransportOutVector_t *iterator,size_t* totalMessageLength); +uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t* pPublishInfo, uint8_t* pIndex, uint32_t willDelay); -size_t MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, TransportOutVector_t *iterator, size_t * updatedLength,uint32_t willDelay); +MQTTStatus_t decodeVariableLength(const uint8_t* pBuffer, size_t* length); -MQTTStatus_t decodeVariableLength( const uint8_t * pBuffer, size_t* length); +MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacket, + bool* pSessionPresent); -MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t * pIncomingPacket, - bool * pSessionPresent ); +MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperties, const MQTTPacketInfo_t* pIncomingPacket, -MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackProperties,const MQTTPacketInfo_t * pIncomingPacket, - - bool * pSessionPresent ); + bool* pSessionPresent); - size_t addEncodedStringToVectorWithId( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ], - const char * const string, - uint16_t length, - TransportOutVector_t * iterator, - size_t * updatedLength,uint8_t packetId ); /*-----------------------------------------------------------*/ - size_t addEncodedStringToVectorWithId( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ], - const char * const string, - uint16_t length, - TransportOutVector_t * iterator, - size_t * updatedLength,uint8_t packetId ) -{ - size_t packetLength = 0U; - TransportOutVector_t * pLocalIterator = iterator; - size_t vectorsAdded = 0U; - - /* When length is non-zero, the string must be non-NULL. */ - assert( ( length != 0U ) ? ( string != NULL ) : true ); - serializedLength[ 0 ] = ( ( uint8_t ) ( ( length ) >> 8 ) ); - serializedLength[ 1 ] = ( ( uint8_t ) ( ( length ) & 0x00ffU ) ); - - /* Add the packet id first. */ - pLocalIterator[ 0 ].iov_base = &packetId; - pLocalIterator[ 0 ].iov_len = CORE_MQTT_ID_SIZE; - vectorsAdded++; - packetLength = CORE_MQTT_ID_SIZE; - - /* Add the serialized length of the string. */ - pLocalIterator[ 1 ].iov_base = serializedLength; - pLocalIterator[ 1 ].iov_len = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; - vectorsAdded++; - packetLength += CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; - - /* Sometimes the string can be NULL that is, of 0 length. In that case, - * only the length field should be encoded in the vector. */ - if( ( string != NULL ) && ( length != 0U ) ) +uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t* pPublishInfo, uint8_t* pIndex, uint32_t willDelay) { + uint8_t* pIndexLocal = pIndex; + pIndexLocal = encodeRemainingLength(pIndexLocal, pPublishInfo->propertyLength); + if (willDelay != 0U) { - /* Then add the pointer to the string itself. */ - pLocalIterator[ 2 ].iov_base = string; - pLocalIterator[ 2 ].iov_len = length; - vectorsAdded++; - packetLength += length; + *pIndexLocal = MQTT_WILL_DELAY_ID; + pIndexLocal++; + pIndexLocal[0] = UINT32_BYTE3(willDelay); + pIndexLocal[1] = UINT32_BYTE2(willDelay); + pIndexLocal[2] = UINT32_BYTE1(willDelay); + pIndexLocal[3] = UINT32_BYTE0(willDelay); + pIndexLocal = &pIndexLocal[4]; + } + if (pPublishInfo->payloadFormat != 0) + { + *pIndexLocal = MQTT_PAYLOAD_FORMAT_ID; + pIndexLocal++; + *pIndexLocal = pPublishInfo->payloadFormat; } + if (pPublishInfo->msgExpiryInterval != 0U) + { + *pIndexLocal = MQTT_MSG_EXPIRY_ID; + pIndexLocal++; + pIndexLocal[0] = UINT32_BYTE3(pPublishInfo->msgExpiryInterval); + pIndexLocal[1] = UINT32_BYTE2(pPublishInfo->msgExpiryInterval); + pIndexLocal[2] = UINT32_BYTE1(pPublishInfo->msgExpiryInterval); + pIndexLocal[3] = UINT32_BYTE0(pPublishInfo->msgExpiryInterval); + pIndexLocal = &pIndexLocal[4]; - ( *updatedLength ) = ( *updatedLength ) + packetLength; + } + return pIndexLocal; - return vectorsAdded; } /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t * userProperty, uint16_t size, size_t* length){ - MQTTStatus_t status= MQTTSuccess; - uint16_t i=0; - if(size>MAX_USER_PROPERTY){ - status=MQTTBadParameter; +MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* userProperty, uint16_t size, size_t* length) { + MQTTStatus_t status = MQTTSuccess; + uint16_t i = 0; + if (size > MAX_USER_PROPERTY) { + status = MQTTBadParameter; } - else if(size!=0 && userProperty==NULL){ - status=MQTTBadParameter; + else if (size != 0 && userProperty == NULL) { + status = MQTTBadParameter; } - else{ - for(;ikeyLength==0 || (userProperty+i)->valueLength==0||(userProperty+i)->key==NULL || (userProperty+i)->value==NULL ){ - status=MQTTBadParameter; + else { + for (;i < size && status == MQTTSuccess;i++) { + if ((userProperty + i) == NULL || (userProperty + i)->keyLength == 0 || (userProperty + i)->valueLength == 0 || (userProperty + i)->key == NULL || (userProperty + i)->value == NULL) { + status = MQTTBadParameter; } - *length+=(userProperty+i)->keyLength+3U; - *length+=(userProperty+i)->valueLength+2U; + *length += (userProperty + i)->keyLength + 3U; + *length += (userProperty + i)->valueLength + 2U; } } return status; -} +} -MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t *pConnectProperties, - size_t *pPacketSize) +MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProperties, + size_t* pPacketSize) { size_t propertyLength = 0U; MQTTStatus_t status = MQTTSuccess; @@ -677,17 +655,17 @@ MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t *pConnectProp { propertyLength += pConnectProperties->outgoingAuth->authMethodLength; propertyLength += 3U; - if(pConnectProperties->outgoingAuth->authDataLength != 0U){ - propertyLength += pConnectProperties->outgoingAuth->authDataLength; - propertyLength += 3U; + if (pConnectProperties->outgoingAuth->authDataLength != 0U) { + propertyLength += pConnectProperties->outgoingAuth->authDataLength; + propertyLength += 3U; } } } - if(status==MQTTSuccess && pConnectProperties->outgoingUserPropSize!=0){ - status= MQTT_GetUserPropertySize(pConnectProperties->outgoingUserProperty,pConnectProperties->outgoingUserPropSize,&propertyLength); + if (status == MQTTSuccess && pConnectProperties->outgoingUserPropSize != 0) { + status = MQTT_GetUserPropertySize(pConnectProperties->outgoingUserProperty, pConnectProperties->outgoingUserPropSize, &propertyLength); } - if(pConnectProperties->propertyLength>UINT16_MAX){ - status= MQTTBadParameter; + if (pConnectProperties->propertyLength > UINT16_MAX) { + status = MQTTBadParameter; } pConnectProperties->propertyLength = propertyLength; @@ -695,8 +673,8 @@ MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t *pConnectProp } -MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillProperties, - uint32_t willDelay) +MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillProperties, + uint32_t willDelay) { size_t willLength = 0U; MQTTStatus_t status = MQTTSuccess; @@ -714,29 +692,29 @@ MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillProperties, } if (pWillProperties->contentTypeLength != 0U) { - willLength += pWillProperties->contentTypeLength+ 1U; + willLength += pWillProperties->contentTypeLength + 3U; } if (pWillProperties->responseTopicLength != 0U) { - willLength += pWillProperties->responseTopicLength + 1U; + willLength += pWillProperties->responseTopicLength + 3U; } if (pWillProperties->correlationLength != 0U) { - willLength += pWillProperties->correlationLength + 1U; + willLength += pWillProperties->correlationLength + 3U; } - if(status==MQTTSuccess){ - status= MQTT_GetUserPropertySize(pWillProperties->userProperty,pWillProperties->userPropertySize,&willLength); + if (status == MQTTSuccess) { + status = MQTT_GetUserPropertySize(pWillProperties->userProperty, pWillProperties->userPropertySize, &willLength); } - if(willLength>0xffff){ - status= MQTTBadParameter; + if (willLength > 0xffff) { + status = MQTTBadParameter; } - pWillProperties->propertyLength=willLength; + pWillProperties->propertyLength = willLength; return status; } -uint8_t * MQTT_SerializeConnectProperties(uint8_t *pIndex, const MQTTConnectProperties_t *pConnectProperties) +uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex, const MQTTConnectProperties_t* pConnectProperties) { - uint8_t *pIndexLocal = pIndex; + uint8_t* pIndexLocal = pIndex; pIndexLocal = encodeRemainingLength(pIndexLocal, pConnectProperties->propertyLength); if (pConnectProperties->sessionExpiry != 0) { @@ -791,235 +769,176 @@ uint8_t * MQTT_SerializeConnectProperties(uint8_t *pIndex, const MQTTConnectProp } return pIndexLocal; } -uint8_t * SerializePublishProperties(uint8_t *pIndex, const MQTTPublishInfo_t *pPublishInfo, uint32_t willDelay) -{ - uint8_t *pIndexLocal = pIndex; - pIndex = encodeRemainingLength( pIndex, pPublishInfo->propertyLength); - if (willDelay != 0U) - { - *pIndex = MQTT_WILL_DELAY_ID; - pIndex++; - pIndex[0] = UINT32_BYTE3(willDelay); - pIndex[1] = UINT32_BYTE2(willDelay); - pIndex[2] = UINT32_BYTE1(willDelay); - pIndex[3] = UINT32_BYTE0(willDelay); - pIndex = &pIndex[4]; - } - if (pPublishInfo->payloadFormat != 0) - { - *pIndex = MQTT_PAYLOAD_FORMAT_ID; - pIndex++; - *pIndex= pPublishInfo->payloadFormat; - } - if (pPublishInfo->msgExpiryInterval != 0U) - { - *pIndex = MQTT_MSG_EXPIRY_ID; - pIndex++; - pIndex[0] = UINT32_BYTE3(pPublishInfo->msgExpiryInterval); - pIndex[1] = UINT32_BYTE2(pPublishInfo->msgExpiryInterval); - pIndex[2] = UINT32_BYTE1(pPublishInfo->msgExpiryInterval); - pIndex[3] = UINT32_BYTE0(pPublishInfo->msgExpiryInterval); - pIndex = &pIndex[4]; - - } - return pIndexLocal; -} -size_t MQTT_SerializeUserProperty(MQTTUserProperty_t * userProperty, uint16_t size,TransportOutVector_t *iterator,size_t* totalMessageLength) -{ - uint8_t serializedUserKeyLength[ MAX_USER_PROPERTY ][2]; - uint8_t serializedUserValueLength[MAX_USER_PROPERTY][2]; - size_t vectorsAdded = 0U; - size_t ioVectorLength= 0U; - uint16_t i=0; - for(;ipropertyLength); - if (willDelay != 0U) - { - *pIndex = MQTT_WILL_DELAY_ID; - pIndex++; - pIndex[0] = UINT32_BYTE3(willDelay); - pIndex[1] = UINT32_BYTE2(willDelay); - pIndex[2] = UINT32_BYTE1(willDelay); - pIndex[3] = UINT32_BYTE0(willDelay); - pIndex = &pIndex[4]; - } - if (pPublishInfo->payloadFormat != 0) - { - *pIndex = MQTT_PAYLOAD_FORMAT_ID; - pIndex++; - *pIndex= pPublishInfo->payloadFormat; - } - if (pPublishInfo->msgExpiryInterval != 0U) - { - *pIndex = MQTT_MSG_EXPIRY_ID; - pIndex++; - pIndex[0] = UINT32_BYTE3(pPublishInfo->msgExpiryInterval); - pIndex[1] = UINT32_BYTE2(pPublishInfo->msgExpiryInterval); - pIndex[2] = UINT32_BYTE1(pPublishInfo->msgExpiryInterval); - pIndex[3] = UINT32_BYTE0(pPublishInfo->msgExpiryInterval); - pIndex = &pIndex[4]; - } - - iterator->iov_base = fixedSizeProperties; - iterator->iov_len = ( size_t ) ( pIndex - fixedSizeProperties ); - totalMessageLength += iterator->iov_len; - iterator++; - ioVectorLength++; - if ( pPublishInfo->contentTypeLength != 0U) - { - vectorsAdded = addEncodedStringToVectorWithId( serializedContentTypeLength, - pPublishInfo->contentType, - pPublishInfo->contentTypeLength, - iterator, - totalMessageLength,MQTT_CONTENT_TYPE_ID); - iterator = &iterator[ vectorsAdded ]; - ioVectorLength += vectorsAdded; - } - if ( pPublishInfo->responseTopicLength != 0U) - { - vectorsAdded = addEncodedStringToVectorWithId( serializedResponseTopicLength, - pPublishInfo->responseTopic, - pPublishInfo->responseTopicLength, - iterator, - totalMessageLength,MQTT_RESPONSE_TOPIC_ID ); - iterator = &iterator[ vectorsAdded ]; - ioVectorLength += vectorsAdded; - } - if (pPublishInfo->correlationLength != 0U) - { - vectorsAdded = addEncodedStringToVectorWithId(serailizedCorrelationLength, - pPublishInfo->correlationData, - pPublishInfo->correlationLength, - iterator, - totalMessageLength,MQTT_CORRELATION_DATA_ID); - iterator = &iterator[ vectorsAdded ]; - ioVectorLength += vectorsAdded; - } - if(pPublishInfo->userPropertySize!=0){ - ioVectorLength += MQTT_SerializeUserProperty(pPublishInfo->userProperty,pPublishInfo->userPropertySize,iterator,totalMessageLength); - } - return ioVectorLength; -}; - -MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t * pIncomingPacket, bool * pSessionPresent ) +// size_t MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, TransportOutVector_t *iterator, size_t * updatedLength,uint32_t willDelay){ +// uint8_t* pIndex=0; +// size_t vectorsAdded = 0U; +// size_t ioVectorLength= 0U; +// size_t * totalMessageLength=updatedLength; +// uint8_t serializedContentTypeLength[ 2 ]; +// uint8_t serializedResponseTopicLength[ 2 ]; +// uint8_t serailizedCorrelationLength[ 2 ]; +// // 4 byte + 4 byte delay + 2 byte payload format + 6 byte +// uint8_t fixedSizeProperties[ 20U]; +// pIndex= fixedSizeProperties; +// // 1 for fixed, 5 for variable +// pIndex = encodeRemainingLength( pIndex, pPublishInfo->propertyLength); +// if (willDelay != 0U) +// { +// *pIndex = MQTT_WILL_DELAY_ID; +// pIndex++; +// pIndex[0] = UINT32_BYTE3(willDelay); +// pIndex[1] = UINT32_BYTE2(willDelay); +// pIndex[2] = UINT32_BYTE1(willDelay); +// pIndex[3] = UINT32_BYTE0(willDelay); +// pIndex = &pIndex[4]; +// } +// if (pPublishInfo->payloadFormat != 0) +// { +// *pIndex = MQTT_PAYLOAD_FORMAT_ID; +// pIndex++; +// *pIndex= pPublishInfo->payloadFormat; +// } +// if (pPublishInfo->msgExpiryInterval != 0U) +// { +// *pIndex = MQTT_MSG_EXPIRY_ID; +// pIndex++; +// pIndex[0] = UINT32_BYTE3(pPublishInfo->msgExpiryInterval); +// pIndex[1] = UINT32_BYTE2(pPublishInfo->msgExpiryInterval); +// pIndex[2] = UINT32_BYTE1(pPublishInfo->msgExpiryInterval); +// pIndex[3] = UINT32_BYTE0(pPublishInfo->msgExpiryInterval); +// } + +// iterator->iov_base = fixedSizeProperties; +// iterator->iov_len = ( size_t ) ( pIndex - fixedSizeProperties ); +// totalMessageLength += iterator->iov_len; +// iterator++; +// ioVectorLength++; + +// if ( pPublishInfo->contentTypeLength != 0U) +// { +// vectorsAdded = addEncodedStringToVectorWithId( serializedContentTypeLength, +// pPublishInfo->contentType, +// pPublishInfo->contentTypeLength, +// iterator, +// totalMessageLength,MQTT_CONTENT_TYPE_ID); +// iterator = &iterator[ vectorsAdded ]; +// ioVectorLength += vectorsAdded; +// } +// if ( pPublishInfo->responseTopicLength != 0U) +// { +// vectorsAdded = addEncodedStringToVectorWithId( serializedResponseTopicLength, +// pPublishInfo->responseTopic, +// pPublishInfo->responseTopicLength, +// iterator, +// totalMessageLength,MQTT_RESPONSE_TOPIC_ID ); +// iterator = &iterator[ vectorsAdded ]; +// ioVectorLength += vectorsAdded; +// } +// if (pPublishInfo->correlationLength != 0U) +// { +// vectorsAdded = addEncodedStringToVectorWithId(serailizedCorrelationLength, +// pPublishInfo->correlationData, +// pPublishInfo->correlationLength, +// iterator, +// totalMessageLength,MQTT_CORRELATION_DATA_ID); +// iterator = &iterator[ vectorsAdded ]; +// ioVectorLength += vectorsAdded; +// } +// if(pPublishInfo->userPropertySize!=0){ +// ioVectorLength += MQTT_SerializeUserProperty(pPublishInfo->userProperty,pPublishInfo->userPropertySize,iterator,totalMessageLength); +// } +// return ioVectorLength; +// }; + +MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacket, bool* pSessionPresent) { -MQTTStatus_t status = MQTTSuccess; - if ( pIncomingPacket == NULL ) + MQTTStatus_t status = MQTTSuccess; + if (pIncomingPacket == NULL) { - LogError( ( "pIncomingPacket cannot be NULL." ) ); + LogError(("pIncomingPacket cannot be NULL.")); status = MQTTBadParameter; } - else if(pSessionPresent == NULL) + else if (pSessionPresent == NULL) { - LogError( ( "pSessionPresent cannot be NULL for CONNACK packet." ) ); + LogError(("pSessionPresent cannot be NULL for CONNACK packet.")); status = MQTTBadParameter; } - else if( pIncomingPacket->pRemainingData == NULL ) + else if (pIncomingPacket->pRemainingData == NULL) { - LogError( ( "Remaining data of incoming packet is NULL." ) ); + LogError(("Remaining data of incoming packet is NULL.")); status = MQTTBadParameter; } - else if(pIncomingPacket->type!=MQTT_PACKET_TYPE_CONNACK){ + else if (pIncomingPacket->type != MQTT_PACKET_TYPE_CONNACK) { - LogError( ( "Packet type is invalid." ) ); + LogError(("Packet type is invalid.")); status = MQTTBadParameter; } - else{ - const uint8_t * pRemainingData = NULL; - pRemainingData = pIncomingPacket->pRemainingData; - if( ( pRemainingData[ 0 ] | 0x01U ) != 0x01U ) - { - LogError( ( "Reserved bits in CONNACK incorrect." ) ); - - status = MQTTBadResponse; - } - else - { - /* Determine if the "Session Present" bit is set. This is the lowest bit of - * the third byte in CONNACK. */ - if( ( pRemainingData[ 0 ] & MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK ) - == MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK ) + else { + const uint8_t* pRemainingData = NULL; + pRemainingData = pIncomingPacket->pRemainingData; + if ((pRemainingData[0] | 0x01U) != 0x01U) { - LogDebug( ( "CONNACK session present bit set." ) ); - *pSessionPresent = true; + LogError(("Reserved bits in CONNACK incorrect.")); - /* MQTT 5 specifies that the fourth byte in CONNACK must be 0 if the - * "Session Present" bit is set. */ - if( pRemainingData[ 1 ] != 0U ) - { - LogError( ( "Session Present bit is set, but connect return code in CONNACK is %u (nonzero).", - ( unsigned int ) pRemainingData[ 1 ] ) ); - status = MQTTBadResponse; - } + status = MQTTBadResponse; } else { - LogDebug( ( "CONNACK session present bit not set." ) ); - *pSessionPresent = false; - } - } - if( status == MQTTSuccess ) - { - /* In MQTT 5, only values 0 , 80 through 9F are valid CONNACK response codes. */ - if( pRemainingData[ 1 ] !=0u && (pRemainingData[1]<0x80 || pRemainingData[1]>0x9F)) - { - LogError( ( "CONNACK response %u is invalid.", - ( unsigned int ) pRemainingData[ 1 ] ) ); - - status = MQTTBadResponse; + /* Determine if the "Session Present" bit is set. This is the lowest bit of + * the third byte in CONNACK. */ + if ((pRemainingData[0] & MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) + == MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) + { + LogDebug(("CONNACK session present bit set.")); + *pSessionPresent = true; + + /* MQTT 5 specifies that the fourth byte in CONNACK must be 0 if the + * "Session Present" bit is set. */ + if (pRemainingData[1] != 0U) + { + LogError(("Session Present bit is set, but connect return code in CONNACK is %u (nonzero).", + (unsigned int)pRemainingData[1])); + status = MQTTBadResponse; + } + } + else + { + LogDebug(("CONNACK session present bit not set.")); + *pSessionPresent = false; + } } - else + if (status == MQTTSuccess) { - /* Print the appropriate message for the CONNACK response code if logs are - * enabled. */ - logConnackResponse( pRemainingData[ 1 ] ); + /* In MQTT 5, only values 0 , 80 through 9F are valid CONNACK response codes. */ + if (pRemainingData[1] != 0u && (pRemainingData[1] < 0x80 || pRemainingData[1]>0x9F)) + { + LogError(("CONNACK response %u is invalid.", + (unsigned int)pRemainingData[1])); - /* A nonzero CONNACK response code means the connection was refused. */ - if( pRemainingData[ 1 ] > 0U ) + status = MQTTBadResponse; + } + else { - status = MQTTServerRefused; + /* Print the appropriate message for the CONNACK response code if logs are + * enabled. */ + logConnackResponse(pRemainingData[1]); + + /* A nonzero CONNACK response code means the connection was refused. */ + if (pRemainingData[1] > 0U) + { + status = MQTTServerRefused; + } } } } - } - + return status; } -MQTTStatus_t decodeVariableLength( const uint8_t * pBuffer, size_t* length) +MQTTStatus_t decodeVariableLength(const uint8_t* pBuffer, size_t* length) { size_t remainingLength = 0; size_t multiplier = 1; @@ -1031,42 +950,42 @@ MQTTStatus_t decodeVariableLength( const uint8_t * pBuffer, size_t* length) /* This algorithm is copied from the MQTT v3.1.1 spec. */ do { - if( multiplier > 2097152U ) /* 128 ^ 3 */ + if (multiplier > 2097152U) /* 128 ^ 3 */ { remainingLength = MQTT_REMAINING_LENGTH_INVALID; - LogError( ( "Invalid remaining length in the packet.\n" ) ); + LogError(("Invalid remaining length in the packet.\n")); status = MQTTBadResponse; } else { - /* Get the next byte. It is at the next position after the bytes - * decoded till now since the header of one byte was read before. */ - encodedByte = pBuffer[ bytesDecoded]; - remainingLength += ( ( size_t ) encodedByte & 0x7FU ) * multiplier; - multiplier *= 128U; - bytesDecoded++; - + /* Get the next byte. It is at the next position after the bytes + * decoded till now since the header of one byte was read before. */ + encodedByte = pBuffer[bytesDecoded]; + remainingLength += ((size_t)encodedByte & 0x7FU) * multiplier; + multiplier *= 128U; + bytesDecoded++; + } /* If the response is incorrect, or no more data is available, then * break out of the loop. */ - if( ( remainingLength == MQTT_REMAINING_LENGTH_INVALID ) || - ( status != MQTTSuccess ) ) + if ((remainingLength == MQTT_REMAINING_LENGTH_INVALID) || + (status != MQTTSuccess)) { break; } - } while( ( encodedByte & 0x80U ) != 0U ); + } while ((encodedByte & 0x80U) != 0U); - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Check that the decoded remaining length conforms to the MQTT specification. */ - expectedSize = remainingLengthEncodedSize( remainingLength ); + expectedSize = remainingLengthEncodedSize(remainingLength); - if( bytesDecoded != expectedSize ) + if (bytesDecoded != expectedSize) { - LogError( ( "Expected and actual length of decoded bytes do not match.\n" ) ); + LogError(("Expected and actual length of decoded bytes do not match.\n")); status = MQTTBadResponse; } else @@ -1078,367 +997,368 @@ MQTTStatus_t decodeVariableLength( const uint8_t * pBuffer, size_t* length) return status; } -MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackProperties,const MQTTPacketInfo_t * pIncomingPacket, - - bool * pSessionPresent ) +MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperties, const MQTTPacketInfo_t* pIncomingPacket, + + bool* pSessionPresent) { MQTTStatus_t status = MQTTSuccess; - status= validateConnackParams( pIncomingPacket,pSessionPresent ); - size_t propertyLength=0U; - uint8_t* pVariableHeader=NULL; - if(status==MQTTSuccess){ + status = validateConnackParams(pIncomingPacket, pSessionPresent); + size_t propertyLength = 0U; + uint8_t* pVariableHeader = NULL; + if (status == MQTTSuccess) { pVariableHeader = pIncomingPacket->pRemainingData; - pVariableHeader= &pVariableHeader[2]; - size_t remainingLengthSize= remainingLengthEncodedSize(pIncomingPacket->remainingLength); - status=decodeVariableLength(pVariableHeader,&propertyLength); - } - if(propertyLength==0U){ - status=MQTTProtocolError; - } - else if(pIncomingPacket->remainingLength!=1+propertyLength+remainingLengthEncodedSize(propertyLength)){ - status=MQTTMalformedPacket; - } - if(status==MQTTSuccess){ - bool sessionExpiry=false; - bool serverReceiveMax=false; - bool maxQos=false; - bool retain=false; - bool maxPacket=false; - bool clientId=false; - bool topicAlias=false; - bool reasonString=false; - bool wildcard=false; - bool subId=false; - bool sharedsub=false; - bool keepAlive=false; - bool responseInfo=false; - bool serverRef=false; - bool authMethod =false; - bool authData=false; - MQTTUserProperty_t *userProperty = pConnackProperties->incomingUserProperty; + pVariableHeader = &pVariableHeader[2]; + size_t remainingLengthSize = remainingLengthEncodedSize(pIncomingPacket->remainingLength); + pVariableHeader = &pVariableHeader[remainingLengthSize]; + status = decodeVariableLength(pVariableHeader, &propertyLength); + } + if (propertyLength == 0U) { + status = MQTTProtocolError; + } + else if (pIncomingPacket->remainingLength != 1 + propertyLength + remainingLengthEncodedSize(propertyLength)) { + status = MQTTMalformedPacket; + } + if (status == MQTTSuccess) { + bool sessionExpiry = false; + bool serverReceiveMax = false; + bool maxQos = false; + bool retain = false; + bool maxPacket = false; + bool clientId = false; + bool topicAlias = false; + bool reasonString = false; + bool wildcard = false; + bool subId = false; + bool sharedsub = false; + bool keepAlive = false; + bool responseInfo = false; + bool serverRef = false; + bool authMethod = false; + bool authData = false; + MQTTUserProperty_t* userProperty = pConnackProperties->incomingUserProperty; pVariableHeader=&pVariableHeader[remainingLengthEncodedSize(propertyLength)]; - while((propertyLength>0 )&& (status=MQTTSuccess)){ + while ((propertyLength > 0) && (status = MQTTSuccess)) { uint8_t packetId = *pVariableHeader; - pVariableHeader= &pVariableHeader[1]; - propertyLength-=1; - switch (packetId){ - case MQTT_SESSION_EXPIRY_ID: - if(sessionExpiry==true){ - status=MQTTProtocolError; - } - else if(propertyLength<4){ - status=MQTTMalformedPacket; - } - else{ - pConnackProperties->sessionExpiry= UINT32_DECODE(pVariableHeader); - pVariableHeader= &pVariableHeader[sizeof(uint32_t)]; - sessionExpiry=true; - propertyLength-=4; - } - break; - case MQTT_RECEIVE_MAX_ID: - if(serverReceiveMax==true){ + pVariableHeader = &pVariableHeader[1]; + propertyLength -= 1; + switch (packetId) { + case MQTT_SESSION_EXPIRY_ID: + if (sessionExpiry == true) { + status = MQTTProtocolError; + } + else if (propertyLength < 4) { + status = MQTTMalformedPacket; + } + else { + pConnackProperties->sessionExpiry = UINT32_DECODE(pVariableHeader); + pVariableHeader = &pVariableHeader[sizeof(uint32_t)]; + sessionExpiry = true; + propertyLength -= 4; + } + break; + case MQTT_RECEIVE_MAX_ID: + if (serverReceiveMax == true) { + status = MQTTProtocolError; + } + else if (propertyLength < 2) { + status = MQTTMalformedPacket; + } + else { + pConnackProperties->serverReceiveMax = UINT16_DECODE(pVariableHeader); + pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; + serverReceiveMax = true; + propertyLength -= 2; + if (pConnackProperties->serverReceiveMax == 0) { status = MQTTProtocolError; } - else if(propertyLength<2){ - status = MQTTMalformedPacket; - } - else{ - pConnackProperties->serverReceiveMax= UINT16_DECODE(pVariableHeader); - pVariableHeader= &pVariableHeader[sizeof(uint16_t)]; - serverReceiveMax=true; - propertyLength-=2; - if(pConnackProperties->serverReceiveMax==0){ - status=MQTTProtocolError; - } - } - break; - case MQTT_MAX_QOS_ID: - if(maxQos==true){ - status=MQTTProtocolError; - } - else if(propertyLength<1){ - status = MQTTMalformedPacket; - } - else{ - pConnackProperties->serverMaxQos=*pVariableHeader; - pVariableHeader= &pVariableHeader[sizeof(uint8_t)]; - maxQos=true; - propertyLength-=1; - if(pConnackProperties->serverMaxQos>1){ - status=MQTTProtocolError; - } - } - break; - case MQTT_RETAIN_AVAILABLE_ID: - if(retain==true){ - status=MQTTProtocolError; - } - else if(propertyLength<1){ - status = MQTTMalformedPacket; + } + break; + case MQTT_MAX_QOS_ID: + if (maxQos == true) { + status = MQTTProtocolError; + } + else if (propertyLength < 1) { + status = MQTTMalformedPacket; + } + else { + pConnackProperties->serverMaxQos = *pVariableHeader; + pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; + maxQos = true; + propertyLength -= 1; + if (pConnackProperties->serverMaxQos > 1) { + status = MQTTProtocolError; } - else{ - pConnackProperties->returnAvailable=*pVariableHeader; - pVariableHeader= &pVariableHeader[sizeof(uint8_t)]; - retain=true; - propertyLength-=1; - - if(pConnackProperties->returnAvailable>1){ - status=MQTTProtocolError; - } + } + break; + case MQTT_RETAIN_AVAILABLE_ID: + if (retain == true) { + status = MQTTProtocolError; + } + else if (propertyLength < 1) { + status = MQTTMalformedPacket; + } + else { + pConnackProperties->returnAvailable = *pVariableHeader; + pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; + retain = true; + propertyLength -= 1; + + if (pConnackProperties->returnAvailable > 1) { + status = MQTTProtocolError; } - break; - case MQTT_MAX_PACKET_SIZE_ID: - if(maxPacket==true){ - status=MQTTProtocolError; + } + break; + case MQTT_MAX_PACKET_SIZE_ID: + if (maxPacket == true) { + status = MQTTProtocolError; + } + else if (propertyLength < 4) { + status = MQTTMalformedPacket; + } + else { + pConnackProperties->serverMaxPacketSize = UINT32_DECODE(pVariableHeader); + pVariableHeader = &pVariableHeader[sizeof(uint32_t)]; + maxPacket = true; + propertyLength -= 4; + if (pConnackProperties->serverMaxPacketSize == 0) { + status = MQTTProtocolError; } - else if(propertyLength<4){ + } + break; + case MQTT_ASSIGNED_CLIENT_ID: + if (clientId == true) { + status = MQTTProtocolError; + } + else if (propertyLength < 2) { + status = MQTTMalformedPacket; + } + else { + pConnackProperties->clientIdLength = UINT16_DECODE(pVariableHeader); + pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; + propertyLength -= 2; + if (propertyLength < pConnackProperties->clientIdLength) { status = MQTTMalformedPacket; } - else{ - pConnackProperties->serverMaxPacketSize= UINT32_DECODE(pVariableHeader); - pVariableHeader= &pVariableHeader[sizeof(uint32_t)]; - maxPacket=true; - propertyLength-=4; - if( pConnackProperties->serverMaxPacketSize==0){ - status=MQTTProtocolError; - } - } - break; - case MQTT_ASSIGNED_CLIENT_ID: - if(clientId==true){ - status=MQTTProtocolError; - } - else if(propertyLength<2){ - status = MQTTMalformedPacket; + else { + pConnackProperties->clientIdentifier = (const char*)pVariableHeader; + pVariableHeader = &pVariableHeader[pConnackProperties->clientIdLength]; + propertyLength -= pConnackProperties->clientIdLength; + clientId = true; } - else{ - pConnackProperties->clientIdLength= UINT16_DECODE(pVariableHeader); - pVariableHeader= &pVariableHeader[sizeof(uint16_t)]; - propertyLength-=2; - if(propertyLengthclientIdLength){ - status=MQTTMalformedPacket; - } - else{ - pConnackProperties->clientIdentifier=( const char * )pVariableHeader; - pVariableHeader=&pVariableHeader[pConnackProperties->clientIdLength]; - propertyLength-=pConnackProperties->clientIdLength; - clientId=true; - } - } - break; + } + break; - case MQTT_TOPIC_ALIAS_MAX_ID: - if(topicAlias==true){ - status=MQTTProtocolError; - } - else if(propertyLength<2){ - status=MQTTMalformedPacket; - } - else{ - pConnackProperties->topicAliasMax=UINT16_DECODE(pVariableHeader); - pVariableHeader= &pVariableHeader[sizeof(uint16_t)]; - topicAlias=true; - propertyLength-=2; - } - break; - case MQTT_REASON_STRING_ID: - if(reasonString==true){ - status=MQTTProtocolError; - } - else if(propertyLength<2){ - status = MQTTMalformedPacket; + case MQTT_TOPIC_ALIAS_MAX_ID: + if (topicAlias == true) { + status = MQTTProtocolError; + } + else if (propertyLength < 2) { + status = MQTTMalformedPacket; + } + else { + pConnackProperties->topicAliasMax = UINT16_DECODE(pVariableHeader); + pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; + topicAlias = true; + propertyLength -= 2; + } + break; + case MQTT_REASON_STRING_ID: + if (reasonString == true) { + status = MQTTProtocolError; + } + else if (propertyLength < 2) { + status = MQTTMalformedPacket; + } + else { + pConnackProperties->reasonStringLength = UINT16_DECODE(pVariableHeader); + pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; + propertyLength -= 2; + if (propertyLength < pConnackProperties->reasonStringLength) { + status = MQTTMalformedPacket; } - else{ - pConnackProperties->reasonStringLength= UINT16_DECODE(pVariableHeader); - pVariableHeader= &pVariableHeader[sizeof(uint16_t)]; - propertyLength-=2; - if(propertyLengthreasonStringLength){ - status=MQTTMalformedPacket; - } - else{ - pConnackProperties->reasonString=( const char * )pVariableHeader; - pVariableHeader=&pVariableHeader[pConnackProperties->reasonStringLength]; - propertyLength-=pConnackProperties->reasonStringLength; - reasonString=true; - } + else { + pConnackProperties->reasonString = (const char*)pVariableHeader; + pVariableHeader = &pVariableHeader[pConnackProperties->reasonStringLength]; + propertyLength -= pConnackProperties->reasonStringLength; + reasonString = true; } - break; - case MQTT_USER_PROPERTY_ID: + } + break; + case MQTT_USER_PROPERTY_ID: // Decode user property - if(pConnackProperties->incomingUserPropSize==MAX_USER_PROPERTY){ - - } - else if(propertyLength<2){ + if (pConnackProperties->incomingUserPropSize == MAX_USER_PROPERTY) { + + } + else if (propertyLength < 2) { + status = MQTTMalformedPacket; + } + else { + pConnackProperties->incomingUserPropSize++; + userProperty->keyLength = UINT16_DECODE(pVariableHeader); + propertyLength -= 2; + if (propertyLength < userProperty->keyLength + 2) { status = MQTTMalformedPacket; } - else{ - pConnackProperties->incomingUserPropSize++; - userProperty->keyLength=UINT16_DECODE(pVariableHeader); - propertyLength-=2; - if(propertyLengthkeyLength+2){ - status=MQTTMalformedPacket; - } - else{ - userProperty->key=&pVariableHeader[userProperty->valueLength]; - userProperty->valueLength=UINT16_DECODE(pVariableHeader); - propertyLength-=2; - if(propertyLengthvalueLength){ - status=MQTTMalformedPacket; - } - else{ - userProperty->value=&pVariableHeader[userProperty->valueLength]; - } - } - } - break; - case MQTT_WILDCARD_ID: - if(wildcard==true){ - status=MQTTProtocolError; - } - else if(propertyLength<1){ - status = MQTTMalformedPacket; - } - else{ - pConnackProperties->isWildcardAvaiable=*pVariableHeader; - pVariableHeader= &pVariableHeader[sizeof(uint8_t)]; - propertyLength-=1; - if(pConnackProperties->isSharedAvailable>1){ - status= MQTTProtocolError; - } - wildcard=true; - } - break; - case MQTT_SUB_AVAILABLE_ID: - if(subId==true){ - status=MQTTProtocolError; - } - else if(propertyLength<1){ + else { + userProperty->key = &pVariableHeader[userProperty->valueLength]; + userProperty->valueLength = UINT16_DECODE(pVariableHeader); + propertyLength -= 2; + if (propertyLength < userProperty->valueLength) { status = MQTTMalformedPacket; - } - else{ - pConnackProperties->subscriptionId=*pVariableHeader; - pVariableHeader= &pVariableHeader[sizeof(uint8_t)]; - propertyLength-=1; - if(pConnackProperties->subscriptionId>1){ - status= MQTTProtocolError; } - subId=true; - } - break; - case MQTT_SHARED_SUB_ID: - if(sharedsub==true){ - status=MQTTProtocolError; - } - else if(propertyLength<1){ - status = MQTTMalformedPacket; - } - else{ - pConnackProperties->isSharedAvailable=*pVariableHeader; - pVariableHeader= &pVariableHeader[sizeof(uint8_t)]; - propertyLength-=1; - if(pConnackProperties->isSharedAvailable>1){ - status= MQTTProtocolError; - } - sharedsub=true; - } - break; - case MQTT_SERVER_KEEP_ALIVE_ID: - if(keepAlive==true){ - status=MQTTProtocolError; - } - else if(propertyLength<2){ - status = MQTTMalformedPacket; - } - else{ - pConnackProperties->serverKeepAlive=UINT16_DECODE(pVariableHeader); - pVariableHeader= &pVariableHeader[sizeof(uint16_t)]; - propertyLength-=2; - keepAlive=true; - } - break; - case MQTT_RESPONSE_INFO_ID: - if(responseInfo==true || pConnackProperties->reqResInfo==0){ - status=MQTTProtocolError; - } - else if(propertyLength<2){ - status = MQTTMalformedPacket; - } - else{ - pConnackProperties->responseInfoLength= UINT16_DECODE(pVariableHeader); - pVariableHeader=&pVariableHeader[sizeof(uint16_t)]; - propertyLength-=2; - if(propertyLengthresponseInfoLength){ - status=MQTTMalformedPacket; + else { + userProperty->value = &pVariableHeader[userProperty->valueLength]; } - pConnackProperties->responseInfo=( const char * )pVariableHeader; - pVariableHeader=&pVariableHeader[pConnackProperties->responseInfoLength]; - propertyLength-=pConnackProperties->responseInfoLength; - responseInfo=true; } - break; - case MQTT_SERVER_REF_ID: - if(serverRef==true){ - status=MQTTProtocolError; + } + break; + case MQTT_WILDCARD_ID: + if (wildcard == true) { + status = MQTTProtocolError; + } + else if (propertyLength < 1) { + status = MQTTMalformedPacket; + } + else { + pConnackProperties->isWildcardAvaiable = *pVariableHeader; + pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; + propertyLength -= 1; + if (pConnackProperties->isSharedAvailable > 1) { + status = MQTTProtocolError; } - else if(propertyLength<2){ - status=MQTTMalformedPacket; + wildcard = true; + } + break; + case MQTT_SUB_AVAILABLE_ID: + if (subId == true) { + status = MQTTProtocolError; + } + else if (propertyLength < 1) { + status = MQTTMalformedPacket; + } + else { + pConnackProperties->subscriptionId = *pVariableHeader; + pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; + propertyLength -= 1; + if (pConnackProperties->subscriptionId > 1) { + status = MQTTProtocolError; } - else{ - pConnackProperties->serverRefLength= UINT16_DECODE(pVariableHeader); - pVariableHeader= &pVariableHeader[sizeof(uint16_t)]; - propertyLength-=2; - if(propertyLengthserverRefLength){ - status=MQTTMalformedPacket; - } - pConnackProperties->serverRef=( const char * )pVariableHeader; - pVariableHeader=&pVariableHeader[pConnackProperties->serverRefLength]; - propertyLength-=pConnackProperties->serverRefLength; - serverRef=true; + subId = true; + } + break; + case MQTT_SHARED_SUB_ID: + if (sharedsub == true) { + status = MQTTProtocolError; + } + else if (propertyLength < 1) { + status = MQTTMalformedPacket; + } + else { + pConnackProperties->isSharedAvailable = *pVariableHeader; + pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; + propertyLength -= 1; + if (pConnackProperties->isSharedAvailable > 1) { + status = MQTTProtocolError; } - break; - case MQTT_AUTH_METHOD_ID: - if(authMethod==true || pConnackProperties->outgoingAuth==NULL){ - status=MQTTProtocolError; + sharedsub = true; + } + break; + case MQTT_SERVER_KEEP_ALIVE_ID: + if (keepAlive == true) { + status = MQTTProtocolError; + } + else if (propertyLength < 2) { + status = MQTTMalformedPacket; + } + else { + pConnackProperties->serverKeepAlive = UINT16_DECODE(pVariableHeader); + pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; + propertyLength -= 2; + keepAlive = true; + } + break; + case MQTT_RESPONSE_INFO_ID: + if (responseInfo == true || pConnackProperties->reqResInfo == 0) { + status = MQTTProtocolError; + } + else if (propertyLength < 2) { + status = MQTTMalformedPacket; + } + else { + pConnackProperties->responseInfoLength = UINT16_DECODE(pVariableHeader); + pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; + propertyLength -= 2; + if (propertyLength < pConnackProperties->responseInfoLength) { + status = MQTTMalformedPacket; } - else if(propertyLength<2){ - status=MQTTMalformedPacket; - } - else{ - pConnackProperties->incomingAuth->authMethodLength= UINT16_DECODE(pVariableHeader); - pVariableHeader= &pVariableHeader[sizeof(uint16_t)]; - propertyLength-=2; - if(propertyLengthincomingAuth->authMethodLength){ - status=MQTTMalformedPacket; - } - pConnackProperties->incomingAuth->authMethod=( const char * )pVariableHeader; - pVariableHeader=&pVariableHeader[pConnackProperties->incomingAuth->authMethodLength]; - propertyLength-=pConnackProperties->incomingAuth->authMethodLength; - authMethod=true; + pConnackProperties->responseInfo = (const char*)pVariableHeader; + pVariableHeader = &pVariableHeader[pConnackProperties->responseInfoLength]; + propertyLength -= pConnackProperties->responseInfoLength; + responseInfo = true; + } + break; + case MQTT_SERVER_REF_ID: + if (serverRef == true) { + status = MQTTProtocolError; + } + else if (propertyLength < 2) { + status = MQTTMalformedPacket; + } + else { + pConnackProperties->serverRefLength = UINT16_DECODE(pVariableHeader); + pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; + propertyLength -= 2; + if (propertyLength < pConnackProperties->serverRefLength) { + status = MQTTMalformedPacket; } - break; - case MQTT_AUTH_DATA_ID : - if(authData==true || pConnackProperties->outgoingAuth==NULL){ - status=MQTTProtocolError; + pConnackProperties->serverRef = (const char*)pVariableHeader; + pVariableHeader = &pVariableHeader[pConnackProperties->serverRefLength]; + propertyLength -= pConnackProperties->serverRefLength; + serverRef = true; + } + break; + case MQTT_AUTH_METHOD_ID: + if (authMethod == true || pConnackProperties->outgoingAuth == NULL) { + status = MQTTProtocolError; + } + else if (propertyLength < 2) { + status = MQTTMalformedPacket; + } + else { + pConnackProperties->incomingAuth->authMethodLength = UINT16_DECODE(pVariableHeader); + pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; + propertyLength -= 2; + if (propertyLength < pConnackProperties->incomingAuth->authMethodLength) { + status = MQTTMalformedPacket; } - else if(propertyLength<2){ - status=MQTTMalformedPacket; - } - else{ - pConnackProperties->incomingAuth->authDataLength= UINT16_DECODE(pVariableHeader); - pVariableHeader= &pVariableHeader[sizeof(uint16_t)]; - propertyLength-=2; - if(propertyLengthincomingAuth->authDataLength){ - status=MQTTMalformedPacket; - } - pConnackProperties->incomingAuth->authData=( const char * )pVariableHeader; - pVariableHeader=&pVariableHeader[pConnackProperties->incomingAuth->authDataLength]; - propertyLength-=pConnackProperties->incomingAuth->authDataLength; - authMethod=true; + pConnackProperties->incomingAuth->authMethod = (const char*)pVariableHeader; + pVariableHeader = &pVariableHeader[pConnackProperties->incomingAuth->authMethodLength]; + propertyLength -= pConnackProperties->incomingAuth->authMethodLength; + authMethod = true; + } + break; + case MQTT_AUTH_DATA_ID: + if (authData == true || pConnackProperties->outgoingAuth == NULL) { + status = MQTTProtocolError; + } + else if (propertyLength < 2) { + status = MQTTMalformedPacket; + } + else { + pConnackProperties->incomingAuth->authDataLength = UINT16_DECODE(pVariableHeader); + pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; + propertyLength -= 2; + if (propertyLength < pConnackProperties->incomingAuth->authDataLength) { + status = MQTTMalformedPacket; } - break; - default: - status= MQTTProtocolError; + pConnackProperties->incomingAuth->authData = (const char*)pVariableHeader; + pVariableHeader = &pVariableHeader[pConnackProperties->incomingAuth->authDataLength]; + propertyLength -= pConnackProperties->incomingAuth->authDataLength; + authMethod = true; + } + break; + default: + status = MQTTProtocolError; } } } @@ -1448,64 +1368,25 @@ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackPropert #endif /*-----------------------------------------------------------*/ - -size_t addEncodedStringToVector( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ], - const char * const string, - uint16_t length, - TransportOutVector_t * iterator, - size_t * updatedLength ) -{ - size_t packetLength = 0U; - TransportOutVector_t * pLocalIterator = iterator; - size_t vectorsAdded = 0U; - - /* When length is non-zero, the string must be non-NULL. */ - assert( ( length != 0U ) ? ( string != NULL ) : true ); - - serializedLength[ 0 ] = ( ( uint8_t ) ( ( length ) >> 8 ) ); - serializedLength[ 1 ] = ( ( uint8_t ) ( ( length ) & 0x00ffU ) ); - - /* Add the serialized length of the string first. */ - pLocalIterator[ 0 ].iov_base = serializedLength; - pLocalIterator[ 0 ].iov_len = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; - vectorsAdded++; - packetLength = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; - - /* Sometimes the string can be NULL that is, of 0 length. In that case, - * only the length field should be encoded in the vector. */ - if( ( string != NULL ) && ( length != 0U ) ) - { - /* Then add the pointer to the string itself. */ - pLocalIterator[ 1 ].iov_base = string; - pLocalIterator[ 1 ].iov_len = length; - vectorsAdded++; - packetLength += length; - } - - ( *updatedLength ) = ( *updatedLength ) + packetLength; - - return vectorsAdded; -} - -size_t remainingLengthEncodedSize( size_t length ) +size_t remainingLengthEncodedSize(size_t length) { size_t encodedSize; /* Determine how many bytes are needed to encode length. * The values below are taken from the MQTT 3.1.1 spec. */ - /* 1 byte is needed to encode lengths between 0 and 127. */ - if( length < 128U ) + /* 1 byte is needed to encode lengths between 0 and 127. */ + if (length < 128U) { encodedSize = 1U; } /* 2 bytes are needed to encode lengths between 128 and 16,383. */ - else if( length < 16384U ) + else if (length < 16384U) { encodedSize = 2U; } /* 3 bytes are needed to encode lengths between 16,384 and 2,097,151. */ - else if( length < 2097152U ) + else if (length < 2097152U) { encodedSize = 3U; } @@ -1515,105 +1396,105 @@ size_t remainingLengthEncodedSize( size_t length ) encodedSize = 4U; } - LogDebug( ( "Encoded size for length %lu is %lu bytes.", - ( unsigned long ) length, - ( unsigned long ) encodedSize ) ); + LogDebug(("Encoded size for length %lu is %lu bytes.", + (unsigned long)length, + (unsigned long)encodedSize)); return encodedSize; } /*-----------------------------------------------------------*/ -static uint8_t * encodeRemainingLength( uint8_t * pDestination, - size_t length ) +static uint8_t* encodeRemainingLength(uint8_t* pDestination, + size_t length) { uint8_t lengthByte; - uint8_t * pLengthEnd = NULL; + uint8_t* pLengthEnd = NULL; size_t remainingLength = length; - assert( pDestination != NULL ); + assert(pDestination != NULL); pLengthEnd = pDestination; /* This algorithm is copied from the MQTT v3.1.1 spec. */ do { - lengthByte = ( uint8_t ) ( remainingLength % 128U ); + lengthByte = (uint8_t)(remainingLength % 128U); remainingLength = remainingLength / 128U; /* Set the high bit of this byte, indicating that there's more data. */ - if( remainingLength > 0U ) + if (remainingLength > 0U) { - UINT8_SET_BIT( lengthByte, 7 ); + UINT8_SET_BIT(lengthByte, 7); } /* Output a single encoded byte. */ *pLengthEnd = lengthByte; pLengthEnd++; - } while( remainingLength > 0U ); + } while (remainingLength > 0U); return pLengthEnd; } /*-----------------------------------------------------------*/ -static uint8_t * encodeString( uint8_t * pDestination, - const char * pSource, - uint16_t sourceLength ) +static uint8_t* encodeString(uint8_t* pDestination, + const char* pSource, + uint16_t sourceLength) { - uint8_t * pBuffer = NULL; + uint8_t* pBuffer = NULL; /* Typecast const char * typed source buffer to const uint8_t *. * This is to use same type buffers in memcpy. */ - const uint8_t * pSourceBuffer = ( const uint8_t * ) pSource; + const uint8_t* pSourceBuffer = (const uint8_t*)pSource; - assert( pDestination != NULL ); + assert(pDestination != NULL); pBuffer = pDestination; /* The first byte of a UTF-8 string is the high byte of the string length. */ - *pBuffer = UINT16_HIGH_BYTE( sourceLength ); + *pBuffer = UINT16_HIGH_BYTE(sourceLength); pBuffer++; /* The second byte of a UTF-8 string is the low byte of the string length. */ - *pBuffer = UINT16_LOW_BYTE( sourceLength ); + *pBuffer = UINT16_LOW_BYTE(sourceLength); pBuffer++; /* Copy the string into pBuffer. */ - if( pSourceBuffer != NULL ) + if (pSourceBuffer != NULL) { - ( void ) memcpy( pBuffer, pSourceBuffer, sourceLength ); + (void)memcpy(pBuffer, pSourceBuffer, sourceLength); } /* Return the pointer to the end of the encoded string. */ - pBuffer = &pBuffer[ sourceLength ]; + pBuffer = &pBuffer[sourceLength]; return pBuffer; } /*-----------------------------------------------------------*/ -static bool calculatePublishPacketSize( const MQTTPublishInfo_t * pPublishInfo, - size_t * pRemainingLength, - size_t * pPacketSize ) +static bool calculatePublishPacketSize(const MQTTPublishInfo_t* pPublishInfo, + size_t* pRemainingLength, + size_t* pPacketSize) { bool status = true; size_t packetSize = 0, payloadLimit = 0; - assert( pPublishInfo != NULL ); - assert( pRemainingLength != NULL ); - assert( pPacketSize != NULL ); + assert(pPublishInfo != NULL); + assert(pRemainingLength != NULL); + assert(pPacketSize != NULL); /* The variable header of a PUBLISH packet always contains the topic name. * The first 2 bytes of UTF-8 string contains length of the string. */ - packetSize += pPublishInfo->topicNameLength + sizeof( uint16_t ); + packetSize += pPublishInfo->topicNameLength + sizeof(uint16_t); /* The variable header of a QoS 1 or 2 PUBLISH packet contains a 2-byte * packet identifier. */ - if( pPublishInfo->qos > MQTTQoS0 ) + if (pPublishInfo->qos > MQTTQoS0) { - packetSize += sizeof( uint16_t ); + packetSize += sizeof(uint16_t); } /* Calculate the maximum allowed size of the payload for the given parameters. @@ -1622,14 +1503,14 @@ static bool calculatePublishPacketSize( const MQTTPublishInfo_t * pPublishInfo, payloadLimit = MQTT_MAX_REMAINING_LENGTH - packetSize - 1U; /* Ensure that the given payload fits within the calculated limit. */ - if( pPublishInfo->payloadLength > payloadLimit ) - { - LogError( ( "PUBLISH payload length of %lu cannot exceed " - "%lu so as not to exceed the maximum " - "remaining length of MQTT 3.1.1 packet( %lu ).", - ( unsigned long ) pPublishInfo->payloadLength, - ( unsigned long ) payloadLimit, - MQTT_MAX_REMAINING_LENGTH ) ); + if (pPublishInfo->payloadLength > payloadLimit) + { + LogError(("PUBLISH payload length of %lu cannot exceed " + "%lu so as not to exceed the maximum " + "remaining length of MQTT 3.1.1 packet( %lu ).", + (unsigned long)pPublishInfo->payloadLength, + (unsigned long)payloadLimit, + MQTT_MAX_REMAINING_LENGTH)); status = false; } else @@ -1640,17 +1521,17 @@ static bool calculatePublishPacketSize( const MQTTPublishInfo_t * pPublishInfo, /* Now that the "Remaining length" is known, recalculate the payload limit * based on the size of its encoding. */ - payloadLimit -= remainingLengthEncodedSize( packetSize ); + payloadLimit -= remainingLengthEncodedSize(packetSize); /* Check that the given payload fits within the size allowed by MQTT spec. */ - if( pPublishInfo->payloadLength > payloadLimit ) + if (pPublishInfo->payloadLength > payloadLimit) { - LogError( ( "PUBLISH payload length of %lu cannot exceed " - "%lu so as not to exceed the maximum " - "remaining length of MQTT 3.1.1 packet( %lu ).", - ( unsigned long ) pPublishInfo->payloadLength, - ( unsigned long ) payloadLimit, - MQTT_MAX_REMAINING_LENGTH ) ); + LogError(("PUBLISH payload length of %lu cannot exceed " + "%lu so as not to exceed the maximum " + "remaining length of MQTT 3.1.1 packet( %lu ).", + (unsigned long)pPublishInfo->payloadLength, + (unsigned long)payloadLimit, + MQTT_MAX_REMAINING_LENGTH)); status = false; } else @@ -1659,26 +1540,26 @@ static bool calculatePublishPacketSize( const MQTTPublishInfo_t * pPublishInfo, * size of the PUBLISH packet. */ *pRemainingLength = packetSize; - packetSize += 1U + remainingLengthEncodedSize( packetSize ); + packetSize += 1U + remainingLengthEncodedSize(packetSize); *pPacketSize = packetSize; } } - LogDebug( ( "PUBLISH packet remaining length=%lu and packet size=%lu.", - ( unsigned long ) *pRemainingLength, - ( unsigned long ) *pPacketSize ) ); + LogDebug(("PUBLISH packet remaining length=%lu and packet size=%lu.", + (unsigned long)*pRemainingLength, + (unsigned long)*pPacketSize)); return status; } /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializePublishHeaderWithoutTopic( const MQTTPublishInfo_t * pPublishInfo, - size_t remainingLength, - uint8_t * pBuffer, - size_t * headerSize ) +MQTTStatus_t MQTT_SerializePublishHeaderWithoutTopic(const MQTTPublishInfo_t* pPublishInfo, + size_t remainingLength, + uint8_t* pBuffer, + size_t* headerSize) { size_t headerLength; - uint8_t * pIndex; + uint8_t* pIndex; MQTTStatus_t status = MQTTSuccess; /* The first byte of a PUBLISH packet contains the packet type and flags. */ @@ -1690,47 +1571,47 @@ MQTTStatus_t MQTT_SerializePublishHeaderWithoutTopic( const MQTTPublishInfo_t * /* Length of serialized packet = First byte * + Length of encoded remaining length * + Encoded topic length. */ - headerLength = 1U + remainingLengthEncodedSize( remainingLength ) + 2U; + headerLength = 1U + remainingLengthEncodedSize(remainingLength) + 2U; - if( pPublishInfo->qos == MQTTQoS1 ) + if (pPublishInfo->qos == MQTTQoS1) { - LogDebug( ( "Adding QoS as QoS1 in PUBLISH flags." ) ); - UINT8_SET_BIT( publishFlags, MQTT_PUBLISH_FLAG_QOS1 ); + LogDebug(("Adding QoS as QoS1 in PUBLISH flags.")); + UINT8_SET_BIT(publishFlags, MQTT_PUBLISH_FLAG_QOS1); } - else if( pPublishInfo->qos == MQTTQoS2 ) + else if (pPublishInfo->qos == MQTTQoS2) { - LogDebug( ( "Adding QoS as QoS2 in PUBLISH flags." ) ); - UINT8_SET_BIT( publishFlags, MQTT_PUBLISH_FLAG_QOS2 ); + LogDebug(("Adding QoS as QoS2 in PUBLISH flags.")); + UINT8_SET_BIT(publishFlags, MQTT_PUBLISH_FLAG_QOS2); } else { /* Empty else MISRA 15.7 */ } - if( pPublishInfo->retain == true ) + if (pPublishInfo->retain == true) { - LogDebug( ( "Adding retain bit in PUBLISH flags." ) ); - UINT8_SET_BIT( publishFlags, MQTT_PUBLISH_FLAG_RETAIN ); + LogDebug(("Adding retain bit in PUBLISH flags.")); + UINT8_SET_BIT(publishFlags, MQTT_PUBLISH_FLAG_RETAIN); } - if( pPublishInfo->dup == true ) + if (pPublishInfo->dup == true) { - LogDebug( ( "Adding dup bit in PUBLISH flags." ) ); - UINT8_SET_BIT( publishFlags, MQTT_PUBLISH_FLAG_DUP ); + LogDebug(("Adding dup bit in PUBLISH flags.")); + UINT8_SET_BIT(publishFlags, MQTT_PUBLISH_FLAG_DUP); } *pIndex = publishFlags; pIndex++; /* The "Remaining length" is encoded from the second byte. */ - pIndex = encodeRemainingLength( pIndex, remainingLength ); + pIndex = encodeRemainingLength(pIndex, remainingLength); /* The first byte of a UTF-8 string is the high byte of the string length. */ - *pIndex = UINT16_HIGH_BYTE( pPublishInfo->topicNameLength ); + *pIndex = UINT16_HIGH_BYTE(pPublishInfo->topicNameLength); pIndex++; /* The second byte of a UTF-8 string is the low byte of the string length. */ - *pIndex = UINT16_LOW_BYTE( pPublishInfo->topicNameLength ); + *pIndex = UINT16_LOW_BYTE(pPublishInfo->topicNameLength); pIndex++; *headerSize = headerLength; @@ -1740,103 +1621,103 @@ MQTTStatus_t MQTT_SerializePublishHeaderWithoutTopic( const MQTTPublishInfo_t * /*-----------------------------------------------------------*/ -static void serializePublishCommon( const MQTTPublishInfo_t * pPublishInfo, - size_t remainingLength, - uint16_t packetIdentifier, - const MQTTFixedBuffer_t * pFixedBuffer, - bool serializePayload ) +static void serializePublishCommon(const MQTTPublishInfo_t* pPublishInfo, + size_t remainingLength, + uint16_t packetIdentifier, + const MQTTFixedBuffer_t* pFixedBuffer, + bool serializePayload) { - uint8_t * pIndex = NULL; - const uint8_t * pPayloadBuffer = NULL; + uint8_t* pIndex = NULL; + const uint8_t* pPayloadBuffer = NULL; /* The first byte of a PUBLISH packet contains the packet type and flags. */ uint8_t publishFlags = MQTT_PACKET_TYPE_PUBLISH; - assert( pPublishInfo != NULL ); - assert( pFixedBuffer != NULL ); - assert( pFixedBuffer->pBuffer != NULL ); + assert(pPublishInfo != NULL); + assert(pFixedBuffer != NULL); + assert(pFixedBuffer->pBuffer != NULL); /* Packet Id should be non zero for Qos 1 and Qos 2. */ - assert( ( pPublishInfo->qos == MQTTQoS0 ) || ( packetIdentifier != 0U ) ); + assert((pPublishInfo->qos == MQTTQoS0) || (packetIdentifier != 0U)); /* Duplicate flag should be set only for Qos 1 or Qos 2. */ - assert( ( pPublishInfo->dup != true ) || ( pPublishInfo->qos != MQTTQoS0 ) ); + assert((pPublishInfo->dup != true) || (pPublishInfo->qos != MQTTQoS0)); /* Get the start address of the buffer. */ pIndex = pFixedBuffer->pBuffer; - if( pPublishInfo->qos == MQTTQoS1 ) + if (pPublishInfo->qos == MQTTQoS1) { - LogDebug( ( "Adding QoS as QoS1 in PUBLISH flags." ) ); - UINT8_SET_BIT( publishFlags, MQTT_PUBLISH_FLAG_QOS1 ); + LogDebug(("Adding QoS as QoS1 in PUBLISH flags.")); + UINT8_SET_BIT(publishFlags, MQTT_PUBLISH_FLAG_QOS1); } - else if( pPublishInfo->qos == MQTTQoS2 ) + else if (pPublishInfo->qos == MQTTQoS2) { - LogDebug( ( "Adding QoS as QoS2 in PUBLISH flags." ) ); - UINT8_SET_BIT( publishFlags, MQTT_PUBLISH_FLAG_QOS2 ); + LogDebug(("Adding QoS as QoS2 in PUBLISH flags.")); + UINT8_SET_BIT(publishFlags, MQTT_PUBLISH_FLAG_QOS2); } else { /* Empty else MISRA 15.7 */ } - if( pPublishInfo->retain == true ) + if (pPublishInfo->retain == true) { - LogDebug( ( "Adding retain bit in PUBLISH flags." ) ); - UINT8_SET_BIT( publishFlags, MQTT_PUBLISH_FLAG_RETAIN ); + LogDebug(("Adding retain bit in PUBLISH flags.")); + UINT8_SET_BIT(publishFlags, MQTT_PUBLISH_FLAG_RETAIN); } - if( pPublishInfo->dup == true ) + if (pPublishInfo->dup == true) { - LogDebug( ( "Adding dup bit in PUBLISH flags." ) ); - UINT8_SET_BIT( publishFlags, MQTT_PUBLISH_FLAG_DUP ); + LogDebug(("Adding dup bit in PUBLISH flags.")); + UINT8_SET_BIT(publishFlags, MQTT_PUBLISH_FLAG_DUP); } *pIndex = publishFlags; pIndex++; /* The "Remaining length" is encoded from the second byte. */ - pIndex = encodeRemainingLength( pIndex, remainingLength ); + pIndex = encodeRemainingLength(pIndex, remainingLength); /* The topic name is placed after the "Remaining length". */ - pIndex = encodeString( pIndex, - pPublishInfo->pTopicName, - pPublishInfo->topicNameLength ); + pIndex = encodeString(pIndex, + pPublishInfo->pTopicName, + pPublishInfo->topicNameLength); /* A packet identifier is required for QoS 1 and 2 messages. */ - if( pPublishInfo->qos > MQTTQoS0 ) + if (pPublishInfo->qos > MQTTQoS0) { - LogDebug( ( "Adding packet Id in PUBLISH packet." ) ); + LogDebug(("Adding packet Id in PUBLISH packet.")); /* Place the packet identifier into the PUBLISH packet. */ - *pIndex = UINT16_HIGH_BYTE( packetIdentifier ); - pIndex[ 1U ] = UINT16_LOW_BYTE( packetIdentifier ); - pIndex = &pIndex[ 2U ]; + *pIndex = UINT16_HIGH_BYTE(packetIdentifier); + pIndex[1U] = UINT16_LOW_BYTE(packetIdentifier); + pIndex = &pIndex[2U]; } /* The payload is placed after the packet identifier. * Payload is copied over only if required by the flag serializePayload. * This will help reduce an unnecessary copy of the payload into the buffer. */ - if( ( pPublishInfo->payloadLength > 0U ) && - ( serializePayload == true ) ) + if ((pPublishInfo->payloadLength > 0U) && + (serializePayload == true)) { - LogDebug( ( "Copying PUBLISH payload of length =%lu to buffer", - ( unsigned long ) pPublishInfo->payloadLength ) ); + LogDebug(("Copying PUBLISH payload of length =%lu to buffer", + (unsigned long)pPublishInfo->payloadLength)); /* Typecast const void * typed payload buffer to const uint8_t *. * This is to use same type buffers in memcpy. */ - pPayloadBuffer = ( const uint8_t * ) pPublishInfo->pPayload; + pPayloadBuffer = (const uint8_t*)pPublishInfo->pPayload; - ( void ) memcpy( pIndex, pPayloadBuffer, pPublishInfo->payloadLength ); + (void)memcpy(pIndex, pPayloadBuffer, pPublishInfo->payloadLength); /* Move the index to after the payload. */ - pIndex = &pIndex[ pPublishInfo->payloadLength ]; + pIndex = &pIndex[pPublishInfo->payloadLength]; } /* Ensure that the difference between the end and beginning of the buffer * is less than the buffer size. */ - assert( ( ( size_t ) ( pIndex - pFixedBuffer->pBuffer ) ) <= pFixedBuffer->size ); + assert(((size_t)(pIndex - pFixedBuffer->pBuffer)) <= pFixedBuffer->size); } -static size_t getRemainingLength( TransportRecv_t recvFunc, - NetworkContext_t * pNetworkContext ) +static size_t getRemainingLength(TransportRecv_t recvFunc, + NetworkContext_t* pNetworkContext) { size_t remainingLength = 0, multiplier = 1, bytesDecoded = 0, expectedSize = 0; uint8_t encodedByte = 0; @@ -1845,17 +1726,17 @@ static size_t getRemainingLength( TransportRecv_t recvFunc, /* This algorithm is copied from the MQTT v3.1.1 spec. */ do { - if( multiplier > 2097152U ) /* 128 ^ 3 */ + if (multiplier > 2097152U) /* 128 ^ 3 */ { remainingLength = MQTT_REMAINING_LENGTH_INVALID; } else { - bytesReceived = recvFunc( pNetworkContext, &encodedByte, 1U ); + bytesReceived = recvFunc(pNetworkContext, &encodedByte, 1U); - if( bytesReceived == 1 ) + if (bytesReceived == 1) { - remainingLength += ( ( size_t ) encodedByte & 0x7FU ) * multiplier; + remainingLength += ((size_t)encodedByte & 0x7FU) * multiplier; multiplier *= 128U; bytesDecoded++; } @@ -1865,18 +1746,18 @@ static size_t getRemainingLength( TransportRecv_t recvFunc, } } - if( remainingLength == MQTT_REMAINING_LENGTH_INVALID ) + if (remainingLength == MQTT_REMAINING_LENGTH_INVALID) { break; } - } while( ( encodedByte & 0x80U ) != 0U ); + } while ((encodedByte & 0x80U) != 0U); /* Check that the decoded remaining length conforms to the MQTT specification. */ - if( remainingLength != MQTT_REMAINING_LENGTH_INVALID ) + if (remainingLength != MQTT_REMAINING_LENGTH_INVALID) { - expectedSize = remainingLengthEncodedSize( remainingLength ); + expectedSize = remainingLengthEncodedSize(remainingLength); - if( bytesDecoded != expectedSize ) + if (bytesDecoded != expectedSize) { remainingLength = MQTT_REMAINING_LENGTH_INVALID; } @@ -1887,9 +1768,9 @@ static size_t getRemainingLength( TransportRecv_t recvFunc, /*-----------------------------------------------------------*/ -static MQTTStatus_t processRemainingLength( const uint8_t * pBuffer, - const size_t * pIndex, - MQTTPacketInfo_t * pIncomingPacket ) +static MQTTStatus_t processRemainingLength(const uint8_t* pBuffer, + const size_t* pIndex, + MQTTPacketInfo_t* pIncomingPacket) { size_t remainingLength = 0; size_t multiplier = 1; @@ -1901,23 +1782,23 @@ static MQTTStatus_t processRemainingLength( const uint8_t * pBuffer, /* This algorithm is copied from the MQTT v3.1.1 spec. */ do { - if( multiplier > 2097152U ) /* 128 ^ 3 */ + if (multiplier > 2097152U) /* 128 ^ 3 */ { remainingLength = MQTT_REMAINING_LENGTH_INVALID; - LogError( ( "Invalid remaining length in the packet.\n" ) ); + LogError(("Invalid remaining length in the packet.\n")); status = MQTTBadResponse; } else { - if( *pIndex > ( bytesDecoded + 1U ) ) + if (*pIndex > (bytesDecoded + 1U)) { /* Get the next byte. It is at the next position after the bytes * decoded till now since the header of one byte was read before. */ - encodedByte = pBuffer[ bytesDecoded + 1U ]; + encodedByte = pBuffer[bytesDecoded + 1U]; - remainingLength += ( ( size_t ) encodedByte & 0x7FU ) * multiplier; + remainingLength += ((size_t)encodedByte & 0x7FU) * multiplier; multiplier *= 128U; bytesDecoded++; } @@ -1929,21 +1810,21 @@ static MQTTStatus_t processRemainingLength( const uint8_t * pBuffer, /* If the response is incorrect, or no more data is available, then * break out of the loop. */ - if( ( remainingLength == MQTT_REMAINING_LENGTH_INVALID ) || - ( status != MQTTSuccess ) ) + if ((remainingLength == MQTT_REMAINING_LENGTH_INVALID) || + (status != MQTTSuccess)) { break; } - } while( ( encodedByte & 0x80U ) != 0U ); + } while ((encodedByte & 0x80U) != 0U); - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Check that the decoded remaining length conforms to the MQTT specification. */ - expectedSize = remainingLengthEncodedSize( remainingLength ); + expectedSize = remainingLengthEncodedSize(remainingLength); - if( bytesDecoded != expectedSize ) + if (bytesDecoded != expectedSize) { - LogError( ( "Expected and actual length of decoded bytes do not match.\n" ) ); + LogError(("Expected and actual length of decoded bytes do not match.\n")); status = MQTTBadResponse; } else @@ -1958,40 +1839,40 @@ static MQTTStatus_t processRemainingLength( const uint8_t * pBuffer, /*-----------------------------------------------------------*/ -static bool incomingPacketValid( uint8_t packetType ) +static bool incomingPacketValid(uint8_t packetType) { bool status = false; /* Check packet type. Mask out lower bits to ignore flags. */ - switch( packetType & 0xF0U ) + switch (packetType & 0xF0U) { /* Valid incoming packet types. */ - case MQTT_PACKET_TYPE_CONNACK: - case MQTT_PACKET_TYPE_PUBLISH: - case MQTT_PACKET_TYPE_PUBACK: - case MQTT_PACKET_TYPE_PUBREC: - case MQTT_PACKET_TYPE_PUBCOMP: - case MQTT_PACKET_TYPE_SUBACK: - case MQTT_PACKET_TYPE_UNSUBACK: - case MQTT_PACKET_TYPE_PINGRESP: + case MQTT_PACKET_TYPE_CONNACK: + case MQTT_PACKET_TYPE_PUBLISH: + case MQTT_PACKET_TYPE_PUBACK: + case MQTT_PACKET_TYPE_PUBREC: + case MQTT_PACKET_TYPE_PUBCOMP: + case MQTT_PACKET_TYPE_SUBACK: + case MQTT_PACKET_TYPE_UNSUBACK: + case MQTT_PACKET_TYPE_PINGRESP: + status = true; + break; + + case (MQTT_PACKET_TYPE_PUBREL & 0xF0U): + + /* The second bit of a PUBREL must be set. */ + if ((packetType & 0x02U) > 0U) + { status = true; - break; - - case ( MQTT_PACKET_TYPE_PUBREL & 0xF0U ): - - /* The second bit of a PUBREL must be set. */ - if( ( packetType & 0x02U ) > 0U ) - { - status = true; - } + } - break; + break; /* Any other packet type is invalid. */ - default: - LogWarn( ( "Incoming packet invalid: Packet type=%u.", - ( unsigned int ) packetType ) ); - break; + default: + LogWarn(("Incoming packet invalid: Packet type=%u.", + (unsigned int)packetType)); + break; } return status; @@ -1999,20 +1880,20 @@ static bool incomingPacketValid( uint8_t packetType ) /*-----------------------------------------------------------*/ -static MQTTStatus_t checkPublishRemainingLength( size_t remainingLength, - MQTTQoS_t qos, - size_t qos0Minimum ) +static MQTTStatus_t checkPublishRemainingLength(size_t remainingLength, + MQTTQoS_t qos, + size_t qos0Minimum) { MQTTStatus_t status = MQTTSuccess; /* Sanity checks for "Remaining length". */ - if( qos == MQTTQoS0 ) + if (qos == MQTTQoS0) { /* Check that the "Remaining length" is greater than the minimum. */ - if( remainingLength < qos0Minimum ) + if (remainingLength < qos0Minimum) { - LogError( ( "QoS 0 PUBLISH cannot have a remaining length less than %lu.", - ( unsigned long ) qos0Minimum ) ); + LogError(("QoS 0 PUBLISH cannot have a remaining length less than %lu.", + (unsigned long)qos0Minimum)); status = MQTTBadResponse; } @@ -2022,10 +1903,10 @@ static MQTTStatus_t checkPublishRemainingLength( size_t remainingLength, /* Check that the "Remaining length" is greater than the minimum. For * QoS 1 or 2, this will be two bytes greater than for QoS 0 due to the * packet identifier. */ - if( remainingLength < ( qos0Minimum + 2U ) ) + if (remainingLength < (qos0Minimum + 2U)) { - LogError( ( "QoS 1 or 2 PUBLISH cannot have a remaining length less than %lu.", - ( unsigned long ) ( qos0Minimum + 2U ) ) ); + LogError(("QoS 1 or 2 PUBLISH cannot have a remaining length less than %lu.", + (unsigned long)(qos0Minimum + 2U))); status = MQTTBadResponse; } @@ -2036,20 +1917,20 @@ static MQTTStatus_t checkPublishRemainingLength( size_t remainingLength, /*-----------------------------------------------------------*/ -static MQTTStatus_t processPublishFlags( uint8_t publishFlags, - MQTTPublishInfo_t * pPublishInfo ) +static MQTTStatus_t processPublishFlags(uint8_t publishFlags, + MQTTPublishInfo_t* pPublishInfo) { MQTTStatus_t status = MQTTSuccess; - assert( pPublishInfo != NULL ); + assert(pPublishInfo != NULL); /* Check for QoS 2. */ - if( UINT8_CHECK_BIT( publishFlags, MQTT_PUBLISH_FLAG_QOS2 ) ) + if (UINT8_CHECK_BIT(publishFlags, MQTT_PUBLISH_FLAG_QOS2)) { /* PUBLISH packet is invalid if both QoS 1 and QoS 2 bits are set. */ - if( UINT8_CHECK_BIT( publishFlags, MQTT_PUBLISH_FLAG_QOS1 ) ) + if (UINT8_CHECK_BIT(publishFlags, MQTT_PUBLISH_FLAG_QOS1)) { - LogError( ( "Bad QoS: 3." ) ); + LogError(("Bad QoS: 3.")); status = MQTTBadResponse; } @@ -2059,7 +1940,7 @@ static MQTTStatus_t processPublishFlags( uint8_t publishFlags, } } /* Check for QoS 1. */ - else if( UINT8_CHECK_BIT( publishFlags, MQTT_PUBLISH_FLAG_QOS1 ) ) + else if (UINT8_CHECK_BIT(publishFlags, MQTT_PUBLISH_FLAG_QOS1)) { pPublishInfo->qos = MQTTQoS1; } @@ -2069,19 +1950,19 @@ static MQTTStatus_t processPublishFlags( uint8_t publishFlags, pPublishInfo->qos = MQTTQoS0; } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { - LogDebug( ( "QoS is %d.", ( int ) pPublishInfo->qos ) ); + LogDebug(("QoS is %d.", (int)pPublishInfo->qos)); /* Parse the Retain bit. */ - pPublishInfo->retain = UINT8_CHECK_BIT( publishFlags, MQTT_PUBLISH_FLAG_RETAIN ); + pPublishInfo->retain = UINT8_CHECK_BIT(publishFlags, MQTT_PUBLISH_FLAG_RETAIN); - LogDebug( ( "Retain bit is %d.", ( int ) pPublishInfo->retain ) ); + LogDebug(("Retain bit is %d.", (int)pPublishInfo->retain)); /* Parse the DUP bit. */ - pPublishInfo->dup = UINT8_CHECK_BIT( publishFlags, MQTT_PUBLISH_FLAG_DUP ); + pPublishInfo->dup = UINT8_CHECK_BIT(publishFlags, MQTT_PUBLISH_FLAG_DUP); - LogDebug( ( "DUP bit is %d.", ( int ) pPublishInfo->dup ) ); + LogDebug(("DUP bit is %d.", (int)pPublishInfo->dup)); } return status; @@ -2090,9 +1971,9 @@ static MQTTStatus_t processPublishFlags( uint8_t publishFlags, /*-----------------------------------------------------------*/ #if (!MQTT_VERSION_5_ENABLED) -static void logConnackResponse( uint8_t responseCode ) +static void logConnackResponse(uint8_t responseCode) { - const char * const pConnackResponses[ 6 ] = + const char* const pConnackResponses[6] = { "Connection accepted.", /* 0 */ "Connection refused: unacceptable protocol version.", /* 1 */ @@ -2103,29 +1984,29 @@ static void logConnackResponse( uint8_t responseCode ) }; /* Avoid unused parameter warning when assert and logs are disabled. */ - ( void ) responseCode; - ( void ) pConnackResponses; + (void)responseCode; + (void)pConnackResponses; - assert( responseCode <= 5U ); + assert(responseCode <= 5U); - if( responseCode == 0u ) + if (responseCode == 0u) { /* Log at Debug level for a success CONNACK response. */ - LogDebug( ( "%s", pConnackResponses[ 0 ] ) ); + LogDebug(("%s", pConnackResponses[0])); } else { /* Log an error based on the CONNACK response code. */ - LogError( ( "%s", pConnackResponses[ responseCode ] ) ); + LogError(("%s", pConnackResponses[responseCode])); } } #else -static void logConnackResponse( uint8_t responseCode ) +static void logConnackResponse(uint8_t responseCode) { - - const char * const pConnackResponses[ 6 ] = + + const char* const pConnackResponses[6] = { "Connection refused: Unspecified error.", /* 0 */ "Connection refused: Malformed Packet.", /* 1 */ @@ -2153,51 +2034,51 @@ static void logConnackResponse( uint8_t responseCode ) }; /* Avoid unused parameter warning when assert and logs are disabled. */ - ( void ) responseCode; - ( void ) pConnackResponses; - if( responseCode == 0u ) + (void)responseCode; + (void)pConnackResponses; + if (responseCode == 0u) { /* Log at Debug level for a success CONNACK response. */ LogDebug("The Connection is accepted"); } else { - responseCode-=128; - assert( responseCode <= 20 ); - assert( responseCode >= 20 ); + responseCode -= 128; + assert(responseCode <= 20); + assert(responseCode >= 20); /* Log an error based on the CONNACK response code. */ - LogError( ( "%s", pConnackResponses[ responseCode ] ) ); + LogError(("%s", pConnackResponses[responseCode])); } } #endif /*-----------------------------------------------------------*/ -static MQTTStatus_t deserializeConnack( const MQTTPacketInfo_t * pConnack, - bool * pSessionPresent ) +static MQTTStatus_t deserializeConnack(const MQTTPacketInfo_t* pConnack, + bool* pSessionPresent) { MQTTStatus_t status = MQTTSuccess; - const uint8_t * pRemainingData = NULL; + const uint8_t* pRemainingData = NULL; - assert( pConnack != NULL ); - assert( pSessionPresent != NULL ); + assert(pConnack != NULL); + assert(pSessionPresent != NULL); pRemainingData = pConnack->pRemainingData; /* According to MQTT 3.1.1, the second byte of CONNACK must specify a * "Remaining length" of 2. */ - if( pConnack->remainingLength != MQTT_PACKET_CONNACK_REMAINING_LENGTH ) + if (pConnack->remainingLength != MQTT_PACKET_CONNACK_REMAINING_LENGTH) { - LogError( ( "CONNACK does not have remaining length of %u.", - ( unsigned int ) MQTT_PACKET_CONNACK_REMAINING_LENGTH ) ); + LogError(("CONNACK does not have remaining length of %u.", + (unsigned int)MQTT_PACKET_CONNACK_REMAINING_LENGTH)); status = MQTTBadResponse; } /* Check the reserved bits in CONNACK. The high 7 bits of the third byte * in CONNACK must be 0. */ - else if( ( pRemainingData[ 0 ] | 0x01U ) != 0x01U ) + else if ((pRemainingData[0] | 0x01U) != 0x01U) { - LogError( ( "Reserved bits in CONNACK incorrect." ) ); + LogError(("Reserved bits in CONNACK incorrect.")); status = MQTTBadResponse; } @@ -2205,35 +2086,35 @@ static MQTTStatus_t deserializeConnack( const MQTTPacketInfo_t * pConnack, { /* Determine if the "Session Present" bit is set. This is the lowest bit of * the third byte in CONNACK. */ - if( ( pRemainingData[ 0 ] & MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK ) - == MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK ) + if ((pRemainingData[0] & MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) + == MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) { - LogDebug( ( "CONNACK session present bit set." ) ); + LogDebug(("CONNACK session present bit set.")); *pSessionPresent = true; /* MQTT 3.1.1 specifies that the fourth byte in CONNACK must be 0 if the * "Session Present" bit is set. */ - if( pRemainingData[ 1 ] != 0U ) + if (pRemainingData[1] != 0U) { - LogError( ( "Session Present bit is set, but connect return code in CONNACK is %u (nonzero).", - ( unsigned int ) pRemainingData[ 1 ] ) ); + LogError(("Session Present bit is set, but connect return code in CONNACK is %u (nonzero).", + (unsigned int)pRemainingData[1])); status = MQTTBadResponse; } } else { - LogDebug( ( "CONNACK session present bit not set." ) ); + LogDebug(("CONNACK session present bit not set.")); *pSessionPresent = false; } } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* In MQTT 3.1.1, only values 0 through 5 are valid CONNACK response codes. */ - if( pRemainingData[ 1 ] > 5U ) + if (pRemainingData[1] > 5U) { - LogError( ( "CONNACK response %u is invalid.", - ( unsigned int ) pRemainingData[ 1 ] ) ); + LogError(("CONNACK response %u is invalid.", + (unsigned int)pRemainingData[1])); status = MQTTBadResponse; } @@ -2241,10 +2122,10 @@ static MQTTStatus_t deserializeConnack( const MQTTPacketInfo_t * pConnack, { /* Print the appropriate message for the CONNACK response code if logs are * enabled. */ - logConnackResponse( pRemainingData[ 1 ] ); + logConnackResponse(pRemainingData[1]); /* A nonzero CONNACK response code means the connection was refused. */ - if( pRemainingData[ 1 ] > 0U ) + if (pRemainingData[1] > 0U) { status = MQTTServerRefused; } @@ -2256,46 +2137,46 @@ static MQTTStatus_t deserializeConnack( const MQTTPacketInfo_t * pConnack, /*-----------------------------------------------------------*/ -static MQTTStatus_t calculateSubscriptionPacketSize( const MQTTSubscribeInfo_t * pSubscriptionList, - size_t subscriptionCount, - size_t * pRemainingLength, - size_t * pPacketSize, - MQTTSubscriptionType_t subscriptionType ) +static MQTTStatus_t calculateSubscriptionPacketSize(const MQTTSubscribeInfo_t* pSubscriptionList, + size_t subscriptionCount, + size_t* pRemainingLength, + size_t* pPacketSize, + MQTTSubscriptionType_t subscriptionType) { MQTTStatus_t status = MQTTSuccess; size_t i = 0, packetSize = 0; - assert( pSubscriptionList != NULL ); - assert( subscriptionCount != 0U ); - assert( pRemainingLength != NULL ); - assert( pPacketSize != NULL ); + assert(pSubscriptionList != NULL); + assert(subscriptionCount != 0U); + assert(pRemainingLength != NULL); + assert(pPacketSize != NULL); /* The variable header of a subscription packet consists of a 2-byte packet * identifier. */ - packetSize += sizeof( uint16_t ); + packetSize += sizeof(uint16_t); /* Sum the lengths of all subscription topic filters; add 1 byte for each * subscription's QoS if type is MQTT_SUBSCRIBE. */ - for( i = 0; i < subscriptionCount; i++ ) + for (i = 0; i < subscriptionCount; i++) { /* Add the length of the topic filter. MQTT strings are prepended * with 2 byte string length field. Hence 2 bytes are added to size. */ - packetSize += pSubscriptionList[ i ].topicFilterLength + sizeof( uint16_t ); + packetSize += pSubscriptionList[i].topicFilterLength + sizeof(uint16_t); /* Only SUBSCRIBE packets include the QoS. */ - if( subscriptionType == MQTT_SUBSCRIBE ) + if (subscriptionType == MQTT_SUBSCRIBE) { packetSize += 1U; } /* Validate each topic filter. */ - if( ( pSubscriptionList[ i ].topicFilterLength == 0U ) || - ( pSubscriptionList[ i ].pTopicFilter == NULL ) ) + if ((pSubscriptionList[i].topicFilterLength == 0U) || + (pSubscriptionList[i].pTopicFilter == NULL)) { status = MQTTBadParameter; - LogError( ( "Subscription #%lu in %sSUBSCRIBE packet cannot be empty.", - ( unsigned long ) i, - ( subscriptionType == MQTT_SUBSCRIBE ) ? "" : "UN" ) ); + LogError(("Subscription #%lu in %sSUBSCRIBE packet cannot be empty.", + (unsigned long)i, + (subscriptionType == MQTT_SUBSCRIBE) ? "" : "UN")); /* It is not necessary to break as an error status has already been set. */ } } @@ -2303,84 +2184,84 @@ static MQTTStatus_t calculateSubscriptionPacketSize( const MQTTSubscribeInfo_t * /* At this point, the "Remaining length" has been calculated. Return error * if the "Remaining length" exceeds what is allowed by MQTT 3.1.1. Otherwise, * set the output parameter.*/ - if( packetSize > MQTT_MAX_REMAINING_LENGTH ) + if (packetSize > MQTT_MAX_REMAINING_LENGTH) { - LogError( ( "Subscription packet length of %lu exceeds" - "the MQTT 3.1.1 maximum packet length of %lu.", - ( unsigned long ) packetSize, - MQTT_MAX_REMAINING_LENGTH ) ); + LogError(("Subscription packet length of %lu exceeds" + "the MQTT 3.1.1 maximum packet length of %lu.", + (unsigned long)packetSize, + MQTT_MAX_REMAINING_LENGTH)); status = MQTTBadParameter; } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { *pRemainingLength = packetSize; /* Calculate the full size of the subscription packet by adding * number of bytes required to encode the "Remaining length" field * plus 1 byte for the "Packet type" field. */ - packetSize += 1U + remainingLengthEncodedSize( packetSize ); + packetSize += 1U + remainingLengthEncodedSize(packetSize); /*Set the pPacketSize output parameter. */ *pPacketSize = packetSize; } - LogDebug( ( "Subscription packet remaining length=%lu and packet size=%lu.", - ( unsigned long ) *pRemainingLength, - ( unsigned long ) *pPacketSize ) ); + LogDebug(("Subscription packet remaining length=%lu and packet size=%lu.", + (unsigned long)*pRemainingLength, + (unsigned long)*pPacketSize)); return status; } /*-----------------------------------------------------------*/ -static MQTTStatus_t readSubackStatus( size_t statusCount, - const uint8_t * pStatusStart ) +static MQTTStatus_t readSubackStatus(size_t statusCount, + const uint8_t* pStatusStart) { MQTTStatus_t status = MQTTSuccess; uint8_t subscriptionStatus = 0; size_t i = 0; - assert( pStatusStart != NULL ); + assert(pStatusStart != NULL); /* Iterate through each status byte in the SUBACK packet. */ - for( i = 0; i < statusCount; i++ ) + for (i = 0; i < statusCount; i++) { /* Read a single status byte in SUBACK. */ - subscriptionStatus = pStatusStart[ i ]; + subscriptionStatus = pStatusStart[i]; /* MQTT 3.1.1 defines the following values as status codes. */ - switch( subscriptionStatus ) + switch (subscriptionStatus) { - case 0x00: - case 0x01: - case 0x02: + case 0x00: + case 0x01: + case 0x02: - LogDebug( ( "Topic filter %lu accepted, max QoS %u.", - ( unsigned long ) i, - ( unsigned int ) subscriptionStatus ) ); - break; + LogDebug(("Topic filter %lu accepted, max QoS %u.", + (unsigned long)i, + (unsigned int)subscriptionStatus)); + break; - case 0x80: + case 0x80: - LogWarn( ( "Topic filter %lu refused.", ( unsigned long ) i ) ); + LogWarn(("Topic filter %lu refused.", (unsigned long)i)); - /* Application should remove subscription from the list */ - status = MQTTServerRefused; + /* Application should remove subscription from the list */ + status = MQTTServerRefused; - break; + break; - default: - LogError( ( "Bad SUBSCRIBE status %u.", - ( unsigned int ) subscriptionStatus ) ); + default: + LogError(("Bad SUBSCRIBE status %u.", + (unsigned int)subscriptionStatus)); - status = MQTTBadResponse; + status = MQTTBadResponse; - break; + break; } /* Stop parsing the subscription statuses if a bad response was received. */ - if( status == MQTTBadResponse ) + if (status == MQTTBadResponse) { break; } @@ -2391,42 +2272,42 @@ static MQTTStatus_t readSubackStatus( size_t statusCount, /*-----------------------------------------------------------*/ -static MQTTStatus_t deserializeSuback( const MQTTPacketInfo_t * pSuback, - uint16_t * pPacketIdentifier ) +static MQTTStatus_t deserializeSuback(const MQTTPacketInfo_t* pSuback, + uint16_t* pPacketIdentifier) { MQTTStatus_t status = MQTTSuccess; size_t remainingLength; - const uint8_t * pVariableHeader = NULL; + const uint8_t* pVariableHeader = NULL; - assert( pSuback != NULL ); - assert( pPacketIdentifier != NULL ); + assert(pSuback != NULL); + assert(pPacketIdentifier != NULL); remainingLength = pSuback->remainingLength; pVariableHeader = pSuback->pRemainingData; /* A SUBACK must have a remaining length of at least 3 to accommodate the * packet identifier and at least 1 return code. */ - if( remainingLength < 3U ) + if (remainingLength < 3U) { - LogError( ( "SUBACK cannot have a remaining length less than 3." ) ); + LogError(("SUBACK cannot have a remaining length less than 3.")); status = MQTTBadResponse; } else { /* Extract the packet identifier (first 2 bytes of variable header) from SUBACK. */ - *pPacketIdentifier = UINT16_DECODE( pVariableHeader ); + *pPacketIdentifier = UINT16_DECODE(pVariableHeader); - LogDebug( ( "Packet identifier %hu.", - ( unsigned short ) *pPacketIdentifier ) ); + LogDebug(("Packet identifier %hu.", + (unsigned short)*pPacketIdentifier)); - if( *pPacketIdentifier == 0U ) + if (*pPacketIdentifier == 0U) { status = MQTTBadResponse; } else { - status = readSubackStatus( remainingLength - sizeof( uint16_t ), - &pVariableHeader[ sizeof( uint16_t ) ] ); + status = readSubackStatus(remainingLength - sizeof(uint16_t), + &pVariableHeader[sizeof(uint16_t)]); } } @@ -2435,38 +2316,38 @@ static MQTTStatus_t deserializeSuback( const MQTTPacketInfo_t * pSuback, /*-----------------------------------------------------------*/ -static MQTTStatus_t validateSubscriptionSerializeParams( const MQTTSubscribeInfo_t * pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t * pFixedBuffer ) +static MQTTStatus_t validateSubscriptionSerializeParams(const MQTTSubscribeInfo_t* pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t* pFixedBuffer) { MQTTStatus_t status = MQTTSuccess; size_t packetSize = 0; /* Validate all the parameters. */ - if( ( pFixedBuffer == NULL ) || ( pSubscriptionList == NULL ) ) + if ((pFixedBuffer == NULL) || (pSubscriptionList == NULL)) { - LogError( ( "Argument cannot be NULL: pFixedBuffer=%p, " - "pSubscriptionList=%p.", - ( void * ) pFixedBuffer, - ( void * ) pSubscriptionList ) ); + LogError(("Argument cannot be NULL: pFixedBuffer=%p, " + "pSubscriptionList=%p.", + (void*)pFixedBuffer, + (void*)pSubscriptionList)); status = MQTTBadParameter; } /* A buffer must be configured for serialization. */ - else if( pFixedBuffer->pBuffer == NULL ) + else if (pFixedBuffer->pBuffer == NULL) { - LogError( ( "Argument cannot be NULL: pFixedBuffer->pBuffer is NULL." ) ); + LogError(("Argument cannot be NULL: pFixedBuffer->pBuffer is NULL.")); status = MQTTBadParameter; } - else if( subscriptionCount == 0U ) + else if (subscriptionCount == 0U) { - LogError( ( "Subscription count is 0." ) ); + LogError(("Subscription count is 0.")); status = MQTTBadParameter; } - else if( packetId == 0U ) + else if (packetId == 0U) { - LogError( ( "Packet Id for subscription packet is 0." ) ); + LogError(("Packet Id for subscription packet is 0.")); status = MQTTBadParameter; } else @@ -2474,15 +2355,15 @@ static MQTTStatus_t validateSubscriptionSerializeParams( const MQTTSubscribeInfo /* The serialized packet size = First byte * + length of encoded size of remaining length * + remaining length. */ - packetSize = 1U + remainingLengthEncodedSize( remainingLength ) - + remainingLength; + packetSize = 1U + remainingLengthEncodedSize(remainingLength) + + remainingLength; - if( packetSize > pFixedBuffer->size ) + if (packetSize > pFixedBuffer->size) { - LogError( ( "Buffer size of %lu is not sufficient to hold " - "serialized packet of size of %lu.", - ( unsigned long ) pFixedBuffer->size, - ( unsigned long ) packetSize ) ); + LogError(("Buffer size of %lu is not sufficient to hold " + "serialized packet of size of %lu.", + (unsigned long)pFixedBuffer->size, + (unsigned long)packetSize)); status = MQTTNoMemory; } } @@ -2492,93 +2373,93 @@ static MQTTStatus_t validateSubscriptionSerializeParams( const MQTTSubscribeInfo /*-----------------------------------------------------------*/ -static MQTTStatus_t deserializePublish( const MQTTPacketInfo_t * pIncomingPacket, - uint16_t * pPacketId, - MQTTPublishInfo_t * pPublishInfo ) +static MQTTStatus_t deserializePublish(const MQTTPacketInfo_t* pIncomingPacket, + uint16_t* pPacketId, + MQTTPublishInfo_t* pPublishInfo) { MQTTStatus_t status = MQTTSuccess; - const uint8_t * pVariableHeader, * pPacketIdentifierHigh = NULL; + const uint8_t* pVariableHeader, * pPacketIdentifierHigh = NULL; - assert( pIncomingPacket != NULL ); - assert( pPacketId != NULL ); - assert( pPublishInfo != NULL ); - assert( pIncomingPacket->pRemainingData != NULL ); + assert(pIncomingPacket != NULL); + assert(pPacketId != NULL); + assert(pPublishInfo != NULL); + assert(pIncomingPacket->pRemainingData != NULL); pVariableHeader = pIncomingPacket->pRemainingData; /* The flags are the lower 4 bits of the first byte in PUBLISH. */ - status = processPublishFlags( ( pIncomingPacket->type & 0x0FU ), pPublishInfo ); + status = processPublishFlags((pIncomingPacket->type & 0x0FU), pPublishInfo); - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Sanity checks for "Remaining length". A QoS 0 PUBLISH must have a remaining * length of at least 3 to accommodate topic name length (2 bytes) and topic * name (at least 1 byte). A QoS 1 or 2 PUBLISH must have a remaining length of * at least 5 for the packet identifier in addition to the topic name length and * topic name. */ - status = checkPublishRemainingLength( pIncomingPacket->remainingLength, - pPublishInfo->qos, - MQTT_MIN_PUBLISH_REMAINING_LENGTH_QOS0 ); + status = checkPublishRemainingLength(pIncomingPacket->remainingLength, + pPublishInfo->qos, + MQTT_MIN_PUBLISH_REMAINING_LENGTH_QOS0); } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Extract the topic name starting from the first byte of the variable header. * The topic name string starts at byte 3 in the variable header. */ - pPublishInfo->topicNameLength = UINT16_DECODE( pVariableHeader ); + pPublishInfo->topicNameLength = UINT16_DECODE(pVariableHeader); /* Sanity checks for topic name length and "Remaining length". The remaining * length must be at least as large as the variable length header. */ - status = checkPublishRemainingLength( pIncomingPacket->remainingLength, - pPublishInfo->qos, - pPublishInfo->topicNameLength + sizeof( uint16_t ) ); + status = checkPublishRemainingLength(pIncomingPacket->remainingLength, + pPublishInfo->qos, + pPublishInfo->topicNameLength + sizeof(uint16_t)); } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Parse the topic. */ - pPublishInfo->pTopicName = ( const char * ) ( &pVariableHeader[ sizeof( uint16_t ) ] ); - LogDebug( ( "Topic name length: %hu.", ( unsigned short ) pPublishInfo->topicNameLength ) ); + pPublishInfo->pTopicName = (const char*)(&pVariableHeader[sizeof(uint16_t)]); + LogDebug(("Topic name length: %hu.", (unsigned short)pPublishInfo->topicNameLength)); /* Extract the packet identifier for QoS 1 or 2 PUBLISH packets. Packet * identifier starts immediately after the topic name. */ - pPacketIdentifierHigh = ( const uint8_t * ) ( &pPublishInfo->pTopicName[ pPublishInfo->topicNameLength ] ); + pPacketIdentifierHigh = (const uint8_t*)(&pPublishInfo->pTopicName[pPublishInfo->topicNameLength]); - if( pPublishInfo->qos > MQTTQoS0 ) + if (pPublishInfo->qos > MQTTQoS0) { - *pPacketId = UINT16_DECODE( pPacketIdentifierHigh ); + *pPacketId = UINT16_DECODE(pPacketIdentifierHigh); - LogDebug( ( "Packet identifier %hu.", - ( unsigned short ) *pPacketId ) ); + LogDebug(("Packet identifier %hu.", + (unsigned short)*pPacketId)); /* Advance pointer two bytes to start of payload as in the QoS 0 case. */ - pPacketIdentifierHigh = &pPacketIdentifierHigh[ sizeof( uint16_t ) ]; + pPacketIdentifierHigh = &pPacketIdentifierHigh[sizeof(uint16_t)]; /* Packet identifier cannot be 0. */ - if( *pPacketId == 0U ) + if (*pPacketId == 0U) { - LogError( ( "Packet identifier cannot be 0." ) ); + LogError(("Packet identifier cannot be 0.")); status = MQTTBadResponse; } } } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Calculate the length of the payload. QoS 1 or 2 PUBLISH packets contain * a packet identifier, but QoS 0 PUBLISH packets do not. */ - pPublishInfo->payloadLength = pIncomingPacket->remainingLength - pPublishInfo->topicNameLength - sizeof( uint16_t ); + pPublishInfo->payloadLength = pIncomingPacket->remainingLength - pPublishInfo->topicNameLength - sizeof(uint16_t); - if( pPublishInfo->qos != MQTTQoS0 ) + if (pPublishInfo->qos != MQTTQoS0) { /* Two more bytes for the packet identifier. */ - pPublishInfo->payloadLength -= sizeof( uint16_t ); + pPublishInfo->payloadLength -= sizeof(uint16_t); } /* Set payload if it exists. */ - pPublishInfo->pPayload = ( pPublishInfo->payloadLength != 0U ) ? pPacketIdentifierHigh : NULL; + pPublishInfo->pPayload = (pPublishInfo->payloadLength != 0U) ? pPacketIdentifierHigh : NULL; - LogDebug( ( "Payload length %lu.", - ( unsigned long ) pPublishInfo->payloadLength ) ); + LogDebug(("Payload length %lu.", + (unsigned long)pPublishInfo->payloadLength)); } return status; @@ -2586,34 +2467,34 @@ static MQTTStatus_t deserializePublish( const MQTTPacketInfo_t * pIncomingPacket /*-----------------------------------------------------------*/ -static MQTTStatus_t deserializeSimpleAck( const MQTTPacketInfo_t * pAck, - uint16_t * pPacketIdentifier ) +static MQTTStatus_t deserializeSimpleAck(const MQTTPacketInfo_t* pAck, + uint16_t* pPacketIdentifier) { MQTTStatus_t status = MQTTSuccess; - assert( pAck != NULL ); - assert( pPacketIdentifier != NULL ); + assert(pAck != NULL); + assert(pPacketIdentifier != NULL); /* Check that the "Remaining length" of the received ACK is 2. */ - if( pAck->remainingLength != MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH ) + if (pAck->remainingLength != MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH) { - LogError( ( "ACK does not have remaining length of %u.", - ( unsigned int ) MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH ) ); + LogError(("ACK does not have remaining length of %u.", + (unsigned int)MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH)); status = MQTTBadResponse; } else { /* Extract the packet identifier (third and fourth bytes) from ACK. */ - *pPacketIdentifier = UINT16_DECODE( pAck->pRemainingData ); + *pPacketIdentifier = UINT16_DECODE(pAck->pRemainingData); - LogDebug( ( "Packet identifier %hu.", - ( unsigned short ) *pPacketIdentifier ) ); + LogDebug(("Packet identifier %hu.", + (unsigned short)*pPacketIdentifier)); /* Packet identifier cannot be 0. */ - if( *pPacketIdentifier == 0U ) + if (*pPacketIdentifier == 0U) { - LogError( ( "Packet identifier cannot be 0." ) ); + LogError(("Packet identifier cannot be 0.")); status = MQTTBadResponse; } } @@ -2623,17 +2504,17 @@ static MQTTStatus_t deserializeSimpleAck( const MQTTPacketInfo_t * pAck, /*-----------------------------------------------------------*/ -static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ) +static MQTTStatus_t deserializePingresp(const MQTTPacketInfo_t* pPingresp) { MQTTStatus_t status = MQTTSuccess; - assert( pPingresp != NULL ); + assert(pPingresp != NULL); /* Check the "Remaining length" (second byte) of the received PINGRESP is 0. */ - if( pPingresp->remainingLength != MQTT_PACKET_PINGRESP_REMAINING_LENGTH ) + if (pPingresp->remainingLength != MQTT_PACKET_PINGRESP_REMAINING_LENGTH) { - LogError( ( "PINGRESP does not have remaining length of %u.", - MQTT_PACKET_PINGRESP_REMAINING_LENGTH ) ); + LogError(("PINGRESP does not have remaining length of %u.", + MQTT_PACKET_PINGRESP_REMAINING_LENGTH)); status = MQTTBadResponse; } @@ -2641,12 +2522,12 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ) return status; } -uint8_t * MQTT_SerializeConnectFixedHeader( uint8_t * pIndex, - const MQTTConnectInfo_t * pConnectInfo, - const MQTTPublishInfo_t * pWillInfo, - size_t remainingLength ) +uint8_t* MQTT_SerializeConnectFixedHeader(uint8_t* pIndex, + const MQTTConnectInfo_t* pConnectInfo, + const MQTTPublishInfo_t* pWillInfo, + size_t remainingLength) { - uint8_t * pIndexLocal = pIndex; + uint8_t* pIndexLocal = pIndex; uint8_t connectFlags = 0U; /* The first byte in the CONNECT packet is the control packet type. */ @@ -2656,62 +2537,61 @@ uint8_t * MQTT_SerializeConnectFixedHeader( uint8_t * pIndex, /* The remaining length of the CONNECT packet is encoded starting from the * second byte. The remaining length does not include the length of the fixed * header or the encoding of the remaining length. */ - pIndexLocal = encodeRemainingLength( pIndexLocal, remainingLength ); + pIndexLocal = encodeRemainingLength(pIndexLocal, remainingLength); /* The string "MQTT" is placed at the beginning of the CONNECT packet's variable * header. This string is 4 bytes long. */ - // Add the correct version - - pIndexLocal = encodeString( pIndexLocal, "MQTT", 4 ); + // Add the correct version + pIndexLocal = encodeString(pIndexLocal, "MQTT", 4); /* The MQTT protocol version is the second field of the variable header. */ - #if(MQTT_VERSION_5_ENABLED) +#if(MQTT_VERSION_5_ENABLED) *pIndexLocal = MQTT_VERSION_5; - #else +#else *pIndexLocal = MQTT_VERSION_3_1_1; - #endif +#endif pIndexLocal++; /* Set the clean session flag if needed. */ - if( pConnectInfo->cleanSession == true ) + if (pConnectInfo->cleanSession == true) { - UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_CLEAN ); + UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_CLEAN); } /* Set the flags for username and password if provided. */ - if( pConnectInfo->pUserName != NULL ) + if (pConnectInfo->pUserName != NULL) { - UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_USERNAME ); + UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_USERNAME); } - if( pConnectInfo->pPassword != NULL ) + if (pConnectInfo->pPassword != NULL) { - UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_PASSWORD ); + UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_PASSWORD); } /* Set will flag if a Last Will and Testament is provided. */ - if( pWillInfo != NULL ) + if (pWillInfo != NULL) { - UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_WILL ); + UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_WILL); /* Flags only need to be changed for Will QoS 1 or 2. */ - if( pWillInfo->qos == MQTTQoS1 ) + if (pWillInfo->qos == MQTTQoS1) { - UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_WILL_QOS1 ); + UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_WILL_QOS1); } - else if( pWillInfo->qos == MQTTQoS2 ) + else if (pWillInfo->qos == MQTTQoS2) { - UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_WILL_QOS2 ); + UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_WILL_QOS2); } else { /* Empty else MISRA 15.7 */ } - if( pWillInfo->retain == true ) + if (pWillInfo->retain == true) { - UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_WILL_RETAIN ); + UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_WILL_RETAIN); } } @@ -2719,133 +2599,133 @@ uint8_t * MQTT_SerializeConnectFixedHeader( uint8_t * pIndex, pIndexLocal++; /* Write the 2 bytes of the keep alive interval into the CONNECT packet. */ - pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( pConnectInfo->keepAliveSeconds ); - pIndexLocal[ 1 ] = UINT16_LOW_BYTE( pConnectInfo->keepAliveSeconds ); - pIndexLocal = &pIndexLocal[ 2 ]; + pIndexLocal[0] = UINT16_HIGH_BYTE(pConnectInfo->keepAliveSeconds); + pIndexLocal[1] = UINT16_LOW_BYTE(pConnectInfo->keepAliveSeconds); + pIndexLocal = &pIndexLocal[2]; return pIndexLocal; } /*-----------------------------------------------------------*/ -static void serializeConnectPacket( const MQTTConnectInfo_t * pConnectInfo, - const MQTTPublishInfo_t * pWillInfo, - size_t remainingLength, - const MQTTFixedBuffer_t * pFixedBuffer ) +static void serializeConnectPacket(const MQTTConnectInfo_t* pConnectInfo, + const MQTTPublishInfo_t* pWillInfo, + size_t remainingLength, + const MQTTFixedBuffer_t* pFixedBuffer) { - uint8_t * pIndex = NULL; + uint8_t* pIndex = NULL; - assert( pConnectInfo != NULL ); - assert( pFixedBuffer != NULL ); - assert( pFixedBuffer->pBuffer != NULL ); + assert(pConnectInfo != NULL); + assert(pFixedBuffer != NULL); + assert(pFixedBuffer->pBuffer != NULL); pIndex = pFixedBuffer->pBuffer; /* Serialize the header. */ - pIndex = MQTT_SerializeConnectFixedHeader( pIndex, - pConnectInfo, - pWillInfo, - remainingLength ); + pIndex = MQTT_SerializeConnectFixedHeader(pIndex, + pConnectInfo, + pWillInfo, + remainingLength); /* Write the client identifier into the CONNECT packet. */ - pIndex = encodeString( pIndex, - pConnectInfo->pClientIdentifier, - pConnectInfo->clientIdentifierLength ); + pIndex = encodeString(pIndex, + pConnectInfo->pClientIdentifier, + pConnectInfo->clientIdentifierLength); /* Write the will topic name and message into the CONNECT packet if provided. */ - if( pWillInfo != NULL ) + if (pWillInfo != NULL) { - pIndex = encodeString( pIndex, - pWillInfo->pTopicName, - pWillInfo->topicNameLength ); + pIndex = encodeString(pIndex, + pWillInfo->pTopicName, + pWillInfo->topicNameLength); - pIndex = encodeString( pIndex, - pWillInfo->pPayload, - ( uint16_t ) pWillInfo->payloadLength ); + pIndex = encodeString(pIndex, + pWillInfo->pPayload, + (uint16_t)pWillInfo->payloadLength); } /* Encode the user name if provided. */ - if( pConnectInfo->pUserName != NULL ) + if (pConnectInfo->pUserName != NULL) { - pIndex = encodeString( pIndex, pConnectInfo->pUserName, pConnectInfo->userNameLength ); + pIndex = encodeString(pIndex, pConnectInfo->pUserName, pConnectInfo->userNameLength); } /* Encode the password if provided. */ - if( pConnectInfo->pPassword != NULL ) + if (pConnectInfo->pPassword != NULL) { - pIndex = encodeString( pIndex, pConnectInfo->pPassword, pConnectInfo->passwordLength ); + pIndex = encodeString(pIndex, pConnectInfo->pPassword, pConnectInfo->passwordLength); } - LogDebug( ( "Length of serialized CONNECT packet is %lu.", - ( ( unsigned long ) ( pIndex - pFixedBuffer->pBuffer ) ) ) ); + LogDebug(("Length of serialized CONNECT packet is %lu.", + ((unsigned long)(pIndex - pFixedBuffer->pBuffer)))); /* Ensure that the difference between the end and beginning of the buffer * is less than the buffer size. */ - assert( ( ( size_t ) ( pIndex - pFixedBuffer->pBuffer ) ) <= pFixedBuffer->size ); + assert(((size_t)(pIndex - pFixedBuffer->pBuffer)) <= pFixedBuffer->size); } /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetConnectPacketSize( const MQTTConnectInfo_t * pConnectInfo, - const MQTTPublishInfo_t * pWillInfo, - size_t * pRemainingLength, - size_t * pPacketSize ) +MQTTStatus_t MQTT_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, + const MQTTPublishInfo_t* pWillInfo, + size_t* pRemainingLength, + size_t* pPacketSize) { MQTTStatus_t status = MQTTSuccess; size_t remainingLength; /* The CONNECT packet will always include a 10-byte variable header. */ - size_t connectPacketSize = MQTT_PACKET_CONNECT_HEADER_SIZE; + size_t connectPacketSize = MQTT_PACKET_CONNECT_HEADER_SIZE; /* Validate arguments. */ - if( ( pConnectInfo == NULL ) || ( pRemainingLength == NULL ) || - ( pPacketSize == NULL ) ) - { - LogError( ( "Argument cannot be NULL: pConnectInfo=%p, " - "pRemainingLength=%p, pPacketSize=%p.", - ( void * ) pConnectInfo, - ( void * ) pRemainingLength, - ( void * ) pPacketSize ) ); + if ((pConnectInfo == NULL) || (pRemainingLength == NULL) || + (pPacketSize == NULL)) + { + LogError(("Argument cannot be NULL: pConnectInfo=%p, " + "pRemainingLength=%p, pPacketSize=%p.", + (void*)pConnectInfo, + (void*)pRemainingLength, + (void*)pPacketSize)); status = MQTTBadParameter; } - else if( ( pConnectInfo->clientIdentifierLength == 0U ) || ( pConnectInfo->pClientIdentifier == NULL ) ) + else if ((pConnectInfo->clientIdentifierLength == 0U) || (pConnectInfo->pClientIdentifier == NULL)) { - LogError( ( "Mqtt_GetConnectPacketSize() client identifier must be set." ) ); + LogError(("Mqtt_GetConnectPacketSize() client identifier must be set.")); status = MQTTBadParameter; } - else if( ( pWillInfo != NULL ) && ( pWillInfo->payloadLength > ( size_t ) UINT16_MAX ) ) + else if ((pWillInfo != NULL) && (pWillInfo->payloadLength > (size_t)UINT16_MAX)) { /* The MQTTPublishInfo_t is reused for the will message. The payload * length for any other message could be larger than 65,535, but * the will message length is required to be represented in 2 bytes. * By bounding the payloadLength of the will message, the CONNECT * packet will never be larger than 327699 bytes. */ - LogError( ( "The Will Message length must not exceed %d. " - "pWillInfo->payloadLength=%lu.", - UINT16_MAX, - ( unsigned long ) pWillInfo->payloadLength ) ); + LogError(("The Will Message length must not exceed %d. " + "pWillInfo->payloadLength=%lu.", + UINT16_MAX, + (unsigned long)pWillInfo->payloadLength)); status = MQTTBadParameter; } else { /* Add the length of the client identifier. */ - connectPacketSize += pConnectInfo->clientIdentifierLength + sizeof( uint16_t ); + connectPacketSize += pConnectInfo->clientIdentifierLength + sizeof(uint16_t); /* Add the lengths of the will message and topic name if provided. */ - if( pWillInfo != NULL ) + if (pWillInfo != NULL) { - connectPacketSize += pWillInfo->topicNameLength + sizeof( uint16_t ) + - pWillInfo->payloadLength + sizeof( uint16_t ); + connectPacketSize += pWillInfo->topicNameLength + sizeof(uint16_t) + + pWillInfo->payloadLength + sizeof(uint16_t); } /* Add the lengths of the user name and password if provided. */ - if( pConnectInfo->pUserName != NULL ) + if (pConnectInfo->pUserName != NULL) { - connectPacketSize += pConnectInfo->userNameLength + sizeof( uint16_t ); + connectPacketSize += pConnectInfo->userNameLength + sizeof(uint16_t); } - if( pConnectInfo->pPassword != NULL ) + if (pConnectInfo->pPassword != NULL) { - connectPacketSize += pConnectInfo->passwordLength + sizeof( uint16_t ); + connectPacketSize += pConnectInfo->passwordLength + sizeof(uint16_t); } /* At this point, the "Remaining Length" field of the MQTT CONNECT packet has @@ -2854,7 +2734,7 @@ MQTTStatus_t MQTT_GetConnectPacketSize( const MQTTConnectInfo_t * pConnectInfo, /* Calculate the full size of the MQTT CONNECT packet by adding the size of * the "Remaining Length" field plus 1 byte for the "Packet Type" field. */ - connectPacketSize += 1U + remainingLengthEncodedSize( connectPacketSize ); + connectPacketSize += 1U + remainingLengthEncodedSize(connectPacketSize); /* The connectPacketSize calculated from this function's parameters is * guaranteed to be less than the maximum MQTT CONNECT packet size, which @@ -2875,9 +2755,9 @@ MQTTStatus_t MQTT_GetConnectPacketSize( const MQTTConnectInfo_t * pConnectInfo, *pRemainingLength += remainingLength; *pPacketSize += connectPacketSize; - LogDebug( ( "CONNECT packet remaining length=%lu and packet size=%lu.", - ( unsigned long ) *pRemainingLength, - ( unsigned long ) *pPacketSize ) ); + LogDebug(("CONNECT packet remaining length=%lu and packet size=%lu.", + (unsigned long)*pRemainingLength, + (unsigned long)*pPacketSize)); } return status; @@ -2885,32 +2765,32 @@ MQTTStatus_t MQTT_GetConnectPacketSize( const MQTTConnectInfo_t * pConnectInfo, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializeConnect( const MQTTConnectInfo_t * pConnectInfo, - const MQTTPublishInfo_t * pWillInfo, - size_t remainingLength, - const MQTTFixedBuffer_t * pFixedBuffer ) +MQTTStatus_t MQTT_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, + const MQTTPublishInfo_t* pWillInfo, + size_t remainingLength, + const MQTTFixedBuffer_t* pFixedBuffer) { MQTTStatus_t status = MQTTSuccess; size_t connectPacketSize = 0; /* Validate arguments. */ - if( ( pConnectInfo == NULL ) || ( pFixedBuffer == NULL ) ) + if ((pConnectInfo == NULL) || (pFixedBuffer == NULL)) { - LogError( ( "Argument cannot be NULL: pConnectInfo=%p, " - "pFixedBuffer=%p.", - ( void * ) pConnectInfo, - ( void * ) pFixedBuffer ) ); + LogError(("Argument cannot be NULL: pConnectInfo=%p, " + "pFixedBuffer=%p.", + (void*)pConnectInfo, + (void*)pFixedBuffer)); status = MQTTBadParameter; } /* A buffer must be configured for serialization. */ - else if( pFixedBuffer->pBuffer == NULL ) + else if (pFixedBuffer->pBuffer == NULL) { - LogError( ( "Argument cannot be NULL: pFixedBuffer->pBuffer is NULL." ) ); + LogError(("Argument cannot be NULL: pFixedBuffer->pBuffer is NULL.")); status = MQTTBadParameter; } - else if( ( pWillInfo != NULL ) && ( pWillInfo->pTopicName == NULL ) ) + else if ((pWillInfo != NULL) && (pWillInfo->pTopicName == NULL)) { - LogError( ( "pWillInfo->pTopicName cannot be NULL if Will is present." ) ); + LogError(("pWillInfo->pTopicName cannot be NULL if Will is present.")); status = MQTTBadParameter; } else @@ -2918,23 +2798,23 @@ MQTTStatus_t MQTT_SerializeConnect( const MQTTConnectInfo_t * pConnectInfo, /* Calculate CONNECT packet size. Overflow in in this addition is not checked * because it is part of the API contract to call Mqtt_GetConnectPacketSize() * before this function. */ - connectPacketSize = remainingLength + remainingLengthEncodedSize( remainingLength ) + 1U; + connectPacketSize = remainingLength + remainingLengthEncodedSize(remainingLength) + 1U; /* Check that the full packet size fits within the given buffer. */ - if( connectPacketSize > pFixedBuffer->size ) + if (connectPacketSize > pFixedBuffer->size) { - LogError( ( "Buffer size of %lu is not sufficient to hold " - "serialized CONNECT packet of size of %lu.", - ( unsigned long ) pFixedBuffer->size, - ( unsigned long ) connectPacketSize ) ); + LogError(("Buffer size of %lu is not sufficient to hold " + "serialized CONNECT packet of size of %lu.", + (unsigned long)pFixedBuffer->size, + (unsigned long)connectPacketSize)); status = MQTTNoMemory; } else { - serializeConnectPacket( pConnectInfo, - pWillInfo, - remainingLength, - pFixedBuffer ); + serializeConnectPacket(pConnectInfo, + pWillInfo, + remainingLength, + pFixedBuffer); } } @@ -2943,37 +2823,37 @@ MQTTStatus_t MQTT_SerializeConnect( const MQTTConnectInfo_t * pConnectInfo, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetSubscribePacketSize( const MQTTSubscribeInfo_t * pSubscriptionList, - size_t subscriptionCount, - size_t * pRemainingLength, - size_t * pPacketSize ) +MQTTStatus_t MQTT_GetSubscribePacketSize(const MQTTSubscribeInfo_t* pSubscriptionList, + size_t subscriptionCount, + size_t* pRemainingLength, + size_t* pPacketSize) { MQTTStatus_t status = MQTTSuccess; /* Validate parameters. */ - if( ( pSubscriptionList == NULL ) || ( pRemainingLength == NULL ) || - ( pPacketSize == NULL ) ) - { - LogError( ( "Argument cannot be NULL: pSubscriptionList=%p, " - "pRemainingLength=%p, pPacketSize=%p.", - ( void * ) pSubscriptionList, - ( void * ) pRemainingLength, - ( void * ) pPacketSize ) ); + if ((pSubscriptionList == NULL) || (pRemainingLength == NULL) || + (pPacketSize == NULL)) + { + LogError(("Argument cannot be NULL: pSubscriptionList=%p, " + "pRemainingLength=%p, pPacketSize=%p.", + (void*)pSubscriptionList, + (void*)pRemainingLength, + (void*)pPacketSize)); status = MQTTBadParameter; } - else if( subscriptionCount == 0U ) + else if (subscriptionCount == 0U) { - LogError( ( "subscriptionCount is 0." ) ); + LogError(("subscriptionCount is 0.")); status = MQTTBadParameter; } else { /* Calculate the MQTT SUBSCRIBE packet size. */ - status = calculateSubscriptionPacketSize( pSubscriptionList, - subscriptionCount, - pRemainingLength, - pPacketSize, - MQTT_SUBSCRIBE ); + status = calculateSubscriptionPacketSize(pSubscriptionList, + subscriptionCount, + pRemainingLength, + pPacketSize, + MQTT_SUBSCRIBE); } return status; @@ -2981,91 +2861,91 @@ MQTTStatus_t MQTT_GetSubscribePacketSize( const MQTTSubscribeInfo_t * pSubscript /*-----------------------------------------------------------*/ -uint8_t * MQTT_SerializeSubscribeHeader( size_t remainingLength, - uint8_t * pIndex, - uint16_t packetId ) +uint8_t* MQTT_SerializeSubscribeHeader(size_t remainingLength, + uint8_t* pIndex, + uint16_t packetId) { - uint8_t * pIterator = pIndex; + uint8_t* pIterator = pIndex; /* The first byte in SUBSCRIBE is the packet type. */ *pIterator = MQTT_PACKET_TYPE_SUBSCRIBE; pIterator++; /* Encode the "Remaining length" starting from the second byte. */ - pIterator = encodeRemainingLength( pIterator, remainingLength ); + pIterator = encodeRemainingLength(pIterator, remainingLength); /* Place the packet identifier into the SUBSCRIBE packet. */ - pIterator[ 0 ] = UINT16_HIGH_BYTE( packetId ); - pIterator[ 1 ] = UINT16_LOW_BYTE( packetId ); + pIterator[0] = UINT16_HIGH_BYTE(packetId); + pIterator[1] = UINT16_LOW_BYTE(packetId); /* Advance the pointer. */ - pIterator = &pIterator[ 2 ]; + pIterator = &pIterator[2]; return pIterator; } /*-----------------------------------------------------------*/ -uint8_t * MQTT_SerializeUnsubscribeHeader( size_t remainingLength, - uint8_t * pIndex, - uint16_t packetId ) +uint8_t* MQTT_SerializeUnsubscribeHeader(size_t remainingLength, + uint8_t* pIndex, + uint16_t packetId) { - uint8_t * pIterator = pIndex; + uint8_t* pIterator = pIndex; /* The first byte in UNSUBSCRIBE is the packet type. */ *pIterator = MQTT_PACKET_TYPE_UNSUBSCRIBE; pIterator++; /* Encode the "Remaining length" starting from the second byte. */ - pIterator = encodeRemainingLength( pIterator, remainingLength ); + pIterator = encodeRemainingLength(pIterator, remainingLength); /* Place the packet identifier into the SUBSCRIBE packet. */ - pIterator[ 0 ] = UINT16_HIGH_BYTE( packetId ); - pIterator[ 1 ] = UINT16_LOW_BYTE( packetId ); + pIterator[0] = UINT16_HIGH_BYTE(packetId); + pIterator[1] = UINT16_LOW_BYTE(packetId); /* Increment the pointer. */ - pIterator = &pIterator[ 2 ]; + pIterator = &pIterator[2]; return pIterator; } -MQTTStatus_t MQTT_SerializeSubscribe( const MQTTSubscribeInfo_t * pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t * pFixedBuffer ) +MQTTStatus_t MQTT_SerializeSubscribe(const MQTTSubscribeInfo_t* pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t* pFixedBuffer) { size_t i = 0; - uint8_t * pIndex = NULL; + uint8_t* pIndex = NULL; /* Validate all the parameters. */ MQTTStatus_t status = - validateSubscriptionSerializeParams( pSubscriptionList, - subscriptionCount, - packetId, - remainingLength, - pFixedBuffer ); + validateSubscriptionSerializeParams(pSubscriptionList, + subscriptionCount, + packetId, + remainingLength, + pFixedBuffer); - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { pIndex = pFixedBuffer->pBuffer; - pIndex = MQTT_SerializeSubscribeHeader( remainingLength, - pIndex, - packetId ); + pIndex = MQTT_SerializeSubscribeHeader(remainingLength, + pIndex, + packetId); /* Serialize each subscription topic filter and QoS. */ - for( i = 0; i < subscriptionCount; i++ ) + for (i = 0; i < subscriptionCount; i++) { - pIndex = encodeString( pIndex, - pSubscriptionList[ i ].pTopicFilter, - pSubscriptionList[ i ].topicFilterLength ); + pIndex = encodeString(pIndex, + pSubscriptionList[i].pTopicFilter, + pSubscriptionList[i].topicFilterLength); /* Place the QoS in the SUBSCRIBE packet. */ - *pIndex = ( uint8_t ) ( pSubscriptionList[ i ].qos ); + *pIndex = (uint8_t)(pSubscriptionList[i].qos); pIndex++; } - LogDebug( ( "Length of serialized SUBSCRIBE packet is %lu.", - ( ( unsigned long ) ( pIndex - pFixedBuffer->pBuffer ) ) ) ); + LogDebug(("Length of serialized SUBSCRIBE packet is %lu.", + ((unsigned long)(pIndex - pFixedBuffer->pBuffer)))); } return status; @@ -3073,37 +2953,37 @@ MQTTStatus_t MQTT_SerializeSubscribe( const MQTTSubscribeInfo_t * pSubscriptionL /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetUnsubscribePacketSize( const MQTTSubscribeInfo_t * pSubscriptionList, - size_t subscriptionCount, - size_t * pRemainingLength, - size_t * pPacketSize ) +MQTTStatus_t MQTT_GetUnsubscribePacketSize(const MQTTSubscribeInfo_t* pSubscriptionList, + size_t subscriptionCount, + size_t* pRemainingLength, + size_t* pPacketSize) { MQTTStatus_t status = MQTTSuccess; /* Validate parameters. */ - if( ( pSubscriptionList == NULL ) || ( pRemainingLength == NULL ) || - ( pPacketSize == NULL ) ) - { - LogError( ( "Argument cannot be NULL: pSubscriptionList=%p, " - "pRemainingLength=%p, pPacketSize=%p.", - ( void * ) pSubscriptionList, - ( void * ) pRemainingLength, - ( void * ) pPacketSize ) ); + if ((pSubscriptionList == NULL) || (pRemainingLength == NULL) || + (pPacketSize == NULL)) + { + LogError(("Argument cannot be NULL: pSubscriptionList=%p, " + "pRemainingLength=%p, pPacketSize=%p.", + (void*)pSubscriptionList, + (void*)pRemainingLength, + (void*)pPacketSize)); status = MQTTBadParameter; } - else if( subscriptionCount == 0U ) + else if (subscriptionCount == 0U) { - LogError( ( "Subscription count is 0." ) ); + LogError(("Subscription count is 0.")); status = MQTTBadParameter; } else { /* Calculate the MQTT UNSUBSCRIBE packet size. */ - status = calculateSubscriptionPacketSize( pSubscriptionList, - subscriptionCount, - pRemainingLength, - pPacketSize, - MQTT_UNSUBSCRIBE ); + status = calculateSubscriptionPacketSize(pSubscriptionList, + subscriptionCount, + pRemainingLength, + pPacketSize, + MQTT_UNSUBSCRIBE); } return status; @@ -3111,40 +2991,40 @@ MQTTStatus_t MQTT_GetUnsubscribePacketSize( const MQTTSubscribeInfo_t * pSubscri /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializeUnsubscribe( const MQTTSubscribeInfo_t * pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t * pFixedBuffer ) +MQTTStatus_t MQTT_SerializeUnsubscribe(const MQTTSubscribeInfo_t* pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t* pFixedBuffer) { MQTTStatus_t status = MQTTSuccess; size_t i = 0; - uint8_t * pIndex = NULL; + uint8_t* pIndex = NULL; /* Validate all the parameters. */ - status = validateSubscriptionSerializeParams( pSubscriptionList, - subscriptionCount, - packetId, - remainingLength, - pFixedBuffer ); + status = validateSubscriptionSerializeParams(pSubscriptionList, + subscriptionCount, + packetId, + remainingLength, + pFixedBuffer); - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Get the start of the buffer to the iterator variable. */ pIndex = pFixedBuffer->pBuffer; - pIndex = MQTT_SerializeUnsubscribeHeader( remainingLength, pIndex, packetId ); + pIndex = MQTT_SerializeUnsubscribeHeader(remainingLength, pIndex, packetId); /* Serialize each subscription topic filter. */ - for( i = 0; i < subscriptionCount; i++ ) + for (i = 0; i < subscriptionCount; i++) { - pIndex = encodeString( pIndex, - pSubscriptionList[ i ].pTopicFilter, - pSubscriptionList[ i ].topicFilterLength ); + pIndex = encodeString(pIndex, + pSubscriptionList[i].pTopicFilter, + pSubscriptionList[i].topicFilterLength); } - LogDebug( ( "Length of serialized UNSUBSCRIBE packet is %lu.", - ( ( unsigned long ) ( pIndex - pFixedBuffer->pBuffer ) ) ) ); + LogDebug(("Length of serialized UNSUBSCRIBE packet is %lu.", + ((unsigned long)(pIndex - pFixedBuffer->pBuffer)))); } return status; @@ -3152,38 +3032,38 @@ MQTTStatus_t MQTT_SerializeUnsubscribe( const MQTTSubscribeInfo_t * pSubscriptio /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetPublishPacketSize( const MQTTPublishInfo_t * pPublishInfo, - size_t * pRemainingLength, - size_t * pPacketSize ) +MQTTStatus_t MQTT_GetPublishPacketSize(const MQTTPublishInfo_t* pPublishInfo, + size_t* pRemainingLength, + size_t* pPacketSize) { MQTTStatus_t status = MQTTSuccess; - if( ( pPublishInfo == NULL ) || ( pRemainingLength == NULL ) || ( pPacketSize == NULL ) ) + if ((pPublishInfo == NULL) || (pRemainingLength == NULL) || (pPacketSize == NULL)) { - LogError( ( "Argument cannot be NULL: pPublishInfo=%p, " - "pRemainingLength=%p, pPacketSize=%p.", - ( void * ) pPublishInfo, - ( void * ) pRemainingLength, - ( void * ) pPacketSize ) ); + LogError(("Argument cannot be NULL: pPublishInfo=%p, " + "pRemainingLength=%p, pPacketSize=%p.", + (void*)pPublishInfo, + (void*)pRemainingLength, + (void*)pPacketSize)); status = MQTTBadParameter; } - else if( ( pPublishInfo->pTopicName == NULL ) || ( pPublishInfo->topicNameLength == 0U ) ) + else if ((pPublishInfo->pTopicName == NULL) || (pPublishInfo->topicNameLength == 0U)) { - LogError( ( "Invalid topic name for PUBLISH: pTopicName=%p, " - "topicNameLength=%hu.", - ( void * ) pPublishInfo->pTopicName, - ( unsigned short ) pPublishInfo->topicNameLength ) ); + LogError(("Invalid topic name for PUBLISH: pTopicName=%p, " + "topicNameLength=%hu.", + (void*)pPublishInfo->pTopicName, + (unsigned short)pPublishInfo->topicNameLength)); status = MQTTBadParameter; } else { /* Calculate the "Remaining length" field and total packet size. If it exceeds * what is allowed in the MQTT standard, return an error. */ - if( calculatePublishPacketSize( pPublishInfo, pRemainingLength, pPacketSize ) == false ) + if (calculatePublishPacketSize(pPublishInfo, pRemainingLength, pPacketSize) == false) { - LogError( ( "PUBLISH packet remaining length exceeds %lu, which is the " - "maximum size allowed by MQTT 3.1.1.", - MQTT_MAX_REMAINING_LENGTH ) ); + LogError(("PUBLISH packet remaining length exceeds %lu, which is the " + "maximum size allowed by MQTT 3.1.1.", + MQTT_MAX_REMAINING_LENGTH)); status = MQTTBadParameter; } } @@ -3193,56 +3073,56 @@ MQTTStatus_t MQTT_GetPublishPacketSize( const MQTTPublishInfo_t * pPublishInfo, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializePublish( const MQTTPublishInfo_t * pPublishInfo, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t * pFixedBuffer ) +MQTTStatus_t MQTT_SerializePublish(const MQTTPublishInfo_t* pPublishInfo, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t* pFixedBuffer) { MQTTStatus_t status = MQTTSuccess; size_t packetSize = 0; - if( ( pFixedBuffer == NULL ) || ( pPublishInfo == NULL ) ) + if ((pFixedBuffer == NULL) || (pPublishInfo == NULL)) { - LogError( ( "Argument cannot be NULL: pFixedBuffer=%p, " - "pPublishInfo=%p.", - ( void * ) pFixedBuffer, - ( void * ) pPublishInfo ) ); + LogError(("Argument cannot be NULL: pFixedBuffer=%p, " + "pPublishInfo=%p.", + (void*)pFixedBuffer, + (void*)pPublishInfo)); status = MQTTBadParameter; } /* A buffer must be configured for serialization. */ - else if( pFixedBuffer->pBuffer == NULL ) + else if (pFixedBuffer->pBuffer == NULL) { - LogError( ( "Argument cannot be NULL: pFixedBuffer->pBuffer is NULL." ) ); + LogError(("Argument cannot be NULL: pFixedBuffer->pBuffer is NULL.")); status = MQTTBadParameter; } /* For serializing a publish, if there exists a payload, then the buffer * cannot be NULL. */ - else if( ( pPublishInfo->payloadLength > 0U ) && ( pPublishInfo->pPayload == NULL ) ) + else if ((pPublishInfo->payloadLength > 0U) && (pPublishInfo->pPayload == NULL)) { - LogError( ( "A nonzero payload length requires a non-NULL payload: " - "payloadLength=%lu, pPayload=%p.", - ( unsigned long ) pPublishInfo->payloadLength, - pPublishInfo->pPayload ) ); + LogError(("A nonzero payload length requires a non-NULL payload: " + "payloadLength=%lu, pPayload=%p.", + (unsigned long)pPublishInfo->payloadLength, + pPublishInfo->pPayload)); status = MQTTBadParameter; } - else if( ( pPublishInfo->pTopicName == NULL ) || ( pPublishInfo->topicNameLength == 0U ) ) + else if ((pPublishInfo->pTopicName == NULL) || (pPublishInfo->topicNameLength == 0U)) { - LogError( ( "Invalid topic name for PUBLISH: pTopicName=%p, " - "topicNameLength=%hu.", - ( void * ) pPublishInfo->pTopicName, - ( unsigned short ) pPublishInfo->topicNameLength ) ); + LogError(("Invalid topic name for PUBLISH: pTopicName=%p, " + "topicNameLength=%hu.", + (void*)pPublishInfo->pTopicName, + (unsigned short)pPublishInfo->topicNameLength)); status = MQTTBadParameter; } - else if( ( pPublishInfo->qos != MQTTQoS0 ) && ( packetId == 0U ) ) + else if ((pPublishInfo->qos != MQTTQoS0) && (packetId == 0U)) { - LogError( ( "Packet ID is 0 for PUBLISH with QoS=%u.", - ( unsigned int ) pPublishInfo->qos ) ); + LogError(("Packet ID is 0 for PUBLISH with QoS=%u.", + (unsigned int)pPublishInfo->qos)); status = MQTTBadParameter; } - else if( ( pPublishInfo->dup == true ) && ( pPublishInfo->qos == MQTTQoS0 ) ) + else if ((pPublishInfo->dup == true) && (pPublishInfo->qos == MQTTQoS0)) { - LogError( ( "Duplicate flag is set for PUBLISH with Qos 0." ) ); + LogError(("Duplicate flag is set for PUBLISH with Qos 0.")); status = MQTTBadParameter; } else @@ -3250,27 +3130,27 @@ MQTTStatus_t MQTT_SerializePublish( const MQTTPublishInfo_t * pPublishInfo, /* Length of serialized packet = First byte * + Length of encoded remaining length * + Remaining length. */ - packetSize = 1U + remainingLengthEncodedSize( remainingLength ) - + remainingLength; + packetSize = 1U + remainingLengthEncodedSize(remainingLength) + + remainingLength; } - if( ( status == MQTTSuccess ) && ( packetSize > pFixedBuffer->size ) ) + if ((status == MQTTSuccess) && (packetSize > pFixedBuffer->size)) { - LogError( ( "Buffer size of %lu is not sufficient to hold " - "serialized PUBLISH packet of size of %lu.", - ( unsigned long ) pFixedBuffer->size, - ( unsigned long ) packetSize ) ); + LogError(("Buffer size of %lu is not sufficient to hold " + "serialized PUBLISH packet of size of %lu.", + (unsigned long)pFixedBuffer->size, + (unsigned long)packetSize)); status = MQTTNoMemory; } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Serialize publish with header and payload. */ - serializePublishCommon( pPublishInfo, - remainingLength, - packetId, - pFixedBuffer, - true ); + serializePublishCommon(pPublishInfo, + remainingLength, + packetId, + pFixedBuffer, + true); } return status; @@ -3278,48 +3158,48 @@ MQTTStatus_t MQTT_SerializePublish( const MQTTPublishInfo_t * pPublishInfo, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializePublishHeader( const MQTTPublishInfo_t * pPublishInfo, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t * pFixedBuffer, - size_t * pHeaderSize ) +MQTTStatus_t MQTT_SerializePublishHeader(const MQTTPublishInfo_t* pPublishInfo, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t* pFixedBuffer, + size_t* pHeaderSize) { MQTTStatus_t status = MQTTSuccess; size_t packetSize = 0; - if( ( pFixedBuffer == NULL ) || ( pPublishInfo == NULL ) || - ( pHeaderSize == NULL ) ) + if ((pFixedBuffer == NULL) || (pPublishInfo == NULL) || + (pHeaderSize == NULL)) { - LogError( ( "Argument cannot be NULL: pFixedBuffer=%p, " - "pPublishInfo=%p, pHeaderSize=%p.", - ( void * ) pFixedBuffer, - ( void * ) pPublishInfo, - ( void * ) pHeaderSize ) ); + LogError(("Argument cannot be NULL: pFixedBuffer=%p, " + "pPublishInfo=%p, pHeaderSize=%p.", + (void*)pFixedBuffer, + (void*)pPublishInfo, + (void*)pHeaderSize)); status = MQTTBadParameter; } /* A buffer must be configured for serialization. */ - else if( pFixedBuffer->pBuffer == NULL ) + else if (pFixedBuffer->pBuffer == NULL) { - LogError( ( "Argument cannot be NULL: pFixedBuffer->pBuffer is NULL." ) ); + LogError(("Argument cannot be NULL: pFixedBuffer->pBuffer is NULL.")); status = MQTTBadParameter; } - else if( ( pPublishInfo->pTopicName == NULL ) || ( pPublishInfo->topicNameLength == 0U ) ) + else if ((pPublishInfo->pTopicName == NULL) || (pPublishInfo->topicNameLength == 0U)) { - LogError( ( "Invalid topic name for publish: pTopicName=%p, " - "topicNameLength=%hu.", - ( void * ) pPublishInfo->pTopicName, - ( unsigned short ) pPublishInfo->topicNameLength ) ); + LogError(("Invalid topic name for publish: pTopicName=%p, " + "topicNameLength=%hu.", + (void*)pPublishInfo->pTopicName, + (unsigned short)pPublishInfo->topicNameLength)); status = MQTTBadParameter; } - else if( ( pPublishInfo->qos != MQTTQoS0 ) && ( packetId == 0U ) ) + else if ((pPublishInfo->qos != MQTTQoS0) && (packetId == 0U)) { - LogError( ( "Packet Id is 0 for publish with QoS=%hu.", - ( unsigned short ) pPublishInfo->qos ) ); + LogError(("Packet Id is 0 for publish with QoS=%hu.", + (unsigned short)pPublishInfo->qos)); status = MQTTBadParameter; } - else if( ( pPublishInfo->dup == true ) && ( pPublishInfo->qos == MQTTQoS0 ) ) + else if ((pPublishInfo->dup == true) && (pPublishInfo->qos == MQTTQoS0)) { - LogError( ( "Duplicate flag is set for PUBLISH with Qos 0." ) ); + LogError(("Duplicate flag is set for PUBLISH with Qos 0.")); status = MQTTBadParameter; } else @@ -3329,28 +3209,28 @@ MQTTStatus_t MQTT_SerializePublishHeader( const MQTTPublishInfo_t * pPublishInfo * + Remaining length * - Payload Length. */ - packetSize = 1U + remainingLengthEncodedSize( remainingLength ) - + remainingLength - - pPublishInfo->payloadLength; + packetSize = 1U + remainingLengthEncodedSize(remainingLength) + + remainingLength + - pPublishInfo->payloadLength; } - if( ( status == MQTTSuccess ) && ( packetSize > pFixedBuffer->size ) ) + if ((status == MQTTSuccess) && (packetSize > pFixedBuffer->size)) { - LogError( ( "Buffer size of %lu is not sufficient to hold " - "serialized PUBLISH header packet of size of %lu.", - ( unsigned long ) pFixedBuffer->size, - ( unsigned long ) ( packetSize - pPublishInfo->payloadLength ) ) ); + LogError(("Buffer size of %lu is not sufficient to hold " + "serialized PUBLISH header packet of size of %lu.", + (unsigned long)pFixedBuffer->size, + (unsigned long)(packetSize - pPublishInfo->payloadLength))); status = MQTTNoMemory; } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Serialize publish without copying the payload. */ - serializePublishCommon( pPublishInfo, - remainingLength, - packetId, - pFixedBuffer, - false ); + serializePublishCommon(pPublishInfo, + remainingLength, + packetId, + pFixedBuffer, + false); /* Header size is the same as calculated packet size. */ *pHeaderSize = packetSize; @@ -3361,53 +3241,53 @@ MQTTStatus_t MQTT_SerializePublishHeader( const MQTTPublishInfo_t * pPublishInfo /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializeAck( const MQTTFixedBuffer_t * pFixedBuffer, - uint8_t packetType, - uint16_t packetId ) +MQTTStatus_t MQTT_SerializeAck(const MQTTFixedBuffer_t* pFixedBuffer, + uint8_t packetType, + uint16_t packetId) { MQTTStatus_t status = MQTTSuccess; - if( pFixedBuffer == NULL ) + if (pFixedBuffer == NULL) { - LogError( ( "Provided buffer is NULL." ) ); + LogError(("Provided buffer is NULL.")); status = MQTTBadParameter; } - else if( pFixedBuffer->pBuffer == NULL ) + else if (pFixedBuffer->pBuffer == NULL) { - LogError( ( "pFixedBuffer->pBuffer cannot be NULL." ) ); + LogError(("pFixedBuffer->pBuffer cannot be NULL.")); status = MQTTBadParameter; } /* The buffer must be able to fit 4 bytes for the packet. */ - else if( pFixedBuffer->size < MQTT_PUBLISH_ACK_PACKET_SIZE ) + else if (pFixedBuffer->size < MQTT_PUBLISH_ACK_PACKET_SIZE) { - LogError( ( "Insufficient memory for packet." ) ); + LogError(("Insufficient memory for packet.")); status = MQTTNoMemory; } - else if( packetId == 0U ) + else if (packetId == 0U) { - LogError( ( "Packet ID cannot be 0." ) ); + LogError(("Packet ID cannot be 0.")); status = MQTTBadParameter; } else { - switch( packetType ) + switch (packetType) { /* Only publish acks are serialized by the client. */ - case MQTT_PACKET_TYPE_PUBACK: - case MQTT_PACKET_TYPE_PUBREC: - case MQTT_PACKET_TYPE_PUBREL: - case MQTT_PACKET_TYPE_PUBCOMP: - pFixedBuffer->pBuffer[ 0 ] = packetType; - pFixedBuffer->pBuffer[ 1 ] = MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH; - pFixedBuffer->pBuffer[ 2 ] = UINT16_HIGH_BYTE( packetId ); - pFixedBuffer->pBuffer[ 3 ] = UINT16_LOW_BYTE( packetId ); - break; + case MQTT_PACKET_TYPE_PUBACK: + case MQTT_PACKET_TYPE_PUBREC: + case MQTT_PACKET_TYPE_PUBREL: + case MQTT_PACKET_TYPE_PUBCOMP: + pFixedBuffer->pBuffer[0] = packetType; + pFixedBuffer->pBuffer[1] = MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH; + pFixedBuffer->pBuffer[2] = UINT16_HIGH_BYTE(packetId); + pFixedBuffer->pBuffer[3] = UINT16_LOW_BYTE(packetId); + break; - default: - LogError( ( "Packet type is not a publish ACK: Packet type=%02x", - ( unsigned int ) packetType ) ); - status = MQTTBadParameter; - break; + default: + LogError(("Packet type is not a publish ACK: Packet type=%02x", + (unsigned int)packetType)); + status = MQTTBadParameter; + break; } } @@ -3416,13 +3296,13 @@ MQTTStatus_t MQTT_SerializeAck( const MQTTFixedBuffer_t * pFixedBuffer, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetDisconnectPacketSize( size_t * pPacketSize ) +MQTTStatus_t MQTT_GetDisconnectPacketSize(size_t* pPacketSize) { MQTTStatus_t status = MQTTSuccess; - if( pPacketSize == NULL ) + if (pPacketSize == NULL) { - LogError( ( "pPacketSize is NULL." ) ); + LogError(("pPacketSize is NULL.")); status = MQTTBadParameter; } else @@ -3436,19 +3316,19 @@ MQTTStatus_t MQTT_GetDisconnectPacketSize( size_t * pPacketSize ) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializeDisconnect( const MQTTFixedBuffer_t * pFixedBuffer ) +MQTTStatus_t MQTT_SerializeDisconnect(const MQTTFixedBuffer_t* pFixedBuffer) { MQTTStatus_t status = MQTTSuccess; /* Validate arguments. */ - if( pFixedBuffer == NULL ) + if (pFixedBuffer == NULL) { - LogError( ( "pFixedBuffer cannot be NULL." ) ); + LogError(("pFixedBuffer cannot be NULL.")); status = MQTTBadParameter; } - else if( pFixedBuffer->pBuffer == NULL ) + else if (pFixedBuffer->pBuffer == NULL) { - LogError( ( "pFixedBuffer->pBuffer cannot be NULL." ) ); + LogError(("pFixedBuffer->pBuffer cannot be NULL.")); status = MQTTBadParameter; } else @@ -3456,22 +3336,22 @@ MQTTStatus_t MQTT_SerializeDisconnect( const MQTTFixedBuffer_t * pFixedBuffer ) /* Empty else MISRA 15.7 */ } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { - if( pFixedBuffer->size < MQTT_DISCONNECT_PACKET_SIZE ) + if (pFixedBuffer->size < MQTT_DISCONNECT_PACKET_SIZE) { - LogError( ( "Buffer size of %lu is not sufficient to hold " - "serialized DISCONNECT packet of size of %lu.", - ( unsigned long ) pFixedBuffer->size, - MQTT_DISCONNECT_PACKET_SIZE ) ); + LogError(("Buffer size of %lu is not sufficient to hold " + "serialized DISCONNECT packet of size of %lu.", + (unsigned long)pFixedBuffer->size, + MQTT_DISCONNECT_PACKET_SIZE)); status = MQTTNoMemory; } } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { - pFixedBuffer->pBuffer[ 0 ] = MQTT_PACKET_TYPE_DISCONNECT; - pFixedBuffer->pBuffer[ 1 ] = MQTT_DISCONNECT_REMAINING_LENGTH; + pFixedBuffer->pBuffer[0] = MQTT_PACKET_TYPE_DISCONNECT; + pFixedBuffer->pBuffer[1] = MQTT_DISCONNECT_REMAINING_LENGTH; } return status; @@ -3479,13 +3359,13 @@ MQTTStatus_t MQTT_SerializeDisconnect( const MQTTFixedBuffer_t * pFixedBuffer ) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetPingreqPacketSize( size_t * pPacketSize ) +MQTTStatus_t MQTT_GetPingreqPacketSize(size_t* pPacketSize) { MQTTStatus_t status = MQTTSuccess; - if( pPacketSize == NULL ) + if (pPacketSize == NULL) { - LogError( ( "pPacketSize is NULL." ) ); + LogError(("pPacketSize is NULL.")); status = MQTTBadParameter; } else @@ -3499,18 +3379,18 @@ MQTTStatus_t MQTT_GetPingreqPacketSize( size_t * pPacketSize ) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializePingreq( const MQTTFixedBuffer_t * pFixedBuffer ) +MQTTStatus_t MQTT_SerializePingreq(const MQTTFixedBuffer_t* pFixedBuffer) { MQTTStatus_t status = MQTTSuccess; - if( pFixedBuffer == NULL ) + if (pFixedBuffer == NULL) { - LogError( ( "pFixedBuffer is NULL." ) ); + LogError(("pFixedBuffer is NULL.")); status = MQTTBadParameter; } - else if( pFixedBuffer->pBuffer == NULL ) + else if (pFixedBuffer->pBuffer == NULL) { - LogError( ( "pFixedBuffer->pBuffer cannot be NULL." ) ); + LogError(("pFixedBuffer->pBuffer cannot be NULL.")); status = MQTTBadParameter; } else @@ -3518,23 +3398,23 @@ MQTTStatus_t MQTT_SerializePingreq( const MQTTFixedBuffer_t * pFixedBuffer ) /* Empty else MISRA 15.7 */ } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { - if( pFixedBuffer->size < MQTT_PACKET_PINGREQ_SIZE ) + if (pFixedBuffer->size < MQTT_PACKET_PINGREQ_SIZE) { - LogError( ( "Buffer size of %lu is not sufficient to hold " - "serialized PINGREQ packet of size of %lu.", - ( unsigned long ) pFixedBuffer->size, - MQTT_PACKET_PINGREQ_SIZE ) ); + LogError(("Buffer size of %lu is not sufficient to hold " + "serialized PINGREQ packet of size of %lu.", + (unsigned long)pFixedBuffer->size, + MQTT_PACKET_PINGREQ_SIZE)); status = MQTTNoMemory; } } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Ping request packets are always the same. */ - pFixedBuffer->pBuffer[ 0 ] = MQTT_PACKET_TYPE_PINGREQ; - pFixedBuffer->pBuffer[ 1 ] = 0x00; + pFixedBuffer->pBuffer[0] = MQTT_PACKET_TYPE_PINGREQ; + pFixedBuffer->pBuffer[1] = 0x00; } return status; @@ -3542,36 +3422,36 @@ MQTTStatus_t MQTT_SerializePingreq( const MQTTFixedBuffer_t * pFixedBuffer ) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_DeserializePublish( const MQTTPacketInfo_t * pIncomingPacket, - uint16_t * pPacketId, - MQTTPublishInfo_t * pPublishInfo ) +MQTTStatus_t MQTT_DeserializePublish(const MQTTPacketInfo_t* pIncomingPacket, + uint16_t* pPacketId, + MQTTPublishInfo_t* pPublishInfo) { MQTTStatus_t status = MQTTSuccess; - if( ( pIncomingPacket == NULL ) || ( pPacketId == NULL ) || ( pPublishInfo == NULL ) ) + if ((pIncomingPacket == NULL) || (pPacketId == NULL) || (pPublishInfo == NULL)) { - LogError( ( "Argument cannot be NULL: pIncomingPacket=%p, " - "pPacketId=%p, pPublishInfo=%p", - ( void * ) pIncomingPacket, - ( void * ) pPacketId, - ( void * ) pPublishInfo ) ); + LogError(("Argument cannot be NULL: pIncomingPacket=%p, " + "pPacketId=%p, pPublishInfo=%p", + (void*)pIncomingPacket, + (void*)pPacketId, + (void*)pPublishInfo)); status = MQTTBadParameter; } - else if( ( pIncomingPacket->type & 0xF0U ) != MQTT_PACKET_TYPE_PUBLISH ) + else if ((pIncomingPacket->type & 0xF0U) != MQTT_PACKET_TYPE_PUBLISH) { - LogError( ( "Packet is not publish. Packet type: %02x.", - ( unsigned int ) pIncomingPacket->type ) ); + LogError(("Packet is not publish. Packet type: %02x.", + (unsigned int)pIncomingPacket->type)); status = MQTTBadParameter; } - else if( pIncomingPacket->pRemainingData == NULL ) + else if (pIncomingPacket->pRemainingData == NULL) { - LogError( ( "Argument cannot be NULL: " - "pIncomingPacket->pRemainingData is NULL." ) ); + LogError(("Argument cannot be NULL: " + "pIncomingPacket->pRemainingData is NULL.")); status = MQTTBadParameter; } else { - status = deserializePublish( pIncomingPacket, pPacketId, pPublishInfo ); + status = deserializePublish(pIncomingPacket, pPacketId, pPublishInfo); } return status; @@ -3579,75 +3459,75 @@ MQTTStatus_t MQTT_DeserializePublish( const MQTTPacketInfo_t * pIncomingPacket, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, - uint16_t * pPacketId, - bool * pSessionPresent ) +MQTTStatus_t MQTT_DeserializeAck(const MQTTPacketInfo_t* pIncomingPacket, + uint16_t* pPacketId, + bool* pSessionPresent) { MQTTStatus_t status = MQTTSuccess; - if( pIncomingPacket == NULL ) + if (pIncomingPacket == NULL) { - LogError( ( "pIncomingPacket cannot be NULL." ) ); + LogError(("pIncomingPacket cannot be NULL.")); status = MQTTBadParameter; } /* Pointer for packet identifier cannot be NULL for packets other than * CONNACK and PINGRESP. */ - else if( ( pPacketId == NULL ) && - ( ( pIncomingPacket->type != MQTT_PACKET_TYPE_CONNACK ) && - ( pIncomingPacket->type != MQTT_PACKET_TYPE_PINGRESP ) ) ) + else if ((pPacketId == NULL) && + ((pIncomingPacket->type != MQTT_PACKET_TYPE_CONNACK) && + (pIncomingPacket->type != MQTT_PACKET_TYPE_PINGRESP))) { - LogError( ( "pPacketId cannot be NULL for packet type %02x.", - ( unsigned int ) pIncomingPacket->type ) ); + LogError(("pPacketId cannot be NULL for packet type %02x.", + (unsigned int)pIncomingPacket->type)); status = MQTTBadParameter; } /* Pointer for session present cannot be NULL for CONNACK. */ - else if( ( pSessionPresent == NULL ) && - ( pIncomingPacket->type == MQTT_PACKET_TYPE_CONNACK ) ) + else if ((pSessionPresent == NULL) && + (pIncomingPacket->type == MQTT_PACKET_TYPE_CONNACK)) { - LogError( ( "pSessionPresent cannot be NULL for CONNACK packet." ) ); + LogError(("pSessionPresent cannot be NULL for CONNACK packet.")); status = MQTTBadParameter; } /* Pointer for remaining data cannot be NULL for packets other * than PINGRESP. */ - else if( ( pIncomingPacket->pRemainingData == NULL ) && - ( pIncomingPacket->type != MQTT_PACKET_TYPE_PINGRESP ) ) + else if ((pIncomingPacket->pRemainingData == NULL) && + (pIncomingPacket->type != MQTT_PACKET_TYPE_PINGRESP)) { - LogError( ( "Remaining data of incoming packet is NULL." ) ); + LogError(("Remaining data of incoming packet is NULL.")); status = MQTTBadParameter; } else { /* Make sure response packet is a valid ack. */ - switch( pIncomingPacket->type ) + switch (pIncomingPacket->type) { - case MQTT_PACKET_TYPE_CONNACK: - status = deserializeConnack( pIncomingPacket, pSessionPresent ); - break; + case MQTT_PACKET_TYPE_CONNACK: + status = deserializeConnack(pIncomingPacket, pSessionPresent); + break; - case MQTT_PACKET_TYPE_SUBACK: - status = deserializeSuback( pIncomingPacket, pPacketId ); - break; + case MQTT_PACKET_TYPE_SUBACK: + status = deserializeSuback(pIncomingPacket, pPacketId); + break; - case MQTT_PACKET_TYPE_PINGRESP: - status = deserializePingresp( pIncomingPacket ); - break; + case MQTT_PACKET_TYPE_PINGRESP: + status = deserializePingresp(pIncomingPacket); + break; - case MQTT_PACKET_TYPE_UNSUBACK: - case MQTT_PACKET_TYPE_PUBACK: - case MQTT_PACKET_TYPE_PUBREC: - case MQTT_PACKET_TYPE_PUBREL: - case MQTT_PACKET_TYPE_PUBCOMP: - status = deserializeSimpleAck( pIncomingPacket, pPacketId ); - break; + case MQTT_PACKET_TYPE_UNSUBACK: + case MQTT_PACKET_TYPE_PUBACK: + case MQTT_PACKET_TYPE_PUBREC: + case MQTT_PACKET_TYPE_PUBREL: + case MQTT_PACKET_TYPE_PUBCOMP: + status = deserializeSimpleAck(pIncomingPacket, pPacketId); + break; /* Any other packet type is invalid. */ - default: - LogError( ( "IotMqtt_DeserializeResponse() called with unknown packet type:(%02x).", - ( unsigned int ) pIncomingPacket->type ) ); - status = MQTTBadResponse; - break; + default: + LogError(("IotMqtt_DeserializeResponse() called with unknown packet type:(%02x).", + (unsigned int)pIncomingPacket->type)); + status = MQTTBadResponse; + break; } } @@ -3656,59 +3536,59 @@ MQTTStatus_t MQTT_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetIncomingPacketTypeAndLength( TransportRecv_t readFunc, - NetworkContext_t * pNetworkContext, - MQTTPacketInfo_t * pIncomingPacket ) +MQTTStatus_t MQTT_GetIncomingPacketTypeAndLength(TransportRecv_t readFunc, + NetworkContext_t* pNetworkContext, + MQTTPacketInfo_t* pIncomingPacket) { MQTTStatus_t status = MQTTSuccess; int32_t bytesReceived = 0; - if( pIncomingPacket == NULL ) + if (pIncomingPacket == NULL) { - LogError( ( "Invalid parameter: pIncomingPacket is NULL." ) ); + LogError(("Invalid parameter: pIncomingPacket is NULL.")); status = MQTTBadParameter; } else { /* Read a single byte. */ - bytesReceived = readFunc( pNetworkContext, - &( pIncomingPacket->type ), - 1U ); + bytesReceived = readFunc(pNetworkContext, + &(pIncomingPacket->type), + 1U); } - if( bytesReceived == 1 ) + if (bytesReceived == 1) { /* Check validity. */ - if( incomingPacketValid( pIncomingPacket->type ) == true ) + if (incomingPacketValid(pIncomingPacket->type) == true) { - pIncomingPacket->remainingLength = getRemainingLength( readFunc, - pNetworkContext ); + pIncomingPacket->remainingLength = getRemainingLength(readFunc, + pNetworkContext); - if( pIncomingPacket->remainingLength == MQTT_REMAINING_LENGTH_INVALID ) + if (pIncomingPacket->remainingLength == MQTT_REMAINING_LENGTH_INVALID) { - LogError( ( "Incoming packet remaining length invalid." ) ); + LogError(("Incoming packet remaining length invalid.")); status = MQTTBadResponse; } } else { - LogError( ( "Incoming packet invalid: Packet type=%u.", - ( unsigned int ) pIncomingPacket->type ) ); + LogError(("Incoming packet invalid: Packet type=%u.", + (unsigned int)pIncomingPacket->type)); status = MQTTBadResponse; } } - else if( ( status != MQTTBadParameter ) && ( bytesReceived == 0 ) ) + else if ((status != MQTTBadParameter) && (bytesReceived == 0)) { status = MQTTNoDataAvailable; } /* If the input packet was valid, then any other number of bytes received is * a failure. */ - else if( status != MQTTBadParameter ) + else if (status != MQTTBadParameter) { - LogError( ( "A single byte was not read from the transport: " - "transportStatus=%ld.", - ( long int ) bytesReceived ) ); + LogError(("A single byte was not read from the transport: " + "transportStatus=%ld.", + (long int)bytesReceived)); status = MQTTRecvFailed; } else @@ -3721,29 +3601,29 @@ MQTTStatus_t MQTT_GetIncomingPacketTypeAndLength( TransportRecv_t readFunc, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, - const size_t * pIndex, - MQTTPacketInfo_t * pIncomingPacket ) +MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength(const uint8_t* pBuffer, + const size_t* pIndex, + MQTTPacketInfo_t* pIncomingPacket) { MQTTStatus_t status = MQTTSuccess; - if( pIncomingPacket == NULL ) + if (pIncomingPacket == NULL) { - LogError( ( "Invalid parameter: pIncomingPacket is NULL." ) ); + LogError(("Invalid parameter: pIncomingPacket is NULL.")); status = MQTTBadParameter; } - else if( pIndex == NULL ) + else if (pIndex == NULL) { - LogError( ( "Invalid parameter: pIndex is NULL." ) ); + LogError(("Invalid parameter: pIndex is NULL.")); status = MQTTBadParameter; } - else if( pBuffer == NULL ) + else if (pBuffer == NULL) { - LogError( ( "Invalid parameter: pBuffer is NULL." ) ); + LogError(("Invalid parameter: pBuffer is NULL.")); status = MQTTBadParameter; } /* There should be at least one byte in the buffer */ - else if( *pIndex < 1U ) + else if (*pIndex < 1U) { /* No data is available. There are 0 bytes received from the network * receive function. */ @@ -3752,22 +3632,22 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, else { /* At least one byte is present which should be deciphered. */ - pIncomingPacket->type = pBuffer[ 0 ]; + pIncomingPacket->type = pBuffer[0]; } - if( status == MQTTSuccess ) + if (status == MQTTSuccess) { /* Check validity. */ - if( incomingPacketValid( pIncomingPacket->type ) == true ) + if (incomingPacketValid(pIncomingPacket->type) == true) { - status = processRemainingLength( pBuffer, - pIndex, - pIncomingPacket ); + status = processRemainingLength(pBuffer, + pIndex, + pIncomingPacket); } else { - LogError( ( "Incoming packet invalid: Packet type=%u.", - ( unsigned int ) pIncomingPacket->type ) ); + LogError(("Incoming packet invalid: Packet type=%u.", + (unsigned int)pIncomingPacket->type)); status = MQTTBadResponse; } } diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index 018e171f4..fd824367d 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -1399,12 +1399,12 @@ MQTTStatus_t MQTT_GetWillPropertiesSize ( MQTTPublishInfo_t * pConnectProperties uint32_t willDelay); uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex,const MQTTConnectProperties_t * pConnectProperties); -uint8_t * SerializePublishProperties(uint8_t *pIndex, const MQTTPublishInfo_t *pPublishProperties, uint32_t willDelay); +// size_t MQTT_SerializeUserProperty(MQTTUserProperty_t * userProperty, uint16_t size,TransportOutVector_t *iterator,size_t* updatedLength); -size_t MQTT_SerializeUserProperty(MQTTUserProperty_t * userProperty, uint16_t size,TransportOutVector_t *iterator,size_t* updatedLength); +// size_t MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, TransportOutVector_t *iterator, size_t * updatedLength,uint32_t willDelay); -size_t MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, TransportOutVector_t *iterator, size_t * updatedLength,uint32_t willDelay); +uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, uint8_t* pIndex,uint32_t willDelay); MQTTStatus_t decodeVariableLength( const uint8_t * pBuffer, size_t* length); @@ -1416,23 +1416,8 @@ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackPropert bool * pSessionPresent ); -size_t addEncodedStringToVectorWithId( uint8_t serializedLength[ 2 ], - const char * const string, - uint16_t length, - TransportOutVector_t * iterator, - size_t * updatedLength,uint8_t packetId ); - #endif - -size_t addEncodedStringToVector( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ], - const char * const string, - uint16_t length, - TransportOutVector_t * iterator, - size_t * updatedLength ); - - - /* *INDENT-OFF* */ #ifdef __cplusplus } From 6ca485d75f207c182f80fd31ad9ecdc9d23e56f6 Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Sun, 16 Jun 2024 20:16:54 +0530 Subject: [PATCH 07/82] encodedString --- source/core_mqtt.c | 1402 +++++++++++++++++---------------- source/core_mqtt_serializer.c | 83 +- 2 files changed, 708 insertions(+), 777 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 1eff8aa61..87e979161 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -22,16 +22,16 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - /** - * @file core_mqtt.c - * @brief Implements the user-facing functions in core_mqtt.h. - */ +/** + * @file core_mqtt.c + * @brief Implements the user-facing functions in core_mqtt.h. + */ #include #include #include "core_mqtt_state.h" - /* Include config defaults header to get default values of configs. */ +/* Include config defaults header to get default values of configs. */ #include "core_mqtt_config_defaults.h" #include "core_mqtt_serializer.h" @@ -40,88 +40,88 @@ /** * @brief Hook called before a 'send' operation is executed. */ -#define MQTT_PRE_SEND_HOOK( pContext ) +#define MQTT_PRE_SEND_HOOK(pContext) #endif /* !MQTT_PRE_SEND_HOOK */ #ifndef MQTT_POST_SEND_HOOK - /** - * @brief Hook called after the 'send' operation is complete. - */ -#define MQTT_POST_SEND_HOOK( pContext ) +/** + * @brief Hook called after the 'send' operation is complete. + */ +#define MQTT_POST_SEND_HOOK(pContext) #endif /* !MQTT_POST_SEND_HOOK */ #ifndef MQTT_PRE_STATE_UPDATE_HOOK - /** - * @brief Hook called just before an update to the MQTT state is made. - */ -#define MQTT_PRE_STATE_UPDATE_HOOK( pContext ) +/** + * @brief Hook called just before an update to the MQTT state is made. + */ +#define MQTT_PRE_STATE_UPDATE_HOOK(pContext) #endif /* !MQTT_PRE_STATE_UPDATE_HOOK */ #ifndef MQTT_POST_STATE_UPDATE_HOOK - /** - * @brief Hook called just after an update to the MQTT state has - * been made. - */ -#define MQTT_POST_STATE_UPDATE_HOOK( pContext ) +/** + * @brief Hook called just after an update to the MQTT state has + * been made. + */ +#define MQTT_POST_STATE_UPDATE_HOOK(pContext) #endif /* !MQTT_POST_STATE_UPDATE_HOOK */ - /** - * @brief Bytes required to encode any string length in an MQTT packet header. - * Length is always encoded in two bytes according to the MQTT specification. - */ +/** + * @brief Bytes required to encode any string length in an MQTT packet header. + * Length is always encoded in two bytes according to the MQTT specification. + */ - /** - * @brief Number of vectors required to encode one topic filter in a subscribe - * request. Three vectors are required as there are three fields in the - * subscribe request namely: - * 1. Topic filter length; 2. Topic filter; and 3. QoS in this order. - */ -#define CORE_MQTT_SUBSCRIBE_PER_TOPIC_VECTOR_LENGTH ( 3U ) - - /** - * @brief Number of vectors required to encode one topic filter in an - * unsubscribe request. Two vectors are required as there are two fields in the - * unsubscribe request namely: - * 1. Topic filter length; and 2. Topic filter in this order. - */ -#define CORE_MQTT_UNSUBSCRIBE_PER_TOPIC_VECTOR_LENGTH ( 2U ) +/** + * @brief Number of vectors required to encode one topic filter in a subscribe + * request. Three vectors are required as there are three fields in the + * subscribe request namely: + * 1. Topic filter length; 2. Topic filter; and 3. QoS in this order. + */ +#define CORE_MQTT_SUBSCRIBE_PER_TOPIC_VECTOR_LENGTH (3U) + +/** + * @brief Number of vectors required to encode one topic filter in an + * unsubscribe request. Two vectors are required as there are two fields in the + * unsubscribe request namely: + * 1. Topic filter length; and 2. Topic filter in this order. + */ +#define CORE_MQTT_UNSUBSCRIBE_PER_TOPIC_VECTOR_LENGTH (2U) #if (MQTT_VERSION_5_ENABLED) -#define MQTT_USER_PROPERTY_ID (0x26) -#define MQTT_AUTH_METHOD_ID (0x15) -#define MQTT_AUTH_DATA_ID (0x16) -#define MQTT_CONTENT_TYPE_ID (0x03) -#define MQTT_RESPONSE_TOPIC_ID (0x08) -#define MQTT_CORRELATION_DATA_ID (0x09) -#define CORE_MQTT_ID_SIZE (1U) +#define MQTT_USER_PROPERTY_ID (0x26) +#define MQTT_AUTH_METHOD_ID (0x15) +#define MQTT_AUTH_DATA_ID (0x16) +#define MQTT_CONTENT_TYPE_ID (0x03) +#define MQTT_RESPONSE_TOPIC_ID (0x08) +#define MQTT_CORRELATION_DATA_ID (0x09) +#define CORE_MQTT_ID_SIZE (1U) #endif - /*-----------------------------------------------------------*/ - - /** - * @brief Sends provided buffer to network using transport send. - * - * @brief param[in] pContext Initialized MQTT context. - * @brief param[in] pBufferToSend Buffer to be sent to network. - * @brief param[in] bytesToSend Number of bytes to be sent. - * - * @note This operation may call the transport send function - * repeatedly to send bytes over the network until either: - * 1. The requested number of bytes @a bytesToSend have been sent. - * OR - * 2. MQTT_SEND_TIMEOUT_MS milliseconds have gone by since entering this - * function. - * OR - * 3. There is an error in sending data over the network. - * - * @return Total number of bytes sent, or negative value on network error. - */ -static int32_t sendBuffer(MQTTContext_t* pContext, - const uint8_t* pBufferToSend, - size_t bytesToSend); +/*-----------------------------------------------------------*/ + +/** + * @brief Sends provided buffer to network using transport send. + * + * @brief param[in] pContext Initialized MQTT context. + * @brief param[in] pBufferToSend Buffer to be sent to network. + * @brief param[in] bytesToSend Number of bytes to be sent. + * + * @note This operation may call the transport send function + * repeatedly to send bytes over the network until either: + * 1. The requested number of bytes @a bytesToSend have been sent. + * OR + * 2. MQTT_SEND_TIMEOUT_MS milliseconds have gone by since entering this + * function. + * OR + * 3. There is an error in sending data over the network. + * + * @return Total number of bytes sent, or negative value on network error. + */ +static int32_t sendBuffer(MQTTContext_t *pContext, + const uint8_t *pBufferToSend, + size_t bytesToSend); /** * @brief Sends MQTT connect without copying the users data into any buffer. @@ -143,10 +143,10 @@ static int32_t sendBuffer(MQTTContext_t* pContext, * * @return #MQTTSendFailed or #MQTTSuccess. */ -static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t* pContext, - const MQTTConnectInfo_t* pConnectInfo, - const MQTTPublishInfo_t* pWillInfo, - size_t remainingLength); +static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, + const MQTTConnectInfo_t *pConnectInfo, + const MQTTPublishInfo_t *pWillInfo, + size_t remainingLength); /** * @brief Sends the vector array passed through the parameters over the network. @@ -171,9 +171,9 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t* pContext, * @return The total number of bytes sent or the error code as received from the * transport interface. */ -static int32_t sendMessageVector(MQTTContext_t* pContext, - TransportOutVector_t* pIoVec, - size_t ioVecCount); +static int32_t sendMessageVector(MQTTContext_t *pContext, + TransportOutVector_t *pIoVec, + size_t ioVecCount); /** * @brief Add a string and its length after serializing it in a manner outlined by @@ -191,23 +191,23 @@ static int32_t sendMessageVector(MQTTContext_t* pContext, * @return The number of vectors added. */ - /** - * @brief Send MQTT SUBSCRIBE message without copying the user data into a buffer and - * directly sending it. - * - * @param[in] pContext Initialized MQTT context. - * @param[in] pSubscriptionList List of MQTT subscription info. - * @param[in] subscriptionCount The count of elements in the list. - * @param[in] packetId The packet ID of the subscribe packet - * @param[in] remainingLength The remaining length of the subscribe packet. - * - * @return #MQTTSuccess or #MQTTSendFailed. - */ -static MQTTStatus_t sendSubscribeWithoutCopy(MQTTContext_t* pContext, - const MQTTSubscribeInfo_t* pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength); +/** + * @brief Send MQTT SUBSCRIBE message without copying the user data into a buffer and + * directly sending it. + * + * @param[in] pContext Initialized MQTT context. + * @param[in] pSubscriptionList List of MQTT subscription info. + * @param[in] subscriptionCount The count of elements in the list. + * @param[in] packetId The packet ID of the subscribe packet + * @param[in] remainingLength The remaining length of the subscribe packet. + * + * @return #MQTTSuccess or #MQTTSendFailed. + */ +static MQTTStatus_t sendSubscribeWithoutCopy(MQTTContext_t *pContext, + const MQTTSubscribeInfo_t *pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength); /** * @brief Send MQTT UNSUBSCRIBE message without copying the user data into a buffer and @@ -221,11 +221,11 @@ static MQTTStatus_t sendSubscribeWithoutCopy(MQTTContext_t* pContext, * * @return #MQTTSuccess or #MQTTSendFailed. */ -static MQTTStatus_t sendUnsubscribeWithoutCopy(MQTTContext_t* pContext, - const MQTTSubscribeInfo_t* pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength); +static MQTTStatus_t sendUnsubscribeWithoutCopy(MQTTContext_t *pContext, + const MQTTSubscribeInfo_t *pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength); /** * @brief Calculate the interval between two millisecond timestamps, including @@ -241,7 +241,7 @@ static MQTTStatus_t sendUnsubscribeWithoutCopy(MQTTContext_t* pContext, * @return later - start. */ static uint32_t calculateElapsedTime(uint32_t later, - uint32_t start); + uint32_t start); /** * @brief Convert a byte indicating a publish ack type to an #MQTTPubAckType_t. @@ -270,8 +270,8 @@ static MQTTPubAckType_t getAckFromPacketType(uint8_t packetType); * * @return Number of bytes received, or negative number on network error. */ -static int32_t recvExact(const MQTTContext_t* pContext, - size_t bytesToRecv); +static int32_t recvExact(const MQTTContext_t *pContext, + size_t bytesToRecv); /** * @brief Discard a packet from the transport interface. @@ -282,9 +282,9 @@ static int32_t recvExact(const MQTTContext_t* pContext, * * @return #MQTTRecvFailed or #MQTTNoDataAvailable. */ -static MQTTStatus_t discardPacket(const MQTTContext_t* pContext, - size_t remainingLength, - uint32_t timeoutMs); +static MQTTStatus_t discardPacket(const MQTTContext_t *pContext, + size_t remainingLength, + uint32_t timeoutMs); /** * @brief Discard a packet from the MQTT buffer and the transport interface. @@ -294,8 +294,8 @@ static MQTTStatus_t discardPacket(const MQTTContext_t* pContext, * * @return #MQTTRecvFailed or #MQTTNoDataAvailable. */ -static MQTTStatus_t discardStoredPacket(MQTTContext_t* pContext, - const MQTTPacketInfo_t* pPacketInfo); +static MQTTStatus_t discardStoredPacket(MQTTContext_t *pContext, + const MQTTPacketInfo_t *pPacketInfo); /** * @brief Receive a packet from the transport interface. @@ -306,9 +306,9 @@ static MQTTStatus_t discardStoredPacket(MQTTContext_t* pContext, * * @return #MQTTSuccess or #MQTTRecvFailed. */ -static MQTTStatus_t receivePacket(const MQTTContext_t* pContext, - MQTTPacketInfo_t incomingPacket, - uint32_t remainingTimeMs); +static MQTTStatus_t receivePacket(const MQTTContext_t *pContext, + MQTTPacketInfo_t incomingPacket, + uint32_t remainingTimeMs); /** * @brief Get the correct ack type to send. @@ -329,9 +329,9 @@ static uint8_t getAckTypeToSend(MQTTPublishState_t state); * * @return #MQTTSuccess, #MQTTIllegalState or #MQTTSendFailed. */ -static MQTTStatus_t sendPublishAcks(MQTTContext_t* pContext, - uint16_t packetId, - MQTTPublishState_t publishState); +static MQTTStatus_t sendPublishAcks(MQTTContext_t *pContext, + uint16_t packetId, + MQTTPublishState_t publishState); /** * @brief Send a keep alive PINGREQ if the keep alive interval has elapsed. @@ -341,7 +341,7 @@ static MQTTStatus_t sendPublishAcks(MQTTContext_t* pContext, * @return #MQTTKeepAliveTimeout if a PINGRESP is not received in time, * #MQTTSendFailed if the PINGREQ cannot be sent, or #MQTTSuccess. */ -static MQTTStatus_t handleKeepAlive(MQTTContext_t* pContext); +static MQTTStatus_t handleKeepAlive(MQTTContext_t *pContext); /** * @brief Handle received MQTT PUBLISH packet. @@ -351,8 +351,8 @@ static MQTTStatus_t handleKeepAlive(MQTTContext_t* pContext); * * @return MQTTSuccess, MQTTIllegalState or deserialization error. */ -static MQTTStatus_t handleIncomingPublish(MQTTContext_t* pContext, - MQTTPacketInfo_t* pIncomingPacket); +static MQTTStatus_t handleIncomingPublish(MQTTContext_t *pContext, + MQTTPacketInfo_t *pIncomingPacket); /** * @brief Handle received MQTT publish acks. @@ -362,8 +362,8 @@ static MQTTStatus_t handleIncomingPublish(MQTTContext_t* pContext, * * @return MQTTSuccess, MQTTIllegalState, or deserialization error. */ -static MQTTStatus_t handlePublishAcks(MQTTContext_t* pContext, - MQTTPacketInfo_t* pIncomingPacket); +static MQTTStatus_t handlePublishAcks(MQTTContext_t *pContext, + MQTTPacketInfo_t *pIncomingPacket); /** * @brief Handle received MQTT ack. @@ -375,9 +375,9 @@ static MQTTStatus_t handlePublishAcks(MQTTContext_t* pContext, * * @return MQTTSuccess, MQTTIllegalState, or deserialization error. */ -static MQTTStatus_t handleIncomingAck(MQTTContext_t* pContext, - MQTTPacketInfo_t* pIncomingPacket, - bool manageKeepAlive); +static MQTTStatus_t handleIncomingAck(MQTTContext_t *pContext, + MQTTPacketInfo_t *pIncomingPacket, + bool manageKeepAlive); /** * @brief Run a single iteration of the receive loop. @@ -394,8 +394,8 @@ static MQTTStatus_t handleIncomingAck(MQTTContext_t* pContext, * invalid transition for the internal state machine; * #MQTTSuccess on success. */ -static MQTTStatus_t receiveSingleIteration(MQTTContext_t* pContext, - bool manageKeepAlive); +static MQTTStatus_t receiveSingleIteration(MQTTContext_t *pContext, + bool manageKeepAlive); /** * @brief Validates parameters of #MQTT_Subscribe or #MQTT_Unsubscribe. @@ -408,10 +408,10 @@ static MQTTStatus_t receiveSingleIteration(MQTTContext_t* pContext, * @return #MQTTBadParameter if invalid parameters are passed; * #MQTTSuccess otherwise. */ -static MQTTStatus_t validateSubscribeUnsubscribeParams(const MQTTContext_t* pContext, - const MQTTSubscribeInfo_t* pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId); +static MQTTStatus_t validateSubscribeUnsubscribeParams(const MQTTContext_t *pContext, + const MQTTSubscribeInfo_t *pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId); /** * @brief Receives a CONNACK MQTT packet. @@ -428,11 +428,11 @@ static MQTTStatus_t validateSubscribeUnsubscribeParams(const MQTTContext_t* pCon * ##MQTTRecvFailed if transport recv failed; * #MQTTSuccess otherwise. */ -static MQTTStatus_t receiveConnack(const MQTTContext_t* pContext, - uint32_t timeoutMs, - bool cleanSession, - MQTTPacketInfo_t* pIncomingPacket, - bool* pSessionPresent); +static MQTTStatus_t receiveConnack(const MQTTContext_t *pContext, + uint32_t timeoutMs, + bool cleanSession, + MQTTPacketInfo_t *pIncomingPacket, + bool *pSessionPresent); /** * @brief Resends pending acks for a re-established MQTT session, or @@ -444,9 +444,8 @@ static MQTTStatus_t receiveConnack(const MQTTContext_t* pContext, * @return #MQTTSendFailed if transport send during resend failed; * #MQTTSuccess otherwise. */ -static MQTTStatus_t handleSessionResumption(MQTTContext_t* pContext, - bool sessionPresent); - +static MQTTStatus_t handleSessionResumption(MQTTContext_t *pContext, + bool sessionPresent); /** * @brief Send the publish packet without copying the topic string and payload in @@ -462,11 +461,11 @@ static MQTTStatus_t handleSessionResumption(MQTTContext_t* pContext, * @return #MQTTSendFailed if transport send during resend failed; * #MQTTSuccess otherwise. */ -static MQTTStatus_t sendPublishWithoutCopy(MQTTContext_t* pContext, - const MQTTPublishInfo_t* pPublishInfo, - const uint8_t* pMqttHeader, - size_t headerSize, - uint16_t packetId); +static MQTTStatus_t sendPublishWithoutCopy(MQTTContext_t *pContext, + const MQTTPublishInfo_t *pPublishInfo, + const uint8_t *pMqttHeader, + size_t headerSize, + uint16_t packetId); /** * @brief Function to validate #MQTT_Publish parameters. @@ -478,9 +477,9 @@ static MQTTStatus_t sendPublishWithoutCopy(MQTTContext_t* pContext, * @return #MQTTBadParameter if invalid parameters are passed; * #MQTTSuccess otherwise. */ -static MQTTStatus_t validatePublishParams(const MQTTContext_t* pContext, - const MQTTPublishInfo_t* pPublishInfo, - uint16_t packetId); +static MQTTStatus_t validatePublishParams(const MQTTContext_t *pContext, + const MQTTPublishInfo_t *pPublishInfo, + uint16_t packetId); /** * @brief Performs matching for special cases when a topic filter ends @@ -503,9 +502,9 @@ static MQTTStatus_t validatePublishParams(const MQTTContext_t* pContext, * * @return Returns whether the topic filter and the topic name match. */ -static bool matchEndWildcardsSpecialCases(const char* pTopicFilter, - uint16_t topicFilterLength, - uint16_t filterIndex); +static bool matchEndWildcardsSpecialCases(const char *pTopicFilter, + uint16_t topicFilterLength, + uint16_t filterIndex); /** * @brief Attempt to match topic name with a topic filter starting with a wildcard. @@ -528,13 +527,13 @@ static bool matchEndWildcardsSpecialCases(const char* pTopicFilter, * @return `true` if the caller of this function should exit; `false` if the * caller should continue parsing the topics. */ -static bool matchWildcards(const char* pTopicName, - uint16_t topicNameLength, - const char* pTopicFilter, - uint16_t topicFilterLength, - uint16_t* pNameIndex, - uint16_t* pFilterIndex, - bool* pMatch); +static bool matchWildcards(const char *pTopicName, + uint16_t topicNameLength, + const char *pTopicFilter, + uint16_t topicFilterLength, + uint16_t *pNameIndex, + uint16_t *pFilterIndex, + bool *pMatch); /** * @brief Match a topic name and topic filter allowing the use of wildcards. @@ -546,39 +545,35 @@ static bool matchWildcards(const char* pTopicName, * * @return `true` if the topic name and topic filter match; `false` otherwise. */ -static bool matchTopicFilter(const char* pTopicName, - uint16_t topicNameLength, - const char* pTopicFilter, - uint16_t topicFilterLength); +static bool matchTopicFilter(const char *pTopicName, + uint16_t topicNameLength, + const char *pTopicFilter, + uint16_t topicFilterLength); size_t addEncodedStringToVector(uint8_t serializedLength[CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES], - const char* const string, - uint16_t length, - TransportOutVector_t* iterator, - size_t* updatedLength); - - - + const char *const string, + uint16_t length, + TransportOutVector_t *iterator, + size_t *updatedLength); #if (MQTT_VERSION_5_ENABLED) size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES], - const char* const string, - uint16_t length, - TransportOutVector_t* iterator, - size_t* updatedLength, uint8_t packetId); - -size_t MQTT_SerializeUserProperty(MQTTUserProperty_t* userProperty, uint16_t size, TransportOutVector_t* iterator, size_t* totalMessageLength); + const char *const string, + uint16_t length, + TransportOutVector_t *iterator, + size_t *updatedLength, uint8_t* packetId); +size_t MQTT_SerializeUserProperty(MQTTUserProperty_t *userProperty, uint16_t size, TransportOutVector_t *iterator, size_t *totalMessageLength); size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES], - const char* const string, - uint16_t length, - TransportOutVector_t* iterator, - size_t* updatedLength, uint8_t packetId) + const char *const string, + uint16_t length, + TransportOutVector_t *iterator, + size_t *updatedLength, uint8_t* packetId) { size_t packetLength = 0U; - TransportOutVector_t* pLocalIterator = iterator; + TransportOutVector_t *pLocalIterator = iterator; size_t vectorsAdded = 0U; /* When length is non-zero, the string must be non-NULL. */ @@ -588,7 +583,7 @@ size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_SERIALI serializedLength[1] = ((uint8_t)((length) & 0x00ffU)); /* Add the packet id first. */ - pLocalIterator[0].iov_base = &packetId; + pLocalIterator[0].iov_base = packetId; pLocalIterator[0].iov_len = CORE_MQTT_ID_SIZE; vectorsAdded++; packetLength = CORE_MQTT_ID_SIZE; @@ -615,46 +610,46 @@ size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_SERIALI return vectorsAdded; } -size_t MQTT_SerializeUserProperty(MQTTUserProperty_t* userProperty, uint16_t size, TransportOutVector_t* iterator, size_t* totalMessageLength) -{ - uint8_t serializedUserKeyLength[MAX_USER_PROPERTY][2]; - uint8_t serializedUserValueLength[MAX_USER_PROPERTY][2]; - size_t vectorsAdded = 0U; - size_t ioVectorLength = 0U; - uint16_t i = 0; - for (; i < size; i++) { - vectorsAdded = addEncodedStringToVectorWithId(serializedUserKeyLength[i], - userProperty[i].key, - userProperty[i].keyLength, - iterator, - totalMessageLength, MQTT_USER_PROPERTY_ID); - iterator = &iterator[vectorsAdded]; - ioVectorLength += vectorsAdded; - - vectorsAdded = addEncodedStringToVector(serializedUserValueLength[i], - userProperty[i].value, - userProperty[i].valueLength, - iterator, - totalMessageLength); - iterator = &iterator[vectorsAdded]; - ioVectorLength += vectorsAdded; - } - return ioVectorLength; -} +// size_t MQTT_SerializeUserProperty(MQTTUserProperty_t *userProperty, uint16_t size, TransportOutVector_t *iterator, size_t *totalMessageLength) +// { +// uint8_t serializedUserKeyLength[MAX_USER_PROPERTY][2]; +// uint8_t serializedUserValueLength[MAX_USER_PROPERTY][2]; +// size_t vectorsAdded = 0U; +// size_t ioVectorLength = 0U; +// uint16_t i = 0; +// for (; i < size; i++) +// { +// vectorsAdded = addEncodedStringToVectorWithId(serializedUserKeyLength[i], +// userProperty[i].key, +// userProperty[i].keyLength, +// iterator, +// totalMessageLength, MQTT_USER_PROPERTY_ID); +// iterator = &iterator[vectorsAdded]; +// ioVectorLength += vectorsAdded; + +// vectorsAdded = addEncodedStringToVector(serializedUserValueLength[i], +// userProperty[i].value, +// userProperty[i].valueLength, +// iterator, +// totalMessageLength); +// iterator = &iterator[vectorsAdded]; +// ioVectorLength += vectorsAdded; +// } +// return ioVectorLength; +// } #endif /*-----------------------------------------------------------*/ - size_t addEncodedStringToVector(uint8_t serializedLength[CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES], - const char* const string, - uint16_t length, - TransportOutVector_t* iterator, - size_t* updatedLength) + const char *const string, + uint16_t length, + TransportOutVector_t *iterator, + size_t *updatedLength) { size_t packetLength = 0U; - TransportOutVector_t* pLocalIterator = iterator; + TransportOutVector_t *pLocalIterator = iterator; size_t vectorsAdded = 0U; /* When length is non-zero, the string must be non-NULL. */ @@ -685,10 +680,9 @@ size_t addEncodedStringToVector(uint8_t serializedLength[CORE_MQTT_SERIALIZED_LE return vectorsAdded; } - -static bool matchEndWildcardsSpecialCases(const char* pTopicFilter, - uint16_t topicFilterLength, - uint16_t filterIndex) +static bool matchEndWildcardsSpecialCases(const char *pTopicFilter, + uint16_t topicFilterLength, + uint16_t filterIndex) { bool matchFound = false; @@ -719,7 +713,7 @@ static bool matchEndWildcardsSpecialCases(const char* pTopicFilter, { /* Check that the last character is a wildcard. */ matchFound = (pTopicFilter[filterIndex + 1U] == '+') || - (pTopicFilter[filterIndex + 1U] == '#'); + (pTopicFilter[filterIndex + 1U] == '#'); } return matchFound; @@ -727,13 +721,13 @@ static bool matchEndWildcardsSpecialCases(const char* pTopicFilter, /*-----------------------------------------------------------*/ -static bool matchWildcards(const char* pTopicName, - uint16_t topicNameLength, - const char* pTopicFilter, - uint16_t topicFilterLength, - uint16_t* pNameIndex, - uint16_t* pFilterIndex, - bool* pMatch) +static bool matchWildcards(const char *pTopicName, + uint16_t topicNameLength, + const char *pTopicFilter, + uint16_t topicFilterLength, + uint16_t *pNameIndex, + uint16_t *pFilterIndex, + bool *pMatch) { bool shouldStopMatching = false; bool locationIsValidForWildcard; @@ -749,7 +743,7 @@ static bool matchWildcards(const char* pTopicName, /* Wild card in a topic filter is only valid either at the starting position * or when it is preceded by a '/'.*/ locationIsValidForWildcard = (*pFilterIndex == 0u) || - (pTopicFilter[*pFilterIndex - 1U] == '/'); + (pTopicFilter[*pFilterIndex - 1U] == '/'); if ((pTopicFilter[*pFilterIndex] == '+') && (locationIsValidForWildcard == true)) { @@ -810,8 +804,8 @@ static bool matchWildcards(const char* pTopicName, /* '#' matches everything remaining in the topic name. It must be the * last character in a topic filter. */ else if ((pTopicFilter[*pFilterIndex] == '#') && - (*pFilterIndex == (topicFilterLength - 1U)) && - (locationIsValidForWildcard == true)) + (*pFilterIndex == (topicFilterLength - 1U)) && + (locationIsValidForWildcard == true)) { /* Subsequent characters don't need to be checked for the * multi-level wildcard. */ @@ -831,10 +825,10 @@ static bool matchWildcards(const char* pTopicName, /*-----------------------------------------------------------*/ -static bool matchTopicFilter(const char* pTopicName, - uint16_t topicNameLength, - const char* pTopicFilter, - uint16_t topicFilterLength) +static bool matchTopicFilter(const char *pTopicName, + uint16_t topicNameLength, + const char *pTopicFilter, + uint16_t topicFilterLength) { bool matchFound = false, shouldStopMatching = false; uint16_t nameIndex = 0, filterIndex = 0; @@ -856,20 +850,20 @@ static bool matchTopicFilter(const char* pTopicName, if (nameIndex == (topicNameLength - 1U)) { matchFound = matchEndWildcardsSpecialCases(pTopicFilter, - topicFilterLength, - filterIndex); + topicFilterLength, + filterIndex); } } else { /* Check for matching wildcards. */ shouldStopMatching = matchWildcards(pTopicName, - topicNameLength, - pTopicFilter, - topicFilterLength, - &nameIndex, - &filterIndex, - &matchFound); + topicNameLength, + pTopicFilter, + topicFilterLength, + &nameIndex, + &filterIndex, + &matchFound); } if ((matchFound == true) || (shouldStopMatching == true)) @@ -889,7 +883,7 @@ static bool matchTopicFilter(const char* pTopicName, * For example, when matching either of "sport/+/player" OR "sport/hockey/+" topic * filters with "sport/hockey/player" topic name. */ matchFound = (nameIndex == topicNameLength) && - (filterIndex == topicFilterLength); + (filterIndex == topicFilterLength); } return matchFound; @@ -897,13 +891,13 @@ static bool matchTopicFilter(const char* pTopicName, /*-----------------------------------------------------------*/ -static int32_t sendMessageVector(MQTTContext_t* pContext, - TransportOutVector_t* pIoVec, - size_t ioVecCount) +static int32_t sendMessageVector(MQTTContext_t *pContext, + TransportOutVector_t *pIoVec, + size_t ioVecCount) { int32_t sendResult; uint32_t startTime; - TransportOutVector_t* pIoVectIterator; + TransportOutVector_t *pIoVectIterator; size_t vectorsToBeSent = ioVecCount; size_t bytesToSend = 0U; int32_t bytesSentOrError = 0; @@ -931,14 +925,14 @@ static int32_t sendMessageVector(MQTTContext_t* pContext, if (pContext->transportInterface.writev != NULL) { sendResult = pContext->transportInterface.writev(pContext->transportInterface.pNetworkContext, - pIoVectIterator, - vectorsToBeSent); + pIoVectIterator, + vectorsToBeSent); } else { sendResult = pContext->transportInterface.send(pContext->transportInterface.pNetworkContext, - pIoVectIterator->iov_base, - pIoVectIterator->iov_len); + pIoVectIterator->iov_base, + pIoVectIterator->iov_len); } if (sendResult > 0) @@ -953,8 +947,8 @@ static int32_t sendMessageVector(MQTTContext_t* pContext, pContext->lastPacketTxTime = pContext->getTime(); LogDebug(("sendMessageVector: Bytes Sent=%ld, Bytes Remaining=%lu", - (long int)sendResult, - (unsigned long)(bytesToSend - (size_t)bytesSentOrError))); + (long int)sendResult, + (unsigned long)(bytesToSend - (size_t)bytesSentOrError))); } else if (sendResult < 0) { @@ -975,7 +969,7 @@ static int32_t sendMessageVector(MQTTContext_t* pContext, /* Update the send pointer to the correct vector and offset. */ while ((pIoVectIterator <= &(pIoVec[ioVecCount - 1U])) && - (sendResult >= (int32_t)pIoVectIterator->iov_len)) + (sendResult >= (int32_t)pIoVectIterator->iov_len)) { sendResult -= (int32_t)pIoVectIterator->iov_len; pIoVectIterator++; @@ -988,7 +982,7 @@ static int32_t sendMessageVector(MQTTContext_t* pContext, if ((sendResult > 0) && (pIoVectIterator <= &(pIoVec[ioVecCount - 1U]))) { - pIoVectIterator->iov_base = (const void*)&(((const uint8_t*)pIoVectIterator->iov_base)[sendResult]); + pIoVectIterator->iov_base = (const void *)&(((const uint8_t *)pIoVectIterator->iov_base)[sendResult]); pIoVectIterator->iov_len -= (size_t)sendResult; } } @@ -996,14 +990,14 @@ static int32_t sendMessageVector(MQTTContext_t* pContext, return bytesSentOrError; } -static int32_t sendBuffer(MQTTContext_t* pContext, - const uint8_t* pBufferToSend, - size_t bytesToSend) +static int32_t sendBuffer(MQTTContext_t *pContext, + const uint8_t *pBufferToSend, + size_t bytesToSend) { int32_t sendResult; uint32_t startTime; int32_t bytesSentOrError = 0; - const uint8_t* pIndex = pBufferToSend; + const uint8_t *pIndex = pBufferToSend; assert(pContext != NULL); assert(pContext->getTime != NULL); @@ -1016,8 +1010,8 @@ static int32_t sendBuffer(MQTTContext_t* pContext, while ((bytesSentOrError < (int32_t)bytesToSend) && (bytesSentOrError >= 0)) { sendResult = pContext->transportInterface.send(pContext->transportInterface.pNetworkContext, - pIndex, - bytesToSend - (size_t)bytesSentOrError); + pIndex, + bytesToSend - (size_t)bytesSentOrError); if (sendResult > 0) { @@ -1032,8 +1026,8 @@ static int32_t sendBuffer(MQTTContext_t* pContext, pContext->lastPacketTxTime = pContext->getTime(); LogDebug(("sendBuffer: Bytes Sent=%ld, Bytes Remaining=%lu", - (long int)sendResult, - (unsigned long)(bytesToSend - (size_t)bytesSentOrError))); + (long int)sendResult, + (unsigned long)(bytesToSend - (size_t)bytesSentOrError))); } else if (sendResult < 0) { @@ -1059,7 +1053,7 @@ static int32_t sendBuffer(MQTTContext_t* pContext, /*-----------------------------------------------------------*/ static uint32_t calculateElapsedTime(uint32_t later, - uint32_t start) + uint32_t start) { return later - start; } @@ -1099,10 +1093,10 @@ static MQTTPubAckType_t getAckFromPacketType(uint8_t packetType) /*-----------------------------------------------------------*/ -static int32_t recvExact(const MQTTContext_t* pContext, - size_t bytesToRecv) +static int32_t recvExact(const MQTTContext_t *pContext, + size_t bytesToRecv) { - uint8_t* pIndex = NULL; + uint8_t *pIndex = NULL; size_t bytesRemaining = bytesToRecv; int32_t totalBytesRecvd = 0, bytesRecvd; uint32_t lastDataRecvTimeMs = 0U, timeSinceLastRecvMs = 0U; @@ -1126,13 +1120,13 @@ static int32_t recvExact(const MQTTContext_t* pContext, while ((bytesRemaining > 0U) && (receiveError == false)) { bytesRecvd = recvFunc(pContext->transportInterface.pNetworkContext, - pIndex, - bytesRemaining); + pIndex, + bytesRemaining); if (bytesRecvd < 0) { LogError(("Network error while receiving packet: ReturnCode=%ld.", - (long int)bytesRecvd)); + (long int)bytesRecvd)); totalBytesRecvd = bytesRecvd; receiveError = true; } @@ -1153,9 +1147,9 @@ static int32_t recvExact(const MQTTContext_t* pContext, /* Increment the index. */ pIndex = &pIndex[bytesRecvd]; LogDebug(("BytesReceived=%ld, BytesRemaining=%lu, TotalBytesReceived=%ld.", - (long int)bytesRecvd, - (unsigned long)bytesRemaining, - (long int)totalBytesRecvd)); + (long int)bytesRecvd, + (unsigned long)bytesRemaining, + (long int)totalBytesRecvd)); } else { @@ -1176,9 +1170,9 @@ static int32_t recvExact(const MQTTContext_t* pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t discardPacket(const MQTTContext_t* pContext, - size_t remainingLength, - uint32_t timeoutMs) +static MQTTStatus_t discardPacket(const MQTTContext_t *pContext, + size_t remainingLength, + uint32_t timeoutMs) { MQTTStatus_t status = MQTTRecvFailed; int32_t bytesReceived = 0; @@ -1209,9 +1203,9 @@ static MQTTStatus_t discardPacket(const MQTTContext_t* pContext, if (bytesReceived != (int32_t)bytesToReceive) { LogError(("Receive error while discarding packet." - "ReceivedBytes=%ld, ExpectedBytes=%lu.", - (long int)bytesReceived, - (unsigned long)bytesToReceive)); + "ReceivedBytes=%ld, ExpectedBytes=%lu.", + (long int)bytesReceived, + (unsigned long)bytesToReceive)); receiveError = true; } else @@ -1232,7 +1226,7 @@ static MQTTStatus_t discardPacket(const MQTTContext_t* pContext, if (totalBytesReceived == remainingLength) { LogError(("Dumped packet. DumpedBytes=%lu.", - (unsigned long)totalBytesReceived)); + (unsigned long)totalBytesReceived)); /* Packet dumped, so no data is available. */ status = MQTTNoDataAvailable; } @@ -1242,8 +1236,8 @@ static MQTTStatus_t discardPacket(const MQTTContext_t* pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t discardStoredPacket(MQTTContext_t* pContext, - const MQTTPacketInfo_t* pPacketInfo) +static MQTTStatus_t discardStoredPacket(MQTTContext_t *pContext, + const MQTTPacketInfo_t *pPacketInfo) { MQTTStatus_t status = MQTTRecvFailed; int32_t bytesReceived = 0; @@ -1280,9 +1274,9 @@ static MQTTStatus_t discardStoredPacket(MQTTContext_t* pContext, if (bytesReceived != (int32_t)bytesToReceive) { LogError(("Receive error while discarding packet." - "ReceivedBytes=%ld, ExpectedBytes=%lu.", - (long int)bytesReceived, - (unsigned long)bytesToReceive)); + "ReceivedBytes=%ld, ExpectedBytes=%lu.", + (long int)bytesReceived, + (unsigned long)bytesToReceive)); receiveError = true; } else @@ -1294,15 +1288,15 @@ static MQTTStatus_t discardStoredPacket(MQTTContext_t* pContext, if (totalBytesReceived == remainingLength) { LogError(("Dumped packet. DumpedBytes=%lu.", - (unsigned long)totalBytesReceived)); + (unsigned long)totalBytesReceived)); /* Packet dumped, so no data is available. */ status = MQTTNoDataAvailable; } /* Clear the buffer */ (void)memset(pContext->networkBuffer.pBuffer, - 0, - pContext->networkBuffer.size); + 0, + pContext->networkBuffer.size); /* Reset the index. */ pContext->index = 0; @@ -1312,9 +1306,9 @@ static MQTTStatus_t discardStoredPacket(MQTTContext_t* pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t receivePacket(const MQTTContext_t* pContext, - MQTTPacketInfo_t incomingPacket, - uint32_t remainingTimeMs) +static MQTTStatus_t receivePacket(const MQTTContext_t *pContext, + MQTTPacketInfo_t incomingPacket, + uint32_t remainingTimeMs) { MQTTStatus_t status = MQTTSuccess; int32_t bytesReceived = 0; @@ -1326,13 +1320,13 @@ static MQTTStatus_t receivePacket(const MQTTContext_t* pContext, if (incomingPacket.remainingLength > pContext->networkBuffer.size) { LogError(("Incoming packet will be dumped: " - "Packet length exceeds network buffer size." - "PacketSize=%lu, NetworkBufferSize=%lu.", - (unsigned long)incomingPacket.remainingLength, - (unsigned long)pContext->networkBuffer.size)); + "Packet length exceeds network buffer size." + "PacketSize=%lu, NetworkBufferSize=%lu.", + (unsigned long)incomingPacket.remainingLength, + (unsigned long)pContext->networkBuffer.size)); status = discardPacket(pContext, - incomingPacket.remainingLength, - remainingTimeMs); + incomingPacket.remainingLength, + remainingTimeMs); } else { @@ -1343,14 +1337,14 @@ static MQTTStatus_t receivePacket(const MQTTContext_t* pContext, { /* Receive successful, bytesReceived == bytesToReceive. */ LogDebug(("Packet received. ReceivedBytes=%ld.", - (long int)bytesReceived)); + (long int)bytesReceived)); } else { LogError(("Packet reception failed. ReceivedBytes=%ld, " - "ExpectedBytes=%lu.", - (long int)bytesReceived, - (unsigned long)bytesToReceive)); + "ExpectedBytes=%lu.", + (long int)bytesReceived, + (unsigned long)bytesToReceive)); status = MQTTRecvFailed; } } @@ -1399,9 +1393,9 @@ static uint8_t getAckTypeToSend(MQTTPublishState_t state) /*-----------------------------------------------------------*/ -static MQTTStatus_t sendPublishAcks(MQTTContext_t* pContext, - uint16_t packetId, - MQTTPublishState_t publishState) +static MQTTStatus_t sendPublishAcks(MQTTContext_t *pContext, + uint16_t packetId, + MQTTPublishState_t publishState) { MQTTStatus_t status = MQTTSuccess; MQTTPublishState_t newState = MQTTStateNull; @@ -1423,8 +1417,8 @@ static MQTTStatus_t sendPublishAcks(MQTTContext_t* pContext, packetType = getAckFromPacketType(packetTypeByte); status = MQTT_SerializeAck(&localBuffer, - packetTypeByte, - packetId); + packetTypeByte, + packetId); if (status == MQTTSuccess) { @@ -1433,8 +1427,8 @@ static MQTTStatus_t sendPublishAcks(MQTTContext_t* pContext, /* Here, we are not using the vector approach for efficiency. There is just one buffer * to be sent which can be achieved with a normal send call. */ sendResult = sendBuffer(pContext, - localBuffer.pBuffer, - MQTT_PUBLISH_ACK_PACKET_SIZE); + localBuffer.pBuffer, + MQTT_PUBLISH_ACK_PACKET_SIZE); MQTT_POST_SEND_HOOK(pContext); } @@ -1446,25 +1440,25 @@ static MQTTStatus_t sendPublishAcks(MQTTContext_t* pContext, MQTT_PRE_STATE_UPDATE_HOOK(pContext); status = MQTT_UpdateStateAck(pContext, - packetId, - packetType, - MQTT_SEND, - &newState); + packetId, + packetType, + MQTT_SEND, + &newState); MQTT_POST_STATE_UPDATE_HOOK(pContext); if (status != MQTTSuccess) { LogError(("Failed to update state of publish %hu.", - (unsigned short)packetId)); + (unsigned short)packetId)); } } else { LogError(("Failed to send ACK packet: PacketType=%02x, SentBytes=%ld, " - "PacketSize=%lu.", - (unsigned int)packetTypeByte, (long int)sendResult, - MQTT_PUBLISH_ACK_PACKET_SIZE)); + "PacketSize=%lu.", + (unsigned int)packetTypeByte, (long int)sendResult, + MQTT_PUBLISH_ACK_PACKET_SIZE)); status = MQTTSendFailed; } } @@ -1474,7 +1468,7 @@ static MQTTStatus_t sendPublishAcks(MQTTContext_t* pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t handleKeepAlive(MQTTContext_t* pContext) +static MQTTStatus_t handleKeepAlive(MQTTContext_t *pContext) { MQTTStatus_t status = MQTTSuccess; uint32_t now = 0U; @@ -1529,8 +1523,8 @@ static MQTTStatus_t handleKeepAlive(MQTTContext_t* pContext) /*-----------------------------------------------------------*/ -static MQTTStatus_t handleIncomingPublish(MQTTContext_t* pContext, - MQTTPacketInfo_t* pIncomingPacket) +static MQTTStatus_t handleIncomingPublish(MQTTContext_t *pContext, + MQTTPacketInfo_t *pIncomingPacket) { MQTTStatus_t status = MQTTBadParameter; MQTTPublishState_t publishRecordState = MQTTStateNull; @@ -1545,16 +1539,16 @@ static MQTTStatus_t handleIncomingPublish(MQTTContext_t* pContext, status = MQTT_DeserializePublish(pIncomingPacket, &packetIdentifier, &publishInfo); LogInfo(("De-serialized incoming PUBLISH packet: DeserializerResult=%s.", - MQTT_Status_strerror(status))); + MQTT_Status_strerror(status))); if ((status == MQTTSuccess) && (pContext->incomingPublishRecords == NULL) && (publishInfo.qos > MQTTQoS0)) { LogError(("Incoming publish has QoS > MQTTQoS0 but incoming " - "publish records have not been initialized. Dropping the " - "incoming publish. Please call MQTT_InitStatefulQoS to enable " - "use of QoS1 and QoS2 publishes.")); + "publish records have not been initialized. Dropping the " + "incoming publish. Please call MQTT_InitStatefulQoS to enable " + "use of QoS1 and QoS2 publishes.")); status = MQTTRecvFailed; } @@ -1563,17 +1557,17 @@ static MQTTStatus_t handleIncomingPublish(MQTTContext_t* pContext, MQTT_PRE_STATE_UPDATE_HOOK(pContext); status = MQTT_UpdateStatePublish(pContext, - packetIdentifier, - MQTT_RECEIVE, - publishInfo.qos, - &publishRecordState); + packetIdentifier, + MQTT_RECEIVE, + publishInfo.qos, + &publishRecordState); MQTT_POST_STATE_UPDATE_HOOK(pContext); if (status == MQTTSuccess) { LogInfo(("State record updated. New state=%s.", - MQTT_State_strerror(publishRecordState))); + MQTT_State_strerror(publishRecordState))); } /* Different cases in which an incoming publish with duplicate flag is @@ -1610,10 +1604,10 @@ static MQTTStatus_t handleIncomingPublish(MQTTContext_t* pContext, /* Calculate the state for the ack packet that needs to be sent out * for the duplicate incoming publish. */ publishRecordState = MQTT_CalculateStatePublish(MQTT_RECEIVE, - publishInfo.qos); + publishInfo.qos); LogDebug(("Incoming publish packet with packet id %hu already exists.", - (unsigned short)packetIdentifier)); + (unsigned short)packetIdentifier)); if (publishInfo.dup == false) { @@ -1623,9 +1617,9 @@ static MQTTStatus_t handleIncomingPublish(MQTTContext_t* pContext, else { LogError(("Error in updating publish state for incoming publish with packet id %hu." - " Error is %s", - (unsigned short)packetIdentifier, - MQTT_Status_strerror(status))); + " Error is %s", + (unsigned short)packetIdentifier, + MQTT_Status_strerror(status))); } } @@ -1643,14 +1637,14 @@ static MQTTStatus_t handleIncomingPublish(MQTTContext_t* pContext, if (duplicatePublish == false) { pContext->appCallback(pContext, - pIncomingPacket, - &deserializedInfo); + pIncomingPacket, + &deserializedInfo); } /* Send PUBACK or PUBREC if necessary. */ status = sendPublishAcks(pContext, - packetIdentifier, - publishRecordState); + packetIdentifier, + publishRecordState); } return status; @@ -1658,8 +1652,8 @@ static MQTTStatus_t handleIncomingPublish(MQTTContext_t* pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t handlePublishAcks(MQTTContext_t* pContext, - MQTTPacketInfo_t* pIncomingPacket) +static MQTTStatus_t handlePublishAcks(MQTTContext_t *pContext, + MQTTPacketInfo_t *pIncomingPacket) { MQTTStatus_t status = MQTTBadResponse; MQTTPublishState_t publishRecordState = MQTTStateNull; @@ -1677,31 +1671,31 @@ static MQTTStatus_t handlePublishAcks(MQTTContext_t* pContext, ackType = getAckFromPacketType(pIncomingPacket->type); status = MQTT_DeserializeAck(pIncomingPacket, &packetIdentifier, NULL); LogInfo(("Ack packet deserialized with result: %s.", - MQTT_Status_strerror(status))); + MQTT_Status_strerror(status))); if (status == MQTTSuccess) { MQTT_PRE_STATE_UPDATE_HOOK(pContext); status = MQTT_UpdateStateAck(pContext, - packetIdentifier, - ackType, - MQTT_RECEIVE, - &publishRecordState); + packetIdentifier, + ackType, + MQTT_RECEIVE, + &publishRecordState); MQTT_POST_STATE_UPDATE_HOOK(pContext); if (status == MQTTSuccess) { LogInfo(("State record updated. New state=%s.", - MQTT_State_strerror(publishRecordState))); + MQTT_State_strerror(publishRecordState))); } else { LogError(("Updating the state engine for packet id %hu" - " failed with error %s.", - (unsigned short)packetIdentifier, - MQTT_Status_strerror(status))); + " failed with error %s.", + (unsigned short)packetIdentifier, + MQTT_Status_strerror(status))); } } @@ -1718,8 +1712,8 @@ static MQTTStatus_t handlePublishAcks(MQTTContext_t* pContext, /* Send PUBREL or PUBCOMP if necessary. */ status = sendPublishAcks(pContext, - packetIdentifier, - publishRecordState); + packetIdentifier, + publishRecordState); } return status; @@ -1727,9 +1721,9 @@ static MQTTStatus_t handlePublishAcks(MQTTContext_t* pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t handleIncomingAck(MQTTContext_t* pContext, - MQTTPacketInfo_t* pIncomingPacket, - bool manageKeepAlive) +static MQTTStatus_t handleIncomingAck(MQTTContext_t *pContext, + MQTTPacketInfo_t *pIncomingPacket, + bool manageKeepAlive) { MQTTStatus_t status = MQTTBadResponse; uint16_t packetIdentifier = MQTT_PACKET_ID_INVALID; @@ -1750,7 +1744,7 @@ static MQTTStatus_t handleIncomingAck(MQTTContext_t* pContext, appCallback = pContext->appCallback; LogDebug(("Received packet of type %02x.", - (unsigned int)pIncomingPacket->type)); + (unsigned int)pIncomingPacket->type)); switch (pIncomingPacket->type) { @@ -1785,7 +1779,7 @@ static MQTTStatus_t handleIncomingAck(MQTTContext_t* pContext, default: /* Bad response from the server. */ LogError(("Unexpected packet type from server: PacketType=%02x.", - (unsigned int)pIncomingPacket->type)); + (unsigned int)pIncomingPacket->type)); status = MQTTBadResponse; break; } @@ -1805,11 +1799,11 @@ static MQTTStatus_t handleIncomingAck(MQTTContext_t* pContext, } /*-----------------------------------------------------------*/ -static MQTTStatus_t receiveSingleIteration(MQTTContext_t* pContext, - bool manageKeepAlive) +static MQTTStatus_t receiveSingleIteration(MQTTContext_t *pContext, + bool manageKeepAlive) { MQTTStatus_t status = MQTTSuccess; - MQTTPacketInfo_t incomingPacket = { 0 }; + MQTTPacketInfo_t incomingPacket = {0}; int32_t recvBytes; size_t totalMQTTPacketLength = 0; @@ -1818,8 +1812,8 @@ static MQTTStatus_t receiveSingleIteration(MQTTContext_t* pContext, /* Read as many bytes as possible into the network buffer. */ recvBytes = pContext->transportInterface.recv(pContext->transportInterface.pNetworkContext, - &(pContext->networkBuffer.pBuffer[pContext->index]), - pContext->networkBuffer.size - pContext->index); + &(pContext->networkBuffer.pBuffer[pContext->index]), + pContext->networkBuffer.size - pContext->index); if (recvBytes < 0) { @@ -1841,8 +1835,8 @@ static MQTTStatus_t receiveSingleIteration(MQTTContext_t* pContext, pContext->index += (size_t)recvBytes; status = MQTT_ProcessIncomingPacketTypeAndLength(pContext->networkBuffer.pBuffer, - &(pContext->index), - &incomingPacket); + &(pContext->index), + &incomingPacket); totalMQTTPacketLength = incomingPacket.remainingLength + incomingPacket.headerLength; } @@ -1867,7 +1861,7 @@ static MQTTStatus_t receiveSingleIteration(MQTTContext_t* pContext, else { LogError(("Handling of keep alive failed. Status=%s", - MQTT_Status_strerror(status))); + MQTT_Status_strerror(status))); } } } @@ -1882,7 +1876,7 @@ static MQTTStatus_t receiveSingleIteration(MQTTContext_t* pContext, else if (status != MQTTSuccess) { LogError(("Call to receiveSingleIteration failed. Status=%s", - MQTT_Status_strerror(status))); + MQTT_Status_strerror(status))); } /* If the MQTT Packet size is bigger than the buffer itself. */ else if (totalMQTTPacketLength > pContext->networkBuffer.size) @@ -1890,7 +1884,7 @@ static MQTTStatus_t receiveSingleIteration(MQTTContext_t* pContext, /* Discard the packet from the receive buffer and drain the pending * data from the socket buffer. */ status = discardStoredPacket(pContext, - &incomingPacket); + &incomingPacket); } /* If the total packet is of more length than the bytes we have available. */ else if (totalMQTTPacketLength > pContext->index) @@ -1923,8 +1917,8 @@ static MQTTStatus_t receiveSingleIteration(MQTTContext_t* pContext, /* Move the remaining bytes to the front of the buffer. */ (void)memmove(pContext->networkBuffer.pBuffer, - &(pContext->networkBuffer.pBuffer[totalMQTTPacketLength]), - pContext->index); + &(pContext->networkBuffer.pBuffer[totalMQTTPacketLength]), + pContext->index); if (status == MQTTSuccess) { @@ -1944,10 +1938,10 @@ static MQTTStatus_t receiveSingleIteration(MQTTContext_t* pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t validateSubscribeUnsubscribeParams(const MQTTContext_t* pContext, - const MQTTSubscribeInfo_t* pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId) +static MQTTStatus_t validateSubscribeUnsubscribeParams(const MQTTContext_t *pContext, + const MQTTSubscribeInfo_t *pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId) { MQTTStatus_t status = MQTTSuccess; size_t iterator; @@ -1956,9 +1950,9 @@ static MQTTStatus_t validateSubscribeUnsubscribeParams(const MQTTContext_t* pCon if ((pContext == NULL) || (pSubscriptionList == NULL)) { LogError(("Argument cannot be NULL: pContext=%p, " - "pSubscriptionList=%p.", - (void*)pContext, - (void*)pSubscriptionList)); + "pSubscriptionList=%p.", + (void *)pContext, + (void *)pSubscriptionList)); status = MQTTBadParameter; } else if (subscriptionCount == 0UL) @@ -1980,9 +1974,9 @@ static MQTTStatus_t validateSubscribeUnsubscribeParams(const MQTTContext_t* pCon if (pSubscriptionList->qos > MQTTQoS0) { LogError(("The incoming publish record list is not " - "initialised for QoS1/QoS2 records. Please call " - " MQTT_InitStatefulQoS to enable use of QoS1 and " - " QoS2 packets.")); + "initialised for QoS1/QoS2 records. Please call " + " MQTT_InitStatefulQoS to enable use of QoS1 and " + " QoS2 packets.")); status = MQTTBadParameter; break; } @@ -1997,16 +1991,16 @@ static MQTTStatus_t validateSubscribeUnsubscribeParams(const MQTTContext_t* pCon /*-----------------------------------------------------------*/ -static MQTTStatus_t sendSubscribeWithoutCopy(MQTTContext_t* pContext, - const MQTTSubscribeInfo_t* pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength) +static MQTTStatus_t sendSubscribeWithoutCopy(MQTTContext_t *pContext, + const MQTTSubscribeInfo_t *pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength) { MQTTStatus_t status = MQTTSuccess; - uint8_t* pIndex; + uint8_t *pIndex; TransportOutVector_t pIoVector[MQTT_SUB_UNSUB_MAX_VECTORS]; - TransportOutVector_t* pIterator; + TransportOutVector_t *pIterator; uint8_t serializedTopicFieldLength[MQTT_SUB_UNSUB_MAX_VECTORS][CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES]; size_t totalPacketLength = 0U; size_t ioVectorLength = 0U; @@ -2029,8 +2023,8 @@ static MQTTStatus_t sendSubscribeWithoutCopy(MQTTContext_t* pContext, pIterator = pIoVector; pIndex = MQTT_SerializeSubscribeHeader(remainingLength, - pIndex, - packetId); + pIndex, + packetId); /* The header is to be sent first. */ pIterator->iov_base = subscribeheader; @@ -2051,14 +2045,14 @@ static MQTTStatus_t sendSubscribeWithoutCopy(MQTTContext_t* pContext, /* Check whether the subscription topic (with QoS) will fit in the * given vector. */ while ((ioVectorLength <= (MQTT_SUB_UNSUB_MAX_VECTORS - CORE_MQTT_SUBSCRIBE_PER_TOPIC_VECTOR_LENGTH)) && - (subscriptionsSent < subscriptionCount)) + (subscriptionsSent < subscriptionCount)) { /* The topic filter and the filter length gets sent next. */ vectorsAdded = addEncodedStringToVector(serializedTopicFieldLength[topicFieldLengthIndex], - pSubscriptionList[subscriptionsSent].pTopicFilter, - pSubscriptionList[subscriptionsSent].topicFilterLength, - pIterator, - &totalPacketLength); + pSubscriptionList[subscriptionsSent].pTopicFilter, + pSubscriptionList[subscriptionsSent].topicFilterLength, + pIterator, + &totalPacketLength); /* Update the pointer after the above operation. */ pIterator = &pIterator[vectorsAdded]; @@ -2082,8 +2076,8 @@ static MQTTStatus_t sendSubscribeWithoutCopy(MQTTContext_t* pContext, } if (sendMessageVector(pContext, - pIoVector, - ioVectorLength) != (int32_t)totalPacketLength) + pIoVector, + ioVectorLength) != (int32_t)totalPacketLength) { status = MQTTSendFailed; } @@ -2101,16 +2095,16 @@ static MQTTStatus_t sendSubscribeWithoutCopy(MQTTContext_t* pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t sendUnsubscribeWithoutCopy(MQTTContext_t* pContext, - const MQTTSubscribeInfo_t* pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength) +static MQTTStatus_t sendUnsubscribeWithoutCopy(MQTTContext_t *pContext, + const MQTTSubscribeInfo_t *pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength) { MQTTStatus_t status = MQTTSuccess; - uint8_t* pIndex; + uint8_t *pIndex; TransportOutVector_t pIoVector[MQTT_SUB_UNSUB_MAX_VECTORS]; - TransportOutVector_t* pIterator; + TransportOutVector_t *pIterator; uint8_t serializedTopicFieldLength[MQTT_SUB_UNSUB_MAX_VECTORS][CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES]; size_t totalPacketLength = 0U; size_t unsubscriptionsSent = 0U; @@ -2133,8 +2127,8 @@ static MQTTStatus_t sendUnsubscribeWithoutCopy(MQTTContext_t* pContext, pIterator = pIoVector; pIndex = MQTT_SerializeUnsubscribeHeader(remainingLength, - pIndex, - packetId); + pIndex, + packetId); /* The header is to be sent first. */ pIterator->iov_base = unsubscribeheader; @@ -2154,14 +2148,14 @@ static MQTTStatus_t sendUnsubscribeWithoutCopy(MQTTContext_t* pContext, /* Check whether the subscription topic will fit in the given vector. */ while ((ioVectorLength <= (MQTT_SUB_UNSUB_MAX_VECTORS - CORE_MQTT_UNSUBSCRIBE_PER_TOPIC_VECTOR_LENGTH)) && - (unsubscriptionsSent < subscriptionCount)) + (unsubscriptionsSent < subscriptionCount)) { /* The topic filter gets sent next. */ vectorsAdded = addEncodedStringToVector(serializedTopicFieldLength[topicFieldLengthIndex], - pSubscriptionList[unsubscriptionsSent].pTopicFilter, - pSubscriptionList[unsubscriptionsSent].topicFilterLength, - pIterator, - &totalPacketLength); + pSubscriptionList[unsubscriptionsSent].pTopicFilter, + pSubscriptionList[unsubscriptionsSent].topicFilterLength, + pIterator, + &totalPacketLength); /* Update the iterator to point to the next empty location. */ pIterator = &pIterator[vectorsAdded]; @@ -2192,11 +2186,11 @@ static MQTTStatus_t sendUnsubscribeWithoutCopy(MQTTContext_t* pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t sendPublishWithoutCopy(MQTTContext_t* pContext, - const MQTTPublishInfo_t* pPublishInfo, - const uint8_t* pMqttHeader, - size_t headerSize, - uint16_t packetId) +static MQTTStatus_t sendPublishWithoutCopy(MQTTContext_t *pContext, + const MQTTPublishInfo_t *pPublishInfo, + const uint8_t *pMqttHeader, + size_t headerSize, + uint16_t packetId) { MQTTStatus_t status = MQTTSuccess; size_t ioVectorLength; @@ -2261,18 +2255,31 @@ static MQTTStatus_t sendPublishWithoutCopy(MQTTContext_t* pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t* pContext, - const MQTTConnectInfo_t* pConnectInfo, - const MQTTPublishInfo_t* pWillInfo, - size_t remainingLength) +static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, + const MQTTConnectInfo_t *pConnectInfo, + const MQTTPublishInfo_t *pWillInfo, + size_t remainingLength) { MQTTStatus_t status = MQTTSuccess; - TransportOutVector_t* iterator; + TransportOutVector_t *iterator; size_t ioVectorLength = 0U; size_t totalMessageLength = 0U; int32_t bytesSentOrError; - uint8_t* pIndex; + uint8_t *pIndex; + uint8_t serializedUserKeyLength[2]; + uint8_t userId=MQTT_USER_PROPERTY_ID; + uint8_t serializedUserValueLength[2]; + uint8_t serializedAuthMethodLength[2]; + uint8_t authMethodId=MQTT_AUTH_METHOD_ID; + uint8_t serializedAuthDataLength[2]; + uint8_t authDataId=MQTT_AUTH_DATA_ID; uint8_t serializedClientIDLength[2]; + uint8_t serializedContentTypeLength[2]; + uint8_t contentTypeId=MQTT_CONTENT_TYPE_ID; + uint8_t serializedResponseTopicLength[2]; + uint8_t responseTopicId=MQTT_RESPONSE_TOPIC_ID; + uint8_t serailizedCorrelationLength[2]; + uint8_t correlationDataId=MQTT_CORRELATION_DATA_ID; uint8_t serializedTopicLength[2]; uint8_t serializedPayloadLength[2]; uint8_t serializedUsernameLength[2]; @@ -2293,18 +2300,21 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t* pContext, #else /*Properties - * Properties length- max- 4 - *Session Expiry - 5 - * receive Maximum - 3 - * Max packet Size 5 - * Topic Alias Maximum - 3 - * Request response Information- 2 - * Request problem Information-2 - * User property- MAX USER PROPERTY- separate vector - * Authentication Data- UTF-8 so separate vector for method and data. - * Total- 24 - */ + * Properties length- max- 4 + *Session Expiry - 5 + * receive Maximum - 3 + * Max packet Size 5 + * Topic Alias Maximum - 3 + * Request response Information- 2 + * Request problem Information-2 + * User property- MAX USER PROPERTY- separate vector + * Authentication Data- UTF-8 so separate vector for method and data. + * Total- 24 + */ + uint8_t connectPacketHeader[39U]; + uint8_t fixedSizeProperties[20U]; + #endif /* The maximum vectors required to encode and send a connect packet. The @@ -2315,10 +2325,10 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t* pContext, * Will payload + 2 = 7 * Username + 2 = 9 * Password + 2 = 11 */ -#if (MQTT_VERSION_5_ENABLED==0) +#if (MQTT_VERSION_5_ENABLED == 0) TransportOutVector_t pIoVector[11U]; #else - /* + /* * * User Property- 5* Max userProperty * Authentication- 6 @@ -2340,9 +2350,9 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t* pContext, else { pIndex = MQTT_SerializeConnectFixedHeader(pIndex, - pConnectInfo, - pWillInfo, - remainingLength); + pConnectInfo, + pWillInfo, + remainingLength); #if (MQTT_VERSION_5_ENABLED) @@ -2364,57 +2374,59 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t* pContext, #if (MQTT_VERSION_5_ENABLED) // User Properties - uint8_t serializedAuthMethodLength[2]; - uint8_t serializedAuthDataLength[2]; - MQTTAuthInfo_t* pAuthInfo = pContext->connectProperties->outgoingUserProperty; - if (pAuthInfo != NULL) - { - /* Serialize the authentication method string. */ - vectorsAdded = addEncodedStringToVectorWithId(serializedAuthMethodLength, - pAuthInfo->authMethod, - pAuthInfo->authMethodLength, - iterator, - &totalMessageLength, MQTT_AUTH_METHOD_ID); + if (pContext->connectProperties->outgoingUserPropSize != 0) + { + + uint16_t i = 0; + uint16_t size = pContext->connectProperties->outgoingUserPropSize; + MQTTUserProperty_t *userProperty = pContext->connectProperties->outgoingUserProperty; + for (; i < size; i++) + { + vectorsAdded = addEncodedStringToVectorWithId(serializedUserKeyLength, + userProperty[i].key, + userProperty[i].keyLength, + iterator, + &totalMessageLength,&userId); + iterator = &iterator[vectorsAdded]; + ioVectorLength += vectorsAdded; - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; - ioVectorLength += vectorsAdded; - if (pAuthInfo->authDataLength != 0U) { - vectorsAdded = addEncodedStringToVectorWithId(serializedAuthDataLength, - pAuthInfo->authData, - pAuthInfo->authDataLength, - iterator, - &totalMessageLength, MQTT_AUTH_DATA_ID); + vectorsAdded = addEncodedStringToVector(serializedUserValueLength, + userProperty[i].value, + userProperty[i].valueLength, + iterator, + &totalMessageLength); + iterator = &iterator[vectorsAdded]; + ioVectorLength += vectorsAdded; + } + + + MQTTAuthInfo_t *pAuthInfo = pContext->connectProperties->outgoingAuth; + if (pAuthInfo != NULL) + { + /* Serialize the authentication method string. */ + vectorsAdded = addEncodedStringToVectorWithId(serializedAuthMethodLength, + pAuthInfo->authMethod, + pAuthInfo->authMethodLength, + iterator, + &totalMessageLength, &authMethodId); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; + if (pAuthInfo->authDataLength != 0U) + { + vectorsAdded = addEncodedStringToVectorWithId(serializedAuthDataLength, + pAuthInfo->authData, + pAuthInfo->authDataLength, + iterator, + &totalMessageLength, &authDataId); + + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[vectorsAdded]; + ioVectorLength += vectorsAdded; + } } - } - if (pContext->connectProperties->outgoingUserPropSize != 0) { - uint8_t serializedUserKeyLength[2]; - uint8_t serializedUserValueLength[2]; - uint16_t i = 0; - uint16_t size= pContext->connectProperties->outgoingUserPropSize; - MQTTUserProperty_t* userProperty= pContext->connectProperties->outgoingAuth; - for (; i < size; i++) { - vectorsAdded = addEncodedStringToVectorWithId(serializedUserKeyLength, - userProperty[i].key, - userProperty[i].keyLength, - iterator, - &totalMessageLength, MQTT_USER_PROPERTY_ID); - iterator = &iterator[vectorsAdded]; - ioVectorLength += vectorsAdded; - - vectorsAdded = addEncodedStringToVector(serializedUserValueLength, - userProperty[i].value, - userProperty[i].valueLength, - iterator, - &totalMessageLength); - iterator = &iterator[vectorsAdded]; - ioVectorLength += vectorsAdded; - } // ioVectorLength += MQTT_SerializeUserProperty(pContext->connectProperties->outgoingUserProperty, pContext->connectProperties->outgoingUserPropSize, iterator, &totalMessageLength); } @@ -2422,10 +2434,10 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t* pContext, /* Serialize the client ID. */ vectorsAdded = addEncodedStringToVector(serializedClientIDLength, - pConnectInfo->pClientIdentifier, - pConnectInfo->clientIdentifierLength, - iterator, - &totalMessageLength); + pConnectInfo->pClientIdentifier, + pConnectInfo->clientIdentifierLength, + iterator, + &totalMessageLength); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; @@ -2434,12 +2446,9 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t* pContext, if (pWillInfo != NULL) { #if (MQTT_VERSION_5_ENABLED) - //Add the will properties - uint8_t serializedContentTypeLength[2]; - uint8_t serializedResponseTopicLength[2]; - uint8_t serailizedCorrelationLength[2]; - // 4 byte + 4 byte delay + 2 byte payload format + 6 byte - uint8_t fixedSizeProperties[20U]; + // Add the will properties + + // 4 byte + 4 byte delay + 2 byte payload format + 6 byte pIndex = fixedSizeProperties; pIndex = MQTT_SerializePublishProperties(pWillInfo, pIndex, pContext->connectProperties->willDelay); iterator->iov_base = fixedSizeProperties; @@ -2451,58 +2460,58 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t* pContext, if (pWillInfo->contentTypeLength != 0U) { vectorsAdded = addEncodedStringToVectorWithId(serializedContentTypeLength, - pWillInfo->contentType, - pWillInfo->contentTypeLength, - iterator, - &totalMessageLength, MQTT_CONTENT_TYPE_ID); + pWillInfo->contentType, + pWillInfo->contentTypeLength, + iterator, + &totalMessageLength, &contentTypeId); iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; } if (pWillInfo->responseTopicLength != 0U) { vectorsAdded = addEncodedStringToVectorWithId(serializedResponseTopicLength, - pWillInfo->responseTopic, - pWillInfo->responseTopicLength, - iterator, - &totalMessageLength, MQTT_RESPONSE_TOPIC_ID); + pWillInfo->responseTopic, + pWillInfo->responseTopicLength, + iterator, + &totalMessageLength, &responseTopicId); iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; } if (pWillInfo->correlationLength != 0U) { vectorsAdded = addEncodedStringToVectorWithId(serailizedCorrelationLength, - pWillInfo->correlationData, - pWillInfo->correlationLength, - iterator, - &totalMessageLength, MQTT_CORRELATION_DATA_ID); + pWillInfo->correlationData, + pWillInfo->correlationLength, + iterator, + &totalMessageLength, &correlationDataId); iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; } - if (pWillInfo->userPropertySize != 0) { + if (pWillInfo->userPropertySize != 0) + { ioVectorLength += MQTT_SerializeUserProperty(pWillInfo->userProperty, pWillInfo->userPropertySize, iterator, totalMessageLength); } // vectorsAdded= MQTT_SerializePublishProperties(pWillInfo,iterator,&totalMessageLength,pContext->connectProperties->willDelay); #endif -/* Serialize the topic. */ + /* Serialize the topic. */ vectorsAdded = addEncodedStringToVector(serializedTopicLength, - pWillInfo->pTopicName, - pWillInfo->topicNameLength, - iterator, - &totalMessageLength); + pWillInfo->pTopicName, + pWillInfo->topicNameLength, + iterator, + &totalMessageLength); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; - /* Serialize the payload. Payload of last will and testament can be NULL. */ vectorsAdded = addEncodedStringToVector(serializedPayloadLength, - pWillInfo->pPayload, - (uint16_t)pWillInfo->payloadLength, - iterator, - &totalMessageLength); + pWillInfo->pPayload, + (uint16_t)pWillInfo->payloadLength, + iterator, + &totalMessageLength); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; @@ -2514,10 +2523,10 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t* pContext, { /* Serialize the user name string. */ vectorsAdded = addEncodedStringToVector(serializedUsernameLength, - pConnectInfo->pUserName, - pConnectInfo->userNameLength, - iterator, - &totalMessageLength); + pConnectInfo->pUserName, + pConnectInfo->userNameLength, + iterator, + &totalMessageLength); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; @@ -2529,10 +2538,10 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t* pContext, { /* Serialize the user name string. */ vectorsAdded = addEncodedStringToVector(serializedPasswordLength, - pConnectInfo->pPassword, - pConnectInfo->passwordLength, - iterator, - &totalMessageLength); + pConnectInfo->pPassword, + pConnectInfo->passwordLength, + iterator, + &totalMessageLength); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; @@ -2551,11 +2560,11 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t* pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t receiveConnack(const MQTTContext_t* pContext, - uint32_t timeoutMs, - bool cleanSession, - MQTTPacketInfo_t* pIncomingPacket, - bool* pSessionPresent) +static MQTTStatus_t receiveConnack(const MQTTContext_t *pContext, + uint32_t timeoutMs, + bool cleanSession, + MQTTPacketInfo_t *pIncomingPacket, + bool *pSessionPresent) { MQTTStatus_t status = MQTTSuccess; MQTTGetCurrentTimeFunc_t getTimeStamp = NULL; @@ -2579,8 +2588,8 @@ static MQTTStatus_t receiveConnack(const MQTTContext_t* pContext, * returned after a transport receive timeout, an error, or a successful * receive of packet type and length. */ status = MQTT_GetIncomingPacketTypeAndLength(pContext->transportInterface.recv, - pContext->transportInterface.pNetworkContext, - pIncomingPacket); + pContext->transportInterface.pNetworkContext, + pIncomingPacket); /* The loop times out based on 2 conditions. * 1. If timeoutMs is greater than 0: @@ -2626,15 +2635,15 @@ static MQTTStatus_t receiveConnack(const MQTTContext_t* pContext, if (pIncomingPacket->type == MQTT_PACKET_TYPE_CONNACK) { status = receivePacket(pContext, - *pIncomingPacket, - remainingTimeMs); + *pIncomingPacket, + remainingTimeMs); } else { LogError(("Incorrect packet type %X received while expecting" - " CONNACK(%X).", - (unsigned int)pIncomingPacket->type, - MQTT_PACKET_TYPE_CONNACK)); + " CONNACK(%X).", + (unsigned int)pIncomingPacket->type, + MQTT_PACKET_TYPE_CONNACK)); status = MQTTBadResponse; } } @@ -2645,11 +2654,11 @@ static MQTTStatus_t receiveConnack(const MQTTContext_t* pContext, pIncomingPacket->pRemainingData = pContext->networkBuffer.pBuffer; /* Deserialize CONNACK. */ -#if (MQTT_VERSION_5_ENABLED==0) +#if (MQTT_VERSION_5_ENABLED == 0) status = MQTT_DeserializeAck(pIncomingPacket, NULL, pSessionPresent); #else - status = MQTTV5_DeserializeConnack( pContext->connectProperties,pIncomingPacket, pSessionPresent); -#endif + status = MQTTV5_DeserializeConnack(pContext->connectProperties, pIncomingPacket, pSessionPresent); +#endif } /* If a clean session is requested, a session present should not be set by @@ -2659,7 +2668,7 @@ static MQTTStatus_t receiveConnack(const MQTTContext_t* pContext, if ((cleanSession == true) && (*pSessionPresent == true)) { LogError(("Unexpected session present flag in CONNACK response from broker." - " CONNECT request with clean session was made with broker.")); + " CONNECT request with clean session was made with broker.")); status = MQTTBadResponse; } } @@ -2671,7 +2680,7 @@ static MQTTStatus_t receiveConnack(const MQTTContext_t* pContext, else { LogError(("CONNACK recv failed with status = %s.", - MQTT_Status_strerror(status))); + MQTT_Status_strerror(status))); } return status; @@ -2679,8 +2688,8 @@ static MQTTStatus_t receiveConnack(const MQTTContext_t* pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t handleSessionResumption(MQTTContext_t* pContext, - bool sessionPresent) +static MQTTStatus_t handleSessionResumption(MQTTContext_t *pContext, + bool sessionPresent) { MQTTStatus_t status = MQTTSuccess; MQTTStateCursor_t cursor = MQTT_STATE_CURSOR_INITIALIZER; @@ -2700,7 +2709,7 @@ static MQTTStatus_t handleSessionResumption(MQTTContext_t* pContext, /* Resend all the PUBREL acks after session is reestablished. */ while ((packetId != MQTT_PACKET_ID_INVALID) && - (status == MQTTSuccess)) + (status == MQTTSuccess)) { status = sendPublishAcks(pContext, packetId, state); @@ -2713,24 +2722,24 @@ static MQTTStatus_t handleSessionResumption(MQTTContext_t* pContext, if (pContext->outgoingPublishRecordMaxCount > 0U) { (void)memset(pContext->outgoingPublishRecords, - 0x00, - pContext->outgoingPublishRecordMaxCount * sizeof(*pContext->outgoingPublishRecords)); + 0x00, + pContext->outgoingPublishRecordMaxCount * sizeof(*pContext->outgoingPublishRecords)); } if (pContext->incomingPublishRecordMaxCount > 0U) { (void)memset(pContext->incomingPublishRecords, - 0x00, - pContext->incomingPublishRecordMaxCount * sizeof(*pContext->incomingPublishRecords)); + 0x00, + pContext->incomingPublishRecordMaxCount * sizeof(*pContext->incomingPublishRecords)); } } return status; } -static MQTTStatus_t validatePublishParams(const MQTTContext_t* pContext, - const MQTTPublishInfo_t* pPublishInfo, - uint16_t packetId) +static MQTTStatus_t validatePublishParams(const MQTTContext_t *pContext, + const MQTTPublishInfo_t *pPublishInfo, + uint16_t packetId) { MQTTStatus_t status = MQTTSuccess; @@ -2738,30 +2747,30 @@ static MQTTStatus_t validatePublishParams(const MQTTContext_t* pContext, if ((pContext == NULL) || (pPublishInfo == NULL)) { LogError(("Argument cannot be NULL: pContext=%p, " - "pPublishInfo=%p.", - (void*)pContext, - (void*)pPublishInfo)); + "pPublishInfo=%p.", + (void *)pContext, + (void *)pPublishInfo)); status = MQTTBadParameter; } else if ((pPublishInfo->qos != MQTTQoS0) && (packetId == 0U)) { LogError(("Packet Id is 0 for PUBLISH with QoS=%u.", - (unsigned int)pPublishInfo->qos)); + (unsigned int)pPublishInfo->qos)); status = MQTTBadParameter; } else if ((pPublishInfo->payloadLength > 0U) && (pPublishInfo->pPayload == NULL)) { LogError(("A nonzero payload length requires a non-NULL payload: " - "payloadLength=%lu, pPayload=%p.", - (unsigned long)pPublishInfo->payloadLength, - pPublishInfo->pPayload)); + "payloadLength=%lu, pPayload=%p.", + (unsigned long)pPublishInfo->payloadLength, + pPublishInfo->pPayload)); status = MQTTBadParameter; } else if ((pContext->outgoingPublishRecords == NULL) && (pPublishInfo->qos > MQTTQoS0)) { LogError(("Trying to publish a QoS > MQTTQoS0 packet when outgoing publishes " - "for QoS1/QoS2 have not been enabled. Please, call MQTT_InitStatefulQoS " - "to initialize and enable the use of QoS1/QoS2 publishes.")); + "for QoS1/QoS2 have not been enabled. Please, call MQTT_InitStatefulQoS " + "to initialize and enable the use of QoS1/QoS2 publishes.")); status = MQTTBadParameter; } else @@ -2774,11 +2783,11 @@ static MQTTStatus_t validatePublishParams(const MQTTContext_t* pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_Init(MQTTContext_t* pContext, - const TransportInterface_t* pTransportInterface, - MQTTGetCurrentTimeFunc_t getTimeFunction, - MQTTEventCallback_t userCallback, - const MQTTFixedBuffer_t* pNetworkBuffer) +MQTTStatus_t MQTT_Init(MQTTContext_t *pContext, + const TransportInterface_t *pTransportInterface, + MQTTGetCurrentTimeFunc_t getTimeFunction, + MQTTEventCallback_t userCallback, + const MQTTFixedBuffer_t *pNetworkBuffer) { MQTTStatus_t status = MQTTSuccess; @@ -2787,11 +2796,11 @@ MQTTStatus_t MQTT_Init(MQTTContext_t* pContext, (pNetworkBuffer == NULL)) { LogError(("Argument cannot be NULL: pContext=%p, " - "pTransportInterface=%p, " - "pNetworkBuffer=%p", - (void*)pContext, - (void*)pTransportInterface, - (void*)pNetworkBuffer)); + "pTransportInterface=%p, " + "pNetworkBuffer=%p", + (void *)pContext, + (void *)pTransportInterface, + (void *)pNetworkBuffer)); status = MQTTBadParameter; } else if (getTimeFunction == NULL) @@ -2833,48 +2842,48 @@ MQTTStatus_t MQTT_Init(MQTTContext_t* pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_InitStatefulQoS(MQTTContext_t* pContext, - MQTTPubAckInfo_t* pOutgoingPublishRecords, - size_t outgoingPublishCount, - MQTTPubAckInfo_t* pIncomingPublishRecords, - size_t incomingPublishCount) +MQTTStatus_t MQTT_InitStatefulQoS(MQTTContext_t *pContext, + MQTTPubAckInfo_t *pOutgoingPublishRecords, + size_t outgoingPublishCount, + MQTTPubAckInfo_t *pIncomingPublishRecords, + size_t incomingPublishCount) { MQTTStatus_t status = MQTTSuccess; if (pContext == NULL) { LogError(("Argument cannot be NULL: pContext=%p\n", - (void*)pContext)); + (void *)pContext)); status = MQTTBadParameter; } /* Check whether the arguments make sense. Not equal here behaves * like an exclusive-or operator for boolean values. */ else if ((outgoingPublishCount == 0U) != - (pOutgoingPublishRecords == NULL)) + (pOutgoingPublishRecords == NULL)) { LogError(("Arguments do not match: pOutgoingPublishRecords=%p, " - "outgoingPublishCount=%lu", - (void*)pOutgoingPublishRecords, - (unsigned long)outgoingPublishCount)); + "outgoingPublishCount=%lu", + (void *)pOutgoingPublishRecords, + (unsigned long)outgoingPublishCount)); status = MQTTBadParameter; } /* Check whether the arguments make sense. Not equal here behaves * like an exclusive-or operator for boolean values. */ else if ((incomingPublishCount == 0U) != - (pIncomingPublishRecords == NULL)) + (pIncomingPublishRecords == NULL)) { LogError(("Arguments do not match: pIncomingPublishRecords=%p, " - "incomingPublishCount=%lu", - (void*)pIncomingPublishRecords, - (unsigned long)incomingPublishCount)); + "incomingPublishCount=%lu", + (void *)pIncomingPublishRecords, + (unsigned long)incomingPublishCount)); status = MQTTBadParameter; } else if (pContext->appCallback == NULL) { LogError(("MQTT_InitStatefulQoS must be called only after MQTT_Init has" - " been called successfully.\n")); + " been called successfully.\n")); status = MQTTBadParameter; } else @@ -2890,8 +2899,8 @@ MQTTStatus_t MQTT_InitStatefulQoS(MQTTContext_t* pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_CancelCallback(const MQTTContext_t* pContext, - uint16_t packetId) +MQTTStatus_t MQTT_CancelCallback(const MQTTContext_t *pContext, + uint16_t packetId) { MQTTStatus_t status = MQTTSuccess; @@ -2903,8 +2912,8 @@ MQTTStatus_t MQTT_CancelCallback(const MQTTContext_t* pContext, else if (pContext->outgoingPublishRecords == NULL) { LogError(("QoS1/QoS2 is not initialized for use. Please, " - "call MQTT_InitStatefulQoS to enable QoS1 and QoS2 " - "publishes.\n")); + "call MQTT_InitStatefulQoS to enable QoS1 and QoS2 " + "publishes.\n")); status = MQTTBadParameter; } else @@ -2912,7 +2921,7 @@ MQTTStatus_t MQTT_CancelCallback(const MQTTContext_t* pContext, MQTT_PRE_STATE_UPDATE_HOOK(pContext); status = MQTT_RemoveStateRecord(pContext, - packetId); + packetId); MQTT_POST_STATE_UPDATE_HOOK(pContext); } @@ -2922,30 +2931,31 @@ MQTTStatus_t MQTT_CancelCallback(const MQTTContext_t* pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_Connect(MQTTContext_t* pContext, - const MQTTConnectInfo_t* pConnectInfo, - const MQTTPublishInfo_t* pWillInfo, - uint32_t timeoutMs, - bool* pSessionPresent) +MQTTStatus_t MQTT_Connect(MQTTContext_t *pContext, + const MQTTConnectInfo_t *pConnectInfo, + const MQTTPublishInfo_t *pWillInfo, + uint32_t timeoutMs, + bool *pSessionPresent) { size_t remainingLength = 0UL, packetSize = 0UL; MQTTStatus_t status = MQTTSuccess; - MQTTPacketInfo_t incomingPacket = { 0 }; + MQTTPacketInfo_t incomingPacket = {0}; incomingPacket.type = (uint8_t)0; if ((pContext == NULL) || (pConnectInfo == NULL) || (pSessionPresent == NULL)) { LogError(("Argument cannot be NULL: pContext=%p, " - "pConnectInfo=%p, pSessionPresent=%p.", - (void*)pContext, - (void*)pConnectInfo, - (void*)pSessionPresent)); + "pConnectInfo=%p, pSessionPresent=%p.", + (void *)pContext, + (void *)pConnectInfo, + (void *)pSessionPresent)); status = MQTTBadParameter; } #if (MQTT_VERSION_5_ENABLED) - if (status == MQTTSuccess) { + if (status == MQTTSuccess) + { if (pContext->connectProperties == NULL) { // LogError( ( "Argument cannot be NULL: connectProperties=%p,", @@ -2953,14 +2963,15 @@ MQTTStatus_t MQTT_Connect(MQTTContext_t* pContext, // )); status = MQTTBadParameter; } - else if (pContext->connectProperties->outgoingAuth != NULL && pContext->connectProperties->incomingAuth == NULL) { + else if (pContext->connectProperties->outgoingAuth != NULL && pContext->connectProperties->incomingAuth == NULL) + { // LogError( ( "Argument cannot be NULL: incomingAuth=%p, ", // ( void * ) pContext->connectProperties->incomingAuth, // )); status = MQTTBadParameter; } - else { - + else + { } } if (status == MQTTSuccess) @@ -2968,7 +2979,8 @@ MQTTStatus_t MQTT_Connect(MQTTContext_t* pContext, status = MQTT_GetConnectPropertiesSize(pContext->connectProperties, &packetSize); remainingLength += pContext->connectProperties->propertyLength; remainingLength += remainingLengthEncodedSize(pContext->connectProperties->propertyLength); - if (status == MQTTSuccess && pWillInfo != NULL) { + if (status == MQTTSuccess && pWillInfo != NULL) + { status = MQTT_GetWillPropertiesSize(pWillInfo, pContext->connectProperties->willDelay); remainingLength += pWillInfo->propertyLength; remainingLength += remainingLengthEncodedSize(pWillInfo->propertyLength); @@ -2979,12 +2991,12 @@ MQTTStatus_t MQTT_Connect(MQTTContext_t* pContext, { /* Get MQTT connect packet size and remaining length. */ status = MQTT_GetConnectPacketSize(pConnectInfo, - pWillInfo, - &remainingLength, - &packetSize); + pWillInfo, + &remainingLength, + &packetSize); LogDebug(("CONNECT packet size is %lu and remaining length is %lu.", - (unsigned long)packetSize, - (unsigned long)remainingLength)); + (unsigned long)packetSize, + (unsigned long)remainingLength)); } if (status == MQTTSuccess) @@ -2992,9 +3004,9 @@ MQTTStatus_t MQTT_Connect(MQTTContext_t* pContext, MQTT_PRE_SEND_HOOK(pContext); status = sendConnectWithoutCopy(pContext, - pConnectInfo, - pWillInfo, - remainingLength); + pConnectInfo, + pWillInfo, + remainingLength); MQTT_POST_SEND_HOOK(pContext); } @@ -3003,10 +3015,10 @@ MQTTStatus_t MQTT_Connect(MQTTContext_t* pContext, if (status == MQTTSuccess) { status = receiveConnack(pContext, - timeoutMs, - pConnectInfo->cleanSession, - &incomingPacket, - pSessionPresent); + timeoutMs, + pConnectInfo->cleanSession, + &incomingPacket, + pSessionPresent); } if (status == MQTTSuccess) @@ -3027,7 +3039,7 @@ MQTTStatus_t MQTT_Connect(MQTTContext_t* pContext, else { LogError(("MQTT connection failed with status = %s.", - MQTT_Status_strerror(status))); + MQTT_Status_strerror(status))); } return status; @@ -3035,29 +3047,29 @@ MQTTStatus_t MQTT_Connect(MQTTContext_t* pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_Subscribe(MQTTContext_t* pContext, - const MQTTSubscribeInfo_t* pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId) +MQTTStatus_t MQTT_Subscribe(MQTTContext_t *pContext, + const MQTTSubscribeInfo_t *pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId) { size_t remainingLength = 0UL, packetSize = 0UL; /* Validate arguments. */ MQTTStatus_t status = validateSubscribeUnsubscribeParams(pContext, - pSubscriptionList, - subscriptionCount, - packetId); + pSubscriptionList, + subscriptionCount, + packetId); if (status == MQTTSuccess) { /* Get the remaining length and packet size.*/ status = MQTT_GetSubscribePacketSize(pSubscriptionList, - subscriptionCount, - &remainingLength, - &packetSize); + subscriptionCount, + &remainingLength, + &packetSize); LogDebug(("SUBSCRIBE packet size is %lu and remaining length is %lu.", - (unsigned long)packetSize, - (unsigned long)remainingLength)); + (unsigned long)packetSize, + (unsigned long)remainingLength)); } if (status == MQTTSuccess) @@ -3066,10 +3078,10 @@ MQTTStatus_t MQTT_Subscribe(MQTTContext_t* pContext, /* Send MQTT SUBSCRIBE packet. */ status = sendSubscribeWithoutCopy(pContext, - pSubscriptionList, - subscriptionCount, - packetId, - remainingLength); + pSubscriptionList, + subscriptionCount, + packetId, + remainingLength); MQTT_POST_SEND_HOOK(pContext); } @@ -3079,9 +3091,9 @@ MQTTStatus_t MQTT_Subscribe(MQTTContext_t* pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_Publish(MQTTContext_t* pContext, - const MQTTPublishInfo_t* pPublishInfo, - uint16_t packetId) +MQTTStatus_t MQTT_Publish(MQTTContext_t *pContext, + const MQTTPublishInfo_t *pPublishInfo, + uint16_t packetId) { size_t headerSize = 0UL; size_t remainingLength = 0UL; @@ -3109,16 +3121,16 @@ MQTTStatus_t MQTT_Publish(MQTTContext_t* pContext, { /* Get the remaining length and packet size.*/ status = MQTT_GetPublishPacketSize(pPublishInfo, - &remainingLength, - &packetSize); + &remainingLength, + &packetSize); } if (status == MQTTSuccess) { status = MQTT_SerializePublishHeaderWithoutTopic(pPublishInfo, - remainingLength, - mqttHeader, - &headerSize); + remainingLength, + mqttHeader, + &headerSize); } if ((status == MQTTSuccess) && (pPublishInfo->qos > MQTTQoS0)) @@ -3129,8 +3141,8 @@ MQTTStatus_t MQTT_Publish(MQTTContext_t* pContext, stateUpdateHookExecuted = true; status = MQTT_ReserveState(pContext, - packetId, - pPublishInfo->qos); + packetId, + pPublishInfo->qos); /* State already exists for a duplicate packet. * If a state doesn't exist, it will be handled as a new publish in @@ -3148,10 +3160,10 @@ MQTTStatus_t MQTT_Publish(MQTTContext_t* pContext, MQTT_PRE_SEND_HOOK(pContext); status = sendPublishWithoutCopy(pContext, - pPublishInfo, - mqttHeader, - headerSize, - packetId); + pPublishInfo, + mqttHeader, + headerSize, + packetId); /* Give the mutex away for the next taker. */ MQTT_POST_SEND_HOOK(pContext); @@ -3163,18 +3175,18 @@ MQTTStatus_t MQTT_Publish(MQTTContext_t* pContext, /* Update state machine after PUBLISH is sent. * Only to be done for QoS1 or QoS2. */ status = MQTT_UpdateStatePublish(pContext, - packetId, - MQTT_SEND, - pPublishInfo->qos, - &publishStatus); + packetId, + MQTT_SEND, + pPublishInfo->qos, + &publishStatus); if (status != MQTTSuccess) { LogError(("Update state for publish failed with status %s." - " However PUBLISH packet was sent to the broker." - " Any further handling of ACKs for the packet Id" - " will fail.", - MQTT_Status_strerror(status))); + " However PUBLISH packet was sent to the broker." + " Any further handling of ACKs for the packet Id" + " will fail.", + MQTT_Status_strerror(status))); } } @@ -3188,7 +3200,7 @@ MQTTStatus_t MQTT_Publish(MQTTContext_t* pContext, if (status != MQTTSuccess) { LogError(("MQTT PUBLISH failed with status %s.", - MQTT_Status_strerror(status))); + MQTT_Status_strerror(status))); } return status; @@ -3196,7 +3208,7 @@ MQTTStatus_t MQTT_Publish(MQTTContext_t* pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_Ping(MQTTContext_t* pContext) +MQTTStatus_t MQTT_Ping(MQTTContext_t *pContext) { int32_t sendResult = 0; MQTTStatus_t status = MQTTSuccess; @@ -3223,7 +3235,7 @@ MQTTStatus_t MQTT_Ping(MQTTContext_t* pContext) { assert(packetSize == localBuffer.size); LogDebug(("MQTT PINGREQ packet size is %lu.", - (unsigned long)packetSize)); + (unsigned long)packetSize)); } else { @@ -3248,8 +3260,8 @@ MQTTStatus_t MQTT_Ping(MQTTContext_t* pContext) * Ping packet does not have numerous fields which need to be copied * from the user provided buffers. Thus it can be sent directly. */ sendResult = sendBuffer(pContext, - localBuffer.pBuffer, - packetSize); + localBuffer.pBuffer, + packetSize); /* Give the mutex away. */ MQTT_POST_SEND_HOOK(pContext); @@ -3265,7 +3277,7 @@ MQTTStatus_t MQTT_Ping(MQTTContext_t* pContext) pContext->pingReqSendTimeMs = pContext->lastPacketTxTime; pContext->waitingForPingResp = true; LogDebug(("Sent %ld bytes of PINGREQ packet.", - (long int)sendResult)); + (long int)sendResult)); } } @@ -3274,29 +3286,29 @@ MQTTStatus_t MQTT_Ping(MQTTContext_t* pContext) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_Unsubscribe(MQTTContext_t* pContext, - const MQTTSubscribeInfo_t* pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId) +MQTTStatus_t MQTT_Unsubscribe(MQTTContext_t *pContext, + const MQTTSubscribeInfo_t *pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId) { size_t remainingLength = 0UL, packetSize = 0UL; /* Validate arguments. */ MQTTStatus_t status = validateSubscribeUnsubscribeParams(pContext, - pSubscriptionList, - subscriptionCount, - packetId); + pSubscriptionList, + subscriptionCount, + packetId); if (status == MQTTSuccess) { /* Get the remaining length and packet size.*/ status = MQTT_GetUnsubscribePacketSize(pSubscriptionList, - subscriptionCount, - &remainingLength, - &packetSize); + subscriptionCount, + &remainingLength, + &packetSize); LogDebug(("UNSUBSCRIBE packet size is %lu and remaining length is %lu.", - (unsigned long)packetSize, - (unsigned long)remainingLength)); + (unsigned long)packetSize, + (unsigned long)remainingLength)); } if (status == MQTTSuccess) @@ -3305,10 +3317,10 @@ MQTTStatus_t MQTT_Unsubscribe(MQTTContext_t* pContext, MQTT_PRE_SEND_HOOK(pContext); status = sendUnsubscribeWithoutCopy(pContext, - pSubscriptionList, - subscriptionCount, - packetId, - remainingLength); + pSubscriptionList, + subscriptionCount, + packetId, + remainingLength); /* Give the mutex away. */ MQTT_POST_SEND_HOOK(pContext); @@ -3319,7 +3331,7 @@ MQTTStatus_t MQTT_Unsubscribe(MQTTContext_t* pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_Disconnect(MQTTContext_t* pContext) +MQTTStatus_t MQTT_Disconnect(MQTTContext_t *pContext) { size_t packetSize = 0U; int32_t sendResult = 0; @@ -3342,7 +3354,7 @@ MQTTStatus_t MQTT_Disconnect(MQTTContext_t* pContext) /* Get MQTT DISCONNECT packet size. */ status = MQTT_GetDisconnectPacketSize(&packetSize); LogDebug(("MQTT DISCONNECT packet size is %lu.", - (unsigned long)packetSize)); + (unsigned long)packetSize)); } if (status == MQTTSuccess) @@ -3360,8 +3372,8 @@ MQTTStatus_t MQTT_Disconnect(MQTTContext_t* pContext) * which do not reside in user provided buffers. Thus, it can be sent * using a simple send call. */ sendResult = sendBuffer(pContext, - localBuffer.pBuffer, - packetSize); + localBuffer.pBuffer, + packetSize); /* Give the mutex away. */ MQTT_POST_SEND_HOOK(pContext); @@ -3374,7 +3386,7 @@ MQTTStatus_t MQTT_Disconnect(MQTTContext_t* pContext) else { LogDebug(("Sent %ld bytes of DISCONNECT packet.", - (long int)sendResult)); + (long int)sendResult)); } } @@ -3393,7 +3405,7 @@ MQTTStatus_t MQTT_Disconnect(MQTTContext_t* pContext) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_ProcessLoop(MQTTContext_t* pContext) +MQTTStatus_t MQTT_ProcessLoop(MQTTContext_t *pContext) { MQTTStatus_t status = MQTTBadParameter; @@ -3420,7 +3432,7 @@ MQTTStatus_t MQTT_ProcessLoop(MQTTContext_t* pContext) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_ReceiveLoop(MQTTContext_t* pContext) +MQTTStatus_t MQTT_ReceiveLoop(MQTTContext_t *pContext) { MQTTStatus_t status = MQTTBadParameter; @@ -3446,7 +3458,7 @@ MQTTStatus_t MQTT_ReceiveLoop(MQTTContext_t* pContext) /*-----------------------------------------------------------*/ -uint16_t MQTT_GetPacketId(MQTTContext_t* pContext) +uint16_t MQTT_GetPacketId(MQTTContext_t *pContext) { uint16_t packetId = 0U; @@ -3475,11 +3487,11 @@ uint16_t MQTT_GetPacketId(MQTTContext_t* pContext) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_MatchTopic(const char* pTopicName, - const uint16_t topicNameLength, - const char* pTopicFilter, - const uint16_t topicFilterLength, - bool* pIsMatch) +MQTTStatus_t MQTT_MatchTopic(const char *pTopicName, + const uint16_t topicNameLength, + const char *pTopicFilter, + const uint16_t topicFilterLength, + bool *pIsMatch) { MQTTStatus_t status = MQTTSuccess; bool topicFilterStartsWithWildcard = false; @@ -3488,18 +3500,18 @@ MQTTStatus_t MQTT_MatchTopic(const char* pTopicName, if ((pTopicName == NULL) || (topicNameLength == 0u)) { LogError(("Invalid paramater: Topic name should be non-NULL and its " - "length should be > 0: TopicName=%p, TopicNameLength=%hu", - (void*)pTopicName, - (unsigned short)topicNameLength)); + "length should be > 0: TopicName=%p, TopicNameLength=%hu", + (void *)pTopicName, + (unsigned short)topicNameLength)); status = MQTTBadParameter; } else if ((pTopicFilter == NULL) || (topicFilterLength == 0u)) { LogError(("Invalid paramater: Topic filter should be non-NULL and " - "its length should be > 0: TopicName=%p, TopicFilterLength=%hu", - (void*)pTopicFilter, - (unsigned short)topicFilterLength)); + "its length should be > 0: TopicName=%p, TopicFilterLength=%hu", + (void *)pTopicFilter, + (unsigned short)topicFilterLength)); status = MQTTBadParameter; } else if (pIsMatch == NULL) @@ -3521,9 +3533,9 @@ MQTTStatus_t MQTT_MatchTopic(const char* pTopicName, /* If an exact match was not found, match against wildcard characters in * topic filter.*/ - /* Determine if topic filter starts with a wildcard. */ + /* Determine if topic filter starts with a wildcard. */ topicFilterStartsWithWildcard = (pTopicFilter[0] == '+') || - (pTopicFilter[0] == '#'); + (pTopicFilter[0] == '#'); /* Note: According to the MQTT 3.1.1 specification, incoming PUBLISH topic names * starting with "$" character cannot be matched against topic filter starting with @@ -3544,9 +3556,9 @@ MQTTStatus_t MQTT_MatchTopic(const char* pTopicName, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetSubAckStatusCodes(const MQTTPacketInfo_t* pSubackPacket, - uint8_t** pPayloadStart, - size_t* pPayloadSize) +MQTTStatus_t MQTT_GetSubAckStatusCodes(const MQTTPacketInfo_t *pSubackPacket, + uint8_t **pPayloadStart, + size_t *pPayloadSize) { MQTTStatus_t status = MQTTSuccess; @@ -3568,9 +3580,9 @@ MQTTStatus_t MQTT_GetSubAckStatusCodes(const MQTTPacketInfo_t* pSubackPacket, else if (pSubackPacket->type != MQTT_PACKET_TYPE_SUBACK) { LogError(("Invalid parameter: Input packet is not a SUBACK packet: " - "ExpectedType=%02x, InputType=%02x", - (int)MQTT_PACKET_TYPE_SUBACK, - (int)pSubackPacket->type)); + "ExpectedType=%02x, InputType=%02x", + (int)MQTT_PACKET_TYPE_SUBACK, + (int)pSubackPacket->type)); status = MQTTBadParameter; } else if (pSubackPacket->pRemainingData == NULL) @@ -3584,8 +3596,8 @@ MQTTStatus_t MQTT_GetSubAckStatusCodes(const MQTTPacketInfo_t* pSubackPacket, else if (pSubackPacket->remainingLength < 3U) { LogError(("Invalid parameter: Packet remaining length is invalid: " - "Should be greater than 2 for SUBACK packet: InputRemainingLength=%lu", - (unsigned long)pSubackPacket->remainingLength)); + "Should be greater than 2 for SUBACK packet: InputRemainingLength=%lu", + (unsigned long)pSubackPacket->remainingLength)); status = MQTTBadParameter; } else @@ -3603,9 +3615,9 @@ MQTTStatus_t MQTT_GetSubAckStatusCodes(const MQTTPacketInfo_t* pSubackPacket, /*-----------------------------------------------------------*/ -const char* MQTT_Status_strerror(MQTTStatus_t status) +const char *MQTT_Status_strerror(MQTTStatus_t status) { - const char* str = NULL; + const char *str = NULL; switch (status) { diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 3a2d16284..8aa915363 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -771,87 +771,6 @@ uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex, const MQTTConnectPrope } -// size_t MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, TransportOutVector_t *iterator, size_t * updatedLength,uint32_t willDelay){ -// uint8_t* pIndex=0; -// size_t vectorsAdded = 0U; -// size_t ioVectorLength= 0U; -// size_t * totalMessageLength=updatedLength; -// uint8_t serializedContentTypeLength[ 2 ]; -// uint8_t serializedResponseTopicLength[ 2 ]; -// uint8_t serailizedCorrelationLength[ 2 ]; -// // 4 byte + 4 byte delay + 2 byte payload format + 6 byte -// uint8_t fixedSizeProperties[ 20U]; -// pIndex= fixedSizeProperties; -// // 1 for fixed, 5 for variable -// pIndex = encodeRemainingLength( pIndex, pPublishInfo->propertyLength); -// if (willDelay != 0U) -// { -// *pIndex = MQTT_WILL_DELAY_ID; -// pIndex++; -// pIndex[0] = UINT32_BYTE3(willDelay); -// pIndex[1] = UINT32_BYTE2(willDelay); -// pIndex[2] = UINT32_BYTE1(willDelay); -// pIndex[3] = UINT32_BYTE0(willDelay); -// pIndex = &pIndex[4]; -// } -// if (pPublishInfo->payloadFormat != 0) -// { -// *pIndex = MQTT_PAYLOAD_FORMAT_ID; -// pIndex++; -// *pIndex= pPublishInfo->payloadFormat; -// } -// if (pPublishInfo->msgExpiryInterval != 0U) -// { -// *pIndex = MQTT_MSG_EXPIRY_ID; -// pIndex++; -// pIndex[0] = UINT32_BYTE3(pPublishInfo->msgExpiryInterval); -// pIndex[1] = UINT32_BYTE2(pPublishInfo->msgExpiryInterval); -// pIndex[2] = UINT32_BYTE1(pPublishInfo->msgExpiryInterval); -// pIndex[3] = UINT32_BYTE0(pPublishInfo->msgExpiryInterval); -// } - -// iterator->iov_base = fixedSizeProperties; -// iterator->iov_len = ( size_t ) ( pIndex - fixedSizeProperties ); -// totalMessageLength += iterator->iov_len; -// iterator++; -// ioVectorLength++; - -// if ( pPublishInfo->contentTypeLength != 0U) -// { -// vectorsAdded = addEncodedStringToVectorWithId( serializedContentTypeLength, -// pPublishInfo->contentType, -// pPublishInfo->contentTypeLength, -// iterator, -// totalMessageLength,MQTT_CONTENT_TYPE_ID); -// iterator = &iterator[ vectorsAdded ]; -// ioVectorLength += vectorsAdded; -// } -// if ( pPublishInfo->responseTopicLength != 0U) -// { -// vectorsAdded = addEncodedStringToVectorWithId( serializedResponseTopicLength, -// pPublishInfo->responseTopic, -// pPublishInfo->responseTopicLength, -// iterator, -// totalMessageLength,MQTT_RESPONSE_TOPIC_ID ); -// iterator = &iterator[ vectorsAdded ]; -// ioVectorLength += vectorsAdded; -// } -// if (pPublishInfo->correlationLength != 0U) -// { -// vectorsAdded = addEncodedStringToVectorWithId(serailizedCorrelationLength, -// pPublishInfo->correlationData, -// pPublishInfo->correlationLength, -// iterator, -// totalMessageLength,MQTT_CORRELATION_DATA_ID); -// iterator = &iterator[ vectorsAdded ]; -// ioVectorLength += vectorsAdded; -// } -// if(pPublishInfo->userPropertySize!=0){ -// ioVectorLength += MQTT_SerializeUserProperty(pPublishInfo->userProperty,pPublishInfo->userPropertySize,iterator,totalMessageLength); -// } -// return ioVectorLength; -// }; - MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacket, bool* pSessionPresent) { @@ -2045,7 +1964,7 @@ static void logConnackResponse(uint8_t responseCode) { responseCode -= 128; assert(responseCode <= 20); - assert(responseCode >= 20); + assert(responseCode >= 0); /* Log an error based on the CONNACK response code. */ LogError(("%s", pConnackResponses[responseCode])); } From 247c2bdd2b2f4bbaa9d6e0a15c010173397917f9 Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Sun, 16 Jun 2024 23:02:28 +0530 Subject: [PATCH 08/82] working --- source/core_mqtt.c | 76 ++++++++++++--------------- source/core_mqtt_serializer.c | 4 +- source/include/core_mqtt_serializer.h | 7 --- 3 files changed, 35 insertions(+), 52 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 87e979161..a7c6a3926 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -564,7 +564,6 @@ size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_SERIALI TransportOutVector_t *iterator, size_t *updatedLength, uint8_t* packetId); -size_t MQTT_SerializeUserProperty(MQTTUserProperty_t *userProperty, uint16_t size, TransportOutVector_t *iterator, size_t *totalMessageLength); size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES], const char *const string, @@ -610,34 +609,6 @@ size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_SERIALI return vectorsAdded; } -// size_t MQTT_SerializeUserProperty(MQTTUserProperty_t *userProperty, uint16_t size, TransportOutVector_t *iterator, size_t *totalMessageLength) -// { -// uint8_t serializedUserKeyLength[MAX_USER_PROPERTY][2]; -// uint8_t serializedUserValueLength[MAX_USER_PROPERTY][2]; -// size_t vectorsAdded = 0U; -// size_t ioVectorLength = 0U; -// uint16_t i = 0; -// for (; i < size; i++) -// { -// vectorsAdded = addEncodedStringToVectorWithId(serializedUserKeyLength[i], -// userProperty[i].key, -// userProperty[i].keyLength, -// iterator, -// totalMessageLength, MQTT_USER_PROPERTY_ID); -// iterator = &iterator[vectorsAdded]; -// ioVectorLength += vectorsAdded; - -// vectorsAdded = addEncodedStringToVector(serializedUserValueLength[i], -// userProperty[i].value, -// userProperty[i].valueLength, -// iterator, -// totalMessageLength); -// iterator = &iterator[vectorsAdded]; -// ioVectorLength += vectorsAdded; -// } -// return ioVectorLength; -// } - #endif /*-----------------------------------------------------------*/ @@ -2266,20 +2237,7 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, size_t totalMessageLength = 0U; int32_t bytesSentOrError; uint8_t *pIndex; - uint8_t serializedUserKeyLength[2]; - uint8_t userId=MQTT_USER_PROPERTY_ID; - uint8_t serializedUserValueLength[2]; - uint8_t serializedAuthMethodLength[2]; - uint8_t authMethodId=MQTT_AUTH_METHOD_ID; - uint8_t serializedAuthDataLength[2]; - uint8_t authDataId=MQTT_AUTH_DATA_ID; uint8_t serializedClientIDLength[2]; - uint8_t serializedContentTypeLength[2]; - uint8_t contentTypeId=MQTT_CONTENT_TYPE_ID; - uint8_t serializedResponseTopicLength[2]; - uint8_t responseTopicId=MQTT_RESPONSE_TOPIC_ID; - uint8_t serailizedCorrelationLength[2]; - uint8_t correlationDataId=MQTT_CORRELATION_DATA_ID; uint8_t serializedTopicLength[2]; uint8_t serializedPayloadLength[2]; uint8_t serializedUsernameLength[2]; @@ -2297,6 +2255,19 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, * Connect flags + 1 = 13 * Keep alive + 2 = 15 */ uint8_t connectPacketHeader[15U]; + uint8_t serializedUserKeyLength[2]; + uint8_t userId = MQTT_USER_PROPERTY_ID; + uint8_t serializedUserValueLength[2]; + uint8_t serializedAuthMethodLength[2]; + uint8_t authMethodId = MQTT_AUTH_METHOD_ID; + uint8_t serializedAuthDataLength[2]; + uint8_t authDataId = MQTT_AUTH_DATA_ID; + uint8_t serializedContentTypeLength[2]; + uint8_t contentTypeId = MQTT_CONTENT_TYPE_ID; + uint8_t serializedResponseTopicLength[2]; + uint8_t responseTopicId = MQTT_RESPONSE_TOPIC_ID; + uint8_t serailizedCorrelationLength[2]; + uint8_t correlationDataId = MQTT_CORRELATION_DATA_ID; #else /*Properties @@ -2489,8 +2460,27 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, } if (pWillInfo->userPropertySize != 0) { + uint16_t i = 0; + uint16_t size = pWillInfo->usePropertySize; + MQTTUserProperty_t* userProperty = pWillInfo->userProperty; + for (; i < size; i++) + { + vectorsAdded = addEncodedStringToVectorWithId(serializedUserKeyLength, + userProperty[i].key, + userProperty[i].keyLength, + iterator, + &totalMessageLength, &userId); + iterator = &iterator[vectorsAdded]; + ioVectorLength += vectorsAdded; + + vectorsAdded = addEncodedStringToVector(serializedUserValueLength, + userProperty[i].value, + userProperty[i].valueLength, + iterator, + &totalMessageLength); + iterator = &iterator[vectorsAdded]; + ioVectorLength += vectorsAdded; - ioVectorLength += MQTT_SerializeUserProperty(pWillInfo->userProperty, pWillInfo->userPropertySize, iterator, totalMessageLength); } // vectorsAdded= MQTT_SerializePublishProperties(pWillInfo,iterator,&totalMessageLength,pContext->connectProperties->willDelay); diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 8aa915363..b49bcad56 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -535,7 +535,7 @@ uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t* pPublishInfo, MQTTStatus_t decodeVariableLength(const uint8_t* pBuffer, size_t* length); -MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacket, +static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacket, bool* pSessionPresent); @@ -771,7 +771,7 @@ uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex, const MQTTConnectPrope } -MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacket, bool* pSessionPresent) +static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacket, bool* pSessionPresent) { MQTTStatus_t status = MQTTSuccess; diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index fd824367d..25bc99f40 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -1400,18 +1400,11 @@ MQTTStatus_t MQTT_GetWillPropertiesSize ( MQTTPublishInfo_t * pConnectProperties uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex,const MQTTConnectProperties_t * pConnectProperties); -// size_t MQTT_SerializeUserProperty(MQTTUserProperty_t * userProperty, uint16_t size,TransportOutVector_t *iterator,size_t* updatedLength); - -// size_t MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, TransportOutVector_t *iterator, size_t * updatedLength,uint32_t willDelay); uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, uint8_t* pIndex,uint32_t willDelay); MQTTStatus_t decodeVariableLength( const uint8_t * pBuffer, size_t* length); -MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t * pIncomingPacket, - bool * pSessionPresent ); - - MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackProperties,const MQTTPacketInfo_t * pIncomingPacket, bool * pSessionPresent ); From 7617537b6f36f9c8405007f78dd650f9a8f7e203 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Mon, 17 Jun 2024 06:54:17 +0000 Subject: [PATCH 09/82] V5 unit tests --- source/core_mqtt.c | 54 ++-- source/core_mqtt_serializer.c | 33 ++- source/include/core_mqtt.h | 2 +- source/include/core_mqtt_config_defaults.h | 2 +- source/include/core_mqtt_serializer.h | 3 +- test/CMakeLists.txt | 2 + test/unit-test/MQTTV5/CMakeLists.txt | 115 ++++++++ test/unit-test/MQTTV5/core_mqtt_config.h | 77 +++++ .../MQTTV5/core_mqtt_v5_serializer_utest.c | 185 ++++++++++++ .../MQTTV5/core_mqtt_v5_state_utest.c | 59 ++++ test/unit-test/MQTTV5/core_mqtt_v5_utest.c | 266 ++++++++++++++++++ test/unit-test/core_mqtt_serializer_utest.c | 1 + test/unit-test/core_mqtt_utest.c | 3 + 13 files changed, 763 insertions(+), 39 deletions(-) create mode 100644 test/unit-test/MQTTV5/CMakeLists.txt create mode 100644 test/unit-test/MQTTV5/core_mqtt_config.h create mode 100644 test/unit-test/MQTTV5/core_mqtt_v5_serializer_utest.c create mode 100644 test/unit-test/MQTTV5/core_mqtt_v5_state_utest.c create mode 100644 test/unit-test/MQTTV5/core_mqtt_v5_utest.c diff --git a/source/core_mqtt.c b/source/core_mqtt.c index a7c6a3926..b0afe3f06 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -2255,19 +2255,6 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, * Connect flags + 1 = 13 * Keep alive + 2 = 15 */ uint8_t connectPacketHeader[15U]; - uint8_t serializedUserKeyLength[2]; - uint8_t userId = MQTT_USER_PROPERTY_ID; - uint8_t serializedUserValueLength[2]; - uint8_t serializedAuthMethodLength[2]; - uint8_t authMethodId = MQTT_AUTH_METHOD_ID; - uint8_t serializedAuthDataLength[2]; - uint8_t authDataId = MQTT_AUTH_DATA_ID; - uint8_t serializedContentTypeLength[2]; - uint8_t contentTypeId = MQTT_CONTENT_TYPE_ID; - uint8_t serializedResponseTopicLength[2]; - uint8_t responseTopicId = MQTT_RESPONSE_TOPIC_ID; - uint8_t serailizedCorrelationLength[2]; - uint8_t correlationDataId = MQTT_CORRELATION_DATA_ID; #else /*Properties @@ -2285,7 +2272,22 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, uint8_t connectPacketHeader[39U]; uint8_t fixedSizeProperties[20U]; - + uint8_t serializedUserKeyLength[MAX_USER_PROPERTY][2]; + uint8_t userId[MAX_USER_PROPERTY]; + uint8_t serializedUserValueLength[MAX_USER_PROPERTY][2]; + uint8_t serializedWillUserKeyLength[MAX_USER_PROPERTY][2]; + uint8_t willUserId[MAX_USER_PROPERTY]; + uint8_t serializedWillUserValueLength[MAX_USER_PROPERTY][2]; + uint8_t serializedAuthMethodLength[2]; + uint8_t authMethodId = MQTT_AUTH_METHOD_ID; + uint8_t serializedAuthDataLength[2]; + uint8_t authDataId = MQTT_AUTH_DATA_ID; + uint8_t serializedContentTypeLength[2]; + uint8_t contentTypeId = MQTT_CONTENT_TYPE_ID; + uint8_t serializedResponseTopicLength[2]; + uint8_t responseTopicId = MQTT_RESPONSE_TOPIC_ID; + uint8_t serailizedCorrelationLength[2]; + uint8_t correlationDataId = MQTT_CORRELATION_DATA_ID; #endif /* The maximum vectors required to encode and send a connect packet. The @@ -2353,15 +2355,16 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, MQTTUserProperty_t *userProperty = pContext->connectProperties->outgoingUserProperty; for (; i < size; i++) { - vectorsAdded = addEncodedStringToVectorWithId(serializedUserKeyLength, + userId[i]=MQTT_USER_PROPERTY_ID; + vectorsAdded = addEncodedStringToVectorWithId(serializedUserKeyLength[i], userProperty[i].key, userProperty[i].keyLength, iterator, - &totalMessageLength,&userId); + &totalMessageLength,&userId[i]); iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; - vectorsAdded = addEncodedStringToVector(serializedUserValueLength, + vectorsAdded = addEncodedStringToVector(serializedUserValueLength[i], userProperty[i].value, userProperty[i].valueLength, iterator, @@ -2398,7 +2401,6 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, } } - // ioVectorLength += MQTT_SerializeUserProperty(pContext->connectProperties->outgoingUserProperty, pContext->connectProperties->outgoingUserPropSize, iterator, &totalMessageLength); } #endif @@ -2461,19 +2463,20 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, if (pWillInfo->userPropertySize != 0) { uint16_t i = 0; - uint16_t size = pWillInfo->usePropertySize; + uint16_t size = pWillInfo->userPropertySize; MQTTUserProperty_t* userProperty = pWillInfo->userProperty; for (; i < size; i++) { - vectorsAdded = addEncodedStringToVectorWithId(serializedUserKeyLength, + willUserId[i]=MQTT_USER_PROPERTY_ID; + vectorsAdded = addEncodedStringToVectorWithId(serializedWillUserKeyLength[i], userProperty[i].key, userProperty[i].keyLength, iterator, - &totalMessageLength, &userId); + &totalMessageLength, willUserId[i]); iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; - vectorsAdded = addEncodedStringToVector(serializedUserValueLength, + vectorsAdded = addEncodedStringToVector(serializedWillUserValueLength[i], userProperty[i].value, userProperty[i].valueLength, iterator, @@ -2483,7 +2486,8 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, } - // vectorsAdded= MQTT_SerializePublishProperties(pWillInfo,iterator,&totalMessageLength,pContext->connectProperties->willDelay); + } + #endif /* Serialize the topic. */ vectorsAdded = addEncodedStringToVector(serializedTopicLength, @@ -2923,7 +2927,7 @@ MQTTStatus_t MQTT_CancelCallback(const MQTTContext_t *pContext, MQTTStatus_t MQTT_Connect(MQTTContext_t *pContext, const MQTTConnectInfo_t *pConnectInfo, - const MQTTPublishInfo_t *pWillInfo, + MQTTPublishInfo_t *pWillInfo, uint32_t timeoutMs, bool *pSessionPresent) { @@ -2966,7 +2970,7 @@ MQTTStatus_t MQTT_Connect(MQTTContext_t *pContext, } if (status == MQTTSuccess) { - status = MQTT_GetConnectPropertiesSize(pContext->connectProperties, &packetSize); + status = MQTT_GetConnectPropertiesSize(pContext->connectProperties); remainingLength += pContext->connectProperties->propertyLength; remainingLength += remainingLengthEncodedSize(pContext->connectProperties->propertyLength); if (status == MQTTSuccess && pWillInfo != NULL) diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index b49bcad56..620ebd7b2 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -523,8 +523,7 @@ static MQTTStatus_t deserializePingresp(const MQTTPacketInfo_t* pPingresp); MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* userProperty, uint16_t size, size_t* length); -MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProperties, - size_t* pPacketSize); +MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProperties); MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pConnectProperties, uint32_t willDelay); @@ -607,11 +606,14 @@ MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* userProperty, uint16_t } -MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProperties, - size_t* pPacketSize) +MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProperties) { - size_t propertyLength = 0U; + size_t propertyLength = 0; MQTTStatus_t status = MQTTSuccess; + if(pConnectProperties==NULL){ + status=MQTTBadParameter; + } + if(status==MQTTSuccess){ if (pConnectProperties->sessionExpiry != 0) { // 4U + 1U @@ -639,6 +641,9 @@ MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProp } if (pConnectProperties->outgoingAuth != NULL) { + if(pConnectProperties->incomingAuth==NULL){ + status=MQTTBadParameter; + } if (pConnectProperties->outgoingAuth->authMethodLength == 0U && pConnectProperties->outgoingAuth->authDataLength != 0U) { status = MQTTBadParameter; @@ -661,6 +666,7 @@ MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProp } } } + } if (status == MQTTSuccess && pConnectProperties->outgoingUserPropSize != 0) { status = MQTT_GetUserPropertySize(pConnectProperties->outgoingUserProperty, pConnectProperties->outgoingUserPropSize, &propertyLength); } @@ -923,14 +929,18 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti MQTTStatus_t status = MQTTSuccess; status = validateConnackParams(pIncomingPacket, pSessionPresent); size_t propertyLength = 0U; + size_t remainingLengthSize=0U; uint8_t* pVariableHeader = NULL; if (status == MQTTSuccess) { pVariableHeader = pIncomingPacket->pRemainingData; pVariableHeader = &pVariableHeader[2]; - size_t remainingLengthSize = remainingLengthEncodedSize(pIncomingPacket->remainingLength); + remainingLengthSize = remainingLengthEncodedSize(pIncomingPacket->remainingLength); pVariableHeader = &pVariableHeader[remainingLengthSize]; status = decodeVariableLength(pVariableHeader, &propertyLength); } + if(pIncomingPacket->remainingLength + remainingLengthSize+1>pConnackProperties->maxPacketSize){ + status= MQTTProtocolError; + } if (propertyLength == 0U) { status = MQTTProtocolError; } @@ -1115,18 +1125,21 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti pConnackProperties->incomingUserPropSize++; userProperty->keyLength = UINT16_DECODE(pVariableHeader); propertyLength -= 2; - if (propertyLength < userProperty->keyLength + 2) { + if (propertyLength < (size_t)userProperty->keyLength + 2) { status = MQTTMalformedPacket; } else { - userProperty->key = &pVariableHeader[userProperty->valueLength]; + pVariableHeader=&pVariableHeader[sizeof(uint16_t)]; + userProperty->key = (const char*)pVariableHeader; + pVariableHeader = &pVariableHeader[ userProperty->keyLength]; userProperty->valueLength = UINT16_DECODE(pVariableHeader); propertyLength -= 2; - if (propertyLength < userProperty->valueLength) { + if (propertyLength < (size_t)userProperty->valueLength) { status = MQTTMalformedPacket; } else { - userProperty->value = &pVariableHeader[userProperty->valueLength]; + userProperty->value = (const char*)pVariableHeader; + pVariableHeader = &pVariableHeader[ userProperty->valueLength]; } } } diff --git a/source/include/core_mqtt.h b/source/include/core_mqtt.h index 7d17cc5dc..e5c9b6d2e 100644 --- a/source/include/core_mqtt.h +++ b/source/include/core_mqtt.h @@ -524,7 +524,7 @@ MQTTStatus_t MQTT_InitStatefulQoS( MQTTContext_t * pContext, /* @[declare_mqtt_connect] */ MQTTStatus_t MQTT_Connect( MQTTContext_t * pContext, const MQTTConnectInfo_t * pConnectInfo, - const MQTTPublishInfo_t * pWillInfo, + MQTTPublishInfo_t * pWillInfo, uint32_t timeoutMs, bool * pSessionPresent ); /* @[declare_mqtt_connect] */ diff --git a/source/include/core_mqtt_config_defaults.h b/source/include/core_mqtt_config_defaults.h index af3142eed..6a9aed48b 100644 --- a/source/include/core_mqtt_config_defaults.h +++ b/source/include/core_mqtt_config_defaults.h @@ -73,7 +73,7 @@ * @brief Version of the MQTT protocol with default value as 3.1.1 */ #ifndef MQTT_VERSION_5_ENABLED - #define MQTT_VERSION_5_ENABLED (true) + #define MQTT_VERSION_5_ENABLED (false) #ifndef MAX_USER_PROPERTY #define MAX_USER_PROPERTY (5U) #endif diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index 25bc99f40..466d7254f 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -1392,8 +1392,7 @@ size_t remainingLengthEncodedSize( size_t length ); MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t * userProperty, uint16_t size,size_t *length); -MQTTStatus_t MQTT_GetConnectPropertiesSize (MQTTConnectProperties_t * pConnectProperties, - size_t * pPacketSize ); +MQTTStatus_t MQTT_GetConnectPropertiesSize (MQTTConnectProperties_t * pConnectProperties); MQTTStatus_t MQTT_GetWillPropertiesSize ( MQTTPublishInfo_t * pConnectProperties, uint32_t willDelay); diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 675bce541..196d8effe 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -94,6 +94,8 @@ if( UNITTEST ) # Include build configuration for unit tests. add_subdirectory( unit-test ) + + include( ${MODULE_ROOT_DIR}/test/unit-test/MQTTV5/CMakeLists.txt) # ==================================== Coverage Analysis configuration ======================================== diff --git a/test/unit-test/MQTTV5/CMakeLists.txt b/test/unit-test/MQTTV5/CMakeLists.txt new file mode 100644 index 000000000..bcafb76bc --- /dev/null +++ b/test/unit-test/MQTTV5/CMakeLists.txt @@ -0,0 +1,115 @@ +# Include filepaths for source and include. +include( ${MODULE_ROOT_DIR}/mqttFilePaths.cmake ) + +# ==================== Define your project name (edit) ======================== +set(project_name "core_mqtt_v5") +set(new "core_mqtt_v5") + +# ===================== Create your mock here (edit) ======================== + +# list the files to mock here +list(APPEND mock_list + "${MODULE_ROOT_DIR}/source/include/core_mqtt_serializer.h" + "${MODULE_ROOT_DIR}/source/include/core_mqtt_state.h" + ) +# list the directories your mocks need +list(APPEND mock_include_list + . + ${CMAKE_CURRENT_LIST_DIR}/logging + ${MQTT_INCLUDE_PUBLIC_DIRS} + ) +#list the definitions of your mocks to control what to be included +list(APPEND mock_define_list + "" + ) + +# ================= Create the library under test here (edit) ================== + +# list the files you would like to test here +list(APPEND real_source_files + ${MQTT_SOURCES} + ${MQTT_SERIALIZER_SOURCES} + ) +# list the directories the module under test includes +list(APPEND real_include_directories + . + ${CMAKE_CURRENT_LIST_DIR}/logging + ${MQTT_INCLUDE_PUBLIC_DIRS} + ) + +# ===================== Create UnitTest Code here (edit) ===================== + +# list the directories your test needs to include +list(APPEND test_include_directories + . + ${MQTT_INCLUDE_PUBLIC_DIRS} + ) + +# ============================= (end edit) =================================== + +set(mock_name "${new}_mock") +set(real_name "${new}_real") + +create_mock_list(${mock_name} + "${mock_list}" + "${MODULE_ROOT_DIR}/tools/cmock/projectv5.yml" + "${mock_include_list}" + "${mock_define_list}" + ) + +create_real_library(${real_name} + "${real_source_files}" + "${real_include_directories}" + "${mock_name}" + ) + +list(APPEND utest_link_list + -l${mock_name} + lib${real_name}.a + ) + +list(APPEND utest_dep_list + ${real_name} + ) + +set(utest_name "${new}_utest") +set(utest_source "${project_name}_utest.c") +create_test(${utest_name} + ${utest_source} + "${utest_link_list}" + "${utest_dep_list}" + "${test_include_directories}" + ) + +# need to redefine because the tests below don't use any mocks +set(utest_link_list "") +list(APPEND utest_link_list + lib${real_name}.a + ) + +# mqtt_state_utest +set(utest_name "${new}_state_utest") +set(utest_source "${project_name}_state_utest.c") + +create_test(${utest_name} + ${utest_source} + "${utest_link_list}" + "${utest_dep_list}" + "${test_include_directories}" + ) + +# mqtt_serializer_utest +set(utest_name "${new}_serializer_utest") +set(utest_source "${project_name}_serializer_utest.c") + +set(utest_link_list "") +list(APPEND utest_link_list + lib${real_name}.a + ) + +create_test(${utest_name} + ${utest_source} + "${utest_link_list}" + "${utest_dep_list}" + "${test_include_directories}" + ) diff --git a/test/unit-test/MQTTV5/core_mqtt_config.h b/test/unit-test/MQTTV5/core_mqtt_config.h new file mode 100644 index 000000000..50f2be066 --- /dev/null +++ b/test/unit-test/MQTTV5/core_mqtt_config.h @@ -0,0 +1,77 @@ +/* + * coreMQTT v2.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/** + * @file core_mqtt_config.h + * @brief This header sets configuration macros for the MQTT library. + */ +#ifndef CORE_MQTT_CONFIG_H_ +#define CORE_MQTT_CONFIG_H_ + +/* Standard include. */ +#include +#define MQTT_VERSION_5_ENABLED (false) + +/**************************************************/ +/******* DO NOT CHANGE the following order ********/ +/**************************************************/ + +/* Include logging header files and define logging macros in the following order: + * 1. Include the header file "logging_levels.h". + * 2. Define the LIBRARY_LOG_NAME and LIBRARY_LOG_LEVEL macros depending on + * the logging configuration for MQTT. + * 3. Include the header file "logging_stack.h", if logging is enabled for MQTT. + */ + +#include "logging_levels.h" + +/* Logging configuration for the MQTT library. */ +#ifndef LIBRARY_LOG_NAME + #define LIBRARY_LOG_NAME "MQTT" +#endif + +#ifndef LIBRARY_LOG_LEVEL + #define LIBRARY_LOG_LEVEL LOG_NONE +#endif + +#include "logging_stack.h" + +/************ End of logging configuration ****************/ + +/** + * @brief Retry count for reading CONNACK from network. + * + * #MQTT_Connect() can be using retries. If timeout passed as 0 to MQTT_Connect(), + * retries are used to attempt to read from network. The maximum retry count is + * specified by this config. + * + * These unit tests expect retrying only twice. + */ +#define MQTT_MAX_CONNACK_RECEIVE_RETRY_COUNT ( 2U ) + +#define MQTT_SUB_UNSUB_MAX_VECTORS ( 6U ) + +#define MQTT_SEND_TIMEOUT_MS ( 20U ) + +#endif /* ifndef CORE_MQTT_CONFIG_H_ */ diff --git a/test/unit-test/MQTTV5/core_mqtt_v5_serializer_utest.c b/test/unit-test/MQTTV5/core_mqtt_v5_serializer_utest.c new file mode 100644 index 000000000..be7f048e4 --- /dev/null +++ b/test/unit-test/MQTTV5/core_mqtt_v5_serializer_utest.c @@ -0,0 +1,185 @@ +/* + * coreMQTT v2.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/** + * @file core_mqtt_serializer_utest.c + * @brief Unit tests for functions in core_mqtt_serializer.h. + */ +#include +#include + +#include "unity.h" + +/* Include paths for public enums, structures, and macros. */ +#include "core_mqtt_serializer.h" + +/* Set network context to double pointer to buffer (uint8_t**). */ +struct NetworkContext +{ + uint8_t ** buffer; +}; + +#define MQTT_MAX_REMAINING_LENGTH ( 268435455UL ) +#define MQTT_PACKET_CONNACK_REMAINING_LENGTH ( ( uint8_t ) 2U ) /**< @brief A CONNACK packet always has a "Remaining length" of 2. */ +#define MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK ( ( uint8_t ) 0x01U ) /**< @brief The "Session Present" bit is always the lowest bit. */ +#define MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH ( ( uint8_t ) 2 ) /**< @brief PUBACK, PUBREC, PUBREl, PUBCOMP, UNSUBACK Remaining length. */ +#define MQTT_PACKET_PINGRESP_REMAINING_LENGTH ( 0U ) /**< @brief A PINGRESP packet always has a "Remaining length" of 0. */ +#define MQTT_PACKET_PUBACK_REMAINING_LENGTH ( 2U ) +#define MQTT_PACKET_UNSUBACK_REMAINING_LENGTH ( 2U ) + +/* + * MQTT client identifier. + */ +#define MQTT_CLIENT_IDENTIFIER "testclient" + +/* + * Client identifier and length to use for the MQTT API tests. + */ +#define CLIENT_IDENTIFIER ( "test" ) /**< @brief Client identifier. */ +#define CLIENT_IDENTIFIER_LENGTH ( ( uint16_t ) ( sizeof( CLIENT_IDENTIFIER ) - 1 ) ) /**< @brief Length of client identifier. */ + +/* + * Topic name and length to use for the MQTT API tests. + */ +#define TEST_TOPIC_NAME ( "/test/topic" ) /**< @brief An arbitrary topic name. */ +#define TEST_TOPIC_NAME_LENGTH ( ( uint16_t ) ( sizeof( TEST_TOPIC_NAME ) - 1 ) ) /**< @brief Length of topic name. */ + + +/** + * @brief MQTT protocol version 3.1.1. + */ +#define MQTT_VERSION_3_1_1 ( ( uint8_t ) 4U ) + +/** + * @brief Test-defined macro for MQTT username. + */ +#define MQTT_TEST_USERNAME "username" +#define MQTT_TEST_USERNAME_LEN ( sizeof( MQTT_TEST_USERNAME ) - 1 ) + +/** + * @brief Test-defined macro for MQTT password. + */ +#define MQTT_TEST_PASSWORD "password" +#define MQTT_TEST_PASSWORD_LEN ( sizeof( MQTT_TEST_PASSWORD ) - 1 ) + +/** + * @brief Length of the client identifier. + */ +#define MQTT_CLIENT_IDENTIFIER_LEN ( sizeof( MQTT_CLIENT_IDENTIFIER ) - 1 ) + +/** + * @brief Sample payload. + */ +#define MQTT_SAMPLE_PAYLOAD "Hello World" +#define MQTT_SAMPLE_PAYLOAD_LEN ( sizeof( MQTT_SAMPLE_PAYLOAD ) - 1 ) + +/* MQTT CONNECT flags. */ +#define MQTT_CONNECT_FLAG_CLEAN ( 1 ) /**< @brief Clean session. */ +#define MQTT_CONNECT_FLAG_WILL ( 2 ) /**< @brief Will present. */ +#define MQTT_CONNECT_FLAG_WILL_QOS1 ( 3 ) /**< @brief Will QoS 1. */ +#define MQTT_CONNECT_FLAG_WILL_QOS2 ( 4 ) /**< @brief Will QoS 2. */ +#define MQTT_CONNECT_FLAG_WILL_RETAIN ( 5 ) /**< @brief Will retain. */ +#define MQTT_CONNECT_FLAG_PASSWORD ( 6 ) /**< @brief Password present. */ +#define MQTT_CONNECT_FLAG_USERNAME ( 7 ) /**< @brief User name present. */ + +/** + * @brief The Remaining Length field of MQTT disconnect packets, per MQTT spec. + */ +#define MQTT_DISCONNECT_REMAINING_LENGTH ( ( uint8_t ) 0 ) + +/** + * @brief Set a bit in an 8-bit unsigned integer. + */ +#define UINT8_SET_BIT( x, position ) ( ( x ) = ( uint8_t ) ( ( x ) | ( 0x01U << ( position ) ) ) ) + +/** + * @brief Macro for checking if a bit is set in a 1-byte unsigned int. + * + * @param[in] x The unsigned int to check. + * @param[in] position Which bit to check. + */ +#define UINT8_CHECK_BIT( x, position ) ( ( ( x ) & ( 0x01U << ( position ) ) ) == ( 0x01U << ( position ) ) ) + +/** + * @brief Get the high byte of a 16-bit unsigned integer. + */ +#define UINT16_HIGH_BYTE( x ) ( ( uint8_t ) ( ( x ) >> 8 ) ) + +/** + * @brief Get the low byte of a 16-bit unsigned integer. + */ +#define UINT16_LOW_BYTE( x ) ( ( uint8_t ) ( ( x ) & 0x00ffU ) ) + +/** + * @brief Maximum number of bytes in the Remaining Length field is four according + * to MQTT 3.1.1 spec. + */ +#define MQTT_REMAINING_BUFFER_MAX_LENGTH ( 4 ) + +/** + * @brief Length of buffer padding to use in under/overflow checks. + */ +#define BUFFER_PADDING_LENGTH ( 4 ) + +/** + * @brief Byte to use for buffer padding in under/overflow checks. + */ +#define BUFFER_PADDING_BYTE ( 0xA5 ) + +/** + * @brief Length of the MQTT network buffer. + */ +#define MQTT_TEST_BUFFER_LENGTH ( 1024 ) + +static uint8_t remainingLengthBuffer[ MQTT_REMAINING_BUFFER_MAX_LENGTH ] = { 0 }; + +static uint8_t encodedStringBuffer[ MQTT_TEST_BUFFER_LENGTH ] = { 0 }; + +static uint8_t mqttBuffer[ MQTT_TEST_BUFFER_LENGTH ] = { 0 }; + +/* ============================ UNITY FIXTURES ============================ */ + +/* Called before each test method. */ +void setUp( void ) +{ +} + +/* Called after each test method. */ +void tearDown( void ) +{ +} + +/* Called at the beginning of the whole suite. */ +void suiteSetUp() +{ +} + +/* Called at the end of the whole suite. */ +int suiteTearDown( int numFailures ) +{ + return numFailures; +} + +/* ========================================================================== */ + diff --git a/test/unit-test/MQTTV5/core_mqtt_v5_state_utest.c b/test/unit-test/MQTTV5/core_mqtt_v5_state_utest.c new file mode 100644 index 000000000..aeb8c5f66 --- /dev/null +++ b/test/unit-test/MQTTV5/core_mqtt_v5_state_utest.c @@ -0,0 +1,59 @@ +/* + * coreMQTT v2.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/** + * @file core_mqtt_state_utest.c + * @brief Unit tests for functions in core_mqtt_state.h. + */ +#include +#include "unity.h" + +#include "core_mqtt_state.h" + +#define MQTT_PACKET_ID_INVALID ( ( uint16_t ) 0U ) +#define MQTT_STATE_ARRAY_MAX_COUNT 10 + +/* ============================ UNITY FIXTURES ============================ */ +void setUp( void ) +{ +} + +/* called before each testcase */ +void tearDown( void ) +{ +} + +/* called at the beginning of the whole suite */ +void suiteSetUp() +{ +} + +/* called at the end of the whole suite */ +int suiteTearDown( int numFailures ) +{ + return numFailures; +} + +/* ========================================================================== */ + diff --git a/test/unit-test/MQTTV5/core_mqtt_v5_utest.c b/test/unit-test/MQTTV5/core_mqtt_v5_utest.c new file mode 100644 index 000000000..8856c936e --- /dev/null +++ b/test/unit-test/MQTTV5/core_mqtt_v5_utest.c @@ -0,0 +1,266 @@ +/* + * coreMQTT v2.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/** + * @file core_mqtt_utest.c + * @brief Unit tests for functions in core_mqtt.h. + */ +#include +#include +#include + +#include "unity.h" + +/* Include paths for public enums, structures, and macros. */ +#include "core_mqtt.h" + +#include "mock_core_mqttv5_serializer.h" +#include "mock_core_mqttv5_state.h" + +#include "core_mqtt_config_defaults.h" + +/* Set network context to double pointer to buffer (uint8_t**). */ +struct NetworkContext +{ + uint8_t ** buffer; +}; + +/** + * @brief MQTT client identifier. + */ +#define MQTT_CLIENT_IDENTIFIER "testclient" + +/** + * @brief A valid starting packet ID per MQTT spec. Start from 1. + */ +#define MQTT_FIRST_VALID_PACKET_ID ( 1 ) + +/** + * @brief A PINGREQ packet is always 2 bytes in size, defined by MQTT 3.1.1 spec. + */ +#define MQTT_PACKET_PINGREQ_SIZE ( 2U ) + +/** + * @brief A packet type not handled by MQTT_ProcessLoop. + */ +#define MQTT_PACKET_TYPE_INVALID ( 0U ) + +/** + * @brief Number of milliseconds in a second. + */ +#define MQTT_ONE_SECOND_TO_MS ( 1000U ) + +/** + * @brief Length of the MQTT network buffer. + */ +#define MQTT_TEST_BUFFER_LENGTH ( 128 ) + +/** + * @brief Sample keep-alive interval that should be greater than 0. + */ +#define MQTT_SAMPLE_KEEPALIVE_INTERVAL_S ( 1U ) + +/** + * @brief Length of time spent for single test case with + * multiple iterations spent in the process loop for coverage. + */ +#define MQTT_SAMPLE_PROCESS_LOOP_TIMEOUT_MS ( 1U ) + +/** + * @brief Zero timeout in the process loop implies one iteration. + */ +#define MQTT_NO_TIMEOUT_MS ( 0U ) + +/** + * @brief Sample length of remaining serialized data. + */ +#define MQTT_SAMPLE_REMAINING_LENGTH ( 64 ) + +/** + * @brief Subtract this value from max value of global entry time + * for the timer overflow test. + */ +#define MQTT_OVERFLOW_OFFSET ( 3 ) + +/** + * @brief The number of times the "getTime()" function is called + * within a single iteration of the #MQTT_ProcessLoop. + * + * This constant is used for the timer overflow test which checks + * that the API can support normal behavior even if the timer + * overflows. + * + * @note Currently, there are 6 calls within a single iteration. + * This can change when the implementation changes which would be + * caught through unit test failure. + */ +#define MQTT_TIMER_CALLS_PER_ITERATION ( 6 ) + +/** + * @brief Timeout for the timer overflow test. + */ +#define MQTT_TIMER_OVERFLOW_TIMEOUT_MS ( 10 ) + +/** + * @brief A sample network context that we set to NULL. + */ +#define MQTT_SAMPLE_NETWORK_CONTEXT ( NULL ) + +/** + * @brief Sample topic filter to subscribe to. + */ +#define MQTT_SAMPLE_TOPIC_FILTER "iot" + +/** + * @brief Length of sample topic filter. + */ +#define MQTT_SAMPLE_TOPIC_FILTER_LENGTH ( sizeof( MQTT_SAMPLE_TOPIC_FILTER ) - 1 ) + +/** + * @brief Sample topic filter to subscribe to. + */ +#define MQTT_SAMPLE_TOPIC_FILTER1 "TopicFilter2" + +/** + * @brief Length of sample topic filter. + */ +#define MQTT_SAMPLE_TOPIC_FILTER_LENGTH1 ( sizeof( MQTT_SAMPLE_TOPIC_FILTER1 ) - 1 ) + +/** + * @brief Sample topic filter to subscribe to. + */ +#define MQTT_SAMPLE_TOPIC_FILTER2 "SomeTopic" + +/** + * @brief Length of sample topic filter. + */ +#define MQTT_SAMPLE_TOPIC_FILTER_LENGTH2 ( sizeof( MQTT_SAMPLE_TOPIC_FILTER2 ) - 1 ) + +/** + * @brief Sample topic filter to subscribe to. + */ +#define MQTT_SAMPLE_TOPIC_FILTER3 "iotTopicFilter" + +/** + * @brief Length of sample topic filter. + */ +#define MQTT_SAMPLE_TOPIC_FILTER_LENGTH3 ( sizeof( MQTT_SAMPLE_TOPIC_FILTER3 ) - 1 ) + +/** + * @brief Return values of mocked calls in MQTT_ProcessLoop(). Used by + * `expectProcessLoopCalls` + */ +typedef struct ProcessLoopReturns +{ + MQTTStatus_t deserializeStatus; /**< @brief Status after deserializing incoming packet. */ + MQTTPublishState_t stateAfterDeserialize; /**< @brief Publish state after deserializing incoming packet. */ + MQTTStatus_t updateStateStatus; /**< @brief Status after updating publish state. */ + MQTTStatus_t serializeStatus; /**< @brief Status after serializing a publish ack to send. */ + MQTTPublishState_t stateAfterSerialize; /**< @brief Publish state after serializing an ack to send. */ + MQTTStatus_t processLoopStatus; /**< @brief Return value of the process loop. */ + bool incomingPublish; /**< @brief Whether the incoming packet is a publish. */ + MQTTPublishInfo_t * pPubInfo; /**< @brief Publish information to be returned by the deserializer. */ + uint32_t timeoutMs; /**< @brief The timeout value to call MQTT_ProcessLoop API with. */ +} ProcessLoopReturns_t; + +/** + * @brief The packet type to be received by the process loop. + * IMPORTANT: Make sure this is set before calling expectProcessLoopCalls(...). + */ +static uint8_t currentPacketType = MQTT_PACKET_TYPE_INVALID; + +/** + * @brief The return value of modifyIncomingPacket(...) CMock callback that + * replaces a call to MQTT_GetIncomingPacketTypeAndLength. + * IMPORTANT: Make sure this is set before calling expectProcessLoopCalls(...). + */ +static MQTTStatus_t modifyIncomingPacketStatus = MQTTSuccess; + +/** + * @brief Time at the beginning of each test. Note that this is not updated with + * a real clock. Instead, we simply increment this variable. + */ +static uint32_t globalEntryTime = 0; + +/** + * @brief A static buffer used by the MQTT library for storing packet data. + */ +static uint8_t mqttBuffer[ MQTT_TEST_BUFFER_LENGTH ] = { 0 }; + +/** + * @brief A flag to indicate whether event callback is called from + * MQTT_ProcessLoop. + */ +static bool isEventCallbackInvoked = false; +static bool receiveOnce = false; + +static const uint8_t SubscribeHeader[] = +{ + MQTT_PACKET_TYPE_SUBSCRIBE, /* Subscribe header. */ + 0x10, 0x10, /* Packet Length. */ + ( MQTT_FIRST_VALID_PACKET_ID >> 8 ), + ( ( MQTT_FIRST_VALID_PACKET_ID ) & 0x00ffU ) /* Packet ID. */ +}; +static const size_t SubscribeHeaderLength = 5U; + +static const uint8_t UnsubscribeHeader[] = +{ + MQTT_PACKET_TYPE_UNSUBSCRIBE, /* Subscribe header. */ + 0x12, 0x15, /* Packet Length. */ + ( MQTT_FIRST_VALID_PACKET_ID >> 8 ), + ( ( MQTT_FIRST_VALID_PACKET_ID ) & 0x00ffU ) /* Packet ID. */ +}; +static const size_t UnsubscribeHeaderLength = 5U; + +/* ============================ UNITY FIXTURES ============================ */ + +/* Called before each test method. */ +void setUp() +{ + memset( mqttBuffer, 0x0, sizeof( mqttBuffer ) ); + MQTT_State_strerror_IgnoreAndReturn( "DUMMY_MQTT_STATE" ); + + globalEntryTime = 0; +} + +/* Called after each test method. */ +void tearDown() +{ +} + +/* Called at the beginning of the whole suite. */ +void suiteSetUp() +{ + receiveOnce = 0; +} + +/* Called at the end of the whole suite. */ +int suiteTearDown( int numFailures ) +{ + return numFailures; +} + + +/* ========================================================================== */ + diff --git a/test/unit-test/core_mqtt_serializer_utest.c b/test/unit-test/core_mqtt_serializer_utest.c index 305306c5d..f47438e8f 100644 --- a/test/unit-test/core_mqtt_serializer_utest.c +++ b/test/unit-test/core_mqtt_serializer_utest.c @@ -2878,4 +2878,5 @@ void test_MQTT_SerializeDisconnect_Happy_Path() TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); } + /* ========================================================================== */ diff --git a/test/unit-test/core_mqtt_utest.c b/test/unit-test/core_mqtt_utest.c index 5a382ec3a..d7d53f4c7 100644 --- a/test/unit-test/core_mqtt_utest.c +++ b/test/unit-test/core_mqtt_utest.c @@ -1116,6 +1116,7 @@ void test_MQTT_Init_Happy_Path( void ) TEST_ASSERT_EQUAL_MEMORY( &networkBuffer, &context.networkBuffer, sizeof( networkBuffer ) ); } + /** * @brief Test that any NULL parameter causes MQTT_Init to return MQTTBadParameter. */ @@ -1175,6 +1176,8 @@ static uint8_t * MQTT_SerializeConnectFixedHeader_cb( uint8_t * pIndex, /** * @brief Test MQTT_Connect, except for receiving the CONNACK. */ + + void test_MQTT_Connect_sendConnect_writev_error( void ) { MQTTContext_t mqttContext = { 0 }; From 19e8da867956c2533e80c8b3b79976f41babfa01 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Mon, 17 Jun 2024 10:19:10 +0000 Subject: [PATCH 10/82] v3 error --- source/core_mqtt.c | 2 +- source/core_mqtt_serializer.c | 7 +- source/include/core_mqtt_config_defaults.h | 1 + source/include/core_mqtt_serializer.h | 1 - test/CMakeLists.txt | 4 +- test/unit-test/{ => MQTT}/CMakeLists.txt | 0 .../unit-test/{ => MQTT}/cmock_opaque_types.h | 0 .../{MQTTV5 => MQTT}/core_mqtt_config.h | 7 +- .../{ => MQTT}/core_mqtt_serializer_utest.c | 0 test/unit-test/MQTT/core_mqtt_state_utest.c | 1170 +++++++++++++++++ test/unit-test/{ => MQTT}/core_mqtt_utest.c | 0 test/unit-test/MQTTV5/core_mqtt_v5_utest.c | 266 ---- .../{MQTTV5 => MQTTv5}/CMakeLists.txt | 76 +- .../cmock_opaque_types.h} | 39 +- .../unit-test/{ => MQTTv5}/core_mqtt_config.h | 10 +- .../core_mqttv5_serializer_utest.c} | 60 +- .../MQTTv5/core_mqttv5_state_utest.c | 59 + test/unit-test/MQTTv5/core_mqttv5_utest.c | 266 ++++ test/unit-test/core_mqtt_state_utest.c | 1170 ----------------- 19 files changed, 1619 insertions(+), 1519 deletions(-) rename test/unit-test/{ => MQTT}/CMakeLists.txt (100%) rename test/unit-test/{ => MQTT}/cmock_opaque_types.h (100%) rename test/unit-test/{MQTTV5 => MQTT}/core_mqtt_config.h (95%) rename test/unit-test/{ => MQTT}/core_mqtt_serializer_utest.c (100%) create mode 100644 test/unit-test/MQTT/core_mqtt_state_utest.c rename test/unit-test/{ => MQTT}/core_mqtt_utest.c (100%) delete mode 100644 test/unit-test/MQTTV5/core_mqtt_v5_utest.c rename test/unit-test/{MQTTV5 => MQTTv5}/CMakeLists.txt (66%) rename test/unit-test/{MQTTV5/core_mqtt_v5_state_utest.c => MQTTv5/cmock_opaque_types.h} (63%) rename test/unit-test/{ => MQTTv5}/core_mqtt_config.h (90%) rename test/unit-test/{MQTTV5/core_mqtt_v5_serializer_utest.c => MQTTv5/core_mqttv5_serializer_utest.c} (74%) create mode 100644 test/unit-test/MQTTv5/core_mqttv5_state_utest.c create mode 100644 test/unit-test/MQTTv5/core_mqttv5_utest.c delete mode 100644 test/unit-test/core_mqtt_state_utest.c diff --git a/source/core_mqtt.c b/source/core_mqtt.c index b0afe3f06..ce6c25f0a 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -2472,7 +2472,7 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, userProperty[i].key, userProperty[i].keyLength, iterator, - &totalMessageLength, willUserId[i]); + &totalMessageLength, &willUserId[i]); iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 620ebd7b2..aa3d3f2fe 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -345,7 +345,7 @@ static uint8_t* encodeRemainingLength(uint8_t* pDestination, * * @return The size of the remaining length if it were to be encoded. */ -size_t remainingLengthEncodedSize(size_t length); + static size_t remainingLengthEncodedSize(size_t length); /** * @brief Encode a string whose size is at maximum 16 bits in length. @@ -613,6 +613,9 @@ MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProp if(pConnectProperties==NULL){ status=MQTTBadParameter; } + else if(pConnectProperties->maxPacketSize==0){ + status=MQTTBadParameter; + } if(status==MQTTSuccess){ if (pConnectProperties->sessionExpiry != 0) { @@ -1300,7 +1303,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti #endif /*-----------------------------------------------------------*/ -size_t remainingLengthEncodedSize(size_t length) + static size_t remainingLengthEncodedSize(size_t length) { size_t encodedSize; diff --git a/source/include/core_mqtt_config_defaults.h b/source/include/core_mqtt_config_defaults.h index 6a9aed48b..c4654563c 100644 --- a/source/include/core_mqtt_config_defaults.h +++ b/source/include/core_mqtt_config_defaults.h @@ -78,6 +78,7 @@ #define MAX_USER_PROPERTY (5U) #endif #endif +// #define MQTT_VERSION_5_ENABLED (false) /** * @ingroup mqtt_constants diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index 466d7254f..c620cf9ad 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -1385,7 +1385,6 @@ uint8_t * MQTT_SerializeUnsubscribeHeader( size_t remainingLength, uint8_t * pIndex, uint16_t packetId ); /** @endcond */ -size_t remainingLengthEncodedSize( size_t length ); #if(MQTT_VERSION_5_ENABLED) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 196d8effe..c3154de28 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -93,9 +93,9 @@ if( UNITTEST ) include( ${MODULE_ROOT_DIR}/tools/cmock/create_test.cmake ) # Include build configuration for unit tests. - add_subdirectory( unit-test ) + add_subdirectory( unit-test/MQTT) + # add_subdirectory( unit-test/MQTTv5) - include( ${MODULE_ROOT_DIR}/test/unit-test/MQTTV5/CMakeLists.txt) # ==================================== Coverage Analysis configuration ======================================== diff --git a/test/unit-test/CMakeLists.txt b/test/unit-test/MQTT/CMakeLists.txt similarity index 100% rename from test/unit-test/CMakeLists.txt rename to test/unit-test/MQTT/CMakeLists.txt diff --git a/test/unit-test/cmock_opaque_types.h b/test/unit-test/MQTT/cmock_opaque_types.h similarity index 100% rename from test/unit-test/cmock_opaque_types.h rename to test/unit-test/MQTT/cmock_opaque_types.h diff --git a/test/unit-test/MQTTV5/core_mqtt_config.h b/test/unit-test/MQTT/core_mqtt_config.h similarity index 95% rename from test/unit-test/MQTTV5/core_mqtt_config.h rename to test/unit-test/MQTT/core_mqtt_config.h index 50f2be066..1adec1b89 100644 --- a/test/unit-test/MQTTV5/core_mqtt_config.h +++ b/test/unit-test/MQTT/core_mqtt_config.h @@ -31,7 +31,6 @@ /* Standard include. */ #include -#define MQTT_VERSION_5_ENABLED (false) /**************************************************/ /******* DO NOT CHANGE the following order ********/ @@ -44,7 +43,7 @@ * 3. Include the header file "logging_stack.h", if logging is enabled for MQTT. */ -#include "logging_levels.h" +#include "../logging/logging_levels.h" /* Logging configuration for the MQTT library. */ #ifndef LIBRARY_LOG_NAME @@ -55,7 +54,7 @@ #define LIBRARY_LOG_LEVEL LOG_NONE #endif -#include "logging_stack.h" +#include "../logging/logging_stack.h" /************ End of logging configuration ****************/ @@ -74,4 +73,6 @@ #define MQTT_SEND_TIMEOUT_MS ( 20U ) +// #define MQTT_VERSION_5_ENABLED (false) + #endif /* ifndef CORE_MQTT_CONFIG_H_ */ diff --git a/test/unit-test/core_mqtt_serializer_utest.c b/test/unit-test/MQTT/core_mqtt_serializer_utest.c similarity index 100% rename from test/unit-test/core_mqtt_serializer_utest.c rename to test/unit-test/MQTT/core_mqtt_serializer_utest.c diff --git a/test/unit-test/MQTT/core_mqtt_state_utest.c b/test/unit-test/MQTT/core_mqtt_state_utest.c new file mode 100644 index 000000000..e2d01bde7 --- /dev/null +++ b/test/unit-test/MQTT/core_mqtt_state_utest.c @@ -0,0 +1,1170 @@ +// /* +// * coreMQTT v2.3.0 +// * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// * +// * SPDX-License-Identifier: MIT +// * +// * Permission is hereby granted, free of charge, to any person obtaining a copy of +// * this software and associated documentation files (the "Software"), to deal in +// * the Software without restriction, including without limitation the rights to +// * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +// * the Software, and to permit persons to whom the Software is furnished to do so, +// * subject to the following conditions: +// * +// * The above copyright notice and this permission notice shall be included in all +// * copies or substantial portions of the Software. +// * +// * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +// * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +// * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +// * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// */ + +// /** +// * @file core_mqtt_state_utest.c +// * @brief Unit tests for functions in core_mqtt_state.h. +// */ +// #include +// #include "unity.h" + +// #include "core_mqtt_state.h" + +// #define MQTT_PACKET_ID_INVALID ( ( uint16_t ) 0U ) +// #define MQTT_STATE_ARRAY_MAX_COUNT 10 + +// /* ============================ UNITY FIXTURES ============================ */ +// void setUp( void ) +// { +// } + +// /* called before each testcase */ +// void tearDown( void ) +// { +// } + +// /* called at the beginning of the whole suite */ +// void suiteSetUp() +// { +// } + +// /* called at the end of the whole suite */ +// int suiteTearDown( int numFailures ) +// { +// return numFailures; +// } + +// /* ========================================================================== */ + +// static int32_t transportRecvSuccess( NetworkContext_t * pNetworkContext, +// void * pBuffer, +// size_t bytesToRead ) +// { +// ( void ) pNetworkContext; +// ( void ) pBuffer; +// return bytesToRead; +// } + +// static int32_t transportSendSuccess( NetworkContext_t * pNetworkContext, +// const void * pBuffer, +// size_t bytesToWrite ) +// { +// ( void ) pNetworkContext; +// ( void ) pBuffer; +// return bytesToWrite; +// } + +// /** +// * @brief A mocked timer query function that increments on every call. This +// * guarantees that only a single iteration runs in the ProcessLoop for ease +// * of testing. +// */ +// static uint32_t getTime( void ) +// { +// return 0; +// } + +// /** +// * @brief Mocked MQTT event callback. +// * +// * @param[in] pContext MQTT context pointer. +// * @param[in] pPacketInfo Packet Info pointer for the incoming packet. +// * @param[in] pDeserializedInfo Deserialized information from the incoming packet. +// */ +// static void eventCallback( MQTTContext_t * pContext, +// MQTTPacketInfo_t * pPacketInfo, +// MQTTDeserializedInfo_t * pDeserializedInfo ) +// { +// ( void ) pContext; +// ( void ) pPacketInfo; +// ( void ) pDeserializedInfo; +// } + +// static void resetPublishRecords( MQTTContext_t * pMqttContext ) +// { +// uint32_t i = 0; + +// for( ; i < MQTT_STATE_ARRAY_MAX_COUNT; i++ ) +// { +// pMqttContext->outgoingPublishRecords[ i ].packetId = MQTT_PACKET_ID_INVALID; +// pMqttContext->outgoingPublishRecords[ i ].qos = MQTTQoS0; +// pMqttContext->outgoingPublishRecords[ i ].publishState = MQTTStateNull; +// pMqttContext->incomingPublishRecords[ i ].packetId = MQTT_PACKET_ID_INVALID; +// pMqttContext->incomingPublishRecords[ i ].qos = MQTTQoS0; +// pMqttContext->incomingPublishRecords[ i ].publishState = MQTTStateNull; +// } +// } + +// static void addToRecord( MQTTPubAckInfo_t * records, +// size_t index, +// uint16_t packetId, +// MQTTQoS_t qos, +// MQTTPublishState_t state ) +// { +// records[ index ].packetId = packetId; +// records[ index ].qos = qos; +// records[ index ].publishState = state; +// } + +// static void fillRecord( MQTTPubAckInfo_t * records, +// uint16_t startingId, +// MQTTQoS_t qos, +// MQTTPublishState_t state ) +// { +// uint32_t i; + +// for( i = 0; i < MQTT_STATE_ARRAY_MAX_COUNT; i++ ) +// { +// records[ i ].packetId = startingId + i; +// records[ i ].qos = qos; +// records[ i ].publishState = state; +// } +// } + +// static void validateRecordAt( MQTTPubAckInfo_t * records, +// size_t index, +// uint16_t packetId, +// MQTTQoS_t qos, +// MQTTPublishState_t state ) +// { +// TEST_ASSERT_EQUAL( packetId, records[ index ].packetId ); +// TEST_ASSERT_EQUAL( qos, records[ index ].qos ); +// TEST_ASSERT_EQUAL( state, records[ index ].publishState ); +// } + +// /* ========================================================================== */ + +// void test_MQTT_ReserveState( void ) +// { +// MQTTContext_t mqttContext = { 0 }; +// MQTTStatus_t status; +// const uint16_t PACKET_ID = 1; +// const uint16_t PACKET_ID2 = 2; +// const uint16_t PACKET_ID3 = 3; +// const size_t index = MQTT_STATE_ARRAY_MAX_COUNT / 2; +// TransportInterface_t transport; +// MQTTFixedBuffer_t networkBuffer = { 0 }; + +// transport.recv = transportRecvSuccess; +// transport.send = transportSendSuccess; + +// MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; +// MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; + +// status = MQTT_Init( &mqttContext, &transport, +// getTime, eventCallback, &networkBuffer ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); + +// status = MQTT_InitStatefulQoS( &mqttContext, +// outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, +// incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); + +// /* QoS 0 returns success. */ +// TEST_ASSERT_EQUAL( MQTTSuccess, MQTT_ReserveState( NULL, MQTT_PACKET_ID_INVALID, MQTTQoS0 ) ); + +// /* Test for bad parameters */ +// status = MQTT_ReserveState( &mqttContext, MQTT_PACKET_ID_INVALID, MQTTQoS1 ); +// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); +// status = MQTT_ReserveState( NULL, PACKET_ID, MQTTQoS1 ); +// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + +// /* Test for collisions. */ +// mqttContext.outgoingPublishRecords[ 0 ].packetId = PACKET_ID; +// mqttContext.outgoingPublishRecords[ 0 ].qos = MQTTQoS1; +// mqttContext.outgoingPublishRecords[ 0 ].publishState = MQTTPublishSend; + +// status = MQTT_ReserveState( &mqttContext, PACKET_ID, MQTTQoS1 ); +// TEST_ASSERT_EQUAL( MQTTStateCollision, status ); + + +// /* Test for no memory. */ +// fillRecord( mqttContext.outgoingPublishRecords, 2, MQTTQoS1, MQTTPublishSend ); +// status = MQTT_ReserveState( &mqttContext, PACKET_ID, MQTTQoS1 ); +// TEST_ASSERT_EQUAL( MQTTNoMemory, status ); + +// /* Success. */ +// resetPublishRecords( &mqttContext ); +// status = MQTT_ReserveState( &mqttContext, PACKET_ID, MQTTQoS1 ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// /* Reserve uses first available entry. */ +// TEST_ASSERT_EQUAL( PACKET_ID, mqttContext.outgoingPublishRecords[ 0 ].packetId ); +// TEST_ASSERT_EQUAL( MQTTQoS1, mqttContext.outgoingPublishRecords[ 0 ].qos ); +// TEST_ASSERT_EQUAL( MQTTPublishSend, mqttContext.outgoingPublishRecords[ 0 ].publishState ); + +// /* Success. +// * Add record after the highest non empty index. +// * Already an entry exists at index 0. Adding 1 more entry at index 5. +// * The new index used should be 6. */ +// addToRecord( mqttContext.outgoingPublishRecords, index, PACKET_ID2, MQTTQoS2, MQTTPubRelSend ); +// status = MQTT_ReserveState( &mqttContext, PACKET_ID3, MQTTQoS1 ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// TEST_ASSERT_EQUAL( PACKET_ID3, mqttContext.outgoingPublishRecords[ index + 1 ].packetId ); +// TEST_ASSERT_EQUAL( MQTTQoS1, mqttContext.outgoingPublishRecords[ index + 1 ].qos ); +// TEST_ASSERT_EQUAL( MQTTPublishSend, mqttContext.outgoingPublishRecords[ index + 1 ].publishState ); +// } + +// /* ========================================================================== */ + +// void test_MQTT_RemoveStateRecord_ContextNULL( void ) +// { +// MQTTStatus_t status; + +// status = MQTT_RemoveStateRecord( NULL, 0 ); + +// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); +// } + +// /* ========================================================================== */ + +// void test_MQTT_RemoveStateRecord_RecordsNULL( void ) +// { +// MQTTStatus_t status; +// MQTTContext_t context; + +// memset( &context, 0, sizeof( MQTTContext_t ) ); + +// status = MQTT_RemoveStateRecord( &context, 0 ); + +// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); +// } + +// /* ========================================================================== */ + +// void test_MQTT_RemoveStateRecord_NoRecordFound( void ) +// { +// MQTTStatus_t status; +// MQTTContext_t context; +// MQTTPubAckInfo_t outgoingRecords[ 5 ]; + +// memset( &context, 0, sizeof( MQTTContext_t ) ); + +// context.outgoingPublishRecords = outgoingRecords; +// context.outgoingPublishRecordMaxCount = 5; + +// memset( context.outgoingPublishRecords, 0, sizeof( outgoingRecords ) ); + +// /* Any non-zero packet ID. */ +// status = MQTT_RemoveStateRecord( &context, 12U ); + +// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); +// } + +// /* ========================================================================== */ + +// void test_MQTT_RemoveStateRecord_RecordFoundIncorrectQoS( void ) +// { +// MQTTStatus_t status; +// MQTTContext_t context; +// MQTTPubAckInfo_t outgoingRecords[ 5 ]; +// const uint16_t packetID = 12; +// /* Any state except null state. */ +// const MQTTPublishState_t state = MQTTPubRelSend; + +// memset( &context, 0, sizeof( MQTTContext_t ) ); + +// context.outgoingPublishRecords = outgoingRecords; +// context.outgoingPublishRecordMaxCount = 5; + +// memset( context.outgoingPublishRecords, 0, sizeof( outgoingRecords ) ); + +// context.outgoingPublishRecords[ 0 ].packetId = packetID; +// context.outgoingPublishRecords[ 0 ].publishState = state; +// context.outgoingPublishRecords[ 0 ].qos = MQTTQoS0; + +// /* Any non-zero packet ID. */ +// status = MQTT_RemoveStateRecord( &context, packetID ); + +// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); +// } + +// /* ========================================================================== */ + +// void test_MQTT_RemoveStateRecord_RemoveQoS1Record( void ) +// { +// MQTTStatus_t status; +// MQTTContext_t context; +// MQTTPubAckInfo_t outgoingRecords[ 5 ]; +// const uint16_t packetID = 12; +// /* Any state except null state. */ +// const MQTTPublishState_t state = MQTTPubRelSend; + +// memset( &context, 0, sizeof( MQTTContext_t ) ); + +// context.outgoingPublishRecords = outgoingRecords; +// context.outgoingPublishRecordMaxCount = 5; + +// memset( context.outgoingPublishRecords, 0, sizeof( outgoingRecords ) ); + +// context.outgoingPublishRecords[ 1 ].packetId = packetID; +// context.outgoingPublishRecords[ 1 ].publishState = state; +// context.outgoingPublishRecords[ 1 ].qos = MQTTQoS1; + +// /* Any non-zero packet ID. */ +// status = MQTT_RemoveStateRecord( &context, packetID ); + +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].packetId, MQTT_PACKET_ID_INVALID ); +// TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].publishState, MQTTStateNull ); +// TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].qos, MQTTQoS0 ); +// } + +// /* ========================================================================== */ + +// void test_MQTT_RemoveStateRecord_RemoveQoS2Record( void ) +// { +// MQTTStatus_t status; +// MQTTContext_t context; +// MQTTPubAckInfo_t outgoingRecords[ 5 ]; +// const uint16_t packetID = 12; +// /* Any state except null state. */ +// const MQTTPublishState_t state = MQTTPubRelSend; + +// memset( &context, 0, sizeof( MQTTContext_t ) ); + +// context.outgoingPublishRecords = outgoingRecords; +// context.outgoingPublishRecordMaxCount = 5; + +// memset( context.outgoingPublishRecords, 0, sizeof( outgoingRecords ) ); + +// context.outgoingPublishRecords[ 1 ].packetId = packetID; +// context.outgoingPublishRecords[ 1 ].publishState = state; +// context.outgoingPublishRecords[ 1 ].qos = MQTTQoS2; + +// /* Any non-zero packet ID. */ +// status = MQTT_RemoveStateRecord( &context, packetID ); + +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].packetId, MQTT_PACKET_ID_INVALID ); +// TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].publishState, MQTTStateNull ); +// TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].qos, MQTTQoS0 ); +// } + +// /* ========================================================================== */ + +// void test_MQTT_ReserveState_compactRecords( void ) +// { +// MQTTContext_t mqttContext = { 0 }; +// MQTTStatus_t status; +// const uint16_t PACKET_ID = 1; +// const uint16_t PACKET_ID2 = 2; + +// TransportInterface_t transport; +// MQTTFixedBuffer_t networkBuffer = { 0 }; + +// transport.recv = transportRecvSuccess; +// transport.send = transportSendSuccess; + +// MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; +// MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; + +// status = MQTT_Init( &mqttContext, &transport, +// getTime, eventCallback, &networkBuffer ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); + +// status = MQTT_InitStatefulQoS( &mqttContext, +// outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, +// incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); + +// /* Consider the state of the array with 2 states. 1 indicates a non empty +// * spot and 0 an empty spot. Size of the array is 10. +// * Pre condition - 0 0 0 0 0 0 0 0 0 1. +// * Add an element will try to compact the array and the resulting state +// * should be - 1 1 0 0 0 0 0 0 0 0. */ +// addToRecord( mqttContext.outgoingPublishRecords, +// MQTT_STATE_ARRAY_MAX_COUNT - 1, +// PACKET_ID, +// MQTTQoS1, +// MQTTPubRelSend ); +// status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// /* The existing record should be at index 0. */ +// validateRecordAt( mqttContext.outgoingPublishRecords, +// 0, +// PACKET_ID, +// MQTTQoS1, +// MQTTPubRelSend ); +// /* New record should be added to index 1. */ +// validateRecordAt( mqttContext.outgoingPublishRecords, +// 1, +// PACKET_ID2, +// MQTTQoS1, +// MQTTPublishSend ); + +// /* One free spot. +// * Pre condition - 1 1 1 0 1 1 1 1 1 1. +// * Add an element will try to compact the array and the resulting state +// * should be - 1 1 1 1 1 1 1 1 1 1. */ +// fillRecord( mqttContext.outgoingPublishRecords, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRelSend ); +// /* Invalid record at index 3. */ +// mqttContext.outgoingPublishRecords[ 3 ].packetId = MQTT_PACKET_ID_INVALID; +// status = MQTT_ReserveState( &mqttContext, PACKET_ID, MQTTQoS1 ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// /* The new record should be added to the end. */ +// validateRecordAt( mqttContext.outgoingPublishRecords, +// MQTT_STATE_ARRAY_MAX_COUNT - 1, +// PACKET_ID, +// MQTTQoS1, +// MQTTPublishSend ); +// /* Any new add should result in no memory error. */ +// status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); +// TEST_ASSERT_EQUAL( MQTTNoMemory, status ); + +// /* Alternate free spots. +// * Pre condition - 1 0 1 0 1 0 1 0 1 0. +// * Add an element will skip to compact the array and the resulting state +// * should be - 1 0 1 0 1 0 1 0 1 1. */ +// fillRecord( mqttContext.outgoingPublishRecords, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRelSend ); +// /* Invalidate record at alternate indexes starting from 1. */ +// mqttContext.outgoingPublishRecords[ 1 ].packetId = MQTT_PACKET_ID_INVALID; +// mqttContext.outgoingPublishRecords[ 3 ].packetId = MQTT_PACKET_ID_INVALID; +// mqttContext.outgoingPublishRecords[ 5 ].packetId = MQTT_PACKET_ID_INVALID; +// mqttContext.outgoingPublishRecords[ 7 ].packetId = MQTT_PACKET_ID_INVALID; +// mqttContext.outgoingPublishRecords[ 9 ].packetId = MQTT_PACKET_ID_INVALID; +// status = MQTT_ReserveState( &mqttContext, PACKET_ID, MQTTQoS1 ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// /* The new record should be added to the end. */ +// validateRecordAt( mqttContext.outgoingPublishRecords, +// MQTT_STATE_ARRAY_MAX_COUNT - 1, +// PACKET_ID, +// MQTTQoS1, +// MQTTPublishSend ); + +// /* Array is in state 1 0 1 0 1 0 1 0 1 1. +// * Adding one more element should result in array in state +// * 1 1 1 1 1 1 1 0 0 0. */ +// status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// validateRecordAt( mqttContext.outgoingPublishRecords, 6, PACKET_ID2, MQTTQoS1, MQTTPublishSend ); +// /* Remaining records should be invalid. */ +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 7 ].packetId ); +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 8 ].packetId ); +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 9 ].packetId ); + +// /* Free spots only in the beginning. +// * Pre condition - 0 0 0 0 0 1 1 1 1 1. +// * Add an element will compact the array and the resulting state +// * should be - 1 1 1 1 1 1 0 0 0 0. */ +// fillRecord( mqttContext.outgoingPublishRecords, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRelSend ); +// /* Clear record from 0 to 4. */ +// ( void ) memset( &mqttContext.outgoingPublishRecords[ 0 ], 0x00, 5 * sizeof( MQTTPubAckInfo_t ) ); + +// /* Adding one element should result in array in state +// * 1 1 1 1 1 1 0 0 0 0. */ +// status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// validateRecordAt( mqttContext.outgoingPublishRecords, 5, PACKET_ID2, MQTTQoS1, MQTTPublishSend ); +// /* Remaining records should be cleared. */ +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 6 ].packetId ); +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 7 ].packetId ); +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 8 ].packetId ); +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 9 ].packetId ); + +// /* Fragmented array. +// * Pre condition - 1 0 0 1 1 1 1 0 0 1. +// * Add an element will compact the array and the resulting state +// * should be - 1 1 1 1 1 1 1 0 0 0. */ +// fillRecord( mqttContext.outgoingPublishRecords, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRelSend ); +// /* Clear record at index 1,2,7 and 8. */ +// mqttContext.outgoingPublishRecords[ 1 ].packetId = MQTT_PACKET_ID_INVALID; +// mqttContext.outgoingPublishRecords[ 2 ].packetId = MQTT_PACKET_ID_INVALID; +// mqttContext.outgoingPublishRecords[ 7 ].packetId = MQTT_PACKET_ID_INVALID; +// mqttContext.outgoingPublishRecords[ 8 ].packetId = MQTT_PACKET_ID_INVALID; +// status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// validateRecordAt( mqttContext.outgoingPublishRecords, 6, PACKET_ID2, MQTTQoS1, MQTTPublishSend ); +// /* Remaining records should be cleared. */ +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 7 ].packetId ); +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 8 ].packetId ); +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 9 ].packetId ); + +// /* Fragmented array. +// * Pre condition - 1 0 0 0 0 0 0 0 0 1. +// * Add an element will compact the array and the resulting state +// * should be - 1 1 1 0 0 0 0 0 0 0. */ +// resetPublishRecords( &mqttContext ); +// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecPending ); +// addToRecord( mqttContext.outgoingPublishRecords, 9, PACKET_ID2 + 1, MQTTQoS2, MQTTPubCompPending ); +// status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// validateRecordAt( mqttContext.outgoingPublishRecords, 2, PACKET_ID2, MQTTQoS1, MQTTPublishSend ); +// /* Validate existing records. */ +// validateRecordAt( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecPending ); +// validateRecordAt( mqttContext.outgoingPublishRecords, 1, PACKET_ID2 + 1, MQTTQoS2, MQTTPubCompPending ); +// } + +// /* ========================================================================== */ + +// void test_MQTT_CalculateStatePublish( void ) +// { +// /* QoS 0. */ +// TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStatePublish( MQTT_SEND, MQTTQoS0 ) ); +// TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStatePublish( MQTT_RECEIVE, MQTTQoS0 ) ); + +// /* QoS 1. */ +// TEST_ASSERT_EQUAL( MQTTPubAckPending, MQTT_CalculateStatePublish( MQTT_SEND, MQTTQoS1 ) ); +// TEST_ASSERT_EQUAL( MQTTPubAckSend, MQTT_CalculateStatePublish( MQTT_RECEIVE, MQTTQoS1 ) ); + +// /* QoS 2. */ +// TEST_ASSERT_EQUAL( MQTTPubRecPending, MQTT_CalculateStatePublish( MQTT_SEND, MQTTQoS2 ) ); +// TEST_ASSERT_EQUAL( MQTTPubRecSend, MQTT_CalculateStatePublish( MQTT_RECEIVE, MQTTQoS2 ) ); + +// /* Invalid QoS. */ +// TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStatePublish( MQTT_SEND, 3 ) ); +// } + +// /* ========================================================================== */ + +// void test_MQTT_UpdateStatePublish( void ) +// { +// MQTTContext_t mqttContext = { 0 }; +// const uint16_t PACKET_ID = 1; +// MQTTStateOperation_t operation = MQTT_SEND; +// MQTTQoS_t qos = MQTTQoS0; +// MQTTPublishState_t state; +// MQTTStatus_t status; + +// TransportInterface_t transport; +// MQTTFixedBuffer_t networkBuffer = { 0 }; + +// transport.recv = transportRecvSuccess; +// transport.send = transportSendSuccess; + +// MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; +// MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; + +// status = MQTT_Init( &mqttContext, &transport, +// getTime, eventCallback, &networkBuffer ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); + +// status = MQTT_InitStatefulQoS( &mqttContext, +// outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, +// incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); + +// /* QoS 0. */ +// status = MQTT_UpdateStatePublish( &mqttContext, 0, operation, qos, &state ); +// TEST_ASSERT_EQUAL( MQTTPublishDone, state ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); + +// /* Invalid parameters. */ +// /* Invalid ID. */ +// qos = MQTTQoS1; +// status = MQTT_UpdateStatePublish( &mqttContext, 0, operation, qos, &state ); +// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); +// /* NULL context. */ +// status = MQTT_UpdateStatePublish( NULL, PACKET_ID, operation, qos, &state ); +// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); +// /* NULL new state. */ +// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, NULL ); +// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); +// /* No record found. */ +// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); +// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); +// /* QoS mismatch. */ +// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPublishSend ); +// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); +// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + +// /* Invalid state transition. */ +// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS1, MQTTPubRelPending ); +// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); +// TEST_ASSERT_EQUAL( MQTTIllegalState, status ); + +// /* Invalid QoS. */ +// operation = MQTT_SEND; +// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, 3, MQTTPublishSend ); +// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, 3, &state ); +// TEST_ASSERT_EQUAL( MQTTIllegalState, status ); +// operation = MQTT_RECEIVE; +// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, 3, &state ); +// TEST_ASSERT_EQUAL( MQTTIllegalState, status ); + +// /* Invalid current state. */ +// operation = MQTT_SEND; +// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, qos, MQTTStateNull ); +// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); +// TEST_ASSERT_EQUAL( MQTTIllegalState, status ); + +// /* Collision. */ +// operation = MQTT_RECEIVE; +// addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS1, MQTTPubAckSend ); +// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); +// TEST_ASSERT_EQUAL( MQTTStateCollision, status ); + +// /* No memory. */ +// operation = MQTT_RECEIVE; +// fillRecord( mqttContext.incomingPublishRecords, 2, MQTTQoS1, MQTTPublishSend ); +// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); +// TEST_ASSERT_EQUAL( MQTTNoMemory, status ); + +// resetPublishRecords( &mqttContext ); + +// /* QoS 1. */ +// qos = MQTTQoS1; +// /* Send. */ +// operation = MQTT_SEND; +// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS1, MQTTPublishSend ); +// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// TEST_ASSERT_EQUAL( MQTTPubAckPending, state ); +// TEST_ASSERT_EQUAL( MQTTPubAckPending, mqttContext.outgoingPublishRecords[ 0 ].publishState ); +// /* Resend when record already exists. */ +// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// TEST_ASSERT_EQUAL( MQTTPubAckPending, state ); +// TEST_ASSERT_EQUAL( MQTTPubAckPending, mqttContext.outgoingPublishRecords[ 0 ].publishState ); +// /* Receive. */ +// operation = MQTT_RECEIVE; +// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// TEST_ASSERT_EQUAL( MQTTPubAckSend, state ); +// TEST_ASSERT_EQUAL( MQTTPubAckSend, mqttContext.incomingPublishRecords[ 0 ].publishState ); +// /* Receive duplicate incoming publish. */ +// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); +// TEST_ASSERT_EQUAL( MQTTStateCollision, status ); +// TEST_ASSERT_EQUAL( MQTTPubAckSend, state ); +// TEST_ASSERT_EQUAL( MQTTPubAckSend, mqttContext.incomingPublishRecords[ 0 ].publishState ); + +// resetPublishRecords( &mqttContext ); + +// /* QoS 2. */ +// qos = MQTTQoS2; +// /* Send. */ +// operation = MQTT_SEND; +// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPublishSend ); +// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// TEST_ASSERT_EQUAL( MQTTPubRecPending, state ); +// TEST_ASSERT_EQUAL( MQTTPubRecPending, mqttContext.outgoingPublishRecords[ 0 ].publishState ); +// /* Resend when record already exists. */ +// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// TEST_ASSERT_EQUAL( MQTTPubRecPending, state ); +// TEST_ASSERT_EQUAL( MQTTPubRecPending, mqttContext.outgoingPublishRecords[ 0 ].publishState ); +// /* Receive. */ +// operation = MQTT_RECEIVE; +// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// TEST_ASSERT_EQUAL( MQTTPubRecSend, state ); +// TEST_ASSERT_EQUAL( MQTTPubRecSend, mqttContext.incomingPublishRecords[ 0 ].publishState ); +// /* Receive incoming publish when the packet record is in state #MQTTPubRecSend. */ +// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); +// TEST_ASSERT_EQUAL( MQTTStateCollision, status ); +// TEST_ASSERT_EQUAL( MQTTPubRecSend, state ); +// TEST_ASSERT_EQUAL( MQTTPubRecSend, mqttContext.incomingPublishRecords[ 0 ].publishState ); +// /* Receive incoming publish when the packet record is in state #MQTTPubRelPending. */ +// addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRelPending ); +// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); +// TEST_ASSERT_EQUAL( MQTTStateCollision, status ); +// /* The returned state will always be #MQTTPubRecSend as a PUBREC need to be sent. */ +// TEST_ASSERT_EQUAL( MQTTPubRecSend, state ); +// TEST_ASSERT_EQUAL( MQTTPubRelPending, mqttContext.incomingPublishRecords[ 0 ].publishState ); +// } + +// /* ========================================================================== */ + +// void test_MQTT_CalculateStateAck( void ) +// { +// MQTTPubAckType_t ack; +// MQTTQoS_t qos; +// MQTTStateOperation_t opType; + +// /* Invalid qos. */ +// qos = MQTTQoS0; +// ack = MQTTPuback; +// opType = MQTT_SEND; +// TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStateAck( ack, opType, qos ) ); +// qos = MQTTQoS2; +// TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStateAck( ack, opType, qos ) ); +// qos = MQTTQoS0; +// ack = MQTTPubrec; +// TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStateAck( ack, opType, qos ) ); +// qos = MQTTQoS1; +// TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStateAck( ack, opType, qos ) ); + +// /* Invalid ack type. */ +// ack = MQTTPubcomp + 1; +// TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStateAck( ack, opType, qos ) ); + +// /* PUBACK */ +// ack = MQTTPuback; +// qos = MQTTQoS1; +// opType = MQTT_SEND; +// TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStateAck( ack, opType, qos ) ); +// opType = MQTT_RECEIVE; +// TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStateAck( ack, opType, qos ) ); + +// /* QoS 2 tests. */ +// qos = MQTTQoS2; + +// /* PUBREC */ +// ack = MQTTPubrec; +// /* Send */ +// opType = MQTT_SEND; +// TEST_ASSERT_EQUAL( MQTTPubRelPending, MQTT_CalculateStateAck( ack, opType, qos ) ); +// /* Receive */ +// opType = MQTT_RECEIVE; +// TEST_ASSERT_EQUAL( MQTTPubRelSend, MQTT_CalculateStateAck( ack, opType, qos ) ); + +// /* PUBREL */ +// ack = MQTTPubrel; +// /* Send */ +// opType = MQTT_SEND; +// TEST_ASSERT_EQUAL( MQTTPubCompPending, MQTT_CalculateStateAck( ack, opType, qos ) ); +// /* Receive */ +// opType = MQTT_RECEIVE; +// TEST_ASSERT_EQUAL( MQTTPubCompSend, MQTT_CalculateStateAck( ack, opType, qos ) ); + +// /* PUBCOMP */ +// ack = MQTTPubcomp; +// TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStateAck( ack, opType, qos ) ); +// opType = MQTT_SEND; +// TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStateAck( ack, opType, qos ) ); +// } + +// /* ========================================================================== */ + +// void test_MQTT_UpdateStateAck( void ) +// { +// MQTTContext_t mqttContext = { 0 }; +// MQTTPubAckType_t ack = MQTTPuback; +// MQTTStateOperation_t operation = MQTT_RECEIVE; +// MQTTPublishState_t state = MQTTStateNull; +// MQTTStatus_t status; + +// const uint16_t PACKET_ID = 1; +// TransportInterface_t transport; +// MQTTFixedBuffer_t networkBuffer = { 0 }; + +// transport.recv = transportRecvSuccess; +// transport.send = transportSendSuccess; + +// MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; +// MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; + +// status = MQTT_Init( &mqttContext, &transport, +// getTime, eventCallback, &networkBuffer ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); + +// status = MQTT_InitStatefulQoS( &mqttContext, +// outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, +// incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); + +// /* NULL parameters. */ +// status = MQTT_UpdateStateAck( NULL, PACKET_ID, ack, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); +// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, NULL ); +// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); +// /* Invalid packet ID. */ +// status = MQTT_UpdateStateAck( &mqttContext, 0, ack, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); +// /* No matching record found. */ +// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTBadResponse, status ); + +// /* Invalid transitions. */ +// /* Invalid transition from #MQTTPubRelPending. */ +// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRelPending ); +// ack = MQTTPubrel; +// operation = MQTT_SEND; +// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTIllegalState, status ); +// /* Invalid transition from #MQTTPubCompSend. */ +// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubCompSend ); +// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTIllegalState, status ); +// /* Invalid transition from #MQTTPubCompPending. */ +// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubCompPending ); +// ack = MQTTPubrec; +// operation = MQTT_RECEIVE; +// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTIllegalState, status ); +// /* Invalid transition from #MQTTPubRecPending. */ +// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecPending ); +// ack = MQTTPubcomp; +// status = MQTT_UpdateStateAck( &mqttContext, 1, ack, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTIllegalState, status ); + +// /* Invalid ack type. */ +// status = MQTT_UpdateStateAck( &mqttContext, 1, MQTTPubcomp + 1, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + +// /* Invalid current state. */ +// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPublishDone ); +// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTIllegalState, status ); +// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPublishSend ); +// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTIllegalState, status ); +// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTStateNull ); +// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTIllegalState, status ); + +// resetPublishRecords( &mqttContext ); + +// /* QoS 1, receive PUBACK for outgoing publish. */ +// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS1, MQTTPubAckPending ); +// operation = MQTT_RECEIVE; +// ack = MQTTPuback; +// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// TEST_ASSERT_EQUAL( MQTTPublishDone, state ); + +// /* Test for deletion. */ +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 0 ].packetId ); +// /* Send PUBACK for incoming publish. */ +// operation = MQTT_SEND; +// addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS1, MQTTPubAckSend ); +// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// TEST_ASSERT_EQUAL( MQTTPublishDone, state ); + +// resetPublishRecords( &mqttContext ); + +// /* QoS 2, PUBREL. */ +// /* Outgoing. */ +// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRelSend ); +// operation = MQTT_SEND; +// ack = MQTTPubrel; +// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// TEST_ASSERT_EQUAL( MQTTPubCompPending, state ); +// /* Outgoing. Resend PUBREL when record in state #MQTTPubCompPending. */ +// operation = MQTT_SEND; +// ack = MQTTPubrel; +// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// TEST_ASSERT_EQUAL( MQTTPubCompPending, state ); +// /* Incoming. */ +// addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRelPending ); +// operation = MQTT_RECEIVE; +// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// TEST_ASSERT_EQUAL( MQTTPubCompSend, state ); +// /* Test for update. */ +// TEST_ASSERT_EQUAL( MQTTPubCompSend, mqttContext.incomingPublishRecords[ 0 ].publishState ); +// /* Incoming. Duplicate PUBREL is received when record is in state #MQTTPubRelPending. */ +// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// TEST_ASSERT_EQUAL( MQTTPubCompSend, state ); + +// /* QoS 2, PUBREC. */ +// /* Outgoing. */ +// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecPending ); +// operation = MQTT_RECEIVE; +// ack = MQTTPubrec; +// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); + +// /* Receiving a PUBREC will move the record to the end. +// * In this case, only one record exists, no moving is required. */ +// TEST_ASSERT_EQUAL( PACKET_ID, mqttContext.outgoingPublishRecords[ 0 ].packetId ); +// TEST_ASSERT_EQUAL( MQTTQoS2, mqttContext.outgoingPublishRecords[ 0 ].qos ); +// TEST_ASSERT_EQUAL( MQTTPubRelSend, mqttContext.outgoingPublishRecords[ 0 ].publishState ); + +// /* Outgoing. +// * Test if the record moves to the end of the records when PUBREC is +// * received. */ +// resetPublishRecords( &mqttContext ); +// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecPending ); +// addToRecord( mqttContext.outgoingPublishRecords, 1, PACKET_ID + 1, MQTTQoS2, MQTTPubRelSend ); +// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); + +// /* Receiving a PUBREC will move the record to the end. +// * In this case, the record will be moved to index 2. */ +// TEST_ASSERT_EQUAL( PACKET_ID, mqttContext.outgoingPublishRecords[ 2 ].packetId ); +// TEST_ASSERT_EQUAL( MQTTQoS2, mqttContext.outgoingPublishRecords[ 2 ].qos ); +// TEST_ASSERT_EQUAL( MQTTPubRelSend, mqttContext.outgoingPublishRecords[ 2 ].publishState ); +// /* Record at the current index will be marked as invalid. */ +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 0 ].packetId ); + +// /* Incoming. */ +// addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecSend ); +// operation = MQTT_SEND; +// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// TEST_ASSERT_EQUAL( MQTTPubRelPending, state ); +// /* Incoming. Duplicate publish received and record is in state #MQTTPubRelPending. */ +// addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRelPending ); +// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// TEST_ASSERT_EQUAL( MQTTPubRelPending, state ); + +// /* QoS 2, PUBCOMP. */ +// /* Outgoing. */ +// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubCompPending ); +// operation = MQTT_RECEIVE; +// ack = MQTTPubcomp; +// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// TEST_ASSERT_EQUAL( MQTTPublishDone, state ); +// /* Incoming. */ +// addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubCompSend ); +// operation = MQTT_SEND; +// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// TEST_ASSERT_EQUAL( MQTTPublishDone, state ); +// } + +// /* ========================================================================== */ + +// void test_MQTT_AckToResend( void ) +// { +// MQTTContext_t mqttContext = { 0 }; +// MQTTStateCursor_t cursor = MQTT_STATE_CURSOR_INITIALIZER; +// MQTTPublishState_t state = MQTTStateNull; +// uint16_t packetId; +// const uint16_t PACKET_ID = 1; +// const uint16_t PACKET_ID2 = 2; +// const uint16_t PACKET_ID3 = 3; +// const uint16_t PACKET_ID4 = 4; +// const size_t index = 0; +// const size_t index2 = 1; +// const size_t index3 = MQTT_STATE_ARRAY_MAX_COUNT / 2; +// const size_t index4 = index3 + 2; + +// MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; +// MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; +// MQTTStatus_t status; +// TransportInterface_t transport; +// MQTTFixedBuffer_t networkBuffer = { 0 }; + +// transport.recv = transportRecvSuccess; +// transport.send = transportSendSuccess; + +// status = MQTT_Init( &mqttContext, &transport, +// getTime, eventCallback, &networkBuffer ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); + +// status = MQTT_InitStatefulQoS( &mqttContext, +// outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, +// incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); + +// /* Invalid parameters. */ +// packetId = MQTT_PubrelToResend( NULL, &cursor, &state ); +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); +// packetId = MQTT_PubrelToResend( &mqttContext, NULL, &state ); +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); +// packetId = MQTT_PubrelToResend( &mqttContext, &cursor, NULL ); +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); + +// /* No packet exists. */ +// cursor = MQTT_STATE_CURSOR_INITIALIZER; +// packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); +// TEST_ASSERT_EQUAL( MQTTStateNull, state ); +// TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); + +// /* No packet exists in state #MQTTPubCompPending or #MQTTPubCompPending states. */ +// cursor = MQTT_STATE_CURSOR_INITIALIZER; +// addToRecord( mqttContext.outgoingPublishRecords, index, PACKET_ID3, MQTTQoS2, MQTTPubRelPending ); +// addToRecord( mqttContext.outgoingPublishRecords, index2, PACKET_ID4, MQTTQoS2, MQTTPubCompSend ); +// packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); +// TEST_ASSERT_EQUAL( MQTTStateNull, state ); +// TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); + +// /* Add a record in #MQTTPubCompPending state. */ +// cursor = MQTT_STATE_CURSOR_INITIALIZER; +// addToRecord( mqttContext.outgoingPublishRecords, index3, PACKET_ID, MQTTQoS2, MQTTPubCompPending ); +// packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); +// TEST_ASSERT_EQUAL( PACKET_ID, packetId ); +// TEST_ASSERT_EQUAL( index3 + 1, cursor ); +// TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); + +// /* Add another record in #MQTTPubCompPending state. */ +// addToRecord( mqttContext.outgoingPublishRecords, index4, PACKET_ID2, MQTTQoS2, MQTTPubCompPending ); +// packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); +// TEST_ASSERT_EQUAL( PACKET_ID2, packetId ); +// TEST_ASSERT_EQUAL( index4 + 1, cursor ); +// TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); + +// /* Add another record in #MQTTPubRelSend state. */ +// addToRecord( mqttContext.outgoingPublishRecords, index4 + 1, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRelSend ); +// packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); +// TEST_ASSERT_EQUAL( PACKET_ID2 + 1, packetId ); +// TEST_ASSERT_EQUAL( index4 + 2, cursor ); +// TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); + +// /* Only one record in #MQTTPubRelSend state. */ +// resetPublishRecords( &mqttContext ); +// cursor = MQTT_STATE_CURSOR_INITIALIZER; +// addToRecord( mqttContext.outgoingPublishRecords, index3, PACKET_ID, MQTTQoS2, MQTTPubRelSend ); +// packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); +// TEST_ASSERT_EQUAL( PACKET_ID, packetId ); +// TEST_ASSERT_EQUAL( index3 + 1, cursor ); +// TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); + +// /* Further search should be return no valid packets. */ +// state = MQTTStateNull; +// packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); +// TEST_ASSERT_EQUAL( MQTTStateNull, state ); +// TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); +// } + +// void test_MQTT_PublishToResend( void ) +// { +// MQTTContext_t mqttContext = { 0 }; +// MQTTStateCursor_t cursor = MQTT_STATE_CURSOR_INITIALIZER; +// uint16_t packetId; +// const uint16_t PACKET_ID = 1; +// const uint16_t PACKET_ID2 = 2; +// const uint16_t PACKET_ID3 = 3; +// const uint16_t PACKET_ID4 = 4; +// const size_t index = 0; +// const size_t index2 = 1; +// const size_t index3 = MQTT_STATE_ARRAY_MAX_COUNT / 2; +// const size_t index4 = index3 + 2; + +// MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; +// MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; +// MQTTStatus_t status; +// TransportInterface_t transport = { 0 }; + +// transport.recv = transportRecvSuccess; +// transport.send = transportSendSuccess; + +// MQTTFixedBuffer_t networkBuffer = { 0 }; + +// status = MQTT_Init( &mqttContext, &transport, +// getTime, eventCallback, &networkBuffer ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); + +// status = MQTT_InitStatefulQoS( &mqttContext, +// outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, +// incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); + + +// /* Invalid parameters. */ +// packetId = MQTT_PublishToResend( NULL, &cursor ); +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); +// packetId = MQTT_PublishToResend( &mqttContext, NULL ); +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); + +// /* No packet exists. */ +// cursor = MQTT_STATE_CURSOR_INITIALIZER; +// packetId = MQTT_PublishToResend( &mqttContext, &cursor ); +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); +// TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); + +// /* No packet exists in state #MQTTPublishSend, #MQTTPubAckPending and +// * #MQTTPubRecPending states. */ +// cursor = MQTT_STATE_CURSOR_INITIALIZER; +// addToRecord( mqttContext.outgoingPublishRecords, index, PACKET_ID3, MQTTQoS2, MQTTPubCompPending ); +// addToRecord( mqttContext.outgoingPublishRecords, index2, PACKET_ID4, MQTTQoS2, MQTTPubRelSend ); +// packetId = MQTT_PublishToResend( &mqttContext, &cursor ); +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); +// TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); + +// /* Add a record in #MQTTPublishSend state. */ +// cursor = MQTT_STATE_CURSOR_INITIALIZER; +// addToRecord( mqttContext.outgoingPublishRecords, index3, PACKET_ID, MQTTQoS2, MQTTPublishSend ); +// packetId = MQTT_PublishToResend( &mqttContext, &cursor ); +// TEST_ASSERT_EQUAL( PACKET_ID, packetId ); +// TEST_ASSERT_EQUAL( index3 + 1, cursor ); + +// /* Add another record in #MQTTPubAckPending state. */ +// addToRecord( mqttContext.outgoingPublishRecords, index4, PACKET_ID2, MQTTQoS1, MQTTPubAckPending ); +// packetId = MQTT_PublishToResend( &mqttContext, &cursor ); +// TEST_ASSERT_EQUAL( PACKET_ID2, packetId ); +// TEST_ASSERT_EQUAL( index4 + 1, cursor ); + +// /* Add another record in #MQTTPubRecPending state. */ +// addToRecord( mqttContext.outgoingPublishRecords, index4 + 1, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRecPending ); +// packetId = MQTT_PublishToResend( &mqttContext, &cursor ); +// TEST_ASSERT_EQUAL( PACKET_ID2 + 1, packetId ); +// TEST_ASSERT_EQUAL( index4 + 2, cursor ); + +// /* Further search should find no packets. */ +// packetId = MQTT_PublishToResend( &mqttContext, &cursor ); +// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); +// TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); +// } + +// /* ========================================================================== */ + +// void test_MQTT_State_strerror( void ) +// { +// MQTTPublishState_t state; +// const char * str = NULL; + +// state = MQTTStateNull; +// str = MQTT_State_strerror( state ); +// TEST_ASSERT_EQUAL_STRING( "MQTTStateNull", str ); + +// state = MQTTPublishSend; +// str = MQTT_State_strerror( state ); +// TEST_ASSERT_EQUAL_STRING( "MQTTPublishSend", str ); + +// state = MQTTPubAckSend; +// str = MQTT_State_strerror( state ); +// TEST_ASSERT_EQUAL_STRING( "MQTTPubAckSend", str ); + +// state = MQTTPubRecSend; +// str = MQTT_State_strerror( state ); +// TEST_ASSERT_EQUAL_STRING( "MQTTPubRecSend", str ); + +// state = MQTTPubRelSend; +// str = MQTT_State_strerror( state ); +// TEST_ASSERT_EQUAL_STRING( "MQTTPubRelSend", str ); + +// state = MQTTPubCompSend; +// str = MQTT_State_strerror( state ); +// TEST_ASSERT_EQUAL_STRING( "MQTTPubCompSend", str ); + +// state = MQTTPubAckPending; +// str = MQTT_State_strerror( state ); +// TEST_ASSERT_EQUAL_STRING( "MQTTPubAckPending", str ); + +// state = MQTTPubRecPending; +// str = MQTT_State_strerror( state ); +// TEST_ASSERT_EQUAL_STRING( "MQTTPubRecPending", str ); + +// state = MQTTPubRelPending; +// str = MQTT_State_strerror( state ); +// TEST_ASSERT_EQUAL_STRING( "MQTTPubRelPending", str ); + +// state = MQTTPubCompPending; +// str = MQTT_State_strerror( state ); +// TEST_ASSERT_EQUAL_STRING( "MQTTPubCompPending", str ); + +// state = MQTTPublishDone; +// str = MQTT_State_strerror( state ); +// TEST_ASSERT_EQUAL_STRING( "MQTTPublishDone", str ); + +// state = MQTTPublishDone + 1; +// str = MQTT_State_strerror( state ); +// TEST_ASSERT_EQUAL_STRING( "Invalid MQTT State", str ); +// } + +// /* ========================================================================== */ diff --git a/test/unit-test/core_mqtt_utest.c b/test/unit-test/MQTT/core_mqtt_utest.c similarity index 100% rename from test/unit-test/core_mqtt_utest.c rename to test/unit-test/MQTT/core_mqtt_utest.c diff --git a/test/unit-test/MQTTV5/core_mqtt_v5_utest.c b/test/unit-test/MQTTV5/core_mqtt_v5_utest.c deleted file mode 100644 index 8856c936e..000000000 --- a/test/unit-test/MQTTV5/core_mqtt_v5_utest.c +++ /dev/null @@ -1,266 +0,0 @@ -/* - * coreMQTT v2.3.0 - * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * SPDX-License-Identifier: MIT - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/** - * @file core_mqtt_utest.c - * @brief Unit tests for functions in core_mqtt.h. - */ -#include -#include -#include - -#include "unity.h" - -/* Include paths for public enums, structures, and macros. */ -#include "core_mqtt.h" - -#include "mock_core_mqttv5_serializer.h" -#include "mock_core_mqttv5_state.h" - -#include "core_mqtt_config_defaults.h" - -/* Set network context to double pointer to buffer (uint8_t**). */ -struct NetworkContext -{ - uint8_t ** buffer; -}; - -/** - * @brief MQTT client identifier. - */ -#define MQTT_CLIENT_IDENTIFIER "testclient" - -/** - * @brief A valid starting packet ID per MQTT spec. Start from 1. - */ -#define MQTT_FIRST_VALID_PACKET_ID ( 1 ) - -/** - * @brief A PINGREQ packet is always 2 bytes in size, defined by MQTT 3.1.1 spec. - */ -#define MQTT_PACKET_PINGREQ_SIZE ( 2U ) - -/** - * @brief A packet type not handled by MQTT_ProcessLoop. - */ -#define MQTT_PACKET_TYPE_INVALID ( 0U ) - -/** - * @brief Number of milliseconds in a second. - */ -#define MQTT_ONE_SECOND_TO_MS ( 1000U ) - -/** - * @brief Length of the MQTT network buffer. - */ -#define MQTT_TEST_BUFFER_LENGTH ( 128 ) - -/** - * @brief Sample keep-alive interval that should be greater than 0. - */ -#define MQTT_SAMPLE_KEEPALIVE_INTERVAL_S ( 1U ) - -/** - * @brief Length of time spent for single test case with - * multiple iterations spent in the process loop for coverage. - */ -#define MQTT_SAMPLE_PROCESS_LOOP_TIMEOUT_MS ( 1U ) - -/** - * @brief Zero timeout in the process loop implies one iteration. - */ -#define MQTT_NO_TIMEOUT_MS ( 0U ) - -/** - * @brief Sample length of remaining serialized data. - */ -#define MQTT_SAMPLE_REMAINING_LENGTH ( 64 ) - -/** - * @brief Subtract this value from max value of global entry time - * for the timer overflow test. - */ -#define MQTT_OVERFLOW_OFFSET ( 3 ) - -/** - * @brief The number of times the "getTime()" function is called - * within a single iteration of the #MQTT_ProcessLoop. - * - * This constant is used for the timer overflow test which checks - * that the API can support normal behavior even if the timer - * overflows. - * - * @note Currently, there are 6 calls within a single iteration. - * This can change when the implementation changes which would be - * caught through unit test failure. - */ -#define MQTT_TIMER_CALLS_PER_ITERATION ( 6 ) - -/** - * @brief Timeout for the timer overflow test. - */ -#define MQTT_TIMER_OVERFLOW_TIMEOUT_MS ( 10 ) - -/** - * @brief A sample network context that we set to NULL. - */ -#define MQTT_SAMPLE_NETWORK_CONTEXT ( NULL ) - -/** - * @brief Sample topic filter to subscribe to. - */ -#define MQTT_SAMPLE_TOPIC_FILTER "iot" - -/** - * @brief Length of sample topic filter. - */ -#define MQTT_SAMPLE_TOPIC_FILTER_LENGTH ( sizeof( MQTT_SAMPLE_TOPIC_FILTER ) - 1 ) - -/** - * @brief Sample topic filter to subscribe to. - */ -#define MQTT_SAMPLE_TOPIC_FILTER1 "TopicFilter2" - -/** - * @brief Length of sample topic filter. - */ -#define MQTT_SAMPLE_TOPIC_FILTER_LENGTH1 ( sizeof( MQTT_SAMPLE_TOPIC_FILTER1 ) - 1 ) - -/** - * @brief Sample topic filter to subscribe to. - */ -#define MQTT_SAMPLE_TOPIC_FILTER2 "SomeTopic" - -/** - * @brief Length of sample topic filter. - */ -#define MQTT_SAMPLE_TOPIC_FILTER_LENGTH2 ( sizeof( MQTT_SAMPLE_TOPIC_FILTER2 ) - 1 ) - -/** - * @brief Sample topic filter to subscribe to. - */ -#define MQTT_SAMPLE_TOPIC_FILTER3 "iotTopicFilter" - -/** - * @brief Length of sample topic filter. - */ -#define MQTT_SAMPLE_TOPIC_FILTER_LENGTH3 ( sizeof( MQTT_SAMPLE_TOPIC_FILTER3 ) - 1 ) - -/** - * @brief Return values of mocked calls in MQTT_ProcessLoop(). Used by - * `expectProcessLoopCalls` - */ -typedef struct ProcessLoopReturns -{ - MQTTStatus_t deserializeStatus; /**< @brief Status after deserializing incoming packet. */ - MQTTPublishState_t stateAfterDeserialize; /**< @brief Publish state after deserializing incoming packet. */ - MQTTStatus_t updateStateStatus; /**< @brief Status after updating publish state. */ - MQTTStatus_t serializeStatus; /**< @brief Status after serializing a publish ack to send. */ - MQTTPublishState_t stateAfterSerialize; /**< @brief Publish state after serializing an ack to send. */ - MQTTStatus_t processLoopStatus; /**< @brief Return value of the process loop. */ - bool incomingPublish; /**< @brief Whether the incoming packet is a publish. */ - MQTTPublishInfo_t * pPubInfo; /**< @brief Publish information to be returned by the deserializer. */ - uint32_t timeoutMs; /**< @brief The timeout value to call MQTT_ProcessLoop API with. */ -} ProcessLoopReturns_t; - -/** - * @brief The packet type to be received by the process loop. - * IMPORTANT: Make sure this is set before calling expectProcessLoopCalls(...). - */ -static uint8_t currentPacketType = MQTT_PACKET_TYPE_INVALID; - -/** - * @brief The return value of modifyIncomingPacket(...) CMock callback that - * replaces a call to MQTT_GetIncomingPacketTypeAndLength. - * IMPORTANT: Make sure this is set before calling expectProcessLoopCalls(...). - */ -static MQTTStatus_t modifyIncomingPacketStatus = MQTTSuccess; - -/** - * @brief Time at the beginning of each test. Note that this is not updated with - * a real clock. Instead, we simply increment this variable. - */ -static uint32_t globalEntryTime = 0; - -/** - * @brief A static buffer used by the MQTT library for storing packet data. - */ -static uint8_t mqttBuffer[ MQTT_TEST_BUFFER_LENGTH ] = { 0 }; - -/** - * @brief A flag to indicate whether event callback is called from - * MQTT_ProcessLoop. - */ -static bool isEventCallbackInvoked = false; -static bool receiveOnce = false; - -static const uint8_t SubscribeHeader[] = -{ - MQTT_PACKET_TYPE_SUBSCRIBE, /* Subscribe header. */ - 0x10, 0x10, /* Packet Length. */ - ( MQTT_FIRST_VALID_PACKET_ID >> 8 ), - ( ( MQTT_FIRST_VALID_PACKET_ID ) & 0x00ffU ) /* Packet ID. */ -}; -static const size_t SubscribeHeaderLength = 5U; - -static const uint8_t UnsubscribeHeader[] = -{ - MQTT_PACKET_TYPE_UNSUBSCRIBE, /* Subscribe header. */ - 0x12, 0x15, /* Packet Length. */ - ( MQTT_FIRST_VALID_PACKET_ID >> 8 ), - ( ( MQTT_FIRST_VALID_PACKET_ID ) & 0x00ffU ) /* Packet ID. */ -}; -static const size_t UnsubscribeHeaderLength = 5U; - -/* ============================ UNITY FIXTURES ============================ */ - -/* Called before each test method. */ -void setUp() -{ - memset( mqttBuffer, 0x0, sizeof( mqttBuffer ) ); - MQTT_State_strerror_IgnoreAndReturn( "DUMMY_MQTT_STATE" ); - - globalEntryTime = 0; -} - -/* Called after each test method. */ -void tearDown() -{ -} - -/* Called at the beginning of the whole suite. */ -void suiteSetUp() -{ - receiveOnce = 0; -} - -/* Called at the end of the whole suite. */ -int suiteTearDown( int numFailures ) -{ - return numFailures; -} - - -/* ========================================================================== */ - diff --git a/test/unit-test/MQTTV5/CMakeLists.txt b/test/unit-test/MQTTv5/CMakeLists.txt similarity index 66% rename from test/unit-test/MQTTV5/CMakeLists.txt rename to test/unit-test/MQTTv5/CMakeLists.txt index bcafb76bc..27b82386e 100644 --- a/test/unit-test/MQTTV5/CMakeLists.txt +++ b/test/unit-test/MQTTv5/CMakeLists.txt @@ -2,8 +2,8 @@ include( ${MODULE_ROOT_DIR}/mqttFilePaths.cmake ) # ==================== Define your project name (edit) ======================== -set(project_name "core_mqtt_v5") -set(new "core_mqtt_v5") +set(project_name "core_mqttv5") + # ===================== Create your mock here (edit) ======================== @@ -47,12 +47,12 @@ list(APPEND test_include_directories # ============================= (end edit) =================================== -set(mock_name "${new}_mock") -set(real_name "${new}_real") +set(mock_name "${project_name}_mock") +set(real_name "${project_name}_real") create_mock_list(${mock_name} "${mock_list}" - "${MODULE_ROOT_DIR}/tools/cmock/projectv5.yml" + "${MODULE_ROOT_DIR}/tools/cmock/project.yml" "${mock_include_list}" "${mock_define_list}" ) @@ -72,7 +72,7 @@ list(APPEND utest_dep_list ${real_name} ) -set(utest_name "${new}_utest") +set(utest_name "${project_name}_utest") set(utest_source "${project_name}_utest.c") create_test(${utest_name} ${utest_source} @@ -81,35 +81,35 @@ create_test(${utest_name} "${test_include_directories}" ) -# need to redefine because the tests below don't use any mocks -set(utest_link_list "") -list(APPEND utest_link_list - lib${real_name}.a - ) - -# mqtt_state_utest -set(utest_name "${new}_state_utest") -set(utest_source "${project_name}_state_utest.c") - -create_test(${utest_name} - ${utest_source} - "${utest_link_list}" - "${utest_dep_list}" - "${test_include_directories}" - ) - -# mqtt_serializer_utest -set(utest_name "${new}_serializer_utest") -set(utest_source "${project_name}_serializer_utest.c") - -set(utest_link_list "") -list(APPEND utest_link_list - lib${real_name}.a - ) - -create_test(${utest_name} - ${utest_source} - "${utest_link_list}" - "${utest_dep_list}" - "${test_include_directories}" - ) +# # need to redefine because the tests below don't use any mocks +# set(utest_link_list "") +# list(APPEND utest_link_list +# lib${real_name}.a +# ) + +# # mqtt_state_utest +# set(utest_name "${project_name}_state_utest") +# set(utest_source "${project_name}_state_utest.c") + +# create_test(${utest_name} +# ${utest_source} +# "${utest_link_list}" +# "${utest_dep_list}" +# "${test_include_directories}" +# ) + +# # mqtt_serializer_utest +# set(utest_name "${project_name}_serializer_utest") +# set(utest_source "${project_name}_serializer_utest.c") + +# set(utest_link_list "") +# list(APPEND utest_link_list +# lib${real_name}.a +# ) + +# create_test(${utest_name} +# ${utest_source} +# "${utest_link_list}" +# "${utest_dep_list}" +# "${test_include_directories}" +# ) \ No newline at end of file diff --git a/test/unit-test/MQTTV5/core_mqtt_v5_state_utest.c b/test/unit-test/MQTTv5/cmock_opaque_types.h similarity index 63% rename from test/unit-test/MQTTV5/core_mqtt_v5_state_utest.c rename to test/unit-test/MQTTv5/cmock_opaque_types.h index aeb8c5f66..25b96b1cd 100644 --- a/test/unit-test/MQTTV5/core_mqtt_v5_state_utest.c +++ b/test/unit-test/MQTTv5/cmock_opaque_types.h @@ -22,38 +22,15 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/** - * @file core_mqtt_state_utest.c - * @brief Unit tests for functions in core_mqtt_state.h. - */ -#include -#include "unity.h" - -#include "core_mqtt_state.h" +#ifndef CMOCK_OPAQUE_TYPES_H_ +#define CMOCK_OPAQUE_TYPES_H_ -#define MQTT_PACKET_ID_INVALID ( ( uint16_t ) 0U ) -#define MQTT_STATE_ARRAY_MAX_COUNT 10 +/* CMock does not support opaque types so needs concrete definitions for them. + * This file is included in CMock .c files. */ -/* ============================ UNITY FIXTURES ============================ */ -void setUp( void ) +struct NetworkContext { -} - -/* called before each testcase */ -void tearDown( void ) -{ -} - -/* called at the beginning of the whole suite */ -void suiteSetUp() -{ -} - -/* called at the end of the whole suite */ -int suiteTearDown( int numFailures ) -{ - return numFailures; -} - -/* ========================================================================== */ + int a; +}; +#endif /* ifndef CMOCK_OPAQUE_TYPES_H_ */ \ No newline at end of file diff --git a/test/unit-test/core_mqtt_config.h b/test/unit-test/MQTTv5/core_mqtt_config.h similarity index 90% rename from test/unit-test/core_mqtt_config.h rename to test/unit-test/MQTTv5/core_mqtt_config.h index f39b7679b..44a03879d 100644 --- a/test/unit-test/core_mqtt_config.h +++ b/test/unit-test/MQTTv5/core_mqtt_config.h @@ -43,7 +43,7 @@ * 3. Include the header file "logging_stack.h", if logging is enabled for MQTT. */ -#include "logging_levels.h" +#include "../logging/logging_levels.h" /* Logging configuration for the MQTT library. */ #ifndef LIBRARY_LOG_NAME @@ -54,7 +54,7 @@ #define LIBRARY_LOG_LEVEL LOG_NONE #endif -#include "logging_stack.h" +#include "../logging/logging_stack.h" /************ End of logging configuration ****************/ @@ -71,6 +71,8 @@ #define MQTT_SUB_UNSUB_MAX_VECTORS ( 6U ) -#define MQTT_SEND_TIMEOUT_MS ( 20U ) +#define MQTT_SEND_TIMEOUT_MS ( 200U ) +#define MQTT_VERSION_5_ENABLED ( 1U ) +#define MAX_USER_PROPERTY (5U) -#endif /* ifndef CORE_MQTT_CONFIG_H_ */ +#endif /* ifndef CORE_MQTT_CONFIG_H_ */ \ No newline at end of file diff --git a/test/unit-test/MQTTV5/core_mqtt_v5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c similarity index 74% rename from test/unit-test/MQTTV5/core_mqtt_v5_serializer_utest.c rename to test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index be7f048e4..574e97ec4 100644 --- a/test/unit-test/MQTTV5/core_mqtt_v5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -32,7 +32,7 @@ #include "unity.h" /* Include paths for public enums, structures, and macros. */ -#include "core_mqtt_serializer.h" +#include "/home/ubuntu/coreMQTT/source/include/core_mqtt_serializer.h" /* Set network context to double pointer to buffer (uint8_t**). */ struct NetworkContext @@ -183,3 +183,61 @@ int suiteTearDown( int numFailures ) /* ========================================================================== */ +void test_MQTT_GetConnectpropertiesSize(void){ + MQTTConnectInfo_t connectInfo; + MQTTStatus_t status = MQTTSuccess; + MQTTPublishInfo_t willInfo = { 0 }; + + /* Call MQTT_GetConnectPropertiesSize() with various combinations of + * incorrect paramters */ + + status = MQTT_GetConnectpropertiesSize(NULL); + TEST_ASSERT_EQUAL (MQTTBadParameter,status); + /* + *Max Packet Size cannot be null + */ + MQTTConnectProperties_t connectProperties; + memset(&connectProperties, 0x0, sizeof(connectProperties)); + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL (MQTTBadParameter,status); + + connectProperties.reqProbInfo=1; + connectProperties.maxPacketSize=40; + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL (MQTTSuccess,status); + TEST_ASSERT_EQUAL_size_t (5,connectProperties.propertyLength); + + connectProperties.sessionExpiry=24; + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL (MQTTSuccess,status); + TEST_ASSERT_EQUAL_size_t (10,connectProperties.propertyLength); + + connectProperties.receiveMax=24; + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL (MQTTSuccess,status); + TEST_ASSERT_EQUAL_size_t (13,connectProperties.propertyLength); + + + connectProperties.topicAliasMax=24; + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL (MQTTSuccess,status); + TEST_ASSERT_EQUAL_size_t (16,connectProperties.propertyLength); + + connectProperties.reqResInfo=0; + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL (MQTTSuccess,status); + TEST_ASSERT_EQUAL_size_t (18,connectProperties.propertyLength); + + connectProperties.reqProbInfo=1; + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL (MQTTSuccess,status); + TEST_ASSERT_EQUAL_size_t (20,connectProperties.propertyLength); + + MQTTUserProperty_t userProperty; + memset(&userProperty, 0x0, sizeof(userProperty)); + + connectProperties.outgoingUserPropSize=1; + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL (MQTTBadParameter,status); + +} diff --git a/test/unit-test/MQTTv5/core_mqttv5_state_utest.c b/test/unit-test/MQTTv5/core_mqttv5_state_utest.c new file mode 100644 index 000000000..b41dcc6b3 --- /dev/null +++ b/test/unit-test/MQTTv5/core_mqttv5_state_utest.c @@ -0,0 +1,59 @@ +// /* +// * coreMQTT v2.3.0 +// * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// * +// * SPDX-License-Identifier: MIT +// * +// * Permission is hereby granted, free of charge, to any person obtaining a copy of +// * this software and associated documentation files (the "Software"), to deal in +// * the Software without restriction, including without limitation the rights to +// * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +// * the Software, and to permit persons to whom the Software is furnished to do so, +// * subject to the following conditions: +// * +// * The above copyright notice and this permission notice shall be included in all +// * copies or substantial portions of the Software. +// * +// * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +// * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +// * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +// * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// */ + +// /** +// * @file core_mqtt_state_utest.c +// * @brief Unit tests for functions in core_mqtt_state.h. +// */ +// #include +// #include "unity.h" + +// #include "core_mqtt_state.h" + +// #define MQTT_PACKET_ID_INVALID ( ( uint16_t ) 0U ) +// #define MQTT_STATE_ARRAY_MAX_COUNT 10 + +// /* ============================ UNITY FIXTURES ============================ */ +// void setUp( void ) +// { +// } + +// /* called before each testcase */ +// void tearDown( void ) +// { +// } + +// /* called at the beginning of the whole suite */ +// void suiteSetUp() +// { +// } + +// /* called at the end of the whole suite */ +// int suiteTearDown( int numFailures ) +// { +// return numFailures; +// } + +// /* ========================================================================== */ + diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c new file mode 100644 index 000000000..0b2af9c55 --- /dev/null +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -0,0 +1,266 @@ +// /* +// * coreMQTT v2.3.0 +// * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// * +// * SPDX-License-Identifier: MIT +// * +// * Permission is hereby granted, free of charge, to any person obtaining a copy of +// * this software and associated documentation files (the "Software"), to deal in +// * the Software without restriction, including without limitation the rights to +// * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +// * the Software, and to permit persons to whom the Software is furnished to do so, +// * subject to the following conditions: +// * +// * The above copyright notice and this permission notice shall be included in all +// * copies or substantial portions of the Software. +// * +// * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +// * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +// * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +// * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// */ + +// /** +// * @file core_mqtt_utest.c +// * @brief Unit tests for functions in core_mqtt.h. +// */ +// #include +// #include +// #include + +// #include "unity.h" + +// /* Include paths for public enums, structures, and macros. */ +// #include "core_mqtt.h" + +// // #include "mock_core_mqttv5_serializer.h" +// // #include "mock_core_mqttv5_state.h" + +// #include "core_mqtt_config_defaults.h" + +// /* Set network context to double pointer to buffer (uint8_t**). */ +// struct NetworkContext +// { +// uint8_t ** buffer; +// }; + +// /** +// * @brief MQTT client identifier. +// */ +// #define MQTT_CLIENT_IDENTIFIER "testclient" + +// /** +// * @brief A valid starting packet ID per MQTT spec. Start from 1. +// */ +// #define MQTT_FIRST_VALID_PACKET_ID ( 1 ) + +// /** +// * @brief A PINGREQ packet is always 2 bytes in size, defined by MQTT 3.1.1 spec. +// */ +// #define MQTT_PACKET_PINGREQ_SIZE ( 2U ) + +// /** +// * @brief A packet type not handled by MQTT_ProcessLoop. +// */ +// #define MQTT_PACKET_TYPE_INVALID ( 0U ) + +// /** +// * @brief Number of milliseconds in a second. +// */ +// #define MQTT_ONE_SECOND_TO_MS ( 1000U ) + +// /** +// * @brief Length of the MQTT network buffer. +// */ +// #define MQTT_TEST_BUFFER_LENGTH ( 128 ) + +// /** +// * @brief Sample keep-alive interval that should be greater than 0. +// */ +// #define MQTT_SAMPLE_KEEPALIVE_INTERVAL_S ( 1U ) + +// /** +// * @brief Length of time spent for single test case with +// * multiple iterations spent in the process loop for coverage. +// */ +// #define MQTT_SAMPLE_PROCESS_LOOP_TIMEOUT_MS ( 1U ) + +// /** +// * @brief Zero timeout in the process loop implies one iteration. +// */ +// #define MQTT_NO_TIMEOUT_MS ( 0U ) + +// /** +// * @brief Sample length of remaining serialized data. +// */ +// #define MQTT_SAMPLE_REMAINING_LENGTH ( 64 ) + +// /** +// * @brief Subtract this value from max value of global entry time +// * for the timer overflow test. +// */ +// #define MQTT_OVERFLOW_OFFSET ( 3 ) + +// /** +// * @brief The number of times the "getTime()" function is called +// * within a single iteration of the #MQTT_ProcessLoop. +// * +// * This constant is used for the timer overflow test which checks +// * that the API can support normal behavior even if the timer +// * overflows. +// * +// * @note Currently, there are 6 calls within a single iteration. +// * This can change when the implementation changes which would be +// * caught through unit test failure. +// */ +// #define MQTT_TIMER_CALLS_PER_ITERATION ( 6 ) + +// /** +// * @brief Timeout for the timer overflow test. +// */ +// #define MQTT_TIMER_OVERFLOW_TIMEOUT_MS ( 10 ) + +// /** +// * @brief A sample network context that we set to NULL. +// */ +// #define MQTT_SAMPLE_NETWORK_CONTEXT ( NULL ) + +// /** +// * @brief Sample topic filter to subscribe to. +// */ +// #define MQTT_SAMPLE_TOPIC_FILTER "iot" + +// /** +// * @brief Length of sample topic filter. +// */ +// #define MQTT_SAMPLE_TOPIC_FILTER_LENGTH ( sizeof( MQTT_SAMPLE_TOPIC_FILTER ) - 1 ) + +// /** +// * @brief Sample topic filter to subscribe to. +// */ +// #define MQTT_SAMPLE_TOPIC_FILTER1 "TopicFilter2" + +// /** +// * @brief Length of sample topic filter. +// */ +// #define MQTT_SAMPLE_TOPIC_FILTER_LENGTH1 ( sizeof( MQTT_SAMPLE_TOPIC_FILTER1 ) - 1 ) + +// /** +// * @brief Sample topic filter to subscribe to. +// */ +// #define MQTT_SAMPLE_TOPIC_FILTER2 "SomeTopic" + +// /** +// * @brief Length of sample topic filter. +// */ +// #define MQTT_SAMPLE_TOPIC_FILTER_LENGTH2 ( sizeof( MQTT_SAMPLE_TOPIC_FILTER2 ) - 1 ) + +// /** +// * @brief Sample topic filter to subscribe to. +// */ +// #define MQTT_SAMPLE_TOPIC_FILTER3 "iotTopicFilter" + +// /** +// * @brief Length of sample topic filter. +// */ +// #define MQTT_SAMPLE_TOPIC_FILTER_LENGTH3 ( sizeof( MQTT_SAMPLE_TOPIC_FILTER3 ) - 1 ) + +// /** +// * @brief Return values of mocked calls in MQTT_ProcessLoop(). Used by +// * `expectProcessLoopCalls` +// */ +// typedef struct ProcessLoopReturns +// { +// MQTTStatus_t deserializeStatus; /**< @brief Status after deserializing incoming packet. */ +// MQTTPublishState_t stateAfterDeserialize; /**< @brief Publish state after deserializing incoming packet. */ +// MQTTStatus_t updateStateStatus; /**< @brief Status after updating publish state. */ +// MQTTStatus_t serializeStatus; /**< @brief Status after serializing a publish ack to send. */ +// MQTTPublishState_t stateAfterSerialize; /**< @brief Publish state after serializing an ack to send. */ +// MQTTStatus_t processLoopStatus; /**< @brief Return value of the process loop. */ +// bool incomingPublish; /**< @brief Whether the incoming packet is a publish. */ +// MQTTPublishInfo_t * pPubInfo; /**< @brief Publish information to be returned by the deserializer. */ +// uint32_t timeoutMs; /**< @brief The timeout value to call MQTT_ProcessLoop API with. */ +// } ProcessLoopReturns_t; + +// /** +// * @brief The packet type to be received by the process loop. +// * IMPORTANT: Make sure this is set before calling expectProcessLoopCalls(...). +// */ +// static uint8_t currentPacketType = MQTT_PACKET_TYPE_INVALID; + +// /** +// * @brief The return value of modifyIncomingPacket(...) CMock callback that +// * replaces a call to MQTT_GetIncomingPacketTypeAndLength. +// * IMPORTANT: Make sure this is set before calling expectProcessLoopCalls(...). +// */ +// static MQTTStatus_t modifyIncomingPacketStatus = MQTTSuccess; + +// /** +// * @brief Time at the beginning of each test. Note that this is not updated with +// * a real clock. Instead, we simply increment this variable. +// */ +// static uint32_t globalEntryTime = 0; + +// /** +// * @brief A static buffer used by the MQTT library for storing packet data. +// */ +// static uint8_t mqttBuffer[ MQTT_TEST_BUFFER_LENGTH ] = { 0 }; + +// /** +// * @brief A flag to indicate whether event callback is called from +// * MQTT_ProcessLoop. +// */ +// static bool isEventCallbackInvoked = false; +// static bool receiveOnce = false; + +// static const uint8_t SubscribeHeader[] = +// { +// MQTT_PACKET_TYPE_SUBSCRIBE, /* Subscribe header. */ +// 0x10, 0x10, /* Packet Length. */ +// ( MQTT_FIRST_VALID_PACKET_ID >> 8 ), +// ( ( MQTT_FIRST_VALID_PACKET_ID ) & 0x00ffU ) /* Packet ID. */ +// }; +// static const size_t SubscribeHeaderLength = 5U; + +// static const uint8_t UnsubscribeHeader[] = +// { +// MQTT_PACKET_TYPE_UNSUBSCRIBE, /* Subscribe header. */ +// 0x12, 0x15, /* Packet Length. */ +// ( MQTT_FIRST_VALID_PACKET_ID >> 8 ), +// ( ( MQTT_FIRST_VALID_PACKET_ID ) & 0x00ffU ) /* Packet ID. */ +// }; +// static const size_t UnsubscribeHeaderLength = 5U; + +// /* ============================ UNITY FIXTURES ============================ */ + +// /* Called before each test method. */ +// void setUp() +// { +// memset( mqttBuffer, 0x0, sizeof( mqttBuffer ) ); +// MQTT_State_strerror_IgnoreAndReturn( "DUMMY_MQTT_STATE" ); + +// globalEntryTime = 0; +// } + +// /* Called after each test method. */ +// void tearDown() +// { +// } + +// /* Called at the beginning of the whole suite. */ +// void suiteSetUp() +// { +// receiveOnce = 0; +// } + +// /* Called at the end of the whole suite. */ +// int suiteTearDown( int numFailures ) +// { +// return numFailures; +// } + + +// /* ========================================================================== */ + diff --git a/test/unit-test/core_mqtt_state_utest.c b/test/unit-test/core_mqtt_state_utest.c deleted file mode 100644 index 2d6655b1b..000000000 --- a/test/unit-test/core_mqtt_state_utest.c +++ /dev/null @@ -1,1170 +0,0 @@ -/* - * coreMQTT v2.3.0 - * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * SPDX-License-Identifier: MIT - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/** - * @file core_mqtt_state_utest.c - * @brief Unit tests for functions in core_mqtt_state.h. - */ -#include -#include "unity.h" - -#include "core_mqtt_state.h" - -#define MQTT_PACKET_ID_INVALID ( ( uint16_t ) 0U ) -#define MQTT_STATE_ARRAY_MAX_COUNT 10 - -/* ============================ UNITY FIXTURES ============================ */ -void setUp( void ) -{ -} - -/* called before each testcase */ -void tearDown( void ) -{ -} - -/* called at the beginning of the whole suite */ -void suiteSetUp() -{ -} - -/* called at the end of the whole suite */ -int suiteTearDown( int numFailures ) -{ - return numFailures; -} - -/* ========================================================================== */ - -static int32_t transportRecvSuccess( NetworkContext_t * pNetworkContext, - void * pBuffer, - size_t bytesToRead ) -{ - ( void ) pNetworkContext; - ( void ) pBuffer; - return bytesToRead; -} - -static int32_t transportSendSuccess( NetworkContext_t * pNetworkContext, - const void * pBuffer, - size_t bytesToWrite ) -{ - ( void ) pNetworkContext; - ( void ) pBuffer; - return bytesToWrite; -} - -/** - * @brief A mocked timer query function that increments on every call. This - * guarantees that only a single iteration runs in the ProcessLoop for ease - * of testing. - */ -static uint32_t getTime( void ) -{ - return 0; -} - -/** - * @brief Mocked MQTT event callback. - * - * @param[in] pContext MQTT context pointer. - * @param[in] pPacketInfo Packet Info pointer for the incoming packet. - * @param[in] pDeserializedInfo Deserialized information from the incoming packet. - */ -static void eventCallback( MQTTContext_t * pContext, - MQTTPacketInfo_t * pPacketInfo, - MQTTDeserializedInfo_t * pDeserializedInfo ) -{ - ( void ) pContext; - ( void ) pPacketInfo; - ( void ) pDeserializedInfo; -} - -static void resetPublishRecords( MQTTContext_t * pMqttContext ) -{ - uint32_t i = 0; - - for( ; i < MQTT_STATE_ARRAY_MAX_COUNT; i++ ) - { - pMqttContext->outgoingPublishRecords[ i ].packetId = MQTT_PACKET_ID_INVALID; - pMqttContext->outgoingPublishRecords[ i ].qos = MQTTQoS0; - pMqttContext->outgoingPublishRecords[ i ].publishState = MQTTStateNull; - pMqttContext->incomingPublishRecords[ i ].packetId = MQTT_PACKET_ID_INVALID; - pMqttContext->incomingPublishRecords[ i ].qos = MQTTQoS0; - pMqttContext->incomingPublishRecords[ i ].publishState = MQTTStateNull; - } -} - -static void addToRecord( MQTTPubAckInfo_t * records, - size_t index, - uint16_t packetId, - MQTTQoS_t qos, - MQTTPublishState_t state ) -{ - records[ index ].packetId = packetId; - records[ index ].qos = qos; - records[ index ].publishState = state; -} - -static void fillRecord( MQTTPubAckInfo_t * records, - uint16_t startingId, - MQTTQoS_t qos, - MQTTPublishState_t state ) -{ - uint32_t i; - - for( i = 0; i < MQTT_STATE_ARRAY_MAX_COUNT; i++ ) - { - records[ i ].packetId = startingId + i; - records[ i ].qos = qos; - records[ i ].publishState = state; - } -} - -static void validateRecordAt( MQTTPubAckInfo_t * records, - size_t index, - uint16_t packetId, - MQTTQoS_t qos, - MQTTPublishState_t state ) -{ - TEST_ASSERT_EQUAL( packetId, records[ index ].packetId ); - TEST_ASSERT_EQUAL( qos, records[ index ].qos ); - TEST_ASSERT_EQUAL( state, records[ index ].publishState ); -} - -/* ========================================================================== */ - -void test_MQTT_ReserveState( void ) -{ - MQTTContext_t mqttContext = { 0 }; - MQTTStatus_t status; - const uint16_t PACKET_ID = 1; - const uint16_t PACKET_ID2 = 2; - const uint16_t PACKET_ID3 = 3; - const size_t index = MQTT_STATE_ARRAY_MAX_COUNT / 2; - TransportInterface_t transport; - MQTTFixedBuffer_t networkBuffer = { 0 }; - - transport.recv = transportRecvSuccess; - transport.send = transportSendSuccess; - - MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; - MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; - - status = MQTT_Init( &mqttContext, &transport, - getTime, eventCallback, &networkBuffer ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - - status = MQTT_InitStatefulQoS( &mqttContext, - outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, - incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - - /* QoS 0 returns success. */ - TEST_ASSERT_EQUAL( MQTTSuccess, MQTT_ReserveState( NULL, MQTT_PACKET_ID_INVALID, MQTTQoS0 ) ); - - /* Test for bad parameters */ - status = MQTT_ReserveState( &mqttContext, MQTT_PACKET_ID_INVALID, MQTTQoS1 ); - TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - status = MQTT_ReserveState( NULL, PACKET_ID, MQTTQoS1 ); - TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - - /* Test for collisions. */ - mqttContext.outgoingPublishRecords[ 0 ].packetId = PACKET_ID; - mqttContext.outgoingPublishRecords[ 0 ].qos = MQTTQoS1; - mqttContext.outgoingPublishRecords[ 0 ].publishState = MQTTPublishSend; - - status = MQTT_ReserveState( &mqttContext, PACKET_ID, MQTTQoS1 ); - TEST_ASSERT_EQUAL( MQTTStateCollision, status ); - - - /* Test for no memory. */ - fillRecord( mqttContext.outgoingPublishRecords, 2, MQTTQoS1, MQTTPublishSend ); - status = MQTT_ReserveState( &mqttContext, PACKET_ID, MQTTQoS1 ); - TEST_ASSERT_EQUAL( MQTTNoMemory, status ); - - /* Success. */ - resetPublishRecords( &mqttContext ); - status = MQTT_ReserveState( &mqttContext, PACKET_ID, MQTTQoS1 ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - /* Reserve uses first available entry. */ - TEST_ASSERT_EQUAL( PACKET_ID, mqttContext.outgoingPublishRecords[ 0 ].packetId ); - TEST_ASSERT_EQUAL( MQTTQoS1, mqttContext.outgoingPublishRecords[ 0 ].qos ); - TEST_ASSERT_EQUAL( MQTTPublishSend, mqttContext.outgoingPublishRecords[ 0 ].publishState ); - - /* Success. - * Add record after the highest non empty index. - * Already an entry exists at index 0. Adding 1 more entry at index 5. - * The new index used should be 6. */ - addToRecord( mqttContext.outgoingPublishRecords, index, PACKET_ID2, MQTTQoS2, MQTTPubRelSend ); - status = MQTT_ReserveState( &mqttContext, PACKET_ID3, MQTTQoS1 ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( PACKET_ID3, mqttContext.outgoingPublishRecords[ index + 1 ].packetId ); - TEST_ASSERT_EQUAL( MQTTQoS1, mqttContext.outgoingPublishRecords[ index + 1 ].qos ); - TEST_ASSERT_EQUAL( MQTTPublishSend, mqttContext.outgoingPublishRecords[ index + 1 ].publishState ); -} - -/* ========================================================================== */ - -void test_MQTT_RemoveStateRecord_ContextNULL( void ) -{ - MQTTStatus_t status; - - status = MQTT_RemoveStateRecord( NULL, 0 ); - - TEST_ASSERT_EQUAL( MQTTBadParameter, status ); -} - -/* ========================================================================== */ - -void test_MQTT_RemoveStateRecord_RecordsNULL( void ) -{ - MQTTStatus_t status; - MQTTContext_t context; - - memset( &context, 0, sizeof( MQTTContext_t ) ); - - status = MQTT_RemoveStateRecord( &context, 0 ); - - TEST_ASSERT_EQUAL( MQTTBadParameter, status ); -} - -/* ========================================================================== */ - -void test_MQTT_RemoveStateRecord_NoRecordFound( void ) -{ - MQTTStatus_t status; - MQTTContext_t context; - MQTTPubAckInfo_t outgoingRecords[ 5 ]; - - memset( &context, 0, sizeof( MQTTContext_t ) ); - - context.outgoingPublishRecords = outgoingRecords; - context.outgoingPublishRecordMaxCount = 5; - - memset( context.outgoingPublishRecords, 0, sizeof( outgoingRecords ) ); - - /* Any non-zero packet ID. */ - status = MQTT_RemoveStateRecord( &context, 12U ); - - TEST_ASSERT_EQUAL( MQTTBadParameter, status ); -} - -/* ========================================================================== */ - -void test_MQTT_RemoveStateRecord_RecordFoundIncorrectQoS( void ) -{ - MQTTStatus_t status; - MQTTContext_t context; - MQTTPubAckInfo_t outgoingRecords[ 5 ]; - const uint16_t packetID = 12; - /* Any state except null state. */ - const MQTTPublishState_t state = MQTTPubRelSend; - - memset( &context, 0, sizeof( MQTTContext_t ) ); - - context.outgoingPublishRecords = outgoingRecords; - context.outgoingPublishRecordMaxCount = 5; - - memset( context.outgoingPublishRecords, 0, sizeof( outgoingRecords ) ); - - context.outgoingPublishRecords[ 0 ].packetId = packetID; - context.outgoingPublishRecords[ 0 ].publishState = state; - context.outgoingPublishRecords[ 0 ].qos = MQTTQoS0; - - /* Any non-zero packet ID. */ - status = MQTT_RemoveStateRecord( &context, packetID ); - - TEST_ASSERT_EQUAL( MQTTBadParameter, status ); -} - -/* ========================================================================== */ - -void test_MQTT_RemoveStateRecord_RemoveQoS1Record( void ) -{ - MQTTStatus_t status; - MQTTContext_t context; - MQTTPubAckInfo_t outgoingRecords[ 5 ]; - const uint16_t packetID = 12; - /* Any state except null state. */ - const MQTTPublishState_t state = MQTTPubRelSend; - - memset( &context, 0, sizeof( MQTTContext_t ) ); - - context.outgoingPublishRecords = outgoingRecords; - context.outgoingPublishRecordMaxCount = 5; - - memset( context.outgoingPublishRecords, 0, sizeof( outgoingRecords ) ); - - context.outgoingPublishRecords[ 1 ].packetId = packetID; - context.outgoingPublishRecords[ 1 ].publishState = state; - context.outgoingPublishRecords[ 1 ].qos = MQTTQoS1; - - /* Any non-zero packet ID. */ - status = MQTT_RemoveStateRecord( &context, packetID ); - - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].packetId, MQTT_PACKET_ID_INVALID ); - TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].publishState, MQTTStateNull ); - TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].qos, MQTTQoS0 ); -} - -/* ========================================================================== */ - -void test_MQTT_RemoveStateRecord_RemoveQoS2Record( void ) -{ - MQTTStatus_t status; - MQTTContext_t context; - MQTTPubAckInfo_t outgoingRecords[ 5 ]; - const uint16_t packetID = 12; - /* Any state except null state. */ - const MQTTPublishState_t state = MQTTPubRelSend; - - memset( &context, 0, sizeof( MQTTContext_t ) ); - - context.outgoingPublishRecords = outgoingRecords; - context.outgoingPublishRecordMaxCount = 5; - - memset( context.outgoingPublishRecords, 0, sizeof( outgoingRecords ) ); - - context.outgoingPublishRecords[ 1 ].packetId = packetID; - context.outgoingPublishRecords[ 1 ].publishState = state; - context.outgoingPublishRecords[ 1 ].qos = MQTTQoS2; - - /* Any non-zero packet ID. */ - status = MQTT_RemoveStateRecord( &context, packetID ); - - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].packetId, MQTT_PACKET_ID_INVALID ); - TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].publishState, MQTTStateNull ); - TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].qos, MQTTQoS0 ); -} - -/* ========================================================================== */ - -void test_MQTT_ReserveState_compactRecords( void ) -{ - MQTTContext_t mqttContext = { 0 }; - MQTTStatus_t status; - const uint16_t PACKET_ID = 1; - const uint16_t PACKET_ID2 = 2; - - TransportInterface_t transport; - MQTTFixedBuffer_t networkBuffer = { 0 }; - - transport.recv = transportRecvSuccess; - transport.send = transportSendSuccess; - - MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; - MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; - - status = MQTT_Init( &mqttContext, &transport, - getTime, eventCallback, &networkBuffer ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - - status = MQTT_InitStatefulQoS( &mqttContext, - outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, - incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - - /* Consider the state of the array with 2 states. 1 indicates a non empty - * spot and 0 an empty spot. Size of the array is 10. - * Pre condition - 0 0 0 0 0 0 0 0 0 1. - * Add an element will try to compact the array and the resulting state - * should be - 1 1 0 0 0 0 0 0 0 0. */ - addToRecord( mqttContext.outgoingPublishRecords, - MQTT_STATE_ARRAY_MAX_COUNT - 1, - PACKET_ID, - MQTTQoS1, - MQTTPubRelSend ); - status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - /* The existing record should be at index 0. */ - validateRecordAt( mqttContext.outgoingPublishRecords, - 0, - PACKET_ID, - MQTTQoS1, - MQTTPubRelSend ); - /* New record should be added to index 1. */ - validateRecordAt( mqttContext.outgoingPublishRecords, - 1, - PACKET_ID2, - MQTTQoS1, - MQTTPublishSend ); - - /* One free spot. - * Pre condition - 1 1 1 0 1 1 1 1 1 1. - * Add an element will try to compact the array and the resulting state - * should be - 1 1 1 1 1 1 1 1 1 1. */ - fillRecord( mqttContext.outgoingPublishRecords, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRelSend ); - /* Invalid record at index 3. */ - mqttContext.outgoingPublishRecords[ 3 ].packetId = MQTT_PACKET_ID_INVALID; - status = MQTT_ReserveState( &mqttContext, PACKET_ID, MQTTQoS1 ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - /* The new record should be added to the end. */ - validateRecordAt( mqttContext.outgoingPublishRecords, - MQTT_STATE_ARRAY_MAX_COUNT - 1, - PACKET_ID, - MQTTQoS1, - MQTTPublishSend ); - /* Any new add should result in no memory error. */ - status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); - TEST_ASSERT_EQUAL( MQTTNoMemory, status ); - - /* Alternate free spots. - * Pre condition - 1 0 1 0 1 0 1 0 1 0. - * Add an element will skip to compact the array and the resulting state - * should be - 1 0 1 0 1 0 1 0 1 1. */ - fillRecord( mqttContext.outgoingPublishRecords, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRelSend ); - /* Invalidate record at alternate indexes starting from 1. */ - mqttContext.outgoingPublishRecords[ 1 ].packetId = MQTT_PACKET_ID_INVALID; - mqttContext.outgoingPublishRecords[ 3 ].packetId = MQTT_PACKET_ID_INVALID; - mqttContext.outgoingPublishRecords[ 5 ].packetId = MQTT_PACKET_ID_INVALID; - mqttContext.outgoingPublishRecords[ 7 ].packetId = MQTT_PACKET_ID_INVALID; - mqttContext.outgoingPublishRecords[ 9 ].packetId = MQTT_PACKET_ID_INVALID; - status = MQTT_ReserveState( &mqttContext, PACKET_ID, MQTTQoS1 ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - /* The new record should be added to the end. */ - validateRecordAt( mqttContext.outgoingPublishRecords, - MQTT_STATE_ARRAY_MAX_COUNT - 1, - PACKET_ID, - MQTTQoS1, - MQTTPublishSend ); - - /* Array is in state 1 0 1 0 1 0 1 0 1 1. - * Adding one more element should result in array in state - * 1 1 1 1 1 1 1 0 0 0. */ - status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - validateRecordAt( mqttContext.outgoingPublishRecords, 6, PACKET_ID2, MQTTQoS1, MQTTPublishSend ); - /* Remaining records should be invalid. */ - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 7 ].packetId ); - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 8 ].packetId ); - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 9 ].packetId ); - - /* Free spots only in the beginning. - * Pre condition - 0 0 0 0 0 1 1 1 1 1. - * Add an element will compact the array and the resulting state - * should be - 1 1 1 1 1 1 0 0 0 0. */ - fillRecord( mqttContext.outgoingPublishRecords, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRelSend ); - /* Clear record from 0 to 4. */ - ( void ) memset( &mqttContext.outgoingPublishRecords[ 0 ], 0x00, 5 * sizeof( MQTTPubAckInfo_t ) ); - - /* Adding one element should result in array in state - * 1 1 1 1 1 1 0 0 0 0. */ - status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - validateRecordAt( mqttContext.outgoingPublishRecords, 5, PACKET_ID2, MQTTQoS1, MQTTPublishSend ); - /* Remaining records should be cleared. */ - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 6 ].packetId ); - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 7 ].packetId ); - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 8 ].packetId ); - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 9 ].packetId ); - - /* Fragmented array. - * Pre condition - 1 0 0 1 1 1 1 0 0 1. - * Add an element will compact the array and the resulting state - * should be - 1 1 1 1 1 1 1 0 0 0. */ - fillRecord( mqttContext.outgoingPublishRecords, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRelSend ); - /* Clear record at index 1,2,7 and 8. */ - mqttContext.outgoingPublishRecords[ 1 ].packetId = MQTT_PACKET_ID_INVALID; - mqttContext.outgoingPublishRecords[ 2 ].packetId = MQTT_PACKET_ID_INVALID; - mqttContext.outgoingPublishRecords[ 7 ].packetId = MQTT_PACKET_ID_INVALID; - mqttContext.outgoingPublishRecords[ 8 ].packetId = MQTT_PACKET_ID_INVALID; - status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - validateRecordAt( mqttContext.outgoingPublishRecords, 6, PACKET_ID2, MQTTQoS1, MQTTPublishSend ); - /* Remaining records should be cleared. */ - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 7 ].packetId ); - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 8 ].packetId ); - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 9 ].packetId ); - - /* Fragmented array. - * Pre condition - 1 0 0 0 0 0 0 0 0 1. - * Add an element will compact the array and the resulting state - * should be - 1 1 1 0 0 0 0 0 0 0. */ - resetPublishRecords( &mqttContext ); - addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecPending ); - addToRecord( mqttContext.outgoingPublishRecords, 9, PACKET_ID2 + 1, MQTTQoS2, MQTTPubCompPending ); - status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - validateRecordAt( mqttContext.outgoingPublishRecords, 2, PACKET_ID2, MQTTQoS1, MQTTPublishSend ); - /* Validate existing records. */ - validateRecordAt( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecPending ); - validateRecordAt( mqttContext.outgoingPublishRecords, 1, PACKET_ID2 + 1, MQTTQoS2, MQTTPubCompPending ); -} - -/* ========================================================================== */ - -void test_MQTT_CalculateStatePublish( void ) -{ - /* QoS 0. */ - TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStatePublish( MQTT_SEND, MQTTQoS0 ) ); - TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStatePublish( MQTT_RECEIVE, MQTTQoS0 ) ); - - /* QoS 1. */ - TEST_ASSERT_EQUAL( MQTTPubAckPending, MQTT_CalculateStatePublish( MQTT_SEND, MQTTQoS1 ) ); - TEST_ASSERT_EQUAL( MQTTPubAckSend, MQTT_CalculateStatePublish( MQTT_RECEIVE, MQTTQoS1 ) ); - - /* QoS 2. */ - TEST_ASSERT_EQUAL( MQTTPubRecPending, MQTT_CalculateStatePublish( MQTT_SEND, MQTTQoS2 ) ); - TEST_ASSERT_EQUAL( MQTTPubRecSend, MQTT_CalculateStatePublish( MQTT_RECEIVE, MQTTQoS2 ) ); - - /* Invalid QoS. */ - TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStatePublish( MQTT_SEND, 3 ) ); -} - -/* ========================================================================== */ - -void test_MQTT_UpdateStatePublish( void ) -{ - MQTTContext_t mqttContext = { 0 }; - const uint16_t PACKET_ID = 1; - MQTTStateOperation_t operation = MQTT_SEND; - MQTTQoS_t qos = MQTTQoS0; - MQTTPublishState_t state; - MQTTStatus_t status; - - TransportInterface_t transport; - MQTTFixedBuffer_t networkBuffer = { 0 }; - - transport.recv = transportRecvSuccess; - transport.send = transportSendSuccess; - - MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; - MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; - - status = MQTT_Init( &mqttContext, &transport, - getTime, eventCallback, &networkBuffer ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - - status = MQTT_InitStatefulQoS( &mqttContext, - outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, - incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - - /* QoS 0. */ - status = MQTT_UpdateStatePublish( &mqttContext, 0, operation, qos, &state ); - TEST_ASSERT_EQUAL( MQTTPublishDone, state ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - - /* Invalid parameters. */ - /* Invalid ID. */ - qos = MQTTQoS1; - status = MQTT_UpdateStatePublish( &mqttContext, 0, operation, qos, &state ); - TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - /* NULL context. */ - status = MQTT_UpdateStatePublish( NULL, PACKET_ID, operation, qos, &state ); - TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - /* NULL new state. */ - status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, NULL ); - TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - /* No record found. */ - status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); - TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - /* QoS mismatch. */ - addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPublishSend ); - status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); - TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - - /* Invalid state transition. */ - addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS1, MQTTPubRelPending ); - status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); - TEST_ASSERT_EQUAL( MQTTIllegalState, status ); - - /* Invalid QoS. */ - operation = MQTT_SEND; - addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, 3, MQTTPublishSend ); - status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, 3, &state ); - TEST_ASSERT_EQUAL( MQTTIllegalState, status ); - operation = MQTT_RECEIVE; - status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, 3, &state ); - TEST_ASSERT_EQUAL( MQTTIllegalState, status ); - - /* Invalid current state. */ - operation = MQTT_SEND; - addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, qos, MQTTStateNull ); - status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); - TEST_ASSERT_EQUAL( MQTTIllegalState, status ); - - /* Collision. */ - operation = MQTT_RECEIVE; - addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS1, MQTTPubAckSend ); - status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); - TEST_ASSERT_EQUAL( MQTTStateCollision, status ); - - /* No memory. */ - operation = MQTT_RECEIVE; - fillRecord( mqttContext.incomingPublishRecords, 2, MQTTQoS1, MQTTPublishSend ); - status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); - TEST_ASSERT_EQUAL( MQTTNoMemory, status ); - - resetPublishRecords( &mqttContext ); - - /* QoS 1. */ - qos = MQTTQoS1; - /* Send. */ - operation = MQTT_SEND; - addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS1, MQTTPublishSend ); - status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( MQTTPubAckPending, state ); - TEST_ASSERT_EQUAL( MQTTPubAckPending, mqttContext.outgoingPublishRecords[ 0 ].publishState ); - /* Resend when record already exists. */ - status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( MQTTPubAckPending, state ); - TEST_ASSERT_EQUAL( MQTTPubAckPending, mqttContext.outgoingPublishRecords[ 0 ].publishState ); - /* Receive. */ - operation = MQTT_RECEIVE; - status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( MQTTPubAckSend, state ); - TEST_ASSERT_EQUAL( MQTTPubAckSend, mqttContext.incomingPublishRecords[ 0 ].publishState ); - /* Receive duplicate incoming publish. */ - status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); - TEST_ASSERT_EQUAL( MQTTStateCollision, status ); - TEST_ASSERT_EQUAL( MQTTPubAckSend, state ); - TEST_ASSERT_EQUAL( MQTTPubAckSend, mqttContext.incomingPublishRecords[ 0 ].publishState ); - - resetPublishRecords( &mqttContext ); - - /* QoS 2. */ - qos = MQTTQoS2; - /* Send. */ - operation = MQTT_SEND; - addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPublishSend ); - status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( MQTTPubRecPending, state ); - TEST_ASSERT_EQUAL( MQTTPubRecPending, mqttContext.outgoingPublishRecords[ 0 ].publishState ); - /* Resend when record already exists. */ - status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( MQTTPubRecPending, state ); - TEST_ASSERT_EQUAL( MQTTPubRecPending, mqttContext.outgoingPublishRecords[ 0 ].publishState ); - /* Receive. */ - operation = MQTT_RECEIVE; - status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( MQTTPubRecSend, state ); - TEST_ASSERT_EQUAL( MQTTPubRecSend, mqttContext.incomingPublishRecords[ 0 ].publishState ); - /* Receive incoming publish when the packet record is in state #MQTTPubRecSend. */ - status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); - TEST_ASSERT_EQUAL( MQTTStateCollision, status ); - TEST_ASSERT_EQUAL( MQTTPubRecSend, state ); - TEST_ASSERT_EQUAL( MQTTPubRecSend, mqttContext.incomingPublishRecords[ 0 ].publishState ); - /* Receive incoming publish when the packet record is in state #MQTTPubRelPending. */ - addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRelPending ); - status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); - TEST_ASSERT_EQUAL( MQTTStateCollision, status ); - /* The returned state will always be #MQTTPubRecSend as a PUBREC need to be sent. */ - TEST_ASSERT_EQUAL( MQTTPubRecSend, state ); - TEST_ASSERT_EQUAL( MQTTPubRelPending, mqttContext.incomingPublishRecords[ 0 ].publishState ); -} - -/* ========================================================================== */ - -void test_MQTT_CalculateStateAck( void ) -{ - MQTTPubAckType_t ack; - MQTTQoS_t qos; - MQTTStateOperation_t opType; - - /* Invalid qos. */ - qos = MQTTQoS0; - ack = MQTTPuback; - opType = MQTT_SEND; - TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStateAck( ack, opType, qos ) ); - qos = MQTTQoS2; - TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStateAck( ack, opType, qos ) ); - qos = MQTTQoS0; - ack = MQTTPubrec; - TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStateAck( ack, opType, qos ) ); - qos = MQTTQoS1; - TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStateAck( ack, opType, qos ) ); - - /* Invalid ack type. */ - ack = MQTTPubcomp + 1; - TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStateAck( ack, opType, qos ) ); - - /* PUBACK */ - ack = MQTTPuback; - qos = MQTTQoS1; - opType = MQTT_SEND; - TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStateAck( ack, opType, qos ) ); - opType = MQTT_RECEIVE; - TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStateAck( ack, opType, qos ) ); - - /* QoS 2 tests. */ - qos = MQTTQoS2; - - /* PUBREC */ - ack = MQTTPubrec; - /* Send */ - opType = MQTT_SEND; - TEST_ASSERT_EQUAL( MQTTPubRelPending, MQTT_CalculateStateAck( ack, opType, qos ) ); - /* Receive */ - opType = MQTT_RECEIVE; - TEST_ASSERT_EQUAL( MQTTPubRelSend, MQTT_CalculateStateAck( ack, opType, qos ) ); - - /* PUBREL */ - ack = MQTTPubrel; - /* Send */ - opType = MQTT_SEND; - TEST_ASSERT_EQUAL( MQTTPubCompPending, MQTT_CalculateStateAck( ack, opType, qos ) ); - /* Receive */ - opType = MQTT_RECEIVE; - TEST_ASSERT_EQUAL( MQTTPubCompSend, MQTT_CalculateStateAck( ack, opType, qos ) ); - - /* PUBCOMP */ - ack = MQTTPubcomp; - TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStateAck( ack, opType, qos ) ); - opType = MQTT_SEND; - TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStateAck( ack, opType, qos ) ); -} - -/* ========================================================================== */ - -void test_MQTT_UpdateStateAck( void ) -{ - MQTTContext_t mqttContext = { 0 }; - MQTTPubAckType_t ack = MQTTPuback; - MQTTStateOperation_t operation = MQTT_RECEIVE; - MQTTPublishState_t state = MQTTStateNull; - MQTTStatus_t status; - - const uint16_t PACKET_ID = 1; - TransportInterface_t transport; - MQTTFixedBuffer_t networkBuffer = { 0 }; - - transport.recv = transportRecvSuccess; - transport.send = transportSendSuccess; - - MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; - MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; - - status = MQTT_Init( &mqttContext, &transport, - getTime, eventCallback, &networkBuffer ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - - status = MQTT_InitStatefulQoS( &mqttContext, - outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, - incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - - /* NULL parameters. */ - status = MQTT_UpdateStateAck( NULL, PACKET_ID, ack, operation, &state ); - TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, NULL ); - TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - /* Invalid packet ID. */ - status = MQTT_UpdateStateAck( &mqttContext, 0, ack, operation, &state ); - TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - /* No matching record found. */ - status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); - TEST_ASSERT_EQUAL( MQTTBadResponse, status ); - - /* Invalid transitions. */ - /* Invalid transition from #MQTTPubRelPending. */ - addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRelPending ); - ack = MQTTPubrel; - operation = MQTT_SEND; - status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); - TEST_ASSERT_EQUAL( MQTTIllegalState, status ); - /* Invalid transition from #MQTTPubCompSend. */ - addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubCompSend ); - status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); - TEST_ASSERT_EQUAL( MQTTIllegalState, status ); - /* Invalid transition from #MQTTPubCompPending. */ - addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubCompPending ); - ack = MQTTPubrec; - operation = MQTT_RECEIVE; - status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); - TEST_ASSERT_EQUAL( MQTTIllegalState, status ); - /* Invalid transition from #MQTTPubRecPending. */ - addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecPending ); - ack = MQTTPubcomp; - status = MQTT_UpdateStateAck( &mqttContext, 1, ack, operation, &state ); - TEST_ASSERT_EQUAL( MQTTIllegalState, status ); - - /* Invalid ack type. */ - status = MQTT_UpdateStateAck( &mqttContext, 1, MQTTPubcomp + 1, operation, &state ); - TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - - /* Invalid current state. */ - addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPublishDone ); - status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); - TEST_ASSERT_EQUAL( MQTTIllegalState, status ); - addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPublishSend ); - status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); - TEST_ASSERT_EQUAL( MQTTIllegalState, status ); - addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTStateNull ); - status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); - TEST_ASSERT_EQUAL( MQTTIllegalState, status ); - - resetPublishRecords( &mqttContext ); - - /* QoS 1, receive PUBACK for outgoing publish. */ - addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS1, MQTTPubAckPending ); - operation = MQTT_RECEIVE; - ack = MQTTPuback; - status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( MQTTPublishDone, state ); - - /* Test for deletion. */ - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 0 ].packetId ); - /* Send PUBACK for incoming publish. */ - operation = MQTT_SEND; - addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS1, MQTTPubAckSend ); - status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( MQTTPublishDone, state ); - - resetPublishRecords( &mqttContext ); - - /* QoS 2, PUBREL. */ - /* Outgoing. */ - addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRelSend ); - operation = MQTT_SEND; - ack = MQTTPubrel; - status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( MQTTPubCompPending, state ); - /* Outgoing. Resend PUBREL when record in state #MQTTPubCompPending. */ - operation = MQTT_SEND; - ack = MQTTPubrel; - status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( MQTTPubCompPending, state ); - /* Incoming. */ - addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRelPending ); - operation = MQTT_RECEIVE; - status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( MQTTPubCompSend, state ); - /* Test for update. */ - TEST_ASSERT_EQUAL( MQTTPubCompSend, mqttContext.incomingPublishRecords[ 0 ].publishState ); - /* Incoming. Duplicate PUBREL is received when record is in state #MQTTPubRelPending. */ - status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( MQTTPubCompSend, state ); - - /* QoS 2, PUBREC. */ - /* Outgoing. */ - addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecPending ); - operation = MQTT_RECEIVE; - ack = MQTTPubrec; - status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); - - /* Receiving a PUBREC will move the record to the end. - * In this case, only one record exists, no moving is required. */ - TEST_ASSERT_EQUAL( PACKET_ID, mqttContext.outgoingPublishRecords[ 0 ].packetId ); - TEST_ASSERT_EQUAL( MQTTQoS2, mqttContext.outgoingPublishRecords[ 0 ].qos ); - TEST_ASSERT_EQUAL( MQTTPubRelSend, mqttContext.outgoingPublishRecords[ 0 ].publishState ); - - /* Outgoing. - * Test if the record moves to the end of the records when PUBREC is - * received. */ - resetPublishRecords( &mqttContext ); - addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecPending ); - addToRecord( mqttContext.outgoingPublishRecords, 1, PACKET_ID + 1, MQTTQoS2, MQTTPubRelSend ); - status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); - - /* Receiving a PUBREC will move the record to the end. - * In this case, the record will be moved to index 2. */ - TEST_ASSERT_EQUAL( PACKET_ID, mqttContext.outgoingPublishRecords[ 2 ].packetId ); - TEST_ASSERT_EQUAL( MQTTQoS2, mqttContext.outgoingPublishRecords[ 2 ].qos ); - TEST_ASSERT_EQUAL( MQTTPubRelSend, mqttContext.outgoingPublishRecords[ 2 ].publishState ); - /* Record at the current index will be marked as invalid. */ - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 0 ].packetId ); - - /* Incoming. */ - addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecSend ); - operation = MQTT_SEND; - status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( MQTTPubRelPending, state ); - /* Incoming. Duplicate publish received and record is in state #MQTTPubRelPending. */ - addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRelPending ); - status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( MQTTPubRelPending, state ); - - /* QoS 2, PUBCOMP. */ - /* Outgoing. */ - addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubCompPending ); - operation = MQTT_RECEIVE; - ack = MQTTPubcomp; - status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( MQTTPublishDone, state ); - /* Incoming. */ - addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubCompSend ); - operation = MQTT_SEND; - status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( MQTTPublishDone, state ); -} - -/* ========================================================================== */ - -void test_MQTT_AckToResend( void ) -{ - MQTTContext_t mqttContext = { 0 }; - MQTTStateCursor_t cursor = MQTT_STATE_CURSOR_INITIALIZER; - MQTTPublishState_t state = MQTTStateNull; - uint16_t packetId; - const uint16_t PACKET_ID = 1; - const uint16_t PACKET_ID2 = 2; - const uint16_t PACKET_ID3 = 3; - const uint16_t PACKET_ID4 = 4; - const size_t index = 0; - const size_t index2 = 1; - const size_t index3 = MQTT_STATE_ARRAY_MAX_COUNT / 2; - const size_t index4 = index3 + 2; - - MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; - MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; - MQTTStatus_t status; - TransportInterface_t transport; - MQTTFixedBuffer_t networkBuffer = { 0 }; - - transport.recv = transportRecvSuccess; - transport.send = transportSendSuccess; - - status = MQTT_Init( &mqttContext, &transport, - getTime, eventCallback, &networkBuffer ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - - status = MQTT_InitStatefulQoS( &mqttContext, - outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, - incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - - /* Invalid parameters. */ - packetId = MQTT_PubrelToResend( NULL, &cursor, &state ); - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); - packetId = MQTT_PubrelToResend( &mqttContext, NULL, &state ); - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); - packetId = MQTT_PubrelToResend( &mqttContext, &cursor, NULL ); - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); - - /* No packet exists. */ - cursor = MQTT_STATE_CURSOR_INITIALIZER; - packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); - TEST_ASSERT_EQUAL( MQTTStateNull, state ); - TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); - - /* No packet exists in state #MQTTPubCompPending or #MQTTPubCompPending states. */ - cursor = MQTT_STATE_CURSOR_INITIALIZER; - addToRecord( mqttContext.outgoingPublishRecords, index, PACKET_ID3, MQTTQoS2, MQTTPubRelPending ); - addToRecord( mqttContext.outgoingPublishRecords, index2, PACKET_ID4, MQTTQoS2, MQTTPubCompSend ); - packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); - TEST_ASSERT_EQUAL( MQTTStateNull, state ); - TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); - - /* Add a record in #MQTTPubCompPending state. */ - cursor = MQTT_STATE_CURSOR_INITIALIZER; - addToRecord( mqttContext.outgoingPublishRecords, index3, PACKET_ID, MQTTQoS2, MQTTPubCompPending ); - packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); - TEST_ASSERT_EQUAL( PACKET_ID, packetId ); - TEST_ASSERT_EQUAL( index3 + 1, cursor ); - TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); - - /* Add another record in #MQTTPubCompPending state. */ - addToRecord( mqttContext.outgoingPublishRecords, index4, PACKET_ID2, MQTTQoS2, MQTTPubCompPending ); - packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); - TEST_ASSERT_EQUAL( PACKET_ID2, packetId ); - TEST_ASSERT_EQUAL( index4 + 1, cursor ); - TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); - - /* Add another record in #MQTTPubRelSend state. */ - addToRecord( mqttContext.outgoingPublishRecords, index4 + 1, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRelSend ); - packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); - TEST_ASSERT_EQUAL( PACKET_ID2 + 1, packetId ); - TEST_ASSERT_EQUAL( index4 + 2, cursor ); - TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); - - /* Only one record in #MQTTPubRelSend state. */ - resetPublishRecords( &mqttContext ); - cursor = MQTT_STATE_CURSOR_INITIALIZER; - addToRecord( mqttContext.outgoingPublishRecords, index3, PACKET_ID, MQTTQoS2, MQTTPubRelSend ); - packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); - TEST_ASSERT_EQUAL( PACKET_ID, packetId ); - TEST_ASSERT_EQUAL( index3 + 1, cursor ); - TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); - - /* Further search should be return no valid packets. */ - state = MQTTStateNull; - packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); - TEST_ASSERT_EQUAL( MQTTStateNull, state ); - TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); -} - -void test_MQTT_PublishToResend( void ) -{ - MQTTContext_t mqttContext = { 0 }; - MQTTStateCursor_t cursor = MQTT_STATE_CURSOR_INITIALIZER; - uint16_t packetId; - const uint16_t PACKET_ID = 1; - const uint16_t PACKET_ID2 = 2; - const uint16_t PACKET_ID3 = 3; - const uint16_t PACKET_ID4 = 4; - const size_t index = 0; - const size_t index2 = 1; - const size_t index3 = MQTT_STATE_ARRAY_MAX_COUNT / 2; - const size_t index4 = index3 + 2; - - MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; - MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; - MQTTStatus_t status; - TransportInterface_t transport = { 0 }; - - transport.recv = transportRecvSuccess; - transport.send = transportSendSuccess; - - MQTTFixedBuffer_t networkBuffer = { 0 }; - - status = MQTT_Init( &mqttContext, &transport, - getTime, eventCallback, &networkBuffer ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - - status = MQTT_InitStatefulQoS( &mqttContext, - outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, - incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - - - /* Invalid parameters. */ - packetId = MQTT_PublishToResend( NULL, &cursor ); - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); - packetId = MQTT_PublishToResend( &mqttContext, NULL ); - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); - - /* No packet exists. */ - cursor = MQTT_STATE_CURSOR_INITIALIZER; - packetId = MQTT_PublishToResend( &mqttContext, &cursor ); - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); - TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); - - /* No packet exists in state #MQTTPublishSend, #MQTTPubAckPending and - * #MQTTPubRecPending states. */ - cursor = MQTT_STATE_CURSOR_INITIALIZER; - addToRecord( mqttContext.outgoingPublishRecords, index, PACKET_ID3, MQTTQoS2, MQTTPubCompPending ); - addToRecord( mqttContext.outgoingPublishRecords, index2, PACKET_ID4, MQTTQoS2, MQTTPubRelSend ); - packetId = MQTT_PublishToResend( &mqttContext, &cursor ); - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); - TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); - - /* Add a record in #MQTTPublishSend state. */ - cursor = MQTT_STATE_CURSOR_INITIALIZER; - addToRecord( mqttContext.outgoingPublishRecords, index3, PACKET_ID, MQTTQoS2, MQTTPublishSend ); - packetId = MQTT_PublishToResend( &mqttContext, &cursor ); - TEST_ASSERT_EQUAL( PACKET_ID, packetId ); - TEST_ASSERT_EQUAL( index3 + 1, cursor ); - - /* Add another record in #MQTTPubAckPending state. */ - addToRecord( mqttContext.outgoingPublishRecords, index4, PACKET_ID2, MQTTQoS1, MQTTPubAckPending ); - packetId = MQTT_PublishToResend( &mqttContext, &cursor ); - TEST_ASSERT_EQUAL( PACKET_ID2, packetId ); - TEST_ASSERT_EQUAL( index4 + 1, cursor ); - - /* Add another record in #MQTTPubRecPending state. */ - addToRecord( mqttContext.outgoingPublishRecords, index4 + 1, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRecPending ); - packetId = MQTT_PublishToResend( &mqttContext, &cursor ); - TEST_ASSERT_EQUAL( PACKET_ID2 + 1, packetId ); - TEST_ASSERT_EQUAL( index4 + 2, cursor ); - - /* Further search should find no packets. */ - packetId = MQTT_PublishToResend( &mqttContext, &cursor ); - TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); - TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); -} - -/* ========================================================================== */ - -void test_MQTT_State_strerror( void ) -{ - MQTTPublishState_t state; - const char * str = NULL; - - state = MQTTStateNull; - str = MQTT_State_strerror( state ); - TEST_ASSERT_EQUAL_STRING( "MQTTStateNull", str ); - - state = MQTTPublishSend; - str = MQTT_State_strerror( state ); - TEST_ASSERT_EQUAL_STRING( "MQTTPublishSend", str ); - - state = MQTTPubAckSend; - str = MQTT_State_strerror( state ); - TEST_ASSERT_EQUAL_STRING( "MQTTPubAckSend", str ); - - state = MQTTPubRecSend; - str = MQTT_State_strerror( state ); - TEST_ASSERT_EQUAL_STRING( "MQTTPubRecSend", str ); - - state = MQTTPubRelSend; - str = MQTT_State_strerror( state ); - TEST_ASSERT_EQUAL_STRING( "MQTTPubRelSend", str ); - - state = MQTTPubCompSend; - str = MQTT_State_strerror( state ); - TEST_ASSERT_EQUAL_STRING( "MQTTPubCompSend", str ); - - state = MQTTPubAckPending; - str = MQTT_State_strerror( state ); - TEST_ASSERT_EQUAL_STRING( "MQTTPubAckPending", str ); - - state = MQTTPubRecPending; - str = MQTT_State_strerror( state ); - TEST_ASSERT_EQUAL_STRING( "MQTTPubRecPending", str ); - - state = MQTTPubRelPending; - str = MQTT_State_strerror( state ); - TEST_ASSERT_EQUAL_STRING( "MQTTPubRelPending", str ); - - state = MQTTPubCompPending; - str = MQTT_State_strerror( state ); - TEST_ASSERT_EQUAL_STRING( "MQTTPubCompPending", str ); - - state = MQTTPublishDone; - str = MQTT_State_strerror( state ); - TEST_ASSERT_EQUAL_STRING( "MQTTPublishDone", str ); - - state = MQTTPublishDone + 1; - str = MQTT_State_strerror( state ); - TEST_ASSERT_EQUAL_STRING( "Invalid MQTT State", str ); -} - -/* ========================================================================== */ From a3860d84145b306377ff65751347564b3bd1a9c4 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Mon, 17 Jun 2024 19:27:57 +0000 Subject: [PATCH 11/82] testing serialize functions --- source/core_mqtt_serializer.c | 65 +- source/include/core_mqtt_serializer.h | 19 +- test/CMakeLists.txt | 2 +- test/unit-test/MQTT/core_mqtt_state_utest.c | 2298 ++++++++--------- test/unit-test/MQTTv5/CMakeLists.txt | 64 +- .../MQTTv5/core_mqttv5_serializer_utest.c | 363 ++- .../MQTTv5/core_mqttv5_state_utest.c | 117 +- test/unit-test/MQTTv5/core_mqttv5_utest.c | 1190 +++++++-- 8 files changed, 2668 insertions(+), 1450 deletions(-) diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index aa3d3f2fe..32b42af52 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -191,10 +191,10 @@ * @brief Get the low byte of a 16-bit unsigned integer. */ #define UINT32_DECODE( ptr ) \ - ( uint32_t ) ( ( ( ( uint32_t ) ptr[ 0 ] ) << 24 ) | \ - ( ( ( uint32_t ) ptr[ 0 ] ) << 16 ) | \ - ( ( ( uint32_t ) ptr[ 0 ] ) << 8 ) | \ - ( ( uint32_t ) ptr[ 1 ] ) ) + ( uint32_t ) ( ( ( ( uint32_t ) ptr[ 0 ] ) << 8 ) | \ + ( ( ( uint32_t ) ptr[ 1 ] ) << 16 ) | \ + ( ( ( uint32_t ) ptr[ 2 ] ) << 24 ) | \ + ( ( uint32_t ) ptr[ 3 ] ) ) #endif @@ -566,8 +566,9 @@ uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t* pPublishInfo, *pIndexLocal = MQTT_PAYLOAD_FORMAT_ID; pIndexLocal++; *pIndexLocal = pPublishInfo->payloadFormat; + pIndexLocal++; } - if (pPublishInfo->msgExpiryInterval != 0U) + if (pPublishInfo->msgExpiryPresent != false) { *pIndexLocal = MQTT_MSG_EXPIRY_ID; pIndexLocal++; @@ -587,7 +588,7 @@ uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t* pPublishInfo, MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* userProperty, uint16_t size, size_t* length) { MQTTStatus_t status = MQTTSuccess; uint16_t i = 0; - if (size > MAX_USER_PROPERTY) { + if (size > MAX_USER_PROPERTY || length == NULL) { status = MQTTBadParameter; } else if (size != 0 && userProperty == NULL) { @@ -598,8 +599,10 @@ MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* userProperty, uint16_t if ((userProperty + i) == NULL || (userProperty + i)->keyLength == 0 || (userProperty + i)->valueLength == 0 || (userProperty + i)->key == NULL || (userProperty + i)->value == NULL) { status = MQTTBadParameter; } + else{ *length += (userProperty + i)->keyLength + 3U; *length += (userProperty + i)->valueLength + 2U; + } } } return status; @@ -613,10 +616,10 @@ MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProp if(pConnectProperties==NULL){ status=MQTTBadParameter; } - else if(pConnectProperties->maxPacketSize==0){ + else if(pConnectProperties->maxPacketSize==0 || pConnectProperties->receiveMax==0){ status=MQTTBadParameter; } - if(status==MQTTSuccess){ + else{ if (pConnectProperties->sessionExpiry != 0) { // 4U + 1U @@ -626,7 +629,7 @@ MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProp { propertyLength += MQTT_RECEIVE_MAX_SIZE; } - if (pConnectProperties->maxPacketSize != UINT16_MAX) + if (pConnectProperties->maxPacketSize != UINT32_MAX) { propertyLength += MQTT_MAX_PACKET_SIZE; } @@ -647,7 +650,7 @@ MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProp if(pConnectProperties->incomingAuth==NULL){ status=MQTTBadParameter; } - if (pConnectProperties->outgoingAuth->authMethodLength == 0U && pConnectProperties->outgoingAuth->authDataLength != 0U) + else if (pConnectProperties->outgoingAuth->authMethodLength == 0U && pConnectProperties->outgoingAuth->authDataLength != 0U) { status = MQTTBadParameter; } @@ -673,10 +676,12 @@ MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProp if (status == MQTTSuccess && pConnectProperties->outgoingUserPropSize != 0) { status = MQTT_GetUserPropertySize(pConnectProperties->outgoingUserProperty, pConnectProperties->outgoingUserPropSize, &propertyLength); } - if (pConnectProperties->propertyLength > UINT16_MAX) { + if (status == MQTTSuccess && pConnectProperties->propertyLength > UINT16_MAX) { status = MQTTBadParameter; } + if(status==MQTTSuccess){ pConnectProperties->propertyLength = propertyLength; + } return status; @@ -687,6 +692,10 @@ MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillProperties, { size_t willLength = 0U; MQTTStatus_t status = MQTTSuccess; + if(pWillProperties==NULL){ + status=MQTTBadParameter; + } + else{ if (willDelay != 0U) { willLength += 5U; @@ -695,29 +704,47 @@ MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillProperties, { willLength += 2U; } - if (pWillProperties->msgExpiryInterval != 0U) + if (pWillProperties->msgExpiryPresent == true) { willLength += 5U; } if (pWillProperties->contentTypeLength != 0U) { + if(pWillProperties->contentType==NULL){ + status= MQTTBadParameter; + } + else{ willLength += pWillProperties->contentTypeLength + 3U; + } } - if (pWillProperties->responseTopicLength != 0U) - { + } + + if(status==MQTTSuccess && pWillProperties->responseTopicLength != 0U){ + if(pWillProperties->responseTopic==NULL){ + status= MQTTBadParameter; + } + else{ willLength += pWillProperties->responseTopicLength + 3U; + } } - if (pWillProperties->correlationLength != 0U) + if (status==MQTTSuccess && pWillProperties->correlationLength != 0U) { + if(pWillProperties->correlationData==NULL){ + status= MQTTBadParameter; + } + else{ willLength += pWillProperties->correlationLength + 3U; + } } - if (status == MQTTSuccess) { + if(status==MQTTSuccess){ status = MQTT_GetUserPropertySize(pWillProperties->userProperty, pWillProperties->userPropertySize, &willLength); } - if (willLength > 0xffff) { + if (willLength > UINT16_MAX || status !=MQTTSuccess) { status = MQTTBadParameter; } + if(status==MQTTSuccess){ pWillProperties->propertyLength = willLength; + } return status; } @@ -743,7 +770,7 @@ uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex, const MQTTConnectPrope pIndexLocal[1] = UINT16_LOW_BYTE(pConnectProperties->receiveMax); pIndexLocal = &pIndexLocal[2]; } - if (pConnectProperties->maxPacketSize != UINT16_MAX) + if (pConnectProperties->maxPacketSize != UINT32_MAX) { *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; pIndexLocal++; @@ -941,7 +968,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti pVariableHeader = &pVariableHeader[remainingLengthSize]; status = decodeVariableLength(pVariableHeader, &propertyLength); } - if(pIncomingPacket->remainingLength + remainingLengthSize+1>pConnackProperties->maxPacketSize){ + if(pIncomingPacket->remainingLength + remainingLengthSize + 1>pConnackProperties->maxPacketSize){ status= MQTTProtocolError; } if (propertyLength == 0U) { diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index c620cf9ad..12c1a25d2 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -81,11 +81,11 @@ struct MQTTSubscribeInfo; struct MQTTPublishInfo; struct MQTTPacketInfo; -#if (MQTT_VERSION_5_ENABLED) +// #if (MQTT_VERSION_5_ENABLED) struct MQTTConnectProperties; struct MQTTUserProperty; struct MQTTAuthInfo; -#endif +// #endif /** * @ingroup mqtt_enum_types * @brief Return codes from MQTT functions. @@ -107,10 +107,10 @@ typedef enum MQTTStatus incomplete data; it should be called again (probably after a delay). */ - #if(MQTT_VERSION_5_ENABLED) + // #if(MQTT_VERSION_5_ENABLED) MQTTMalformedPacket=0x81, MQTTProtocolError=0x82 - #endif + // #endif // #endif } MQTTStatus_t; @@ -210,7 +210,7 @@ typedef struct MQTTSubscribeInfo uint16_t topicFilterLength; } MQTTSubscribeInfo_t; -#if (MQTT_VERSION_5_ENABLED) +// #if (MQTT_VERSION_5_ENABLED) /** * @ingroup mqtt_struct_types @@ -277,7 +277,7 @@ typedef struct MQTTConnectProperties MQTTAuthInfo_t *outgoingAuth; } MQTTConnectProperties_t; -#endif +// #endif /** * @ingroup mqtt_struct_types @@ -323,7 +323,8 @@ typedef struct MQTTPublishInfo #if (MQTT_VERSION_5_ENABLED) size_t propertyLength; uint8_t payloadFormat; - uint64_t msgExpiryInterval; + uint32_t msgExpiryInterval; + bool msgExpiryPresent; uint16_t contentTypeLength; const char *contentType; uint16_t responseTopicLength; @@ -1387,7 +1388,7 @@ uint8_t * MQTT_SerializeUnsubscribeHeader( size_t remainingLength, /** @endcond */ -#if(MQTT_VERSION_5_ENABLED) +// #if(MQTT_VERSION_5_ENABLED) MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t * userProperty, uint16_t size,size_t *length); @@ -1407,7 +1408,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackPropert bool * pSessionPresent ); -#endif +// #endif /* *INDENT-OFF* */ #ifdef __cplusplus diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index c3154de28..71f8f040b 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -94,7 +94,7 @@ if( UNITTEST ) # Include build configuration for unit tests. add_subdirectory( unit-test/MQTT) - # add_subdirectory( unit-test/MQTTv5) + add_subdirectory( unit-test/MQTTv5) # ==================================== Coverage Analysis configuration ======================================== diff --git a/test/unit-test/MQTT/core_mqtt_state_utest.c b/test/unit-test/MQTT/core_mqtt_state_utest.c index e2d01bde7..2d6655b1b 100644 --- a/test/unit-test/MQTT/core_mqtt_state_utest.c +++ b/test/unit-test/MQTT/core_mqtt_state_utest.c @@ -1,1170 +1,1170 @@ -// /* -// * coreMQTT v2.3.0 -// * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// * -// * SPDX-License-Identifier: MIT -// * -// * Permission is hereby granted, free of charge, to any person obtaining a copy of -// * this software and associated documentation files (the "Software"), to deal in -// * the Software without restriction, including without limitation the rights to -// * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -// * the Software, and to permit persons to whom the Software is furnished to do so, -// * subject to the following conditions: -// * -// * The above copyright notice and this permission notice shall be included in all -// * copies or substantial portions of the Software. -// * -// * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -// * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -// * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -// * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -// * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// */ - -// /** -// * @file core_mqtt_state_utest.c -// * @brief Unit tests for functions in core_mqtt_state.h. -// */ -// #include -// #include "unity.h" - -// #include "core_mqtt_state.h" - -// #define MQTT_PACKET_ID_INVALID ( ( uint16_t ) 0U ) -// #define MQTT_STATE_ARRAY_MAX_COUNT 10 - -// /* ============================ UNITY FIXTURES ============================ */ -// void setUp( void ) -// { -// } - -// /* called before each testcase */ -// void tearDown( void ) -// { -// } - -// /* called at the beginning of the whole suite */ -// void suiteSetUp() -// { -// } - -// /* called at the end of the whole suite */ -// int suiteTearDown( int numFailures ) -// { -// return numFailures; -// } - -// /* ========================================================================== */ - -// static int32_t transportRecvSuccess( NetworkContext_t * pNetworkContext, -// void * pBuffer, -// size_t bytesToRead ) -// { -// ( void ) pNetworkContext; -// ( void ) pBuffer; -// return bytesToRead; -// } - -// static int32_t transportSendSuccess( NetworkContext_t * pNetworkContext, -// const void * pBuffer, -// size_t bytesToWrite ) -// { -// ( void ) pNetworkContext; -// ( void ) pBuffer; -// return bytesToWrite; -// } - -// /** -// * @brief A mocked timer query function that increments on every call. This -// * guarantees that only a single iteration runs in the ProcessLoop for ease -// * of testing. -// */ -// static uint32_t getTime( void ) -// { -// return 0; -// } - -// /** -// * @brief Mocked MQTT event callback. -// * -// * @param[in] pContext MQTT context pointer. -// * @param[in] pPacketInfo Packet Info pointer for the incoming packet. -// * @param[in] pDeserializedInfo Deserialized information from the incoming packet. -// */ -// static void eventCallback( MQTTContext_t * pContext, -// MQTTPacketInfo_t * pPacketInfo, -// MQTTDeserializedInfo_t * pDeserializedInfo ) -// { -// ( void ) pContext; -// ( void ) pPacketInfo; -// ( void ) pDeserializedInfo; -// } - -// static void resetPublishRecords( MQTTContext_t * pMqttContext ) -// { -// uint32_t i = 0; - -// for( ; i < MQTT_STATE_ARRAY_MAX_COUNT; i++ ) -// { -// pMqttContext->outgoingPublishRecords[ i ].packetId = MQTT_PACKET_ID_INVALID; -// pMqttContext->outgoingPublishRecords[ i ].qos = MQTTQoS0; -// pMqttContext->outgoingPublishRecords[ i ].publishState = MQTTStateNull; -// pMqttContext->incomingPublishRecords[ i ].packetId = MQTT_PACKET_ID_INVALID; -// pMqttContext->incomingPublishRecords[ i ].qos = MQTTQoS0; -// pMqttContext->incomingPublishRecords[ i ].publishState = MQTTStateNull; -// } -// } - -// static void addToRecord( MQTTPubAckInfo_t * records, -// size_t index, -// uint16_t packetId, -// MQTTQoS_t qos, -// MQTTPublishState_t state ) -// { -// records[ index ].packetId = packetId; -// records[ index ].qos = qos; -// records[ index ].publishState = state; -// } - -// static void fillRecord( MQTTPubAckInfo_t * records, -// uint16_t startingId, -// MQTTQoS_t qos, -// MQTTPublishState_t state ) -// { -// uint32_t i; - -// for( i = 0; i < MQTT_STATE_ARRAY_MAX_COUNT; i++ ) -// { -// records[ i ].packetId = startingId + i; -// records[ i ].qos = qos; -// records[ i ].publishState = state; -// } -// } - -// static void validateRecordAt( MQTTPubAckInfo_t * records, -// size_t index, -// uint16_t packetId, -// MQTTQoS_t qos, -// MQTTPublishState_t state ) -// { -// TEST_ASSERT_EQUAL( packetId, records[ index ].packetId ); -// TEST_ASSERT_EQUAL( qos, records[ index ].qos ); -// TEST_ASSERT_EQUAL( state, records[ index ].publishState ); -// } - -// /* ========================================================================== */ - -// void test_MQTT_ReserveState( void ) -// { -// MQTTContext_t mqttContext = { 0 }; -// MQTTStatus_t status; -// const uint16_t PACKET_ID = 1; -// const uint16_t PACKET_ID2 = 2; -// const uint16_t PACKET_ID3 = 3; -// const size_t index = MQTT_STATE_ARRAY_MAX_COUNT / 2; -// TransportInterface_t transport; -// MQTTFixedBuffer_t networkBuffer = { 0 }; - -// transport.recv = transportRecvSuccess; -// transport.send = transportSendSuccess; - -// MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; -// MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; - -// status = MQTT_Init( &mqttContext, &transport, -// getTime, eventCallback, &networkBuffer ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); - -// status = MQTT_InitStatefulQoS( &mqttContext, -// outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, -// incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); - -// /* QoS 0 returns success. */ -// TEST_ASSERT_EQUAL( MQTTSuccess, MQTT_ReserveState( NULL, MQTT_PACKET_ID_INVALID, MQTTQoS0 ) ); - -// /* Test for bad parameters */ -// status = MQTT_ReserveState( &mqttContext, MQTT_PACKET_ID_INVALID, MQTTQoS1 ); -// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); -// status = MQTT_ReserveState( NULL, PACKET_ID, MQTTQoS1 ); -// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - -// /* Test for collisions. */ -// mqttContext.outgoingPublishRecords[ 0 ].packetId = PACKET_ID; -// mqttContext.outgoingPublishRecords[ 0 ].qos = MQTTQoS1; -// mqttContext.outgoingPublishRecords[ 0 ].publishState = MQTTPublishSend; - -// status = MQTT_ReserveState( &mqttContext, PACKET_ID, MQTTQoS1 ); -// TEST_ASSERT_EQUAL( MQTTStateCollision, status ); - - -// /* Test for no memory. */ -// fillRecord( mqttContext.outgoingPublishRecords, 2, MQTTQoS1, MQTTPublishSend ); -// status = MQTT_ReserveState( &mqttContext, PACKET_ID, MQTTQoS1 ); -// TEST_ASSERT_EQUAL( MQTTNoMemory, status ); - -// /* Success. */ -// resetPublishRecords( &mqttContext ); -// status = MQTT_ReserveState( &mqttContext, PACKET_ID, MQTTQoS1 ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// /* Reserve uses first available entry. */ -// TEST_ASSERT_EQUAL( PACKET_ID, mqttContext.outgoingPublishRecords[ 0 ].packetId ); -// TEST_ASSERT_EQUAL( MQTTQoS1, mqttContext.outgoingPublishRecords[ 0 ].qos ); -// TEST_ASSERT_EQUAL( MQTTPublishSend, mqttContext.outgoingPublishRecords[ 0 ].publishState ); - -// /* Success. -// * Add record after the highest non empty index. -// * Already an entry exists at index 0. Adding 1 more entry at index 5. -// * The new index used should be 6. */ -// addToRecord( mqttContext.outgoingPublishRecords, index, PACKET_ID2, MQTTQoS2, MQTTPubRelSend ); -// status = MQTT_ReserveState( &mqttContext, PACKET_ID3, MQTTQoS1 ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// TEST_ASSERT_EQUAL( PACKET_ID3, mqttContext.outgoingPublishRecords[ index + 1 ].packetId ); -// TEST_ASSERT_EQUAL( MQTTQoS1, mqttContext.outgoingPublishRecords[ index + 1 ].qos ); -// TEST_ASSERT_EQUAL( MQTTPublishSend, mqttContext.outgoingPublishRecords[ index + 1 ].publishState ); -// } - -// /* ========================================================================== */ - -// void test_MQTT_RemoveStateRecord_ContextNULL( void ) -// { -// MQTTStatus_t status; - -// status = MQTT_RemoveStateRecord( NULL, 0 ); +/* + * coreMQTT v2.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/** + * @file core_mqtt_state_utest.c + * @brief Unit tests for functions in core_mqtt_state.h. + */ +#include +#include "unity.h" + +#include "core_mqtt_state.h" + +#define MQTT_PACKET_ID_INVALID ( ( uint16_t ) 0U ) +#define MQTT_STATE_ARRAY_MAX_COUNT 10 + +/* ============================ UNITY FIXTURES ============================ */ +void setUp( void ) +{ +} + +/* called before each testcase */ +void tearDown( void ) +{ +} + +/* called at the beginning of the whole suite */ +void suiteSetUp() +{ +} + +/* called at the end of the whole suite */ +int suiteTearDown( int numFailures ) +{ + return numFailures; +} + +/* ========================================================================== */ + +static int32_t transportRecvSuccess( NetworkContext_t * pNetworkContext, + void * pBuffer, + size_t bytesToRead ) +{ + ( void ) pNetworkContext; + ( void ) pBuffer; + return bytesToRead; +} + +static int32_t transportSendSuccess( NetworkContext_t * pNetworkContext, + const void * pBuffer, + size_t bytesToWrite ) +{ + ( void ) pNetworkContext; + ( void ) pBuffer; + return bytesToWrite; +} + +/** + * @brief A mocked timer query function that increments on every call. This + * guarantees that only a single iteration runs in the ProcessLoop for ease + * of testing. + */ +static uint32_t getTime( void ) +{ + return 0; +} + +/** + * @brief Mocked MQTT event callback. + * + * @param[in] pContext MQTT context pointer. + * @param[in] pPacketInfo Packet Info pointer for the incoming packet. + * @param[in] pDeserializedInfo Deserialized information from the incoming packet. + */ +static void eventCallback( MQTTContext_t * pContext, + MQTTPacketInfo_t * pPacketInfo, + MQTTDeserializedInfo_t * pDeserializedInfo ) +{ + ( void ) pContext; + ( void ) pPacketInfo; + ( void ) pDeserializedInfo; +} + +static void resetPublishRecords( MQTTContext_t * pMqttContext ) +{ + uint32_t i = 0; + + for( ; i < MQTT_STATE_ARRAY_MAX_COUNT; i++ ) + { + pMqttContext->outgoingPublishRecords[ i ].packetId = MQTT_PACKET_ID_INVALID; + pMqttContext->outgoingPublishRecords[ i ].qos = MQTTQoS0; + pMqttContext->outgoingPublishRecords[ i ].publishState = MQTTStateNull; + pMqttContext->incomingPublishRecords[ i ].packetId = MQTT_PACKET_ID_INVALID; + pMqttContext->incomingPublishRecords[ i ].qos = MQTTQoS0; + pMqttContext->incomingPublishRecords[ i ].publishState = MQTTStateNull; + } +} + +static void addToRecord( MQTTPubAckInfo_t * records, + size_t index, + uint16_t packetId, + MQTTQoS_t qos, + MQTTPublishState_t state ) +{ + records[ index ].packetId = packetId; + records[ index ].qos = qos; + records[ index ].publishState = state; +} + +static void fillRecord( MQTTPubAckInfo_t * records, + uint16_t startingId, + MQTTQoS_t qos, + MQTTPublishState_t state ) +{ + uint32_t i; + + for( i = 0; i < MQTT_STATE_ARRAY_MAX_COUNT; i++ ) + { + records[ i ].packetId = startingId + i; + records[ i ].qos = qos; + records[ i ].publishState = state; + } +} + +static void validateRecordAt( MQTTPubAckInfo_t * records, + size_t index, + uint16_t packetId, + MQTTQoS_t qos, + MQTTPublishState_t state ) +{ + TEST_ASSERT_EQUAL( packetId, records[ index ].packetId ); + TEST_ASSERT_EQUAL( qos, records[ index ].qos ); + TEST_ASSERT_EQUAL( state, records[ index ].publishState ); +} + +/* ========================================================================== */ + +void test_MQTT_ReserveState( void ) +{ + MQTTContext_t mqttContext = { 0 }; + MQTTStatus_t status; + const uint16_t PACKET_ID = 1; + const uint16_t PACKET_ID2 = 2; + const uint16_t PACKET_ID3 = 3; + const size_t index = MQTT_STATE_ARRAY_MAX_COUNT / 2; + TransportInterface_t transport; + MQTTFixedBuffer_t networkBuffer = { 0 }; + + transport.recv = transportRecvSuccess; + transport.send = transportSendSuccess; + + MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; + MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; + + status = MQTT_Init( &mqttContext, &transport, + getTime, eventCallback, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + + status = MQTT_InitStatefulQoS( &mqttContext, + outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, + incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + + /* QoS 0 returns success. */ + TEST_ASSERT_EQUAL( MQTTSuccess, MQTT_ReserveState( NULL, MQTT_PACKET_ID_INVALID, MQTTQoS0 ) ); + + /* Test for bad parameters */ + status = MQTT_ReserveState( &mqttContext, MQTT_PACKET_ID_INVALID, MQTTQoS1 ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + status = MQTT_ReserveState( NULL, PACKET_ID, MQTTQoS1 ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + /* Test for collisions. */ + mqttContext.outgoingPublishRecords[ 0 ].packetId = PACKET_ID; + mqttContext.outgoingPublishRecords[ 0 ].qos = MQTTQoS1; + mqttContext.outgoingPublishRecords[ 0 ].publishState = MQTTPublishSend; + + status = MQTT_ReserveState( &mqttContext, PACKET_ID, MQTTQoS1 ); + TEST_ASSERT_EQUAL( MQTTStateCollision, status ); + + + /* Test for no memory. */ + fillRecord( mqttContext.outgoingPublishRecords, 2, MQTTQoS1, MQTTPublishSend ); + status = MQTT_ReserveState( &mqttContext, PACKET_ID, MQTTQoS1 ); + TEST_ASSERT_EQUAL( MQTTNoMemory, status ); + + /* Success. */ + resetPublishRecords( &mqttContext ); + status = MQTT_ReserveState( &mqttContext, PACKET_ID, MQTTQoS1 ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + /* Reserve uses first available entry. */ + TEST_ASSERT_EQUAL( PACKET_ID, mqttContext.outgoingPublishRecords[ 0 ].packetId ); + TEST_ASSERT_EQUAL( MQTTQoS1, mqttContext.outgoingPublishRecords[ 0 ].qos ); + TEST_ASSERT_EQUAL( MQTTPublishSend, mqttContext.outgoingPublishRecords[ 0 ].publishState ); + + /* Success. + * Add record after the highest non empty index. + * Already an entry exists at index 0. Adding 1 more entry at index 5. + * The new index used should be 6. */ + addToRecord( mqttContext.outgoingPublishRecords, index, PACKET_ID2, MQTTQoS2, MQTTPubRelSend ); + status = MQTT_ReserveState( &mqttContext, PACKET_ID3, MQTTQoS1 ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( PACKET_ID3, mqttContext.outgoingPublishRecords[ index + 1 ].packetId ); + TEST_ASSERT_EQUAL( MQTTQoS1, mqttContext.outgoingPublishRecords[ index + 1 ].qos ); + TEST_ASSERT_EQUAL( MQTTPublishSend, mqttContext.outgoingPublishRecords[ index + 1 ].publishState ); +} + +/* ========================================================================== */ + +void test_MQTT_RemoveStateRecord_ContextNULL( void ) +{ + MQTTStatus_t status; + + status = MQTT_RemoveStateRecord( NULL, 0 ); -// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); -// } - -// /* ========================================================================== */ - -// void test_MQTT_RemoveStateRecord_RecordsNULL( void ) -// { -// MQTTStatus_t status; -// MQTTContext_t context; + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); +} + +/* ========================================================================== */ + +void test_MQTT_RemoveStateRecord_RecordsNULL( void ) +{ + MQTTStatus_t status; + MQTTContext_t context; -// memset( &context, 0, sizeof( MQTTContext_t ) ); + memset( &context, 0, sizeof( MQTTContext_t ) ); -// status = MQTT_RemoveStateRecord( &context, 0 ); + status = MQTT_RemoveStateRecord( &context, 0 ); -// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); -// } + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); +} -// /* ========================================================================== */ +/* ========================================================================== */ -// void test_MQTT_RemoveStateRecord_NoRecordFound( void ) -// { -// MQTTStatus_t status; -// MQTTContext_t context; -// MQTTPubAckInfo_t outgoingRecords[ 5 ]; +void test_MQTT_RemoveStateRecord_NoRecordFound( void ) +{ + MQTTStatus_t status; + MQTTContext_t context; + MQTTPubAckInfo_t outgoingRecords[ 5 ]; -// memset( &context, 0, sizeof( MQTTContext_t ) ); + memset( &context, 0, sizeof( MQTTContext_t ) ); -// context.outgoingPublishRecords = outgoingRecords; -// context.outgoingPublishRecordMaxCount = 5; + context.outgoingPublishRecords = outgoingRecords; + context.outgoingPublishRecordMaxCount = 5; -// memset( context.outgoingPublishRecords, 0, sizeof( outgoingRecords ) ); + memset( context.outgoingPublishRecords, 0, sizeof( outgoingRecords ) ); -// /* Any non-zero packet ID. */ -// status = MQTT_RemoveStateRecord( &context, 12U ); + /* Any non-zero packet ID. */ + status = MQTT_RemoveStateRecord( &context, 12U ); -// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); -// } + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); +} -// /* ========================================================================== */ +/* ========================================================================== */ -// void test_MQTT_RemoveStateRecord_RecordFoundIncorrectQoS( void ) -// { -// MQTTStatus_t status; -// MQTTContext_t context; -// MQTTPubAckInfo_t outgoingRecords[ 5 ]; -// const uint16_t packetID = 12; -// /* Any state except null state. */ -// const MQTTPublishState_t state = MQTTPubRelSend; +void test_MQTT_RemoveStateRecord_RecordFoundIncorrectQoS( void ) +{ + MQTTStatus_t status; + MQTTContext_t context; + MQTTPubAckInfo_t outgoingRecords[ 5 ]; + const uint16_t packetID = 12; + /* Any state except null state. */ + const MQTTPublishState_t state = MQTTPubRelSend; -// memset( &context, 0, sizeof( MQTTContext_t ) ); + memset( &context, 0, sizeof( MQTTContext_t ) ); -// context.outgoingPublishRecords = outgoingRecords; -// context.outgoingPublishRecordMaxCount = 5; + context.outgoingPublishRecords = outgoingRecords; + context.outgoingPublishRecordMaxCount = 5; -// memset( context.outgoingPublishRecords, 0, sizeof( outgoingRecords ) ); + memset( context.outgoingPublishRecords, 0, sizeof( outgoingRecords ) ); -// context.outgoingPublishRecords[ 0 ].packetId = packetID; -// context.outgoingPublishRecords[ 0 ].publishState = state; -// context.outgoingPublishRecords[ 0 ].qos = MQTTQoS0; + context.outgoingPublishRecords[ 0 ].packetId = packetID; + context.outgoingPublishRecords[ 0 ].publishState = state; + context.outgoingPublishRecords[ 0 ].qos = MQTTQoS0; -// /* Any non-zero packet ID. */ -// status = MQTT_RemoveStateRecord( &context, packetID ); + /* Any non-zero packet ID. */ + status = MQTT_RemoveStateRecord( &context, packetID ); -// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); -// } + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); +} -// /* ========================================================================== */ +/* ========================================================================== */ -// void test_MQTT_RemoveStateRecord_RemoveQoS1Record( void ) -// { -// MQTTStatus_t status; -// MQTTContext_t context; -// MQTTPubAckInfo_t outgoingRecords[ 5 ]; -// const uint16_t packetID = 12; -// /* Any state except null state. */ -// const MQTTPublishState_t state = MQTTPubRelSend; - -// memset( &context, 0, sizeof( MQTTContext_t ) ); - -// context.outgoingPublishRecords = outgoingRecords; -// context.outgoingPublishRecordMaxCount = 5; - -// memset( context.outgoingPublishRecords, 0, sizeof( outgoingRecords ) ); - -// context.outgoingPublishRecords[ 1 ].packetId = packetID; -// context.outgoingPublishRecords[ 1 ].publishState = state; -// context.outgoingPublishRecords[ 1 ].qos = MQTTQoS1; - -// /* Any non-zero packet ID. */ -// status = MQTT_RemoveStateRecord( &context, packetID ); - -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].packetId, MQTT_PACKET_ID_INVALID ); -// TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].publishState, MQTTStateNull ); -// TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].qos, MQTTQoS0 ); -// } - -// /* ========================================================================== */ - -// void test_MQTT_RemoveStateRecord_RemoveQoS2Record( void ) -// { -// MQTTStatus_t status; -// MQTTContext_t context; -// MQTTPubAckInfo_t outgoingRecords[ 5 ]; -// const uint16_t packetID = 12; -// /* Any state except null state. */ -// const MQTTPublishState_t state = MQTTPubRelSend; - -// memset( &context, 0, sizeof( MQTTContext_t ) ); - -// context.outgoingPublishRecords = outgoingRecords; -// context.outgoingPublishRecordMaxCount = 5; - -// memset( context.outgoingPublishRecords, 0, sizeof( outgoingRecords ) ); - -// context.outgoingPublishRecords[ 1 ].packetId = packetID; -// context.outgoingPublishRecords[ 1 ].publishState = state; -// context.outgoingPublishRecords[ 1 ].qos = MQTTQoS2; - -// /* Any non-zero packet ID. */ -// status = MQTT_RemoveStateRecord( &context, packetID ); - -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].packetId, MQTT_PACKET_ID_INVALID ); -// TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].publishState, MQTTStateNull ); -// TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].qos, MQTTQoS0 ); -// } - -// /* ========================================================================== */ - -// void test_MQTT_ReserveState_compactRecords( void ) -// { -// MQTTContext_t mqttContext = { 0 }; -// MQTTStatus_t status; -// const uint16_t PACKET_ID = 1; -// const uint16_t PACKET_ID2 = 2; - -// TransportInterface_t transport; -// MQTTFixedBuffer_t networkBuffer = { 0 }; - -// transport.recv = transportRecvSuccess; -// transport.send = transportSendSuccess; - -// MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; -// MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; - -// status = MQTT_Init( &mqttContext, &transport, -// getTime, eventCallback, &networkBuffer ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); - -// status = MQTT_InitStatefulQoS( &mqttContext, -// outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, -// incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); - -// /* Consider the state of the array with 2 states. 1 indicates a non empty -// * spot and 0 an empty spot. Size of the array is 10. -// * Pre condition - 0 0 0 0 0 0 0 0 0 1. -// * Add an element will try to compact the array and the resulting state -// * should be - 1 1 0 0 0 0 0 0 0 0. */ -// addToRecord( mqttContext.outgoingPublishRecords, -// MQTT_STATE_ARRAY_MAX_COUNT - 1, -// PACKET_ID, -// MQTTQoS1, -// MQTTPubRelSend ); -// status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// /* The existing record should be at index 0. */ -// validateRecordAt( mqttContext.outgoingPublishRecords, -// 0, -// PACKET_ID, -// MQTTQoS1, -// MQTTPubRelSend ); -// /* New record should be added to index 1. */ -// validateRecordAt( mqttContext.outgoingPublishRecords, -// 1, -// PACKET_ID2, -// MQTTQoS1, -// MQTTPublishSend ); - -// /* One free spot. -// * Pre condition - 1 1 1 0 1 1 1 1 1 1. -// * Add an element will try to compact the array and the resulting state -// * should be - 1 1 1 1 1 1 1 1 1 1. */ -// fillRecord( mqttContext.outgoingPublishRecords, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRelSend ); -// /* Invalid record at index 3. */ -// mqttContext.outgoingPublishRecords[ 3 ].packetId = MQTT_PACKET_ID_INVALID; -// status = MQTT_ReserveState( &mqttContext, PACKET_ID, MQTTQoS1 ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// /* The new record should be added to the end. */ -// validateRecordAt( mqttContext.outgoingPublishRecords, -// MQTT_STATE_ARRAY_MAX_COUNT - 1, -// PACKET_ID, -// MQTTQoS1, -// MQTTPublishSend ); -// /* Any new add should result in no memory error. */ -// status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); -// TEST_ASSERT_EQUAL( MQTTNoMemory, status ); - -// /* Alternate free spots. -// * Pre condition - 1 0 1 0 1 0 1 0 1 0. -// * Add an element will skip to compact the array and the resulting state -// * should be - 1 0 1 0 1 0 1 0 1 1. */ -// fillRecord( mqttContext.outgoingPublishRecords, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRelSend ); -// /* Invalidate record at alternate indexes starting from 1. */ -// mqttContext.outgoingPublishRecords[ 1 ].packetId = MQTT_PACKET_ID_INVALID; -// mqttContext.outgoingPublishRecords[ 3 ].packetId = MQTT_PACKET_ID_INVALID; -// mqttContext.outgoingPublishRecords[ 5 ].packetId = MQTT_PACKET_ID_INVALID; -// mqttContext.outgoingPublishRecords[ 7 ].packetId = MQTT_PACKET_ID_INVALID; -// mqttContext.outgoingPublishRecords[ 9 ].packetId = MQTT_PACKET_ID_INVALID; -// status = MQTT_ReserveState( &mqttContext, PACKET_ID, MQTTQoS1 ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// /* The new record should be added to the end. */ -// validateRecordAt( mqttContext.outgoingPublishRecords, -// MQTT_STATE_ARRAY_MAX_COUNT - 1, -// PACKET_ID, -// MQTTQoS1, -// MQTTPublishSend ); - -// /* Array is in state 1 0 1 0 1 0 1 0 1 1. -// * Adding one more element should result in array in state -// * 1 1 1 1 1 1 1 0 0 0. */ -// status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// validateRecordAt( mqttContext.outgoingPublishRecords, 6, PACKET_ID2, MQTTQoS1, MQTTPublishSend ); -// /* Remaining records should be invalid. */ -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 7 ].packetId ); -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 8 ].packetId ); -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 9 ].packetId ); - -// /* Free spots only in the beginning. -// * Pre condition - 0 0 0 0 0 1 1 1 1 1. -// * Add an element will compact the array and the resulting state -// * should be - 1 1 1 1 1 1 0 0 0 0. */ -// fillRecord( mqttContext.outgoingPublishRecords, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRelSend ); -// /* Clear record from 0 to 4. */ -// ( void ) memset( &mqttContext.outgoingPublishRecords[ 0 ], 0x00, 5 * sizeof( MQTTPubAckInfo_t ) ); - -// /* Adding one element should result in array in state -// * 1 1 1 1 1 1 0 0 0 0. */ -// status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// validateRecordAt( mqttContext.outgoingPublishRecords, 5, PACKET_ID2, MQTTQoS1, MQTTPublishSend ); -// /* Remaining records should be cleared. */ -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 6 ].packetId ); -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 7 ].packetId ); -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 8 ].packetId ); -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 9 ].packetId ); - -// /* Fragmented array. -// * Pre condition - 1 0 0 1 1 1 1 0 0 1. -// * Add an element will compact the array and the resulting state -// * should be - 1 1 1 1 1 1 1 0 0 0. */ -// fillRecord( mqttContext.outgoingPublishRecords, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRelSend ); -// /* Clear record at index 1,2,7 and 8. */ -// mqttContext.outgoingPublishRecords[ 1 ].packetId = MQTT_PACKET_ID_INVALID; -// mqttContext.outgoingPublishRecords[ 2 ].packetId = MQTT_PACKET_ID_INVALID; -// mqttContext.outgoingPublishRecords[ 7 ].packetId = MQTT_PACKET_ID_INVALID; -// mqttContext.outgoingPublishRecords[ 8 ].packetId = MQTT_PACKET_ID_INVALID; -// status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// validateRecordAt( mqttContext.outgoingPublishRecords, 6, PACKET_ID2, MQTTQoS1, MQTTPublishSend ); -// /* Remaining records should be cleared. */ -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 7 ].packetId ); -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 8 ].packetId ); -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 9 ].packetId ); - -// /* Fragmented array. -// * Pre condition - 1 0 0 0 0 0 0 0 0 1. -// * Add an element will compact the array and the resulting state -// * should be - 1 1 1 0 0 0 0 0 0 0. */ -// resetPublishRecords( &mqttContext ); -// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecPending ); -// addToRecord( mqttContext.outgoingPublishRecords, 9, PACKET_ID2 + 1, MQTTQoS2, MQTTPubCompPending ); -// status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// validateRecordAt( mqttContext.outgoingPublishRecords, 2, PACKET_ID2, MQTTQoS1, MQTTPublishSend ); -// /* Validate existing records. */ -// validateRecordAt( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecPending ); -// validateRecordAt( mqttContext.outgoingPublishRecords, 1, PACKET_ID2 + 1, MQTTQoS2, MQTTPubCompPending ); -// } - -// /* ========================================================================== */ - -// void test_MQTT_CalculateStatePublish( void ) -// { -// /* QoS 0. */ -// TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStatePublish( MQTT_SEND, MQTTQoS0 ) ); -// TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStatePublish( MQTT_RECEIVE, MQTTQoS0 ) ); - -// /* QoS 1. */ -// TEST_ASSERT_EQUAL( MQTTPubAckPending, MQTT_CalculateStatePublish( MQTT_SEND, MQTTQoS1 ) ); -// TEST_ASSERT_EQUAL( MQTTPubAckSend, MQTT_CalculateStatePublish( MQTT_RECEIVE, MQTTQoS1 ) ); - -// /* QoS 2. */ -// TEST_ASSERT_EQUAL( MQTTPubRecPending, MQTT_CalculateStatePublish( MQTT_SEND, MQTTQoS2 ) ); -// TEST_ASSERT_EQUAL( MQTTPubRecSend, MQTT_CalculateStatePublish( MQTT_RECEIVE, MQTTQoS2 ) ); - -// /* Invalid QoS. */ -// TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStatePublish( MQTT_SEND, 3 ) ); -// } - -// /* ========================================================================== */ - -// void test_MQTT_UpdateStatePublish( void ) -// { -// MQTTContext_t mqttContext = { 0 }; -// const uint16_t PACKET_ID = 1; -// MQTTStateOperation_t operation = MQTT_SEND; -// MQTTQoS_t qos = MQTTQoS0; -// MQTTPublishState_t state; -// MQTTStatus_t status; - -// TransportInterface_t transport; -// MQTTFixedBuffer_t networkBuffer = { 0 }; - -// transport.recv = transportRecvSuccess; -// transport.send = transportSendSuccess; - -// MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; -// MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; - -// status = MQTT_Init( &mqttContext, &transport, -// getTime, eventCallback, &networkBuffer ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); - -// status = MQTT_InitStatefulQoS( &mqttContext, -// outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, -// incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); - -// /* QoS 0. */ -// status = MQTT_UpdateStatePublish( &mqttContext, 0, operation, qos, &state ); -// TEST_ASSERT_EQUAL( MQTTPublishDone, state ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); - -// /* Invalid parameters. */ -// /* Invalid ID. */ -// qos = MQTTQoS1; -// status = MQTT_UpdateStatePublish( &mqttContext, 0, operation, qos, &state ); -// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); -// /* NULL context. */ -// status = MQTT_UpdateStatePublish( NULL, PACKET_ID, operation, qos, &state ); -// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); -// /* NULL new state. */ -// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, NULL ); -// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); -// /* No record found. */ -// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); -// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); -// /* QoS mismatch. */ -// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPublishSend ); -// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); -// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - -// /* Invalid state transition. */ -// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS1, MQTTPubRelPending ); -// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); -// TEST_ASSERT_EQUAL( MQTTIllegalState, status ); - -// /* Invalid QoS. */ -// operation = MQTT_SEND; -// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, 3, MQTTPublishSend ); -// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, 3, &state ); -// TEST_ASSERT_EQUAL( MQTTIllegalState, status ); -// operation = MQTT_RECEIVE; -// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, 3, &state ); -// TEST_ASSERT_EQUAL( MQTTIllegalState, status ); - -// /* Invalid current state. */ -// operation = MQTT_SEND; -// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, qos, MQTTStateNull ); -// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); -// TEST_ASSERT_EQUAL( MQTTIllegalState, status ); - -// /* Collision. */ -// operation = MQTT_RECEIVE; -// addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS1, MQTTPubAckSend ); -// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); -// TEST_ASSERT_EQUAL( MQTTStateCollision, status ); - -// /* No memory. */ -// operation = MQTT_RECEIVE; -// fillRecord( mqttContext.incomingPublishRecords, 2, MQTTQoS1, MQTTPublishSend ); -// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); -// TEST_ASSERT_EQUAL( MQTTNoMemory, status ); - -// resetPublishRecords( &mqttContext ); - -// /* QoS 1. */ -// qos = MQTTQoS1; -// /* Send. */ -// operation = MQTT_SEND; -// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS1, MQTTPublishSend ); -// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// TEST_ASSERT_EQUAL( MQTTPubAckPending, state ); -// TEST_ASSERT_EQUAL( MQTTPubAckPending, mqttContext.outgoingPublishRecords[ 0 ].publishState ); -// /* Resend when record already exists. */ -// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// TEST_ASSERT_EQUAL( MQTTPubAckPending, state ); -// TEST_ASSERT_EQUAL( MQTTPubAckPending, mqttContext.outgoingPublishRecords[ 0 ].publishState ); -// /* Receive. */ -// operation = MQTT_RECEIVE; -// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// TEST_ASSERT_EQUAL( MQTTPubAckSend, state ); -// TEST_ASSERT_EQUAL( MQTTPubAckSend, mqttContext.incomingPublishRecords[ 0 ].publishState ); -// /* Receive duplicate incoming publish. */ -// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); -// TEST_ASSERT_EQUAL( MQTTStateCollision, status ); -// TEST_ASSERT_EQUAL( MQTTPubAckSend, state ); -// TEST_ASSERT_EQUAL( MQTTPubAckSend, mqttContext.incomingPublishRecords[ 0 ].publishState ); - -// resetPublishRecords( &mqttContext ); - -// /* QoS 2. */ -// qos = MQTTQoS2; -// /* Send. */ -// operation = MQTT_SEND; -// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPublishSend ); -// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// TEST_ASSERT_EQUAL( MQTTPubRecPending, state ); -// TEST_ASSERT_EQUAL( MQTTPubRecPending, mqttContext.outgoingPublishRecords[ 0 ].publishState ); -// /* Resend when record already exists. */ -// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// TEST_ASSERT_EQUAL( MQTTPubRecPending, state ); -// TEST_ASSERT_EQUAL( MQTTPubRecPending, mqttContext.outgoingPublishRecords[ 0 ].publishState ); -// /* Receive. */ -// operation = MQTT_RECEIVE; -// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// TEST_ASSERT_EQUAL( MQTTPubRecSend, state ); -// TEST_ASSERT_EQUAL( MQTTPubRecSend, mqttContext.incomingPublishRecords[ 0 ].publishState ); -// /* Receive incoming publish when the packet record is in state #MQTTPubRecSend. */ -// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); -// TEST_ASSERT_EQUAL( MQTTStateCollision, status ); -// TEST_ASSERT_EQUAL( MQTTPubRecSend, state ); -// TEST_ASSERT_EQUAL( MQTTPubRecSend, mqttContext.incomingPublishRecords[ 0 ].publishState ); -// /* Receive incoming publish when the packet record is in state #MQTTPubRelPending. */ -// addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRelPending ); -// status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); -// TEST_ASSERT_EQUAL( MQTTStateCollision, status ); -// /* The returned state will always be #MQTTPubRecSend as a PUBREC need to be sent. */ -// TEST_ASSERT_EQUAL( MQTTPubRecSend, state ); -// TEST_ASSERT_EQUAL( MQTTPubRelPending, mqttContext.incomingPublishRecords[ 0 ].publishState ); -// } - -// /* ========================================================================== */ - -// void test_MQTT_CalculateStateAck( void ) -// { -// MQTTPubAckType_t ack; -// MQTTQoS_t qos; -// MQTTStateOperation_t opType; - -// /* Invalid qos. */ -// qos = MQTTQoS0; -// ack = MQTTPuback; -// opType = MQTT_SEND; -// TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStateAck( ack, opType, qos ) ); -// qos = MQTTQoS2; -// TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStateAck( ack, opType, qos ) ); -// qos = MQTTQoS0; -// ack = MQTTPubrec; -// TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStateAck( ack, opType, qos ) ); -// qos = MQTTQoS1; -// TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStateAck( ack, opType, qos ) ); - -// /* Invalid ack type. */ -// ack = MQTTPubcomp + 1; -// TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStateAck( ack, opType, qos ) ); - -// /* PUBACK */ -// ack = MQTTPuback; -// qos = MQTTQoS1; -// opType = MQTT_SEND; -// TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStateAck( ack, opType, qos ) ); -// opType = MQTT_RECEIVE; -// TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStateAck( ack, opType, qos ) ); - -// /* QoS 2 tests. */ -// qos = MQTTQoS2; - -// /* PUBREC */ -// ack = MQTTPubrec; -// /* Send */ -// opType = MQTT_SEND; -// TEST_ASSERT_EQUAL( MQTTPubRelPending, MQTT_CalculateStateAck( ack, opType, qos ) ); -// /* Receive */ -// opType = MQTT_RECEIVE; -// TEST_ASSERT_EQUAL( MQTTPubRelSend, MQTT_CalculateStateAck( ack, opType, qos ) ); - -// /* PUBREL */ -// ack = MQTTPubrel; -// /* Send */ -// opType = MQTT_SEND; -// TEST_ASSERT_EQUAL( MQTTPubCompPending, MQTT_CalculateStateAck( ack, opType, qos ) ); -// /* Receive */ -// opType = MQTT_RECEIVE; -// TEST_ASSERT_EQUAL( MQTTPubCompSend, MQTT_CalculateStateAck( ack, opType, qos ) ); - -// /* PUBCOMP */ -// ack = MQTTPubcomp; -// TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStateAck( ack, opType, qos ) ); -// opType = MQTT_SEND; -// TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStateAck( ack, opType, qos ) ); -// } - -// /* ========================================================================== */ - -// void test_MQTT_UpdateStateAck( void ) -// { -// MQTTContext_t mqttContext = { 0 }; -// MQTTPubAckType_t ack = MQTTPuback; -// MQTTStateOperation_t operation = MQTT_RECEIVE; -// MQTTPublishState_t state = MQTTStateNull; -// MQTTStatus_t status; - -// const uint16_t PACKET_ID = 1; -// TransportInterface_t transport; -// MQTTFixedBuffer_t networkBuffer = { 0 }; - -// transport.recv = transportRecvSuccess; -// transport.send = transportSendSuccess; - -// MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; -// MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; - -// status = MQTT_Init( &mqttContext, &transport, -// getTime, eventCallback, &networkBuffer ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); - -// status = MQTT_InitStatefulQoS( &mqttContext, -// outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, -// incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); - -// /* NULL parameters. */ -// status = MQTT_UpdateStateAck( NULL, PACKET_ID, ack, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); -// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, NULL ); -// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); -// /* Invalid packet ID. */ -// status = MQTT_UpdateStateAck( &mqttContext, 0, ack, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); -// /* No matching record found. */ -// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTBadResponse, status ); - -// /* Invalid transitions. */ -// /* Invalid transition from #MQTTPubRelPending. */ -// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRelPending ); -// ack = MQTTPubrel; -// operation = MQTT_SEND; -// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTIllegalState, status ); -// /* Invalid transition from #MQTTPubCompSend. */ -// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubCompSend ); -// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTIllegalState, status ); -// /* Invalid transition from #MQTTPubCompPending. */ -// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubCompPending ); -// ack = MQTTPubrec; -// operation = MQTT_RECEIVE; -// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTIllegalState, status ); -// /* Invalid transition from #MQTTPubRecPending. */ -// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecPending ); -// ack = MQTTPubcomp; -// status = MQTT_UpdateStateAck( &mqttContext, 1, ack, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTIllegalState, status ); - -// /* Invalid ack type. */ -// status = MQTT_UpdateStateAck( &mqttContext, 1, MQTTPubcomp + 1, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - -// /* Invalid current state. */ -// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPublishDone ); -// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTIllegalState, status ); -// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPublishSend ); -// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTIllegalState, status ); -// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTStateNull ); -// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTIllegalState, status ); - -// resetPublishRecords( &mqttContext ); - -// /* QoS 1, receive PUBACK for outgoing publish. */ -// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS1, MQTTPubAckPending ); -// operation = MQTT_RECEIVE; -// ack = MQTTPuback; -// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// TEST_ASSERT_EQUAL( MQTTPublishDone, state ); - -// /* Test for deletion. */ -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 0 ].packetId ); -// /* Send PUBACK for incoming publish. */ -// operation = MQTT_SEND; -// addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS1, MQTTPubAckSend ); -// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// TEST_ASSERT_EQUAL( MQTTPublishDone, state ); - -// resetPublishRecords( &mqttContext ); - -// /* QoS 2, PUBREL. */ -// /* Outgoing. */ -// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRelSend ); -// operation = MQTT_SEND; -// ack = MQTTPubrel; -// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// TEST_ASSERT_EQUAL( MQTTPubCompPending, state ); -// /* Outgoing. Resend PUBREL when record in state #MQTTPubCompPending. */ -// operation = MQTT_SEND; -// ack = MQTTPubrel; -// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// TEST_ASSERT_EQUAL( MQTTPubCompPending, state ); -// /* Incoming. */ -// addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRelPending ); -// operation = MQTT_RECEIVE; -// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// TEST_ASSERT_EQUAL( MQTTPubCompSend, state ); -// /* Test for update. */ -// TEST_ASSERT_EQUAL( MQTTPubCompSend, mqttContext.incomingPublishRecords[ 0 ].publishState ); -// /* Incoming. Duplicate PUBREL is received when record is in state #MQTTPubRelPending. */ -// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// TEST_ASSERT_EQUAL( MQTTPubCompSend, state ); - -// /* QoS 2, PUBREC. */ -// /* Outgoing. */ -// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecPending ); -// operation = MQTT_RECEIVE; -// ack = MQTTPubrec; -// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); - -// /* Receiving a PUBREC will move the record to the end. -// * In this case, only one record exists, no moving is required. */ -// TEST_ASSERT_EQUAL( PACKET_ID, mqttContext.outgoingPublishRecords[ 0 ].packetId ); -// TEST_ASSERT_EQUAL( MQTTQoS2, mqttContext.outgoingPublishRecords[ 0 ].qos ); -// TEST_ASSERT_EQUAL( MQTTPubRelSend, mqttContext.outgoingPublishRecords[ 0 ].publishState ); - -// /* Outgoing. -// * Test if the record moves to the end of the records when PUBREC is -// * received. */ -// resetPublishRecords( &mqttContext ); -// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecPending ); -// addToRecord( mqttContext.outgoingPublishRecords, 1, PACKET_ID + 1, MQTTQoS2, MQTTPubRelSend ); -// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); - -// /* Receiving a PUBREC will move the record to the end. -// * In this case, the record will be moved to index 2. */ -// TEST_ASSERT_EQUAL( PACKET_ID, mqttContext.outgoingPublishRecords[ 2 ].packetId ); -// TEST_ASSERT_EQUAL( MQTTQoS2, mqttContext.outgoingPublishRecords[ 2 ].qos ); -// TEST_ASSERT_EQUAL( MQTTPubRelSend, mqttContext.outgoingPublishRecords[ 2 ].publishState ); -// /* Record at the current index will be marked as invalid. */ -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 0 ].packetId ); - -// /* Incoming. */ -// addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecSend ); -// operation = MQTT_SEND; -// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// TEST_ASSERT_EQUAL( MQTTPubRelPending, state ); -// /* Incoming. Duplicate publish received and record is in state #MQTTPubRelPending. */ -// addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRelPending ); -// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// TEST_ASSERT_EQUAL( MQTTPubRelPending, state ); - -// /* QoS 2, PUBCOMP. */ -// /* Outgoing. */ -// addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubCompPending ); -// operation = MQTT_RECEIVE; -// ack = MQTTPubcomp; -// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// TEST_ASSERT_EQUAL( MQTTPublishDone, state ); -// /* Incoming. */ -// addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubCompSend ); -// operation = MQTT_SEND; -// status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// TEST_ASSERT_EQUAL( MQTTPublishDone, state ); -// } - -// /* ========================================================================== */ - -// void test_MQTT_AckToResend( void ) -// { -// MQTTContext_t mqttContext = { 0 }; -// MQTTStateCursor_t cursor = MQTT_STATE_CURSOR_INITIALIZER; -// MQTTPublishState_t state = MQTTStateNull; -// uint16_t packetId; -// const uint16_t PACKET_ID = 1; -// const uint16_t PACKET_ID2 = 2; -// const uint16_t PACKET_ID3 = 3; -// const uint16_t PACKET_ID4 = 4; -// const size_t index = 0; -// const size_t index2 = 1; -// const size_t index3 = MQTT_STATE_ARRAY_MAX_COUNT / 2; -// const size_t index4 = index3 + 2; - -// MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; -// MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; -// MQTTStatus_t status; -// TransportInterface_t transport; -// MQTTFixedBuffer_t networkBuffer = { 0 }; - -// transport.recv = transportRecvSuccess; -// transport.send = transportSendSuccess; - -// status = MQTT_Init( &mqttContext, &transport, -// getTime, eventCallback, &networkBuffer ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); - -// status = MQTT_InitStatefulQoS( &mqttContext, -// outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, -// incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); - -// /* Invalid parameters. */ -// packetId = MQTT_PubrelToResend( NULL, &cursor, &state ); -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); -// packetId = MQTT_PubrelToResend( &mqttContext, NULL, &state ); -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); -// packetId = MQTT_PubrelToResend( &mqttContext, &cursor, NULL ); -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); - -// /* No packet exists. */ -// cursor = MQTT_STATE_CURSOR_INITIALIZER; -// packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); -// TEST_ASSERT_EQUAL( MQTTStateNull, state ); -// TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); - -// /* No packet exists in state #MQTTPubCompPending or #MQTTPubCompPending states. */ -// cursor = MQTT_STATE_CURSOR_INITIALIZER; -// addToRecord( mqttContext.outgoingPublishRecords, index, PACKET_ID3, MQTTQoS2, MQTTPubRelPending ); -// addToRecord( mqttContext.outgoingPublishRecords, index2, PACKET_ID4, MQTTQoS2, MQTTPubCompSend ); -// packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); -// TEST_ASSERT_EQUAL( MQTTStateNull, state ); -// TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); - -// /* Add a record in #MQTTPubCompPending state. */ -// cursor = MQTT_STATE_CURSOR_INITIALIZER; -// addToRecord( mqttContext.outgoingPublishRecords, index3, PACKET_ID, MQTTQoS2, MQTTPubCompPending ); -// packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); -// TEST_ASSERT_EQUAL( PACKET_ID, packetId ); -// TEST_ASSERT_EQUAL( index3 + 1, cursor ); -// TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); - -// /* Add another record in #MQTTPubCompPending state. */ -// addToRecord( mqttContext.outgoingPublishRecords, index4, PACKET_ID2, MQTTQoS2, MQTTPubCompPending ); -// packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); -// TEST_ASSERT_EQUAL( PACKET_ID2, packetId ); -// TEST_ASSERT_EQUAL( index4 + 1, cursor ); -// TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); - -// /* Add another record in #MQTTPubRelSend state. */ -// addToRecord( mqttContext.outgoingPublishRecords, index4 + 1, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRelSend ); -// packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); -// TEST_ASSERT_EQUAL( PACKET_ID2 + 1, packetId ); -// TEST_ASSERT_EQUAL( index4 + 2, cursor ); -// TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); - -// /* Only one record in #MQTTPubRelSend state. */ -// resetPublishRecords( &mqttContext ); -// cursor = MQTT_STATE_CURSOR_INITIALIZER; -// addToRecord( mqttContext.outgoingPublishRecords, index3, PACKET_ID, MQTTQoS2, MQTTPubRelSend ); -// packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); -// TEST_ASSERT_EQUAL( PACKET_ID, packetId ); -// TEST_ASSERT_EQUAL( index3 + 1, cursor ); -// TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); - -// /* Further search should be return no valid packets. */ -// state = MQTTStateNull; -// packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); -// TEST_ASSERT_EQUAL( MQTTStateNull, state ); -// TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); -// } - -// void test_MQTT_PublishToResend( void ) -// { -// MQTTContext_t mqttContext = { 0 }; -// MQTTStateCursor_t cursor = MQTT_STATE_CURSOR_INITIALIZER; -// uint16_t packetId; -// const uint16_t PACKET_ID = 1; -// const uint16_t PACKET_ID2 = 2; -// const uint16_t PACKET_ID3 = 3; -// const uint16_t PACKET_ID4 = 4; -// const size_t index = 0; -// const size_t index2 = 1; -// const size_t index3 = MQTT_STATE_ARRAY_MAX_COUNT / 2; -// const size_t index4 = index3 + 2; - -// MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; -// MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; -// MQTTStatus_t status; -// TransportInterface_t transport = { 0 }; - -// transport.recv = transportRecvSuccess; -// transport.send = transportSendSuccess; - -// MQTTFixedBuffer_t networkBuffer = { 0 }; - -// status = MQTT_Init( &mqttContext, &transport, -// getTime, eventCallback, &networkBuffer ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); - -// status = MQTT_InitStatefulQoS( &mqttContext, -// outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, -// incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); - - -// /* Invalid parameters. */ -// packetId = MQTT_PublishToResend( NULL, &cursor ); -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); -// packetId = MQTT_PublishToResend( &mqttContext, NULL ); -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); - -// /* No packet exists. */ -// cursor = MQTT_STATE_CURSOR_INITIALIZER; -// packetId = MQTT_PublishToResend( &mqttContext, &cursor ); -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); -// TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); - -// /* No packet exists in state #MQTTPublishSend, #MQTTPubAckPending and -// * #MQTTPubRecPending states. */ -// cursor = MQTT_STATE_CURSOR_INITIALIZER; -// addToRecord( mqttContext.outgoingPublishRecords, index, PACKET_ID3, MQTTQoS2, MQTTPubCompPending ); -// addToRecord( mqttContext.outgoingPublishRecords, index2, PACKET_ID4, MQTTQoS2, MQTTPubRelSend ); -// packetId = MQTT_PublishToResend( &mqttContext, &cursor ); -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); -// TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); - -// /* Add a record in #MQTTPublishSend state. */ -// cursor = MQTT_STATE_CURSOR_INITIALIZER; -// addToRecord( mqttContext.outgoingPublishRecords, index3, PACKET_ID, MQTTQoS2, MQTTPublishSend ); -// packetId = MQTT_PublishToResend( &mqttContext, &cursor ); -// TEST_ASSERT_EQUAL( PACKET_ID, packetId ); -// TEST_ASSERT_EQUAL( index3 + 1, cursor ); - -// /* Add another record in #MQTTPubAckPending state. */ -// addToRecord( mqttContext.outgoingPublishRecords, index4, PACKET_ID2, MQTTQoS1, MQTTPubAckPending ); -// packetId = MQTT_PublishToResend( &mqttContext, &cursor ); -// TEST_ASSERT_EQUAL( PACKET_ID2, packetId ); -// TEST_ASSERT_EQUAL( index4 + 1, cursor ); - -// /* Add another record in #MQTTPubRecPending state. */ -// addToRecord( mqttContext.outgoingPublishRecords, index4 + 1, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRecPending ); -// packetId = MQTT_PublishToResend( &mqttContext, &cursor ); -// TEST_ASSERT_EQUAL( PACKET_ID2 + 1, packetId ); -// TEST_ASSERT_EQUAL( index4 + 2, cursor ); - -// /* Further search should find no packets. */ -// packetId = MQTT_PublishToResend( &mqttContext, &cursor ); -// TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); -// TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); -// } - -// /* ========================================================================== */ - -// void test_MQTT_State_strerror( void ) -// { -// MQTTPublishState_t state; -// const char * str = NULL; - -// state = MQTTStateNull; -// str = MQTT_State_strerror( state ); -// TEST_ASSERT_EQUAL_STRING( "MQTTStateNull", str ); - -// state = MQTTPublishSend; -// str = MQTT_State_strerror( state ); -// TEST_ASSERT_EQUAL_STRING( "MQTTPublishSend", str ); - -// state = MQTTPubAckSend; -// str = MQTT_State_strerror( state ); -// TEST_ASSERT_EQUAL_STRING( "MQTTPubAckSend", str ); - -// state = MQTTPubRecSend; -// str = MQTT_State_strerror( state ); -// TEST_ASSERT_EQUAL_STRING( "MQTTPubRecSend", str ); - -// state = MQTTPubRelSend; -// str = MQTT_State_strerror( state ); -// TEST_ASSERT_EQUAL_STRING( "MQTTPubRelSend", str ); - -// state = MQTTPubCompSend; -// str = MQTT_State_strerror( state ); -// TEST_ASSERT_EQUAL_STRING( "MQTTPubCompSend", str ); - -// state = MQTTPubAckPending; -// str = MQTT_State_strerror( state ); -// TEST_ASSERT_EQUAL_STRING( "MQTTPubAckPending", str ); - -// state = MQTTPubRecPending; -// str = MQTT_State_strerror( state ); -// TEST_ASSERT_EQUAL_STRING( "MQTTPubRecPending", str ); - -// state = MQTTPubRelPending; -// str = MQTT_State_strerror( state ); -// TEST_ASSERT_EQUAL_STRING( "MQTTPubRelPending", str ); - -// state = MQTTPubCompPending; -// str = MQTT_State_strerror( state ); -// TEST_ASSERT_EQUAL_STRING( "MQTTPubCompPending", str ); - -// state = MQTTPublishDone; -// str = MQTT_State_strerror( state ); -// TEST_ASSERT_EQUAL_STRING( "MQTTPublishDone", str ); - -// state = MQTTPublishDone + 1; -// str = MQTT_State_strerror( state ); -// TEST_ASSERT_EQUAL_STRING( "Invalid MQTT State", str ); -// } - -// /* ========================================================================== */ +void test_MQTT_RemoveStateRecord_RemoveQoS1Record( void ) +{ + MQTTStatus_t status; + MQTTContext_t context; + MQTTPubAckInfo_t outgoingRecords[ 5 ]; + const uint16_t packetID = 12; + /* Any state except null state. */ + const MQTTPublishState_t state = MQTTPubRelSend; + + memset( &context, 0, sizeof( MQTTContext_t ) ); + + context.outgoingPublishRecords = outgoingRecords; + context.outgoingPublishRecordMaxCount = 5; + + memset( context.outgoingPublishRecords, 0, sizeof( outgoingRecords ) ); + + context.outgoingPublishRecords[ 1 ].packetId = packetID; + context.outgoingPublishRecords[ 1 ].publishState = state; + context.outgoingPublishRecords[ 1 ].qos = MQTTQoS1; + + /* Any non-zero packet ID. */ + status = MQTT_RemoveStateRecord( &context, packetID ); + + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].packetId, MQTT_PACKET_ID_INVALID ); + TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].publishState, MQTTStateNull ); + TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].qos, MQTTQoS0 ); +} + +/* ========================================================================== */ + +void test_MQTT_RemoveStateRecord_RemoveQoS2Record( void ) +{ + MQTTStatus_t status; + MQTTContext_t context; + MQTTPubAckInfo_t outgoingRecords[ 5 ]; + const uint16_t packetID = 12; + /* Any state except null state. */ + const MQTTPublishState_t state = MQTTPubRelSend; + + memset( &context, 0, sizeof( MQTTContext_t ) ); + + context.outgoingPublishRecords = outgoingRecords; + context.outgoingPublishRecordMaxCount = 5; + + memset( context.outgoingPublishRecords, 0, sizeof( outgoingRecords ) ); + + context.outgoingPublishRecords[ 1 ].packetId = packetID; + context.outgoingPublishRecords[ 1 ].publishState = state; + context.outgoingPublishRecords[ 1 ].qos = MQTTQoS2; + + /* Any non-zero packet ID. */ + status = MQTT_RemoveStateRecord( &context, packetID ); + + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].packetId, MQTT_PACKET_ID_INVALID ); + TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].publishState, MQTTStateNull ); + TEST_ASSERT_EQUAL( context.outgoingPublishRecords[ 1 ].qos, MQTTQoS0 ); +} + +/* ========================================================================== */ + +void test_MQTT_ReserveState_compactRecords( void ) +{ + MQTTContext_t mqttContext = { 0 }; + MQTTStatus_t status; + const uint16_t PACKET_ID = 1; + const uint16_t PACKET_ID2 = 2; + + TransportInterface_t transport; + MQTTFixedBuffer_t networkBuffer = { 0 }; + + transport.recv = transportRecvSuccess; + transport.send = transportSendSuccess; + + MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; + MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; + + status = MQTT_Init( &mqttContext, &transport, + getTime, eventCallback, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + + status = MQTT_InitStatefulQoS( &mqttContext, + outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, + incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + + /* Consider the state of the array with 2 states. 1 indicates a non empty + * spot and 0 an empty spot. Size of the array is 10. + * Pre condition - 0 0 0 0 0 0 0 0 0 1. + * Add an element will try to compact the array and the resulting state + * should be - 1 1 0 0 0 0 0 0 0 0. */ + addToRecord( mqttContext.outgoingPublishRecords, + MQTT_STATE_ARRAY_MAX_COUNT - 1, + PACKET_ID, + MQTTQoS1, + MQTTPubRelSend ); + status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + /* The existing record should be at index 0. */ + validateRecordAt( mqttContext.outgoingPublishRecords, + 0, + PACKET_ID, + MQTTQoS1, + MQTTPubRelSend ); + /* New record should be added to index 1. */ + validateRecordAt( mqttContext.outgoingPublishRecords, + 1, + PACKET_ID2, + MQTTQoS1, + MQTTPublishSend ); + + /* One free spot. + * Pre condition - 1 1 1 0 1 1 1 1 1 1. + * Add an element will try to compact the array and the resulting state + * should be - 1 1 1 1 1 1 1 1 1 1. */ + fillRecord( mqttContext.outgoingPublishRecords, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRelSend ); + /* Invalid record at index 3. */ + mqttContext.outgoingPublishRecords[ 3 ].packetId = MQTT_PACKET_ID_INVALID; + status = MQTT_ReserveState( &mqttContext, PACKET_ID, MQTTQoS1 ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + /* The new record should be added to the end. */ + validateRecordAt( mqttContext.outgoingPublishRecords, + MQTT_STATE_ARRAY_MAX_COUNT - 1, + PACKET_ID, + MQTTQoS1, + MQTTPublishSend ); + /* Any new add should result in no memory error. */ + status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); + TEST_ASSERT_EQUAL( MQTTNoMemory, status ); + + /* Alternate free spots. + * Pre condition - 1 0 1 0 1 0 1 0 1 0. + * Add an element will skip to compact the array and the resulting state + * should be - 1 0 1 0 1 0 1 0 1 1. */ + fillRecord( mqttContext.outgoingPublishRecords, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRelSend ); + /* Invalidate record at alternate indexes starting from 1. */ + mqttContext.outgoingPublishRecords[ 1 ].packetId = MQTT_PACKET_ID_INVALID; + mqttContext.outgoingPublishRecords[ 3 ].packetId = MQTT_PACKET_ID_INVALID; + mqttContext.outgoingPublishRecords[ 5 ].packetId = MQTT_PACKET_ID_INVALID; + mqttContext.outgoingPublishRecords[ 7 ].packetId = MQTT_PACKET_ID_INVALID; + mqttContext.outgoingPublishRecords[ 9 ].packetId = MQTT_PACKET_ID_INVALID; + status = MQTT_ReserveState( &mqttContext, PACKET_ID, MQTTQoS1 ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + /* The new record should be added to the end. */ + validateRecordAt( mqttContext.outgoingPublishRecords, + MQTT_STATE_ARRAY_MAX_COUNT - 1, + PACKET_ID, + MQTTQoS1, + MQTTPublishSend ); + + /* Array is in state 1 0 1 0 1 0 1 0 1 1. + * Adding one more element should result in array in state + * 1 1 1 1 1 1 1 0 0 0. */ + status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + validateRecordAt( mqttContext.outgoingPublishRecords, 6, PACKET_ID2, MQTTQoS1, MQTTPublishSend ); + /* Remaining records should be invalid. */ + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 7 ].packetId ); + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 8 ].packetId ); + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 9 ].packetId ); + + /* Free spots only in the beginning. + * Pre condition - 0 0 0 0 0 1 1 1 1 1. + * Add an element will compact the array and the resulting state + * should be - 1 1 1 1 1 1 0 0 0 0. */ + fillRecord( mqttContext.outgoingPublishRecords, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRelSend ); + /* Clear record from 0 to 4. */ + ( void ) memset( &mqttContext.outgoingPublishRecords[ 0 ], 0x00, 5 * sizeof( MQTTPubAckInfo_t ) ); + + /* Adding one element should result in array in state + * 1 1 1 1 1 1 0 0 0 0. */ + status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + validateRecordAt( mqttContext.outgoingPublishRecords, 5, PACKET_ID2, MQTTQoS1, MQTTPublishSend ); + /* Remaining records should be cleared. */ + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 6 ].packetId ); + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 7 ].packetId ); + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 8 ].packetId ); + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 9 ].packetId ); + + /* Fragmented array. + * Pre condition - 1 0 0 1 1 1 1 0 0 1. + * Add an element will compact the array and the resulting state + * should be - 1 1 1 1 1 1 1 0 0 0. */ + fillRecord( mqttContext.outgoingPublishRecords, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRelSend ); + /* Clear record at index 1,2,7 and 8. */ + mqttContext.outgoingPublishRecords[ 1 ].packetId = MQTT_PACKET_ID_INVALID; + mqttContext.outgoingPublishRecords[ 2 ].packetId = MQTT_PACKET_ID_INVALID; + mqttContext.outgoingPublishRecords[ 7 ].packetId = MQTT_PACKET_ID_INVALID; + mqttContext.outgoingPublishRecords[ 8 ].packetId = MQTT_PACKET_ID_INVALID; + status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + validateRecordAt( mqttContext.outgoingPublishRecords, 6, PACKET_ID2, MQTTQoS1, MQTTPublishSend ); + /* Remaining records should be cleared. */ + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 7 ].packetId ); + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 8 ].packetId ); + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 9 ].packetId ); + + /* Fragmented array. + * Pre condition - 1 0 0 0 0 0 0 0 0 1. + * Add an element will compact the array and the resulting state + * should be - 1 1 1 0 0 0 0 0 0 0. */ + resetPublishRecords( &mqttContext ); + addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecPending ); + addToRecord( mqttContext.outgoingPublishRecords, 9, PACKET_ID2 + 1, MQTTQoS2, MQTTPubCompPending ); + status = MQTT_ReserveState( &mqttContext, PACKET_ID2, MQTTQoS1 ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + validateRecordAt( mqttContext.outgoingPublishRecords, 2, PACKET_ID2, MQTTQoS1, MQTTPublishSend ); + /* Validate existing records. */ + validateRecordAt( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecPending ); + validateRecordAt( mqttContext.outgoingPublishRecords, 1, PACKET_ID2 + 1, MQTTQoS2, MQTTPubCompPending ); +} + +/* ========================================================================== */ + +void test_MQTT_CalculateStatePublish( void ) +{ + /* QoS 0. */ + TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStatePublish( MQTT_SEND, MQTTQoS0 ) ); + TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStatePublish( MQTT_RECEIVE, MQTTQoS0 ) ); + + /* QoS 1. */ + TEST_ASSERT_EQUAL( MQTTPubAckPending, MQTT_CalculateStatePublish( MQTT_SEND, MQTTQoS1 ) ); + TEST_ASSERT_EQUAL( MQTTPubAckSend, MQTT_CalculateStatePublish( MQTT_RECEIVE, MQTTQoS1 ) ); + + /* QoS 2. */ + TEST_ASSERT_EQUAL( MQTTPubRecPending, MQTT_CalculateStatePublish( MQTT_SEND, MQTTQoS2 ) ); + TEST_ASSERT_EQUAL( MQTTPubRecSend, MQTT_CalculateStatePublish( MQTT_RECEIVE, MQTTQoS2 ) ); + + /* Invalid QoS. */ + TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStatePublish( MQTT_SEND, 3 ) ); +} + +/* ========================================================================== */ + +void test_MQTT_UpdateStatePublish( void ) +{ + MQTTContext_t mqttContext = { 0 }; + const uint16_t PACKET_ID = 1; + MQTTStateOperation_t operation = MQTT_SEND; + MQTTQoS_t qos = MQTTQoS0; + MQTTPublishState_t state; + MQTTStatus_t status; + + TransportInterface_t transport; + MQTTFixedBuffer_t networkBuffer = { 0 }; + + transport.recv = transportRecvSuccess; + transport.send = transportSendSuccess; + + MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; + MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; + + status = MQTT_Init( &mqttContext, &transport, + getTime, eventCallback, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + + status = MQTT_InitStatefulQoS( &mqttContext, + outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, + incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + + /* QoS 0. */ + status = MQTT_UpdateStatePublish( &mqttContext, 0, operation, qos, &state ); + TEST_ASSERT_EQUAL( MQTTPublishDone, state ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + + /* Invalid parameters. */ + /* Invalid ID. */ + qos = MQTTQoS1; + status = MQTT_UpdateStatePublish( &mqttContext, 0, operation, qos, &state ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + /* NULL context. */ + status = MQTT_UpdateStatePublish( NULL, PACKET_ID, operation, qos, &state ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + /* NULL new state. */ + status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, NULL ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + /* No record found. */ + status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + /* QoS mismatch. */ + addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPublishSend ); + status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + /* Invalid state transition. */ + addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS1, MQTTPubRelPending ); + status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); + TEST_ASSERT_EQUAL( MQTTIllegalState, status ); + + /* Invalid QoS. */ + operation = MQTT_SEND; + addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, 3, MQTTPublishSend ); + status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, 3, &state ); + TEST_ASSERT_EQUAL( MQTTIllegalState, status ); + operation = MQTT_RECEIVE; + status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, 3, &state ); + TEST_ASSERT_EQUAL( MQTTIllegalState, status ); + + /* Invalid current state. */ + operation = MQTT_SEND; + addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, qos, MQTTStateNull ); + status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); + TEST_ASSERT_EQUAL( MQTTIllegalState, status ); + + /* Collision. */ + operation = MQTT_RECEIVE; + addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS1, MQTTPubAckSend ); + status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); + TEST_ASSERT_EQUAL( MQTTStateCollision, status ); + + /* No memory. */ + operation = MQTT_RECEIVE; + fillRecord( mqttContext.incomingPublishRecords, 2, MQTTQoS1, MQTTPublishSend ); + status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); + TEST_ASSERT_EQUAL( MQTTNoMemory, status ); + + resetPublishRecords( &mqttContext ); + + /* QoS 1. */ + qos = MQTTQoS1; + /* Send. */ + operation = MQTT_SEND; + addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS1, MQTTPublishSend ); + status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( MQTTPubAckPending, state ); + TEST_ASSERT_EQUAL( MQTTPubAckPending, mqttContext.outgoingPublishRecords[ 0 ].publishState ); + /* Resend when record already exists. */ + status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( MQTTPubAckPending, state ); + TEST_ASSERT_EQUAL( MQTTPubAckPending, mqttContext.outgoingPublishRecords[ 0 ].publishState ); + /* Receive. */ + operation = MQTT_RECEIVE; + status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( MQTTPubAckSend, state ); + TEST_ASSERT_EQUAL( MQTTPubAckSend, mqttContext.incomingPublishRecords[ 0 ].publishState ); + /* Receive duplicate incoming publish. */ + status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); + TEST_ASSERT_EQUAL( MQTTStateCollision, status ); + TEST_ASSERT_EQUAL( MQTTPubAckSend, state ); + TEST_ASSERT_EQUAL( MQTTPubAckSend, mqttContext.incomingPublishRecords[ 0 ].publishState ); + + resetPublishRecords( &mqttContext ); + + /* QoS 2. */ + qos = MQTTQoS2; + /* Send. */ + operation = MQTT_SEND; + addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPublishSend ); + status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( MQTTPubRecPending, state ); + TEST_ASSERT_EQUAL( MQTTPubRecPending, mqttContext.outgoingPublishRecords[ 0 ].publishState ); + /* Resend when record already exists. */ + status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( MQTTPubRecPending, state ); + TEST_ASSERT_EQUAL( MQTTPubRecPending, mqttContext.outgoingPublishRecords[ 0 ].publishState ); + /* Receive. */ + operation = MQTT_RECEIVE; + status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( MQTTPubRecSend, state ); + TEST_ASSERT_EQUAL( MQTTPubRecSend, mqttContext.incomingPublishRecords[ 0 ].publishState ); + /* Receive incoming publish when the packet record is in state #MQTTPubRecSend. */ + status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); + TEST_ASSERT_EQUAL( MQTTStateCollision, status ); + TEST_ASSERT_EQUAL( MQTTPubRecSend, state ); + TEST_ASSERT_EQUAL( MQTTPubRecSend, mqttContext.incomingPublishRecords[ 0 ].publishState ); + /* Receive incoming publish when the packet record is in state #MQTTPubRelPending. */ + addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRelPending ); + status = MQTT_UpdateStatePublish( &mqttContext, PACKET_ID, operation, qos, &state ); + TEST_ASSERT_EQUAL( MQTTStateCollision, status ); + /* The returned state will always be #MQTTPubRecSend as a PUBREC need to be sent. */ + TEST_ASSERT_EQUAL( MQTTPubRecSend, state ); + TEST_ASSERT_EQUAL( MQTTPubRelPending, mqttContext.incomingPublishRecords[ 0 ].publishState ); +} + +/* ========================================================================== */ + +void test_MQTT_CalculateStateAck( void ) +{ + MQTTPubAckType_t ack; + MQTTQoS_t qos; + MQTTStateOperation_t opType; + + /* Invalid qos. */ + qos = MQTTQoS0; + ack = MQTTPuback; + opType = MQTT_SEND; + TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStateAck( ack, opType, qos ) ); + qos = MQTTQoS2; + TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStateAck( ack, opType, qos ) ); + qos = MQTTQoS0; + ack = MQTTPubrec; + TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStateAck( ack, opType, qos ) ); + qos = MQTTQoS1; + TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStateAck( ack, opType, qos ) ); + + /* Invalid ack type. */ + ack = MQTTPubcomp + 1; + TEST_ASSERT_EQUAL( MQTTStateNull, MQTT_CalculateStateAck( ack, opType, qos ) ); + + /* PUBACK */ + ack = MQTTPuback; + qos = MQTTQoS1; + opType = MQTT_SEND; + TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStateAck( ack, opType, qos ) ); + opType = MQTT_RECEIVE; + TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStateAck( ack, opType, qos ) ); + + /* QoS 2 tests. */ + qos = MQTTQoS2; + + /* PUBREC */ + ack = MQTTPubrec; + /* Send */ + opType = MQTT_SEND; + TEST_ASSERT_EQUAL( MQTTPubRelPending, MQTT_CalculateStateAck( ack, opType, qos ) ); + /* Receive */ + opType = MQTT_RECEIVE; + TEST_ASSERT_EQUAL( MQTTPubRelSend, MQTT_CalculateStateAck( ack, opType, qos ) ); + + /* PUBREL */ + ack = MQTTPubrel; + /* Send */ + opType = MQTT_SEND; + TEST_ASSERT_EQUAL( MQTTPubCompPending, MQTT_CalculateStateAck( ack, opType, qos ) ); + /* Receive */ + opType = MQTT_RECEIVE; + TEST_ASSERT_EQUAL( MQTTPubCompSend, MQTT_CalculateStateAck( ack, opType, qos ) ); + + /* PUBCOMP */ + ack = MQTTPubcomp; + TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStateAck( ack, opType, qos ) ); + opType = MQTT_SEND; + TEST_ASSERT_EQUAL( MQTTPublishDone, MQTT_CalculateStateAck( ack, opType, qos ) ); +} + +/* ========================================================================== */ + +void test_MQTT_UpdateStateAck( void ) +{ + MQTTContext_t mqttContext = { 0 }; + MQTTPubAckType_t ack = MQTTPuback; + MQTTStateOperation_t operation = MQTT_RECEIVE; + MQTTPublishState_t state = MQTTStateNull; + MQTTStatus_t status; + + const uint16_t PACKET_ID = 1; + TransportInterface_t transport; + MQTTFixedBuffer_t networkBuffer = { 0 }; + + transport.recv = transportRecvSuccess; + transport.send = transportSendSuccess; + + MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; + MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; + + status = MQTT_Init( &mqttContext, &transport, + getTime, eventCallback, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + + status = MQTT_InitStatefulQoS( &mqttContext, + outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, + incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + + /* NULL parameters. */ + status = MQTT_UpdateStateAck( NULL, PACKET_ID, ack, operation, &state ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, NULL ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + /* Invalid packet ID. */ + status = MQTT_UpdateStateAck( &mqttContext, 0, ack, operation, &state ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + /* No matching record found. */ + status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); + TEST_ASSERT_EQUAL( MQTTBadResponse, status ); + + /* Invalid transitions. */ + /* Invalid transition from #MQTTPubRelPending. */ + addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRelPending ); + ack = MQTTPubrel; + operation = MQTT_SEND; + status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); + TEST_ASSERT_EQUAL( MQTTIllegalState, status ); + /* Invalid transition from #MQTTPubCompSend. */ + addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubCompSend ); + status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); + TEST_ASSERT_EQUAL( MQTTIllegalState, status ); + /* Invalid transition from #MQTTPubCompPending. */ + addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubCompPending ); + ack = MQTTPubrec; + operation = MQTT_RECEIVE; + status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); + TEST_ASSERT_EQUAL( MQTTIllegalState, status ); + /* Invalid transition from #MQTTPubRecPending. */ + addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecPending ); + ack = MQTTPubcomp; + status = MQTT_UpdateStateAck( &mqttContext, 1, ack, operation, &state ); + TEST_ASSERT_EQUAL( MQTTIllegalState, status ); + + /* Invalid ack type. */ + status = MQTT_UpdateStateAck( &mqttContext, 1, MQTTPubcomp + 1, operation, &state ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + /* Invalid current state. */ + addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPublishDone ); + status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); + TEST_ASSERT_EQUAL( MQTTIllegalState, status ); + addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPublishSend ); + status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); + TEST_ASSERT_EQUAL( MQTTIllegalState, status ); + addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTStateNull ); + status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); + TEST_ASSERT_EQUAL( MQTTIllegalState, status ); + + resetPublishRecords( &mqttContext ); + + /* QoS 1, receive PUBACK for outgoing publish. */ + addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS1, MQTTPubAckPending ); + operation = MQTT_RECEIVE; + ack = MQTTPuback; + status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( MQTTPublishDone, state ); + + /* Test for deletion. */ + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 0 ].packetId ); + /* Send PUBACK for incoming publish. */ + operation = MQTT_SEND; + addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS1, MQTTPubAckSend ); + status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( MQTTPublishDone, state ); + + resetPublishRecords( &mqttContext ); + + /* QoS 2, PUBREL. */ + /* Outgoing. */ + addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRelSend ); + operation = MQTT_SEND; + ack = MQTTPubrel; + status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( MQTTPubCompPending, state ); + /* Outgoing. Resend PUBREL when record in state #MQTTPubCompPending. */ + operation = MQTT_SEND; + ack = MQTTPubrel; + status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( MQTTPubCompPending, state ); + /* Incoming. */ + addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRelPending ); + operation = MQTT_RECEIVE; + status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( MQTTPubCompSend, state ); + /* Test for update. */ + TEST_ASSERT_EQUAL( MQTTPubCompSend, mqttContext.incomingPublishRecords[ 0 ].publishState ); + /* Incoming. Duplicate PUBREL is received when record is in state #MQTTPubRelPending. */ + status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( MQTTPubCompSend, state ); + + /* QoS 2, PUBREC. */ + /* Outgoing. */ + addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecPending ); + operation = MQTT_RECEIVE; + ack = MQTTPubrec; + status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); + + /* Receiving a PUBREC will move the record to the end. + * In this case, only one record exists, no moving is required. */ + TEST_ASSERT_EQUAL( PACKET_ID, mqttContext.outgoingPublishRecords[ 0 ].packetId ); + TEST_ASSERT_EQUAL( MQTTQoS2, mqttContext.outgoingPublishRecords[ 0 ].qos ); + TEST_ASSERT_EQUAL( MQTTPubRelSend, mqttContext.outgoingPublishRecords[ 0 ].publishState ); + + /* Outgoing. + * Test if the record moves to the end of the records when PUBREC is + * received. */ + resetPublishRecords( &mqttContext ); + addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecPending ); + addToRecord( mqttContext.outgoingPublishRecords, 1, PACKET_ID + 1, MQTTQoS2, MQTTPubRelSend ); + status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); + + /* Receiving a PUBREC will move the record to the end. + * In this case, the record will be moved to index 2. */ + TEST_ASSERT_EQUAL( PACKET_ID, mqttContext.outgoingPublishRecords[ 2 ].packetId ); + TEST_ASSERT_EQUAL( MQTTQoS2, mqttContext.outgoingPublishRecords[ 2 ].qos ); + TEST_ASSERT_EQUAL( MQTTPubRelSend, mqttContext.outgoingPublishRecords[ 2 ].publishState ); + /* Record at the current index will be marked as invalid. */ + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, mqttContext.outgoingPublishRecords[ 0 ].packetId ); + + /* Incoming. */ + addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRecSend ); + operation = MQTT_SEND; + status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( MQTTPubRelPending, state ); + /* Incoming. Duplicate publish received and record is in state #MQTTPubRelPending. */ + addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubRelPending ); + status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( MQTTPubRelPending, state ); + + /* QoS 2, PUBCOMP. */ + /* Outgoing. */ + addToRecord( mqttContext.outgoingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubCompPending ); + operation = MQTT_RECEIVE; + ack = MQTTPubcomp; + status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( MQTTPublishDone, state ); + /* Incoming. */ + addToRecord( mqttContext.incomingPublishRecords, 0, PACKET_ID, MQTTQoS2, MQTTPubCompSend ); + operation = MQTT_SEND; + status = MQTT_UpdateStateAck( &mqttContext, PACKET_ID, ack, operation, &state ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( MQTTPublishDone, state ); +} + +/* ========================================================================== */ + +void test_MQTT_AckToResend( void ) +{ + MQTTContext_t mqttContext = { 0 }; + MQTTStateCursor_t cursor = MQTT_STATE_CURSOR_INITIALIZER; + MQTTPublishState_t state = MQTTStateNull; + uint16_t packetId; + const uint16_t PACKET_ID = 1; + const uint16_t PACKET_ID2 = 2; + const uint16_t PACKET_ID3 = 3; + const uint16_t PACKET_ID4 = 4; + const size_t index = 0; + const size_t index2 = 1; + const size_t index3 = MQTT_STATE_ARRAY_MAX_COUNT / 2; + const size_t index4 = index3 + 2; + + MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; + MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; + MQTTStatus_t status; + TransportInterface_t transport; + MQTTFixedBuffer_t networkBuffer = { 0 }; + + transport.recv = transportRecvSuccess; + transport.send = transportSendSuccess; + + status = MQTT_Init( &mqttContext, &transport, + getTime, eventCallback, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + + status = MQTT_InitStatefulQoS( &mqttContext, + outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, + incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + + /* Invalid parameters. */ + packetId = MQTT_PubrelToResend( NULL, &cursor, &state ); + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); + packetId = MQTT_PubrelToResend( &mqttContext, NULL, &state ); + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); + packetId = MQTT_PubrelToResend( &mqttContext, &cursor, NULL ); + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); + + /* No packet exists. */ + cursor = MQTT_STATE_CURSOR_INITIALIZER; + packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); + TEST_ASSERT_EQUAL( MQTTStateNull, state ); + TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); + + /* No packet exists in state #MQTTPubCompPending or #MQTTPubCompPending states. */ + cursor = MQTT_STATE_CURSOR_INITIALIZER; + addToRecord( mqttContext.outgoingPublishRecords, index, PACKET_ID3, MQTTQoS2, MQTTPubRelPending ); + addToRecord( mqttContext.outgoingPublishRecords, index2, PACKET_ID4, MQTTQoS2, MQTTPubCompSend ); + packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); + TEST_ASSERT_EQUAL( MQTTStateNull, state ); + TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); + + /* Add a record in #MQTTPubCompPending state. */ + cursor = MQTT_STATE_CURSOR_INITIALIZER; + addToRecord( mqttContext.outgoingPublishRecords, index3, PACKET_ID, MQTTQoS2, MQTTPubCompPending ); + packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); + TEST_ASSERT_EQUAL( PACKET_ID, packetId ); + TEST_ASSERT_EQUAL( index3 + 1, cursor ); + TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); + + /* Add another record in #MQTTPubCompPending state. */ + addToRecord( mqttContext.outgoingPublishRecords, index4, PACKET_ID2, MQTTQoS2, MQTTPubCompPending ); + packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); + TEST_ASSERT_EQUAL( PACKET_ID2, packetId ); + TEST_ASSERT_EQUAL( index4 + 1, cursor ); + TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); + + /* Add another record in #MQTTPubRelSend state. */ + addToRecord( mqttContext.outgoingPublishRecords, index4 + 1, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRelSend ); + packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); + TEST_ASSERT_EQUAL( PACKET_ID2 + 1, packetId ); + TEST_ASSERT_EQUAL( index4 + 2, cursor ); + TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); + + /* Only one record in #MQTTPubRelSend state. */ + resetPublishRecords( &mqttContext ); + cursor = MQTT_STATE_CURSOR_INITIALIZER; + addToRecord( mqttContext.outgoingPublishRecords, index3, PACKET_ID, MQTTQoS2, MQTTPubRelSend ); + packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); + TEST_ASSERT_EQUAL( PACKET_ID, packetId ); + TEST_ASSERT_EQUAL( index3 + 1, cursor ); + TEST_ASSERT_EQUAL( MQTTPubRelSend, state ); + + /* Further search should be return no valid packets. */ + state = MQTTStateNull; + packetId = MQTT_PubrelToResend( &mqttContext, &cursor, &state ); + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); + TEST_ASSERT_EQUAL( MQTTStateNull, state ); + TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); +} + +void test_MQTT_PublishToResend( void ) +{ + MQTTContext_t mqttContext = { 0 }; + MQTTStateCursor_t cursor = MQTT_STATE_CURSOR_INITIALIZER; + uint16_t packetId; + const uint16_t PACKET_ID = 1; + const uint16_t PACKET_ID2 = 2; + const uint16_t PACKET_ID3 = 3; + const uint16_t PACKET_ID4 = 4; + const size_t index = 0; + const size_t index2 = 1; + const size_t index3 = MQTT_STATE_ARRAY_MAX_COUNT / 2; + const size_t index4 = index3 + 2; + + MQTTPubAckInfo_t incomingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; + MQTTPubAckInfo_t outgoingRecords[ MQTT_STATE_ARRAY_MAX_COUNT ] = { 0 }; + MQTTStatus_t status; + TransportInterface_t transport = { 0 }; + + transport.recv = transportRecvSuccess; + transport.send = transportSendSuccess; + + MQTTFixedBuffer_t networkBuffer = { 0 }; + + status = MQTT_Init( &mqttContext, &transport, + getTime, eventCallback, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + + status = MQTT_InitStatefulQoS( &mqttContext, + outgoingRecords, MQTT_STATE_ARRAY_MAX_COUNT, + incomingRecords, MQTT_STATE_ARRAY_MAX_COUNT ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + + + /* Invalid parameters. */ + packetId = MQTT_PublishToResend( NULL, &cursor ); + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); + packetId = MQTT_PublishToResend( &mqttContext, NULL ); + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); + + /* No packet exists. */ + cursor = MQTT_STATE_CURSOR_INITIALIZER; + packetId = MQTT_PublishToResend( &mqttContext, &cursor ); + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); + TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); + + /* No packet exists in state #MQTTPublishSend, #MQTTPubAckPending and + * #MQTTPubRecPending states. */ + cursor = MQTT_STATE_CURSOR_INITIALIZER; + addToRecord( mqttContext.outgoingPublishRecords, index, PACKET_ID3, MQTTQoS2, MQTTPubCompPending ); + addToRecord( mqttContext.outgoingPublishRecords, index2, PACKET_ID4, MQTTQoS2, MQTTPubRelSend ); + packetId = MQTT_PublishToResend( &mqttContext, &cursor ); + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); + TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); + + /* Add a record in #MQTTPublishSend state. */ + cursor = MQTT_STATE_CURSOR_INITIALIZER; + addToRecord( mqttContext.outgoingPublishRecords, index3, PACKET_ID, MQTTQoS2, MQTTPublishSend ); + packetId = MQTT_PublishToResend( &mqttContext, &cursor ); + TEST_ASSERT_EQUAL( PACKET_ID, packetId ); + TEST_ASSERT_EQUAL( index3 + 1, cursor ); + + /* Add another record in #MQTTPubAckPending state. */ + addToRecord( mqttContext.outgoingPublishRecords, index4, PACKET_ID2, MQTTQoS1, MQTTPubAckPending ); + packetId = MQTT_PublishToResend( &mqttContext, &cursor ); + TEST_ASSERT_EQUAL( PACKET_ID2, packetId ); + TEST_ASSERT_EQUAL( index4 + 1, cursor ); + + /* Add another record in #MQTTPubRecPending state. */ + addToRecord( mqttContext.outgoingPublishRecords, index4 + 1, PACKET_ID2 + 1, MQTTQoS2, MQTTPubRecPending ); + packetId = MQTT_PublishToResend( &mqttContext, &cursor ); + TEST_ASSERT_EQUAL( PACKET_ID2 + 1, packetId ); + TEST_ASSERT_EQUAL( index4 + 2, cursor ); + + /* Further search should find no packets. */ + packetId = MQTT_PublishToResend( &mqttContext, &cursor ); + TEST_ASSERT_EQUAL( MQTT_PACKET_ID_INVALID, packetId ); + TEST_ASSERT_EQUAL( MQTT_STATE_ARRAY_MAX_COUNT, cursor ); +} + +/* ========================================================================== */ + +void test_MQTT_State_strerror( void ) +{ + MQTTPublishState_t state; + const char * str = NULL; + + state = MQTTStateNull; + str = MQTT_State_strerror( state ); + TEST_ASSERT_EQUAL_STRING( "MQTTStateNull", str ); + + state = MQTTPublishSend; + str = MQTT_State_strerror( state ); + TEST_ASSERT_EQUAL_STRING( "MQTTPublishSend", str ); + + state = MQTTPubAckSend; + str = MQTT_State_strerror( state ); + TEST_ASSERT_EQUAL_STRING( "MQTTPubAckSend", str ); + + state = MQTTPubRecSend; + str = MQTT_State_strerror( state ); + TEST_ASSERT_EQUAL_STRING( "MQTTPubRecSend", str ); + + state = MQTTPubRelSend; + str = MQTT_State_strerror( state ); + TEST_ASSERT_EQUAL_STRING( "MQTTPubRelSend", str ); + + state = MQTTPubCompSend; + str = MQTT_State_strerror( state ); + TEST_ASSERT_EQUAL_STRING( "MQTTPubCompSend", str ); + + state = MQTTPubAckPending; + str = MQTT_State_strerror( state ); + TEST_ASSERT_EQUAL_STRING( "MQTTPubAckPending", str ); + + state = MQTTPubRecPending; + str = MQTT_State_strerror( state ); + TEST_ASSERT_EQUAL_STRING( "MQTTPubRecPending", str ); + + state = MQTTPubRelPending; + str = MQTT_State_strerror( state ); + TEST_ASSERT_EQUAL_STRING( "MQTTPubRelPending", str ); + + state = MQTTPubCompPending; + str = MQTT_State_strerror( state ); + TEST_ASSERT_EQUAL_STRING( "MQTTPubCompPending", str ); + + state = MQTTPublishDone; + str = MQTT_State_strerror( state ); + TEST_ASSERT_EQUAL_STRING( "MQTTPublishDone", str ); + + state = MQTTPublishDone + 1; + str = MQTT_State_strerror( state ); + TEST_ASSERT_EQUAL_STRING( "Invalid MQTT State", str ); +} + +/* ========================================================================== */ diff --git a/test/unit-test/MQTTv5/CMakeLists.txt b/test/unit-test/MQTTv5/CMakeLists.txt index 27b82386e..3c32bf467 100644 --- a/test/unit-test/MQTTv5/CMakeLists.txt +++ b/test/unit-test/MQTTv5/CMakeLists.txt @@ -81,35 +81,35 @@ create_test(${utest_name} "${test_include_directories}" ) -# # need to redefine because the tests below don't use any mocks -# set(utest_link_list "") -# list(APPEND utest_link_list -# lib${real_name}.a -# ) - -# # mqtt_state_utest -# set(utest_name "${project_name}_state_utest") -# set(utest_source "${project_name}_state_utest.c") - -# create_test(${utest_name} -# ${utest_source} -# "${utest_link_list}" -# "${utest_dep_list}" -# "${test_include_directories}" -# ) - -# # mqtt_serializer_utest -# set(utest_name "${project_name}_serializer_utest") -# set(utest_source "${project_name}_serializer_utest.c") - -# set(utest_link_list "") -# list(APPEND utest_link_list -# lib${real_name}.a -# ) - -# create_test(${utest_name} -# ${utest_source} -# "${utest_link_list}" -# "${utest_dep_list}" -# "${test_include_directories}" -# ) \ No newline at end of file +# need to redefine because the tests below don't use any mocks +set(utest_link_list "") +list(APPEND utest_link_list + lib${real_name}.a + ) + +# mqtt_state_utest +set(utest_name "${project_name}_state_utest") +set(utest_source "${project_name}_state_utest.c") + +create_test(${utest_name} + ${utest_source} + "${utest_link_list}" + "${utest_dep_list}" + "${test_include_directories}" + ) + +# mqtt_serializer_utest +set(utest_name "${project_name}_serializer_utest") +set(utest_source "${project_name}_serializer_utest.c") + +set(utest_link_list "") +list(APPEND utest_link_list + lib${real_name}.a + ) + +create_test(${utest_name} + ${utest_source} + "${utest_link_list}" + "${utest_dep_list}" + "${test_include_directories}" + ) \ No newline at end of file diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index 574e97ec4..93d1e083b 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -32,7 +32,7 @@ #include "unity.h" /* Include paths for public enums, structures, and macros. */ -#include "/home/ubuntu/coreMQTT/source/include/core_mqtt_serializer.h" +#include "core_mqtt_serializer.h" /* Set network context to double pointer to buffer (uint8_t**). */ struct NetworkContext @@ -152,6 +152,67 @@ struct NetworkContext */ #define MQTT_TEST_BUFFER_LENGTH ( 1024 ) +#define UINT16_DECODE( ptr ) \ + ( uint16_t ) ( ( ( ( uint16_t ) ptr[ 0 ] ) << 8 ) | \ + ( ( uint16_t ) ptr[ 1 ] ) ) + +#define UINT32_DECODE( ptr ) \ + ( uint32_t ) ( ( ( ( uint32_t ) ptr[ 0 ] ) << 8 ) | \ + ( ( ( uint32_t ) ptr[1] ) << 16 ) | \ + ( ( ( uint32_t ) ptr[ 2 ] ) << 24 ) | \ + ( ( uint32_t ) ptr[ 3 ] ) ) + +#define UINT32_BYTE3( x ) ( ( uint8_t ) ( ( x ) >> 24 ) ) + +#define UINT32_BYTE2( x ) ( ( uint8_t ) ( ( x ) >> 16 ) ) + +#define UINT32_BYTE1( x ) ( ( uint8_t ) ( ( x ) >> 8 ) ) + +#define UINT32_BYTE0( x ) ( ( uint8_t ) ( ( x ) & 0x000000FFU ) ) + +#define MQTT_VERSION_5 (5U) +#define MQTT_SESSION_EXPIRY_SIZE (5U) +#define MQTT_RECEIVE_MAX_SIZE (3U) +#define MQTT_MAX_PACKET_SIZE (5U) +#define MQTT_TOPIC_ALIAS_SIZE (3U) +#define MQTT_REQUEST_RESPONSE_SIZE (2U) +#define MQTT_REQUEST_PPOBLEM_SIZE (2U) + +#define MQTT_SESSION_EXPIRY_ID (0x11) +#define MQTT_RECEIVE_MAX_ID (0x21) +#define MQTT_MAX_PACKET_SIZE_ID (0x27) +#define MQTT_TOPIC_ALIAS_MAX_ID (0x22) +#define MQTT_REQUEST_RESPONSE_ID (0x19) +#define MQTT_REQUEST_PROBLEM_ID (0x17) +#define MQTT_USER_PROPERTY_ID (0x26) +#define MQTT_AUTH_METHOD_ID (0x15) +#define MQTT_AUTH_DATA_ID (0x16) + +#define MQTT_WILL_DELAY_ID (0x18) +#define MQTT_PAYLOAD_FORMAT_ID (0x01) +#define MQTT_MSG_EXPIRY_ID (0x02) +#define MQTT_CONTENT_TYPE_ID (0x03) +#define MQTT_RESPONSE_TOPIC_ID (0x08) +#define MQTT_CORRELATION_DATA_ID (0x09) + + +#define MQTT_MAX_QOS_ID (0x24) +#define MQTT_RETAIN_AVAILABLE_ID (0x25) +#define MQTT_ASSIGNED_CLIENT_ID (0x12) +#define MQTT_REASON_STRING_ID (0x1F) +#define MQTT_WILDCARD_ID (0x28) +#define MQTT_SUB_AVAILABLE_ID (0x29) +#define MQTT_SHARED_SUB_ID (0x2A) +#define MQTT_SERVER_KEEP_ALIVE_ID (0x13) +#define MQTT_RESPONSE_INFO_ID (0x1A) +#define MQTT_SERVER_REF_ID (0x1C) + +#define CORE_MQTT_ID_SIZE ( 1U ) +#define MQTT_REMAINING_LENGTH_INVALID ( ( size_t ) 268435456 ) + + + + static uint8_t remainingLengthBuffer[ MQTT_REMAINING_BUFFER_MAX_LENGTH ] = { 0 }; static uint8_t encodedStringBuffer[ MQTT_TEST_BUFFER_LENGTH ] = { 0 }; @@ -182,8 +243,43 @@ int suiteTearDown( int numFailures ) } /* ========================================================================== */ + static size_t remainingLengthEncodedSize(size_t length) +{ + size_t encodedSize; + + /* Determine how many bytes are needed to encode length. + * The values below are taken from the MQTT 3.1.1 spec. */ + + /* 1 byte is needed to encode lengths between 0 and 127. */ + if (length < 128U) + { + encodedSize = 1U; + } + /* 2 bytes are needed to encode lengths between 128 and 16,383. */ + else if (length < 16384U) + { + encodedSize = 2U; + } + /* 3 bytes are needed to encode lengths between 16,384 and 2,097,151. */ + else if (length < 2097152U) + { + encodedSize = 3U; + } + /* 4 bytes are needed to encode lengths between 2,097,152 and 268,435,455. */ + else + { + encodedSize = 4U; + } + + LogDebug(("Encoded size for length %lu is %lu bytes.", + (unsigned long)length, + (unsigned long)encodedSize)); + + return encodedSize; +} -void test_MQTT_GetConnectpropertiesSize(void){ + +void test_MQTT_GetConnectPropertiesSize(void){ MQTTConnectInfo_t connectInfo; MQTTStatus_t status = MQTTSuccess; MQTTPublishInfo_t willInfo = { 0 }; @@ -191,44 +287,49 @@ void test_MQTT_GetConnectpropertiesSize(void){ /* Call MQTT_GetConnectPropertiesSize() with various combinations of * incorrect paramters */ - status = MQTT_GetConnectpropertiesSize(NULL); + status = MQTT_GetConnectPropertiesSize(NULL); TEST_ASSERT_EQUAL (MQTTBadParameter,status); /* *Max Packet Size cannot be null */ MQTTConnectProperties_t connectProperties; + connectProperties.receiveMax=24; memset(&connectProperties, 0x0, sizeof(connectProperties)); status = MQTT_GetConnectPropertiesSize(&connectProperties); TEST_ASSERT_EQUAL (MQTTBadParameter,status); - connectProperties.reqProbInfo=1; + /* + *Receive Maximum cannot be 0 + */ connectProperties.maxPacketSize=40; + connectProperties.receiveMax=0; status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL (MQTTSuccess,status); - TEST_ASSERT_EQUAL_size_t (5,connectProperties.propertyLength); - - connectProperties.sessionExpiry=24; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL (MQTTSuccess,status); - TEST_ASSERT_EQUAL_size_t (10,connectProperties.propertyLength); + TEST_ASSERT_EQUAL (MQTTBadParameter,status); + - connectProperties.receiveMax=24; + connectProperties.receiveMax=24; + connectProperties.reqProbInfo=1; status = MQTT_GetConnectPropertiesSize(&connectProperties); TEST_ASSERT_EQUAL (MQTTSuccess,status); - TEST_ASSERT_EQUAL_size_t (13,connectProperties.propertyLength); + TEST_ASSERT_EQUAL_size_t (8,connectProperties.propertyLength); + connectProperties.sessionExpiry=24; + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL (MQTTSuccess,status); + TEST_ASSERT_EQUAL_size_t (13,connectProperties.propertyLength); + connectProperties.topicAliasMax=24; status = MQTT_GetConnectPropertiesSize(&connectProperties); TEST_ASSERT_EQUAL (MQTTSuccess,status); TEST_ASSERT_EQUAL_size_t (16,connectProperties.propertyLength); - connectProperties.reqResInfo=0; + connectProperties.reqResInfo=1; status = MQTT_GetConnectPropertiesSize(&connectProperties); TEST_ASSERT_EQUAL (MQTTSuccess,status); TEST_ASSERT_EQUAL_size_t (18,connectProperties.propertyLength); - connectProperties.reqProbInfo=1; + connectProperties.reqProbInfo=0; status = MQTT_GetConnectPropertiesSize(&connectProperties); TEST_ASSERT_EQUAL (MQTTSuccess,status); TEST_ASSERT_EQUAL_size_t (20,connectProperties.propertyLength); @@ -239,5 +340,237 @@ void test_MQTT_GetConnectpropertiesSize(void){ connectProperties.outgoingUserPropSize=1; status = MQTT_GetConnectPropertiesSize(&connectProperties); TEST_ASSERT_EQUAL (MQTTBadParameter,status); + + connectProperties.outgoingUserProperty= &userProperty; + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL (MQTTBadParameter,status); + + userProperty.keyLength=3; + MQTT_GetUserPropertySize_CMockExpectAndReturn(NULL,&userProperty, connectProperties.outgoingUserPropSize,NULL, MQTTBadParameter); + MQTT_GetUserPropertySize_CMockIgnoreArg_length(); + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL (MQTTBadParameter,status); + + userProperty.valueLength=1; + MQTT_GetUserPropertySize_CMockExpectAndReturn(NULL,&userProperty, connectProperties.outgoingUserPropSize,NULL, MQTTBadParameter); + MQTT_GetUserPropertySize_CMockIgnoreArg_length(); + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL (MQTTBadParameter,status); + + userProperty.value="1"; + MQTT_GetUserPropertySize_CMockExpectAndReturn(NULL,&userProperty, connectProperties.outgoingUserPropSize,NULL, MQTTBadParameter); + MQTT_GetUserPropertySize_CMockIgnoreArg_length(); + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL (MQTTBadParameter,status); + + + userProperty.key="211"; + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL (MQTTSuccess,status); + TEST_ASSERT_EQUAL_size_t(29,connectProperties.propertyLength); + + + connectProperties.outgoingUserPropSize= 6; + MQTT_GetUserPropertySize_CMockExpectAndReturn(NULL,&userProperty, connectProperties.outgoingUserPropSize,NULL, MQTTBadParameter); + MQTT_GetUserPropertySize_CMockIgnoreArg_length(); + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL (MQTTBadParameter,status); + connectProperties.outgoingUserPropSize= 1; + + + /* + * Incoming AuthInfo not intialized. + */ + MQTTAuthInfo_t auth; + memset(&auth, 0x0, sizeof(auth)); + connectProperties.outgoingAuth=&auth; + auth.authDataLength=1; + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL (MQTTBadParameter,status); + MQTTAuthInfo_t auth2; + memset(&auth2, 0x0, sizeof(auth2)); + connectProperties.incomingAuth=&auth2; + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL (MQTTBadParameter,status); + + /* + * Protocol Error to include Authentication Data if there is no Authentication Method + */ + auth.authData="1"; + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL (MQTTBadParameter,status); + + + auth.authMethodLength=3; + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL (MQTTBadParameter,status); + + auth.authMethod="234"; + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL (MQTTSuccess,status); + TEST_ASSERT_EQUAL_size_t(39,connectProperties.propertyLength); + } + + +void test_MQTT_GetWillPropertiesSize(void){ + MQTTConnectInfo_t connectInfo; + MQTTStatus_t status = MQTTSuccess; + MQTTPublishInfo_t willInfo; + uint32_t willDelay= 10; + + /* Call MQTT_GetWillPropertiesSize() with various combinations of + * incorrect paramters */ + + status = MQTT_GetWillPropertiesSize(NULL,1); + TEST_ASSERT_EQUAL (MQTTBadParameter,status); + /* + *Max Packet Size cannot be null + */ + + memset(&willInfo,0x0,sizeof(willInfo)); + status = MQTT_GetWillPropertiesSize(&willInfo,0); + TEST_ASSERT_EQUAL (MQTTSuccess,status); + TEST_ASSERT_EQUAL_size_t(0,willInfo.propertyLength); + + + status = MQTT_GetWillPropertiesSize(&willInfo,willDelay); + TEST_ASSERT_EQUAL (MQTTSuccess,status); + TEST_ASSERT_EQUAL_size_t(5,willInfo.propertyLength); + + willInfo.payloadFormat = 1; + status = MQTT_GetWillPropertiesSize(&willInfo,willDelay); + TEST_ASSERT_EQUAL (MQTTSuccess,status); + TEST_ASSERT_EQUAL_size_t(7,willInfo.propertyLength); + + willInfo.msgExpiryPresent = 1; + willInfo.msgExpiryInterval= 10; + status = MQTT_GetWillPropertiesSize(&willInfo,willDelay); + TEST_ASSERT_EQUAL (MQTTSuccess,status); + TEST_ASSERT_EQUAL_size_t(12,willInfo.propertyLength); + + willInfo.msgExpiryPresent = 1; + willInfo.msgExpiryInterval= 10; + status = MQTT_GetWillPropertiesSize(&willInfo,willDelay); + TEST_ASSERT_EQUAL (MQTTSuccess,status); + TEST_ASSERT_EQUAL_size_t(12,willInfo.propertyLength); + + willInfo.contentTypeLength =2; + status = MQTT_GetWillPropertiesSize(&willInfo,willDelay); + TEST_ASSERT_EQUAL (MQTTBadParameter,status); + + willInfo.contentType="ab"; + status = MQTT_GetWillPropertiesSize(&willInfo,willDelay); + TEST_ASSERT_EQUAL (MQTTSuccess,status); + TEST_ASSERT_EQUAL_size_t(17,willInfo.propertyLength); + + willInfo.responseTopicLength =2; + status = MQTT_GetWillPropertiesSize(&willInfo,willDelay); + TEST_ASSERT_EQUAL (MQTTBadParameter,status); + + willInfo.responseTopic="ab"; + status = MQTT_GetWillPropertiesSize(&willInfo,willDelay); + TEST_ASSERT_EQUAL (MQTTSuccess,status); + TEST_ASSERT_EQUAL_size_t(22,willInfo.propertyLength); + + willInfo.correlationLength =2; + status = MQTT_GetWillPropertiesSize(&willInfo,willDelay); + TEST_ASSERT_EQUAL (MQTTBadParameter,status); + + willInfo.correlationData="ab"; + status = MQTT_GetWillPropertiesSize(&willInfo,willDelay); + TEST_ASSERT_EQUAL (MQTTSuccess,status); + TEST_ASSERT_EQUAL_size_t(27,willInfo.propertyLength); + + MQTTUserProperty_t userProperty[2]; + userProperty[0].key="2"; + userProperty[0].keyLength= 1; + userProperty[0].valueLength=3; + userProperty[0].value="abc"; + userProperty[1].key="2"; + userProperty[1].keyLength= 1; + userProperty[1].valueLength=2; + userProperty[1].value="ab"; + willInfo.userProperty= userProperty; + willInfo.userPropertySize = 2; + status = MQTT_GetWillPropertiesSize(&willInfo,willDelay); + TEST_ASSERT_EQUAL (MQTTSuccess,status); + TEST_ASSERT_EQUAL_size_t(44,willInfo.propertyLength); + +} + +void test_MQTT_SerializeConnectProperties(void){ +uint8_t properties[24U]; +uint8_t *pIndex = properties; +uint8_t *index = properties; +MQTTConnectProperties_t connect; +MQTTStatus_t status; +size_t propertyLength; +memset(&connect,0x0,sizeof(connect)); +connect.sessionExpiry=12; +connect.receiveMax = 32; +connect.maxPacketSize= 56; +connect.topicAliasMax=11; +connect.reqResInfo = 1; +connect.reqProbInfo = 0; +connect.propertyLength= 20; +pIndex = MQTT_SerializeConnectProperties(pIndex,&connect); +TEST_ASSERT_EQUAL_INT(21,(pIndex-properties)); +status = decodeVariableLength(properties, &propertyLength); +TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); +TEST_ASSERT_EQUAL_size_t(connect.propertyLength,propertyLength); +index++; + +TEST_ASSERT_EQUAL_INT(MQTT_SESSION_EXPIRY_ID,*index); +index++; +TEST_ASSERT_EQUAL_UINT32(connect.sessionExpiry,UINT32_DECODE(index)); +index+=4; + +TEST_ASSERT_EQUAL_INT(MQTT_RECEIVE_MAX_ID,*index); +index++; +TEST_ASSERT_EQUAL_UINT32(connect.receiveMax,UINT16_DECODE(index)); +index+=2; + +TEST_ASSERT_EQUAL_INT(MQTT_MAX_PACKET_SIZE_ID,*index); +index++; +TEST_ASSERT_EQUAL_INT(connect.maxPacketSize,UINT32_DECODE(index)); +index+=4; + +TEST_ASSERT_EQUAL_INT(MQTT_TOPIC_ALIAS_MAX_ID,*index); +index++; +TEST_ASSERT_EQUAL_INT(connect.topicAliasMax,UINT16_DECODE(index)); +index+=2; + +TEST_ASSERT_EQUAL_INT(MQTT_REQUEST_RESPONSE_ID,*index); +index++; +TEST_ASSERT_EQUAL_INT(connect.reqResInfo,*index); +index++; + +TEST_ASSERT_EQUAL_INT(MQTT_REQUEST_PROBLEM_ID,*index); +index++; +TEST_ASSERT_EQUAL_INT(connect.reqProbInfo,*index); +index++; + +}; + +void test_MQTT_SerializePublishProperties(void){ + uint8_t properties[16U]; + uint8_t *index = properties; + MQTTPublishInfo_t will; + will.payloadFormat = 1; + will.msgExpiryPresent=true; + will.msgExpiryInterval= 34; + index= MQTT_SerializePublishProperties(&will,index,12); + TEST_ASSERT_EQUAL_INT(13,index-properties); + +} + +void test_MQTTV5_DeserializeConnackOnlyStatus(void){ + + + + +} + + diff --git a/test/unit-test/MQTTv5/core_mqttv5_state_utest.c b/test/unit-test/MQTTv5/core_mqttv5_state_utest.c index b41dcc6b3..9583ae8b2 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_state_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_state_utest.c @@ -1,59 +1,60 @@ -// /* -// * coreMQTT v2.3.0 -// * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// * -// * SPDX-License-Identifier: MIT -// * -// * Permission is hereby granted, free of charge, to any person obtaining a copy of -// * this software and associated documentation files (the "Software"), to deal in -// * the Software without restriction, including without limitation the rights to -// * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -// * the Software, and to permit persons to whom the Software is furnished to do so, -// * subject to the following conditions: -// * -// * The above copyright notice and this permission notice shall be included in all -// * copies or substantial portions of the Software. -// * -// * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -// * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -// * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -// * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -// * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// */ - -// /** -// * @file core_mqtt_state_utest.c -// * @brief Unit tests for functions in core_mqtt_state.h. -// */ -// #include -// #include "unity.h" - -// #include "core_mqtt_state.h" - -// #define MQTT_PACKET_ID_INVALID ( ( uint16_t ) 0U ) -// #define MQTT_STATE_ARRAY_MAX_COUNT 10 - -// /* ============================ UNITY FIXTURES ============================ */ -// void setUp( void ) -// { -// } - -// /* called before each testcase */ -// void tearDown( void ) -// { -// } - -// /* called at the beginning of the whole suite */ -// void suiteSetUp() -// { -// } - -// /* called at the end of the whole suite */ -// int suiteTearDown( int numFailures ) -// { -// return numFailures; -// } - -// /* ========================================================================== */ +/* + * coreMQTT v2.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/** + * @file core_mqtt_state_utest.c + * @brief Unit tests for functions in core_mqtt_state.h. + */ +#include +#include "unity.h" + +#include "core_mqtt_state.h" +#include "mock_core_mqtt_serializer.h" + +#define MQTT_PACKET_ID_INVALID ( ( uint16_t ) 0U ) +#define MQTT_STATE_ARRAY_MAX_COUNT 10 + +/* ============================ UNITY FIXTURES ============================ */ +void setUp( void ) +{ +} + +/* called before each testcase */ +void tearDown( void ) +{ +} + +/* called at the beginning of the whole suite */ +void suiteSetUp() +{ +} + +/* called at the end of the whole suite */ +int suiteTearDown( int numFailures ) +{ + return numFailures; +} + +/* ========================================================================== */ diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index 0b2af9c55..a4158879b 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -1,266 +1,1122 @@ -// /* -// * coreMQTT v2.3.0 -// * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// * -// * SPDX-License-Identifier: MIT -// * -// * Permission is hereby granted, free of charge, to any person obtaining a copy of -// * this software and associated documentation files (the "Software"), to deal in -// * the Software without restriction, including without limitation the rights to -// * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -// * the Software, and to permit persons to whom the Software is furnished to do so, -// * subject to the following conditions: -// * -// * The above copyright notice and this permission notice shall be included in all -// * copies or substantial portions of the Software. -// * -// * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -// * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -// * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -// * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -// * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// */ +/* + * coreMQTT v2.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ -// /** -// * @file core_mqtt_utest.c -// * @brief Unit tests for functions in core_mqtt.h. -// */ -// #include -// #include -// #include +/** + * @file core_mqtt_utest.c + * @brief Unit tests for functions in core_mqtt.h. + */ +#include +#include +#include -// #include "unity.h" +#include "unity.h" -// /* Include paths for public enums, structures, and macros. */ -// #include "core_mqtt.h" +/* Include paths for public enums, structures, and macros. */ +#include "core_mqtt.h" -// // #include "mock_core_mqttv5_serializer.h" -// // #include "mock_core_mqttv5_state.h" +// #include "mock_core_mqttv5_serializer.h" +// #include "mock_core_mqttv5_state.h" -// #include "core_mqtt_config_defaults.h" +#include "core_mqtt_config_defaults.h" +#include "mock_core_mqtt_serializer.h" +#include "mock_core_mqtt_state.h" +/* Set network context to double pointer to buffer (uint8_t**). */ +struct NetworkContext +{ + uint8_t ** buffer; +}; -// /* Set network context to double pointer to buffer (uint8_t**). */ -// struct NetworkContext -// { -// uint8_t ** buffer; -// }; +/** + * @brief MQTT client identifier. + */ +#define MQTT_CLIENT_IDENTIFIER "testclient" -// /** -// * @brief MQTT client identifier. -// */ -// #define MQTT_CLIENT_IDENTIFIER "testclient" +/** + * @brief A valid starting packet ID per MQTT spec. Start from 1. + */ +#define MQTT_FIRST_VALID_PACKET_ID ( 1 ) -// /** -// * @brief A valid starting packet ID per MQTT spec. Start from 1. -// */ -// #define MQTT_FIRST_VALID_PACKET_ID ( 1 ) +/** + * @brief A PINGREQ packet is always 2 bytes in size, defined by MQTT 3.1.1 spec. + */ +#define MQTT_PACKET_PINGREQ_SIZE ( 2U ) -// /** -// * @brief A PINGREQ packet is always 2 bytes in size, defined by MQTT 3.1.1 spec. -// */ -// #define MQTT_PACKET_PINGREQ_SIZE ( 2U ) +/** + * @brief A packet type not handled by MQTT_ProcessLoop. + */ +#define MQTT_PACKET_TYPE_INVALID ( 0U ) -// /** -// * @brief A packet type not handled by MQTT_ProcessLoop. -// */ -// #define MQTT_PACKET_TYPE_INVALID ( 0U ) +/** + * @brief Number of milliseconds in a second. + */ +#define MQTT_ONE_SECOND_TO_MS ( 1000U ) + +/** + * @brief Length of the MQTT network buffer. + */ +#define MQTT_TEST_BUFFER_LENGTH ( 128 ) + +/** + * @brief Sample keep-alive interval that should be greater than 0. + */ +#define MQTT_SAMPLE_KEEPALIVE_INTERVAL_S ( 1U ) + +/** + * @brief Length of time spent for single test case with + * multiple iterations spent in the process loop for coverage. + */ +#define MQTT_SAMPLE_PROCESS_LOOP_TIMEOUT_MS ( 1U ) + +/** + * @brief Zero timeout in the process loop implies one iteration. + */ +#define MQTT_NO_TIMEOUT_MS ( 0U ) + +/** + * @brief Sample length of remaining serialized data. + */ +#define MQTT_SAMPLE_REMAINING_LENGTH ( 64 ) + +/** + * @brief Subtract this value from max value of global entry time + * for the timer overflow test. + */ +#define MQTT_OVERFLOW_OFFSET ( 3 ) + +/** + * @brief The number of times the "getTime()" function is called + * within a single iteration of the #MQTT_ProcessLoop. + * + * This constant is used for the timer overflow test which checks + * that the API can support normal behavior even if the timer + * overflows. + * + * @note Currently, there are 6 calls within a single iteration. + * This can change when the implementation changes which would be + * caught through unit test failure. + */ +#define MQTT_TIMER_CALLS_PER_ITERATION ( 6 ) + +/** + * @brief Timeout for the timer overflow test. + */ +#define MQTT_TIMER_OVERFLOW_TIMEOUT_MS ( 10 ) + +/** + * @brief A sample network context that we set to NULL. + */ +#define MQTT_SAMPLE_NETWORK_CONTEXT ( NULL ) + +/** + * @brief Sample topic filter to subscribe to. + */ +#define MQTT_SAMPLE_TOPIC_FILTER "iot" + +/** + * @brief Length of sample topic filter. + */ +#define MQTT_SAMPLE_TOPIC_FILTER_LENGTH ( sizeof( MQTT_SAMPLE_TOPIC_FILTER ) - 1 ) + +/** + * @brief Sample topic filter to subscribe to. + */ +#define MQTT_SAMPLE_TOPIC_FILTER1 "TopicFilter2" + +/** + * @brief Length of sample topic filter. + */ +#define MQTT_SAMPLE_TOPIC_FILTER_LENGTH1 ( sizeof( MQTT_SAMPLE_TOPIC_FILTER1 ) - 1 ) + +/** + * @brief Sample topic filter to subscribe to. + */ +#define MQTT_SAMPLE_TOPIC_FILTER2 "SomeTopic" + +/** + * @brief Length of sample topic filter. + */ +#define MQTT_SAMPLE_TOPIC_FILTER_LENGTH2 ( sizeof( MQTT_SAMPLE_TOPIC_FILTER2 ) - 1 ) + +/** + * @brief Sample topic filter to subscribe to. + */ +#define MQTT_SAMPLE_TOPIC_FILTER3 "iotTopicFilter" + +/** + * @brief Length of sample topic filter. + */ +#define MQTT_SAMPLE_TOPIC_FILTER_LENGTH3 ( sizeof( MQTT_SAMPLE_TOPIC_FILTER3 ) - 1 ) + +/** + * @brief Return values of mocked calls in MQTT_ProcessLoop(). Used by + * `expectProcessLoopCalls` + */ +typedef struct ProcessLoopReturns +{ + MQTTStatus_t deserializeStatus; /**< @brief Status after deserializing incoming packet. */ + MQTTPublishState_t stateAfterDeserialize; /**< @brief Publish state after deserializing incoming packet. */ + MQTTStatus_t updateStateStatus; /**< @brief Status after updating publish state. */ + MQTTStatus_t serializeStatus; /**< @brief Status after serializing a publish ack to send. */ + MQTTPublishState_t stateAfterSerialize; /**< @brief Publish state after serializing an ack to send. */ + MQTTStatus_t processLoopStatus; /**< @brief Return value of the process loop. */ + bool incomingPublish; /**< @brief Whether the incoming packet is a publish. */ + MQTTPublishInfo_t * pPubInfo; /**< @brief Publish information to be returned by the deserializer. */ + uint32_t timeoutMs; /**< @brief The timeout value to call MQTT_ProcessLoop API with. */ +} ProcessLoopReturns_t; + +/** + * @brief The packet type to be received by the process loop. + * IMPORTANT: Make sure this is set before calling expectProcessLoopCalls(...). + */ +static uint8_t currentPacketType = MQTT_PACKET_TYPE_INVALID; + +/** + * @brief The return value of modifyIncomingPacket(...) CMock callback that + * replaces a call to MQTT_GetIncomingPacketTypeAndLength. + * IMPORTANT: Make sure this is set before calling expectProcessLoopCalls(...). + */ +static MQTTStatus_t modifyIncomingPacketStatus = MQTTSuccess; + +/** + * @brief Time at the beginning of each test. Note that this is not updated with + * a real clock. Instead, we simply increment this variable. + */ +static uint32_t globalEntryTime = 0; + +/** + * @brief A static buffer used by the MQTT library for storing packet data. + */ +static uint8_t mqttBuffer[ MQTT_TEST_BUFFER_LENGTH ] = { 0 }; + +/** + * @brief A flag to indicate whether event callback is called from + * MQTT_ProcessLoop. + */ +static bool isEventCallbackInvoked = false; +static bool receiveOnce = false; + +static const uint8_t SubscribeHeader[] = +{ + MQTT_PACKET_TYPE_SUBSCRIBE, /* Subscribe header. */ + 0x10, 0x10, /* Packet Length. */ + ( MQTT_FIRST_VALID_PACKET_ID >> 8 ), + ( ( MQTT_FIRST_VALID_PACKET_ID ) & 0x00ffU ) /* Packet ID. */ +}; +static const size_t SubscribeHeaderLength = 5U; + +static const uint8_t UnsubscribeHeader[] = +{ + MQTT_PACKET_TYPE_UNSUBSCRIBE, /* Subscribe header. */ + 0x12, 0x15, /* Packet Length. */ + ( MQTT_FIRST_VALID_PACKET_ID >> 8 ), + ( ( MQTT_FIRST_VALID_PACKET_ID ) & 0x00ffU ) /* Packet ID. */ +}; +static const size_t UnsubscribeHeaderLength = 5U; + +/* ============================ UNITY FIXTURES ============================ */ + +/* Called before each test method. */ +void setUp() +{ + memset( mqttBuffer, 0x0, sizeof( mqttBuffer ) ); + MQTT_State_strerror_IgnoreAndReturn( "DUMMY_MQTT_STATE" ); + + globalEntryTime = 0; +} + +/* Called after each test method. */ +void tearDown() +{ +} + +/* Called at the beginning of the whole suite. */ +void suiteSetUp() +{ + receiveOnce = 0; +} + +/* Called at the end of the whole suite. */ +int suiteTearDown( int numFailures ) +{ + return numFailures; +} + + +/* ========================================================================== */ // /** -// * @brief Number of milliseconds in a second. +// * @brief Mock successful transport send, and write data into buffer for +// * verification. // */ -// #define MQTT_ONE_SECOND_TO_MS ( 1000U ) +// static int32_t mockSend( NetworkContext_t * pNetworkContext, +// const void * pMessage, +// size_t bytesToSend ) +// { +// const uint8_t * buffer = ( const uint8_t * ) pMessage; +// /* Treat network context as pointer to buffer for mocking. */ +// uint8_t * mockNetwork = *( pNetworkContext->buffer ); +// size_t bytesSent = 0; + +// while( bytesSent++ < bytesToSend ) +// { +// /* Write single byte and advance buffer. */ +// *mockNetwork++ = *buffer++; +// } + +// /* Move stream by bytes sent. */ +// *( pNetworkContext->buffer ) = mockNetwork; + +// return bytesToSend; +// } // /** -// * @brief Length of the MQTT network buffer. +// * @brief Initialize pNetworkBuffer using static buffer. +// * +// * @param[in] pNetworkBuffer Network buffer provided for the context. // */ -// #define MQTT_TEST_BUFFER_LENGTH ( 128 ) +// static void setupNetworkBuffer( MQTTFixedBuffer_t * const pNetworkBuffer ) +// { +// pNetworkBuffer->pBuffer = mqttBuffer; +// pNetworkBuffer->size = MQTT_TEST_BUFFER_LENGTH; +// } // /** -// * @brief Sample keep-alive interval that should be greater than 0. +// * @brief Mocked MQTT event callback. +// * +// * @param[in] pContext MQTT context pointer. +// * @param[in] pPacketInfo Packet Info pointer for the incoming packet. +// * @param[in] pDeserializedInfo Deserialized information from the incoming packet. // */ -// #define MQTT_SAMPLE_KEEPALIVE_INTERVAL_S ( 1U ) +// static void eventCallback( MQTTContext_t * pContext, +// MQTTPacketInfo_t * pPacketInfo, +// MQTTDeserializedInfo_t * pDeserializedInfo ) +// { +// ( void ) pContext; +// ( void ) pPacketInfo; +// ( void ) pDeserializedInfo; + +// /* Update the global state to indicate that event callback is invoked. */ +// isEventCallbackInvoked = true; +// } // /** -// * @brief Length of time spent for single test case with -// * multiple iterations spent in the process loop for coverage. +// * @brief A mocked timer query function that increments on every call. This +// * guarantees that only a single iteration runs in the ProcessLoop for ease +// * of testing. // */ -// #define MQTT_SAMPLE_PROCESS_LOOP_TIMEOUT_MS ( 1U ) +// static uint32_t getTime( void ) +// { +// return globalEntryTime++; +// } + +// static int32_t getTimeMockCallLimit = -1; // /** -// * @brief Zero timeout in the process loop implies one iteration. +// * @brief A mocked timer query function that increments on every call. This +// * guarantees that only a single iteration runs in the ProcessLoop for ease +// * of testing. Additionally, this tests whether the number of calls to this +// * function have exceeded than the set limit and asserts. // */ -// #define MQTT_NO_TIMEOUT_MS ( 0U ) +// static uint32_t getTimeMock( void ) +// { +// TEST_ASSERT_GREATER_THAN_INT32( -1, getTimeMockCallLimit-- ); +// return globalEntryTime++; +// } + +// static int32_t getTimeMockBigTimeStepCallLimit = -1; // /** -// * @brief Sample length of remaining serialized data. +// * @brief A mocked timer query function that increments by MQTT_SEND_TIMEOUT_MS +// * to simulate the time consumed by a long running high priority task on every +// * call. Additionally, this tests whether the number of calls to this function +// * have exceeded than the set limit and asserts. // */ -// #define MQTT_SAMPLE_REMAINING_LENGTH ( 64 ) +// static uint32_t getTimeMockBigTimeStep( void ) +// { +// TEST_ASSERT_GREATER_THAN_INT32( -1, getTimeMockBigTimeStepCallLimit-- ); + +// globalEntryTime += MQTT_SEND_TIMEOUT_MS; +// return globalEntryTime; +// } + // /** -// * @brief Subtract this value from max value of global entry time -// * for the timer overflow test. +// * @brief A mocked timer function that could be used on a device with no system +// * time. // */ -// #define MQTT_OVERFLOW_OFFSET ( 3 ) +// static uint32_t getTimeDummy( void ) +// { +// return 0; +// } // /** -// * @brief The number of times the "getTime()" function is called -// * within a single iteration of the #MQTT_ProcessLoop. +// * @brief Mocked successful transport writev. // * -// * This constant is used for the timer overflow test which checks -// * that the API can support normal behavior even if the timer -// * overflows. +// * @param[in] tcpSocket TCP socket. +// * @param[in] pMessage vectors to send +// * @param[in] bytesToWrite number of vectors // * -// * @note Currently, there are 6 calls within a single iteration. -// * This can change when the implementation changes which would be -// * caught through unit test failure. +// * @return Number of bytes sent; negative value on error; +// * 0 for timeout or 0 bytes sent. // */ -// #define MQTT_TIMER_CALLS_PER_ITERATION ( 6 ) +// static int32_t transportWritevSuccess( NetworkContext_t * pNetworkContext, +// TransportOutVector_t * pIoVectorIterator, +// size_t vectorsToBeSent ) +// { +// TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); +// int32_t bytesToWrite = 0; +// size_t i; + +// for( i = 0; i < vectorsToBeSent; ++i ) +// { +// bytesToWrite += pIoVectorIterator->iov_len; +// pIoVectorIterator++; +// } + +// return bytesToWrite; +// } + +// static void verifyEncodedTopicString( TransportOutVector_t * pIoVectorIterator, +// char * pTopicFilter, +// size_t topicFilterLength, +// MQTTQoS_t topicQos, +// int32_t * pBytesToWrite ) +// { +// /* Encoded topic length. */ +// uint8_t serializedLength[ 2 ]; +// const uint8_t * buffer; +// size_t length; + +// serializedLength[ 0 ] = ( uint8_t ) ( topicFilterLength >> 8 ); +// serializedLength[ 1 ] = ( uint8_t ) ( topicFilterLength & 0x00ffU ); + +// buffer = pIoVectorIterator[ 0 ].iov_base; +// length = pIoVectorIterator[ 0 ].iov_len; + +// TEST_ASSERT_EQUAL( 2U, length ); +// TEST_ASSERT_EQUAL_UINT8_ARRAY( serializedLength, buffer, 2U ); +// ( *pBytesToWrite ) += length; + +// buffer = pIoVectorIterator[ 1 ].iov_base; +// length = pIoVectorIterator[ 1 ].iov_len; + +// /* Encoded topic string. */ +// TEST_ASSERT_EQUAL( topicFilterLength, length ); +// TEST_ASSERT_EQUAL_UINT8_ARRAY( pTopicFilter, buffer, topicFilterLength ); +// ( *pBytesToWrite ) += length; + +// buffer = pIoVectorIterator[ 2 ].iov_base; +// length = pIoVectorIterator[ 2 ].iov_len; + +// /* Encoded QoS. */ +// TEST_ASSERT_EQUAL( 1U, length ); +// TEST_ASSERT_EQUAL_UINT8( topicQos, *buffer ); +// ( *pBytesToWrite ) += length; +// } + +// static void verifyEncodedTopicStringUnsubscribe( TransportOutVector_t * pIoVectorIterator, +// char * pTopicFilter, +// size_t topicFilterLength, +// int32_t * pBytesToWrite ) +// { +// /* Encoded topic length. */ +// uint8_t serializedLength[ 2 ]; +// const uint8_t * buffer; +// size_t length; + +// serializedLength[ 0 ] = ( uint8_t ) ( topicFilterLength >> 8 ); +// serializedLength[ 1 ] = ( uint8_t ) ( topicFilterLength & 0x00ffU ); + +// buffer = pIoVectorIterator[ 0 ].iov_base; +// length = pIoVectorIterator[ 0 ].iov_len; + +// TEST_ASSERT_EQUAL( 2U, length ); +// TEST_ASSERT_EQUAL_UINT8_ARRAY( serializedLength, buffer, 2U ); +// ( *pBytesToWrite ) += length; + +// buffer = pIoVectorIterator[ 1 ].iov_base; +// length = pIoVectorIterator[ 1 ].iov_len; + +// /* Encoded topic string. */ +// TEST_ASSERT_EQUAL( topicFilterLength, length ); +// TEST_ASSERT_EQUAL_UINT8_ARRAY( pTopicFilter, buffer, topicFilterLength ); +// ( *pBytesToWrite ) += length; +// } // /** -// * @brief Timeout for the timer overflow test. +// * @brief Mocked transport writev to verify correct subscription +// * packet. +// * +// * @param[in] tcpSocket TCP socket. +// * @param[in] pMessage vectors to send +// * @param[in] bytesToWrite number of vectors +// * +// * @return Number of bytes sent; negative value on error; +// * 0 for timeout or 0 bytes sent. // */ -// #define MQTT_TIMER_OVERFLOW_TIMEOUT_MS ( 10 ) +// static int32_t transportWritevSubscribeSuccess( NetworkContext_t * pNetworkContext, +// TransportOutVector_t * pIoVectorIterator, +// size_t vectorsToBeSent ) +// { +// TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); +// int32_t bytesToWrite = 0; +// static int writeCount = 0; +// const uint8_t * buffer; +// size_t length; + +// /* The header. */ +// if( writeCount == 0 ) +// { +// TEST_ASSERT_EQUAL( 4, vectorsToBeSent ); + +// buffer = pIoVectorIterator->iov_base; +// length = pIoVectorIterator->iov_len; + +// TEST_ASSERT_EQUAL( length, SubscribeHeaderLength ); +// TEST_ASSERT_EQUAL_UINT8_ARRAY( ( uint8_t * ) SubscribeHeader, buffer, SubscribeHeaderLength ); + +// bytesToWrite += length; +// pIoVectorIterator++; + +// /* First topic filter. */ +// verifyEncodedTopicString( pIoVectorIterator, +// MQTT_SAMPLE_TOPIC_FILTER, +// MQTT_SAMPLE_TOPIC_FILTER_LENGTH, +// MQTTQoS1, +// &bytesToWrite ); + +// writeCount++; + +// pIoVectorIterator += 4; +// } +// else if( writeCount == 1 ) +// { +// TEST_ASSERT_EQUAL( 6, vectorsToBeSent ); + +// /* Second topic filter. */ +// verifyEncodedTopicString( pIoVectorIterator, +// MQTT_SAMPLE_TOPIC_FILTER1, +// MQTT_SAMPLE_TOPIC_FILTER_LENGTH1, +// MQTTQoS2, +// &bytesToWrite ); + +// pIoVectorIterator += 3; + +// /* Third topic filter. */ +// verifyEncodedTopicString( pIoVectorIterator, +// MQTT_SAMPLE_TOPIC_FILTER2, +// MQTT_SAMPLE_TOPIC_FILTER_LENGTH2, +// MQTTQoS0, +// &bytesToWrite ); + +// writeCount++; +// } +// else if( writeCount == 2 ) +// { +// TEST_ASSERT_EQUAL( 3, vectorsToBeSent ); + +// /* Fourth topic filter. */ +// verifyEncodedTopicString( pIoVectorIterator, +// MQTT_SAMPLE_TOPIC_FILTER3, +// MQTT_SAMPLE_TOPIC_FILTER_LENGTH3, +// MQTTQoS1, +// &bytesToWrite ); + +// writeCount++; +// } +// else +// { +// bytesToWrite = -1; +// } + +// return bytesToWrite; +// } // /** -// * @brief A sample network context that we set to NULL. +// * @brief Mocked transport writev to verify correct subscription +// * packet. +// * +// * @param[in] tcpSocket TCP socket. +// * @param[in] pMessage vectors to send +// * @param[in] bytesToWrite number of vectors +// * +// * @return Number of bytes sent; negative value on error; +// * 0 for timeout or 0 bytes sent. // */ -// #define MQTT_SAMPLE_NETWORK_CONTEXT ( NULL ) +// static int32_t transportWritevUnsubscribeSuccess( NetworkContext_t * pNetworkContext, +// TransportOutVector_t * pIoVectorIterator, +// size_t vectorsToBeSent ) +// { +// TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); +// int32_t bytesToWrite = 0; +// static int writeCount = 0; +// const uint8_t * buffer; +// size_t length; + +// /* The header. */ +// if( writeCount == 0 ) +// { +// TEST_ASSERT_EQUAL( 5, vectorsToBeSent ); + +// buffer = pIoVectorIterator->iov_base; +// length = pIoVectorIterator->iov_len; + +// TEST_ASSERT_EQUAL( length, UnsubscribeHeaderLength ); +// TEST_ASSERT_EQUAL_UINT8_ARRAY( ( uint8_t * ) UnsubscribeHeader, buffer, UnsubscribeHeaderLength ); + +// bytesToWrite += length; +// pIoVectorIterator++; + +// /* First topic filter. */ +// verifyEncodedTopicStringUnsubscribe( pIoVectorIterator, +// MQTT_SAMPLE_TOPIC_FILTER, +// MQTT_SAMPLE_TOPIC_FILTER_LENGTH, +// &bytesToWrite ); + +// pIoVectorIterator += 2; + +// /* Second topic filter. */ +// verifyEncodedTopicStringUnsubscribe( pIoVectorIterator, +// MQTT_SAMPLE_TOPIC_FILTER1, +// MQTT_SAMPLE_TOPIC_FILTER_LENGTH1, +// &bytesToWrite ); + +// writeCount++; +// } +// else if( writeCount == 1 ) +// { +// TEST_ASSERT_EQUAL( 4, vectorsToBeSent ); + +// /* Third topic filter. */ +// verifyEncodedTopicStringUnsubscribe( pIoVectorIterator, +// MQTT_SAMPLE_TOPIC_FILTER2, +// MQTT_SAMPLE_TOPIC_FILTER_LENGTH2, +// &bytesToWrite ); + +// pIoVectorIterator += 2; + +// /* Fourth topic filter. */ +// verifyEncodedTopicStringUnsubscribe( pIoVectorIterator, +// MQTT_SAMPLE_TOPIC_FILTER3, +// MQTT_SAMPLE_TOPIC_FILTER_LENGTH3, +// &bytesToWrite ); + +// writeCount++; +// } +// else +// { +// bytesToWrite = -1; +// } + +// return bytesToWrite; +// } // /** -// * @brief Sample topic filter to subscribe to. +// * @brief Mocked failed transport writev. +// * +// * @param[in] tcpSocket TCP socket. +// * @param[in] pMessage vectors to send +// * @param[in] bytesToWrite number of vectors +// * +// * @return Number of bytes sent; negative value on error; +// * 0 for timeout or 0 bytes sent. // */ -// #define MQTT_SAMPLE_TOPIC_FILTER "iot" +// static int32_t transportWritevFail( NetworkContext_t * pNetworkContext, +// TransportOutVector_t * pIoVectorIterator, +// size_t vectorsToBeSent ) +// { +// TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); +// int32_t bytesToWrite = 0; +// size_t i; + +// for( i = 0; i < vectorsToBeSent; ++i ) +// { +// bytesToWrite += pIoVectorIterator->iov_len; +// pIoVectorIterator++; +// } + +// return bytesToWrite + 3; +// } + +// static int32_t transportWritevError( NetworkContext_t * pNetworkContext, +// TransportOutVector_t * pIoVectorIterator, +// size_t vectorsToBeSent ) +// { +// ( void ) vectorsToBeSent; +// ( void ) pIoVectorIterator; + +// TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); + +// return -1; +// } // /** -// * @brief Length of sample topic filter. +// * @brief Mocked successful transport send. +// * +// * @param[in] tcpSocket TCP socket. +// * @param[in] pMessage Data to send. +// * @param[in] bytesToWrite Length of data to send. +// * +// * @return Number of bytes sent; negative value on error; +// * 0 for timeout or 0 bytes sent. // */ -// #define MQTT_SAMPLE_TOPIC_FILTER_LENGTH ( sizeof( MQTT_SAMPLE_TOPIC_FILTER ) - 1 ) +// static int32_t transportSendSuccess( NetworkContext_t * pNetworkContext, +// const void * pBuffer, +// size_t bytesToWrite ) +// { +// TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); +// ( void ) pBuffer; +// return bytesToWrite; +// } // /** -// * @brief Sample topic filter to subscribe to. +// * @brief Mocked failed transport send. // */ -// #define MQTT_SAMPLE_TOPIC_FILTER1 "TopicFilter2" +// static int32_t transportSendFailure( NetworkContext_t * pNetworkContext, +// const void * pBuffer, +// size_t bytesToWrite ) +// { +// ( void ) pNetworkContext; +// ( void ) pBuffer; +// ( void ) bytesToWrite; +// return -1; +// } // /** -// * @brief Length of sample topic filter. +// * @brief Mocked transport send that always returns 0 bytes sent. // */ -// #define MQTT_SAMPLE_TOPIC_FILTER_LENGTH1 ( sizeof( MQTT_SAMPLE_TOPIC_FILTER1 ) - 1 ) +// static int32_t transportSendNoBytes( NetworkContext_t * pNetworkContext, +// const void * pBuffer, +// size_t bytesToWrite ) +// { +// ( void ) pNetworkContext; +// ( void ) pBuffer; +// ( void ) bytesToWrite; +// return 0; +// } // /** -// * @brief Sample topic filter to subscribe to. +// * @brief Mocked transport send that succeeds then fails. // */ -// #define MQTT_SAMPLE_TOPIC_FILTER2 "SomeTopic" +// static int32_t transportSendSucceedThenFail( NetworkContext_t * pNetworkContext, +// const void * pMessage, +// size_t bytesToSend ) +// { +// int32_t retVal = bytesToSend; +// static int counter = 0; + +// ( void ) pNetworkContext; +// ( void ) pMessage; + +// if( counter++ ) +// { +// retVal = -1; +// counter = 0; +// } + +// return retVal; +// } // /** -// * @brief Length of sample topic filter. +// * @brief Mocked transport send that only sends half of the bytes. // */ -// #define MQTT_SAMPLE_TOPIC_FILTER_LENGTH2 ( sizeof( MQTT_SAMPLE_TOPIC_FILTER2 ) - 1 ) +// static int32_t transportWritevPartialByte( NetworkContext_t * pNetworkContext, +// TransportOutVector_t * pIoVectorIterator, +// size_t vectorsToBeSent ) +// { +// int32_t bytesToWrite = 0; +// size_t i; + +// ( void ) pNetworkContext; + +// for( i = 0; i < vectorsToBeSent; ++i ) +// { +// bytesToWrite += pIoVectorIterator->iov_len; +// pIoVectorIterator++; +// } + +// if( bytesToWrite > 1 ) +// { +// bytesToWrite /= 2; +// } + +// return bytesToWrite; +// } // /** -// * @brief Sample topic filter to subscribe to. +// * @brief Mocked successful transport read. +// * +// * @param[in] tcpSocket TCP socket. +// * @param[out] pBuffer Buffer for receiving data. +// * @param[in] bytesToRead Size of pBuffer. +// * +// * @return Number of bytes received; negative value on error. // */ -// #define MQTT_SAMPLE_TOPIC_FILTER3 "iotTopicFilter" +// static int32_t transportRecvSuccess( NetworkContext_t * pNetworkContext, +// void * pBuffer, +// size_t bytesToRead ) +// { +// TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); +// ( void ) pBuffer; +// return bytesToRead; +// } + +// static int32_t transportRecvOneSuccessOneFail( NetworkContext_t * pNetworkContext, +// void * pBuffer, +// size_t bytesToRead ) +// { +// TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); +// ( void ) pBuffer; + +// if( receiveOnce == false ) +// { +// receiveOnce = true; +// return bytesToRead; +// } +// else +// { +// return -1; +// } +// } // /** -// * @brief Length of sample topic filter. +// * @brief Mocked failed transport read. // */ -// #define MQTT_SAMPLE_TOPIC_FILTER_LENGTH3 ( sizeof( MQTT_SAMPLE_TOPIC_FILTER3 ) - 1 ) +// static int32_t transportRecvFailure( NetworkContext_t * pNetworkContext, +// void * pBuffer, +// size_t bytesToRead ) +// { +// ( void ) pNetworkContext; +// ( void ) pBuffer; +// ( void ) bytesToRead; +// return -1; +// } // /** -// * @brief Return values of mocked calls in MQTT_ProcessLoop(). Used by -// * `expectProcessLoopCalls` +// * @brief Mocked transport reading one byte at a time. // */ -// typedef struct ProcessLoopReturns +// static int32_t transportRecvOneByte( NetworkContext_t * pNetworkContext, +// void * pBuffer, +// size_t bytesToRead ) // { -// MQTTStatus_t deserializeStatus; /**< @brief Status after deserializing incoming packet. */ -// MQTTPublishState_t stateAfterDeserialize; /**< @brief Publish state after deserializing incoming packet. */ -// MQTTStatus_t updateStateStatus; /**< @brief Status after updating publish state. */ -// MQTTStatus_t serializeStatus; /**< @brief Status after serializing a publish ack to send. */ -// MQTTPublishState_t stateAfterSerialize; /**< @brief Publish state after serializing an ack to send. */ -// MQTTStatus_t processLoopStatus; /**< @brief Return value of the process loop. */ -// bool incomingPublish; /**< @brief Whether the incoming packet is a publish. */ -// MQTTPublishInfo_t * pPubInfo; /**< @brief Publish information to be returned by the deserializer. */ -// uint32_t timeoutMs; /**< @brief The timeout value to call MQTT_ProcessLoop API with. */ -// } ProcessLoopReturns_t; +// ( void ) pNetworkContext; +// ( void ) pBuffer; +// ( void ) bytesToRead; +// return 1; +// } // /** -// * @brief The packet type to be received by the process loop. -// * IMPORTANT: Make sure this is set before calling expectProcessLoopCalls(...). +// * @brief Mocked transport returning zero bytes to simulate reception +// * of no data over network. // */ -// static uint8_t currentPacketType = MQTT_PACKET_TYPE_INVALID; +// static int32_t transportRecvNoData( NetworkContext_t * pNetworkContext, +// void * pBuffer, +// size_t bytesToRead ) +// { +// ( void ) pNetworkContext; +// ( void ) pBuffer; +// ( void ) bytesToRead; +// return 0; +// } // /** -// * @brief The return value of modifyIncomingPacket(...) CMock callback that -// * replaces a call to MQTT_GetIncomingPacketTypeAndLength. -// * IMPORTANT: Make sure this is set before calling expectProcessLoopCalls(...). +// * @brief Initialize the transport interface with the mocked functions for +// * send and receive. +// * +// * @brief param[in] pTransport The transport interface to use with the context. // */ -// static MQTTStatus_t modifyIncomingPacketStatus = MQTTSuccess; +// static void setupTransportInterface( TransportInterface_t * pTransport ) +// { +// pTransport->pNetworkContext = MQTT_SAMPLE_NETWORK_CONTEXT; +// pTransport->send = transportSendSuccess; +// pTransport->recv = transportRecvSuccess; +// pTransport->writev = transportWritevSuccess; +// } // /** -// * @brief Time at the beginning of each test. Note that this is not updated with -// * a real clock. Instead, we simply increment this variable. +// * @brief Initialize pSubscribeInfo using test-defined macros. +// * +// * @param[in] pSubscribeInfo Pointer to MQTT subscription info. // */ -// static uint32_t globalEntryTime = 0; +// static void setupSubscriptionInfo( MQTTSubscribeInfo_t * pSubscribeInfo ) +// { +// pSubscribeInfo->qos = MQTTQoS1; +// pSubscribeInfo->pTopicFilter = MQTT_SAMPLE_TOPIC_FILTER; +// pSubscribeInfo->topicFilterLength = MQTT_SAMPLE_TOPIC_FILTER_LENGTH; +// } // /** -// * @brief A static buffer used by the MQTT library for storing packet data. +// * @brief Zero out a #ProcessLoopReturns_t. +// * +// * @param[in] pExpectParams Pointer to struct to reset. // */ -// static uint8_t mqttBuffer[ MQTT_TEST_BUFFER_LENGTH ] = { 0 }; +// static void resetProcessLoopParams( ProcessLoopReturns_t * pExpectParams ) +// { +// pExpectParams->deserializeStatus = MQTTSuccess; +// pExpectParams->stateAfterDeserialize = MQTTStateNull; +// pExpectParams->updateStateStatus = MQTTSuccess; +// pExpectParams->serializeStatus = MQTTSuccess; +// pExpectParams->stateAfterSerialize = MQTTStateNull; +// pExpectParams->processLoopStatus = MQTTSuccess; +// pExpectParams->incomingPublish = false; +// pExpectParams->pPubInfo = NULL; +// pExpectParams->timeoutMs = MQTT_NO_TIMEOUT_MS; +// } // /** -// * @brief A flag to indicate whether event callback is called from -// * MQTT_ProcessLoop. +// * @brief create default context +// * +// * @param[out] context to initialize // */ -// static bool isEventCallbackInvoked = false; -// static bool receiveOnce = false; - -// static const uint8_t SubscribeHeader[] = +// static void setUPContext( MQTTContext_t * mqttContext ) // { -// MQTT_PACKET_TYPE_SUBSCRIBE, /* Subscribe header. */ -// 0x10, 0x10, /* Packet Length. */ -// ( MQTT_FIRST_VALID_PACKET_ID >> 8 ), -// ( ( MQTT_FIRST_VALID_PACKET_ID ) & 0x00ffU ) /* Packet ID. */ -// }; -// static const size_t SubscribeHeaderLength = 5U; - -// static const uint8_t UnsubscribeHeader[] = -// { -// MQTT_PACKET_TYPE_UNSUBSCRIBE, /* Subscribe header. */ -// 0x12, 0x15, /* Packet Length. */ -// ( MQTT_FIRST_VALID_PACKET_ID >> 8 ), -// ( ( MQTT_FIRST_VALID_PACKET_ID ) & 0x00ffU ) /* Packet ID. */ -// }; -// static const size_t UnsubscribeHeaderLength = 5U; +// MQTTStatus_t mqttStatus; +// static TransportInterface_t transport = { 0 }; +// static MQTTFixedBuffer_t networkBuffer = { 0 }; +// static MQTTPubAckInfo_t incomingRecords[ 10 ] = { 0 }; +// static MQTTPubAckInfo_t outgoingRecords[ 10 ] = { 0 }; -// /* ============================ UNITY FIXTURES ============================ */ +// setupTransportInterface( &transport ); +// setupNetworkBuffer( &networkBuffer ); -// /* Called before each test method. */ -// void setUp() -// { -// memset( mqttBuffer, 0x0, sizeof( mqttBuffer ) ); -// MQTT_State_strerror_IgnoreAndReturn( "DUMMY_MQTT_STATE" ); +// memset( mqttContext, 0x0, sizeof( MQTTContext_t ) ); -// globalEntryTime = 0; -// } +// mqttStatus = MQTT_Init( mqttContext, +// &transport, +// getTime, +// eventCallback, +// &networkBuffer ); +// TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); -// /* Called after each test method. */ -// void tearDown() -// { +// mqttStatus = MQTT_InitStatefulQoS( mqttContext, +// outgoingRecords, +// 10, +// incomingRecords, +// 10 ); +// TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); // } -// /* Called at the beginning of the whole suite. */ -// void suiteSetUp() +// /** +// * @brief This helper function is used to expect any calls from the process loop +// * to mocked functions belonging to an external header file. Its parameters +// * are used to provide return values for these mocked functions. +// */ +// static void expectProcessLoopCalls( MQTTContext_t * const pContext, +// ProcessLoopReturns_t * pExpectParams ) // { -// receiveOnce = 0; +// MQTTStatus_t mqttStatus = MQTTSuccess; +// MQTTPacketInfo_t incomingPacket = { 0 }; +// size_t pingreqSize = MQTT_PACKET_PINGREQ_SIZE; +// bool expectMoreCalls = true; +// /* Copy values passed in the parameter struct. */ +// MQTTStatus_t deserializeStatus = pExpectParams->deserializeStatus; +// MQTTPublishState_t stateAfterDeserialize = pExpectParams->stateAfterDeserialize; +// MQTTStatus_t updateStateStatus = pExpectParams->updateStateStatus; +// MQTTStatus_t serializeStatus = pExpectParams->serializeStatus; +// MQTTPublishState_t stateAfterSerialize = pExpectParams->stateAfterSerialize; +// MQTTStatus_t processLoopStatus = pExpectParams->processLoopStatus; +// bool incomingPublish = pExpectParams->incomingPublish; +// MQTTPublishInfo_t * pPubInfo = pExpectParams->pPubInfo; +// uint32_t packetTxTimeoutMs = 0U; + +// /* Modify incoming packet depending on type to be tested. */ +// incomingPacket.type = currentPacketType; +// incomingPacket.remainingLength = MQTT_SAMPLE_REMAINING_LENGTH; +// incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; + +// MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); +// MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); + +// /* More calls are expected only with the following packet types. */ +// if( ( currentPacketType != MQTT_PACKET_TYPE_PUBLISH ) && +// ( currentPacketType != MQTT_PACKET_TYPE_PUBACK ) && +// ( currentPacketType != MQTT_PACKET_TYPE_PUBREC ) && +// ( currentPacketType != MQTT_PACKET_TYPE_PUBREL ) && +// ( currentPacketType != MQTT_PACKET_TYPE_PUBCOMP ) && +// ( currentPacketType != MQTT_PACKET_TYPE_PINGRESP ) && +// ( currentPacketType != MQTT_PACKET_TYPE_SUBACK ) && +// ( currentPacketType != MQTT_PACKET_TYPE_UNSUBACK ) ) +// { +// expectMoreCalls = false; +// } + +// /* When no data is available, the process loop tries to send a PINGREQ. */ +// if( modifyIncomingPacketStatus == MQTTNoDataAvailable ) +// { +// packetTxTimeoutMs = 1000U * ( uint32_t ) pContext->keepAliveIntervalSec; + +// if( PACKET_TX_TIMEOUT_MS < packetTxTimeoutMs ) +// { +// packetTxTimeoutMs = PACKET_TX_TIMEOUT_MS; +// } + +// if( pContext->waitingForPingResp == false ) +// { +// if( ( ( packetTxTimeoutMs != 0U ) && +// ( ( globalEntryTime - pContext->lastPacketTxTime ) >= packetTxTimeoutMs ) ) || +// ( ( PACKET_RX_TIMEOUT_MS != 0U ) && +// ( ( globalEntryTime - pContext->lastPacketRxTime ) >= PACKET_RX_TIMEOUT_MS ) ) ) +// { +// MQTT_GetPingreqPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); +// /* Replace pointer parameter being passed to the method. */ +// MQTT_GetPingreqPacketSize_ReturnThruPtr_pPacketSize( &pingreqSize ); +// MQTT_SerializePingreq_ExpectAnyArgsAndReturn( serializeStatus ); +// } +// } + +// expectMoreCalls = false; +// } + +// /* Deserialize based on the packet type (PUB or ACK) being received. */ +// if( expectMoreCalls ) +// { +// if( incomingPublish ) +// { +// MQTT_DeserializePublish_ExpectAnyArgsAndReturn( deserializeStatus ); + +// if( pPubInfo != NULL ) +// { +// MQTT_DeserializePublish_ReturnThruPtr_pPublishInfo( pPubInfo ); +// } +// } +// else +// { +// MQTT_DeserializeAck_ExpectAnyArgsAndReturn( deserializeStatus ); +// } + +// if( ( deserializeStatus != MQTTSuccess ) || +// ( currentPacketType == MQTT_PACKET_TYPE_PINGRESP ) || +// ( currentPacketType == MQTT_PACKET_TYPE_SUBACK ) || +// ( currentPacketType == MQTT_PACKET_TYPE_UNSUBACK ) ) +// { +// expectMoreCalls = false; +// } +// } + +// /* Update state based on the packet type (PUB or ACK) being received. */ +// if( expectMoreCalls ) +// { +// if( incomingPublish ) +// { +// MQTT_UpdateStatePublish_ExpectAnyArgsAndReturn( updateStateStatus ); +// MQTT_UpdateStatePublish_ReturnThruPtr_pNewState( &stateAfterDeserialize ); +// } +// else +// { +// MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( updateStateStatus ); +// MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterDeserialize ); +// } + +// if( stateAfterDeserialize == MQTTPublishDone ) +// { +// expectMoreCalls = false; +// } +// else +// { +// switch( updateStateStatus ) +// { +// case MQTTSuccess: +// expectMoreCalls = true; +// break; + +// case MQTTStateCollision: +// /* Execution will continue regardless of the dup flag. */ +// expectMoreCalls = true; +// MQTT_CalculateStatePublish_ExpectAnyArgsAndReturn( stateAfterDeserialize ); +// break; + +// default: +// expectMoreCalls = false; +// } +// } +// } + +// /* Serialize the packet to be sent in response to the received packet. */ +// if( expectMoreCalls ) +// { +// MQTT_SerializeAck_ExpectAnyArgsAndReturn( serializeStatus ); + +// if( serializeStatus != MQTTSuccess ) +// { +// expectMoreCalls = false; +// } +// } + +// /* Update the state based on the sent packet. */ +// if( expectMoreCalls ) +// { +// MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( ( stateAfterSerialize == MQTTStateNull ) ? +// MQTTIllegalState : MQTTSuccess ); +// MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterSerialize ); +// } + +// /* Expect the above calls when running MQTT_ProcessLoop. */ + +// mqttStatus = MQTT_ProcessLoop( pContext ); +// TEST_ASSERT_EQUAL( processLoopStatus, mqttStatus ); + +// /* Any final assertions to end the test. */ +// if( mqttStatus == MQTTSuccess ) +// { +// if( currentPacketType == MQTT_PACKET_TYPE_PUBLISH ) +// { +// TEST_ASSERT_TRUE( pContext->controlPacketSent ); +// } + +// if( currentPacketType == MQTT_PACKET_TYPE_PINGRESP ) +// { +// TEST_ASSERT_FALSE( pContext->waitingForPingResp ); +// } +// } // } -// /* Called at the end of the whole suite. */ -// int suiteTearDown( int numFailures ) +// void test_MQTT_Connect() // { -// return numFailures; -// } +// MQTTContext_t mqttContext = { 0 }; +// MQTTConnectInfo_t connectInfo = { 0 }; +// bool sessionPresent = false; +// MQTTStatus_t status; +// TransportInterface_t transport = { 0 }; +// MQTTFixedBuffer_t networkBuffer = { 0 }; +// MQTTPacketInfo_t incomingPacket = { 0 }; + +// setupTransportInterface( &transport ); +// setupNetworkBuffer( &networkBuffer ); + +// memset( &mqttContext, 0x0, sizeof( mqttContext ) ); +// MQTT_Init( &mqttContext, &transport, getTime, eventCallback, &networkBuffer ); +// // No connect Properties +// status = MQTT_Connect( &mqttContext, &connectInfo, NULL, 0U, &sessionPresent ); +// TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); -// /* ========================================================================== */ + + +// mqttContext.connectStatus = MQTTNotConnected; +// mqttContext.keepAliveIntervalSec = 0; +// incomingPacket.type = MQTT_PACKET_TYPE_CONNACK; +// incomingPacket.remainingLength = 2; + +// } From e8d6048af2b202bde92cb74800ef27cd316c9962 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 18 Jun 2024 07:02:01 +0000 Subject: [PATCH 12/82] Serialize api --- source/core_mqtt.c | 51 +- source/core_mqtt_serializer.c | 466 +++++++++++++++--- source/include/core_mqtt_serializer.h | 47 +- .../MQTTv5/core_mqttv5_serializer_utest.c | 49 +- 4 files changed, 516 insertions(+), 97 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index ce6c25f0a..7e89dfb2a 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -2946,43 +2946,20 @@ MQTTStatus_t MQTT_Connect(MQTTContext_t *pContext, (void *)pSessionPresent)); status = MQTTBadParameter; } - -#if (MQTT_VERSION_5_ENABLED) - if (status == MQTTSuccess) - { - if (pContext->connectProperties == NULL) - { - // LogError( ( "Argument cannot be NULL: connectProperties=%p,", - // ( void * ) pContext->connectProperties, - // )); - status = MQTTBadParameter; - } - else if (pContext->connectProperties->outgoingAuth != NULL && pContext->connectProperties->incomingAuth == NULL) - { - // LogError( ( "Argument cannot be NULL: incomingAuth=%p, ", - // ( void * ) pContext->connectProperties->incomingAuth, - // )); - status = MQTTBadParameter; - } - else - { - } - } - if (status == MQTTSuccess) - { - status = MQTT_GetConnectPropertiesSize(pContext->connectProperties); - remainingLength += pContext->connectProperties->propertyLength; - remainingLength += remainingLengthEncodedSize(pContext->connectProperties->propertyLength); - if (status == MQTTSuccess && pWillInfo != NULL) - { - status = MQTT_GetWillPropertiesSize(pWillInfo, pContext->connectProperties->willDelay); - remainingLength += pWillInfo->propertyLength; - remainingLength += remainingLengthEncodedSize(pWillInfo->propertyLength); - } - } -#endif - if (status == MQTTSuccess) + if (status == MQTTSuccess) { +#if (MQTT_VERSION_5_ENABLED) + /* Get MQTT connect packet size and remaining length. */ + status = MQTT_GetConnectPacketSizeV5(pConnectInfo, + pWillInfo, + pContext->connectProperties, + &remainingLength, + &packetSize); + LogDebug(("CONNECT packet size is %lu and remaining length is %lu.", + (unsigned long)packetSize, + (unsigned long)remainingLength)); +#else + /* Get MQTT connect packet size and remaining length. */ status = MQTT_GetConnectPacketSize(pConnectInfo, pWillInfo, @@ -2991,8 +2968,8 @@ MQTTStatus_t MQTT_Connect(MQTTContext_t *pContext, LogDebug(("CONNECT packet size is %lu and remaining length is %lu.", (unsigned long)packetSize, (unsigned long)remainingLength)); +#endif } - if (status == MQTTSuccess) { MQTT_PRE_SEND_HOOK(pContext); diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 32b42af52..91659ccd6 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -143,6 +143,7 @@ #define CORE_MQTT_ID_SIZE ( 1U ) + #endif /** @@ -542,11 +543,151 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti bool* pSessionPresent); +static MQTTStatus_t logConnackResponseV5(uint8_t responseCode); + +MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, + const MQTTPublishInfo_t* pWillInfo, + const MQTTConnectProperties_t *pConnectProperties, + size_t remainingLength, + const MQTTFixedBuffer_t* pFixedBuffer); +static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, + const MQTTPublishInfo_t* pWillInfo, + MQTTConnectProperties_t*pConnectProperties, + size_t remainingLength, + const MQTTFixedBuffer_t* pFixedBuffer); +static uint8_t* serializeUserProperties(uint8_t * pIndex,const MQTTUserProperty_t* pUserProperty, uint16_t size); /*-----------------------------------------------------------*/ +MQTTStatus_t MQTT_GetConnectPacketSizeV5(const MQTTConnectInfo_t* pConnectInfo, + const MQTTPublishInfo_t* pWillInfo, + MQTTConnectProperties_t* pConnectProperties, + size_t* pRemainingLength, + size_t* pPacketSize) +{ + MQTTStatus_t status = MQTTSuccess; + size_t remainingLength; + + /* The CONNECT packet will always include a 10-byte variable header. */ + size_t connectPacketSize = MQTT_PACKET_CONNECT_HEADER_SIZE; + + /* Validate arguments. */ + if ((pConnectInfo == NULL) || (pRemainingLength == NULL) || + (pPacketSize == NULL)) + { + LogError(("Argument cannot be NULL: pConnectInfo=%p, " + "pRemainingLength=%p, pPacketSize=%p.", + (void*)pConnectInfo, + (void*)pRemainingLength, + (void*)pPacketSize)); + status = MQTTBadParameter; + } + else if ((pConnectInfo->clientIdentifierLength == 0U) || (pConnectInfo->pClientIdentifier == NULL)) + { + LogError(("Mqtt_GetConnectPacketSize() client identifier must be set.")); + status = MQTTBadParameter; + } + else if ((pWillInfo != NULL) && (pWillInfo->payloadLength > (size_t)UINT16_MAX)) + { + /* The MQTTPublishInfo_t is reused for the will message. The payload + * length for any other message could be larger than 65,535, but + * the will message length is required to be represented in 2 bytes. + * By bounding the payloadLength of the will message, the CONNECT + * packet will never be larger than 327699 bytes. */ + LogError(("The Will Message length must not exceed %d. " + "pWillInfo->payloadLength=%lu.", + UINT16_MAX, + (unsigned long)pWillInfo->payloadLength)); + status = MQTTBadParameter; + } + else if (pContext->connectProperties == NULL) + { + // LogError( ( "Argument cannot be NULL: connectProperties=%p,", + // ( void * ) pContext->connectProperties, + // )); + status = MQTTBadParameter; + } + else if (pContext->connectProperties->outgoingAuth != NULL && pContext->connectProperties->incomingAuth == NULL) + { + // LogError( ( "Argument cannot be NULL: incomingAuth=%p, ", + // ( void * ) pContext->connectProperties->incomingAuth, + // )); + status = MQTTBadParameter; + } + else + { + /* Add the connect properties size. */ + status = MQTT_GetConnectPropertiesSize(pContext->connectProperties); + } + if(status== MQTTSuccess){ + connectPacketSize += pContext->connectProperties->propertyLength; + connectPacketSize += remainingLengthEncodedSize(pContext->connectProperties->propertyLength); + /* Add the length of the client identifier. */ + connectPacketSize += pConnectInfo->clientIdentifierLength + sizeof(uint16_t); + + /* Add the lengths of the will message and topic name if provided. */ + if (pWillInfo != NULL) + { + status = MQTT_GetWillPropertiesSize(pWillInfo, pContext->connectProperties->willDelay); + } + } + if(status==MQTTSuccess){ + if(willInfo!=NULL){ + connectPacketSize += pWillInfo->propertyLength; + connectPacketSize += remainingLengthEncodedSize(pWillInfo->propertyLength); + connectPacketSize += pWillInfo->topicNameLength + sizeof(uint16_t) + + pWillInfo->payloadLength + sizeof(uint16_t); + } + + /* Add the lengths of the user name and password if provided. */ + if (pConnectInfo->pUserName != NULL) + { + connectPacketSize += pConnectInfo->userNameLength + sizeof(uint16_t); + } + + if (pConnectInfo->pPassword != NULL) + { + connectPacketSize += pConnectInfo->passwordLength + sizeof(uint16_t); + } + + + /* At this point, the "Remaining Length" field of the MQTT CONNECT packet has + * been calculated. */ + remainingLength = connectPacketSize; + + /* Calculate the full size of the MQTT CONNECT packet by adding the size of + * the "Remaining Length" field plus 1 byte for the "Packet Type" field. */ + connectPacketSize += 1U + remainingLengthEncodedSize(connectPacketSize); + + /* The connectPacketSize calculated from this function's parameters is + * guaranteed to be less than the maximum MQTT CONNECT packet size, which + * is 327700. If the maximum client identifier length, the maximum will + * message topic length, the maximum will topic payload length, the + * maximum username length, and the maximum password length are all present + * in the MQTT CONNECT packet, the total size will be calculated to be + * 327699: + * (variable length header)10 + + * (maximum client identifier length) 65535 + (encoded length) 2 + + * (maximum will message topic name length) 65535 + (encoded length)2 + + * (maximum will message payload length) 65535 + 2 + + * (maximum username length) 65535 + (encoded length) 2 + + * (maximum password length) 65535 + (encoded length) 2 + + * (packet type field length) 1 + + * (CONNECT packet encoded length) 3 = 327699 */ + + *pRemainingLength = remainingLength; + *pPacketSize = connectPacketSize; + + LogDebug(("CONNECT packet remaining length=%lu and packet size=%lu.", + (unsigned long)*pRemainingLength, + (unsigned long)*pPacketSize)); + } + + + return status; +} uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t* pPublishInfo, uint8_t* pIndex, uint32_t willDelay) { uint8_t* pIndexLocal = pIndex; @@ -805,6 +946,263 @@ uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex, const MQTTConnectPrope } return pIndexLocal; } +static uint8_t* serializeUserProperties(uint8_t * pIndex,const MQTTUserProperty_t* pUserProperty, uint16_t size){ + uint16_t i = 0; + for (; i < size; i++) + { + *pIndex = MQTT_USER_PROPERTY_ID; + pIndex++; + pIndex = encodeString(pIndex,(pUserProperty+i)->key,(pUserProperty+i)->keyLength); + pIndex = encodeString(pIndex,(pUserProperty+i)->value,(pUserProperty+i)->valueLength); + } + return pIndex; +} + + +static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, + const MQTTPublishInfo_t* pWillInfo, + MQTTConnectProperties_t* pConnectProperties, + size_t remainingLength, + const MQTTFixedBuffer_t* pFixedBuffer) +{ + uint8_t* pIndex = NULL; + + assert(pConnectInfo != NULL); + assert(pFixedBuffer != NULL); + assert(pFixedBuffer->pBuffer != NULL); + + pIndex = pFixedBuffer->pBuffer; + + /* Serialize the header. */ + pIndex = MQTT_SerializeConnectFixedHeader(pIndex, + pConnectInfo, + pWillInfo, + remainingLength); + + /* Serialize the Properties. */ + + pIndex= MQTT_SerializeConnectProperties(pIndex,pConnectProperties); + + if( pConnectProperties->outgoingUserPropSize >0){ + pIndex= serializeUserProperties(pIndex, pConnectProperties->outgoingUserProperty, pConnectProperties->outgoingUserPropSize); + } + + MQTTAuthInfo_t *pAuthInfo = pConnectProperties->outgoingAuth; + if (pAuthInfo != NULL) + { + /* Serialize the authentication method string. */ + *pIndex = MQTT_AUTH_METHOD_ID; + pIndex++; + pIndex = encodeString(pIndex,pAuthInfo->authMethod,pAuthInfo->authMethodLength); + if (pAuthInfo->authDataLength != 0U) + { + *pIndex = MQTT_AUTH_DATA_ID; + pIndex++; + pIndex = encodeString(pIndex,pAuthInfo->authData,pAuthInfo->authDataLength); + } + } + + /* Write the client identifier into the CONNECT packet. */ + pIndex = encodeString(pIndex, + pConnectInfo->pClientIdentifier, + pConnectInfo->clientIdentifierLength); + + /* Write the will properties,topic name and message into the CONNECT packet if provided. */ + if (pWillInfo != NULL) + { + pIndex= MQTT_SerializePublishProperties(pWillInfo,pIndex,pConnectProperties->willDelay); + if (pWillInfo->contentTypeLength != 0U) + { + *pIndex = MQTT_CONTENT_TYPE_ID; + pIndex++; + pIndex = encodeString(pIndex,pWillInfo->contentType,pWillInfo->contentTypeLength); + } + if (pWillInfo->responseTopicLength != 0U) + { + *pIndex = MQTT_RESPONSE_TOPIC_ID; + pIndex++; + pIndex = encodeString(pIndex,pWillInfo->responseTopic,pWillInfo->responseTopicLength); + } + if (pWillInfo->correlationLength != 0U) + { + *pIndex = MQTT_CORRELATION_DATA_ID; + pIndex++; + pIndex = encodeString(pIndex,pWillInfo->correlationData,pWillInfo->correlationLength); + } + if (pWillInfo->userPropertySize != 0) + { + pIndex = serializeUserProperties(pIndex,pWillInfo->userProperty,pWillInfo->userPropertySize); + } + pIndex = encodeString(pIndex, pWillInfo->pTopicName,pWillInfo->topicNameLength); + pIndex = encodeString(pIndex,pWillInfo->pPayload,(uint16_t)pWillInfo->payloadLength); + + } + /* Encode the user name if provided. */ + if (pConnectInfo->pUserName != NULL) + { + pIndex = encodeString(pIndex, pConnectInfo->pUserName, pConnectInfo->userNameLength); + } + + /* Encode the password if provided. */ + if (pConnectInfo->pPassword != NULL) + { + pIndex = encodeString(pIndex, pConnectInfo->pPassword, pConnectInfo->passwordLength); + } + + LogDebug(("Length of serialized CONNECT packet is %lu.", + ((unsigned long)(pIndex - pFixedBuffer->pBuffer)))); + + /* Ensure that the difference between the end and beginning of the buffer + * is less than the buffer size. */ + assert(((size_t)(pIndex - pFixedBuffer->pBuffer)) <= pFixedBuffer->size); +} + + +MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, + const MQTTPublishInfo_t* pWillInfo, + const MQTTConnectProperties_t *pConnectProperties, + size_t remainingLength, + const MQTTFixedBuffer_t* pFixedBuffer) +{ + MQTTStatus_t status = MQTTSuccess; + size_t connectPacketSize = 0; + + /* Validate arguments. */ + if ((pConnectInfo == NULL) || (pFixedBuffer == NULL)) + { + LogError(("Argument cannot be NULL: pConnectInfo=%p, " + "pFixedBuffer=%p.", + (void*)pConnectInfo, + (void*)pFixedBuffer)); + status = MQTTBadParameter; + } + /* A buffer must be configured for serialization. */ + else if (pFixedBuffer->pBuffer == NULL) + { + LogError(("Argument cannot be NULL: pFixedBuffer->pBuffer is NULL.")); + status = MQTTBadParameter; + } + else if ((pWillInfo != NULL) && (pWillInfo->pTopicName == NULL)) + { + LogError(("pWillInfo->pTopicName cannot be NULL if Will is present.")); + status = MQTTBadParameter; + } + + else if (pConnectProperties == NULL) + { + // LogError( ( "Argument cannot be NULL: connectProperties=%p,", + // ( void * ) pContext->connectProperties, + // )); + status = MQTTBadParameter; + } + else if (pConnectProperties->outgoingAuth != NULL && pConnectProperties->incomingAuth == NULL) + { + // LogError( ( "Argument cannot be NULL: incomingAuth=%p, ", + // ( void * ) pContext->connectProperties->incomingAuth, + // )); + status = MQTTBadParameter; + } + else + { + /* Calculate CONNECT packet size. Overflow in in this addition is not checked + * because it is part of the API contract to call Mqtt_GetConnectPacketSize() + * before this function. */ + connectPacketSize = remainingLength + remainingLengthEncodedSize(remainingLength) + 1U; + + /* Check that the full packet size fits within the given buffer. */ + if (connectPacketSize > pFixedBuffer->size) + { + LogError(("Buffer size of %lu is not sufficient to hold " + "serialized CONNECT packet of size of %lu.", + (unsigned long)pFixedBuffer->size, + (unsigned long)connectPacketSize)); + status = MQTTNoMemory; + } + else + { + serializeConnectPacketV5(pConnectInfo, + pWillInfo, + pConnectProperties, + remainingLength, + pFixedBuffer); + } + } + + return status; +} + + static MQTTStatus_t logConnackResponseV5(uint8_t responseCode){ + + MQTTStatus_t status= MQTTBadParametr; + switch(responseCode){ + case MQTT_REASON_UNSPECIFIED_ERR : + LogError("Connection refused: Unspecified error"); + break; + case MQTT_REASON_MALFORMED_PACKET : + LogError("Connection refused: Malformed Packet."); + break; + case MQTT_REASON_PROTOCOL_ERR: + LogError("Connection refused: Protocol Error."); + break; + case MQTT_REASON_IMPL_SPECIFIC_ERR : + LogError("Connection refused: Impementation specific error."); + break; + case MQTT_REASON_UNSUP_PROTO_VER : + LogError("Connection refused: Unsupported Protocol Version."); + break; + case MQTT_REASON_CLIENT_ID_NOT_VALID : + LogError( "Connection refused: Client Identifier not valid."); + break; + case MQTT_REASON_BAD_USER_OR_PASS : + LogError("Connection refused: Bad User Name or Password."); + break; + case MQTT_REASON_NOT_AUTHORIZED : + LogError("Connection refused: Not authorized."); + break; + case MQTT_REASON_SERVER_UNAVAILABLE : + LogError "Connection refused: Server unavailable."); + break; + case MQTT_REASON_SERVER_BUSY : + LogError( "Connection refused: Server busy." ); + break; + case MQTT_REASON_BANNED : + LogError("Connection refused: Banned."); + break; + case MQTT_REASON_BAD_AUTH_METHOD : + LogError("Connection refused: Bad authentication method."); + break; + case MQTT_REASON_TOPIC_NAME_INVALID : + LogError("Connection refused: Topic Name invalid."); + break; + case MQTT_REASON_PACKET_TOO_LARGE : + LogError( "Connection refused: Packet too large ."); + break; + case MQTT_REASON_QUOTA_EXCEEDED : + LogError("Connection refused: Quota exceeded."); + break; + case MQTT_REASON_PAYLOAD_FORMAT_INVALID : + LogError( "Connection refused: Payload format invalid." ); + break; + case MQTT_REASON_RETAIN_NOT_SUPPORTED : + LogError("Connection refused: Retain not supported."); + break; + case MQTT_REASON_QOS_NOT_SUPPORTED : + LogError("Connection refused: QoS not supported."); + break; + case MQTT_REASON_USE_ANOTHER_SERVER : + LogError("Connection refused: Use another server." ); + break; + case MQTT_REASON_SERVER_MOVED : + LogError("Connection refused: Server moved."); + break; + case MQTT_REASON_CON_RATE_EXCEED : + LogError("Connection refused: Connection rate exceeded."); + break; + default: + status= MQTTProtocolError; + } + return status; +} static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacket, bool* pSessionPresent) @@ -868,7 +1266,8 @@ static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacke if (status == MQTTSuccess) { /* In MQTT 5, only values 0 , 80 through 9F are valid CONNACK response codes. */ - if (pRemainingData[1] != 0u && (pRemainingData[1] < 0x80 || pRemainingData[1]>0x9F)) + // Change this + if (pRemainingData[1] != 0u && (pRemainingData[1] < 0x80 || pRemainingData[1]>0x9F || pRemainingData[1]==0x8B)) { LogError(("CONNACK response %u is invalid.", (unsigned int)pRemainingData[1])); @@ -956,8 +1355,14 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti bool* pSessionPresent) { + MQTTStatus_t status = MQTTSuccess; - status = validateConnackParams(pIncomingPacket, pSessionPresent); + if(pConnackProperties==NULL){ + status=MQTTBadParameter; + } + if(status==MQTTSuccess){ + status = validateConnackParams(pIncomingPacket, pSessionPresent); + } size_t propertyLength = 0U; size_t remainingLengthSize=0U; uint8_t* pVariableHeader = NULL; @@ -1931,7 +2336,6 @@ static MQTTStatus_t processPublishFlags(uint8_t publishFlags, } /*-----------------------------------------------------------*/ -#if (!MQTT_VERSION_5_ENABLED) static void logConnackResponse(uint8_t responseCode) { @@ -1963,57 +2367,6 @@ static void logConnackResponse(uint8_t responseCode) } } -#else - -static void logConnackResponse(uint8_t responseCode) -{ - - const char* const pConnackResponses[6] = - { - "Connection refused: Unspecified error.", /* 0 */ - "Connection refused: Malformed Packet.", /* 1 */ - "Connection refused: Protocol Error.", /* 2 */ - "Connection refused: Impementation specific error.", /* 3 */ - "Connection refused: Unsupported Protocol Version.", /* 4 */ - "Connection refused: Client Identifier not valid." /* 5 */ - "Connection refused: Bad User Name or Password." /* 6 */ - "Connection refused: Not authorized." /* 7 */ - "Connection refused: Server unavailable." /* 8 */ - "Connection refused: Server busy." /* 9 */ - "Connection refused: Banned." /* 10 */ - "Connection refused: Bad authentication method." /* 11 */ - "Connection refused: Topic Name invalid." /* 12 */ - "Connection refused: Packet too large ." /* 13 */ - "Connection refused: Quota exceeded." /* 14 */ - "Connection refused: Payload format invalid." /* 15 */ - "Connection refused: Retain not supported." /* 16 */ - "Connection refused: QoS not supported." /* 17 */ - "Connection refused: Use another server." /* 18 */ - "Connection refused: Server moved." /* 19 */ - "Connection refused: Connection rate exceeded." /* 20 */ - - - }; - - /* Avoid unused parameter warning when assert and logs are disabled. */ - (void)responseCode; - (void)pConnackResponses; - if (responseCode == 0u) - { - /* Log at Debug level for a success CONNACK response. */ - LogDebug("The Connection is accepted"); - } - else - { - responseCode -= 128; - assert(responseCode <= 20); - assert(responseCode >= 0); - /* Log an error based on the CONNACK response code. */ - LogError(("%s", pConnackResponses[responseCode])); - } -} - -#endif /*-----------------------------------------------------------*/ static MQTTStatus_t deserializeConnack(const MQTTPacketInfo_t* pConnack, @@ -2588,6 +2941,7 @@ static void serializeConnectPacket(const MQTTConnectInfo_t* pConnectInfo, pWillInfo, remainingLength); + /* Write the client identifier into the CONNECT packet. */ pIndex = encodeString(pIndex, pConnectInfo->pClientIdentifier, @@ -2714,8 +3068,8 @@ MQTTStatus_t MQTT_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, * (packet type field length) 1 + * (CONNECT packet encoded length) 3 = 327699 */ - *pRemainingLength += remainingLength; - *pPacketSize += connectPacketSize; + *pRemainingLength = remainingLength; + *pPacketSize = connectPacketSize; LogDebug(("CONNECT packet remaining length=%lu and packet size=%lu.", (unsigned long)*pRemainingLength, diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index 12c1a25d2..53a17202b 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -116,6 +116,44 @@ typedef enum MQTTStatus } MQTTStatus_t; +typedef enum ReasonCode { + MQTT_REASON_UNSPECIFIED_ERR = 0x80, + MQTT_REASON_MALFORMED_PACKET = 0x81, + MQTT_REASON_PROTOCOL_ERR = 0x82, + MQTT_REASON_IMPL_SPECIFIC_ERR = 0x83, + MQTT_REASON_UNSUP_PROTO_VER = 0x84, + MQTT_REASON_CLIENT_ID_NOT_VALID = 0x85, + MQTT_REASON_BAD_USER_OR_PASS = 0x86, + MQTT_REASON_NOT_AUTHORIZED = 0x87, + MQTT_REASON_SERVER_UNAVAILABLE = 0x88, + MQTT_REASON_SERVER_BUSY = 0x89, + MQTT_REASON_BANNED = 0x8A, + MQTT_REASON_SERVER_SHUTTING_DOWN = 0x8B, + MQTT_REASON_BAD_AUTH_METHOD = 0x8C, + MQTT_REASON_KEEP_ALIVE_TIMEOUT = 0x8D, + MQTT_REASON_SESSION_TAKEN_OVER = 0x8E, + MQTT_REASON_TOPIC_FILTER_INVALID = 0x8F, + MQTT_REASON_TOPIC_NAME_INVALID = 0x90, + MQTT_REASON_PACKET_ID_IN_USE = 0x91, + MQTT_REASON_PACKET_ID_NOT_FOUND = 0x92, + MQTT_REASON_RX_MAX_EXCEEDED = 0x93, + MQTT_REASON_TOPIC_ALIAS_INVALID = 0x94, + MQTT_REASON_PACKET_TOO_LARGE = 0x95, + MQTT_REASON_MSG_RATE_TOO_HIGH = 0x96, + MQTT_REASON_QUOTA_EXCEEDED = 0x97, + MQTT_REASON_ADMIN_ACTION = 0x98, + MQTT_REASON_PAYLOAD_FORMAT_INVALID = 0x99, + MQTT_REASON_RETAIN_NOT_SUPPORTED = 0x9A, + MQTT_REASON_QOS_NOT_SUPPORTED = 0x9B, + MQTT_REASON_USE_ANOTHER_SERVER = 0x9C, + MQTT_REASON_SERVER_MOVED = 0x9D, + MQTT_REASON_SS_NOT_SUPPORTED = 0x9E, + MQTT_REASON_CON_RATE_EXCEED = 0x9F, + MQTT_REASON_MAX_CON_TIME = 0xA0, + MQTT_REASON_SUB_ID_NOT_SUP = 0xA1, + MQTT_REASON_WILDCARD_SUB_NOT_SUP = 0xA2 +}ReasonCode_t; + /** * @ingroup mqtt_enum_types @@ -1388,7 +1426,6 @@ uint8_t * MQTT_SerializeUnsubscribeHeader( size_t remainingLength, /** @endcond */ -// #if(MQTT_VERSION_5_ENABLED) MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t * userProperty, uint16_t size,size_t *length); @@ -1407,8 +1444,12 @@ MQTTStatus_t decodeVariableLength( const uint8_t * pBuffer, size_t* length); MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackProperties,const MQTTPacketInfo_t * pIncomingPacket, bool * pSessionPresent ); - -// #endif + +MQTTStatus_t MQTT_GetConnectPacketSizeV5(const MQTTConnectInfo_t* pConnectInfo, + const MQTTPublishInfo_t* pWillInfo, + MQTTConnectProperties_t* pConnectProperties, + size_t* pRemainingLength, + size_t* pPacketSize); /* *INDENT-OFF* */ #ifdef __cplusplus diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index 93d1e083b..33cb881f6 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -170,7 +170,7 @@ struct NetworkContext #define UINT32_BYTE0( x ) ( ( uint8_t ) ( ( x ) & 0x000000FFU ) ) -#define MQTT_VERSION_5 (5U) +#define MQTT_VERSION_5 (5U) #define MQTT_SESSION_EXPIRY_SIZE (5U) #define MQTT_RECEIVE_MAX_SIZE (3U) #define MQTT_MAX_PACKET_SIZE (5U) @@ -567,7 +567,54 @@ void test_MQTT_SerializePublishProperties(void){ } void test_MQTTV5_DeserializeConnackOnlyStatus(void){ + MQTTPacketInfo_t packetInfo; + MQTTConnectProperties_t properties; + MQTTStatus_t status; + uint8_t buffer[50]; + uint8_t* index= buffer; + memset(&properties, 0x0, sizeof(properties)); + memset(&packetInfo, 0x0, sizeof(packetInfo)); + status = MQTTV5_DeserializeConnack(NULL,NULL,NULL); + TEST_ASSERT_EQUAL(MQTTBadParameter,status); + + bool sessionPresent; + status = MQTTV5_DeserializeConnack(NULL,&packetInfo,&sessionPresent); + TEST_ASSERT_EQUAL(MQTTBadParameter,status); + + status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); + TEST_ASSERT_EQUAL(MQTTBadParameter,status); + + packetInfo.type=MQTT_PACKET_TYPE_CONNACK; + status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); + TEST_ASSERT_EQUAL(MQTTBadParameter,status); + + packetInfo.pRemainingData=index; + packetInfo.type =MQTT_PACKET_TYPE_CONNECT; + status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); + TEST_ASSERT_EQUAL(MQTTBadParameter,status); +/* +* Session Present Bit is set but reason code is not equal to 0; +*/ + buffer[0] = 0x01; + buffer[1] = 0x01; + packetInfo.type=MQTT_PACKET_TYPE_CONNACK; + status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); + TEST_ASSERT_EQUAL(MQTTBadResponse,status); + + buffer[0] = 0x00; + status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); + TEST_ASSERT_EQUAL(MQTTSuccess,status); + TEST_ASSERT_EQUAL(false,sessionPresent); + + buffer[1] = 0x01; + status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); + TEST_ASSERT_EQUAL(MQTTSuccess,status); + TEST_ASSERT_EQUAL(true,sessionPresent); + + + buffer[1] = 0x01; + From dd04115254eb8b68306fb8ce5276a2c4007154ff Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 18 Jun 2024 21:17:31 +0000 Subject: [PATCH 13/82] Comments and deserialize test --- source/core_mqtt.c | 109 +- source/core_mqtt_serializer.c | 312 +-- source/include/core_mqtt_serializer.h | 161 +- .../MQTTv5/core_mqttv5_serializer_utest.c | 1760 ++++++++++++++++- 4 files changed, 2094 insertions(+), 248 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 7e89dfb2a..111bb010e 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -90,6 +90,7 @@ #define CORE_MQTT_UNSUBSCRIBE_PER_TOPIC_VECTOR_LENGTH (2U) #if (MQTT_VERSION_5_ENABLED) +/*Connect and will packet id's*/ #define MQTT_USER_PROPERTY_ID (0x26) #define MQTT_AUTH_METHOD_ID (0x15) #define MQTT_AUTH_DATA_ID (0x16) @@ -190,6 +191,11 @@ static int32_t sendMessageVector(MQTTContext_t *pContext, * * @return The number of vectors added. */ +static size_t addEncodedStringToVector( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ], + const char * const string, + uint16_t length, + TransportOutVector_t * iterator, + size_t * updatedLength ); /** * @brief Send MQTT SUBSCRIBE message without copying the user data into a buffer and @@ -550,22 +556,36 @@ static bool matchTopicFilter(const char *pTopicName, const char *pTopicFilter, uint16_t topicFilterLength); -size_t addEncodedStringToVector(uint8_t serializedLength[CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES], - const char *const string, - uint16_t length, - TransportOutVector_t *iterator, - size_t *updatedLength); #if (MQTT_VERSION_5_ENABLED) -size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES], +/** + * @brief Add a string ,its length and its id after serializing it in a manner outlined by + * the MQTT specification. + * + * @param[in] serializedLength Array of two bytes to which the vector will point. + * The array must remain in scope until the message has been sent. + * @param[in] string The string to be serialized. + * @param[in] length The length of the string to be serialized. + * @param[in] iterator The iterator pointing to the first element in the + * transport interface IO array. + * @param[out] updatedLength This parameter will be added to with the number of + * bytes added to the vector. + *@param[in] packetId Pointer to one byte used to add packet Id to the packet which must + * remain in scope until the message is sent. + * + * @return The number of vectors added. + */ + +static size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES], const char *const string, uint16_t length, TransportOutVector_t *iterator, size_t *updatedLength, uint8_t* packetId); +/*-----------------------------------------------------------*/ -size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES], +static size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES], const char *const string, uint16_t length, TransportOutVector_t *iterator, @@ -575,18 +595,17 @@ size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_SERIALI TransportOutVector_t *pLocalIterator = iterator; size_t vectorsAdded = 0U; - /* When length is non-zero, the string must be non-NULL. */ - assert((length != 0U) ? (string != NULL) : true); - - serializedLength[0] = ((uint8_t)((length) >> 8)); - serializedLength[1] = ((uint8_t)((length) & 0x00ffU)); - - /* Add the packet id first. */ + /* Add the packet Id. */ pLocalIterator[0].iov_base = packetId; pLocalIterator[0].iov_len = CORE_MQTT_ID_SIZE; vectorsAdded++; packetLength = CORE_MQTT_ID_SIZE; + /* When length is non-zero, the string must be non-NULL. */ + assert((length != 0U) ? (string != NULL) : true); + serializedLength[0] = ((uint8_t)((length) >> 8)); + serializedLength[1] = ((uint8_t)((length) & 0x00ffU)); + /* Add the serialized length of the string. */ pLocalIterator[1].iov_base = serializedLength; pLocalIterator[1].iov_len = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; @@ -2257,17 +2276,23 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, uint8_t connectPacketHeader[15U]; #else - /*Properties - * Properties length- max- 4 - *Session Expiry - 5 - * receive Maximum - 3 - * Max packet Size 5 - * Topic Alias Maximum - 3 - * Request response Information- 2 - * Request problem Information-2 - * User property- MAX USER PROPERTY- separate vector - * Authentication Data- UTF-8 so separate vector for method and data. - * Total- 24 + /* Maximum number of bytes required by the fixed part of the CONNECT + * packet header according to the MQTT specification. + * MQTT Control Byte 0 + 1 = 1 + * Remaining length (max) + 4 = 5 + * Protocol Name Length + 2 = 7 + * Protocol Name (MQTT) + 4 = 11 + * Protocol level + 1 = 12 + * Connect flags + 1 = 13 + * Keep alive + 2 = 15 + * Properties length + 4 = 19 + * Session Expiry + 5 = 24 + * receive Maximum + 3 = 27 + * Max packet Size + 5 = 32 + * Topic Alias Maximum + 3 = 35 + * Request response Information + 2 = 37 + * Request problem Information + 2 = 39 + * Total- 39 */ uint8_t connectPacketHeader[39U]; @@ -2303,9 +2328,9 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, #else /* * - * User Property- 5* Max userProperty - * Authentication- 6 - * 10 + 5*Max user for wiill properties + * User Property- 11 + 5* Max userProperty + * Authentication 17 + 5* Max userProperty + * Will Properties 27 + 10* Max userProperty * */ TransportOutVector_t pIoVector[27 + 10 * MAX_USER_PROPERTY]; @@ -2346,7 +2371,7 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, ioVectorLength++; #if (MQTT_VERSION_5_ENABLED) - // User Properties + /*Encode the user Properties if provided*/ if (pContext->connectProperties->outgoingUserPropSize != 0) { @@ -2356,24 +2381,27 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, for (; i < size; i++) { userId[i]=MQTT_USER_PROPERTY_ID; + /* Serialize the user key string. */ vectorsAdded = addEncodedStringToVectorWithId(serializedUserKeyLength[i], userProperty[i].key, userProperty[i].keyLength, iterator, &totalMessageLength,&userId[i]); + /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; - + /* Serialize the user value string. */ vectorsAdded = addEncodedStringToVector(serializedUserValueLength[i], userProperty[i].value, userProperty[i].valueLength, iterator, &totalMessageLength); + /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; } - + /*Encodethe authentication method and data if provided*/ MQTTAuthInfo_t *pAuthInfo = pContext->connectProperties->outgoingAuth; if (pAuthInfo != NULL) { @@ -2389,6 +2417,7 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, ioVectorLength += vectorsAdded; if (pAuthInfo->authDataLength != 0U) { + /* Serialize the authentication data string. */ vectorsAdded = addEncodedStringToVectorWithId(serializedAuthDataLength, pAuthInfo->authData, pAuthInfo->authDataLength, @@ -2419,47 +2448,55 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, if (pWillInfo != NULL) { #if (MQTT_VERSION_5_ENABLED) - // Add the will properties - // 4 byte + 4 byte delay + 2 byte payload format + 6 byte + /*Serialize the will properties*/ pIndex = fixedSizeProperties; - pIndex = MQTT_SerializePublishProperties(pWillInfo, pIndex, pContext->connectProperties->willDelay); + pIndex = MQTT_SerializePublishProperties(pWillInfo, pIndex); iterator->iov_base = fixedSizeProperties; iterator->iov_len = (size_t)(pIndex - fixedSizeProperties); totalMessageLength += iterator->iov_len; iterator++; ioVectorLength++; - + /* Encode the content type if provided. */ if (pWillInfo->contentTypeLength != 0U) { + /* Serialize the content type string. */ vectorsAdded = addEncodedStringToVectorWithId(serializedContentTypeLength, pWillInfo->contentType, pWillInfo->contentTypeLength, iterator, &totalMessageLength, &contentTypeId); + /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; } + /* Encode the response topic if provided. */ if (pWillInfo->responseTopicLength != 0U) { + /* Serialize the response topic string. */ vectorsAdded = addEncodedStringToVectorWithId(serializedResponseTopicLength, pWillInfo->responseTopic, pWillInfo->responseTopicLength, iterator, &totalMessageLength, &responseTopicId); + /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; } + /* Encode the correlation lenght if provided. */ if (pWillInfo->correlationLength != 0U) { + /* Serialize the correlation data string. */ vectorsAdded = addEncodedStringToVectorWithId(serailizedCorrelationLength, pWillInfo->correlationData, pWillInfo->correlationLength, iterator, &totalMessageLength, &correlationDataId); + /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; } + /* Encode the user properties if provided. */ if (pWillInfo->userPropertySize != 0) { uint16_t i = 0; @@ -2473,6 +2510,7 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, userProperty[i].keyLength, iterator, &totalMessageLength, &willUserId[i]); + /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; @@ -2481,6 +2519,7 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, userProperty[i].valueLength, iterator, &totalMessageLength); + /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 91659ccd6..76cbccfd6 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -108,6 +108,7 @@ #define MQTT_REQUEST_RESPONSE_SIZE (2U) #define MQTT_REQUEST_PPOBLEM_SIZE (2U) +/*CONNECT PROPERTIES*/ #define MQTT_SESSION_EXPIRY_ID (0x11) #define MQTT_RECEIVE_MAX_ID (0x21) #define MQTT_MAX_PACKET_SIZE_ID (0x27) @@ -119,8 +120,7 @@ #define MQTT_AUTH_DATA_ID (0x16) - - // WILL PROPERTIES +/*WILL PROPERTIES*/ #define MQTT_WILL_DELAY_ID (0x18) #define MQTT_PAYLOAD_FORMAT_ID (0x01) #define MQTT_MSG_EXPIRY_ID (0x02) @@ -129,7 +129,7 @@ #define MQTT_CORRELATION_DATA_ID (0x09) -// CONNECT PROPERTIES +/*CONNACK PROPERTIES*/ #define MQTT_MAX_QOS_ID (0x24) #define MQTT_RETAIN_AVAILABLE_ID (0x25) #define MQTT_ASSIGNED_CLIENT_ID (0x12) @@ -179,18 +179,28 @@ ( ( uint16_t ) ptr[ 1 ] ) ) #if (MQTT_VERSION_5_ENABLED) - + /** + * @brief Get the 4th byte of a 32-bit unsigned integer. + */ #define UINT32_BYTE3( x ) ( ( uint8_t ) ( ( x ) >> 24 ) ) - + /** + * @brief Get the 3rd byte of a 32-bit unsigned integer. + */ #define UINT32_BYTE2( x ) ( ( uint8_t ) ( ( x ) >> 16 ) ) - + /** + * @brief Get the 2nd byte of a 32-bit unsigned integer. + */ #define UINT32_BYTE1( x ) ( ( uint8_t ) ( ( x ) >> 8 ) ) - + /** + * @brief Get the 1st byte of a 32-bit unsigned integer. + */ #define UINT32_BYTE0( x ) ( ( uint8_t ) ( ( x ) & 0x000000FFU ) ) /** - * @brief Get the low byte of a 16-bit unsigned integer. - */ + * @brief Macro for decoding a 4-byte unsigned int from a sequence of bytes. + * + * @param[in] ptr A uint8_t* that points to the high byte. + */ #define UINT32_DECODE( ptr ) \ ( uint32_t ) ( ( ( ( uint32_t ) ptr[ 0 ] ) << 8 ) | \ ( ( ( uint32_t ) ptr[ 1 ] ) << 16 ) | \ @@ -520,57 +530,120 @@ static MQTTStatus_t deserializePingresp(const MQTTPacketInfo_t* pPingresp); #if (MQTT_VERSION_5_ENABLED) +/** + * @brief Get the size of user properties. + * + * Validates the user properties and calculates the total size of user property. + * + * @param[in] pUserProperty Pointer to an MQTT packet struct representing user properties. + * @param[in] number Total number of user properties + * @param[out] size Size of the user properties + * + * @return #MQTTSuccess if user properties are valid and #MQTTBadParametr if the user properties are not valid + */ +static MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* pUserProperty, uint16_t number, size_t* size); -MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* userProperty, uint16_t size, size_t* length); - - -MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProperties); +/** + * @brief Get the size of connect properties. + * + * Validates the connect properties, calculates the total size of connect properties and stores it int MQTTConnectProperties_t. + * + * @param[in] pConnectProperties Pointer to an MQTT packet struct representing connect properties. + * + * @return #MQTTSuccess if connect properties are valid and #MQTTBadParametr if the connect properties are not valid. + */ -MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pConnectProperties, - uint32_t willDelay); +static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProperties); -uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex, const MQTTConnectProperties_t* pConnectProperties); +/** + * @brief Get the size of connect properties. + * + * Validates the will properties,calculates the total size of will properties and stores it in MQTTPublishInfo_t. + * + * @param[in] pConnectProperties Pointer to an MQTT packet struct representing will properties. + * + * @return #MQTTSuccess if will properties are valid and #MQTTBadParametr if the will properties are not valid. + */ -uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t* pPublishInfo, uint8_t* pIndex, uint32_t willDelay); +static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillProperties); -MQTTStatus_t decodeVariableLength(const uint8_t* pBuffer, size_t* length); +/** + * @brief decodes the variable length by reading a single byte at a time. + * + * Uses the algorithm provided in the spec. + * + * @param[in] pBuffer Pointer to the buffer. + * @param[out] length Decoded variable length + * + * @return #MQTTSuccess if variable length and paramters are valid else #MQTTBadParamter. + */ +static MQTTStatus_t decodeVariableLength(const uint8_t* pBuffer, size_t* length); +/** + * @brief Validate the connack parameters. + * + * Converts the packet from a stream of bytes to an #MQTTStatus_t and extracts + * the variable header without connack properties. + * + * @param[in] pIncoming Pointer to an MQTT packet struct representing a incoming packet. + * @param[in] pSessionPresent Pointer to a bool representing whether a session is present or not. + * + * + * @return #MQTTSuccess if connack without connack properties is valid; #MQTTBadResponse if the Connack + * packet doesn't follow MQTT spec. + */ static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacket, bool* pSessionPresent); -MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperties, const MQTTPacketInfo_t* pIncomingPacket, - - bool* pSessionPresent); - +/** + * @brief Prints the appropriate message for the CONNACK response code if logs + * are enabled. + * + * @param[in] responseCode MQTT Verion 5 standard CONNACK response code. + * + * @return MQTTServerRefused if response code is valid and MQTTProtocol if responseCode is invalid. + */ static MQTTStatus_t logConnackResponseV5(uint8_t responseCode); -MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, - const MQTTPublishInfo_t* pWillInfo, - const MQTTConnectProperties_t *pConnectProperties, - size_t remainingLength, - const MQTTFixedBuffer_t* pFixedBuffer); + +/** + * @brief Serialize an MQTT CONNECT packet in the given buffer. + * + * @param[in] pConnectInfo MQTT CONNECT packet parameters. + * @param[in] pWillInfo Last Will and Testament. Pass NULL if not used. + * @param[in] pConnectProperties MQTT CONNECT Prroperties parameters. + * @param[in] remainingLength Remaining Length of MQTT CONNECT packet. + * @param[out] pFixedBuffer Buffer for packet serialization. + */ static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, const MQTTPublishInfo_t* pWillInfo, - MQTTConnectProperties_t*pConnectProperties, + const MQTTConnectProperties_t*pConnectProperties, size_t remainingLength, const MQTTFixedBuffer_t* pFixedBuffer); +/** + * @brief Serialize User Properties in the given buffer. + * + * @param[in] pIndex ponter to the given buffer. + * @param[in] pUserProperty User Property parameters. + * @param[in] size Number of user properties + */ static uint8_t* serializeUserProperties(uint8_t * pIndex,const MQTTUserProperty_t* pUserProperty, uint16_t size); /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetConnectPacketSizeV5(const MQTTConnectInfo_t* pConnectInfo, +MQTTStatus_t MQTTV5_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, const MQTTPublishInfo_t* pWillInfo, - MQTTConnectProperties_t* pConnectProperties, + const MQTTConnectProperties_t* pConnectProperties, size_t* pRemainingLength, size_t* pPacketSize) { MQTTStatus_t status = MQTTSuccess; size_t remainingLength; - /* The CONNECT packet will always include a 10-byte variable header. */ + /* The CONNECT packet will always include a 10-byte variable header without connect properties. */ size_t connectPacketSize = MQTT_PACKET_CONNECT_HEADER_SIZE; /* Validate arguments. */ @@ -593,23 +666,21 @@ MQTTStatus_t MQTT_GetConnectPacketSizeV5(const MQTTConnectInfo_t* pConnectInfo, { /* The MQTTPublishInfo_t is reused for the will message. The payload * length for any other message could be larger than 65,535, but - * the will message length is required to be represented in 2 bytes. - * By bounding the payloadLength of the will message, the CONNECT - * packet will never be larger than 327699 bytes. */ + * the will message length is required to be represented in 2 bytes.*/ LogError(("The Will Message length must not exceed %d. " "pWillInfo->payloadLength=%lu.", UINT16_MAX, (unsigned long)pWillInfo->payloadLength)); status = MQTTBadParameter; } - else if (pContext->connectProperties == NULL) + else if (pConnectProperties == NULL) { // LogError( ( "Argument cannot be NULL: connectProperties=%p,", // ( void * ) pContext->connectProperties, // )); status = MQTTBadParameter; } - else if (pContext->connectProperties->outgoingAuth != NULL && pContext->connectProperties->incomingAuth == NULL) + else if (pConnectProperties->outgoingAuth != NULL && pConnectProperties->incomingAuth == NULL) { // LogError( ( "Argument cannot be NULL: incomingAuth=%p, ", // ( void * ) pContext->connectProperties->incomingAuth, @@ -619,22 +690,22 @@ MQTTStatus_t MQTT_GetConnectPacketSizeV5(const MQTTConnectInfo_t* pConnectInfo, else { /* Add the connect properties size. */ - status = MQTT_GetConnectPropertiesSize(pContext->connectProperties); + status = MQTT_GetConnectPropertiesSize(pConnectProperties); } if(status== MQTTSuccess){ - connectPacketSize += pContext->connectProperties->propertyLength; - connectPacketSize += remainingLengthEncodedSize(pContext->connectProperties->propertyLength); + connectPacketSize += pConnectProperties->propertyLength; + connectPacketSize += remainingLengthEncodedSize(pConnectProperties->propertyLength); /* Add the length of the client identifier. */ connectPacketSize += pConnectInfo->clientIdentifierLength + sizeof(uint16_t); - - /* Add the lengths of the will message and topic name if provided. */ + /* Add the lengths of the will properties if provided. */ if (pWillInfo != NULL) { - status = MQTT_GetWillPropertiesSize(pWillInfo, pContext->connectProperties->willDelay); + status = MQTT_GetWillPropertiesSize(pWillInfo); } } if(status==MQTTSuccess){ - if(willInfo!=NULL){ + /* Add the lengths of the will message and topic name if provided. */ + if(pWillInfo!=NULL){ connectPacketSize += pWillInfo->propertyLength; connectPacketSize += remainingLengthEncodedSize(pWillInfo->propertyLength); connectPacketSize += pWillInfo->topicNameLength + sizeof(uint16_t) + @@ -661,22 +732,16 @@ MQTTStatus_t MQTT_GetConnectPacketSizeV5(const MQTTConnectInfo_t* pConnectInfo, * the "Remaining Length" field plus 1 byte for the "Packet Type" field. */ connectPacketSize += 1U + remainingLengthEncodedSize(connectPacketSize); - /* The connectPacketSize calculated from this function's parameters is - * guaranteed to be less than the maximum MQTT CONNECT packet size, which - * is 327700. If the maximum client identifier length, the maximum will - * message topic length, the maximum will topic payload length, the - * maximum username length, and the maximum password length are all present - * in the MQTT CONNECT packet, the total size will be calculated to be - * 327699: - * (variable length header)10 + - * (maximum client identifier length) 65535 + (encoded length) 2 + - * (maximum will message topic name length) 65535 + (encoded length)2 + - * (maximum will message payload length) 65535 + 2 + - * (maximum username length) 65535 + (encoded length) 2 + - * (maximum password length) 65535 + (encoded length) 2 + - * (packet type field length) 1 + - * (CONNECT packet encoded length) 3 = 327699 */ - + /** + * 268,435,455 - max remaining length according to spec MQTT-v5; + * + * */ + if(remainingLength> MQTT_MAX_REMAINING_LENGTH){ + status= MQTTBadParameter; + } + + } + if(status==MQTTSuccess){ *pRemainingLength = remainingLength; *pPacketSize = connectPacketSize; @@ -684,22 +749,21 @@ MQTTStatus_t MQTT_GetConnectPacketSizeV5(const MQTTConnectInfo_t* pConnectInfo, (unsigned long)*pRemainingLength, (unsigned long)*pPacketSize)); } - return status; } -uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t* pPublishInfo, uint8_t* pIndex, uint32_t willDelay) { +uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t* pPublishInfo, uint8_t* pIndex) { uint8_t* pIndexLocal = pIndex; pIndexLocal = encodeRemainingLength(pIndexLocal, pPublishInfo->propertyLength); - if (willDelay != 0U) + if (pPublishInfo->willDelay != 0U) { *pIndexLocal = MQTT_WILL_DELAY_ID; pIndexLocal++; - pIndexLocal[0] = UINT32_BYTE3(willDelay); - pIndexLocal[1] = UINT32_BYTE2(willDelay); - pIndexLocal[2] = UINT32_BYTE1(willDelay); - pIndexLocal[3] = UINT32_BYTE0(willDelay); + pIndexLocal[0] = UINT32_BYTE3(pPublishInfo->willDelay); + pIndexLocal[1] = UINT32_BYTE2(pPublishInfo->willDelay); + pIndexLocal[2] = UINT32_BYTE1(pPublishInfo->willDelay); + pIndexLocal[3] = UINT32_BYTE0(pPublishInfo->willDelay); pIndexLocal = &pIndexLocal[4]; } if (pPublishInfo->payloadFormat != 0) @@ -726,23 +790,24 @@ uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t* pPublishInfo, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* userProperty, uint16_t size, size_t* length) { +static MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* pUserProperty, uint16_t number, size_t* size) { MQTTStatus_t status = MQTTSuccess; uint16_t i = 0; - if (size > MAX_USER_PROPERTY || length == NULL) { + /*Number of user properties can't be more than the max user properties specified*/ + if (number > MAX_USER_PROPERTY || size == NULL) { status = MQTTBadParameter; } - else if (size != 0 && userProperty == NULL) { + else if (number != 0 && pUserProperty == NULL) { status = MQTTBadParameter; } else { - for (;i < size && status == MQTTSuccess;i++) { - if ((userProperty + i) == NULL || (userProperty + i)->keyLength == 0 || (userProperty + i)->valueLength == 0 || (userProperty + i)->key == NULL || (userProperty + i)->value == NULL) { + for (;i < number && status == MQTTSuccess;i++) { + if ((pUserProperty + i) == NULL || (pUserProperty + i)->keyLength == 0 || (pUserProperty + i)->valueLength == 0 || (pUserProperty + i)->key == NULL || (pUserProperty + i)->value == NULL) { status = MQTTBadParameter; } else{ - *length += (userProperty + i)->keyLength + 3U; - *length += (userProperty + i)->valueLength + 2U; + *size += (pUserProperty + i)->keyLength + 3U; + *size += (pUserProperty + i)->valueLength + 2U; } } } @@ -750,10 +815,11 @@ MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* userProperty, uint16_t } -MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProperties) +static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProperties) { size_t propertyLength = 0; MQTTStatus_t status = MQTTSuccess; + /*Validate the arguments*/ if(pConnectProperties==NULL){ status=MQTTBadParameter; } @@ -761,16 +827,16 @@ MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProp status=MQTTBadParameter; } else{ + /*Add the lengths of the parameters if applicable*/ if (pConnectProperties->sessionExpiry != 0) { - // 4U + 1U propertyLength += MQTT_SESSION_EXPIRY_SIZE; } if (pConnectProperties->receiveMax != UINT16_MAX) { propertyLength += MQTT_RECEIVE_MAX_SIZE; } - if (pConnectProperties->maxPacketSize != UINT32_MAX) + if (pConnectProperties->isMaxPacketSize != false) { propertyLength += MQTT_MAX_PACKET_SIZE; } @@ -788,9 +854,11 @@ MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProp } if (pConnectProperties->outgoingAuth != NULL) { + /*Incoming auth cannot be NULL*/ if(pConnectProperties->incomingAuth==NULL){ status=MQTTBadParameter; } + /*Valid authentication parameters*/ else if (pConnectProperties->outgoingAuth->authMethodLength == 0U && pConnectProperties->outgoingAuth->authDataLength != 0U) { status = MQTTBadParameter; @@ -814,10 +882,12 @@ MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProp } } } + /*Get the length of the user properties*/ if (status == MQTTSuccess && pConnectProperties->outgoingUserPropSize != 0) { status = MQTT_GetUserPropertySize(pConnectProperties->outgoingUserProperty, pConnectProperties->outgoingUserPropSize, &propertyLength); } - if (status == MQTTSuccess && pConnectProperties->propertyLength > UINT16_MAX) { + /*Variable length encoded values cannot have valued more than 268435455U*/ + if (status == MQTTSuccess && pConnectProperties->propertyLength > MQTT_MAX_REMAINING_LENGTH) { status = MQTTBadParameter; } if(status==MQTTSuccess){ @@ -828,16 +898,17 @@ MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProp } -MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillProperties, - uint32_t willDelay) +static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillProperties) { size_t willLength = 0U; MQTTStatus_t status = MQTTSuccess; + /*Validate the arguments*/ if(pWillProperties==NULL){ status=MQTTBadParameter; } else{ - if (willDelay != 0U) + /*Add the length of all the parameters which are applicable*/ + if (pWillProperties->willDelay != 0U) { willLength += 5U; } @@ -859,7 +930,7 @@ MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillProperties, } } } - + /*Validate if length and pointers are valid*/ if(status==MQTTSuccess && pWillProperties->responseTopicLength != 0U){ if(pWillProperties->responseTopic==NULL){ status= MQTTBadParameter; @@ -877,14 +948,16 @@ MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillProperties, willLength += pWillProperties->correlationLength + 3U; } } + /*Get the length of user properties*/ if(status==MQTTSuccess){ status = MQTT_GetUserPropertySize(pWillProperties->userProperty, pWillProperties->userPropertySize, &willLength); } - if (willLength > UINT16_MAX || status !=MQTTSuccess) { + /*Variable encoded can't have a value more than 268435455UL*/ + if (willLength > MQTT_MAX_REMAINING_LENGTH) { status = MQTTBadParameter; } if(status==MQTTSuccess){ - pWillProperties->propertyLength = willLength; + pWillProperties->propertyLength = willLength; } return status; } @@ -911,7 +984,7 @@ uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex, const MQTTConnectPrope pIndexLocal[1] = UINT16_LOW_BYTE(pConnectProperties->receiveMax); pIndexLocal = &pIndexLocal[2]; } - if (pConnectProperties->maxPacketSize != UINT32_MAX) + if (pConnectProperties->isMaxPacketSize == true) { *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; pIndexLocal++; @@ -948,28 +1021,30 @@ uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex, const MQTTConnectPrope } static uint8_t* serializeUserProperties(uint8_t * pIndex,const MQTTUserProperty_t* pUserProperty, uint16_t size){ uint16_t i = 0; + assert(pIndex!=NULL); + uint8_t* pIndexLocal = pIndex; for (; i < size; i++) { - *pIndex = MQTT_USER_PROPERTY_ID; - pIndex++; - pIndex = encodeString(pIndex,(pUserProperty+i)->key,(pUserProperty+i)->keyLength); - pIndex = encodeString(pIndex,(pUserProperty+i)->value,(pUserProperty+i)->valueLength); + *pIndexLocal = MQTT_USER_PROPERTY_ID; + pIndexLocal++; + pIndexLocal = encodeString(pIndexLocal,(pUserProperty+i)->key,(pUserProperty+i)->keyLength); + pIndexLocal = encodeString(pIndexLocal,(pUserProperty+i)->value,(pUserProperty+i)->valueLength); } - return pIndex; + return pIndexLocal; } static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, const MQTTPublishInfo_t* pWillInfo, - MQTTConnectProperties_t* pConnectProperties, + const MQTTConnectProperties_t* pConnectProperties, size_t remainingLength, const MQTTFixedBuffer_t* pFixedBuffer) { uint8_t* pIndex = NULL; - assert(pConnectInfo != NULL); assert(pFixedBuffer != NULL); assert(pFixedBuffer->pBuffer != NULL); + assert(pConnectProperties != NULL); pIndex = pFixedBuffer->pBuffer; @@ -979,8 +1054,7 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, pWillInfo, remainingLength); - /* Serialize the Properties. */ - + /* Serialize the connect Properties. */ pIndex= MQTT_SerializeConnectProperties(pIndex,pConnectProperties); if( pConnectProperties->outgoingUserPropSize >0){ @@ -1007,10 +1081,10 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, pConnectInfo->pClientIdentifier, pConnectInfo->clientIdentifierLength); - /* Write the will properties,topic name and message into the CONNECT packet if provided. */ + /* Serialze the will properties,topic name and message into the CONNECT packet if provided. */ if (pWillInfo != NULL) { - pIndex= MQTT_SerializePublishProperties(pWillInfo,pIndex,pConnectProperties->willDelay); + pIndex= MQTT_SerializePublishProperties(pWillInfo,pIndex); if (pWillInfo->contentTypeLength != 0U) { *pIndex = MQTT_CONTENT_TYPE_ID; @@ -1095,13 +1169,6 @@ MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, // )); status = MQTTBadParameter; } - else if (pConnectProperties->outgoingAuth != NULL && pConnectProperties->incomingAuth == NULL) - { - // LogError( ( "Argument cannot be NULL: incomingAuth=%p, ", - // ( void * ) pContext->connectProperties->incomingAuth, - // )); - status = MQTTBadParameter; - } else { /* Calculate CONNECT packet size. Overflow in in this addition is not checked @@ -1133,7 +1200,7 @@ MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, static MQTTStatus_t logConnackResponseV5(uint8_t responseCode){ - MQTTStatus_t status= MQTTBadParametr; + MQTTStatus_t status= MQTTServerRefused; switch(responseCode){ case MQTT_REASON_UNSPECIFIED_ERR : LogError("Connection refused: Unspecified error"); @@ -1160,7 +1227,7 @@ MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, LogError("Connection refused: Not authorized."); break; case MQTT_REASON_SERVER_UNAVAILABLE : - LogError "Connection refused: Server unavailable."); + LogError("Connection refused: Server unavailable."); break; case MQTT_REASON_SERVER_BUSY : LogError( "Connection refused: Server busy." ); @@ -1267,25 +1334,10 @@ static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacke { /* In MQTT 5, only values 0 , 80 through 9F are valid CONNACK response codes. */ // Change this - if (pRemainingData[1] != 0u && (pRemainingData[1] < 0x80 || pRemainingData[1]>0x9F || pRemainingData[1]==0x8B)) - { - LogError(("CONNACK response %u is invalid.", - (unsigned int)pRemainingData[1])); - - status = MQTTBadResponse; + if(pRemainingData[1]!=0u){ + status= logConnackResponseV5(pRemainingData[1]); } - else - { - /* Print the appropriate message for the CONNACK response code if logs are - * enabled. */ - logConnackResponse(pRemainingData[1]); - /* A nonzero CONNACK response code means the connection was refused. */ - if (pRemainingData[1] > 0U) - { - status = MQTTServerRefused; - } - } } } @@ -1369,20 +1421,16 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti if (status == MQTTSuccess) { pVariableHeader = pIncomingPacket->pRemainingData; pVariableHeader = &pVariableHeader[2]; - remainingLengthSize = remainingLengthEncodedSize(pIncomingPacket->remainingLength); - pVariableHeader = &pVariableHeader[remainingLengthSize]; + remainingLengthSize = remainingLengthEncodedSize(pIncomingPacket->remainingLength); status = decodeVariableLength(pVariableHeader, &propertyLength); } - if(pIncomingPacket->remainingLength + remainingLengthSize + 1>pConnackProperties->maxPacketSize){ + if(status==MQTTSuccess && pConnackProperties->isMaxPacketSize==true && pIncomingPacket->remainingLength + remainingLengthSize + 1 > pConnackProperties->maxPacketSize){ status= MQTTProtocolError; } - if (propertyLength == 0U) { - status = MQTTProtocolError; - } - else if (pIncomingPacket->remainingLength != 1 + propertyLength + remainingLengthEncodedSize(propertyLength)) { + else if (status == MQTTSuccess && pIncomingPacket->remainingLength != 2 + propertyLength + remainingLengthEncodedSize(propertyLength)) { status = MQTTMalformedPacket; } - if (status == MQTTSuccess) { + else if(status==MQTTSuccess){ bool sessionExpiry = false; bool serverReceiveMax = false; bool maxQos = false; @@ -1401,7 +1449,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti bool authData = false; MQTTUserProperty_t* userProperty = pConnackProperties->incomingUserProperty; pVariableHeader=&pVariableHeader[remainingLengthEncodedSize(propertyLength)]; - while ((propertyLength > 0) && (status = MQTTSuccess)) { + while ((propertyLength > 0) && (status == MQTTSuccess)) { uint8_t packetId = *pVariableHeader; pVariableHeader = &pVariableHeader[1]; propertyLength -= 1; @@ -1462,12 +1510,12 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti status = MQTTMalformedPacket; } else { - pConnackProperties->returnAvailable = *pVariableHeader; + pConnackProperties->retainAvailable = *pVariableHeader; pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; retain = true; propertyLength -= 1; - if (pConnackProperties->returnAvailable > 1) { + if (pConnackProperties->retainAvailable > 1) { status = MQTTProtocolError; } } diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index 53a17202b..b170ada2e 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -278,6 +278,7 @@ typedef struct MQTTConnectProperties { uint32_t sessionExpiry; uint16_t receiveMax; + bool isMaxPacketSize; uint32_t maxPacketSize; uint16_t topicAliasMax; bool reqResInfo; @@ -292,12 +293,11 @@ typedef struct MQTTConnectProperties MQTTUserProperty_t *outgoingUserProperty; uint16_t outgoingUserPropSize; MQTTAuthInfo_t *incomingAuth; - uint32_t willDelay; // CONNACK uint16_t serverReceiveMax; uint8_t serverMaxQos; - uint8_t returnAvailable; + uint8_t retainAvailable; uint32_t serverMaxPacketSize; const char* clientIdentifier; uint16_t clientIdLength; @@ -360,6 +360,7 @@ typedef struct MQTTPublishInfo #if (MQTT_VERSION_5_ENABLED) size_t propertyLength; + uint32_t willDelay; uint8_t payloadFormat; uint32_t msgExpiryInterval; bool msgExpiryPresent; @@ -1426,30 +1427,162 @@ uint8_t * MQTT_SerializeUnsubscribeHeader( size_t remainingLength, /** @endcond */ -MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t * userProperty, uint16_t size,size_t *length); - - -MQTTStatus_t MQTT_GetConnectPropertiesSize (MQTTConnectProperties_t * pConnectProperties); - -MQTTStatus_t MQTT_GetWillPropertiesSize ( MQTTPublishInfo_t * pConnectProperties, - uint32_t willDelay); +/** + * @fnuint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex,const MQTTConnectProperties_t * pConnectProperties); + * @brief Serialize the connect properties of the connect packet header. + * + * @param[out] pIndex Pointer to the buffer where the header is to + * be serialized. + * @param[in] pConnectProperties The connect properties information. + * + * @return A pointer to the end of the encoded string. + */ +/** + * @cond DOXYGEN_IGNORE + * Doxygen should ignore this definition, this function is private. + */ uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex,const MQTTConnectProperties_t * pConnectProperties); +/** + * @fnuint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, uint8_t* pIndex); + * @brief Serialize the connect properties of the connect packet header. + *@param[in] pPublishInfo The publish/will properties information. + * @param[out] pIndex Pointer to the buffer where the header is to + * be serialized. + * + * @return A pointer to the end of the encoded string. + */ -uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, uint8_t* pIndex,uint32_t willDelay); +/** + * @cond DOXYGEN_IGNORE + * Doxygen should ignore this definition, this function is private. + */ +uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, uint8_t* pIndex); -MQTTStatus_t decodeVariableLength( const uint8_t * pBuffer, size_t* length); MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackProperties,const MQTTPacketInfo_t * pIncomingPacket, bool * pSessionPresent ); - -MQTTStatus_t MQTT_GetConnectPacketSizeV5(const MQTTConnectInfo_t* pConnectInfo, + +/** + * @brief Get the size and Remaining Length of an MQTT Version 5 CONNECT packet . + * + * This function must be called before #MQTT_SerializeConnect in order to get + * the size of the MQTT CONNECT packet that is generated from #MQTTConnectInfo_t, + * MQTTConnectProperties_t and optional #MQTTPublishInfo_t. The size of the #MQTTFixedBuffer_t supplied + * to #MQTT_SerializeConnect must be at least @p pPacketSize. The provided + * @p pConnectInfo, @p pConnectProperties and @p pWillInfo are valid for serialization with + * #MQTT_SerializeConnect only if this function returns #MQTTSuccess. The + * remaining length returned in @p pRemainingLength and the packet size returned + * in @p pPacketSize are valid only if this function returns #MQTTSuccess. + * + * @param[in] pConnectInfo MQTT CONNECT packet parameters. + * @param[in] pWillInfo Last Will and Testament. Pass NULL if not used. + * @param[in] pConnectProperties MQTT CONNECT properties parameters. + * @param[out] pRemainingLength The Remaining Length of the MQTT CONNECT packet. + * @param[out] pPacketSize The total size of the MQTT CONNECT packet. + * + * @return #MQTTBadParameter if the packet would exceed the size allowed by the + * MQTT spec; #MQTTSuccess otherwise. + * + * Example + * @code{c} + * + * // Variables used in this example. + * MQTTStatus_t status; + * MQTTConnectInfo_t connectInfo = { 0 }; + * MQTTPublishInfo_t willInfo = { 0 }; + * MQTTConnectProperties_t connectProperties ={0}; + * size_t remainingLength = 0, packetSize = 0; + * + * // Initialize the connection info, the details are out of scope for this example. + * initializeConnectInfo( &connectInfo ); + * + * // Initialize the optional will info, the details are out of scope for this example. + * initializeWillInfo( &willInfo ); + * + * // Initialize the connection properties, the details are out of scope for this example. + * initializeConnectProperties( &connectProperties ); + * + * // Get the size requirement for the connect packet. + * status = MQTT_GetConnectPacketSize( + * &connectInfo, &willInfo, &remainingLength, &packetSize + * ); + * + * if( status == MQTTSuccess ) + * { + * // The application should allocate or use a static #MQTTFixedBuffer_t + * // of size >= packetSize to serialize the connect request. + * } + * @endcode + */ +/* @[declare_mqttv5_getconnectpacketsize] */ +MQTTStatus_t MQTTV5_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, const MQTTPublishInfo_t* pWillInfo, - MQTTConnectProperties_t* pConnectProperties, + const MQTTConnectProperties_t* pConnectProperties, size_t* pRemainingLength, size_t* pPacketSize); +/* @[declare_mqttv5_getconnectpacketsize] */ + +/** + * @brief Serialize an MQTT CONNECT packet in the given fixed buffer @p pFixedBuffer. + * + * #MQTT_GetConnectPacketSize should be called with @p pConnectInfo, @p pConnectProperties and + * @p pWillInfo before invoking this function to get the size of the required + * #MQTTFixedBuffer_t and @p remainingLength. The @p remainingLength must be + * the same as returned by #MQTT_GetConnectPacketSize. The #MQTTFixedBuffer_t + * must be at least as large as the size returned by #MQTT_GetConnectPacketSize. + * + * @param[in] pConnectInfo MQTT CONNECT packet parameters. + * @param[in] pWillInfo Last Will and Testament. Pass NULL if not used. + * @param[in] pConnectProperties MQTT CONNECT properties parameters. + * @param[in] remainingLength Remaining Length provided by #MQTT_GetConnectPacketSize. + * @param[out] pFixedBuffer Buffer for packet serialization. + * + * @return #MQTTNoMemory if pFixedBuffer is too small to hold the MQTT packet; + * #MQTTBadParameter if invalid parameters are passed; + * #MQTTSuccess otherwise. + * + * Example + * @code{c} + * + * // Variables used in this example. + * MQTTStatus_t status; + * MQTTConnectInfo_t connectInfo = { 0 }; + * MQTTPublishInfo_t willInfo = { 0 }; + * MQTTConnectProperties_t connectProperties ={0}; + * MQTTFixedBuffer_t fixedBuffer; + * uint8_t buffer[ BUFFER_SIZE ]; + * size_t remainingLength = 0, packetSize = 0; + * + * fixedBuffer.pBuffer = buffer; + * fixedBuffer.size = BUFFER_SIZE; + * + * // Assume connectInfo and willInfo are initialized. Get the size requirement for + * // the connect packet. + * status = MQTT_GetConnectPacketSize( + * &connectInfo, &willInfo,&connectProperties &remainingLength, &packetSize + * ); + * assert( status == MQTTSuccess ); + * assert( packetSize <= BUFFER_SIZE ); + * + * // Serialize the connect packet into the fixed buffer. + * status = MQTT_SerializeConnect( &connectInfo, &willInfo,&connectProperties,remainingLength, &fixedBuffer ); + * + * if( status == MQTTSuccess ) + * { + * // The connect packet can now be sent to the broker. + * } + * @endcode + */ +/* @[declare_mqttv5_serializeconnect] */ +MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, + const MQTTPublishInfo_t* pWillInfo, + const MQTTConnectProperties_t *pConnectProperties, + size_t remainingLength, + const MQTTFixedBuffer_t* pFixedBuffer); +/* @[declare_mqttv5_serializeconnect] */ /* *INDENT-OFF* */ #ifdef __cplusplus diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index 33cb881f6..153f24107 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -28,7 +28,7 @@ */ #include #include - +#include #include "unity.h" /* Include paths for public enums, structures, and macros. */ @@ -77,6 +77,7 @@ struct NetworkContext #define MQTT_TEST_USERNAME "username" #define MQTT_TEST_USERNAME_LEN ( sizeof( MQTT_TEST_USERNAME ) - 1 ) + /** * @brief Test-defined macro for MQTT password. */ @@ -243,6 +244,112 @@ int suiteTearDown( int numFailures ) } /* ========================================================================== */ +static int32_t mockReceive( NetworkContext_t * pNetworkContext, + void * pBuffer, + size_t bytesToRecv ) +{ + uint8_t * returnBuffer = ( uint8_t * ) pBuffer; + uint8_t * mockNetwork; + size_t bytesRead = 0; + + /* Treat network context as pointer to buffer for mocking */ + mockNetwork = *( pNetworkContext->buffer ); + + while( bytesRead++ < bytesToRecv ) + { + /* Read single byte and advance buffer. */ + *returnBuffer++ = *mockNetwork++; + } + + /* Move stream by bytes read. */ + *( pNetworkContext->buffer ) = mockNetwork; + + return bytesToRecv; +} + +/** + * @brief Mock transport receive with no data available. + */ +static int32_t mockReceiveNoData( NetworkContext_t * pNetworkContext, + void * pBuffer, + size_t bytesToRecv ) +{ + /* Suppress unused parameter warning. */ + ( void ) pNetworkContext; + ( void ) pBuffer; + ( void ) bytesToRecv; + + return 0; +} + +/** + * @brief Mock transport receive failure. + */ +static int32_t mockReceiveFailure( NetworkContext_t * pNetworkContext, + void * pBuffer, + size_t bytesToRecv ) +{ + /* Suppress unused parameter warning. */ + ( void ) pNetworkContext; + ( void ) pBuffer; + ( void ) bytesToRecv; + + return -1; +} + +/** + * @brief Mock transport receive that succeeds once, then fails. + */ +static int32_t mockReceiveSucceedThenFail( NetworkContext_t * pNetworkContext, + void * pBuffer, + size_t bytesToRecv ) +{ + int32_t retVal = 0; + static int counter = 0; + + if( counter++ ) + { + retVal = mockReceiveFailure( pNetworkContext, pBuffer, bytesToRecv ); + counter = 0; + } + else + { + retVal = mockReceive( pNetworkContext, pBuffer, bytesToRecv ); + } + + return retVal; +} + +/* ========================================================================== */ + +/** + * @brief Initialize pNetworkBuffer using static buffer. + * + * @param[in] pNetworkBuffer Network buffer provided for the context. + */ +static void setupNetworkBuffer( MQTTFixedBuffer_t * const pNetworkBuffer ) +{ + pNetworkBuffer->pBuffer = mqttBuffer; + pNetworkBuffer->size = 2048; +} + +/** + * @brief Initialize pConnectInfo using test-defined macros. + * + * @param[in] pConnectInfo MQTT CONNECT packet parameters. + */ +static void setupConnectInfo( MQTTConnectInfo_t * const pConnectInfo ) +{ + pConnectInfo->cleanSession = true; + pConnectInfo->pClientIdentifier = MQTT_CLIENT_IDENTIFIER; + pConnectInfo->clientIdentifierLength = MQTT_CLIENT_IDENTIFIER_LEN; + pConnectInfo->keepAliveSeconds = 0; + pConnectInfo->pUserName = MQTT_TEST_USERNAME; + pConnectInfo->userNameLength = MQTT_TEST_USERNAME_LEN; + pConnectInfo->pPassword = MQTT_TEST_PASSWORD; + pConnectInfo->passwordLength = MQTT_TEST_PASSWORD_LEN; +} + static size_t remainingLengthEncodedSize(size_t length) { size_t encodedSize; @@ -277,6 +384,807 @@ int suiteTearDown( int numFailures ) return encodedSize; } +/** + * @brief Initialize pPublishInfo using test-defined macros. + * + * @param[in] pPublishInfo Publish information. + */ +static void setupPublishInfo( MQTTPublishInfo_t * pPublishInfo ) +{ + pPublishInfo->pTopicName = TEST_TOPIC_NAME; + pPublishInfo->topicNameLength = TEST_TOPIC_NAME_LENGTH; + pPublishInfo->pPayload = MQTT_SAMPLE_PAYLOAD; + pPublishInfo->payloadLength = MQTT_SAMPLE_PAYLOAD_LEN; + pPublishInfo->qos = MQTTQoS0; + pPublishInfo->dup = false; + pPublishInfo->retain = false; +} + +/** + * @brief Encode remaining length into pDestination for packet serialization + * using MQTT v3.1.1 spec. + * + * @param[in] pDestination Buffer to write encoded remaining length. + * @param[in] length Actual remaining length. + */ +static size_t encodeRemainingLength( uint8_t * pDestination, + size_t length ) +{ + uint8_t lengthByte; + uint8_t * pLengthEnd = NULL; + size_t remainingLength = length; + + TEST_ASSERT_NOT_NULL( pDestination ); + + pLengthEnd = pDestination; + + /* This algorithm is copied from the MQTT v3.1.1 spec. */ + do + { + lengthByte = ( uint8_t ) ( remainingLength % 128U ); + remainingLength = remainingLength / 128U; + + /* Set the high bit of this byte, indicating that there's more data. */ + if( remainingLength > 0U ) + { + UINT8_SET_BIT( lengthByte, 7 ); + } + + /* Output a single encoded byte. */ + *pLengthEnd = lengthByte; + pLengthEnd++; + } while( remainingLength > 0U ); + + return ( size_t ) ( pLengthEnd - pDestination ); +} + +/** + * @brief Encode UTF-8 string and its length into pDestination for + * packet serialization. + * + * @param[in] pDestination Buffer to write encoded string. + * @param[in] source String to encode. + * @param[in] sourceLength Length of the string to encode. + */ +static size_t encodeString( uint8_t * pDestination, + const char * source, + uint16_t sourceLength ) +{ + uint8_t * pBuffer = NULL; + + /* Typecast const char * typed source buffer to const uint8_t *. + * This is to use same type buffers in memcpy. */ + const uint8_t * pSourceBuffer = ( const uint8_t * ) source; + + TEST_ASSERT_NOT_NULL( pSourceBuffer ); + TEST_ASSERT_NOT_NULL( pDestination ); + + pBuffer = pDestination; + + /* The first byte of a UTF-8 string is the high byte of the string length. */ + *pBuffer = UINT16_HIGH_BYTE( sourceLength ); + pBuffer++; + + /* The second byte of a UTF-8 string is the low byte of the string length. */ + *pBuffer = UINT16_LOW_BYTE( sourceLength ); + pBuffer++; + + /* Copy the string into pBuffer. */ + ( void ) memcpy( pBuffer, pSourceBuffer, sourceLength ); + + /* Return the pointer to the end of the encoded string. */ + pBuffer += sourceLength; + + return ( size_t ) ( pBuffer - pDestination ); +} + +/** + * @brief Pad beginning and end of buffer with non-zero bytes to be used in + * checking for under/overflow after serialization. + * + * @param[in] pBuffer Buffer to pad. + * @param[in] bufferLength Total length of buffer. + */ +static void padAndResetBuffer( uint8_t * pBuffer, + size_t bufferLength ) +{ + int i = 0; + + for( i = 0; i < BUFFER_PADDING_LENGTH; i++ ) + { + pBuffer[ i ] = BUFFER_PADDING_BYTE; + pBuffer[ bufferLength - 1 - i ] = BUFFER_PADDING_BYTE; + } + + /* Zero out rest of buffer. */ + memset( &pBuffer[ BUFFER_PADDING_LENGTH ], 0x0, bufferLength - 2 * BUFFER_PADDING_LENGTH ); +} + +/** + * @brief Test buffer for under/overflow. + * + * @param[in] pBuffer Buffer to check. + * @param[in] bufferLength Total length of buffer. + */ +static void checkBufferOverflow( uint8_t * pBuffer, + size_t bufferLength ) +{ + /* Check beginning of buffer. */ + TEST_ASSERT_EACH_EQUAL_UINT8( BUFFER_PADDING_BYTE, + pBuffer, + BUFFER_PADDING_LENGTH ); + /* Check end. */ + TEST_ASSERT_EACH_EQUAL_UINT8( BUFFER_PADDING_BYTE, + pBuffer + bufferLength - BUFFER_PADDING_LENGTH, + BUFFER_PADDING_LENGTH ); +} + + + +static MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* pUserProperty, uint16_t number, size_t* size) { + MQTTStatus_t status = MQTTSuccess; + uint16_t i = 0; + /*Number of user properties can't be more than the max user properties specified*/ + if (number > MAX_USER_PROPERTY || size == NULL) { + status = MQTTBadParameter; + } + else if (number != 0 && pUserProperty == NULL) { + status = MQTTBadParameter; + } + else { + for (;i < number && status == MQTTSuccess;i++) { + if ((pUserProperty + i) == NULL || (pUserProperty + i)->keyLength == 0 || (pUserProperty + i)->valueLength == 0 || (pUserProperty + i)->key == NULL || (pUserProperty + i)->value == NULL) { + status = MQTTBadParameter; + } + else{ + *size += (pUserProperty + i)->keyLength + 3U; + *size += (pUserProperty + i)->valueLength + 2U; + } + } + } + return status; +} + + +static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProperties) +{ + size_t propertyLength = 0; + MQTTStatus_t status = MQTTSuccess; + /*Validate the arguments*/ + if(pConnectProperties==NULL){ + status=MQTTBadParameter; + } + else if(pConnectProperties->maxPacketSize==0 || pConnectProperties->receiveMax==0){ + status=MQTTBadParameter; + } + else{ + /*Add the lengths of the parameters if applicable*/ + if (pConnectProperties->sessionExpiry != 0) + { + propertyLength += MQTT_SESSION_EXPIRY_SIZE; + } + if (pConnectProperties->receiveMax != UINT16_MAX) + { + propertyLength += MQTT_RECEIVE_MAX_SIZE; + } + if (pConnectProperties->isMaxPacketSize != false) + { + propertyLength += MQTT_MAX_PACKET_SIZE; + } + if (pConnectProperties->topicAliasMax != 0U) + { + propertyLength += MQTT_TOPIC_ALIAS_SIZE; + } + if (pConnectProperties->reqResInfo != 0) + { + propertyLength += MQTT_REQUEST_RESPONSE_SIZE; + } + if (pConnectProperties->reqProbInfo != 1) + { + propertyLength += MQTT_REQUEST_PPOBLEM_SIZE; + } + if (pConnectProperties->outgoingAuth != NULL) + { + /*Incoming auth cannot be NULL*/ + if(pConnectProperties->incomingAuth==NULL){ + status=MQTTBadParameter; + } + /*Valid authentication parameters*/ + else if (pConnectProperties->outgoingAuth->authMethodLength == 0U && pConnectProperties->outgoingAuth->authDataLength != 0U) + { + status = MQTTBadParameter; + } + else if ((pConnectProperties->outgoingAuth->authMethodLength != 0U) && (pConnectProperties->outgoingAuth->authMethod == NULL)) + { + status = MQTTBadParameter; + } + else if ((pConnectProperties->outgoingAuth->authDataLength != 0U) && (pConnectProperties->outgoingAuth->authData == NULL)) + { + status = MQTTBadParameter; + } + else + { + propertyLength += pConnectProperties->outgoingAuth->authMethodLength; + propertyLength += 3U; + if (pConnectProperties->outgoingAuth->authDataLength != 0U) { + propertyLength += pConnectProperties->outgoingAuth->authDataLength; + propertyLength += 3U; + } + } + } + } + /*Get the length of the user properties*/ + if (status == MQTTSuccess && pConnectProperties->outgoingUserPropSize != 0) { + status = MQTT_GetUserPropertySize(pConnectProperties->outgoingUserProperty, pConnectProperties->outgoingUserPropSize, &propertyLength); + } + /*Variable length encoded values cannot have valued more than 268435455U*/ + if (status == MQTTSuccess && pConnectProperties->propertyLength > MQTT_MAX_REMAINING_LENGTH) { + status = MQTTBadParameter; + } + if(status==MQTTSuccess){ + pConnectProperties->propertyLength = propertyLength; + } + + return status; + +} + +static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillProperties) +{ + size_t willLength = 0U; + MQTTStatus_t status = MQTTSuccess; + /*Validate the arguments*/ + if(pWillProperties==NULL){ + status=MQTTBadParameter; + } + else{ + /*Add the length of all the parameters which are applicable*/ + if (pWillProperties->willDelay != 0U) + { + willLength += 5U; + } + if (pWillProperties->payloadFormat != 0) + { + willLength += 2U; + } + if (pWillProperties->msgExpiryPresent == true) + { + willLength += 5U; + } + if (pWillProperties->contentTypeLength != 0U) + { + if(pWillProperties->contentType==NULL){ + status= MQTTBadParameter; + } + else{ + willLength += pWillProperties->contentTypeLength + 3U; + } + } + } + /*Validate if length and pointers are valid*/ + if(status==MQTTSuccess && pWillProperties->responseTopicLength != 0U){ + if(pWillProperties->responseTopic==NULL){ + status= MQTTBadParameter; + } + else{ + willLength += pWillProperties->responseTopicLength + 3U; + } + } + if (status==MQTTSuccess && pWillProperties->correlationLength != 0U) + { + if(pWillProperties->correlationData==NULL){ + status= MQTTBadParameter; + } + else{ + willLength += pWillProperties->correlationLength + 3U; + } + } + /*Get the length of user properties*/ + if(status==MQTTSuccess){ + status = MQTT_GetUserPropertySize(pWillProperties->userProperty, pWillProperties->userPropertySize, &willLength); + } + /*Variable encoded can't have a value more than 268435455UL*/ + if (willLength > MQTT_MAX_REMAINING_LENGTH) { + status = MQTTBadParameter; + } + if(status==MQTTSuccess){ + pWillProperties->propertyLength = willLength; + } + return status; +} + +static uint8_t* serializeUserProperties(uint8_t * pIndex,const MQTTUserProperty_t* pUserProperty, uint16_t size){ + uint16_t i = 0; + assert(pIndex!=NULL); + uint8_t* pIndexLocal = pIndex; + for (; i < size; i++) + { + *pIndexLocal = MQTT_USER_PROPERTY_ID; + pIndexLocal++; + pIndexLocal = encodeString(pIndexLocal,(pUserProperty+i)->key,(pUserProperty+i)->keyLength); + pIndexLocal = encodeString(pIndexLocal,(pUserProperty+i)->value,(pUserProperty+i)->valueLength); + } + return pIndexLocal; +} + + +static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, + const MQTTPublishInfo_t* pWillInfo, + const MQTTConnectProperties_t* pConnectProperties, + size_t remainingLength, + const MQTTFixedBuffer_t* pFixedBuffer) +{ + uint8_t* pIndex = NULL; + assert(pConnectInfo != NULL); + assert(pFixedBuffer != NULL); + assert(pFixedBuffer->pBuffer != NULL); + assert(pConnectProperties != NULL); + + pIndex = pFixedBuffer->pBuffer; + + /* Serialize the header. */ + pIndex = MQTT_SerializeConnectFixedHeader(pIndex, + pConnectInfo, + pWillInfo, + remainingLength); + + /* Serialize the connect Properties. */ + pIndex= MQTT_SerializeConnectProperties(pIndex,pConnectProperties); + + if( pConnectProperties->outgoingUserPropSize >0){ + pIndex= serializeUserProperties(pIndex, pConnectProperties->outgoingUserProperty, pConnectProperties->outgoingUserPropSize); + } + + MQTTAuthInfo_t *pAuthInfo = pConnectProperties->outgoingAuth; + if (pAuthInfo != NULL) + { + /* Serialize the authentication method string. */ + *pIndex = MQTT_AUTH_METHOD_ID; + pIndex++; + pIndex = encodeString(pIndex,pAuthInfo->authMethod,pAuthInfo->authMethodLength); + if (pAuthInfo->authDataLength != 0U) + { + *pIndex = MQTT_AUTH_DATA_ID; + pIndex++; + pIndex = encodeString(pIndex,pAuthInfo->authData,pAuthInfo->authDataLength); + } + } + + /* Write the client identifier into the CONNECT packet. */ + pIndex = encodeString(pIndex, + pConnectInfo->pClientIdentifier, + pConnectInfo->clientIdentifierLength); + + /* Serialze the will properties,topic name and message into the CONNECT packet if provided. */ + if (pWillInfo != NULL) + { + pIndex= MQTT_SerializePublishProperties(pWillInfo,pIndex); + if (pWillInfo->contentTypeLength != 0U) + { + *pIndex = MQTT_CONTENT_TYPE_ID; + pIndex++; + pIndex = encodeString(pIndex,pWillInfo->contentType,pWillInfo->contentTypeLength); + } + if (pWillInfo->responseTopicLength != 0U) + { + *pIndex = MQTT_RESPONSE_TOPIC_ID; + pIndex++; + pIndex = encodeString(pIndex,pWillInfo->responseTopic,pWillInfo->responseTopicLength); + } + if (pWillInfo->correlationLength != 0U) + { + *pIndex = MQTT_CORRELATION_DATA_ID; + pIndex++; + pIndex = encodeString(pIndex,pWillInfo->correlationData,pWillInfo->correlationLength); + } + if (pWillInfo->userPropertySize != 0) + { + pIndex = serializeUserProperties(pIndex,pWillInfo->userProperty,pWillInfo->userPropertySize); + } + pIndex = encodeString(pIndex, pWillInfo->pTopicName,pWillInfo->topicNameLength); + pIndex = encodeString(pIndex,pWillInfo->pPayload,(uint16_t)pWillInfo->payloadLength); + + } + /* Encode the user name if provided. */ + if (pConnectInfo->pUserName != NULL) + { + pIndex = encodeString(pIndex, pConnectInfo->pUserName, pConnectInfo->userNameLength); + } + + /* Encode the password if provided. */ + if (pConnectInfo->pPassword != NULL) + { + pIndex = encodeString(pIndex, pConnectInfo->pPassword, pConnectInfo->passwordLength); + } + + LogDebug(("Length of serialized CONNECT packet is %lu.", + ((unsigned long)(pIndex - pFixedBuffer->pBuffer)))); + + /* Ensure that the difference between the end and beginning of the buffer + * is less than the buffer size. */ + assert(((size_t)(pIndex - pFixedBuffer->pBuffer)) <= pFixedBuffer->size); +} + + + static MQTTStatus_t logConnackResponseV5(uint8_t responseCode){ + + MQTTStatus_t status= MQTTServerRefused; + switch(responseCode){ + case MQTT_REASON_UNSPECIFIED_ERR : + LogError("Connection refused: Unspecified error"); + break; + case MQTT_REASON_MALFORMED_PACKET : + LogError("Connection refused: Malformed Packet."); + break; + case MQTT_REASON_PROTOCOL_ERR: + LogError("Connection refused: Protocol Error."); + break; + case MQTT_REASON_IMPL_SPECIFIC_ERR : + LogError("Connection refused: Impementation specific error."); + break; + case MQTT_REASON_UNSUP_PROTO_VER : + LogError("Connection refused: Unsupported Protocol Version."); + break; + case MQTT_REASON_CLIENT_ID_NOT_VALID : + LogError( "Connection refused: Client Identifier not valid."); + break; + case MQTT_REASON_BAD_USER_OR_PASS : + LogError("Connection refused: Bad User Name or Password."); + break; + case MQTT_REASON_NOT_AUTHORIZED : + LogError("Connection refused: Not authorized."); + break; + case MQTT_REASON_SERVER_UNAVAILABLE : + LogError("Connection refused: Server unavailable."); + break; + case MQTT_REASON_SERVER_BUSY : + LogError( "Connection refused: Server busy." ); + break; + case MQTT_REASON_BANNED : + LogError("Connection refused: Banned."); + break; + case MQTT_REASON_BAD_AUTH_METHOD : + LogError("Connection refused: Bad authentication method."); + break; + case MQTT_REASON_TOPIC_NAME_INVALID : + LogError("Connection refused: Topic Name invalid."); + break; + case MQTT_REASON_PACKET_TOO_LARGE : + LogError( "Connection refused: Packet too large ."); + break; + case MQTT_REASON_QUOTA_EXCEEDED : + LogError("Connection refused: Quota exceeded."); + break; + case MQTT_REASON_PAYLOAD_FORMAT_INVALID : + LogError( "Connection refused: Payload format invalid." ); + break; + case MQTT_REASON_RETAIN_NOT_SUPPORTED : + LogError("Connection refused: Retain not supported."); + break; + case MQTT_REASON_QOS_NOT_SUPPORTED : + LogError("Connection refused: QoS not supported."); + break; + case MQTT_REASON_USE_ANOTHER_SERVER : + LogError("Connection refused: Use another server." ); + break; + case MQTT_REASON_SERVER_MOVED : + LogError("Connection refused: Server moved."); + break; + case MQTT_REASON_CON_RATE_EXCEED : + LogError("Connection refused: Connection rate exceeded."); + break; + default: + status= MQTTProtocolError; + } + return status; +} + + +static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacket, bool* pSessionPresent) +{ + + MQTTStatus_t status = MQTTSuccess; + if (pIncomingPacket == NULL) + { + LogError(("pIncomingPacket cannot be NULL.")); + status = MQTTBadParameter; + } + else if (pSessionPresent == NULL) + { + LogError(("pSessionPresent cannot be NULL for CONNACK packet.")); + status = MQTTBadParameter; + } + else if (pIncomingPacket->pRemainingData == NULL) + { + LogError(("Remaining data of incoming packet is NULL.")); + status = MQTTBadParameter; + } + else if (pIncomingPacket->type != MQTT_PACKET_TYPE_CONNACK) { + + LogError(("Packet type is invalid.")); + status = MQTTBadParameter; + } + else { + const uint8_t* pRemainingData = NULL; + pRemainingData = pIncomingPacket->pRemainingData; + if ((pRemainingData[0] | 0x01U) != 0x01U) + { + LogError(("Reserved bits in CONNACK incorrect.")); + + status = MQTTBadResponse; + } + else + { + /* Determine if the "Session Present" bit is set. This is the lowest bit of + * the third byte in CONNACK. */ + if ((pRemainingData[0] & MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) + == MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) + { + LogDebug(("CONNACK session present bit set.")); + *pSessionPresent = true; + + /* MQTT 5 specifies that the fourth byte in CONNACK must be 0 if the + * "Session Present" bit is set. */ + if (pRemainingData[1] != 0U) + { + LogError(("Session Present bit is set, but connect return code in CONNACK is %u (nonzero).", + (unsigned int)pRemainingData[1])); + status = MQTTBadResponse; + } + } + else + { + LogDebug(("CONNACK session present bit not set.")); + *pSessionPresent = false; + } + } + if (status == MQTTSuccess) + { + /* In MQTT 5, only values 0 , 80 through 9F are valid CONNACK response codes. */ + // Change this + if(pRemainingData[1]!=0u){ + status= logConnackResponseV5(pRemainingData[1]); + } + + } + } + + return status; +} + +MQTTStatus_t decodeVariableLength(const uint8_t* pBuffer, size_t* length) +{ + size_t remainingLength = 0; + size_t multiplier = 1; + size_t bytesDecoded = 0; + size_t expectedSize = 0; + uint8_t encodedByte = 0; + MQTTStatus_t status = MQTTSuccess; + + /* This algorithm is copied from the MQTT v3.1.1 spec. */ + do + { + if (multiplier > 2097152U) /* 128 ^ 3 */ + { + remainingLength = MQTT_REMAINING_LENGTH_INVALID; + + LogError(("Invalid remaining length in the packet.\n")); + + status = MQTTBadResponse; + } + else + { + /* Get the next byte. It is at the next position after the bytes + * decoded till now since the header of one byte was read before. */ + encodedByte = pBuffer[bytesDecoded]; + remainingLength += ((size_t)encodedByte & 0x7FU) * multiplier; + multiplier *= 128U; + bytesDecoded++; + + } + + /* If the response is incorrect, or no more data is available, then + * break out of the loop. */ + if ((remainingLength == MQTT_REMAINING_LENGTH_INVALID) || + (status != MQTTSuccess)) + { + break; + } + } while ((encodedByte & 0x80U) != 0U); + + if (status == MQTTSuccess) + { + /* Check that the decoded remaining length conforms to the MQTT specification. */ + expectedSize = remainingLengthEncodedSize(remainingLength); + + if (bytesDecoded != expectedSize) + { + LogError(("Expected and actual length of decoded bytes do not match.\n")); + status = MQTTBadResponse; + } + else + { + *length = remainingLength; + } + } + + return status; +} + + +static void verifySerializedConnectPacket( const MQTTConnectInfo_t * const pConnectInfo, + const MQTTPublishInfo_t * const pWillInfo, + const MQTTConnectProperties_t * pConnectProperties, + size_t remainingLength, + const MQTTFixedBuffer_t * const pBuffer ) +{ + uint8_t connectFlags = 0U; + uint8_t encodedRemainingLength = 0U; + uint8_t encodedPropertyLength= 0U; + uint8_t encodedStringLength = 0U; + uint8_t * pIndex = NULL; + + pIndex = pBuffer->pBuffer; + /* The first byte in the CONNECT packet is the control packet type. */ + TEST_ASSERT_EQUAL_MESSAGE( MQTT_PACKET_TYPE_CONNECT, *pIndex, "MQTT_PACKET_TYPE_CONNECT is not equal to *pIndex" ); + pIndex++; + + /* The remaining length of the CONNECT packet is encoded starting from the + * second byte. The remaining length does not include the length of the fixed + * header or the encoding of the remaining length. */ + encodedRemainingLength = encodeRemainingLength( remainingLengthBuffer, remainingLength ); + TEST_ASSERT_EQUAL_MEMORY( remainingLengthBuffer, pIndex, encodedRemainingLength ); + pIndex += encodedRemainingLength; + + /* The string "MQTT" is placed at the beginning of the CONNECT packet's variable + * header. This string is 4 bytes long. */ + encodedStringLength = encodeString( encodedStringBuffer, "MQTT", 4 ); + TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); + pIndex += encodedStringLength; + + /* The MQTT protocol version is the second field of the variable header. */ + TEST_ASSERT_EQUAL( 5, *pIndex ); + pIndex++; + + /* Set the clean session flag if needed. */ + if( pConnectInfo->cleanSession == true ) + { + UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_CLEAN ); + } + + /* Set the flags for username and password if provided. */ + if( pConnectInfo->pUserName != NULL ) + { + UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_USERNAME ); + } + + if( pConnectInfo->pPassword != NULL ) + { + UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_PASSWORD ); + } + + /* Set will flag if a Last Will and Testament is provided. */ + if( pWillInfo != NULL ) + { + UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_WILL ); + + /* Flags only need to be changed for Will QoS 1 or 2. */ + if( pWillInfo->qos == MQTTQoS1 ) + { + UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_WILL_QOS1 ); + } + else if( pWillInfo->qos == MQTTQoS2 ) + { + UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_WILL_QOS2 ); + } + else + { + /* Empty else MISRA 15.7 */ + } + + if( pWillInfo->retain == true ) + { + UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_WILL_RETAIN ); + } + } + + + TEST_ASSERT_EQUAL( connectFlags, *pIndex ); + pIndex++; + + + /* Verify the 2 bytes of the keep alive interval into the CONNECT packet. */ + TEST_ASSERT_EQUAL( UINT16_HIGH_BYTE( pConnectInfo->keepAliveSeconds ), + *pIndex ); + pIndex++; + TEST_ASSERT_EQUAL( UINT16_LOW_BYTE( pConnectInfo->keepAliveSeconds ), + *pIndex ); + pIndex++; + /* Verify the connect properties into the CONNECT packet. */ + pIndex = MQTT_SerializeConnectProperties(pIndex,pConnectProperties); + + if( pConnectProperties->outgoingUserPropSize >0){ + pIndex = serializeUserProperties(pIndex, pConnectProperties->outgoingUserProperty, pConnectProperties->outgoingUserPropSize); + } + + /* Verify the client identifier into the CONNECT packet. */ + encodedStringLength = encodeString( encodedStringBuffer, + pConnectInfo->pClientIdentifier, + pConnectInfo->clientIdentifierLength ); + TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); + pIndex += encodedStringLength; + + /* Verify the will topic name and message into the CONNECT packet if provided. */ + if( pWillInfo != NULL ) + { + /*Will Properties*/ + pIndex = MQTT_SerializePublishProperties(pWillInfo,pIndex); + if (pWillInfo->contentTypeLength != 0U) + { + TEST_ASSERT_EQUAL_INT(MQTT_CONTENT_TYPE_ID,*pIndex); + pIndex++; + encodedStringLength = encodeString( encodedStringBuffer, + pWillInfo->contentType, + pWillInfo->contentTypeLength ); + TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); + pIndex += encodedStringLength; + } + if (pWillInfo->responseTopicLength != 0U) + { + TEST_ASSERT_EQUAL_INT(MQTT_RESPONSE_TOPIC_ID,*pIndex); + pIndex++; + encodedStringLength = encodeString( encodedStringBuffer, + pWillInfo->responseTopic, + pWillInfo->responseTopicLength ); + TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); + pIndex += encodedStringLength; + } + if (pWillInfo->correlationLength != 0U) + { + TEST_ASSERT_EQUAL_INT(MQTT_CORRELATION_DATA_ID,*pIndex); + pIndex++; + encodedStringLength = encodeString( encodedStringBuffer, + pWillInfo->correlationData, + pWillInfo->correlationLength ); + TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); + pIndex += encodedStringLength; + } + if (pWillInfo->userPropertySize != 0) + { + pIndex = serializeUserProperties(pIndex,pWillInfo->userProperty,pWillInfo->userPropertySize); + } + encodedStringLength = encodeString( encodedStringBuffer, + pWillInfo->pTopicName, + pWillInfo->topicNameLength ); + TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); + pIndex += encodedStringLength; + encodedStringLength = encodeString( encodedStringBuffer, + pWillInfo->pPayload, + ( uint16_t ) pWillInfo->payloadLength ); + TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); + pIndex += encodedStringLength; + } + + /* Verify the user name if provided. */ + if( pConnectInfo->pUserName != NULL ) + { + encodedStringLength = encodeString( encodedStringBuffer, + pConnectInfo->pUserName, + pConnectInfo->userNameLength ); + TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); + pIndex += encodedStringLength; + } + + /* Verify the password if provided. */ + if( pConnectInfo->pPassword != NULL ) + { + encodedStringLength = encodeString( encodedStringBuffer, + pConnectInfo->pPassword, + pConnectInfo->passwordLength ); + TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); + pIndex += encodedStringLength; + } +} void test_MQTT_GetConnectPropertiesSize(void){ @@ -301,6 +1209,7 @@ void test_MQTT_GetConnectPropertiesSize(void){ /* *Receive Maximum cannot be 0 */ + connectProperties.isMaxPacketSize = true; connectProperties.maxPacketSize=40; connectProperties.receiveMax=0; status = MQTT_GetConnectPropertiesSize(&connectProperties); @@ -346,20 +1255,14 @@ void test_MQTT_GetConnectPropertiesSize(void){ TEST_ASSERT_EQUAL (MQTTBadParameter,status); userProperty.keyLength=3; - MQTT_GetUserPropertySize_CMockExpectAndReturn(NULL,&userProperty, connectProperties.outgoingUserPropSize,NULL, MQTTBadParameter); - MQTT_GetUserPropertySize_CMockIgnoreArg_length(); status = MQTT_GetConnectPropertiesSize(&connectProperties); TEST_ASSERT_EQUAL (MQTTBadParameter,status); userProperty.valueLength=1; - MQTT_GetUserPropertySize_CMockExpectAndReturn(NULL,&userProperty, connectProperties.outgoingUserPropSize,NULL, MQTTBadParameter); - MQTT_GetUserPropertySize_CMockIgnoreArg_length(); status = MQTT_GetConnectPropertiesSize(&connectProperties); TEST_ASSERT_EQUAL (MQTTBadParameter,status); userProperty.value="1"; - MQTT_GetUserPropertySize_CMockExpectAndReturn(NULL,&userProperty, connectProperties.outgoingUserPropSize,NULL, MQTTBadParameter); - MQTT_GetUserPropertySize_CMockIgnoreArg_length(); status = MQTT_GetConnectPropertiesSize(&connectProperties); TEST_ASSERT_EQUAL (MQTTBadParameter,status); @@ -371,8 +1274,6 @@ void test_MQTT_GetConnectPropertiesSize(void){ connectProperties.outgoingUserPropSize= 6; - MQTT_GetUserPropertySize_CMockExpectAndReturn(NULL,&userProperty, connectProperties.outgoingUserPropSize,NULL, MQTTBadParameter); - MQTT_GetUserPropertySize_CMockIgnoreArg_length(); status = MQTT_GetConnectPropertiesSize(&connectProperties); TEST_ASSERT_EQUAL (MQTTBadParameter,status); connectProperties.outgoingUserPropSize= 1; @@ -418,68 +1319,65 @@ void test_MQTT_GetWillPropertiesSize(void){ MQTTConnectInfo_t connectInfo; MQTTStatus_t status = MQTTSuccess; MQTTPublishInfo_t willInfo; - uint32_t willDelay= 10; - /* Call MQTT_GetWillPropertiesSize() with various combinations of * incorrect paramters */ - - status = MQTT_GetWillPropertiesSize(NULL,1); + status = MQTT_GetWillPropertiesSize(NULL); TEST_ASSERT_EQUAL (MQTTBadParameter,status); /* *Max Packet Size cannot be null */ memset(&willInfo,0x0,sizeof(willInfo)); - status = MQTT_GetWillPropertiesSize(&willInfo,0); + status = MQTT_GetWillPropertiesSize(&willInfo); TEST_ASSERT_EQUAL (MQTTSuccess,status); TEST_ASSERT_EQUAL_size_t(0,willInfo.propertyLength); - - status = MQTT_GetWillPropertiesSize(&willInfo,willDelay); + willInfo.willDelay =10; + status = MQTT_GetWillPropertiesSize(&willInfo); TEST_ASSERT_EQUAL (MQTTSuccess,status); TEST_ASSERT_EQUAL_size_t(5,willInfo.propertyLength); willInfo.payloadFormat = 1; - status = MQTT_GetWillPropertiesSize(&willInfo,willDelay); + status = MQTT_GetWillPropertiesSize(&willInfo); TEST_ASSERT_EQUAL (MQTTSuccess,status); TEST_ASSERT_EQUAL_size_t(7,willInfo.propertyLength); willInfo.msgExpiryPresent = 1; willInfo.msgExpiryInterval= 10; - status = MQTT_GetWillPropertiesSize(&willInfo,willDelay); + status = MQTT_GetWillPropertiesSize(&willInfo); TEST_ASSERT_EQUAL (MQTTSuccess,status); TEST_ASSERT_EQUAL_size_t(12,willInfo.propertyLength); willInfo.msgExpiryPresent = 1; willInfo.msgExpiryInterval= 10; - status = MQTT_GetWillPropertiesSize(&willInfo,willDelay); + status = MQTT_GetWillPropertiesSize(&willInfo); TEST_ASSERT_EQUAL (MQTTSuccess,status); TEST_ASSERT_EQUAL_size_t(12,willInfo.propertyLength); willInfo.contentTypeLength =2; - status = MQTT_GetWillPropertiesSize(&willInfo,willDelay); + status = MQTT_GetWillPropertiesSize(&willInfo); TEST_ASSERT_EQUAL (MQTTBadParameter,status); willInfo.contentType="ab"; - status = MQTT_GetWillPropertiesSize(&willInfo,willDelay); + status = MQTT_GetWillPropertiesSize(&willInfo); TEST_ASSERT_EQUAL (MQTTSuccess,status); TEST_ASSERT_EQUAL_size_t(17,willInfo.propertyLength); willInfo.responseTopicLength =2; - status = MQTT_GetWillPropertiesSize(&willInfo,willDelay); + status = MQTT_GetWillPropertiesSize(&willInfo); TEST_ASSERT_EQUAL (MQTTBadParameter,status); willInfo.responseTopic="ab"; - status = MQTT_GetWillPropertiesSize(&willInfo,willDelay); + status = MQTT_GetWillPropertiesSize(&willInfo); TEST_ASSERT_EQUAL (MQTTSuccess,status); TEST_ASSERT_EQUAL_size_t(22,willInfo.propertyLength); willInfo.correlationLength =2; - status = MQTT_GetWillPropertiesSize(&willInfo,willDelay); + status = MQTT_GetWillPropertiesSize(&willInfo); TEST_ASSERT_EQUAL (MQTTBadParameter,status); willInfo.correlationData="ab"; - status = MQTT_GetWillPropertiesSize(&willInfo,willDelay); + status = MQTT_GetWillPropertiesSize(&willInfo); TEST_ASSERT_EQUAL (MQTTSuccess,status); TEST_ASSERT_EQUAL_size_t(27,willInfo.propertyLength); @@ -494,7 +1392,7 @@ void test_MQTT_GetWillPropertiesSize(void){ userProperty[1].value="ab"; willInfo.userProperty= userProperty; willInfo.userPropertySize = 2; - status = MQTT_GetWillPropertiesSize(&willInfo,willDelay); + status = MQTT_GetWillPropertiesSize(&willInfo); TEST_ASSERT_EQUAL (MQTTSuccess,status); TEST_ASSERT_EQUAL_size_t(44,willInfo.propertyLength); @@ -510,6 +1408,7 @@ size_t propertyLength; memset(&connect,0x0,sizeof(connect)); connect.sessionExpiry=12; connect.receiveMax = 32; +connect.isMaxPacketSize =true; connect.maxPacketSize= 56; connect.topicAliasMax=11; connect.reqResInfo = 1; @@ -561,63 +1460,790 @@ void test_MQTT_SerializePublishProperties(void){ will.payloadFormat = 1; will.msgExpiryPresent=true; will.msgExpiryInterval= 34; - index= MQTT_SerializePublishProperties(&will,index,12); + will.willDelay=12; + index= MQTT_SerializePublishProperties(&will,index); TEST_ASSERT_EQUAL_INT(13,index-properties); } -void test_MQTTV5_DeserializeConnackOnlyStatus(void){ - MQTTPacketInfo_t packetInfo; +// void test_MQTTV5_DeserializeConnackOnlyStatus(void){ +// MQTTPacketInfo_t packetInfo; +// MQTTConnectProperties_t properties; +// MQTTStatus_t status; +// uint8_t buffer[50]; +// uint8_t* index= buffer; +// memset(&properties, 0x0, sizeof(properties)); +// memset(&packetInfo, 0x0, sizeof(packetInfo)); +// status = MQTTV5_DeserializeConnack(NULL,NULL,NULL); +// TEST_ASSERT_EQUAL(MQTTBadParameter,status); + +// bool sessionPresent; +// status = MQTTV5_DeserializeConnack(NULL,&packetInfo,&sessionPresent); +// TEST_ASSERT_EQUAL(MQTTBadParameter,status); + +// status = MQTTV5_DeserializeConnack(&properties,NULL,&sessionPresent); +// TEST_ASSERT_EQUAL(MQTTBadParameter,status); + +// packetInfo.type=MQTT_PACKET_TYPE_CONNACK; +// status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); +// TEST_ASSERT_EQUAL(MQTTBadParameter,status); + +// packetInfo.pRemainingData=index; +// packetInfo.type =MQTT_PACKET_TYPE_CONNECT; +// status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); +// TEST_ASSERT_EQUAL(MQTTBadParameter,status); + +// /* +// * Session Present Bit is set but reason code is not equal to 0; +// */ +// buffer[0] = 0x01; +// buffer[1] = 0x01; +// packetInfo.type=MQTT_PACKET_TYPE_CONNACK; +// status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); +// TEST_ASSERT_EQUAL(MQTTBadResponse,status); + +// buffer[0] = 0x00; +// buffer[1]= 0x00; +// size_t propertyLength = encodeRemainingLength(buffer[2],0); +// properties.isMaxPacketSize= true; +// properties.isMaxPacketSize = 0; +// packetInfo.remainingLength = 100; +// status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); +// TEST_ASSERT_EQUAL(MQTTProtocolError,status); +// TEST_ASSERT_EQUAL(false,sessionPresent); + +// properties.isMaxPacketSize = 1000; +// status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); +// TEST_ASSERT_EQUAL(MQTTMalformedPacket,status); +// TEST_ASSERT_EQUAL(false,sessionPresent); + + +// /* Not a valid response code*/ +// // buffer[1]= 0x03; +// // status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); +// // TEST_ASSERT_EQUAL(MQTTProtocolError,status); + +// // // buffer[1] = 0x80; +// // status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); +// // TEST_ASSERT_EQUAL(MQTTServerRefused,status); + + +// } + +void test_MQTTV5_DeserializeConnack(void){ + MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - uint8_t buffer[50]; - uint8_t* index= buffer; memset(&properties, 0x0, sizeof(properties)); memset(&packetInfo, 0x0, sizeof(packetInfo)); - status = MQTTV5_DeserializeConnack(NULL,NULL,NULL); - TEST_ASSERT_EQUAL(MQTTBadParameter,status); + uint8_t buffer[200]={0}; + uint8_t *pIndexLocal= buffer; + buffer[0]= 0x01; + buffer[1] = 0x00; + size_t dummy =0; + bool session= false; + packetInfo.pRemainingData=buffer; + packetInfo.type = MQTT_PACKET_TYPE_CONNACK; + // property = 49 + // Session expiry 5 bytes + // receive max 3 bytes + // max qos 2 bytes + // retain available 2 bytes + // max packet size 5 bytes + // assigned client id 5 + // Topic alias max 3 + // reason string 5 + // user property 0 + // wildcard 2 + // subscription id 2byte + // shared subscription 2byte + // server keep alive 3 byte + // response info 5 + // server ref 5 + // auth 0 +packetInfo.remainingLength = 8; +pIndexLocal = &buffer[2]; +size_t propertyLength = encodeRemainingLength(pIndexLocal,5); +pIndexLocal++; +*pIndexLocal = MQTT_SESSION_EXPIRY_ID; +pIndexLocal++; +pIndexLocal[0] = UINT32_BYTE3(12); +pIndexLocal[1] = UINT32_BYTE2(12); +pIndexLocal[2] = UINT32_BYTE1(12); +pIndexLocal[3] = UINT32_BYTE0(12); +pIndexLocal = &pIndexLocal[4]; +status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); +TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); +// 8 +packetInfo.remainingLength = 6; +pIndexLocal = &buffer[2]; +propertyLength = encodeRemainingLength(pIndexLocal,3); +pIndexLocal++; +*pIndexLocal = MQTT_RECEIVE_MAX_ID; +pIndexLocal++; +pIndexLocal[0] = UINT16_HIGH_BYTE(13); +pIndexLocal[1] = UINT16_LOW_BYTE(13); +pIndexLocal = &pIndexLocal[2]; +status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); +TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); +// 11 +packetInfo.remainingLength = 5; +pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal,2); +pIndexLocal++; +*pIndexLocal = MQTT_MAX_QOS_ID; +pIndexLocal++; +pIndexLocal[0]= 0; +pIndexLocal++; +status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); +TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); +// 13 +packetInfo.remainingLength = 5; +pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal,2); +pIndexLocal++; +*pIndexLocal = MQTT_RETAIN_AVAILABLE_ID; +pIndexLocal++; +pIndexLocal[0]= 0; +pIndexLocal++; +status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); +TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); +// // 15 +packetInfo.remainingLength = 8; +pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal,5); +pIndexLocal++; +*pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; +pIndexLocal++; +pIndexLocal[0] = UINT32_BYTE3(120); +pIndexLocal[1] = UINT32_BYTE2(120); +pIndexLocal[2] = UINT32_BYTE1(120); +pIndexLocal[3] = UINT32_BYTE0(120); +pIndexLocal = &pIndexLocal[4]; +status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); +TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); +// // 20 +packetInfo.remainingLength = 8; +pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal,5); +pIndexLocal++; +*pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; +pIndexLocal++; +char string = "ab"; +dummy = encodeString(pIndexLocal,&string,2); +pIndexLocal++; +pIndexLocal = &pIndexLocal[dummy]; +status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); +TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); - bool sessionPresent; - status = MQTTV5_DeserializeConnack(NULL,&packetInfo,&sessionPresent); - TEST_ASSERT_EQUAL(MQTTBadParameter,status); +// // 25 +packetInfo.remainingLength = 6; +pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal,3); +pIndexLocal++; +*pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; +pIndexLocal++; +pIndexLocal[0] = UINT16_HIGH_BYTE(13); +pIndexLocal[1] = UINT16_LOW_BYTE(13); +pIndexLocal = &pIndexLocal[2]; +status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); +TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); +// // 28 +packetInfo.remainingLength = 8; +pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal,5); +pIndexLocal++; +*pIndexLocal = MQTT_REASON_STRING_ID; +pIndexLocal++; + string = "ab"; +dummy = encodeString(pIndexLocal,&string,2); +pIndexLocal = &pIndexLocal[dummy]; +// status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); +// TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); +// // 33 +packetInfo.remainingLength = 5; +pIndexLocal = &buffer[2]; +propertyLength = encodeRemainingLength(pIndexLocal,2); +pIndexLocal++; +*pIndexLocal = MQTT_WILDCARD_ID; +pIndexLocal++; +pIndexLocal[0]= 0; +pIndexLocal++; +status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); +TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); +// // 35 +packetInfo.remainingLength = 5; +pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal,2); +pIndexLocal++; +*pIndexLocal = MQTT_SUB_AVAILABLE_ID; +pIndexLocal++; +pIndexLocal[0]= 0; +pIndexLocal++; +status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); +TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); +// // 37 +packetInfo.remainingLength = 5; +pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal,2); +pIndexLocal++; +*pIndexLocal = MQTT_SHARED_SUB_ID; +pIndexLocal++; +pIndexLocal[0]= 0; +pIndexLocal++; +status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); +TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); +// // 38 +packetInfo.remainingLength = 6; +pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal,3); +pIndexLocal++; +*pIndexLocal = MQTT_SERVER_KEEP_ALIVE_ID; +pIndexLocal[0] = UINT16_HIGH_BYTE(13); +pIndexLocal[1] = UINT16_LOW_BYTE(13); +pIndexLocal = &pIndexLocal[2]; +// status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); +// TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); +// // 41 +packetInfo.remainingLength = 8; +pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal,5); +pIndexLocal++; +*pIndexLocal = MQTT_RESPONSE_INFO_ID; +pIndexLocal++; + string = "ab"; +dummy = encodeString(pIndexLocal,&string,2); +pIndexLocal = &pIndexLocal[dummy]; +status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); +TEST_ASSERT_EQUAL_INT(MQTTProtocolError,status); + +properties.reqResInfo =1; +packetInfo.remainingLength = 8; +pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal,5); +pIndexLocal++; +*pIndexLocal = MQTT_RESPONSE_INFO_ID; +pIndexLocal++; + string = "ab"; +dummy = encodeString(pIndexLocal,&string,2); +pIndexLocal = &pIndexLocal[dummy]; +status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); +TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); - status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); - TEST_ASSERT_EQUAL(MQTTBadParameter,status); - - packetInfo.type=MQTT_PACKET_TYPE_CONNACK; - status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); - TEST_ASSERT_EQUAL(MQTTBadParameter,status); +// // 46 +packetInfo.remainingLength = 8; +pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal,5); +pIndexLocal++; +*pIndexLocal = MQTT_SERVER_REF_ID; +pIndexLocal++; + string = "ab"; +dummy = encodeString(pIndexLocal,&string,2); +pIndexLocal = &pIndexLocal[dummy]; +status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); +TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); +// 51 +} + +void test_MQTTV5_GetConnectPacketSize( void ) +{ + MQTTConnectInfo_t connectInfo; + size_t remainingLength = 0; + size_t packetSize = 0; + MQTTStatus_t status = MQTTSuccess; + MQTTPublishInfo_t willInfo = { 0 }; + MQTTConnectProperties_t properties; + memset(&properties, 0x0, sizeof(properties)); + /* Call MQTTV5_GetConnectPacketSize() with various combinations of + * incorrect paramters */ + properties.receiveMax = 65535U; + properties.maxPacketSize= UINT32_MAX; + properties.reqProbInfo = 1; + status = MQTTV5_GetConnectPacketSize( NULL, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, NULL, &packetSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, &remainingLength, NULL ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + /* Verify empty connect info fails. */ + memset( &connectInfo, 0x0, sizeof( connectInfo ) ); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + + /* Verify empty client identifier fails. */ + connectInfo.pClientIdentifier = CLIENT_IDENTIFIER; + connectInfo.clientIdentifierLength = 0; + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + connectInfo.pClientIdentifier = NULL; + connectInfo.clientIdentifierLength = CLIENT_IDENTIFIER_LENGTH; + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + /* Test a will message payload length that is too large. */ + memset( &connectInfo, 0x0, sizeof( connectInfo ) ); + connectInfo.pClientIdentifier = CLIENT_IDENTIFIER; + connectInfo.clientIdentifierLength = UINT16_MAX; + connectInfo.pPassword = ""; + connectInfo.passwordLength = UINT16_MAX; + connectInfo.pUserName = ""; + connectInfo.userNameLength = UINT16_MAX; + willInfo.pTopicName = TEST_TOPIC_NAME; + willInfo.topicNameLength = UINT16_MAX; + /* A valid will message payload is less than the maximum 16 bit integer. */ + willInfo.payloadLength = UINT16_MAX + 2; + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo,&properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + /* Verify good case */ + memset( &connectInfo, 0x0, sizeof( connectInfo ) ); + connectInfo.cleanSession = true; + connectInfo.pClientIdentifier = "TEST"; + connectInfo.clientIdentifierLength = 4; + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_INT( 0, properties.propertyLength ); + /* Make sure remaining size returned is 17. */ + TEST_ASSERT_EQUAL_INT( 17, remainingLength ); + /* Make sure packet size is 19. */ + TEST_ASSERT_EQUAL_INT( 19, packetSize ); + + + /* With will. These parameters will cause the packet to be + * 4 + 2 + 8 + 2 = 16 bytes larger. */ + memset( &willInfo, 0x0, sizeof( willInfo ) ); + willInfo.pTopicName = "test"; + willInfo.topicNameLength = 4; + willInfo.pPayload = "testload"; + willInfo.payloadLength = 8; + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo,&properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + /* Make sure remaining size returned is 32 = 16 + 16 + 2. */ + TEST_ASSERT_EQUAL_INT( 34, remainingLength ); + /* Make sure packet size is 34 = 18 + 16 + 2. */ + TEST_ASSERT_EQUAL_INT( 36, packetSize ); + + /* With username and password. This will add 4 + 2 + 4 + 2 = 12 bytes. */ + connectInfo.cleanSession = true; + connectInfo.pUserName = "USER"; + connectInfo.userNameLength = 4; + connectInfo.pPassword = "PASS"; + connectInfo.passwordLength = 4; + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + /* Make sure remaining size returned is 28 = 16 + 12. */ + TEST_ASSERT_EQUAL_INT( 29, remainingLength ); + /* Make sure packet size is 30 = 18 + 12. */ + TEST_ASSERT_EQUAL_INT( 31, packetSize ); + + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,NULL, &remainingLength, NULL ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + /*Connect Properties*/ + properties.sessionExpiry= 22; + properties.receiveMax =34; + properties.isMaxPacketSize =true; + properties.maxPacketSize =32; + properties.topicAliasMax = 12; + properties.reqResInfo = 1; + properties.reqProbInfo = 0; + MQTTUserProperty_t userProperty; + memset(&userProperty, 0x0, sizeof(userProperty)); + userProperty.keyLength=3; + userProperty.valueLength=1; + userProperty.value="1"; + userProperty.key="211"; + properties.outgoingUserPropSize= 1; + properties.outgoingUserProperty = &userProperty; - packetInfo.pRemainingData=index; - packetInfo.type =MQTT_PACKET_TYPE_CONNECT; - status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); - TEST_ASSERT_EQUAL(MQTTBadParameter,status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + /* Make sure remaining size returned is 58. */ + TEST_ASSERT_EQUAL_INT( 58, remainingLength ); + /* Make sure packet size is 60. */ + TEST_ASSERT_EQUAL_INT( 60, packetSize ); -/* -* Session Present Bit is set but reason code is not equal to 0; -*/ - buffer[0] = 0x01; - buffer[1] = 0x01; - packetInfo.type=MQTT_PACKET_TYPE_CONNACK; - status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); - TEST_ASSERT_EQUAL(MQTTBadResponse,status); - - buffer[0] = 0x00; - status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); - TEST_ASSERT_EQUAL(MQTTSuccess,status); - TEST_ASSERT_EQUAL(false,sessionPresent); - - buffer[1] = 0x01; - status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); - TEST_ASSERT_EQUAL(MQTTSuccess,status); - TEST_ASSERT_EQUAL(true,sessionPresent); - - - buffer[1] = 0x01; + willInfo.payloadFormat = 1; + willInfo.msgExpiryPresent = 1; + willInfo.msgExpiryInterval= 10; + willInfo.msgExpiryPresent = 1; + willInfo.msgExpiryInterval= 10; + willInfo.contentTypeLength =2; + willInfo.contentType="ab"; + willInfo.responseTopicLength =2; + willInfo.responseTopic="ab"; + willInfo.correlationLength =2; + willInfo.correlationData="ab"; + willInfo.willDelay = 3; + // 34 + 12 + 29 + status = MQTTV5_GetConnectPacketSize( &connectInfo,&willInfo,&properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + /* Make sure remaining size returned is 50. */ + TEST_ASSERT_EQUAL_INT( 102, remainingLength ); + /* Make sure packet size is 52. */ + TEST_ASSERT_EQUAL_INT( 104, packetSize ); +} + + +// /** +// * @brief Tests that MQTTV5_SerializeConnect works as intended. +// */ +void test_MQTTV5_SerializeConnect( void ) +{ + MQTTConnectInfo_t connectInfo; + MQTTPublishInfo_t willInfo = { 0 }; + size_t remainingLength = 0; + uint8_t buffer[ 70 + 2 * BUFFER_PADDING_LENGTH ]; + size_t bufferSize = sizeof( buffer ) - 2 * BUFFER_PADDING_LENGTH; + size_t packetSize = bufferSize; + MQTTStatus_t status = MQTTSuccess; + MQTTConnectProperties_t properties; + memset(&properties,0x0, sizeof(properties)); + properties.receiveMax = 65535U; + properties.isMaxPacketSize =true; + properties.maxPacketSize= UINT32_MAX; + properties.reqProbInfo = 1; + MQTTFixedBuffer_t fixedBuffer = { .pBuffer = &buffer[ BUFFER_PADDING_LENGTH ], .size = bufferSize }; + + /* Verify bad parameter errors. */ + status = MQTTV5_SerializeConnect( NULL, &willInfo,&properties,remainingLength,&fixedBuffer ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + status =MQTTV5_SerializeConnect( &connectInfo, &willInfo,&properties, remainingLength, NULL ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + memset( &connectInfo, 0x0, sizeof( connectInfo ) ); + status = MQTTV5_SerializeConnect( &connectInfo, NULL,&properties, 120, &fixedBuffer ); + TEST_ASSERT_EQUAL_INT( MQTTNoMemory, status ); + + status = MQTTV5_SerializeConnect( &connectInfo,&willInfo,NULL, 120, &fixedBuffer ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + /* Create a good connection info. */ + memset( &connectInfo, 0x0, sizeof( connectInfo ) ); + connectInfo.pClientIdentifier = "TEST"; + connectInfo.clientIdentifierLength = 4; + + /* Inject a invalid fixed buffer test with a good connectInfo. */ + memset( &fixedBuffer, 0x0, sizeof( fixedBuffer ) ); + status = MQTTV5_SerializeConnect( &connectInfo, NULL,&properties, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + /* Good case succeeds. */ + /* Set the fixedBuffer properly for the rest of the succeeding test. */ + fixedBuffer.pBuffer = &buffer[ BUFFER_PADDING_LENGTH ]; + fixedBuffer.size = bufferSize; + + /* Calculate a good packet size. */ + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL ,&properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + /* Make sure buffer has enough space */ + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + /* Make sure test succeeds. */ + padAndResetBuffer( buffer, sizeof( buffer ) ); + status = MQTTV5_SerializeConnect( &connectInfo, NULL,&properties, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); + + /* Encode user name. Also try clean session. */ + connectInfo.cleanSession = true; + connectInfo.pUserName = "USER"; + connectInfo.userNameLength = 4; + connectInfo.pPassword = "PASS"; + connectInfo.passwordLength = 4; + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + padAndResetBuffer( buffer, sizeof( buffer ) ); + status = MQTTV5_SerializeConnect( &connectInfo, NULL,&properties, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); + + /* Serialize connect with LWT. */ + /* Test for NULL topic name. */ + ( void ) memset( &willInfo, 0x00, sizeof( MQTTPublishInfo_t ) ); + willInfo.retain = true; + willInfo.qos = MQTTQoS1; + willInfo.pPayload = "test"; + willInfo.payloadLength = ( uint16_t ) strlen( willInfo.pPayload ); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo,&properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + status = MQTTV5_SerializeConnect( &connectInfo, &willInfo,&properties, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + /* Success. */ + ( void ) memset( &willInfo, 0x00, sizeof( MQTTPublishInfo_t ) ); + willInfo.retain = true; + willInfo.qos = MQTTQoS1; + willInfo.pTopicName = "test"; + willInfo.topicNameLength = ( uint16_t ) strlen( willInfo.pTopicName ); + willInfo.pPayload = "test"; + willInfo.payloadLength = ( uint16_t ) strlen( willInfo.pPayload ); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo,&properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + padAndResetBuffer( buffer, sizeof( buffer ) ); + status = MQTTV5_SerializeConnect( &connectInfo, &willInfo,&properties, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); + + /* Again with QoS 2 and 0. */ + + willInfo.qos = MQTTQoS2; + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo,&properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + padAndResetBuffer( buffer, sizeof( buffer ) ); + status = MQTTV5_SerializeConnect( &connectInfo, &willInfo,&properties,remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); + + willInfo.qos = MQTTQoS0; + willInfo.retain = false; + /* NULL payload is acceptable. */ + willInfo.pPayload = NULL; + willInfo.payloadLength = 0; + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo,&properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + padAndResetBuffer( buffer, sizeof( buffer ) ); + status = MQTTV5_SerializeConnect( &connectInfo, &willInfo,&properties, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); + + /* Success right on the buffer boundary. */ + connectInfo.pUserName = "USER"; + connectInfo.userNameLength = 4; + /* Throwing in a possible valid zero length password. */ + connectInfo.pPassword = "PASS"; + connectInfo.passwordLength = 0; + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + /* Set the fixed buffer to exactly the size of the packet. */ + fixedBuffer.size = packetSize; + padAndResetBuffer( buffer, sizeof( buffer ) ); + status = MQTTV5_SerializeConnect( &connectInfo, NULL,&properties, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); + + /*Connect Properties*/ + properties.sessionExpiry= 22; + properties.receiveMax =34; + properties.maxPacketSize =32; + properties.topicAliasMax = 12; + properties.reqResInfo = 1; + properties.reqProbInfo = 0; + MQTTUserProperty_t userProperty; + memset(&userProperty, 0x0, sizeof(userProperty)); + userProperty.keyLength=3; + userProperty.valueLength=1; + userProperty.value="1"; + userProperty.key="211"; + properties.outgoingUserPropSize= 1; + properties.outgoingUserProperty = &userProperty; + // 29 + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + /* Set the fixed buffer to exactly the size of the packet. */ + fixedBuffer.size = packetSize; + padAndResetBuffer( buffer, sizeof( buffer ) ); + status = MQTTV5_SerializeConnect( &connectInfo, NULL,&properties, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); + + /*Will Properties*/ + willInfo.payloadFormat = 1; + willInfo.msgExpiryPresent = 1; + willInfo.msgExpiryInterval= 10; + willInfo.msgExpiryPresent = 1; + willInfo.msgExpiryInterval= 10; + willInfo.contentTypeLength =2; + willInfo.contentType="ab"; + willInfo.responseTopicLength =2; + willInfo.responseTopic="ab"; + willInfo.correlationLength =2; + willInfo.correlationData="ab"; + willInfo.willDelay = 3; + // 27 + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + /* Set the fixed buffer to exactly the size of the packet. */ + fixedBuffer.size = packetSize; + padAndResetBuffer( buffer, sizeof( buffer ) ); + status = MQTTV5_SerializeConnect( &connectInfo, NULL,&properties, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); +} +void test_serializeUserProperties(void){ + MQTTUserProperty_t userProperty[2]; + userProperty[0].key="2"; + userProperty[0].keyLength= 1; + userProperty[0].valueLength=3; + userProperty[0].value="abc"; + userProperty[1].key="2"; + userProperty[1].keyLength= 1; + userProperty[1].valueLength=2; + userProperty[1].value="ab"; + size_t encodedStringLength= 0U; + uint8_t buffer[50]; + uint8_t *pIndex= buffer; + // pIndex= serializeUserProperties(pIndex,&userProperty,1); + // TEST_ASSERT_EQUAL_INT(MQTT_USER_PROPERTY_ID,*pIndex); + // pIndex++; + // encodedStringLength = encodeString( encodedStringBuffer, + // userProperty->key, + // userProperty->keyLength); + // TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); + // pIndex += encodedStringLength; + // encodedStringLength = encodeString( encodedStringBuffer, + // userProperty->value, + // userProperty->valueLength); + // TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); + // pIndex += encodedStringLength; + + // TEST_ASSERT_EQUAL_INT(MQTT_USER_PROPERTY_ID,*pIndex); + // pIndex++; + // encodedStringLength = encodeString( encodedStringBuffer, + // (userProperty+1)->key, + // (userProperty+1)->keyLength); + // TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); + // pIndex += encodedStringLength; + + // encodedStringLength = encodeString( encodedStringBuffer, + // (userProperty+1)->value, + // (userProperty+1)->valueLength); + // TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); + // pIndex += encodedStringLength; } + +/** + * @brief This method calls MQTT_SerializeConnect successfully using different parameters + * until we have full coverage on the private method, serializeConnectPacket(...). + */ +void test_MQTTV5_SerializeConnect_Happy_Paths() +{ + MQTTStatus_t mqttStatus = MQTTSuccess; + size_t remainingLength = 0; + size_t packetSize = 0; + MQTTFixedBuffer_t networkBuffer; + MQTTConnectInfo_t connectInfo; + MQTTPublishInfo_t willInfo; + MQTTConnectProperties_t properties; + memset(&properties,0x0, sizeof(properties)); + memset(&willInfo,0x0, sizeof(willInfo)); + properties.sessionExpiry= 22; + properties.receiveMax =34; + properties.maxPacketSize =32; + properties.topicAliasMax = 12; + properties.reqResInfo = 1; + properties.reqProbInfo = 0; + willInfo.payloadFormat = 1; + willInfo.msgExpiryPresent = 1; + willInfo.msgExpiryInterval= 10; + willInfo.msgExpiryPresent = 1; + willInfo.msgExpiryInterval= 10; + willInfo.contentTypeLength =2; + willInfo.contentType="ab"; + willInfo.responseTopicLength =2; + willInfo.responseTopic="ab"; + willInfo.correlationLength =2; + willInfo.correlationData="ab"; + willInfo.willDelay = 3; + /* Fill structs to pass into methods to be tested. */ + setupNetworkBuffer( &networkBuffer ); + setupConnectInfo( &connectInfo ); + setupPublishInfo( &willInfo ); + willInfo.dup = true; + willInfo.retain = true; + /* Get MQTT connect packet size and remaining length. */ + mqttStatus = MQTTV5_GetConnectPacketSize( &connectInfo, + &willInfo, + &properties, + &remainingLength, + &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); + /* Make sure buffer has enough space. */ + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, networkBuffer.size ); + mqttStatus = MQTTV5_SerializeConnect( &connectInfo,&willInfo,&properties, + remainingLength, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); + verifySerializedConnectPacket( &connectInfo,&willInfo,&properties, + remainingLength,&networkBuffer ); + + // /* Repeat with MQTTQoS1. */ + willInfo.qos = MQTTQoS1; + mqttStatus = MQTTV5_GetConnectPacketSize( &connectInfo, + &willInfo, + &properties, + &remainingLength, + &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); + /* Make sure buffer has enough space. */ + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, networkBuffer.size ); + mqttStatus = MQTTV5_SerializeConnect( &connectInfo, &willInfo,&properties, + remainingLength, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); + verifySerializedConnectPacket( &connectInfo, &willInfo,&properties, + remainingLength, &networkBuffer ); + + + /* Re-initialize objects for branch coverage. */ + willInfo.pPayload = MQTT_SAMPLE_PAYLOAD; + willInfo.payloadLength = MQTT_SAMPLE_PAYLOAD_LEN; + willInfo.pTopicName = MQTT_CLIENT_IDENTIFIER; + willInfo.topicNameLength = MQTT_CLIENT_IDENTIFIER_LEN; + willInfo.dup = true; + willInfo.qos = MQTTQoS2; + willInfo.retain = false; + connectInfo.cleanSession = false; + connectInfo.pClientIdentifier = MQTT_CLIENT_IDENTIFIER; + connectInfo.clientIdentifierLength = MQTT_CLIENT_IDENTIFIER_LEN; + connectInfo.pUserName = NULL; + connectInfo.userNameLength = 0; + connectInfo.pPassword = NULL; + connectInfo.passwordLength = 0; + + mqttStatus = MQTTV5_GetConnectPacketSize( &connectInfo, + &willInfo, + &properties, + &remainingLength, + &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); + /* Make sure buffer has enough space. */ + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, networkBuffer.size ); + mqttStatus = MQTTV5_SerializeConnect( &connectInfo, &willInfo,&properties, + remainingLength, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); + verifySerializedConnectPacket( &connectInfo, &willInfo,&properties, + remainingLength, &networkBuffer ); + + + /* Repeat with NULL pWillInfo. */ + mqttStatus = MQTTV5_GetConnectPacketSize( &connectInfo, + NULL, + &properties, + &remainingLength, + &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); + /* Make sure buffer has enough space. */ + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, networkBuffer.size ); + mqttStatus = MQTTV5_SerializeConnect( &connectInfo, NULL,&properties, + remainingLength, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); + verifySerializedConnectPacket( &connectInfo, NULL,&properties, + remainingLength, &networkBuffer ); +} + From 8890f4d070cc9361b5b36331a8d6458c4e87df96 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Wed, 19 Jun 2024 09:50:17 +0000 Subject: [PATCH 14/82] test --- source/core_mqtt.c | 2 +- source/core_mqtt_serializer.c | 49 +- test/unit-test/MQTTv5/core_mqtt_config.h | 2 +- .../MQTTv5/core_mqttv5_serializer_utest.c | 3146 ++++++++++------- test/unit-test/MQTTv5/core_mqttv5_utest.c | 1784 +++++----- 5 files changed, 2902 insertions(+), 2081 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 111bb010e..c9dae24d8 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -2989,7 +2989,7 @@ MQTTStatus_t MQTT_Connect(MQTTContext_t *pContext, { #if (MQTT_VERSION_5_ENABLED) /* Get MQTT connect packet size and remaining length. */ - status = MQTT_GetConnectPacketSizeV5(pConnectInfo, + status = MQTTV5_GetConnectPacketSize(pConnectInfo, pWillInfo, pContext->connectProperties, &remainingLength, diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 76cbccfd6..af6d144c2 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -1022,15 +1022,15 @@ uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex, const MQTTConnectPrope static uint8_t* serializeUserProperties(uint8_t * pIndex,const MQTTUserProperty_t* pUserProperty, uint16_t size){ uint16_t i = 0; assert(pIndex!=NULL); - uint8_t* pIndexLocal = pIndex; + assert(pUserProperty !=NULL); for (; i < size; i++) { - *pIndexLocal = MQTT_USER_PROPERTY_ID; - pIndexLocal++; - pIndexLocal = encodeString(pIndexLocal,(pUserProperty+i)->key,(pUserProperty+i)->keyLength); - pIndexLocal = encodeString(pIndexLocal,(pUserProperty+i)->value,(pUserProperty+i)->valueLength); + *pIndex = MQTT_USER_PROPERTY_ID; + pIndex++; + pIndex = encodeString(pIndex,(pUserProperty+i)->key,(pUserProperty+i)->keyLength); + pIndex = encodeString(pIndex,(pUserProperty+i)->value,(pUserProperty+i)->valueLength); } - return pIndexLocal; + return pIndex; } @@ -1058,7 +1058,16 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, pIndex= MQTT_SerializeConnectProperties(pIndex,pConnectProperties); if( pConnectProperties->outgoingUserPropSize >0){ - pIndex= serializeUserProperties(pIndex, pConnectProperties->outgoingUserProperty, pConnectProperties->outgoingUserPropSize); + uint16_t i = 0; + uint16_t size = pConnectProperties->outgoingUserPropSize; + MQTTUserProperty_t * pUserProperty = pConnectProperties->outgoingUserProperty; + for (; i < size; i++) + { + *pIndex = MQTT_USER_PROPERTY_ID; + pIndex++; + pIndex = encodeString(pIndex, (pUserProperty + i)->key, (pUserProperty + i)->keyLength); + pIndex = encodeString(pIndex, (pUserProperty + i)->value, (pUserProperty + i)->valueLength); + } } MQTTAuthInfo_t *pAuthInfo = pConnectProperties->outgoingAuth; @@ -1105,7 +1114,16 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, } if (pWillInfo->userPropertySize != 0) { - pIndex = serializeUserProperties(pIndex,pWillInfo->userProperty,pWillInfo->userPropertySize); + uint16_t i = 0; + uint16_t size = pWillInfo->userPropertySize; + MQTTUserProperty_t * pUserProperty = pWillInfo->userProperty; + for (; i < size; i++) + { + *pIndex = MQTT_USER_PROPERTY_ID; + pIndex++; + pIndex = encodeString(pIndex, (pUserProperty + i)->key, (pUserProperty + i)->keyLength); + pIndex = encodeString(pIndex, (pUserProperty + i)->value, (pUserProperty + i)->valueLength); + } } pIndex = encodeString(pIndex, pWillInfo->pTopicName,pWillInfo->topicNameLength); pIndex = encodeString(pIndex,pWillInfo->pPayload,(uint16_t)pWillInfo->payloadLength); @@ -1407,7 +1425,8 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti bool* pSessionPresent) { - + + MQTTStatus_t status = MQTTSuccess; if(pConnackProperties==NULL){ status=MQTTBadParameter; @@ -1447,7 +1466,6 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti bool serverRef = false; bool authMethod = false; bool authData = false; - MQTTUserProperty_t* userProperty = pConnackProperties->incomingUserProperty; pVariableHeader=&pVariableHeader[remainingLengthEncodedSize(propertyLength)]; while ((propertyLength > 0) && (status == MQTTSuccess)) { uint8_t packetId = *pVariableHeader; @@ -1568,7 +1586,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti status = MQTTMalformedPacket; } else { - pConnackProperties->topicAliasMax = UINT16_DECODE(pVariableHeader); + pConnackProperties->serverTopicAliasMax = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; topicAlias = true; propertyLength -= 2; @@ -1599,12 +1617,13 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti case MQTT_USER_PROPERTY_ID: // Decode user property if (pConnackProperties->incomingUserPropSize == MAX_USER_PROPERTY) { - + } else if (propertyLength < 2) { status = MQTTMalformedPacket; } else { + MQTTUserProperty_t* userProperty = (pConnackProperties->incomingUserProperty + pConnackProperties->incomingUserPropSize); pConnackProperties->incomingUserPropSize++; userProperty->keyLength = UINT16_DECODE(pVariableHeader); propertyLength -= 2; @@ -1614,6 +1633,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti else { pVariableHeader=&pVariableHeader[sizeof(uint16_t)]; userProperty->key = (const char*)pVariableHeader; + propertyLength-=userProperty->keyLength; pVariableHeader = &pVariableHeader[ userProperty->keyLength]; userProperty->valueLength = UINT16_DECODE(pVariableHeader); propertyLength -= 2; @@ -1623,6 +1643,9 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti else { userProperty->value = (const char*)pVariableHeader; pVariableHeader = &pVariableHeader[ userProperty->valueLength]; + propertyLength-=userProperty->valueLength; + if (pConnackProperties->incomingUserPropSize != MAX_USER_PROPERTY -1){ + } } } } @@ -1769,7 +1792,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti pConnackProperties->incomingAuth->authData = (const char*)pVariableHeader; pVariableHeader = &pVariableHeader[pConnackProperties->incomingAuth->authDataLength]; propertyLength -= pConnackProperties->incomingAuth->authDataLength; - authMethod = true; + authData = true; } break; default: diff --git a/test/unit-test/MQTTv5/core_mqtt_config.h b/test/unit-test/MQTTv5/core_mqtt_config.h index 44a03879d..cdaba540c 100644 --- a/test/unit-test/MQTTv5/core_mqtt_config.h +++ b/test/unit-test/MQTTv5/core_mqtt_config.h @@ -72,7 +72,7 @@ #define MQTT_SUB_UNSUB_MAX_VECTORS ( 6U ) #define MQTT_SEND_TIMEOUT_MS ( 200U ) -#define MQTT_VERSION_5_ENABLED ( 1U ) +#define MQTT_VERSION_5_ENABLED ( true ) #define MAX_USER_PROPERTY (5U) #endif /* ifndef CORE_MQTT_CONFIG_H_ */ \ No newline at end of file diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index 153f24107..d7feea91d 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -28,7 +28,7 @@ */ #include #include -#include +#include #include "unity.h" /* Include paths for public enums, structures, and macros. */ @@ -37,82 +37,80 @@ /* Set network context to double pointer to buffer (uint8_t**). */ struct NetworkContext { - uint8_t ** buffer; + uint8_t **buffer; }; -#define MQTT_MAX_REMAINING_LENGTH ( 268435455UL ) -#define MQTT_PACKET_CONNACK_REMAINING_LENGTH ( ( uint8_t ) 2U ) /**< @brief A CONNACK packet always has a "Remaining length" of 2. */ -#define MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK ( ( uint8_t ) 0x01U ) /**< @brief The "Session Present" bit is always the lowest bit. */ -#define MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH ( ( uint8_t ) 2 ) /**< @brief PUBACK, PUBREC, PUBREl, PUBCOMP, UNSUBACK Remaining length. */ -#define MQTT_PACKET_PINGRESP_REMAINING_LENGTH ( 0U ) /**< @brief A PINGRESP packet always has a "Remaining length" of 0. */ -#define MQTT_PACKET_PUBACK_REMAINING_LENGTH ( 2U ) -#define MQTT_PACKET_UNSUBACK_REMAINING_LENGTH ( 2U ) +#define MQTT_MAX_REMAINING_LENGTH (268435455UL) +#define MQTT_PACKET_CONNACK_REMAINING_LENGTH ((uint8_t)2U) /**< @brief A CONNACK packet always has a "Remaining length" of 2. */ +#define MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK ((uint8_t)0x01U) /**< @brief The "Session Present" bit is always the lowest bit. */ +#define MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH ((uint8_t)2) /**< @brief PUBACK, PUBREC, PUBREl, PUBCOMP, UNSUBACK Remaining length. */ +#define MQTT_PACKET_PINGRESP_REMAINING_LENGTH (0U) /**< @brief A PINGRESP packet always has a "Remaining length" of 0. */ +#define MQTT_PACKET_PUBACK_REMAINING_LENGTH (2U) +#define MQTT_PACKET_UNSUBACK_REMAINING_LENGTH (2U) /* * MQTT client identifier. */ -#define MQTT_CLIENT_IDENTIFIER "testclient" +#define MQTT_CLIENT_IDENTIFIER "testclient" /* * Client identifier and length to use for the MQTT API tests. */ -#define CLIENT_IDENTIFIER ( "test" ) /**< @brief Client identifier. */ -#define CLIENT_IDENTIFIER_LENGTH ( ( uint16_t ) ( sizeof( CLIENT_IDENTIFIER ) - 1 ) ) /**< @brief Length of client identifier. */ +#define CLIENT_IDENTIFIER ("test") /**< @brief Client identifier. */ +#define CLIENT_IDENTIFIER_LENGTH ((uint16_t)(sizeof(CLIENT_IDENTIFIER) - 1)) /**< @brief Length of client identifier. */ /* * Topic name and length to use for the MQTT API tests. */ -#define TEST_TOPIC_NAME ( "/test/topic" ) /**< @brief An arbitrary topic name. */ -#define TEST_TOPIC_NAME_LENGTH ( ( uint16_t ) ( sizeof( TEST_TOPIC_NAME ) - 1 ) ) /**< @brief Length of topic name. */ - +#define TEST_TOPIC_NAME ("/test/topic") /**< @brief An arbitrary topic name. */ +#define TEST_TOPIC_NAME_LENGTH ((uint16_t)(sizeof(TEST_TOPIC_NAME) - 1)) /**< @brief Length of topic name. */ /** * @brief MQTT protocol version 3.1.1. */ -#define MQTT_VERSION_3_1_1 ( ( uint8_t ) 4U ) +#define MQTT_VERSION_3_1_1 ((uint8_t)4U) /** * @brief Test-defined macro for MQTT username. */ -#define MQTT_TEST_USERNAME "username" -#define MQTT_TEST_USERNAME_LEN ( sizeof( MQTT_TEST_USERNAME ) - 1 ) - +#define MQTT_TEST_USERNAME "username" +#define MQTT_TEST_USERNAME_LEN (sizeof(MQTT_TEST_USERNAME) - 1) /** * @brief Test-defined macro for MQTT password. */ -#define MQTT_TEST_PASSWORD "password" -#define MQTT_TEST_PASSWORD_LEN ( sizeof( MQTT_TEST_PASSWORD ) - 1 ) +#define MQTT_TEST_PASSWORD "password" +#define MQTT_TEST_PASSWORD_LEN (sizeof(MQTT_TEST_PASSWORD) - 1) /** * @brief Length of the client identifier. */ -#define MQTT_CLIENT_IDENTIFIER_LEN ( sizeof( MQTT_CLIENT_IDENTIFIER ) - 1 ) +#define MQTT_CLIENT_IDENTIFIER_LEN (sizeof(MQTT_CLIENT_IDENTIFIER) - 1) /** * @brief Sample payload. */ -#define MQTT_SAMPLE_PAYLOAD "Hello World" -#define MQTT_SAMPLE_PAYLOAD_LEN ( sizeof( MQTT_SAMPLE_PAYLOAD ) - 1 ) +#define MQTT_SAMPLE_PAYLOAD "Hello World" +#define MQTT_SAMPLE_PAYLOAD_LEN (sizeof(MQTT_SAMPLE_PAYLOAD) - 1) /* MQTT CONNECT flags. */ -#define MQTT_CONNECT_FLAG_CLEAN ( 1 ) /**< @brief Clean session. */ -#define MQTT_CONNECT_FLAG_WILL ( 2 ) /**< @brief Will present. */ -#define MQTT_CONNECT_FLAG_WILL_QOS1 ( 3 ) /**< @brief Will QoS 1. */ -#define MQTT_CONNECT_FLAG_WILL_QOS2 ( 4 ) /**< @brief Will QoS 2. */ -#define MQTT_CONNECT_FLAG_WILL_RETAIN ( 5 ) /**< @brief Will retain. */ -#define MQTT_CONNECT_FLAG_PASSWORD ( 6 ) /**< @brief Password present. */ -#define MQTT_CONNECT_FLAG_USERNAME ( 7 ) /**< @brief User name present. */ +#define MQTT_CONNECT_FLAG_CLEAN (1) /**< @brief Clean session. */ +#define MQTT_CONNECT_FLAG_WILL (2) /**< @brief Will present. */ +#define MQTT_CONNECT_FLAG_WILL_QOS1 (3) /**< @brief Will QoS 1. */ +#define MQTT_CONNECT_FLAG_WILL_QOS2 (4) /**< @brief Will QoS 2. */ +#define MQTT_CONNECT_FLAG_WILL_RETAIN (5) /**< @brief Will retain. */ +#define MQTT_CONNECT_FLAG_PASSWORD (6) /**< @brief Password present. */ +#define MQTT_CONNECT_FLAG_USERNAME (7) /**< @brief User name present. */ /** * @brief The Remaining Length field of MQTT disconnect packets, per MQTT spec. */ -#define MQTT_DISCONNECT_REMAINING_LENGTH ( ( uint8_t ) 0 ) +#define MQTT_DISCONNECT_REMAINING_LENGTH ((uint8_t)0) /** * @brief Set a bit in an 8-bit unsigned integer. */ -#define UINT8_SET_BIT( x, position ) ( ( x ) = ( uint8_t ) ( ( x ) | ( 0x01U << ( position ) ) ) ) +#define UINT8_SET_BIT(x, position) ((x) = (uint8_t)((x) | (0x01U << (position)))) /** * @brief Macro for checking if a bit is set in a 1-byte unsigned int. @@ -120,115 +118,111 @@ struct NetworkContext * @param[in] x The unsigned int to check. * @param[in] position Which bit to check. */ -#define UINT8_CHECK_BIT( x, position ) ( ( ( x ) & ( 0x01U << ( position ) ) ) == ( 0x01U << ( position ) ) ) +#define UINT8_CHECK_BIT(x, position) (((x) & (0x01U << (position))) == (0x01U << (position))) /** * @brief Get the high byte of a 16-bit unsigned integer. */ -#define UINT16_HIGH_BYTE( x ) ( ( uint8_t ) ( ( x ) >> 8 ) ) +#define UINT16_HIGH_BYTE(x) ((uint8_t)((x) >> 8)) /** * @brief Get the low byte of a 16-bit unsigned integer. */ -#define UINT16_LOW_BYTE( x ) ( ( uint8_t ) ( ( x ) & 0x00ffU ) ) +#define UINT16_LOW_BYTE(x) ((uint8_t)((x) & 0x00ffU)) /** * @brief Maximum number of bytes in the Remaining Length field is four according * to MQTT 3.1.1 spec. */ -#define MQTT_REMAINING_BUFFER_MAX_LENGTH ( 4 ) +#define MQTT_REMAINING_BUFFER_MAX_LENGTH (4) /** * @brief Length of buffer padding to use in under/overflow checks. */ -#define BUFFER_PADDING_LENGTH ( 4 ) +#define BUFFER_PADDING_LENGTH (4) /** * @brief Byte to use for buffer padding in under/overflow checks. */ -#define BUFFER_PADDING_BYTE ( 0xA5 ) +#define BUFFER_PADDING_BYTE (0xA5) /** * @brief Length of the MQTT network buffer. */ -#define MQTT_TEST_BUFFER_LENGTH ( 1024 ) - -#define UINT16_DECODE( ptr ) \ - ( uint16_t ) ( ( ( ( uint16_t ) ptr[ 0 ] ) << 8 ) | \ - ( ( uint16_t ) ptr[ 1 ] ) ) - -#define UINT32_DECODE( ptr ) \ - ( uint32_t ) ( ( ( ( uint32_t ) ptr[ 0 ] ) << 8 ) | \ - ( ( ( uint32_t ) ptr[1] ) << 16 ) | \ - ( ( ( uint32_t ) ptr[ 2 ] ) << 24 ) | \ - ( ( uint32_t ) ptr[ 3 ] ) ) - -#define UINT32_BYTE3( x ) ( ( uint8_t ) ( ( x ) >> 24 ) ) - -#define UINT32_BYTE2( x ) ( ( uint8_t ) ( ( x ) >> 16 ) ) - -#define UINT32_BYTE1( x ) ( ( uint8_t ) ( ( x ) >> 8 ) ) - -#define UINT32_BYTE0( x ) ( ( uint8_t ) ( ( x ) & 0x000000FFU ) ) - -#define MQTT_VERSION_5 (5U) -#define MQTT_SESSION_EXPIRY_SIZE (5U) -#define MQTT_RECEIVE_MAX_SIZE (3U) -#define MQTT_MAX_PACKET_SIZE (5U) -#define MQTT_TOPIC_ALIAS_SIZE (3U) -#define MQTT_REQUEST_RESPONSE_SIZE (2U) -#define MQTT_REQUEST_PPOBLEM_SIZE (2U) - -#define MQTT_SESSION_EXPIRY_ID (0x11) -#define MQTT_RECEIVE_MAX_ID (0x21) -#define MQTT_MAX_PACKET_SIZE_ID (0x27) -#define MQTT_TOPIC_ALIAS_MAX_ID (0x22) -#define MQTT_REQUEST_RESPONSE_ID (0x19) -#define MQTT_REQUEST_PROBLEM_ID (0x17) -#define MQTT_USER_PROPERTY_ID (0x26) -#define MQTT_AUTH_METHOD_ID (0x15) -#define MQTT_AUTH_DATA_ID (0x16) - -#define MQTT_WILL_DELAY_ID (0x18) -#define MQTT_PAYLOAD_FORMAT_ID (0x01) -#define MQTT_MSG_EXPIRY_ID (0x02) -#define MQTT_CONTENT_TYPE_ID (0x03) -#define MQTT_RESPONSE_TOPIC_ID (0x08) -#define MQTT_CORRELATION_DATA_ID (0x09) - - -#define MQTT_MAX_QOS_ID (0x24) -#define MQTT_RETAIN_AVAILABLE_ID (0x25) -#define MQTT_ASSIGNED_CLIENT_ID (0x12) -#define MQTT_REASON_STRING_ID (0x1F) -#define MQTT_WILDCARD_ID (0x28) -#define MQTT_SUB_AVAILABLE_ID (0x29) -#define MQTT_SHARED_SUB_ID (0x2A) -#define MQTT_SERVER_KEEP_ALIVE_ID (0x13) -#define MQTT_RESPONSE_INFO_ID (0x1A) -#define MQTT_SERVER_REF_ID (0x1C) - -#define CORE_MQTT_ID_SIZE ( 1U ) -#define MQTT_REMAINING_LENGTH_INVALID ( ( size_t ) 268435456 ) - - - - -static uint8_t remainingLengthBuffer[ MQTT_REMAINING_BUFFER_MAX_LENGTH ] = { 0 }; - -static uint8_t encodedStringBuffer[ MQTT_TEST_BUFFER_LENGTH ] = { 0 }; - -static uint8_t mqttBuffer[ MQTT_TEST_BUFFER_LENGTH ] = { 0 }; +#define MQTT_TEST_BUFFER_LENGTH (1024) + +#define UINT16_DECODE(ptr) \ + (uint16_t)((((uint16_t)ptr[0]) << 8) | \ + ((uint16_t)ptr[1])) + +#define UINT32_DECODE(ptr) \ + (uint32_t)((((uint32_t)ptr[0]) << 8) | \ + (((uint32_t)ptr[1]) << 16) | \ + (((uint32_t)ptr[2]) << 24) | \ + ((uint32_t)ptr[3])) + +#define UINT32_BYTE3(x) ((uint8_t)((x) >> 24)) + +#define UINT32_BYTE2(x) ((uint8_t)((x) >> 16)) + +#define UINT32_BYTE1(x) ((uint8_t)((x) >> 8)) + +#define UINT32_BYTE0(x) ((uint8_t)((x) & 0x000000FFU)) + +#define MQTT_VERSION_5 (5U) +#define MQTT_SESSION_EXPIRY_SIZE (5U) +#define MQTT_RECEIVE_MAX_SIZE (3U) +#define MQTT_MAX_PACKET_SIZE (5U) +#define MQTT_TOPIC_ALIAS_SIZE (3U) +#define MQTT_REQUEST_RESPONSE_SIZE (2U) +#define MQTT_REQUEST_PPOBLEM_SIZE (2U) + +#define MQTT_SESSION_EXPIRY_ID (0x11) +#define MQTT_RECEIVE_MAX_ID (0x21) +#define MQTT_MAX_PACKET_SIZE_ID (0x27) +#define MQTT_TOPIC_ALIAS_MAX_ID (0x22) +#define MQTT_REQUEST_RESPONSE_ID (0x19) +#define MQTT_REQUEST_PROBLEM_ID (0x17) +#define MQTT_USER_PROPERTY_ID (0x26) +#define MQTT_AUTH_METHOD_ID (0x15) +#define MQTT_AUTH_DATA_ID (0x16) + +#define MQTT_WILL_DELAY_ID (0x18) +#define MQTT_PAYLOAD_FORMAT_ID (0x01) +#define MQTT_MSG_EXPIRY_ID (0x02) +#define MQTT_CONTENT_TYPE_ID (0x03) +#define MQTT_RESPONSE_TOPIC_ID (0x08) +#define MQTT_CORRELATION_DATA_ID (0x09) + +#define MQTT_MAX_QOS_ID (0x24) +#define MQTT_RETAIN_AVAILABLE_ID (0x25) +#define MQTT_ASSIGNED_CLIENT_ID (0x12) +#define MQTT_REASON_STRING_ID (0x1F) +#define MQTT_WILDCARD_ID (0x28) +#define MQTT_SUB_AVAILABLE_ID (0x29) +#define MQTT_SHARED_SUB_ID (0x2A) +#define MQTT_SERVER_KEEP_ALIVE_ID (0x13) +#define MQTT_RESPONSE_INFO_ID (0x1A) +#define MQTT_SERVER_REF_ID (0x1C) + +#define CORE_MQTT_ID_SIZE (1U) +#define MQTT_REMAINING_LENGTH_INVALID ((size_t)268435456) + +static uint8_t remainingLengthBuffer[MQTT_REMAINING_BUFFER_MAX_LENGTH] = {0}; + +static uint8_t encodedStringBuffer[MQTT_TEST_BUFFER_LENGTH] = {0}; + +static uint8_t mqttBuffer[MQTT_TEST_BUFFER_LENGTH] = {0}; /* ============================ UNITY FIXTURES ============================ */ /* Called before each test method. */ -void setUp( void ) +void setUp(void) { } /* Called after each test method. */ -void tearDown( void ) +void tearDown(void) { } @@ -238,31 +232,31 @@ void suiteSetUp() } /* Called at the end of the whole suite. */ -int suiteTearDown( int numFailures ) +int suiteTearDown(int numFailures) { return numFailures; } /* ========================================================================== */ -static int32_t mockReceive( NetworkContext_t * pNetworkContext, - void * pBuffer, - size_t bytesToRecv ) +static int32_t mockReceive(NetworkContext_t *pNetworkContext, + void *pBuffer, + size_t bytesToRecv) { - uint8_t * returnBuffer = ( uint8_t * ) pBuffer; - uint8_t * mockNetwork; + uint8_t *returnBuffer = (uint8_t *)pBuffer; + uint8_t *mockNetwork; size_t bytesRead = 0; /* Treat network context as pointer to buffer for mocking */ - mockNetwork = *( pNetworkContext->buffer ); + mockNetwork = *(pNetworkContext->buffer); - while( bytesRead++ < bytesToRecv ) + while (bytesRead++ < bytesToRecv) { /* Read single byte and advance buffer. */ *returnBuffer++ = *mockNetwork++; } /* Move stream by bytes read. */ - *( pNetworkContext->buffer ) = mockNetwork; + *(pNetworkContext->buffer) = mockNetwork; return bytesToRecv; } @@ -270,14 +264,14 @@ static int32_t mockReceive( NetworkContext_t * pNetworkContext, /** * @brief Mock transport receive with no data available. */ -static int32_t mockReceiveNoData( NetworkContext_t * pNetworkContext, - void * pBuffer, - size_t bytesToRecv ) +static int32_t mockReceiveNoData(NetworkContext_t *pNetworkContext, + void *pBuffer, + size_t bytesToRecv) { /* Suppress unused parameter warning. */ - ( void ) pNetworkContext; - ( void ) pBuffer; - ( void ) bytesToRecv; + (void)pNetworkContext; + (void)pBuffer; + (void)bytesToRecv; return 0; } @@ -285,14 +279,14 @@ static int32_t mockReceiveNoData( NetworkContext_t * pNetworkContext, /** * @brief Mock transport receive failure. */ -static int32_t mockReceiveFailure( NetworkContext_t * pNetworkContext, - void * pBuffer, - size_t bytesToRecv ) +static int32_t mockReceiveFailure(NetworkContext_t *pNetworkContext, + void *pBuffer, + size_t bytesToRecv) { /* Suppress unused parameter warning. */ - ( void ) pNetworkContext; - ( void ) pBuffer; - ( void ) bytesToRecv; + (void)pNetworkContext; + (void)pBuffer; + (void)bytesToRecv; return -1; } @@ -300,21 +294,21 @@ static int32_t mockReceiveFailure( NetworkContext_t * pNetworkContext, /** * @brief Mock transport receive that succeeds once, then fails. */ -static int32_t mockReceiveSucceedThenFail( NetworkContext_t * pNetworkContext, - void * pBuffer, - size_t bytesToRecv ) +static int32_t mockReceiveSucceedThenFail(NetworkContext_t *pNetworkContext, + void *pBuffer, + size_t bytesToRecv) { int32_t retVal = 0; static int counter = 0; - if( counter++ ) + if (counter++) { - retVal = mockReceiveFailure( pNetworkContext, pBuffer, bytesToRecv ); + retVal = mockReceiveFailure(pNetworkContext, pBuffer, bytesToRecv); counter = 0; } else { - retVal = mockReceive( pNetworkContext, pBuffer, bytesToRecv ); + retVal = mockReceive(pNetworkContext, pBuffer, bytesToRecv); } return retVal; @@ -327,7 +321,7 @@ static int32_t mockReceiveSucceedThenFail( NetworkContext_t * pNetworkContext, * * @param[in] pNetworkBuffer Network buffer provided for the context. */ -static void setupNetworkBuffer( MQTTFixedBuffer_t * const pNetworkBuffer ) +static void setupNetworkBuffer(MQTTFixedBuffer_t *const pNetworkBuffer) { pNetworkBuffer->pBuffer = mqttBuffer; pNetworkBuffer->size = 2048; @@ -338,7 +332,7 @@ static void setupNetworkBuffer( MQTTFixedBuffer_t * const pNetworkBuffer ) * * @param[in] pConnectInfo MQTT CONNECT packet parameters. */ -static void setupConnectInfo( MQTTConnectInfo_t * const pConnectInfo ) +static void setupConnectInfo(MQTTConnectInfo_t *const pConnectInfo) { pConnectInfo->cleanSession = true; pConnectInfo->pClientIdentifier = MQTT_CLIENT_IDENTIFIER; @@ -350,14 +344,14 @@ static void setupConnectInfo( MQTTConnectInfo_t * const pConnectInfo ) pConnectInfo->passwordLength = MQTT_TEST_PASSWORD_LEN; } - static size_t remainingLengthEncodedSize(size_t length) +static size_t remainingLengthEncodedSize(size_t length) { size_t encodedSize; /* Determine how many bytes are needed to encode length. * The values below are taken from the MQTT 3.1.1 spec. */ - /* 1 byte is needed to encode lengths between 0 and 127. */ + /* 1 byte is needed to encode lengths between 0 and 127. */ if (length < 128U) { encodedSize = 1U; @@ -379,8 +373,8 @@ static void setupConnectInfo( MQTTConnectInfo_t * const pConnectInfo ) } LogDebug(("Encoded size for length %lu is %lu bytes.", - (unsigned long)length, - (unsigned long)encodedSize)); + (unsigned long)length, + (unsigned long)encodedSize)); return encodedSize; } @@ -389,7 +383,7 @@ static void setupConnectInfo( MQTTConnectInfo_t * const pConnectInfo ) * * @param[in] pPublishInfo Publish information. */ -static void setupPublishInfo( MQTTPublishInfo_t * pPublishInfo ) +static void setupPublishInfo(MQTTPublishInfo_t *pPublishInfo) { pPublishInfo->pTopicName = TEST_TOPIC_NAME; pPublishInfo->topicNameLength = TEST_TOPIC_NAME_LENGTH; @@ -407,35 +401,35 @@ static void setupPublishInfo( MQTTPublishInfo_t * pPublishInfo ) * @param[in] pDestination Buffer to write encoded remaining length. * @param[in] length Actual remaining length. */ -static size_t encodeRemainingLength( uint8_t * pDestination, - size_t length ) +static size_t encodeRemainingLength(uint8_t *pDestination, + size_t length) { uint8_t lengthByte; - uint8_t * pLengthEnd = NULL; + uint8_t *pLengthEnd = NULL; size_t remainingLength = length; - TEST_ASSERT_NOT_NULL( pDestination ); + TEST_ASSERT_NOT_NULL(pDestination); pLengthEnd = pDestination; /* This algorithm is copied from the MQTT v3.1.1 spec. */ do { - lengthByte = ( uint8_t ) ( remainingLength % 128U ); + lengthByte = (uint8_t)(remainingLength % 128U); remainingLength = remainingLength / 128U; /* Set the high bit of this byte, indicating that there's more data. */ - if( remainingLength > 0U ) + if (remainingLength > 0U) { - UINT8_SET_BIT( lengthByte, 7 ); + UINT8_SET_BIT(lengthByte, 7); } /* Output a single encoded byte. */ *pLengthEnd = lengthByte; pLengthEnd++; - } while( remainingLength > 0U ); + } while (remainingLength > 0U); - return ( size_t ) ( pLengthEnd - pDestination ); + return (size_t)(pLengthEnd - pDestination); } /** @@ -446,36 +440,36 @@ static size_t encodeRemainingLength( uint8_t * pDestination, * @param[in] source String to encode. * @param[in] sourceLength Length of the string to encode. */ -static size_t encodeString( uint8_t * pDestination, - const char * source, - uint16_t sourceLength ) +static size_t encodeString(uint8_t *pDestination, + const char *source, + uint16_t sourceLength) { - uint8_t * pBuffer = NULL; + uint8_t *pBuffer = NULL; /* Typecast const char * typed source buffer to const uint8_t *. * This is to use same type buffers in memcpy. */ - const uint8_t * pSourceBuffer = ( const uint8_t * ) source; + const uint8_t *pSourceBuffer = (const uint8_t *)source; - TEST_ASSERT_NOT_NULL( pSourceBuffer ); - TEST_ASSERT_NOT_NULL( pDestination ); + TEST_ASSERT_NOT_NULL(pSourceBuffer); + TEST_ASSERT_NOT_NULL(pDestination); pBuffer = pDestination; /* The first byte of a UTF-8 string is the high byte of the string length. */ - *pBuffer = UINT16_HIGH_BYTE( sourceLength ); + *pBuffer = UINT16_HIGH_BYTE(sourceLength); pBuffer++; /* The second byte of a UTF-8 string is the low byte of the string length. */ - *pBuffer = UINT16_LOW_BYTE( sourceLength ); + *pBuffer = UINT16_LOW_BYTE(sourceLength); pBuffer++; /* Copy the string into pBuffer. */ - ( void ) memcpy( pBuffer, pSourceBuffer, sourceLength ); + (void)memcpy(pBuffer, pSourceBuffer, sourceLength); /* Return the pointer to the end of the encoded string. */ pBuffer += sourceLength; - return ( size_t ) ( pBuffer - pDestination ); + return (size_t)(pBuffer - pDestination); } /** @@ -485,19 +479,19 @@ static size_t encodeString( uint8_t * pDestination, * @param[in] pBuffer Buffer to pad. * @param[in] bufferLength Total length of buffer. */ -static void padAndResetBuffer( uint8_t * pBuffer, - size_t bufferLength ) +static void padAndResetBuffer(uint8_t *pBuffer, + size_t bufferLength) { int i = 0; - for( i = 0; i < BUFFER_PADDING_LENGTH; i++ ) + for (i = 0; i < BUFFER_PADDING_LENGTH; i++) { - pBuffer[ i ] = BUFFER_PADDING_BYTE; - pBuffer[ bufferLength - 1 - i ] = BUFFER_PADDING_BYTE; + pBuffer[i] = BUFFER_PADDING_BYTE; + pBuffer[bufferLength - 1 - i] = BUFFER_PADDING_BYTE; } /* Zero out rest of buffer. */ - memset( &pBuffer[ BUFFER_PADDING_LENGTH ], 0x0, bufferLength - 2 * BUFFER_PADDING_LENGTH ); + memset(&pBuffer[BUFFER_PADDING_LENGTH], 0x0, bufferLength - 2 * BUFFER_PADDING_LENGTH); } /** @@ -506,215 +500,238 @@ static void padAndResetBuffer( uint8_t * pBuffer, * @param[in] pBuffer Buffer to check. * @param[in] bufferLength Total length of buffer. */ -static void checkBufferOverflow( uint8_t * pBuffer, - size_t bufferLength ) +static void checkBufferOverflow(uint8_t *pBuffer, + size_t bufferLength) { /* Check beginning of buffer. */ - TEST_ASSERT_EACH_EQUAL_UINT8( BUFFER_PADDING_BYTE, - pBuffer, - BUFFER_PADDING_LENGTH ); + TEST_ASSERT_EACH_EQUAL_UINT8(BUFFER_PADDING_BYTE, + pBuffer, + BUFFER_PADDING_LENGTH); /* Check end. */ - TEST_ASSERT_EACH_EQUAL_UINT8( BUFFER_PADDING_BYTE, - pBuffer + bufferLength - BUFFER_PADDING_LENGTH, - BUFFER_PADDING_LENGTH ); + TEST_ASSERT_EACH_EQUAL_UINT8(BUFFER_PADDING_BYTE, + pBuffer + bufferLength - BUFFER_PADDING_LENGTH, + BUFFER_PADDING_LENGTH); } - - -static MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* pUserProperty, uint16_t number, size_t* size) { +static MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t *pUserProperty, uint16_t number, size_t *size) +{ MQTTStatus_t status = MQTTSuccess; uint16_t i = 0; /*Number of user properties can't be more than the max user properties specified*/ - if (number > MAX_USER_PROPERTY || size == NULL) { + if (number > MAX_USER_PROPERTY || size == NULL) + { status = MQTTBadParameter; } - else if (number != 0 && pUserProperty == NULL) { + else if (number != 0 && pUserProperty == NULL) + { status = MQTTBadParameter; } - else { - for (;i < number && status == MQTTSuccess;i++) { - if ((pUserProperty + i) == NULL || (pUserProperty + i)->keyLength == 0 || (pUserProperty + i)->valueLength == 0 || (pUserProperty + i)->key == NULL || (pUserProperty + i)->value == NULL) { + else + { + for (; i < number && status == MQTTSuccess; i++) + { + if ((pUserProperty + i) == NULL || (pUserProperty + i)->keyLength == 0 || (pUserProperty + i)->valueLength == 0 || (pUserProperty + i)->key == NULL || (pUserProperty + i)->value == NULL) + { status = MQTTBadParameter; } - else{ - *size += (pUserProperty + i)->keyLength + 3U; - *size += (pUserProperty + i)->valueLength + 2U; + else + { + *size += (pUserProperty + i)->keyLength + 3U; + *size += (pUserProperty + i)->valueLength + 2U; } } } return status; } - -static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProperties) +static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t *pConnectProperties) { size_t propertyLength = 0; MQTTStatus_t status = MQTTSuccess; /*Validate the arguments*/ - if(pConnectProperties==NULL){ - status=MQTTBadParameter; - } - else if(pConnectProperties->maxPacketSize==0 || pConnectProperties->receiveMax==0){ - status=MQTTBadParameter; - } - else{ - /*Add the lengths of the parameters if applicable*/ - if (pConnectProperties->sessionExpiry != 0) - { - propertyLength += MQTT_SESSION_EXPIRY_SIZE; - } - if (pConnectProperties->receiveMax != UINT16_MAX) + if (pConnectProperties == NULL) { - propertyLength += MQTT_RECEIVE_MAX_SIZE; - } - if (pConnectProperties->isMaxPacketSize != false) - { - propertyLength += MQTT_MAX_PACKET_SIZE; - } - if (pConnectProperties->topicAliasMax != 0U) - { - propertyLength += MQTT_TOPIC_ALIAS_SIZE; - } - if (pConnectProperties->reqResInfo != 0) - { - propertyLength += MQTT_REQUEST_RESPONSE_SIZE; + status = MQTTBadParameter; } - if (pConnectProperties->reqProbInfo != 1) + else if (pConnectProperties->maxPacketSize == 0 || pConnectProperties->receiveMax == 0) { - propertyLength += MQTT_REQUEST_PPOBLEM_SIZE; + status = MQTTBadParameter; } - if (pConnectProperties->outgoingAuth != NULL) + else { - /*Incoming auth cannot be NULL*/ - if(pConnectProperties->incomingAuth==NULL){ - status=MQTTBadParameter; + /*Add the lengths of the parameters if applicable*/ + if (pConnectProperties->sessionExpiry != 0) + { + propertyLength += MQTT_SESSION_EXPIRY_SIZE; } - /*Valid authentication parameters*/ - else if (pConnectProperties->outgoingAuth->authMethodLength == 0U && pConnectProperties->outgoingAuth->authDataLength != 0U) + if (pConnectProperties->receiveMax != UINT16_MAX) { - status = MQTTBadParameter; + propertyLength += MQTT_RECEIVE_MAX_SIZE; } - else if ((pConnectProperties->outgoingAuth->authMethodLength != 0U) && (pConnectProperties->outgoingAuth->authMethod == NULL)) + if (pConnectProperties->isMaxPacketSize != false) { - status = MQTTBadParameter; + propertyLength += MQTT_MAX_PACKET_SIZE; } - else if ((pConnectProperties->outgoingAuth->authDataLength != 0U) && (pConnectProperties->outgoingAuth->authData == NULL)) + if (pConnectProperties->topicAliasMax != 0U) { - status = MQTTBadParameter; + propertyLength += MQTT_TOPIC_ALIAS_SIZE; } - else + if (pConnectProperties->reqResInfo != 0) + { + propertyLength += MQTT_REQUEST_RESPONSE_SIZE; + } + if (pConnectProperties->reqProbInfo != 1) + { + propertyLength += MQTT_REQUEST_PPOBLEM_SIZE; + } + if (pConnectProperties->outgoingAuth != NULL) { - propertyLength += pConnectProperties->outgoingAuth->authMethodLength; - propertyLength += 3U; - if (pConnectProperties->outgoingAuth->authDataLength != 0U) { - propertyLength += pConnectProperties->outgoingAuth->authDataLength; + /*Incoming auth cannot be NULL*/ + if (pConnectProperties->incomingAuth == NULL) + { + status = MQTTBadParameter; + } + /*Valid authentication parameters*/ + else if (pConnectProperties->outgoingAuth->authMethodLength == 0U && pConnectProperties->outgoingAuth->authDataLength != 0U) + { + status = MQTTBadParameter; + } + else if ((pConnectProperties->outgoingAuth->authMethodLength != 0U) && (pConnectProperties->outgoingAuth->authMethod == NULL)) + { + status = MQTTBadParameter; + } + else if ((pConnectProperties->outgoingAuth->authDataLength != 0U) && (pConnectProperties->outgoingAuth->authData == NULL)) + { + status = MQTTBadParameter; + } + else + { + propertyLength += pConnectProperties->outgoingAuth->authMethodLength; propertyLength += 3U; + if (pConnectProperties->outgoingAuth->authDataLength != 0U) + { + propertyLength += pConnectProperties->outgoingAuth->authDataLength; + propertyLength += 3U; + } } } } - } /*Get the length of the user properties*/ - if (status == MQTTSuccess && pConnectProperties->outgoingUserPropSize != 0) { + if (status == MQTTSuccess && pConnectProperties->outgoingUserPropSize != 0) + { status = MQTT_GetUserPropertySize(pConnectProperties->outgoingUserProperty, pConnectProperties->outgoingUserPropSize, &propertyLength); } /*Variable length encoded values cannot have valued more than 268435455U*/ - if (status == MQTTSuccess && pConnectProperties->propertyLength > MQTT_MAX_REMAINING_LENGTH) { + if (status == MQTTSuccess && pConnectProperties->propertyLength > MQTT_MAX_REMAINING_LENGTH) + { status = MQTTBadParameter; } - if(status==MQTTSuccess){ - pConnectProperties->propertyLength = propertyLength; + if (status == MQTTSuccess) + { + pConnectProperties->propertyLength = propertyLength; } return status; - } -static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillProperties) +static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillProperties) { size_t willLength = 0U; MQTTStatus_t status = MQTTSuccess; /*Validate the arguments*/ - if(pWillProperties==NULL){ - status=MQTTBadParameter; - } - else{ - /*Add the length of all the parameters which are applicable*/ - if (pWillProperties->willDelay != 0U) - { - willLength += 5U; - } - if (pWillProperties->payloadFormat != 0) - { - willLength += 2U; - } - if (pWillProperties->msgExpiryPresent == true) + if (pWillProperties == NULL) { - willLength += 5U; + status = MQTTBadParameter; } - if (pWillProperties->contentTypeLength != 0U) + else { - if(pWillProperties->contentType==NULL){ - status= MQTTBadParameter; + /*Add the length of all the parameters which are applicable*/ + if (pWillProperties->willDelay != 0U) + { + willLength += 5U; } - else{ - willLength += pWillProperties->contentTypeLength + 3U; + if (pWillProperties->payloadFormat != 0) + { + willLength += 2U; + } + if (pWillProperties->msgExpiryPresent == true) + { + willLength += 5U; + } + if (pWillProperties->contentTypeLength != 0U) + { + if (pWillProperties->contentType == NULL) + { + status = MQTTBadParameter; + } + else + { + willLength += pWillProperties->contentTypeLength + 3U; + } } - } } /*Validate if length and pointers are valid*/ - if(status==MQTTSuccess && pWillProperties->responseTopicLength != 0U){ - if(pWillProperties->responseTopic==NULL){ - status= MQTTBadParameter; + if (status == MQTTSuccess && pWillProperties->responseTopicLength != 0U) + { + if (pWillProperties->responseTopic == NULL) + { + status = MQTTBadParameter; } - else{ - willLength += pWillProperties->responseTopicLength + 3U; + else + { + willLength += pWillProperties->responseTopicLength + 3U; } } - if (status==MQTTSuccess && pWillProperties->correlationLength != 0U) + if (status == MQTTSuccess && pWillProperties->correlationLength != 0U) { - if(pWillProperties->correlationData==NULL){ - status= MQTTBadParameter; + if (pWillProperties->correlationData == NULL) + { + status = MQTTBadParameter; } - else{ - willLength += pWillProperties->correlationLength + 3U; + else + { + willLength += pWillProperties->correlationLength + 3U; } } - /*Get the length of user properties*/ - if(status==MQTTSuccess){ + /*Get the length of user properties*/ + if (status == MQTTSuccess) + { status = MQTT_GetUserPropertySize(pWillProperties->userProperty, pWillProperties->userPropertySize, &willLength); } /*Variable encoded can't have a value more than 268435455UL*/ - if (willLength > MQTT_MAX_REMAINING_LENGTH) { + if (willLength > MQTT_MAX_REMAINING_LENGTH) + { status = MQTTBadParameter; } - if(status==MQTTSuccess){ - pWillProperties->propertyLength = willLength; + if (status == MQTTSuccess) + { + pWillProperties->propertyLength = willLength; } return status; } -static uint8_t* serializeUserProperties(uint8_t * pIndex,const MQTTUserProperty_t* pUserProperty, uint16_t size){ - uint16_t i = 0; - assert(pIndex!=NULL); - uint8_t* pIndexLocal = pIndex; +static uint8_t *serializeUserProperties(uint8_t *pIndex, const MQTTUserProperty_t *pUserProperty, uint16_t size) +{ + uint16_t i = 0; + assert(pIndex != NULL); + uint8_t *pIndexLocal = pIndex; for (; i < size; i++) { *pIndexLocal = MQTT_USER_PROPERTY_ID; pIndexLocal++; - pIndexLocal = encodeString(pIndexLocal,(pUserProperty+i)->key,(pUserProperty+i)->keyLength); - pIndexLocal = encodeString(pIndexLocal,(pUserProperty+i)->value,(pUserProperty+i)->valueLength); + pIndexLocal = encodeString(pIndexLocal, (pUserProperty + i)->key, (pUserProperty + i)->keyLength); + pIndexLocal = encodeString(pIndexLocal, (pUserProperty + i)->value, (pUserProperty + i)->valueLength); } return pIndexLocal; } - -static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, - const MQTTPublishInfo_t* pWillInfo, - const MQTTConnectProperties_t* pConnectProperties, - size_t remainingLength, - const MQTTFixedBuffer_t* pFixedBuffer) +static void serializeConnectPacketV5(const MQTTConnectInfo_t *pConnectInfo, + const MQTTPublishInfo_t *pWillInfo, + const MQTTConnectProperties_t *pConnectProperties, + size_t remainingLength, + const MQTTFixedBuffer_t *pFixedBuffer) { - uint8_t* pIndex = NULL; + uint8_t *pIndex = NULL; assert(pConnectInfo != NULL); assert(pFixedBuffer != NULL); assert(pFixedBuffer->pBuffer != NULL); @@ -724,66 +741,84 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, /* Serialize the header. */ pIndex = MQTT_SerializeConnectFixedHeader(pIndex, - pConnectInfo, - pWillInfo, - remainingLength); + pConnectInfo, + pWillInfo, + remainingLength); /* Serialize the connect Properties. */ - pIndex= MQTT_SerializeConnectProperties(pIndex,pConnectProperties); + pIndex = MQTT_SerializeConnectProperties(pIndex, pConnectProperties); - if( pConnectProperties->outgoingUserPropSize >0){ - pIndex= serializeUserProperties(pIndex, pConnectProperties->outgoingUserProperty, pConnectProperties->outgoingUserPropSize); + if (pConnectProperties->outgoingUserPropSize > 0) + { + uint16_t i = 0; + uint16_t size = pConnectProperties->outgoingUserPropSize; + MQTTUserProperty_t * pUserProperty = pConnectProperties->outgoingUserProperty; + for (; i < size; i++) + { + *pIndex = MQTT_USER_PROPERTY_ID; + pIndex++; + pIndex = encodeString(pIndex, (pUserProperty + i)->key, (pUserProperty + i)->keyLength); + pIndex = encodeString(pIndex, (pUserProperty + i)->value, (pUserProperty + i)->valueLength); + } } - + MQTTAuthInfo_t *pAuthInfo = pConnectProperties->outgoingAuth; if (pAuthInfo != NULL) { /* Serialize the authentication method string. */ *pIndex = MQTT_AUTH_METHOD_ID; pIndex++; - pIndex = encodeString(pIndex,pAuthInfo->authMethod,pAuthInfo->authMethodLength); + pIndex = encodeString(pIndex, pAuthInfo->authMethod, pAuthInfo->authMethodLength); if (pAuthInfo->authDataLength != 0U) { - *pIndex = MQTT_AUTH_DATA_ID; - pIndex++; - pIndex = encodeString(pIndex,pAuthInfo->authData,pAuthInfo->authDataLength); + *pIndex = MQTT_AUTH_DATA_ID; + pIndex++; + pIndex = encodeString(pIndex, pAuthInfo->authData, pAuthInfo->authDataLength); } } /* Write the client identifier into the CONNECT packet. */ pIndex = encodeString(pIndex, - pConnectInfo->pClientIdentifier, - pConnectInfo->clientIdentifierLength); + pConnectInfo->pClientIdentifier, + pConnectInfo->clientIdentifierLength); /* Serialze the will properties,topic name and message into the CONNECT packet if provided. */ if (pWillInfo != NULL) { - pIndex= MQTT_SerializePublishProperties(pWillInfo,pIndex); + pIndex = MQTT_SerializePublishProperties(pWillInfo, pIndex); if (pWillInfo->contentTypeLength != 0U) { - *pIndex = MQTT_CONTENT_TYPE_ID; - pIndex++; - pIndex = encodeString(pIndex,pWillInfo->contentType,pWillInfo->contentTypeLength); + *pIndex = MQTT_CONTENT_TYPE_ID; + pIndex++; + pIndex = encodeString(pIndex, pWillInfo->contentType, pWillInfo->contentTypeLength); } if (pWillInfo->responseTopicLength != 0U) { - *pIndex = MQTT_RESPONSE_TOPIC_ID; - pIndex++; - pIndex = encodeString(pIndex,pWillInfo->responseTopic,pWillInfo->responseTopicLength); + *pIndex = MQTT_RESPONSE_TOPIC_ID; + pIndex++; + pIndex = encodeString(pIndex, pWillInfo->responseTopic, pWillInfo->responseTopicLength); } if (pWillInfo->correlationLength != 0U) { - *pIndex = MQTT_CORRELATION_DATA_ID; - pIndex++; - pIndex = encodeString(pIndex,pWillInfo->correlationData,pWillInfo->correlationLength); + *pIndex = MQTT_CORRELATION_DATA_ID; + pIndex++; + pIndex = encodeString(pIndex, pWillInfo->correlationData, pWillInfo->correlationLength); } if (pWillInfo->userPropertySize != 0) { - pIndex = serializeUserProperties(pIndex,pWillInfo->userProperty,pWillInfo->userPropertySize); + uint16_t i = 0; + uint16_t size = pWillInfo->userPropertySize; + MQTTUserProperty_t * pUserProperty = pWillInfo->userProperty; + for (; i < size; i++) + { + *pIndex = MQTT_USER_PROPERTY_ID; + pIndex++; + pIndex = encodeString(pIndex, (pUserProperty + i)->key, (pUserProperty + i)->keyLength); + pIndex = encodeString(pIndex, (pUserProperty + i)->value, (pUserProperty + i)->valueLength); + } } - pIndex = encodeString(pIndex, pWillInfo->pTopicName,pWillInfo->topicNameLength); - pIndex = encodeString(pIndex,pWillInfo->pPayload,(uint16_t)pWillInfo->payloadLength); - + pIndex = encodeString(pIndex, pWillInfo->pTopicName, pWillInfo->topicNameLength); + pIndex = encodeString(pIndex, pWillInfo->pPayload, (uint16_t)pWillInfo->payloadLength); } /* Encode the user name if provided. */ if (pConnectInfo->pUserName != NULL) @@ -798,89 +833,89 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, } LogDebug(("Length of serialized CONNECT packet is %lu.", - ((unsigned long)(pIndex - pFixedBuffer->pBuffer)))); + ((unsigned long)(pIndex - pFixedBuffer->pBuffer)))); /* Ensure that the difference between the end and beginning of the buffer * is less than the buffer size. */ assert(((size_t)(pIndex - pFixedBuffer->pBuffer)) <= pFixedBuffer->size); } +static MQTTStatus_t logConnackResponseV5(uint8_t responseCode) +{ - static MQTTStatus_t logConnackResponseV5(uint8_t responseCode){ - - MQTTStatus_t status= MQTTServerRefused; - switch(responseCode){ - case MQTT_REASON_UNSPECIFIED_ERR : - LogError("Connection refused: Unspecified error"); - break; - case MQTT_REASON_MALFORMED_PACKET : - LogError("Connection refused: Malformed Packet."); - break; - case MQTT_REASON_PROTOCOL_ERR: - LogError("Connection refused: Protocol Error."); - break; - case MQTT_REASON_IMPL_SPECIFIC_ERR : - LogError("Connection refused: Impementation specific error."); - break; - case MQTT_REASON_UNSUP_PROTO_VER : - LogError("Connection refused: Unsupported Protocol Version."); - break; - case MQTT_REASON_CLIENT_ID_NOT_VALID : - LogError( "Connection refused: Client Identifier not valid."); - break; - case MQTT_REASON_BAD_USER_OR_PASS : - LogError("Connection refused: Bad User Name or Password."); - break; - case MQTT_REASON_NOT_AUTHORIZED : - LogError("Connection refused: Not authorized."); - break; - case MQTT_REASON_SERVER_UNAVAILABLE : - LogError("Connection refused: Server unavailable."); - break; - case MQTT_REASON_SERVER_BUSY : - LogError( "Connection refused: Server busy." ); - break; - case MQTT_REASON_BANNED : - LogError("Connection refused: Banned."); - break; - case MQTT_REASON_BAD_AUTH_METHOD : - LogError("Connection refused: Bad authentication method."); - break; - case MQTT_REASON_TOPIC_NAME_INVALID : - LogError("Connection refused: Topic Name invalid."); - break; - case MQTT_REASON_PACKET_TOO_LARGE : - LogError( "Connection refused: Packet too large ."); - break; - case MQTT_REASON_QUOTA_EXCEEDED : - LogError("Connection refused: Quota exceeded."); - break; - case MQTT_REASON_PAYLOAD_FORMAT_INVALID : - LogError( "Connection refused: Payload format invalid." ); - break; - case MQTT_REASON_RETAIN_NOT_SUPPORTED : - LogError("Connection refused: Retain not supported."); - break; - case MQTT_REASON_QOS_NOT_SUPPORTED : - LogError("Connection refused: QoS not supported."); - break; - case MQTT_REASON_USE_ANOTHER_SERVER : - LogError("Connection refused: Use another server." ); - break; - case MQTT_REASON_SERVER_MOVED : - LogError("Connection refused: Server moved."); - break; - case MQTT_REASON_CON_RATE_EXCEED : - LogError("Connection refused: Connection rate exceeded."); - break; - default: - status= MQTTProtocolError; + MQTTStatus_t status = MQTTServerRefused; + switch (responseCode) + { + case MQTT_REASON_UNSPECIFIED_ERR: + LogError("Connection refused: Unspecified error"); + break; + case MQTT_REASON_MALFORMED_PACKET: + LogError("Connection refused: Malformed Packet."); + break; + case MQTT_REASON_PROTOCOL_ERR: + LogError("Connection refused: Protocol Error."); + break; + case MQTT_REASON_IMPL_SPECIFIC_ERR: + LogError("Connection refused: Impementation specific error."); + break; + case MQTT_REASON_UNSUP_PROTO_VER: + LogError("Connection refused: Unsupported Protocol Version."); + break; + case MQTT_REASON_CLIENT_ID_NOT_VALID: + LogError("Connection refused: Client Identifier not valid."); + break; + case MQTT_REASON_BAD_USER_OR_PASS: + LogError("Connection refused: Bad User Name or Password."); + break; + case MQTT_REASON_NOT_AUTHORIZED: + LogError("Connection refused: Not authorized."); + break; + case MQTT_REASON_SERVER_UNAVAILABLE: + LogError("Connection refused: Server unavailable."); + break; + case MQTT_REASON_SERVER_BUSY: + LogError("Connection refused: Server busy."); + break; + case MQTT_REASON_BANNED: + LogError("Connection refused: Banned."); + break; + case MQTT_REASON_BAD_AUTH_METHOD: + LogError("Connection refused: Bad authentication method."); + break; + case MQTT_REASON_TOPIC_NAME_INVALID: + LogError("Connection refused: Topic Name invalid."); + break; + case MQTT_REASON_PACKET_TOO_LARGE: + LogError("Connection refused: Packet too large ."); + break; + case MQTT_REASON_QUOTA_EXCEEDED: + LogError("Connection refused: Quota exceeded."); + break; + case MQTT_REASON_PAYLOAD_FORMAT_INVALID: + LogError("Connection refused: Payload format invalid."); + break; + case MQTT_REASON_RETAIN_NOT_SUPPORTED: + LogError("Connection refused: Retain not supported."); + break; + case MQTT_REASON_QOS_NOT_SUPPORTED: + LogError("Connection refused: QoS not supported."); + break; + case MQTT_REASON_USE_ANOTHER_SERVER: + LogError("Connection refused: Use another server."); + break; + case MQTT_REASON_SERVER_MOVED: + LogError("Connection refused: Server moved."); + break; + case MQTT_REASON_CON_RATE_EXCEED: + LogError("Connection refused: Connection rate exceeded."); + break; + default: + status = MQTTProtocolError; } return status; } - -static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacket, bool* pSessionPresent) +static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t *pIncomingPacket, bool *pSessionPresent) { MQTTStatus_t status = MQTTSuccess; @@ -899,13 +934,15 @@ static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacke LogError(("Remaining data of incoming packet is NULL.")); status = MQTTBadParameter; } - else if (pIncomingPacket->type != MQTT_PACKET_TYPE_CONNACK) { + else if (pIncomingPacket->type != MQTT_PACKET_TYPE_CONNACK) + { LogError(("Packet type is invalid.")); status = MQTTBadParameter; } - else { - const uint8_t* pRemainingData = NULL; + else + { + const uint8_t *pRemainingData = NULL; pRemainingData = pIncomingPacket->pRemainingData; if ((pRemainingData[0] | 0x01U) != 0x01U) { @@ -917,8 +954,7 @@ static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacke { /* Determine if the "Session Present" bit is set. This is the lowest bit of * the third byte in CONNACK. */ - if ((pRemainingData[0] & MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) - == MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) + if ((pRemainingData[0] & MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) == MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) { LogDebug(("CONNACK session present bit set.")); *pSessionPresent = true; @@ -928,7 +964,7 @@ static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacke if (pRemainingData[1] != 0U) { LogError(("Session Present bit is set, but connect return code in CONNACK is %u (nonzero).", - (unsigned int)pRemainingData[1])); + (unsigned int)pRemainingData[1])); status = MQTTBadResponse; } } @@ -942,17 +978,17 @@ static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacke { /* In MQTT 5, only values 0 , 80 through 9F are valid CONNACK response codes. */ // Change this - if(pRemainingData[1]!=0u){ - status= logConnackResponseV5(pRemainingData[1]); + if (pRemainingData[1] != 0u) + { + status = logConnackResponseV5(pRemainingData[1]); } - } } return status; } -MQTTStatus_t decodeVariableLength(const uint8_t* pBuffer, size_t* length) +MQTTStatus_t decodeVariableLength(const uint8_t *pBuffer, size_t *length) { size_t remainingLength = 0; size_t multiplier = 1; @@ -980,7 +1016,6 @@ MQTTStatus_t decodeVariableLength(const uint8_t* pBuffer, size_t* length) remainingLength += ((size_t)encodedByte & 0x7FU) * multiplier; multiplier *= 128U; bytesDecoded++; - } /* If the response is incorrect, or no more data is available, then @@ -1011,782 +1046,1475 @@ MQTTStatus_t decodeVariableLength(const uint8_t* pBuffer, size_t* length) return status; } - -static void verifySerializedConnectPacket( const MQTTConnectInfo_t * const pConnectInfo, - const MQTTPublishInfo_t * const pWillInfo, - const MQTTConnectProperties_t * pConnectProperties, - size_t remainingLength, - const MQTTFixedBuffer_t * const pBuffer ) +static void verifySerializedConnectPacket(const MQTTConnectInfo_t *const pConnectInfo, + const MQTTPublishInfo_t *const pWillInfo, + const MQTTConnectProperties_t *pConnectProperties, + size_t remainingLength, + const MQTTFixedBuffer_t *const pBuffer) { uint8_t connectFlags = 0U; uint8_t encodedRemainingLength = 0U; - uint8_t encodedPropertyLength= 0U; + uint8_t encodedPropertyLength = 0U; uint8_t encodedStringLength = 0U; - uint8_t * pIndex = NULL; + uint8_t *pIndex = NULL; pIndex = pBuffer->pBuffer; /* The first byte in the CONNECT packet is the control packet type. */ - TEST_ASSERT_EQUAL_MESSAGE( MQTT_PACKET_TYPE_CONNECT, *pIndex, "MQTT_PACKET_TYPE_CONNECT is not equal to *pIndex" ); + TEST_ASSERT_EQUAL_MESSAGE(MQTT_PACKET_TYPE_CONNECT, *pIndex, "MQTT_PACKET_TYPE_CONNECT is not equal to *pIndex"); pIndex++; /* The remaining length of the CONNECT packet is encoded starting from the * second byte. The remaining length does not include the length of the fixed * header or the encoding of the remaining length. */ - encodedRemainingLength = encodeRemainingLength( remainingLengthBuffer, remainingLength ); - TEST_ASSERT_EQUAL_MEMORY( remainingLengthBuffer, pIndex, encodedRemainingLength ); + encodedRemainingLength = encodeRemainingLength(remainingLengthBuffer, remainingLength); + TEST_ASSERT_EQUAL_MEMORY(remainingLengthBuffer, pIndex, encodedRemainingLength); pIndex += encodedRemainingLength; /* The string "MQTT" is placed at the beginning of the CONNECT packet's variable * header. This string is 4 bytes long. */ - encodedStringLength = encodeString( encodedStringBuffer, "MQTT", 4 ); - TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); + encodedStringLength = encodeString(encodedStringBuffer, "MQTT", 4); + TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); pIndex += encodedStringLength; /* The MQTT protocol version is the second field of the variable header. */ - TEST_ASSERT_EQUAL( 5, *pIndex ); + TEST_ASSERT_EQUAL(5, *pIndex); pIndex++; /* Set the clean session flag if needed. */ - if( pConnectInfo->cleanSession == true ) + if (pConnectInfo->cleanSession == true) { - UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_CLEAN ); + UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_CLEAN); } /* Set the flags for username and password if provided. */ - if( pConnectInfo->pUserName != NULL ) + if (pConnectInfo->pUserName != NULL) { - UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_USERNAME ); + UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_USERNAME); } - if( pConnectInfo->pPassword != NULL ) + if (pConnectInfo->pPassword != NULL) { - UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_PASSWORD ); + UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_PASSWORD); } /* Set will flag if a Last Will and Testament is provided. */ - if( pWillInfo != NULL ) + if (pWillInfo != NULL) { - UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_WILL ); + UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_WILL); /* Flags only need to be changed for Will QoS 1 or 2. */ - if( pWillInfo->qos == MQTTQoS1 ) + if (pWillInfo->qos == MQTTQoS1) { - UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_WILL_QOS1 ); + UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_WILL_QOS1); } - else if( pWillInfo->qos == MQTTQoS2 ) + else if (pWillInfo->qos == MQTTQoS2) { - UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_WILL_QOS2 ); + UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_WILL_QOS2); } else { /* Empty else MISRA 15.7 */ } - if( pWillInfo->retain == true ) + if (pWillInfo->retain == true) { - UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_WILL_RETAIN ); + UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_WILL_RETAIN); } } - - TEST_ASSERT_EQUAL( connectFlags, *pIndex ); + TEST_ASSERT_EQUAL(connectFlags, *pIndex); pIndex++; - /* Verify the 2 bytes of the keep alive interval into the CONNECT packet. */ - TEST_ASSERT_EQUAL( UINT16_HIGH_BYTE( pConnectInfo->keepAliveSeconds ), - *pIndex ); + TEST_ASSERT_EQUAL(UINT16_HIGH_BYTE(pConnectInfo->keepAliveSeconds), + *pIndex); pIndex++; - TEST_ASSERT_EQUAL( UINT16_LOW_BYTE( pConnectInfo->keepAliveSeconds ), - *pIndex ); + TEST_ASSERT_EQUAL(UINT16_LOW_BYTE(pConnectInfo->keepAliveSeconds), + *pIndex); pIndex++; /* Verify the connect properties into the CONNECT packet. */ - pIndex = MQTT_SerializeConnectProperties(pIndex,pConnectProperties); - - if( pConnectProperties->outgoingUserPropSize >0){ - pIndex = serializeUserProperties(pIndex, pConnectProperties->outgoingUserProperty, pConnectProperties->outgoingUserPropSize); + pIndex = MQTT_SerializeConnectProperties(pIndex, pConnectProperties); + + if (pConnectProperties->outgoingUserPropSize > 0) + { + pIndex = serializeUserProperties(pIndex, pConnectProperties->outgoingUserProperty, pConnectProperties->outgoingUserPropSize); } - + /* Verify the client identifier into the CONNECT packet. */ - encodedStringLength = encodeString( encodedStringBuffer, - pConnectInfo->pClientIdentifier, - pConnectInfo->clientIdentifierLength ); - TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); + encodedStringLength = encodeString(encodedStringBuffer, + pConnectInfo->pClientIdentifier, + pConnectInfo->clientIdentifierLength); + TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); pIndex += encodedStringLength; /* Verify the will topic name and message into the CONNECT packet if provided. */ - if( pWillInfo != NULL ) + if (pWillInfo != NULL) { /*Will Properties*/ - pIndex = MQTT_SerializePublishProperties(pWillInfo,pIndex); - if (pWillInfo->contentTypeLength != 0U) + pIndex = MQTT_SerializePublishProperties(pWillInfo, pIndex); + if (pWillInfo->contentTypeLength != 0U) { - TEST_ASSERT_EQUAL_INT(MQTT_CONTENT_TYPE_ID,*pIndex); + TEST_ASSERT_EQUAL_INT(MQTT_CONTENT_TYPE_ID, *pIndex); pIndex++; - encodedStringLength = encodeString( encodedStringBuffer, - pWillInfo->contentType, - pWillInfo->contentTypeLength ); - TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); + encodedStringLength = encodeString(encodedStringBuffer, + pWillInfo->contentType, + pWillInfo->contentTypeLength); + TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); pIndex += encodedStringLength; } if (pWillInfo->responseTopicLength != 0U) { - TEST_ASSERT_EQUAL_INT(MQTT_RESPONSE_TOPIC_ID,*pIndex); + TEST_ASSERT_EQUAL_INT(MQTT_RESPONSE_TOPIC_ID, *pIndex); pIndex++; - encodedStringLength = encodeString( encodedStringBuffer, - pWillInfo->responseTopic, - pWillInfo->responseTopicLength ); - TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); + encodedStringLength = encodeString(encodedStringBuffer, + pWillInfo->responseTopic, + pWillInfo->responseTopicLength); + TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); pIndex += encodedStringLength; } if (pWillInfo->correlationLength != 0U) { - TEST_ASSERT_EQUAL_INT(MQTT_CORRELATION_DATA_ID,*pIndex); + TEST_ASSERT_EQUAL_INT(MQTT_CORRELATION_DATA_ID, *pIndex); pIndex++; - encodedStringLength = encodeString( encodedStringBuffer, - pWillInfo->correlationData, - pWillInfo->correlationLength ); - TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); + encodedStringLength = encodeString(encodedStringBuffer, + pWillInfo->correlationData, + pWillInfo->correlationLength); + TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); pIndex += encodedStringLength; } if (pWillInfo->userPropertySize != 0) { - pIndex = serializeUserProperties(pIndex,pWillInfo->userProperty,pWillInfo->userPropertySize); + + pIndex = serializeUserProperties(pIndex, pWillInfo->userProperty, pWillInfo->userPropertySize); } - encodedStringLength = encodeString( encodedStringBuffer, - pWillInfo->pTopicName, - pWillInfo->topicNameLength ); - TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); + encodedStringLength = encodeString(encodedStringBuffer, + pWillInfo->pTopicName, + pWillInfo->topicNameLength); + TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); pIndex += encodedStringLength; - encodedStringLength = encodeString( encodedStringBuffer, - pWillInfo->pPayload, - ( uint16_t ) pWillInfo->payloadLength ); - TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); + encodedStringLength = encodeString(encodedStringBuffer, + pWillInfo->pPayload, + (uint16_t)pWillInfo->payloadLength); + TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); pIndex += encodedStringLength; } /* Verify the user name if provided. */ - if( pConnectInfo->pUserName != NULL ) + if (pConnectInfo->pUserName != NULL) { - encodedStringLength = encodeString( encodedStringBuffer, - pConnectInfo->pUserName, - pConnectInfo->userNameLength ); - TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); + encodedStringLength = encodeString(encodedStringBuffer, + pConnectInfo->pUserName, + pConnectInfo->userNameLength); + TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); pIndex += encodedStringLength; } /* Verify the password if provided. */ - if( pConnectInfo->pPassword != NULL ) + if (pConnectInfo->pPassword != NULL) { - encodedStringLength = encodeString( encodedStringBuffer, - pConnectInfo->pPassword, - pConnectInfo->passwordLength ); - TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); + encodedStringLength = encodeString(encodedStringBuffer, + pConnectInfo->pPassword, + pConnectInfo->passwordLength); + TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); pIndex += encodedStringLength; } } - -void test_MQTT_GetConnectPropertiesSize(void){ +void test_MQTT_GetConnectPropertiesSize(void) +{ MQTTConnectInfo_t connectInfo; MQTTStatus_t status = MQTTSuccess; - MQTTPublishInfo_t willInfo = { 0 }; + MQTTPublishInfo_t willInfo = {0}; /* Call MQTT_GetConnectPropertiesSize() with various combinations of * incorrect paramters */ status = MQTT_GetConnectPropertiesSize(NULL); - TEST_ASSERT_EQUAL (MQTTBadParameter,status); - /* - *Max Packet Size cannot be null - */ + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + /* + *Max Packet Size cannot be null + */ MQTTConnectProperties_t connectProperties; - connectProperties.receiveMax=24; + connectProperties.receiveMax = 24; memset(&connectProperties, 0x0, sizeof(connectProperties)); status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL (MQTTBadParameter,status); - + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + /* - *Receive Maximum cannot be 0 - */ + *Receive Maximum cannot be 0 + */ connectProperties.isMaxPacketSize = true; - connectProperties.maxPacketSize=40; - connectProperties.receiveMax=0; + connectProperties.maxPacketSize = 40; + connectProperties.receiveMax = 0; status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL (MQTTBadParameter,status); - - - connectProperties.receiveMax=24; - connectProperties.reqProbInfo=1; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL (MQTTSuccess,status); - TEST_ASSERT_EQUAL_size_t (8,connectProperties.propertyLength); - - connectProperties.sessionExpiry=24; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL (MQTTSuccess,status); - TEST_ASSERT_EQUAL_size_t (13,connectProperties.propertyLength); - - - connectProperties.topicAliasMax=24; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL (MQTTSuccess,status); - TEST_ASSERT_EQUAL_size_t (16,connectProperties.propertyLength); - - connectProperties.reqResInfo=1; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL (MQTTSuccess,status); - TEST_ASSERT_EQUAL_size_t (18,connectProperties.propertyLength); - - connectProperties.reqProbInfo=0; + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + connectProperties.receiveMax = 24; + connectProperties.reqProbInfo = 1; status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL (MQTTSuccess,status); - TEST_ASSERT_EQUAL_size_t (20,connectProperties.propertyLength); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(8, connectProperties.propertyLength); - MQTTUserProperty_t userProperty; - memset(&userProperty, 0x0, sizeof(userProperty)); - - connectProperties.outgoingUserPropSize=1; + connectProperties.sessionExpiry = 24; status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL (MQTTBadParameter,status); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(13, connectProperties.propertyLength); - connectProperties.outgoingUserProperty= &userProperty; + connectProperties.topicAliasMax = 24; status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL (MQTTBadParameter,status); - - userProperty.keyLength=3; + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(16, connectProperties.propertyLength); + + connectProperties.reqResInfo = 1; + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(18, connectProperties.propertyLength); + + connectProperties.reqProbInfo = 0; status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL (MQTTBadParameter,status); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(20, connectProperties.propertyLength); - userProperty.valueLength=1; + MQTTUserProperty_t userProperty; + memset(&userProperty, 0x0, sizeof(userProperty)); + + connectProperties.outgoingUserPropSize = 1; status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL (MQTTBadParameter,status); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); - userProperty.value="1"; + connectProperties.outgoingUserProperty = &userProperty; status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL (MQTTBadParameter,status); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + userProperty.keyLength = 3; + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); - userProperty.key="211"; + userProperty.valueLength = 1; status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL (MQTTSuccess,status); - TEST_ASSERT_EQUAL_size_t(29,connectProperties.propertyLength); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + userProperty.value = "1"; + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); - connectProperties.outgoingUserPropSize= 6; + userProperty.key = "211"; status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL (MQTTBadParameter,status); - connectProperties.outgoingUserPropSize= 1; + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(29, connectProperties.propertyLength); + connectProperties.outgoingUserPropSize = 6; + status = MQTT_GetConnectPropertiesSize(&connectProperties); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + connectProperties.outgoingUserPropSize = 1; /* - * Incoming AuthInfo not intialized. - */ + * Incoming AuthInfo not intialized. + */ MQTTAuthInfo_t auth; memset(&auth, 0x0, sizeof(auth)); - connectProperties.outgoingAuth=&auth; - auth.authDataLength=1; + connectProperties.outgoingAuth = &auth; + auth.authDataLength = 1; status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL (MQTTBadParameter,status); - + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + MQTTAuthInfo_t auth2; memset(&auth2, 0x0, sizeof(auth2)); - connectProperties.incomingAuth=&auth2; + connectProperties.incomingAuth = &auth2; status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL (MQTTBadParameter,status); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); /* - * Protocol Error to include Authentication Data if there is no Authentication Method - */ - auth.authData="1"; + * Protocol Error to include Authentication Data if there is no Authentication Method + */ + auth.authData = "1"; status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL (MQTTBadParameter,status); - + TEST_ASSERT_EQUAL(MQTTBadParameter, status); - auth.authMethodLength=3; + auth.authMethodLength = 3; status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL (MQTTBadParameter,status); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); - auth.authMethod="234"; + auth.authMethod = "234"; status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL (MQTTSuccess,status); - TEST_ASSERT_EQUAL_size_t(39,connectProperties.propertyLength); - + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(39, connectProperties.propertyLength); } - -void test_MQTT_GetWillPropertiesSize(void){ +void test_MQTT_GetWillPropertiesSize(void) +{ MQTTConnectInfo_t connectInfo; MQTTStatus_t status = MQTTSuccess; MQTTPublishInfo_t willInfo; /* Call MQTT_GetWillPropertiesSize() with various combinations of * incorrect paramters */ status = MQTT_GetWillPropertiesSize(NULL); - TEST_ASSERT_EQUAL (MQTTBadParameter,status); - /* - *Max Packet Size cannot be null - */ - - memset(&willInfo,0x0,sizeof(willInfo)); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + /* + *Max Packet Size cannot be null + */ + + memset(&willInfo, 0x0, sizeof(willInfo)); status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL (MQTTSuccess,status); - TEST_ASSERT_EQUAL_size_t(0,willInfo.propertyLength); - - willInfo.willDelay =10; + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(0, willInfo.propertyLength); + + willInfo.willDelay = 10; status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL (MQTTSuccess,status); - TEST_ASSERT_EQUAL_size_t(5,willInfo.propertyLength); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(5, willInfo.propertyLength); willInfo.payloadFormat = 1; status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL (MQTTSuccess,status); - TEST_ASSERT_EQUAL_size_t(7,willInfo.propertyLength); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(7, willInfo.propertyLength); willInfo.msgExpiryPresent = 1; - willInfo.msgExpiryInterval= 10; + willInfo.msgExpiryInterval = 10; status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL (MQTTSuccess,status); - TEST_ASSERT_EQUAL_size_t(12,willInfo.propertyLength); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(12, willInfo.propertyLength); willInfo.msgExpiryPresent = 1; - willInfo.msgExpiryInterval= 10; + willInfo.msgExpiryInterval = 10; status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL (MQTTSuccess,status); - TEST_ASSERT_EQUAL_size_t(12,willInfo.propertyLength); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(12, willInfo.propertyLength); - willInfo.contentTypeLength =2; + willInfo.contentTypeLength = 2; status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL (MQTTBadParameter,status); - - willInfo.contentType="ab"; + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + willInfo.contentType = "ab"; status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL (MQTTSuccess,status); - TEST_ASSERT_EQUAL_size_t(17,willInfo.propertyLength); - - willInfo.responseTopicLength =2; + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(17, willInfo.propertyLength); + + willInfo.responseTopicLength = 2; status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL (MQTTBadParameter,status); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); - willInfo.responseTopic="ab"; + willInfo.responseTopic = "ab"; status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL (MQTTSuccess,status); - TEST_ASSERT_EQUAL_size_t(22,willInfo.propertyLength); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(22, willInfo.propertyLength); - willInfo.correlationLength =2; + willInfo.correlationLength = 2; status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL (MQTTBadParameter,status); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); - willInfo.correlationData="ab"; + willInfo.correlationData = "ab"; status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL (MQTTSuccess,status); - TEST_ASSERT_EQUAL_size_t(27,willInfo.propertyLength); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(27, willInfo.propertyLength); MQTTUserProperty_t userProperty[2]; - userProperty[0].key="2"; - userProperty[0].keyLength= 1; - userProperty[0].valueLength=3; - userProperty[0].value="abc"; - userProperty[1].key="2"; - userProperty[1].keyLength= 1; - userProperty[1].valueLength=2; - userProperty[1].value="ab"; - willInfo.userProperty= userProperty; + userProperty[0].key = "2"; + userProperty[0].keyLength = 1; + userProperty[0].valueLength = 3; + userProperty[0].value = "abc"; + userProperty[1].key = "2"; + userProperty[1].keyLength = 1; + userProperty[1].valueLength = 2; + userProperty[1].value = "ab"; + willInfo.userProperty = userProperty; willInfo.userPropertySize = 2; status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL (MQTTSuccess,status); - TEST_ASSERT_EQUAL_size_t(44,willInfo.propertyLength); - + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(44, willInfo.propertyLength); } -void test_MQTT_SerializeConnectProperties(void){ -uint8_t properties[24U]; -uint8_t *pIndex = properties; -uint8_t *index = properties; -MQTTConnectProperties_t connect; -MQTTStatus_t status; -size_t propertyLength; -memset(&connect,0x0,sizeof(connect)); -connect.sessionExpiry=12; -connect.receiveMax = 32; -connect.isMaxPacketSize =true; -connect.maxPacketSize= 56; -connect.topicAliasMax=11; -connect.reqResInfo = 1; -connect.reqProbInfo = 0; -connect.propertyLength= 20; -pIndex = MQTT_SerializeConnectProperties(pIndex,&connect); -TEST_ASSERT_EQUAL_INT(21,(pIndex-properties)); -status = decodeVariableLength(properties, &propertyLength); -TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); -TEST_ASSERT_EQUAL_size_t(connect.propertyLength,propertyLength); -index++; - -TEST_ASSERT_EQUAL_INT(MQTT_SESSION_EXPIRY_ID,*index); -index++; -TEST_ASSERT_EQUAL_UINT32(connect.sessionExpiry,UINT32_DECODE(index)); -index+=4; - -TEST_ASSERT_EQUAL_INT(MQTT_RECEIVE_MAX_ID,*index); -index++; -TEST_ASSERT_EQUAL_UINT32(connect.receiveMax,UINT16_DECODE(index)); -index+=2; - -TEST_ASSERT_EQUAL_INT(MQTT_MAX_PACKET_SIZE_ID,*index); -index++; -TEST_ASSERT_EQUAL_INT(connect.maxPacketSize,UINT32_DECODE(index)); -index+=4; - -TEST_ASSERT_EQUAL_INT(MQTT_TOPIC_ALIAS_MAX_ID,*index); -index++; -TEST_ASSERT_EQUAL_INT(connect.topicAliasMax,UINT16_DECODE(index)); -index+=2; - -TEST_ASSERT_EQUAL_INT(MQTT_REQUEST_RESPONSE_ID,*index); -index++; -TEST_ASSERT_EQUAL_INT(connect.reqResInfo,*index); -index++; - -TEST_ASSERT_EQUAL_INT(MQTT_REQUEST_PROBLEM_ID,*index); -index++; -TEST_ASSERT_EQUAL_INT(connect.reqProbInfo,*index); -index++; - +void test_MQTT_SerializeConnectProperties(void) +{ + uint8_t properties[24U]; + uint8_t *pIndex = properties; + uint8_t *index = properties; + MQTTConnectProperties_t connect; + MQTTStatus_t status; + size_t propertyLength; + memset(&connect, 0x0, sizeof(connect)); + connect.sessionExpiry = 12; + connect.receiveMax = 32; + connect.isMaxPacketSize = true; + connect.maxPacketSize = 56; + connect.topicAliasMax = 11; + connect.reqResInfo = 1; + connect.reqProbInfo = 0; + connect.propertyLength = 20; + pIndex = MQTT_SerializeConnectProperties(pIndex, &connect); + TEST_ASSERT_EQUAL_INT(21, (pIndex - properties)); + status = decodeVariableLength(properties, &propertyLength); + TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(connect.propertyLength, propertyLength); + index++; + + TEST_ASSERT_EQUAL_INT(MQTT_SESSION_EXPIRY_ID, *index); + index++; + TEST_ASSERT_EQUAL_UINT32(connect.sessionExpiry, UINT32_DECODE(index)); + index += 4; + + TEST_ASSERT_EQUAL_INT(MQTT_RECEIVE_MAX_ID, *index); + index++; + TEST_ASSERT_EQUAL_UINT32(connect.receiveMax, UINT16_DECODE(index)); + index += 2; + + TEST_ASSERT_EQUAL_INT(MQTT_MAX_PACKET_SIZE_ID, *index); + index++; + TEST_ASSERT_EQUAL_INT(connect.maxPacketSize, UINT32_DECODE(index)); + index += 4; + + TEST_ASSERT_EQUAL_INT(MQTT_TOPIC_ALIAS_MAX_ID, *index); + index++; + TEST_ASSERT_EQUAL_INT(connect.topicAliasMax, UINT16_DECODE(index)); + index += 2; + + TEST_ASSERT_EQUAL_INT(MQTT_REQUEST_RESPONSE_ID, *index); + index++; + TEST_ASSERT_EQUAL_INT(connect.reqResInfo, *index); + index++; + + TEST_ASSERT_EQUAL_INT(MQTT_REQUEST_PROBLEM_ID, *index); + index++; + TEST_ASSERT_EQUAL_INT(connect.reqProbInfo, *index); + index++; }; -void test_MQTT_SerializePublishProperties(void){ +void test_MQTT_SerializePublishProperties(void) +{ uint8_t properties[16U]; uint8_t *index = properties; MQTTPublishInfo_t will; will.payloadFormat = 1; - will.msgExpiryPresent=true; - will.msgExpiryInterval= 34; - will.willDelay=12; - index= MQTT_SerializePublishProperties(&will,index); - TEST_ASSERT_EQUAL_INT(13,index-properties); + will.msgExpiryPresent = true; + will.msgExpiryInterval = 34; + will.willDelay = 12; + index = MQTT_SerializePublishProperties(&will, index); + TEST_ASSERT_EQUAL_INT(13, index - properties); +} + +void test_MQTTV5_DeserializeConnackOnlyStatus(void) +{ + MQTTPacketInfo_t packetInfo; + MQTTConnectProperties_t properties; + MQTTStatus_t status; + uint8_t buffer[50]; + uint8_t *index = buffer; + memset(&properties, 0x0, sizeof(properties)); + memset(&packetInfo, 0x0, sizeof(packetInfo)); + status = MQTTV5_DeserializeConnack(NULL, NULL, NULL); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + bool sessionPresent; + status = MQTTV5_DeserializeConnack(NULL, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + status = MQTTV5_DeserializeConnack(&properties, NULL, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + packetInfo.type = MQTT_PACKET_TYPE_CONNACK; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + packetInfo.pRemainingData = index; + packetInfo.type = MQTT_PACKET_TYPE_CONNECT; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + /* + * Session Present Bit is set but reason code is not equal to 0; + */ + buffer[0] = 0x01; + buffer[1] = 0x01; + packetInfo.type = MQTT_PACKET_TYPE_CONNACK; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTBadResponse, status); + + // 5 + 1 + 2 = 8 + size_t propertyLength = encodeRemainingLength(index, 5); + packetInfo.remainingLength = 8; + /*Not a valid reason code*/ + buffer[0] = 0x00; + buffer[1] = 0x03; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTProtocolError, status); + + buffer[1] = 0x80; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + +} + +void test_MQTTV5_DeserializeConnackOnlySessionExpiry(void) +{ + MQTTPacketInfo_t packetInfo; + MQTTConnectProperties_t properties; + MQTTStatus_t status; + memset(&properties, 0x0, sizeof(properties)); + memset(&packetInfo, 0x0, sizeof(packetInfo)); + uint8_t buffer[200] = {0}; + uint8_t *pIndexLocal = buffer; + buffer[0] = 0x01; + buffer[1] = 0x00; + size_t dummy = 0; + bool session = false; + packetInfo.pRemainingData = buffer; + packetInfo.type = MQTT_PACKET_TYPE_CONNACK; + packetInfo.remainingLength = 8; + pIndexLocal = &buffer[2]; + size_t propertyLength = encodeRemainingLength(pIndexLocal, 5); + pIndexLocal++; + *pIndexLocal = MQTT_SESSION_EXPIRY_ID; + pIndexLocal++; + pIndexLocal[0] = UINT32_BYTE3(12); + pIndexLocal[1] = UINT32_BYTE2(12); + pIndexLocal[2] = UINT32_BYTE1(12); + pIndexLocal[3] = UINT32_BYTE0(12); + pIndexLocal = &pIndexLocal[4]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + TEST_ASSERT_EQUAL_INT(12, properties.sessionExpiry); + + /*Protocol error to include the same property twice*/ + packetInfo.remainingLength = 13; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 10); + pIndexLocal++; + *pIndexLocal = MQTT_SESSION_EXPIRY_ID; + pIndexLocal++; + pIndexLocal[0] = UINT32_BYTE3(12); + pIndexLocal[1] = UINT32_BYTE2(12); + pIndexLocal[2] = UINT32_BYTE1(12); + pIndexLocal[3] = UINT32_BYTE0(12); + pIndexLocal = &pIndexLocal[4]; + *pIndexLocal = MQTT_SESSION_EXPIRY_ID; + pIndexLocal++; + pIndexLocal[0] = UINT32_BYTE3(12); + pIndexLocal[1] = UINT32_BYTE2(12); + pIndexLocal[2] = UINT32_BYTE1(12); + pIndexLocal[3] = UINT32_BYTE0(12); + pIndexLocal = &pIndexLocal[4]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 7; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal++; + *pIndexLocal = MQTT_SESSION_EXPIRY_ID; + pIndexLocal++; + pIndexLocal[0] = UINT32_BYTE3(12); + pIndexLocal[1] = UINT32_BYTE2(12); + pIndexLocal[2] = UINT32_BYTE1(12); + pIndexLocal[3] = UINT32_BYTE0(12); + pIndexLocal = &pIndexLocal[4]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); +} + +void test_MQTTV5_DeserializeConnackOnlyReceiveMax(void) +{ + MQTTPacketInfo_t packetInfo; + MQTTConnectProperties_t properties; + MQTTStatus_t status; + memset(&properties, 0x0, sizeof(properties)); + memset(&packetInfo, 0x0, sizeof(packetInfo)); + uint8_t buffer[200] = {0}; + uint8_t *pIndexLocal = buffer; + buffer[0] = 0x01; + buffer[1] = 0x00; + size_t dummy = 0; + bool session = false; + packetInfo.pRemainingData = buffer; + packetInfo.type = MQTT_PACKET_TYPE_CONNACK; + packetInfo.remainingLength = 6; + pIndexLocal = &buffer[2]; + size_t propertyLength = encodeRemainingLength(pIndexLocal, 3); + pIndexLocal++; + *pIndexLocal = MQTT_RECEIVE_MAX_ID; + pIndexLocal++; + pIndexLocal[0] = UINT16_HIGH_BYTE(13); + pIndexLocal[1] = UINT16_LOW_BYTE(13); + pIndexLocal = &pIndexLocal[2]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + TEST_ASSERT_EQUAL_INT(13, properties.serverReceiveMax); + + /*Protocol error to include the same property twice*/ + packetInfo.remainingLength = 9; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 6); + pIndexLocal++; + *pIndexLocal = MQTT_RECEIVE_MAX_ID; + pIndexLocal++; + pIndexLocal[0] = UINT16_HIGH_BYTE(13); + pIndexLocal[1] = UINT16_LOW_BYTE(13); + pIndexLocal = &pIndexLocal[2]; + *pIndexLocal = MQTT_RECEIVE_MAX_ID; + pIndexLocal++; + pIndexLocal[0] = UINT16_HIGH_BYTE(13); + pIndexLocal[1] = UINT16_LOW_BYTE(13); + pIndexLocal = &pIndexLocal[2]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 5; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal++; + *pIndexLocal = MQTT_RECEIVE_MAX_ID; + pIndexLocal++; + pIndexLocal[0] = UINT16_HIGH_BYTE(13); + pIndexLocal[1] = UINT16_LOW_BYTE(13); + pIndexLocal = &pIndexLocal[2]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); +} + +void test_MQTTV5_DeserializeConnackOnlyMaxQos(void) +{ + MQTTPacketInfo_t packetInfo; + MQTTConnectProperties_t properties; + MQTTStatus_t status; + memset(&properties, 0x0, sizeof(properties)); + memset(&packetInfo, 0x0, sizeof(packetInfo)); + uint8_t buffer[200] = {0}; + uint8_t *pIndexLocal = buffer; + buffer[0] = 0x01; + buffer[1] = 0x00; + size_t dummy = 0; + bool session = false; + packetInfo.pRemainingData = buffer; + packetInfo.type = MQTT_PACKET_TYPE_CONNACK; + packetInfo.remainingLength = 5; + pIndexLocal = &buffer[2]; + size_t propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal++; + *pIndexLocal = MQTT_MAX_QOS_ID; + pIndexLocal++; + pIndexLocal[0] = 0; + pIndexLocal++; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + TEST_ASSERT_EQUAL_INT(0, properties.serverMaxQos); + + /*Protocol error to include the same property twice*/ + packetInfo.remainingLength = 7; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal++; + *pIndexLocal = MQTT_MAX_QOS_ID; + pIndexLocal++; + pIndexLocal[0] = 0; + pIndexLocal++; + *pIndexLocal = MQTT_MAX_QOS_ID; + pIndexLocal++; + pIndexLocal[0] = 0; + pIndexLocal++; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 4; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 1); + pIndexLocal++; + *pIndexLocal = MQTT_MAX_QOS_ID; + pIndexLocal++; + pIndexLocal[0] = 0; + pIndexLocal++; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); +} +void test_MQTTV5_DeserializeConnackOnlyMaxPacketSize(void) +{ + MQTTPacketInfo_t packetInfo; + MQTTConnectProperties_t properties; + MQTTStatus_t status; + memset(&properties, 0x0, sizeof(properties)); + memset(&packetInfo, 0x0, sizeof(packetInfo)); + uint8_t buffer[200] = {0}; + uint8_t *pIndexLocal = buffer; + buffer[0] = 0x01; + buffer[1] = 0x00; + size_t dummy = 0; + bool session = false; + packetInfo.pRemainingData = buffer; + packetInfo.type = MQTT_PACKET_TYPE_CONNACK; + packetInfo.remainingLength = 8; + pIndexLocal = &buffer[2]; + size_t propertyLength = encodeRemainingLength(pIndexLocal, 5); + pIndexLocal++; + *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; + pIndexLocal++; + pIndexLocal[0] = UINT32_BYTE3(120); + pIndexLocal[1] = UINT32_BYTE2(120); + pIndexLocal[2] = UINT32_BYTE1(120); + pIndexLocal[3] = UINT32_BYTE0(120); + pIndexLocal = &pIndexLocal[4]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + TEST_ASSERT_EQUAL_INT(120, properties.serverMaxPacketSize); + + /*Protocol error to include the same property twice*/ + packetInfo.remainingLength = 13; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 10); + pIndexLocal++; + *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; + pIndexLocal++; + pIndexLocal[0] = UINT32_BYTE3(120); + pIndexLocal[1] = UINT32_BYTE2(120); + pIndexLocal[2] = UINT32_BYTE1(120); + pIndexLocal[3] = UINT32_BYTE0(120); + pIndexLocal = &pIndexLocal[4]; + *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; + pIndexLocal++; + pIndexLocal[0] = UINT32_BYTE3(120); + pIndexLocal[1] = UINT32_BYTE2(120); + pIndexLocal[2] = UINT32_BYTE1(120); + pIndexLocal[3] = UINT32_BYTE0(120); + pIndexLocal = &pIndexLocal[4]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 7; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal++; + *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; + pIndexLocal++; + pIndexLocal[0] = UINT32_BYTE3(120); + pIndexLocal[1] = UINT32_BYTE2(120); + pIndexLocal[2] = UINT32_BYTE1(120); + pIndexLocal[3] = UINT32_BYTE0(120); + pIndexLocal = &pIndexLocal[4]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); +} + +void test_MQTTV5_DeserializeConnackOnlyRetainAvailable(void) +{ + MQTTPacketInfo_t packetInfo; + MQTTConnectProperties_t properties; + MQTTStatus_t status; + memset(&properties, 0x0, sizeof(properties)); + memset(&packetInfo, 0x0, sizeof(packetInfo)); + uint8_t buffer[200] = {0}; + uint8_t *pIndexLocal = buffer; + buffer[0] = 0x01; + buffer[1] = 0x00; + size_t dummy = 0; + bool session = false; + packetInfo.pRemainingData = buffer; + packetInfo.type = MQTT_PACKET_TYPE_CONNACK; + packetInfo.remainingLength = 5; + pIndexLocal = &buffer[2]; + size_t propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal++; + *pIndexLocal = MQTT_RETAIN_AVAILABLE_ID; + pIndexLocal++; + pIndexLocal[0] = 0; + pIndexLocal++; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + TEST_ASSERT_EQUAL_INT(0, properties.retainAvailable); + + /*Protocol error to include the same property twice*/ + packetInfo.remainingLength = 7; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal++; + *pIndexLocal = MQTT_RETAIN_AVAILABLE_ID; + pIndexLocal++; + pIndexLocal[0] = 0; + pIndexLocal++; + *pIndexLocal = MQTT_RETAIN_AVAILABLE_ID; + pIndexLocal++; + pIndexLocal[0] = 0; + pIndexLocal++; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 4; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 1); + pIndexLocal++; + *pIndexLocal = MQTT_RETAIN_AVAILABLE_ID; + pIndexLocal++; + pIndexLocal[0] = 0; + pIndexLocal++; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); +} + +void test_MQTTV5_DeserializeConnackOnlyClientId(void) +{ + MQTTPacketInfo_t packetInfo; + MQTTConnectProperties_t properties; + MQTTStatus_t status; + memset(&properties, 0x0, sizeof(properties)); + memset(&packetInfo, 0x0, sizeof(packetInfo)); + uint8_t buffer[200] = {0}; + uint8_t *pIndexLocal = buffer; + buffer[0] = 0x01; + buffer[1] = 0x00; + size_t dummy = 0; + bool session = false; + packetInfo.pRemainingData = buffer; + packetInfo.type = MQTT_PACKET_TYPE_CONNACK; + packetInfo.remainingLength = 8; + pIndexLocal = &buffer[2]; + size_t propertyLength = encodeRemainingLength(pIndexLocal, 5); + pIndexLocal++; + *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; + pIndexLocal++; + char string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + TEST_ASSERT_EQUAL(pIndexLocal, properties.clientIdentifier + 2); + + /*Protocol error to include the same property twice*/ + packetInfo.remainingLength = 13; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 10); + pIndexLocal++; + *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal++; + pIndexLocal = &pIndexLocal[dummy]; + *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal++; + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 7; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal++; + *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal++; + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); +} +void test_MQTTV5_DeserializeConnackOnlyTopicAlias(void) +{ + MQTTPacketInfo_t packetInfo; + MQTTConnectProperties_t properties; + MQTTStatus_t status; + memset(&properties, 0x0, sizeof(properties)); + memset(&packetInfo, 0x0, sizeof(packetInfo)); + uint8_t buffer[200] = {0}; + uint8_t *pIndexLocal = buffer; + buffer[0] = 0x01; + buffer[1] = 0x00; + size_t dummy = 0; + bool session = false; + packetInfo.pRemainingData = buffer; + packetInfo.type = MQTT_PACKET_TYPE_CONNACK; + packetInfo.remainingLength = 6; + pIndexLocal = &buffer[2]; + size_t propertyLength = encodeRemainingLength(pIndexLocal, 3); + pIndexLocal++; + *pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; + pIndexLocal++; + pIndexLocal[0] = UINT16_HIGH_BYTE(13); + pIndexLocal[1] = UINT16_LOW_BYTE(13); + pIndexLocal = &pIndexLocal[2]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + TEST_ASSERT_EQUAL_INT(13, properties.serverTopicAliasMax); + + /*Protocol error to include the same property twice*/ + packetInfo.remainingLength = 9; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 6); + pIndexLocal++; + *pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; + pIndexLocal++; + pIndexLocal[0] = UINT16_HIGH_BYTE(13); + pIndexLocal[1] = UINT16_LOW_BYTE(13); + pIndexLocal = &pIndexLocal[2]; + *pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; + pIndexLocal++; + pIndexLocal[0] = UINT16_HIGH_BYTE(13); + pIndexLocal[1] = UINT16_LOW_BYTE(13); + pIndexLocal = &pIndexLocal[2]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 5; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal++; + *pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; + pIndexLocal++; + pIndexLocal[0] = UINT16_HIGH_BYTE(13); + pIndexLocal[1] = UINT16_LOW_BYTE(13); + pIndexLocal = &pIndexLocal[2]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); +} +void test_MQTTV5_DeserializeConnackOnlyWildCard(void) +{ + MQTTPacketInfo_t packetInfo; + MQTTConnectProperties_t properties; + MQTTStatus_t status; + memset(&properties, 0x0, sizeof(properties)); + memset(&packetInfo, 0x0, sizeof(packetInfo)); + uint8_t buffer[200] = {0}; + uint8_t *pIndexLocal = buffer; + buffer[0] = 0x01; + buffer[1] = 0x00; + size_t dummy = 0; + bool session = false; + packetInfo.pRemainingData = buffer; + packetInfo.type = MQTT_PACKET_TYPE_CONNACK; + packetInfo.remainingLength = 5; + pIndexLocal = &buffer[2]; + size_t propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal++; + *pIndexLocal = MQTT_WILDCARD_ID; + pIndexLocal++; + pIndexLocal[0] = 0; + pIndexLocal++; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + TEST_ASSERT_EQUAL_INT(0, properties.isWildcardAvaiable); + + /*Protocol error to include the same property twice*/ + packetInfo.remainingLength = 7; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal++; + *pIndexLocal = MQTT_WILDCARD_ID; + pIndexLocal++; + pIndexLocal[0] = 0; + pIndexLocal++; + *pIndexLocal = MQTT_WILDCARD_ID; + pIndexLocal++; + pIndexLocal[0] = 0; + pIndexLocal++; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 4; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 1); + pIndexLocal++; + *pIndexLocal = MQTT_WILDCARD_ID; + pIndexLocal++; + pIndexLocal[0] = 0; + pIndexLocal++; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); } -// void test_MQTTV5_DeserializeConnackOnlyStatus(void){ -// MQTTPacketInfo_t packetInfo; -// MQTTConnectProperties_t properties; -// MQTTStatus_t status; -// uint8_t buffer[50]; -// uint8_t* index= buffer; -// memset(&properties, 0x0, sizeof(properties)); -// memset(&packetInfo, 0x0, sizeof(packetInfo)); -// status = MQTTV5_DeserializeConnack(NULL,NULL,NULL); -// TEST_ASSERT_EQUAL(MQTTBadParameter,status); - -// bool sessionPresent; -// status = MQTTV5_DeserializeConnack(NULL,&packetInfo,&sessionPresent); -// TEST_ASSERT_EQUAL(MQTTBadParameter,status); - -// status = MQTTV5_DeserializeConnack(&properties,NULL,&sessionPresent); -// TEST_ASSERT_EQUAL(MQTTBadParameter,status); - -// packetInfo.type=MQTT_PACKET_TYPE_CONNACK; -// status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); -// TEST_ASSERT_EQUAL(MQTTBadParameter,status); - -// packetInfo.pRemainingData=index; -// packetInfo.type =MQTT_PACKET_TYPE_CONNECT; -// status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); -// TEST_ASSERT_EQUAL(MQTTBadParameter,status); - -// /* -// * Session Present Bit is set but reason code is not equal to 0; -// */ -// buffer[0] = 0x01; -// buffer[1] = 0x01; -// packetInfo.type=MQTT_PACKET_TYPE_CONNACK; -// status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); -// TEST_ASSERT_EQUAL(MQTTBadResponse,status); - -// buffer[0] = 0x00; -// buffer[1]= 0x00; -// size_t propertyLength = encodeRemainingLength(buffer[2],0); -// properties.isMaxPacketSize= true; -// properties.isMaxPacketSize = 0; -// packetInfo.remainingLength = 100; -// status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); -// TEST_ASSERT_EQUAL(MQTTProtocolError,status); -// TEST_ASSERT_EQUAL(false,sessionPresent); - -// properties.isMaxPacketSize = 1000; -// status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); -// TEST_ASSERT_EQUAL(MQTTMalformedPacket,status); -// TEST_ASSERT_EQUAL(false,sessionPresent); - - -// /* Not a valid response code*/ -// // buffer[1]= 0x03; -// // status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); -// // TEST_ASSERT_EQUAL(MQTTProtocolError,status); - -// // // buffer[1] = 0x80; -// // status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&sessionPresent); -// // TEST_ASSERT_EQUAL(MQTTServerRefused,status); - - -// } - -void test_MQTTV5_DeserializeConnack(void){ - MQTTPacketInfo_t packetInfo; +void test_MQTTV5_DeserializeConnackOnlyReasonString(void) +{ + MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; memset(&properties, 0x0, sizeof(properties)); memset(&packetInfo, 0x0, sizeof(packetInfo)); - uint8_t buffer[200]={0}; - uint8_t *pIndexLocal= buffer; - buffer[0]= 0x01; + uint8_t buffer[200] = {0}; + uint8_t *pIndexLocal = buffer; + buffer[0] = 0x01; buffer[1] = 0x00; - size_t dummy =0; - bool session= false; - packetInfo.pRemainingData=buffer; + size_t dummy = 0; + bool session = false; + packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - // property = 49 - // Session expiry 5 bytes - // receive max 3 bytes - // max qos 2 bytes - // retain available 2 bytes - // max packet size 5 bytes - // assigned client id 5 - // Topic alias max 3 - // reason string 5 - // user property 0 - // wildcard 2 - // subscription id 2byte - // shared subscription 2byte - // server keep alive 3 byte - // response info 5 - // server ref 5 - // auth 0 -packetInfo.remainingLength = 8; -pIndexLocal = &buffer[2]; -size_t propertyLength = encodeRemainingLength(pIndexLocal,5); -pIndexLocal++; -*pIndexLocal = MQTT_SESSION_EXPIRY_ID; -pIndexLocal++; -pIndexLocal[0] = UINT32_BYTE3(12); -pIndexLocal[1] = UINT32_BYTE2(12); -pIndexLocal[2] = UINT32_BYTE1(12); -pIndexLocal[3] = UINT32_BYTE0(12); -pIndexLocal = &pIndexLocal[4]; -status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); -TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); -// 8 -packetInfo.remainingLength = 6; -pIndexLocal = &buffer[2]; -propertyLength = encodeRemainingLength(pIndexLocal,3); -pIndexLocal++; -*pIndexLocal = MQTT_RECEIVE_MAX_ID; -pIndexLocal++; -pIndexLocal[0] = UINT16_HIGH_BYTE(13); -pIndexLocal[1] = UINT16_LOW_BYTE(13); -pIndexLocal = &pIndexLocal[2]; -status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); -TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); -// 11 -packetInfo.remainingLength = 5; -pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal,2); -pIndexLocal++; -*pIndexLocal = MQTT_MAX_QOS_ID; -pIndexLocal++; -pIndexLocal[0]= 0; -pIndexLocal++; -status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); -TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); -// 13 -packetInfo.remainingLength = 5; -pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal,2); -pIndexLocal++; -*pIndexLocal = MQTT_RETAIN_AVAILABLE_ID; -pIndexLocal++; -pIndexLocal[0]= 0; -pIndexLocal++; -status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); -TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); -// // 15 -packetInfo.remainingLength = 8; -pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal,5); -pIndexLocal++; -*pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; -pIndexLocal++; -pIndexLocal[0] = UINT32_BYTE3(120); -pIndexLocal[1] = UINT32_BYTE2(120); -pIndexLocal[2] = UINT32_BYTE1(120); -pIndexLocal[3] = UINT32_BYTE0(120); -pIndexLocal = &pIndexLocal[4]; -status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); -TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); -// // 20 -packetInfo.remainingLength = 8; -pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal,5); -pIndexLocal++; -*pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; -pIndexLocal++; -char string = "ab"; -dummy = encodeString(pIndexLocal,&string,2); -pIndexLocal++; -pIndexLocal = &pIndexLocal[dummy]; -status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); -TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); - -// // 25 -packetInfo.remainingLength = 6; -pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal,3); -pIndexLocal++; -*pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; -pIndexLocal++; -pIndexLocal[0] = UINT16_HIGH_BYTE(13); -pIndexLocal[1] = UINT16_LOW_BYTE(13); -pIndexLocal = &pIndexLocal[2]; -status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); -TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); -// // 28 -packetInfo.remainingLength = 8; -pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal,5); -pIndexLocal++; -*pIndexLocal = MQTT_REASON_STRING_ID; -pIndexLocal++; - string = "ab"; -dummy = encodeString(pIndexLocal,&string,2); -pIndexLocal = &pIndexLocal[dummy]; -// status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); -// TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); -// // 33 -packetInfo.remainingLength = 5; -pIndexLocal = &buffer[2]; -propertyLength = encodeRemainingLength(pIndexLocal,2); -pIndexLocal++; -*pIndexLocal = MQTT_WILDCARD_ID; -pIndexLocal++; -pIndexLocal[0]= 0; -pIndexLocal++; -status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); -TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); -// // 35 -packetInfo.remainingLength = 5; -pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal,2); -pIndexLocal++; -*pIndexLocal = MQTT_SUB_AVAILABLE_ID; -pIndexLocal++; -pIndexLocal[0]= 0; -pIndexLocal++; -status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); -TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); -// // 37 -packetInfo.remainingLength = 5; -pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal,2); -pIndexLocal++; -*pIndexLocal = MQTT_SHARED_SUB_ID; -pIndexLocal++; -pIndexLocal[0]= 0; -pIndexLocal++; -status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); -TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); -// // 38 -packetInfo.remainingLength = 6; -pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal,3); -pIndexLocal++; -*pIndexLocal = MQTT_SERVER_KEEP_ALIVE_ID; -pIndexLocal[0] = UINT16_HIGH_BYTE(13); -pIndexLocal[1] = UINT16_LOW_BYTE(13); -pIndexLocal = &pIndexLocal[2]; -// status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); -// TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); -// // 41 -packetInfo.remainingLength = 8; -pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal,5); -pIndexLocal++; -*pIndexLocal = MQTT_RESPONSE_INFO_ID; -pIndexLocal++; - string = "ab"; -dummy = encodeString(pIndexLocal,&string,2); -pIndexLocal = &pIndexLocal[dummy]; -status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); -TEST_ASSERT_EQUAL_INT(MQTTProtocolError,status); - -properties.reqResInfo =1; -packetInfo.remainingLength = 8; -pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal,5); -pIndexLocal++; -*pIndexLocal = MQTT_RESPONSE_INFO_ID; -pIndexLocal++; - string = "ab"; -dummy = encodeString(pIndexLocal,&string,2); -pIndexLocal = &pIndexLocal[dummy]; -status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); -TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); - -// // 46 -packetInfo.remainingLength = 8; -pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal,5); -pIndexLocal++; -*pIndexLocal = MQTT_SERVER_REF_ID; -pIndexLocal++; - string = "ab"; -dummy = encodeString(pIndexLocal,&string,2); -pIndexLocal = &pIndexLocal[dummy]; -status = MQTTV5_DeserializeConnack(&properties,&packetInfo,&session); -TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); -// 51 + packetInfo.remainingLength = 8; + pIndexLocal = &buffer[2]; + size_t propertyLength = encodeRemainingLength(pIndexLocal, 5); + pIndexLocal++; + *pIndexLocal = MQTT_REASON_STRING_ID; + pIndexLocal++; + char string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + TEST_ASSERT_EQUAL_INT(pIndexLocal, properties.reasonString + 2); + + /*Protocol error to include the same property twice*/ + packetInfo.remainingLength = 13; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 10); + pIndexLocal++; + *pIndexLocal = MQTT_REASON_STRING_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal++; + pIndexLocal = &pIndexLocal[dummy]; + *pIndexLocal = MQTT_REASON_STRING_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal++; + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 7; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal++; + *pIndexLocal = MQTT_REASON_STRING_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal++; + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); } -void test_MQTTV5_GetConnectPacketSize( void ) +void test_MQTTV5_DeserializeConnackOnlySUbId(void) +{ + MQTTPacketInfo_t packetInfo; + MQTTConnectProperties_t properties; + MQTTStatus_t status; + memset(&properties, 0x0, sizeof(properties)); + memset(&packetInfo, 0x0, sizeof(packetInfo)); + uint8_t buffer[200] = {0}; + uint8_t *pIndexLocal = buffer; + buffer[0] = 0x01; + buffer[1] = 0x00; + size_t dummy = 0; + bool session = false; + packetInfo.pRemainingData = buffer; + packetInfo.type = MQTT_PACKET_TYPE_CONNACK; + packetInfo.remainingLength = 5; + pIndexLocal = &buffer[2]; + size_t propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal++; + *pIndexLocal = MQTT_SUB_AVAILABLE_ID; + pIndexLocal++; + pIndexLocal[0] = 0; + pIndexLocal++; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + TEST_ASSERT_EQUAL_INT(0, properties.subscriptionId); + + /*Protocol error to include the same property twice*/ + packetInfo.remainingLength = 7; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal++; + *pIndexLocal = MQTT_SUB_AVAILABLE_ID; + pIndexLocal++; + pIndexLocal[0] = 0; + pIndexLocal++; + *pIndexLocal = MQTT_SUB_AVAILABLE_ID; + pIndexLocal++; + pIndexLocal[0] = 0; + pIndexLocal++; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 4; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 1); + pIndexLocal++; + *pIndexLocal = MQTT_SUB_AVAILABLE_ID; + pIndexLocal++; + pIndexLocal[0] = 0; + pIndexLocal++; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); +} + +void test_MQTTV5_DeserializeConnackOnlySharedSub(void) +{ + MQTTPacketInfo_t packetInfo; + MQTTConnectProperties_t properties; + MQTTStatus_t status; + memset(&properties, 0x0, sizeof(properties)); + memset(&packetInfo, 0x0, sizeof(packetInfo)); + uint8_t buffer[200] = {0}; + uint8_t *pIndexLocal = buffer; + buffer[0] = 0x01; + buffer[1] = 0x00; + size_t dummy = 0; + bool session = false; + packetInfo.pRemainingData = buffer; + packetInfo.type = MQTT_PACKET_TYPE_CONNACK; + packetInfo.remainingLength = 5; + pIndexLocal = &buffer[2]; + size_t propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal++; + *pIndexLocal = MQTT_SHARED_SUB_ID; + pIndexLocal++; + pIndexLocal[0] = 0; + pIndexLocal++; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + TEST_ASSERT_EQUAL_INT(0, properties.isSharedAvailable); + + /*Protocol error to include the same property twice*/ + packetInfo.remainingLength = 7; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal++; + *pIndexLocal = MQTT_SHARED_SUB_ID; + pIndexLocal++; + pIndexLocal[0] = 0; + pIndexLocal++; + *pIndexLocal = MQTT_SHARED_SUB_ID; + pIndexLocal++; + pIndexLocal[0] = 0; + pIndexLocal++; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 4; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 1); + pIndexLocal++; + *pIndexLocal = MQTT_SHARED_SUB_ID; + pIndexLocal++; + pIndexLocal[0] = 0; + pIndexLocal++; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); +} +void test_MQTTV5_DeserializeConnackOnlyKeepAlive(void) +{ + MQTTPacketInfo_t packetInfo; + MQTTConnectProperties_t properties; + MQTTStatus_t status; + memset(&properties, 0x0, sizeof(properties)); + memset(&packetInfo, 0x0, sizeof(packetInfo)); + uint8_t buffer[200] = {0}; + uint8_t *pIndexLocal = buffer; + buffer[0] = 0x01; + buffer[1] = 0x00; + size_t dummy = 0; + bool session = false; + packetInfo.pRemainingData = buffer; + packetInfo.type = MQTT_PACKET_TYPE_CONNACK; + packetInfo.remainingLength = 6; + pIndexLocal = &buffer[2]; + size_t propertyLength = encodeRemainingLength(pIndexLocal, 3); + pIndexLocal++; + *pIndexLocal = MQTT_SERVER_KEEP_ALIVE_ID; + pIndexLocal++; + pIndexLocal[0] = UINT16_HIGH_BYTE(13); + pIndexLocal[1] = UINT16_LOW_BYTE(13); + pIndexLocal = &pIndexLocal[2]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + TEST_ASSERT_EQUAL_INT(13, properties.serverKeepAlive); + + /*Protocol error to include the same property twice*/ + packetInfo.remainingLength = 9; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 6); + pIndexLocal++; + *pIndexLocal = MQTT_SERVER_KEEP_ALIVE_ID; + pIndexLocal++; + pIndexLocal[0] = UINT16_HIGH_BYTE(13); + pIndexLocal[1] = UINT16_LOW_BYTE(13); + pIndexLocal = &pIndexLocal[2]; + *pIndexLocal = MQTT_SERVER_KEEP_ALIVE_ID; + pIndexLocal++; + pIndexLocal[0] = UINT16_HIGH_BYTE(13); + pIndexLocal[1] = UINT16_LOW_BYTE(13); + pIndexLocal = &pIndexLocal[2]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 5; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal++; + *pIndexLocal = MQTT_SERVER_KEEP_ALIVE_ID; + pIndexLocal++; + pIndexLocal[0] = UINT16_HIGH_BYTE(13); + pIndexLocal[1] = UINT16_LOW_BYTE(13); + pIndexLocal = &pIndexLocal[2]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); +} + +void test_MQTTV5_DeserializeConnackOnlyResponseInfo(void) +{ + MQTTPacketInfo_t packetInfo; + MQTTConnectProperties_t properties; + MQTTStatus_t status; + memset(&properties, 0x0, sizeof(properties)); + memset(&packetInfo, 0x0, sizeof(packetInfo)); + uint8_t buffer[200] = {0}; + uint8_t *pIndexLocal = buffer; + buffer[0] = 0x01; + buffer[1] = 0x00; + size_t dummy = 0; + bool session = false; + packetInfo.pRemainingData = buffer; + packetInfo.type = MQTT_PACKET_TYPE_CONNACK; + packetInfo.remainingLength = 8; + pIndexLocal = &buffer[2]; + size_t propertyLength = encodeRemainingLength(pIndexLocal, 5); + pIndexLocal++; + *pIndexLocal = MQTT_RESPONSE_INFO_ID; + pIndexLocal++; + char string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + + packetInfo.remainingLength = 8; + properties.reqResInfo = 1; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 5); + pIndexLocal++; + *pIndexLocal = MQTT_RESPONSE_INFO_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + + /*Protocol error to include the same property twice*/ + packetInfo.remainingLength = 13; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 10); + pIndexLocal++; + *pIndexLocal = MQTT_RESPONSE_INFO_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + *pIndexLocal = MQTT_RESPONSE_INFO_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 7; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal++; + *pIndexLocal = MQTT_RESPONSE_INFO_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal++; + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); +} + +void test_MQTTV5_DeserializeConnackOnlyUserProperty(void) +{ + MQTTPacketInfo_t packetInfo; + MQTTConnectProperties_t properties; + MQTTUserProperty_t userProperty[5]; + MQTTUserProperty_t userProperty2[5]; + memset(&properties, 0x0, sizeof(properties)); + memset(&packetInfo, 0x0, sizeof(packetInfo)); + properties.outgoingUserPropSize = 1; + properties.outgoingUserProperty = userProperty; + properties.incomingUserProperty = userProperty2; + MQTTStatus_t status; + + uint8_t buffer[200] = {0}; + uint8_t *pIndexLocal = buffer; + buffer[0] = 0x01; + buffer[1] = 0x00; + size_t dummy = 0; + bool session = false; + packetInfo.pRemainingData = buffer; + packetInfo.type = MQTT_PACKET_TYPE_CONNACK; + packetInfo.remainingLength = 13; + pIndexLocal = &buffer[2]; + size_t propertyLength = encodeRemainingLength(pIndexLocal, 10); + pIndexLocal++; + *pIndexLocal = MQTT_USER_PROPERTY_ID; + pIndexLocal++; + char string = "ab"; + char string2 = "abc"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + uint8_t *x = pIndexLocal; + size_t dummy2 = encodeString(pIndexLocal, &string2, 3); + pIndexLocal = &pIndexLocal[dummy2]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + TEST_ASSERT_EQUAL(1, properties.incomingUserPropSize); + TEST_ASSERT_EQUAL(3, (properties.incomingUserProperty->valueLength)); + TEST_ASSERT_EQUAL(2, (properties.incomingUserProperty->keyLength)); +} + +void test_MQTTV5_DeserializeConnackOnlyAuthInfo(void) +{ + MQTTPacketInfo_t packetInfo; + MQTTConnectProperties_t properties; + MQTTAuthInfo_t auth; + MQTTAuthInfo_t auth1; + MQTTStatus_t status; + memset(&properties, 0x0, sizeof(properties)); + memset(&packetInfo, 0x0, sizeof(packetInfo)); + properties.incomingAuth = &auth; + properties.outgoingAuth = &auth1; + uint8_t buffer[200] = {0}; + uint8_t *pIndexLocal = buffer; + buffer[0] = 0x01; + buffer[1] = 0x00; + size_t dummy = 0; + bool session = false; + packetInfo.pRemainingData = buffer; + packetInfo.type = MQTT_PACKET_TYPE_CONNACK; + packetInfo.remainingLength = 8; + pIndexLocal = &buffer[2]; + size_t propertyLength = encodeRemainingLength(pIndexLocal, 5); + pIndexLocal++; + *pIndexLocal = MQTT_AUTH_METHOD_ID; + pIndexLocal++; + char string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + TEST_ASSERT_EQUAL(2, properties.incomingAuth->authMethodLength); +} + +void test_MQTTV5_DeserializeConnackOnlyServerRef(void) +{ + MQTTPacketInfo_t packetInfo; + MQTTConnectProperties_t properties; + MQTTStatus_t status; + memset(&properties, 0x0, sizeof(properties)); + memset(&packetInfo, 0x0, sizeof(packetInfo)); + uint8_t buffer[200] = {0}; + uint8_t *pIndexLocal = buffer; + buffer[0] = 0x01; + buffer[1] = 0x00; + size_t dummy = 0; + bool session = false; + packetInfo.pRemainingData = buffer; + packetInfo.type = MQTT_PACKET_TYPE_CONNACK; + packetInfo.remainingLength = 8; + pIndexLocal = &buffer[2]; + size_t propertyLength = encodeRemainingLength(pIndexLocal, 5); + pIndexLocal++; + *pIndexLocal = MQTT_SERVER_REF_ID; + pIndexLocal++; + char string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + TEST_ASSERT_EQUAL(2, properties.serverRefLength); + TEST_ASSERT_EQUAL(pIndexLocal, properties.serverRef + 2); + + /*Protocol error to include the same property twice*/ + packetInfo.remainingLength = 13; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 10); + pIndexLocal++; + *pIndexLocal = MQTT_SERVER_REF_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal++; + pIndexLocal = &pIndexLocal[dummy]; + *pIndexLocal = MQTT_SERVER_REF_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal++; + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 7; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal++; + *pIndexLocal = MQTT_SERVER_REF_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal++; + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); +} + +void test_MQTTV5_GetConnectPacketSize(void) { MQTTConnectInfo_t connectInfo; - size_t remainingLength = 0; + size_t remainingLength = 0; size_t packetSize = 0; MQTTStatus_t status = MQTTSuccess; - MQTTPublishInfo_t willInfo = { 0 }; - MQTTConnectProperties_t properties; + MQTTPublishInfo_t willInfo = {0}; + MQTTConnectProperties_t properties; memset(&properties, 0x0, sizeof(properties)); /* Call MQTTV5_GetConnectPacketSize() with various combinations of * incorrect paramters */ properties.receiveMax = 65535U; - properties.maxPacketSize= UINT32_MAX; + properties.maxPacketSize = UINT32_MAX; properties.reqProbInfo = 1; - status = MQTTV5_GetConnectPacketSize( NULL, NULL, &properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + status = MQTTV5_GetConnectPacketSize(NULL, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); - status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, NULL, &packetSize ); - TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, NULL, &packetSize); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); - status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, &remainingLength, NULL ); - TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, NULL); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); /* Verify empty connect info fails. */ - memset( &connectInfo, 0x0, sizeof( connectInfo ) ); - status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - + memset(&connectInfo, 0x0, sizeof(connectInfo)); + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); /* Verify empty client identifier fails. */ connectInfo.pClientIdentifier = CLIENT_IDENTIFIER; connectInfo.clientIdentifierLength = 0; - status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); connectInfo.pClientIdentifier = NULL; connectInfo.clientIdentifierLength = CLIENT_IDENTIFIER_LENGTH; - status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); /* Test a will message payload length that is too large. */ - memset( &connectInfo, 0x0, sizeof( connectInfo ) ); + memset(&connectInfo, 0x0, sizeof(connectInfo)); connectInfo.pClientIdentifier = CLIENT_IDENTIFIER; connectInfo.clientIdentifierLength = UINT16_MAX; connectInfo.pPassword = ""; @@ -1797,36 +2525,35 @@ void test_MQTTV5_GetConnectPacketSize( void ) willInfo.topicNameLength = UINT16_MAX; /* A valid will message payload is less than the maximum 16 bit integer. */ willInfo.payloadLength = UINT16_MAX + 2; - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo,&properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); /* Verify good case */ - memset( &connectInfo, 0x0, sizeof( connectInfo ) ); + memset(&connectInfo, 0x0, sizeof(connectInfo)); connectInfo.cleanSession = true; connectInfo.pClientIdentifier = "TEST"; connectInfo.clientIdentifierLength = 4; - status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_INT( 0, properties.propertyLength ); + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + TEST_ASSERT_EQUAL_INT(0, properties.propertyLength); /* Make sure remaining size returned is 17. */ - TEST_ASSERT_EQUAL_INT( 17, remainingLength ); + TEST_ASSERT_EQUAL_INT(17, remainingLength); /* Make sure packet size is 19. */ - TEST_ASSERT_EQUAL_INT( 19, packetSize ); - + TEST_ASSERT_EQUAL_INT(19, packetSize); /* With will. These parameters will cause the packet to be * 4 + 2 + 8 + 2 = 16 bytes larger. */ - memset( &willInfo, 0x0, sizeof( willInfo ) ); + memset(&willInfo, 0x0, sizeof(willInfo)); willInfo.pTopicName = "test"; willInfo.topicNameLength = 4; willInfo.pPayload = "testload"; willInfo.payloadLength = 8; - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo,&properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); /* Make sure remaining size returned is 32 = 16 + 16 + 2. */ - TEST_ASSERT_EQUAL_INT( 34, remainingLength ); + TEST_ASSERT_EQUAL_INT(34, remainingLength); /* Make sure packet size is 34 = 18 + 16 + 2. */ - TEST_ASSERT_EQUAL_INT( 36, packetSize ); + TEST_ASSERT_EQUAL_INT(36, packetSize); /* With username and password. This will add 4 + 2 + 4 + 2 = 12 bytes. */ connectInfo.cleanSession = true; @@ -1834,121 +2561,119 @@ void test_MQTTV5_GetConnectPacketSize( void ) connectInfo.userNameLength = 4; connectInfo.pPassword = "PASS"; connectInfo.passwordLength = 4; - status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, status); /* Make sure remaining size returned is 28 = 16 + 12. */ - TEST_ASSERT_EQUAL_INT( 29, remainingLength ); + TEST_ASSERT_EQUAL_INT(29, remainingLength); /* Make sure packet size is 30 = 18 + 12. */ - TEST_ASSERT_EQUAL_INT( 31, packetSize ); - - status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,NULL, &remainingLength, NULL ); - TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - - /*Connect Properties*/ - properties.sessionExpiry= 22; - properties.receiveMax =34; - properties.isMaxPacketSize =true; - properties.maxPacketSize =32; - properties.topicAliasMax = 12; - properties.reqResInfo = 1; - properties.reqProbInfo = 0; - MQTTUserProperty_t userProperty; + TEST_ASSERT_EQUAL_INT(31, packetSize); + + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, NULL, &remainingLength, NULL); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + + /*Connect Properties*/ + properties.sessionExpiry = 22; + properties.receiveMax = 34; + properties.isMaxPacketSize = true; + properties.maxPacketSize = 32; + properties.topicAliasMax = 12; + properties.reqResInfo = 1; + properties.reqProbInfo = 0; + MQTTUserProperty_t userProperty; memset(&userProperty, 0x0, sizeof(userProperty)); - userProperty.keyLength=3; - userProperty.valueLength=1; - userProperty.value="1"; - userProperty.key="211"; - properties.outgoingUserPropSize= 1; + userProperty.keyLength = 3; + userProperty.valueLength = 1; + userProperty.value = "1"; + userProperty.key = "211"; + properties.outgoingUserPropSize = 1; properties.outgoingUserProperty = &userProperty; - status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, status); /* Make sure remaining size returned is 58. */ - TEST_ASSERT_EQUAL_INT( 58, remainingLength ); + TEST_ASSERT_EQUAL_INT(58, remainingLength); /* Make sure packet size is 60. */ - TEST_ASSERT_EQUAL_INT( 60, packetSize ); + TEST_ASSERT_EQUAL_INT(60, packetSize); willInfo.payloadFormat = 1; willInfo.msgExpiryPresent = 1; - willInfo.msgExpiryInterval= 10; + willInfo.msgExpiryInterval = 10; willInfo.msgExpiryPresent = 1; - willInfo.msgExpiryInterval= 10; - willInfo.contentTypeLength =2; - willInfo.contentType="ab"; - willInfo.responseTopicLength =2; - willInfo.responseTopic="ab"; - willInfo.correlationLength =2; - willInfo.correlationData="ab"; + willInfo.msgExpiryInterval = 10; + willInfo.contentTypeLength = 2; + willInfo.contentType = "ab"; + willInfo.responseTopicLength = 2; + willInfo.responseTopic = "ab"; + willInfo.correlationLength = 2; + willInfo.correlationData = "ab"; willInfo.willDelay = 3; // 34 + 12 + 29 - status = MQTTV5_GetConnectPacketSize( &connectInfo,&willInfo,&properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, status); /* Make sure remaining size returned is 50. */ - TEST_ASSERT_EQUAL_INT( 102, remainingLength ); + TEST_ASSERT_EQUAL_INT(102, remainingLength); /* Make sure packet size is 52. */ - TEST_ASSERT_EQUAL_INT( 104, packetSize ); + TEST_ASSERT_EQUAL_INT(104, packetSize); } - // /** // * @brief Tests that MQTTV5_SerializeConnect works as intended. // */ -void test_MQTTV5_SerializeConnect( void ) +void test_MQTTV5_SerializeConnect(void) { MQTTConnectInfo_t connectInfo; - MQTTPublishInfo_t willInfo = { 0 }; + MQTTPublishInfo_t willInfo = {0}; size_t remainingLength = 0; - uint8_t buffer[ 70 + 2 * BUFFER_PADDING_LENGTH ]; - size_t bufferSize = sizeof( buffer ) - 2 * BUFFER_PADDING_LENGTH; + uint8_t buffer[70 + 2 * BUFFER_PADDING_LENGTH]; + size_t bufferSize = sizeof(buffer) - 2 * BUFFER_PADDING_LENGTH; size_t packetSize = bufferSize; MQTTStatus_t status = MQTTSuccess; MQTTConnectProperties_t properties; - memset(&properties,0x0, sizeof(properties)); + memset(&properties, 0x0, sizeof(properties)); properties.receiveMax = 65535U; - properties.isMaxPacketSize =true; - properties.maxPacketSize= UINT32_MAX; + properties.isMaxPacketSize = true; + properties.maxPacketSize = UINT32_MAX; properties.reqProbInfo = 1; - MQTTFixedBuffer_t fixedBuffer = { .pBuffer = &buffer[ BUFFER_PADDING_LENGTH ], .size = bufferSize }; + MQTTFixedBuffer_t fixedBuffer = {.pBuffer = &buffer[BUFFER_PADDING_LENGTH], .size = bufferSize}; /* Verify bad parameter errors. */ - status = MQTTV5_SerializeConnect( NULL, &willInfo,&properties,remainingLength,&fixedBuffer ); - TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - status =MQTTV5_SerializeConnect( &connectInfo, &willInfo,&properties, remainingLength, NULL ); - TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - - memset( &connectInfo, 0x0, sizeof( connectInfo ) ); - status = MQTTV5_SerializeConnect( &connectInfo, NULL,&properties, 120, &fixedBuffer ); - TEST_ASSERT_EQUAL_INT( MQTTNoMemory, status ); - - status = MQTTV5_SerializeConnect( &connectInfo,&willInfo,NULL, 120, &fixedBuffer ); - TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - + status = MQTTV5_SerializeConnect(NULL, &willInfo, &properties, remainingLength, &fixedBuffer); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + status = MQTTV5_SerializeConnect(&connectInfo, &willInfo, &properties, remainingLength, NULL); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + + memset(&connectInfo, 0x0, sizeof(connectInfo)); + status = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, 120, &fixedBuffer); + TEST_ASSERT_EQUAL_INT(MQTTNoMemory, status); + + status = MQTTV5_SerializeConnect(&connectInfo, &willInfo, NULL, 120, &fixedBuffer); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); /* Create a good connection info. */ - memset( &connectInfo, 0x0, sizeof( connectInfo ) ); + memset(&connectInfo, 0x0, sizeof(connectInfo)); connectInfo.pClientIdentifier = "TEST"; connectInfo.clientIdentifierLength = 4; /* Inject a invalid fixed buffer test with a good connectInfo. */ - memset( &fixedBuffer, 0x0, sizeof( fixedBuffer ) ); - status = MQTTV5_SerializeConnect( &connectInfo, NULL,&properties, remainingLength, &fixedBuffer ); - TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + memset(&fixedBuffer, 0x0, sizeof(fixedBuffer)); + status = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, remainingLength, &fixedBuffer); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); /* Good case succeeds. */ /* Set the fixedBuffer properly for the rest of the succeeding test. */ - fixedBuffer.pBuffer = &buffer[ BUFFER_PADDING_LENGTH ]; + fixedBuffer.pBuffer = &buffer[BUFFER_PADDING_LENGTH]; fixedBuffer.size = bufferSize; /* Calculate a good packet size. */ - status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL ,&properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); /* Make sure buffer has enough space */ - TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); /* Make sure test succeeds. */ - padAndResetBuffer( buffer, sizeof( buffer ) ); - status = MQTTV5_SerializeConnect( &connectInfo, NULL,&properties, remainingLength, &fixedBuffer ); - TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - checkBufferOverflow( buffer, sizeof( buffer ) ); + padAndResetBuffer(buffer, sizeof(buffer)); + status = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, remainingLength, &fixedBuffer); + TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + checkBufferOverflow(buffer, sizeof(buffer)); /* Encode user name. Also try clean session. */ connectInfo.cleanSession = true; @@ -1956,66 +2681,66 @@ void test_MQTTV5_SerializeConnect( void ) connectInfo.userNameLength = 4; connectInfo.pPassword = "PASS"; connectInfo.passwordLength = 4; - status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); - padAndResetBuffer( buffer, sizeof( buffer ) ); - status = MQTTV5_SerializeConnect( &connectInfo, NULL,&properties, remainingLength, &fixedBuffer ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - checkBufferOverflow( buffer, sizeof( buffer ) ); + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); + padAndResetBuffer(buffer, sizeof(buffer)); + status = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, remainingLength, &fixedBuffer); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + checkBufferOverflow(buffer, sizeof(buffer)); /* Serialize connect with LWT. */ /* Test for NULL topic name. */ - ( void ) memset( &willInfo, 0x00, sizeof( MQTTPublishInfo_t ) ); + (void)memset(&willInfo, 0x00, sizeof(MQTTPublishInfo_t)); willInfo.retain = true; willInfo.qos = MQTTQoS1; willInfo.pPayload = "test"; - willInfo.payloadLength = ( uint16_t ) strlen( willInfo.pPayload ); - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo,&properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); - status = MQTTV5_SerializeConnect( &connectInfo, &willInfo,&properties, remainingLength, &fixedBuffer ); - TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + willInfo.payloadLength = (uint16_t)strlen(willInfo.pPayload); + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); + status = MQTTV5_SerializeConnect(&connectInfo, &willInfo, &properties, remainingLength, &fixedBuffer); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); /* Success. */ - ( void ) memset( &willInfo, 0x00, sizeof( MQTTPublishInfo_t ) ); + (void)memset(&willInfo, 0x00, sizeof(MQTTPublishInfo_t)); willInfo.retain = true; willInfo.qos = MQTTQoS1; willInfo.pTopicName = "test"; - willInfo.topicNameLength = ( uint16_t ) strlen( willInfo.pTopicName ); + willInfo.topicNameLength = (uint16_t)strlen(willInfo.pTopicName); willInfo.pPayload = "test"; - willInfo.payloadLength = ( uint16_t ) strlen( willInfo.pPayload ); - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo,&properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); - padAndResetBuffer( buffer, sizeof( buffer ) ); - status = MQTTV5_SerializeConnect( &connectInfo, &willInfo,&properties, remainingLength, &fixedBuffer ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - checkBufferOverflow( buffer, sizeof( buffer ) ); + willInfo.payloadLength = (uint16_t)strlen(willInfo.pPayload); + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); + padAndResetBuffer(buffer, sizeof(buffer)); + status = MQTTV5_SerializeConnect(&connectInfo, &willInfo, &properties, remainingLength, &fixedBuffer); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + checkBufferOverflow(buffer, sizeof(buffer)); /* Again with QoS 2 and 0. */ willInfo.qos = MQTTQoS2; - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo,&properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); - padAndResetBuffer( buffer, sizeof( buffer ) ); - status = MQTTV5_SerializeConnect( &connectInfo, &willInfo,&properties,remainingLength, &fixedBuffer ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - checkBufferOverflow( buffer, sizeof( buffer ) ); + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); + padAndResetBuffer(buffer, sizeof(buffer)); + status = MQTTV5_SerializeConnect(&connectInfo, &willInfo, &properties, remainingLength, &fixedBuffer); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + checkBufferOverflow(buffer, sizeof(buffer)); willInfo.qos = MQTTQoS0; willInfo.retain = false; /* NULL payload is acceptable. */ willInfo.pPayload = NULL; willInfo.payloadLength = 0; - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo,&properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); - padAndResetBuffer( buffer, sizeof( buffer ) ); - status = MQTTV5_SerializeConnect( &connectInfo, &willInfo,&properties, remainingLength, &fixedBuffer ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - checkBufferOverflow( buffer, sizeof( buffer ) ); + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); + padAndResetBuffer(buffer, sizeof(buffer)); + status = MQTTV5_SerializeConnect(&connectInfo, &willInfo, &properties, remainingLength, &fixedBuffer); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + checkBufferOverflow(buffer, sizeof(buffer)); /* Success right on the buffer boundary. */ connectInfo.pUserName = "USER"; @@ -2023,82 +2748,84 @@ void test_MQTTV5_SerializeConnect( void ) /* Throwing in a possible valid zero length password. */ connectInfo.pPassword = "PASS"; connectInfo.passwordLength = 0; - status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); /* Set the fixed buffer to exactly the size of the packet. */ fixedBuffer.size = packetSize; - padAndResetBuffer( buffer, sizeof( buffer ) ); - status = MQTTV5_SerializeConnect( &connectInfo, NULL,&properties, remainingLength, &fixedBuffer ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - checkBufferOverflow( buffer, sizeof( buffer ) ); + padAndResetBuffer(buffer, sizeof(buffer)); + status = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, remainingLength, &fixedBuffer); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + checkBufferOverflow(buffer, sizeof(buffer)); /*Connect Properties*/ - properties.sessionExpiry= 22; - properties.receiveMax =34; - properties.maxPacketSize =32; - properties.topicAliasMax = 12; - properties.reqResInfo = 1; - properties.reqProbInfo = 0; - MQTTUserProperty_t userProperty; + properties.sessionExpiry = 22; + properties.receiveMax = 34; + properties.maxPacketSize = 32; + properties.topicAliasMax = 12; + properties.reqResInfo = 1; + properties.reqProbInfo = 0; + MQTTUserProperty_t userProperty; memset(&userProperty, 0x0, sizeof(userProperty)); - userProperty.keyLength=3; - userProperty.valueLength=1; - userProperty.value="1"; - userProperty.key="211"; - properties.outgoingUserPropSize= 1; + userProperty.keyLength = 3; + userProperty.valueLength = 1; + userProperty.value = "1"; + userProperty.key = "211"; + properties.outgoingUserPropSize = 1; properties.outgoingUserProperty = &userProperty; // 29 - status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); /* Set the fixed buffer to exactly the size of the packet. */ fixedBuffer.size = packetSize; - padAndResetBuffer( buffer, sizeof( buffer ) ); - status = MQTTV5_SerializeConnect( &connectInfo, NULL,&properties, remainingLength, &fixedBuffer ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - checkBufferOverflow( buffer, sizeof( buffer ) ); + padAndResetBuffer(buffer, sizeof(buffer)); + status = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, remainingLength, &fixedBuffer); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + checkBufferOverflow(buffer, sizeof(buffer)); /*Will Properties*/ willInfo.payloadFormat = 1; willInfo.msgExpiryPresent = 1; - willInfo.msgExpiryInterval= 10; + willInfo.msgExpiryInterval = 10; willInfo.msgExpiryPresent = 1; - willInfo.msgExpiryInterval= 10; - willInfo.contentTypeLength =2; - willInfo.contentType="ab"; - willInfo.responseTopicLength =2; - willInfo.responseTopic="ab"; - willInfo.correlationLength =2; - willInfo.correlationData="ab"; + willInfo.msgExpiryInterval = 10; + willInfo.contentTypeLength = 2; + willInfo.contentType = "ab"; + willInfo.responseTopicLength = 2; + willInfo.responseTopic = "ab"; + willInfo.correlationLength = 2; + willInfo.correlationData = "ab"; willInfo.willDelay = 3; // 27 - status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL,&properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); /* Set the fixed buffer to exactly the size of the packet. */ fixedBuffer.size = packetSize; - padAndResetBuffer( buffer, sizeof( buffer ) ); - status = MQTTV5_SerializeConnect( &connectInfo, NULL,&properties, remainingLength, &fixedBuffer ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); - checkBufferOverflow( buffer, sizeof( buffer ) ); - + padAndResetBuffer(buffer, sizeof(buffer)); + status = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, remainingLength, &fixedBuffer); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + checkBufferOverflow(buffer, sizeof(buffer)); } -void test_serializeUserProperties(void){ - MQTTUserProperty_t userProperty[2]; - userProperty[0].key="2"; - userProperty[0].keyLength= 1; - userProperty[0].valueLength=3; - userProperty[0].value="abc"; - userProperty[1].key="2"; - userProperty[1].keyLength= 1; - userProperty[1].valueLength=2; - userProperty[1].value="ab"; - size_t encodedStringLength= 0U; +void test_serializeUserProperties(void) +{ + MQTTUserProperty_t userProperty[2]; + memset(&userProperty[0], 0x0, sizeof(userProperty[0])); + memset(&userProperty[1], 0x0, sizeof(userProperty[1])); + userProperty[0].key = "2"; + userProperty[0].keyLength = 1; + userProperty[0].valueLength = 3; + userProperty[0].value = "abc"; + userProperty[1].key = "2"; + userProperty[1].keyLength = 1; + userProperty[1].valueLength = 2; + userProperty[1].value = "ab"; + size_t encodedStringLength = 0U; uint8_t buffer[50]; - uint8_t *pIndex= buffer; - // pIndex= serializeUserProperties(pIndex,&userProperty,1); + uint8_t *pIndex = buffer; + uint8_t *pIndexLocal = serializeUserProperties(encodedStringBuffer,userProperty,2); // TEST_ASSERT_EQUAL_INT(MQTT_USER_PROPERTY_ID,*pIndex); // pIndex++; // encodedStringLength = encodeString( encodedStringBuffer, @@ -2124,11 +2851,9 @@ void test_serializeUserProperties(void){ // (userProperty+1)->value, // (userProperty+1)->valueLength); // TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); - // pIndex += encodedStringLength; + // pIndex += encodedStringLength; } - - /** * @brief This method calls MQTT_SerializeConnect successfully using different parameters * until we have full coverage on the private method, serializeConnectPacket(...). @@ -2142,63 +2867,62 @@ void test_MQTTV5_SerializeConnect_Happy_Paths() MQTTConnectInfo_t connectInfo; MQTTPublishInfo_t willInfo; MQTTConnectProperties_t properties; - memset(&properties,0x0, sizeof(properties)); - memset(&willInfo,0x0, sizeof(willInfo)); - properties.sessionExpiry= 22; - properties.receiveMax =34; - properties.maxPacketSize =32; + memset(&properties, 0x0, sizeof(properties)); + memset(&willInfo, 0x0, sizeof(willInfo)); + properties.sessionExpiry = 22; + properties.receiveMax = 34; + properties.maxPacketSize = 32; properties.topicAliasMax = 12; properties.reqResInfo = 1; properties.reqProbInfo = 0; willInfo.payloadFormat = 1; willInfo.msgExpiryPresent = 1; - willInfo.msgExpiryInterval= 10; + willInfo.msgExpiryInterval = 10; willInfo.msgExpiryPresent = 1; - willInfo.msgExpiryInterval= 10; - willInfo.contentTypeLength =2; - willInfo.contentType="ab"; - willInfo.responseTopicLength =2; - willInfo.responseTopic="ab"; - willInfo.correlationLength =2; - willInfo.correlationData="ab"; + willInfo.msgExpiryInterval = 10; + willInfo.contentTypeLength = 2; + willInfo.contentType = "ab"; + willInfo.responseTopicLength = 2; + willInfo.responseTopic = "ab"; + willInfo.correlationLength = 2; + willInfo.correlationData = "ab"; willInfo.willDelay = 3; /* Fill structs to pass into methods to be tested. */ - setupNetworkBuffer( &networkBuffer ); - setupConnectInfo( &connectInfo ); - setupPublishInfo( &willInfo ); + setupNetworkBuffer(&networkBuffer); + setupConnectInfo(&connectInfo); + setupPublishInfo(&willInfo); willInfo.dup = true; willInfo.retain = true; /* Get MQTT connect packet size and remaining length. */ - mqttStatus = MQTTV5_GetConnectPacketSize( &connectInfo, - &willInfo, - &properties, - &remainingLength, - &packetSize ); - TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); + mqttStatus = MQTTV5_GetConnectPacketSize(&connectInfo, + &willInfo, + &properties, + &remainingLength, + &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, mqttStatus); /* Make sure buffer has enough space. */ - TEST_ASSERT_GREATER_OR_EQUAL( packetSize, networkBuffer.size ); - mqttStatus = MQTTV5_SerializeConnect( &connectInfo,&willInfo,&properties, - remainingLength, &networkBuffer ); - TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); - verifySerializedConnectPacket( &connectInfo,&willInfo,&properties, - remainingLength,&networkBuffer ); - + TEST_ASSERT_GREATER_OR_EQUAL(packetSize, networkBuffer.size); + mqttStatus = MQTTV5_SerializeConnect(&connectInfo, &willInfo, &properties, + remainingLength, &networkBuffer); + TEST_ASSERT_EQUAL(MQTTSuccess, mqttStatus); + verifySerializedConnectPacket(&connectInfo, &willInfo, &properties, + remainingLength, &networkBuffer); + // /* Repeat with MQTTQoS1. */ willInfo.qos = MQTTQoS1; - mqttStatus = MQTTV5_GetConnectPacketSize( &connectInfo, - &willInfo, - &properties, - &remainingLength, - &packetSize ); - TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); + mqttStatus = MQTTV5_GetConnectPacketSize(&connectInfo, + &willInfo, + &properties, + &remainingLength, + &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, mqttStatus); /* Make sure buffer has enough space. */ - TEST_ASSERT_GREATER_OR_EQUAL( packetSize, networkBuffer.size ); - mqttStatus = MQTTV5_SerializeConnect( &connectInfo, &willInfo,&properties, - remainingLength, &networkBuffer ); - TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); - verifySerializedConnectPacket( &connectInfo, &willInfo,&properties, - remainingLength, &networkBuffer ); - + TEST_ASSERT_GREATER_OR_EQUAL(packetSize, networkBuffer.size); + mqttStatus = MQTTV5_SerializeConnect(&connectInfo, &willInfo, &properties, + remainingLength, &networkBuffer); + TEST_ASSERT_EQUAL(MQTTSuccess, mqttStatus); + verifySerializedConnectPacket(&connectInfo, &willInfo, &properties, + remainingLength, &networkBuffer); /* Re-initialize objects for branch coverage. */ willInfo.pPayload = MQTT_SAMPLE_PAYLOAD; @@ -2216,34 +2940,32 @@ void test_MQTTV5_SerializeConnect_Happy_Paths() connectInfo.pPassword = NULL; connectInfo.passwordLength = 0; - mqttStatus = MQTTV5_GetConnectPacketSize( &connectInfo, - &willInfo, - &properties, - &remainingLength, - &packetSize ); - TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); + mqttStatus = MQTTV5_GetConnectPacketSize(&connectInfo, + &willInfo, + &properties, + &remainingLength, + &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, mqttStatus); /* Make sure buffer has enough space. */ - TEST_ASSERT_GREATER_OR_EQUAL( packetSize, networkBuffer.size ); - mqttStatus = MQTTV5_SerializeConnect( &connectInfo, &willInfo,&properties, - remainingLength, &networkBuffer ); - TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); - verifySerializedConnectPacket( &connectInfo, &willInfo,&properties, - remainingLength, &networkBuffer ); - + TEST_ASSERT_GREATER_OR_EQUAL(packetSize, networkBuffer.size); + mqttStatus = MQTTV5_SerializeConnect(&connectInfo, &willInfo, &properties, + remainingLength, &networkBuffer); + TEST_ASSERT_EQUAL(MQTTSuccess, mqttStatus); + verifySerializedConnectPacket(&connectInfo, &willInfo, &properties, + remainingLength, &networkBuffer); /* Repeat with NULL pWillInfo. */ - mqttStatus = MQTTV5_GetConnectPacketSize( &connectInfo, - NULL, - &properties, - &remainingLength, - &packetSize ); - TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); + mqttStatus = MQTTV5_GetConnectPacketSize(&connectInfo, + NULL, + &properties, + &remainingLength, + &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, mqttStatus); /* Make sure buffer has enough space. */ - TEST_ASSERT_GREATER_OR_EQUAL( packetSize, networkBuffer.size ); - mqttStatus = MQTTV5_SerializeConnect( &connectInfo, NULL,&properties, - remainingLength, &networkBuffer ); - TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); - verifySerializedConnectPacket( &connectInfo, NULL,&properties, - remainingLength, &networkBuffer ); + TEST_ASSERT_GREATER_OR_EQUAL(packetSize, networkBuffer.size); + mqttStatus = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, + remainingLength, &networkBuffer); + TEST_ASSERT_EQUAL(MQTTSuccess, mqttStatus); + verifySerializedConnectPacket(&connectInfo, NULL, &properties, + remainingLength, &networkBuffer); } - diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index a4158879b..e3dad512c 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -265,858 +265,934 @@ int suiteTearDown( int numFailures ) /* ========================================================================== */ -// /** -// * @brief Mock successful transport send, and write data into buffer for -// * verification. -// */ -// static int32_t mockSend( NetworkContext_t * pNetworkContext, -// const void * pMessage, -// size_t bytesToSend ) -// { -// const uint8_t * buffer = ( const uint8_t * ) pMessage; -// /* Treat network context as pointer to buffer for mocking. */ -// uint8_t * mockNetwork = *( pNetworkContext->buffer ); -// size_t bytesSent = 0; - -// while( bytesSent++ < bytesToSend ) -// { -// /* Write single byte and advance buffer. */ -// *mockNetwork++ = *buffer++; -// } - -// /* Move stream by bytes sent. */ -// *( pNetworkContext->buffer ) = mockNetwork; - -// return bytesToSend; -// } - -// /** -// * @brief Initialize pNetworkBuffer using static buffer. -// * -// * @param[in] pNetworkBuffer Network buffer provided for the context. -// */ -// static void setupNetworkBuffer( MQTTFixedBuffer_t * const pNetworkBuffer ) -// { -// pNetworkBuffer->pBuffer = mqttBuffer; -// pNetworkBuffer->size = MQTT_TEST_BUFFER_LENGTH; -// } - -// /** -// * @brief Mocked MQTT event callback. -// * -// * @param[in] pContext MQTT context pointer. -// * @param[in] pPacketInfo Packet Info pointer for the incoming packet. -// * @param[in] pDeserializedInfo Deserialized information from the incoming packet. -// */ -// static void eventCallback( MQTTContext_t * pContext, -// MQTTPacketInfo_t * pPacketInfo, -// MQTTDeserializedInfo_t * pDeserializedInfo ) -// { -// ( void ) pContext; -// ( void ) pPacketInfo; -// ( void ) pDeserializedInfo; - -// /* Update the global state to indicate that event callback is invoked. */ -// isEventCallbackInvoked = true; -// } - -// /** -// * @brief A mocked timer query function that increments on every call. This -// * guarantees that only a single iteration runs in the ProcessLoop for ease -// * of testing. -// */ -// static uint32_t getTime( void ) -// { -// return globalEntryTime++; -// } - -// static int32_t getTimeMockCallLimit = -1; - -// /** -// * @brief A mocked timer query function that increments on every call. This -// * guarantees that only a single iteration runs in the ProcessLoop for ease -// * of testing. Additionally, this tests whether the number of calls to this -// * function have exceeded than the set limit and asserts. -// */ -// static uint32_t getTimeMock( void ) -// { -// TEST_ASSERT_GREATER_THAN_INT32( -1, getTimeMockCallLimit-- ); -// return globalEntryTime++; -// } - -// static int32_t getTimeMockBigTimeStepCallLimit = -1; - -// /** -// * @brief A mocked timer query function that increments by MQTT_SEND_TIMEOUT_MS -// * to simulate the time consumed by a long running high priority task on every -// * call. Additionally, this tests whether the number of calls to this function -// * have exceeded than the set limit and asserts. -// */ -// static uint32_t getTimeMockBigTimeStep( void ) -// { -// TEST_ASSERT_GREATER_THAN_INT32( -1, getTimeMockBigTimeStepCallLimit-- ); - -// globalEntryTime += MQTT_SEND_TIMEOUT_MS; -// return globalEntryTime; -// } - - -// /** -// * @brief A mocked timer function that could be used on a device with no system -// * time. -// */ -// static uint32_t getTimeDummy( void ) -// { -// return 0; -// } - -// /** -// * @brief Mocked successful transport writev. -// * -// * @param[in] tcpSocket TCP socket. -// * @param[in] pMessage vectors to send -// * @param[in] bytesToWrite number of vectors -// * -// * @return Number of bytes sent; negative value on error; -// * 0 for timeout or 0 bytes sent. -// */ -// static int32_t transportWritevSuccess( NetworkContext_t * pNetworkContext, -// TransportOutVector_t * pIoVectorIterator, -// size_t vectorsToBeSent ) -// { -// TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); -// int32_t bytesToWrite = 0; -// size_t i; - -// for( i = 0; i < vectorsToBeSent; ++i ) -// { -// bytesToWrite += pIoVectorIterator->iov_len; -// pIoVectorIterator++; -// } - -// return bytesToWrite; -// } - -// static void verifyEncodedTopicString( TransportOutVector_t * pIoVectorIterator, -// char * pTopicFilter, -// size_t topicFilterLength, -// MQTTQoS_t topicQos, -// int32_t * pBytesToWrite ) -// { -// /* Encoded topic length. */ -// uint8_t serializedLength[ 2 ]; -// const uint8_t * buffer; -// size_t length; - -// serializedLength[ 0 ] = ( uint8_t ) ( topicFilterLength >> 8 ); -// serializedLength[ 1 ] = ( uint8_t ) ( topicFilterLength & 0x00ffU ); - -// buffer = pIoVectorIterator[ 0 ].iov_base; -// length = pIoVectorIterator[ 0 ].iov_len; - -// TEST_ASSERT_EQUAL( 2U, length ); -// TEST_ASSERT_EQUAL_UINT8_ARRAY( serializedLength, buffer, 2U ); -// ( *pBytesToWrite ) += length; - -// buffer = pIoVectorIterator[ 1 ].iov_base; -// length = pIoVectorIterator[ 1 ].iov_len; - -// /* Encoded topic string. */ -// TEST_ASSERT_EQUAL( topicFilterLength, length ); -// TEST_ASSERT_EQUAL_UINT8_ARRAY( pTopicFilter, buffer, topicFilterLength ); -// ( *pBytesToWrite ) += length; - -// buffer = pIoVectorIterator[ 2 ].iov_base; -// length = pIoVectorIterator[ 2 ].iov_len; - -// /* Encoded QoS. */ -// TEST_ASSERT_EQUAL( 1U, length ); -// TEST_ASSERT_EQUAL_UINT8( topicQos, *buffer ); -// ( *pBytesToWrite ) += length; -// } - -// static void verifyEncodedTopicStringUnsubscribe( TransportOutVector_t * pIoVectorIterator, -// char * pTopicFilter, -// size_t topicFilterLength, -// int32_t * pBytesToWrite ) -// { -// /* Encoded topic length. */ -// uint8_t serializedLength[ 2 ]; -// const uint8_t * buffer; -// size_t length; - -// serializedLength[ 0 ] = ( uint8_t ) ( topicFilterLength >> 8 ); -// serializedLength[ 1 ] = ( uint8_t ) ( topicFilterLength & 0x00ffU ); - -// buffer = pIoVectorIterator[ 0 ].iov_base; -// length = pIoVectorIterator[ 0 ].iov_len; - -// TEST_ASSERT_EQUAL( 2U, length ); -// TEST_ASSERT_EQUAL_UINT8_ARRAY( serializedLength, buffer, 2U ); -// ( *pBytesToWrite ) += length; - -// buffer = pIoVectorIterator[ 1 ].iov_base; -// length = pIoVectorIterator[ 1 ].iov_len; - -// /* Encoded topic string. */ -// TEST_ASSERT_EQUAL( topicFilterLength, length ); -// TEST_ASSERT_EQUAL_UINT8_ARRAY( pTopicFilter, buffer, topicFilterLength ); -// ( *pBytesToWrite ) += length; -// } - -// /** -// * @brief Mocked transport writev to verify correct subscription -// * packet. -// * -// * @param[in] tcpSocket TCP socket. -// * @param[in] pMessage vectors to send -// * @param[in] bytesToWrite number of vectors -// * -// * @return Number of bytes sent; negative value on error; -// * 0 for timeout or 0 bytes sent. -// */ -// static int32_t transportWritevSubscribeSuccess( NetworkContext_t * pNetworkContext, -// TransportOutVector_t * pIoVectorIterator, -// size_t vectorsToBeSent ) -// { -// TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); -// int32_t bytesToWrite = 0; -// static int writeCount = 0; -// const uint8_t * buffer; -// size_t length; - -// /* The header. */ -// if( writeCount == 0 ) -// { -// TEST_ASSERT_EQUAL( 4, vectorsToBeSent ); - -// buffer = pIoVectorIterator->iov_base; -// length = pIoVectorIterator->iov_len; - -// TEST_ASSERT_EQUAL( length, SubscribeHeaderLength ); -// TEST_ASSERT_EQUAL_UINT8_ARRAY( ( uint8_t * ) SubscribeHeader, buffer, SubscribeHeaderLength ); - -// bytesToWrite += length; -// pIoVectorIterator++; - -// /* First topic filter. */ -// verifyEncodedTopicString( pIoVectorIterator, -// MQTT_SAMPLE_TOPIC_FILTER, -// MQTT_SAMPLE_TOPIC_FILTER_LENGTH, -// MQTTQoS1, -// &bytesToWrite ); - -// writeCount++; - -// pIoVectorIterator += 4; -// } -// else if( writeCount == 1 ) -// { -// TEST_ASSERT_EQUAL( 6, vectorsToBeSent ); - -// /* Second topic filter. */ -// verifyEncodedTopicString( pIoVectorIterator, -// MQTT_SAMPLE_TOPIC_FILTER1, -// MQTT_SAMPLE_TOPIC_FILTER_LENGTH1, -// MQTTQoS2, -// &bytesToWrite ); - -// pIoVectorIterator += 3; - -// /* Third topic filter. */ -// verifyEncodedTopicString( pIoVectorIterator, -// MQTT_SAMPLE_TOPIC_FILTER2, -// MQTT_SAMPLE_TOPIC_FILTER_LENGTH2, -// MQTTQoS0, -// &bytesToWrite ); - -// writeCount++; -// } -// else if( writeCount == 2 ) -// { -// TEST_ASSERT_EQUAL( 3, vectorsToBeSent ); - -// /* Fourth topic filter. */ -// verifyEncodedTopicString( pIoVectorIterator, -// MQTT_SAMPLE_TOPIC_FILTER3, -// MQTT_SAMPLE_TOPIC_FILTER_LENGTH3, -// MQTTQoS1, -// &bytesToWrite ); - -// writeCount++; -// } -// else -// { -// bytesToWrite = -1; -// } - -// return bytesToWrite; -// } - -// /** -// * @brief Mocked transport writev to verify correct subscription -// * packet. -// * -// * @param[in] tcpSocket TCP socket. -// * @param[in] pMessage vectors to send -// * @param[in] bytesToWrite number of vectors -// * -// * @return Number of bytes sent; negative value on error; -// * 0 for timeout or 0 bytes sent. -// */ -// static int32_t transportWritevUnsubscribeSuccess( NetworkContext_t * pNetworkContext, -// TransportOutVector_t * pIoVectorIterator, -// size_t vectorsToBeSent ) -// { -// TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); -// int32_t bytesToWrite = 0; -// static int writeCount = 0; -// const uint8_t * buffer; -// size_t length; - -// /* The header. */ -// if( writeCount == 0 ) -// { -// TEST_ASSERT_EQUAL( 5, vectorsToBeSent ); - -// buffer = pIoVectorIterator->iov_base; -// length = pIoVectorIterator->iov_len; - -// TEST_ASSERT_EQUAL( length, UnsubscribeHeaderLength ); -// TEST_ASSERT_EQUAL_UINT8_ARRAY( ( uint8_t * ) UnsubscribeHeader, buffer, UnsubscribeHeaderLength ); - -// bytesToWrite += length; -// pIoVectorIterator++; - -// /* First topic filter. */ -// verifyEncodedTopicStringUnsubscribe( pIoVectorIterator, -// MQTT_SAMPLE_TOPIC_FILTER, -// MQTT_SAMPLE_TOPIC_FILTER_LENGTH, -// &bytesToWrite ); - -// pIoVectorIterator += 2; - -// /* Second topic filter. */ -// verifyEncodedTopicStringUnsubscribe( pIoVectorIterator, -// MQTT_SAMPLE_TOPIC_FILTER1, -// MQTT_SAMPLE_TOPIC_FILTER_LENGTH1, -// &bytesToWrite ); - -// writeCount++; -// } -// else if( writeCount == 1 ) -// { -// TEST_ASSERT_EQUAL( 4, vectorsToBeSent ); - -// /* Third topic filter. */ -// verifyEncodedTopicStringUnsubscribe( pIoVectorIterator, -// MQTT_SAMPLE_TOPIC_FILTER2, -// MQTT_SAMPLE_TOPIC_FILTER_LENGTH2, -// &bytesToWrite ); - -// pIoVectorIterator += 2; - -// /* Fourth topic filter. */ -// verifyEncodedTopicStringUnsubscribe( pIoVectorIterator, -// MQTT_SAMPLE_TOPIC_FILTER3, -// MQTT_SAMPLE_TOPIC_FILTER_LENGTH3, -// &bytesToWrite ); - -// writeCount++; -// } -// else -// { -// bytesToWrite = -1; -// } - -// return bytesToWrite; -// } - -// /** -// * @brief Mocked failed transport writev. -// * -// * @param[in] tcpSocket TCP socket. -// * @param[in] pMessage vectors to send -// * @param[in] bytesToWrite number of vectors -// * -// * @return Number of bytes sent; negative value on error; -// * 0 for timeout or 0 bytes sent. -// */ -// static int32_t transportWritevFail( NetworkContext_t * pNetworkContext, -// TransportOutVector_t * pIoVectorIterator, -// size_t vectorsToBeSent ) -// { -// TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); -// int32_t bytesToWrite = 0; -// size_t i; - -// for( i = 0; i < vectorsToBeSent; ++i ) -// { -// bytesToWrite += pIoVectorIterator->iov_len; -// pIoVectorIterator++; -// } - -// return bytesToWrite + 3; -// } - -// static int32_t transportWritevError( NetworkContext_t * pNetworkContext, -// TransportOutVector_t * pIoVectorIterator, -// size_t vectorsToBeSent ) -// { -// ( void ) vectorsToBeSent; -// ( void ) pIoVectorIterator; - -// TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); - -// return -1; -// } - -// /** -// * @brief Mocked successful transport send. -// * -// * @param[in] tcpSocket TCP socket. -// * @param[in] pMessage Data to send. -// * @param[in] bytesToWrite Length of data to send. -// * -// * @return Number of bytes sent; negative value on error; -// * 0 for timeout or 0 bytes sent. -// */ -// static int32_t transportSendSuccess( NetworkContext_t * pNetworkContext, -// const void * pBuffer, -// size_t bytesToWrite ) -// { -// TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); -// ( void ) pBuffer; -// return bytesToWrite; -// } - -// /** -// * @brief Mocked failed transport send. -// */ -// static int32_t transportSendFailure( NetworkContext_t * pNetworkContext, -// const void * pBuffer, -// size_t bytesToWrite ) -// { -// ( void ) pNetworkContext; -// ( void ) pBuffer; -// ( void ) bytesToWrite; -// return -1; -// } - -// /** -// * @brief Mocked transport send that always returns 0 bytes sent. -// */ -// static int32_t transportSendNoBytes( NetworkContext_t * pNetworkContext, -// const void * pBuffer, -// size_t bytesToWrite ) -// { -// ( void ) pNetworkContext; -// ( void ) pBuffer; -// ( void ) bytesToWrite; -// return 0; -// } - -// /** -// * @brief Mocked transport send that succeeds then fails. -// */ -// static int32_t transportSendSucceedThenFail( NetworkContext_t * pNetworkContext, -// const void * pMessage, -// size_t bytesToSend ) -// { -// int32_t retVal = bytesToSend; -// static int counter = 0; - -// ( void ) pNetworkContext; -// ( void ) pMessage; - -// if( counter++ ) -// { -// retVal = -1; -// counter = 0; -// } - -// return retVal; -// } - -// /** -// * @brief Mocked transport send that only sends half of the bytes. -// */ -// static int32_t transportWritevPartialByte( NetworkContext_t * pNetworkContext, -// TransportOutVector_t * pIoVectorIterator, -// size_t vectorsToBeSent ) -// { -// int32_t bytesToWrite = 0; -// size_t i; - -// ( void ) pNetworkContext; - -// for( i = 0; i < vectorsToBeSent; ++i ) -// { -// bytesToWrite += pIoVectorIterator->iov_len; -// pIoVectorIterator++; -// } - -// if( bytesToWrite > 1 ) -// { -// bytesToWrite /= 2; -// } - -// return bytesToWrite; -// } - -// /** -// * @brief Mocked successful transport read. -// * -// * @param[in] tcpSocket TCP socket. -// * @param[out] pBuffer Buffer for receiving data. -// * @param[in] bytesToRead Size of pBuffer. -// * -// * @return Number of bytes received; negative value on error. -// */ -// static int32_t transportRecvSuccess( NetworkContext_t * pNetworkContext, -// void * pBuffer, -// size_t bytesToRead ) -// { -// TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); -// ( void ) pBuffer; -// return bytesToRead; -// } - -// static int32_t transportRecvOneSuccessOneFail( NetworkContext_t * pNetworkContext, -// void * pBuffer, -// size_t bytesToRead ) -// { -// TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); -// ( void ) pBuffer; - -// if( receiveOnce == false ) -// { -// receiveOnce = true; -// return bytesToRead; -// } -// else -// { -// return -1; -// } -// } - -// /** -// * @brief Mocked failed transport read. -// */ -// static int32_t transportRecvFailure( NetworkContext_t * pNetworkContext, -// void * pBuffer, -// size_t bytesToRead ) -// { -// ( void ) pNetworkContext; -// ( void ) pBuffer; -// ( void ) bytesToRead; -// return -1; -// } - -// /** -// * @brief Mocked transport reading one byte at a time. -// */ -// static int32_t transportRecvOneByte( NetworkContext_t * pNetworkContext, -// void * pBuffer, -// size_t bytesToRead ) -// { -// ( void ) pNetworkContext; -// ( void ) pBuffer; -// ( void ) bytesToRead; -// return 1; -// } - -// /** -// * @brief Mocked transport returning zero bytes to simulate reception -// * of no data over network. -// */ -// static int32_t transportRecvNoData( NetworkContext_t * pNetworkContext, -// void * pBuffer, -// size_t bytesToRead ) -// { -// ( void ) pNetworkContext; -// ( void ) pBuffer; -// ( void ) bytesToRead; -// return 0; -// } - -// /** -// * @brief Initialize the transport interface with the mocked functions for -// * send and receive. -// * -// * @brief param[in] pTransport The transport interface to use with the context. -// */ -// static void setupTransportInterface( TransportInterface_t * pTransport ) -// { -// pTransport->pNetworkContext = MQTT_SAMPLE_NETWORK_CONTEXT; -// pTransport->send = transportSendSuccess; -// pTransport->recv = transportRecvSuccess; -// pTransport->writev = transportWritevSuccess; -// } - -// /** -// * @brief Initialize pSubscribeInfo using test-defined macros. -// * -// * @param[in] pSubscribeInfo Pointer to MQTT subscription info. -// */ -// static void setupSubscriptionInfo( MQTTSubscribeInfo_t * pSubscribeInfo ) -// { -// pSubscribeInfo->qos = MQTTQoS1; -// pSubscribeInfo->pTopicFilter = MQTT_SAMPLE_TOPIC_FILTER; -// pSubscribeInfo->topicFilterLength = MQTT_SAMPLE_TOPIC_FILTER_LENGTH; -// } - -// /** -// * @brief Zero out a #ProcessLoopReturns_t. -// * -// * @param[in] pExpectParams Pointer to struct to reset. -// */ -// static void resetProcessLoopParams( ProcessLoopReturns_t * pExpectParams ) -// { -// pExpectParams->deserializeStatus = MQTTSuccess; -// pExpectParams->stateAfterDeserialize = MQTTStateNull; -// pExpectParams->updateStateStatus = MQTTSuccess; -// pExpectParams->serializeStatus = MQTTSuccess; -// pExpectParams->stateAfterSerialize = MQTTStateNull; -// pExpectParams->processLoopStatus = MQTTSuccess; -// pExpectParams->incomingPublish = false; -// pExpectParams->pPubInfo = NULL; -// pExpectParams->timeoutMs = MQTT_NO_TIMEOUT_MS; -// } - -// /** -// * @brief create default context -// * -// * @param[out] context to initialize -// */ -// static void setUPContext( MQTTContext_t * mqttContext ) -// { -// MQTTStatus_t mqttStatus; -// static TransportInterface_t transport = { 0 }; -// static MQTTFixedBuffer_t networkBuffer = { 0 }; -// static MQTTPubAckInfo_t incomingRecords[ 10 ] = { 0 }; -// static MQTTPubAckInfo_t outgoingRecords[ 10 ] = { 0 }; - -// setupTransportInterface( &transport ); -// setupNetworkBuffer( &networkBuffer ); - -// memset( mqttContext, 0x0, sizeof( MQTTContext_t ) ); - -// mqttStatus = MQTT_Init( mqttContext, -// &transport, -// getTime, -// eventCallback, -// &networkBuffer ); -// TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); - -// mqttStatus = MQTT_InitStatefulQoS( mqttContext, -// outgoingRecords, -// 10, -// incomingRecords, -// 10 ); -// TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); -// } - -// /** -// * @brief This helper function is used to expect any calls from the process loop -// * to mocked functions belonging to an external header file. Its parameters -// * are used to provide return values for these mocked functions. -// */ -// static void expectProcessLoopCalls( MQTTContext_t * const pContext, -// ProcessLoopReturns_t * pExpectParams ) -// { -// MQTTStatus_t mqttStatus = MQTTSuccess; -// MQTTPacketInfo_t incomingPacket = { 0 }; -// size_t pingreqSize = MQTT_PACKET_PINGREQ_SIZE; -// bool expectMoreCalls = true; -// /* Copy values passed in the parameter struct. */ -// MQTTStatus_t deserializeStatus = pExpectParams->deserializeStatus; -// MQTTPublishState_t stateAfterDeserialize = pExpectParams->stateAfterDeserialize; -// MQTTStatus_t updateStateStatus = pExpectParams->updateStateStatus; -// MQTTStatus_t serializeStatus = pExpectParams->serializeStatus; -// MQTTPublishState_t stateAfterSerialize = pExpectParams->stateAfterSerialize; -// MQTTStatus_t processLoopStatus = pExpectParams->processLoopStatus; -// bool incomingPublish = pExpectParams->incomingPublish; -// MQTTPublishInfo_t * pPubInfo = pExpectParams->pPubInfo; -// uint32_t packetTxTimeoutMs = 0U; - -// /* Modify incoming packet depending on type to be tested. */ -// incomingPacket.type = currentPacketType; -// incomingPacket.remainingLength = MQTT_SAMPLE_REMAINING_LENGTH; -// incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; - -// MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); -// MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); - -// /* More calls are expected only with the following packet types. */ -// if( ( currentPacketType != MQTT_PACKET_TYPE_PUBLISH ) && -// ( currentPacketType != MQTT_PACKET_TYPE_PUBACK ) && -// ( currentPacketType != MQTT_PACKET_TYPE_PUBREC ) && -// ( currentPacketType != MQTT_PACKET_TYPE_PUBREL ) && -// ( currentPacketType != MQTT_PACKET_TYPE_PUBCOMP ) && -// ( currentPacketType != MQTT_PACKET_TYPE_PINGRESP ) && -// ( currentPacketType != MQTT_PACKET_TYPE_SUBACK ) && -// ( currentPacketType != MQTT_PACKET_TYPE_UNSUBACK ) ) -// { -// expectMoreCalls = false; -// } - -// /* When no data is available, the process loop tries to send a PINGREQ. */ -// if( modifyIncomingPacketStatus == MQTTNoDataAvailable ) -// { -// packetTxTimeoutMs = 1000U * ( uint32_t ) pContext->keepAliveIntervalSec; - -// if( PACKET_TX_TIMEOUT_MS < packetTxTimeoutMs ) -// { -// packetTxTimeoutMs = PACKET_TX_TIMEOUT_MS; -// } - -// if( pContext->waitingForPingResp == false ) -// { -// if( ( ( packetTxTimeoutMs != 0U ) && -// ( ( globalEntryTime - pContext->lastPacketTxTime ) >= packetTxTimeoutMs ) ) || -// ( ( PACKET_RX_TIMEOUT_MS != 0U ) && -// ( ( globalEntryTime - pContext->lastPacketRxTime ) >= PACKET_RX_TIMEOUT_MS ) ) ) -// { -// MQTT_GetPingreqPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); -// /* Replace pointer parameter being passed to the method. */ -// MQTT_GetPingreqPacketSize_ReturnThruPtr_pPacketSize( &pingreqSize ); -// MQTT_SerializePingreq_ExpectAnyArgsAndReturn( serializeStatus ); -// } -// } - -// expectMoreCalls = false; -// } - -// /* Deserialize based on the packet type (PUB or ACK) being received. */ -// if( expectMoreCalls ) -// { -// if( incomingPublish ) -// { -// MQTT_DeserializePublish_ExpectAnyArgsAndReturn( deserializeStatus ); - -// if( pPubInfo != NULL ) -// { -// MQTT_DeserializePublish_ReturnThruPtr_pPublishInfo( pPubInfo ); -// } -// } -// else -// { -// MQTT_DeserializeAck_ExpectAnyArgsAndReturn( deserializeStatus ); -// } - -// if( ( deserializeStatus != MQTTSuccess ) || -// ( currentPacketType == MQTT_PACKET_TYPE_PINGRESP ) || -// ( currentPacketType == MQTT_PACKET_TYPE_SUBACK ) || -// ( currentPacketType == MQTT_PACKET_TYPE_UNSUBACK ) ) -// { -// expectMoreCalls = false; -// } -// } - -// /* Update state based on the packet type (PUB or ACK) being received. */ -// if( expectMoreCalls ) -// { -// if( incomingPublish ) -// { -// MQTT_UpdateStatePublish_ExpectAnyArgsAndReturn( updateStateStatus ); -// MQTT_UpdateStatePublish_ReturnThruPtr_pNewState( &stateAfterDeserialize ); -// } -// else -// { -// MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( updateStateStatus ); -// MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterDeserialize ); -// } - -// if( stateAfterDeserialize == MQTTPublishDone ) -// { -// expectMoreCalls = false; -// } -// else -// { -// switch( updateStateStatus ) -// { -// case MQTTSuccess: -// expectMoreCalls = true; -// break; - -// case MQTTStateCollision: -// /* Execution will continue regardless of the dup flag. */ -// expectMoreCalls = true; -// MQTT_CalculateStatePublish_ExpectAnyArgsAndReturn( stateAfterDeserialize ); -// break; - -// default: -// expectMoreCalls = false; -// } -// } -// } - -// /* Serialize the packet to be sent in response to the received packet. */ -// if( expectMoreCalls ) -// { -// MQTT_SerializeAck_ExpectAnyArgsAndReturn( serializeStatus ); - -// if( serializeStatus != MQTTSuccess ) -// { -// expectMoreCalls = false; -// } -// } - -// /* Update the state based on the sent packet. */ -// if( expectMoreCalls ) -// { -// MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( ( stateAfterSerialize == MQTTStateNull ) ? -// MQTTIllegalState : MQTTSuccess ); -// MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterSerialize ); -// } - -// /* Expect the above calls when running MQTT_ProcessLoop. */ - -// mqttStatus = MQTT_ProcessLoop( pContext ); -// TEST_ASSERT_EQUAL( processLoopStatus, mqttStatus ); - -// /* Any final assertions to end the test. */ -// if( mqttStatus == MQTTSuccess ) -// { -// if( currentPacketType == MQTT_PACKET_TYPE_PUBLISH ) -// { -// TEST_ASSERT_TRUE( pContext->controlPacketSent ); -// } - -// if( currentPacketType == MQTT_PACKET_TYPE_PINGRESP ) -// { -// TEST_ASSERT_FALSE( pContext->waitingForPingResp ); -// } -// } -// } - -// void test_MQTT_Connect() -// { -// MQTTContext_t mqttContext = { 0 }; -// MQTTConnectInfo_t connectInfo = { 0 }; -// bool sessionPresent = false; -// MQTTStatus_t status; -// TransportInterface_t transport = { 0 }; -// MQTTFixedBuffer_t networkBuffer = { 0 }; -// MQTTPacketInfo_t incomingPacket = { 0 }; - -// setupTransportInterface( &transport ); -// setupNetworkBuffer( &networkBuffer ); - -// memset( &mqttContext, 0x0, sizeof( mqttContext ) ); -// MQTT_Init( &mqttContext, &transport, getTime, eventCallback, &networkBuffer ); - -// // No connect Properties -// status = MQTT_Connect( &mqttContext, &connectInfo, NULL, 0U, &sessionPresent ); -// TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - - - -// mqttContext.connectStatus = MQTTNotConnected; -// mqttContext.keepAliveIntervalSec = 0; -// incomingPacket.type = MQTT_PACKET_TYPE_CONNACK; -// incomingPacket.remainingLength = 2; - -// } +/** + * @brief Mock successful transport send, and write data into buffer for + * verification. + */ +static int32_t mockSend( NetworkContext_t * pNetworkContext, + const void * pMessage, + size_t bytesToSend ) +{ + const uint8_t * buffer = ( const uint8_t * ) pMessage; + /* Treat network context as pointer to buffer for mocking. */ + uint8_t * mockNetwork = *( pNetworkContext->buffer ); + size_t bytesSent = 0; + + while( bytesSent++ < bytesToSend ) + { + /* Write single byte and advance buffer. */ + *mockNetwork++ = *buffer++; + } + + /* Move stream by bytes sent. */ + *( pNetworkContext->buffer ) = mockNetwork; + + return bytesToSend; +} + +/** + * @brief Initialize pNetworkBuffer using static buffer. + * + * @param[in] pNetworkBuffer Network buffer provided for the context. + */ +static void setupNetworkBuffer( MQTTFixedBuffer_t * const pNetworkBuffer ) +{ + pNetworkBuffer->pBuffer = mqttBuffer; + pNetworkBuffer->size = MQTT_TEST_BUFFER_LENGTH; +} + +/** + * @brief Mocked MQTT event callback. + * + * @param[in] pContext MQTT context pointer. + * @param[in] pPacketInfo Packet Info pointer for the incoming packet. + * @param[in] pDeserializedInfo Deserialized information from the incoming packet. + */ +static void eventCallback( MQTTContext_t * pContext, + MQTTPacketInfo_t * pPacketInfo, + MQTTDeserializedInfo_t * pDeserializedInfo ) +{ + ( void ) pContext; + ( void ) pPacketInfo; + ( void ) pDeserializedInfo; + + /* Update the global state to indicate that event callback is invoked. */ + isEventCallbackInvoked = true; +} + +/** + * @brief A mocked timer query function that increments on every call. This + * guarantees that only a single iteration runs in the ProcessLoop for ease + * of testing. + */ +static uint32_t getTime( void ) +{ + return globalEntryTime++; +} + +static int32_t getTimeMockCallLimit = -1; + +/** + * @brief A mocked timer query function that increments on every call. This + * guarantees that only a single iteration runs in the ProcessLoop for ease + * of testing. Additionally, this tests whether the number of calls to this + * function have exceeded than the set limit and asserts. + */ +static uint32_t getTimeMock( void ) +{ + TEST_ASSERT_GREATER_THAN_INT32( -1, getTimeMockCallLimit-- ); + return globalEntryTime++; +} + +static int32_t getTimeMockBigTimeStepCallLimit = -1; + +/** + * @brief A mocked timer query function that increments by MQTT_SEND_TIMEOUT_MS + * to simulate the time consumed by a long running high priority task on every + * call. Additionally, this tests whether the number of calls to this function + * have exceeded than the set limit and asserts. + */ +static uint32_t getTimeMockBigTimeStep( void ) +{ + TEST_ASSERT_GREATER_THAN_INT32( -1, getTimeMockBigTimeStepCallLimit-- ); + + globalEntryTime += MQTT_SEND_TIMEOUT_MS; + return globalEntryTime; +} + +static uint8_t * MQTT_SerializeConnectFixedHeader_cb( uint8_t * pIndex, + const MQTTConnectInfo_t * pConnectInfo, + const MQTTPublishInfo_t * pWillInfo, + size_t remainingLength, + int numcallbacks ) +{ + ( void ) pConnectInfo; + ( void ) pWillInfo; + ( void ) remainingLength; + ( void ) numcallbacks; + + return pIndex; +} + +static uint8_t * MQTT_SerializeConnectProperties_cb( uint8_t* pIndex, const MQTTConnectProperties_t* pConnectProperties + ,int numcallbacks ) +{ + ( void ) pConnectProperties; + ( void ) numcallbacks; + + return pIndex; +} + +static uint8_t * MQTT_SerializePublishProperties_cb( const MQTTPublishInfo_t* pPublishInfo, uint8_t* pIndex + ,int numcallbacks ) +{ + ( void ) pPublishInfo; + ( void ) numcallbacks; + + return pIndex; +} + + + +/** + * @brief A mocked timer function that could be used on a device with no system + * time. + */ +static uint32_t getTimeDummy( void ) +{ + return 0; +} + +/** + * @brief Mocked successful transport writev. + * + * @param[in] tcpSocket TCP socket. + * @param[in] pMessage vectors to send + * @param[in] bytesToWrite number of vectors + * + * @return Number of bytes sent; negative value on error; + * 0 for timeout or 0 bytes sent. + */ +static int32_t transportWritevSuccess( NetworkContext_t * pNetworkContext, + TransportOutVector_t * pIoVectorIterator, + size_t vectorsToBeSent ) +{ + TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); + int32_t bytesToWrite = 0; + size_t i; + + for( i = 0; i < vectorsToBeSent; ++i ) + { + bytesToWrite += pIoVectorIterator->iov_len; + pIoVectorIterator++; + } + + return bytesToWrite; +} + +static void verifyEncodedTopicString( TransportOutVector_t * pIoVectorIterator, + char * pTopicFilter, + size_t topicFilterLength, + MQTTQoS_t topicQos, + int32_t * pBytesToWrite ) +{ + /* Encoded topic length. */ + uint8_t serializedLength[ 2 ]; + const uint8_t * buffer; + size_t length; + + serializedLength[ 0 ] = ( uint8_t ) ( topicFilterLength >> 8 ); + serializedLength[ 1 ] = ( uint8_t ) ( topicFilterLength & 0x00ffU ); + + buffer = pIoVectorIterator[ 0 ].iov_base; + length = pIoVectorIterator[ 0 ].iov_len; + + TEST_ASSERT_EQUAL( 2U, length ); + TEST_ASSERT_EQUAL_UINT8_ARRAY( serializedLength, buffer, 2U ); + ( *pBytesToWrite ) += length; + + buffer = pIoVectorIterator[ 1 ].iov_base; + length = pIoVectorIterator[ 1 ].iov_len; + + /* Encoded topic string. */ + TEST_ASSERT_EQUAL( topicFilterLength, length ); + TEST_ASSERT_EQUAL_UINT8_ARRAY( pTopicFilter, buffer, topicFilterLength ); + ( *pBytesToWrite ) += length; + + buffer = pIoVectorIterator[ 2 ].iov_base; + length = pIoVectorIterator[ 2 ].iov_len; + + /* Encoded QoS. */ + TEST_ASSERT_EQUAL( 1U, length ); + TEST_ASSERT_EQUAL_UINT8( topicQos, *buffer ); + ( *pBytesToWrite ) += length; +} + +static void verifyEncodedTopicStringUnsubscribe( TransportOutVector_t * pIoVectorIterator, + char * pTopicFilter, + size_t topicFilterLength, + int32_t * pBytesToWrite ) +{ + /* Encoded topic length. */ + uint8_t serializedLength[ 2 ]; + const uint8_t * buffer; + size_t length; + + serializedLength[ 0 ] = ( uint8_t ) ( topicFilterLength >> 8 ); + serializedLength[ 1 ] = ( uint8_t ) ( topicFilterLength & 0x00ffU ); + + buffer = pIoVectorIterator[ 0 ].iov_base; + length = pIoVectorIterator[ 0 ].iov_len; + + TEST_ASSERT_EQUAL( 2U, length ); + TEST_ASSERT_EQUAL_UINT8_ARRAY( serializedLength, buffer, 2U ); + ( *pBytesToWrite ) += length; + + buffer = pIoVectorIterator[ 1 ].iov_base; + length = pIoVectorIterator[ 1 ].iov_len; + + /* Encoded topic string. */ + TEST_ASSERT_EQUAL( topicFilterLength, length ); + TEST_ASSERT_EQUAL_UINT8_ARRAY( pTopicFilter, buffer, topicFilterLength ); + ( *pBytesToWrite ) += length; +} + +/** + * @brief Mocked transport writev to verify correct subscription + * packet. + * + * @param[in] tcpSocket TCP socket. + * @param[in] pMessage vectors to send + * @param[in] bytesToWrite number of vectors + * + * @return Number of bytes sent; negative value on error; + * 0 for timeout or 0 bytes sent. + */ +static int32_t transportWritevSubscribeSuccess( NetworkContext_t * pNetworkContext, + TransportOutVector_t * pIoVectorIterator, + size_t vectorsToBeSent ) +{ + TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); + int32_t bytesToWrite = 0; + static int writeCount = 0; + const uint8_t * buffer; + size_t length; + + /* The header. */ + if( writeCount == 0 ) + { + TEST_ASSERT_EQUAL( 4, vectorsToBeSent ); + + buffer = pIoVectorIterator->iov_base; + length = pIoVectorIterator->iov_len; + + TEST_ASSERT_EQUAL( length, SubscribeHeaderLength ); + TEST_ASSERT_EQUAL_UINT8_ARRAY( ( uint8_t * ) SubscribeHeader, buffer, SubscribeHeaderLength ); + + bytesToWrite += length; + pIoVectorIterator++; + + /* First topic filter. */ + verifyEncodedTopicString( pIoVectorIterator, + MQTT_SAMPLE_TOPIC_FILTER, + MQTT_SAMPLE_TOPIC_FILTER_LENGTH, + MQTTQoS1, + &bytesToWrite ); + + writeCount++; + + pIoVectorIterator += 4; + } + else if( writeCount == 1 ) + { + TEST_ASSERT_EQUAL( 6, vectorsToBeSent ); + + /* Second topic filter. */ + verifyEncodedTopicString( pIoVectorIterator, + MQTT_SAMPLE_TOPIC_FILTER1, + MQTT_SAMPLE_TOPIC_FILTER_LENGTH1, + MQTTQoS2, + &bytesToWrite ); + + pIoVectorIterator += 3; + + /* Third topic filter. */ + verifyEncodedTopicString( pIoVectorIterator, + MQTT_SAMPLE_TOPIC_FILTER2, + MQTT_SAMPLE_TOPIC_FILTER_LENGTH2, + MQTTQoS0, + &bytesToWrite ); + + writeCount++; + } + else if( writeCount == 2 ) + { + TEST_ASSERT_EQUAL( 3, vectorsToBeSent ); + + /* Fourth topic filter. */ + verifyEncodedTopicString( pIoVectorIterator, + MQTT_SAMPLE_TOPIC_FILTER3, + MQTT_SAMPLE_TOPIC_FILTER_LENGTH3, + MQTTQoS1, + &bytesToWrite ); + + writeCount++; + } + else + { + bytesToWrite = -1; + } + + return bytesToWrite; +} + +/** + * @brief Mocked transport writev to verify correct subscription + * packet. + * + * @param[in] tcpSocket TCP socket. + * @param[in] pMessage vectors to send + * @param[in] bytesToWrite number of vectors + * + * @return Number of bytes sent; negative value on error; + * 0 for timeout or 0 bytes sent. + */ +static int32_t transportWritevUnsubscribeSuccess( NetworkContext_t * pNetworkContext, + TransportOutVector_t * pIoVectorIterator, + size_t vectorsToBeSent ) +{ + TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); + int32_t bytesToWrite = 0; + static int writeCount = 0; + const uint8_t * buffer; + size_t length; + + /* The header. */ + if( writeCount == 0 ) + { + TEST_ASSERT_EQUAL( 5, vectorsToBeSent ); + + buffer = pIoVectorIterator->iov_base; + length = pIoVectorIterator->iov_len; + + TEST_ASSERT_EQUAL( length, UnsubscribeHeaderLength ); + TEST_ASSERT_EQUAL_UINT8_ARRAY( ( uint8_t * ) UnsubscribeHeader, buffer, UnsubscribeHeaderLength ); + + bytesToWrite += length; + pIoVectorIterator++; + + /* First topic filter. */ + verifyEncodedTopicStringUnsubscribe( pIoVectorIterator, + MQTT_SAMPLE_TOPIC_FILTER, + MQTT_SAMPLE_TOPIC_FILTER_LENGTH, + &bytesToWrite ); + + pIoVectorIterator += 2; + + /* Second topic filter. */ + verifyEncodedTopicStringUnsubscribe( pIoVectorIterator, + MQTT_SAMPLE_TOPIC_FILTER1, + MQTT_SAMPLE_TOPIC_FILTER_LENGTH1, + &bytesToWrite ); + + writeCount++; + } + else if( writeCount == 1 ) + { + TEST_ASSERT_EQUAL( 4, vectorsToBeSent ); + + /* Third topic filter. */ + verifyEncodedTopicStringUnsubscribe( pIoVectorIterator, + MQTT_SAMPLE_TOPIC_FILTER2, + MQTT_SAMPLE_TOPIC_FILTER_LENGTH2, + &bytesToWrite ); + + pIoVectorIterator += 2; + + /* Fourth topic filter. */ + verifyEncodedTopicStringUnsubscribe( pIoVectorIterator, + MQTT_SAMPLE_TOPIC_FILTER3, + MQTT_SAMPLE_TOPIC_FILTER_LENGTH3, + &bytesToWrite ); + + writeCount++; + } + else + { + bytesToWrite = -1; + } + + return bytesToWrite; +} + +/** + * @brief Mocked failed transport writev. + * + * @param[in] tcpSocket TCP socket. + * @param[in] pMessage vectors to send + * @param[in] bytesToWrite number of vectors + * + * @return Number of bytes sent; negative value on error; + * 0 for timeout or 0 bytes sent. + */ +static int32_t transportWritevFail( NetworkContext_t * pNetworkContext, + TransportOutVector_t * pIoVectorIterator, + size_t vectorsToBeSent ) +{ + TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); + int32_t bytesToWrite = 0; + size_t i; + + for( i = 0; i < vectorsToBeSent; ++i ) + { + bytesToWrite += pIoVectorIterator->iov_len; + pIoVectorIterator++; + } + + return bytesToWrite + 3; +} + +static int32_t transportWritevError( NetworkContext_t * pNetworkContext, + TransportOutVector_t * pIoVectorIterator, + size_t vectorsToBeSent ) +{ + ( void ) vectorsToBeSent; + ( void ) pIoVectorIterator; + + TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); + + return -1; +} + +/** + * @brief Mocked successful transport send. + * + * @param[in] tcpSocket TCP socket. + * @param[in] pMessage Data to send. + * @param[in] bytesToWrite Length of data to send. + * + * @return Number of bytes sent; negative value on error; + * 0 for timeout or 0 bytes sent. + */ +static int32_t transportSendSuccess( NetworkContext_t * pNetworkContext, + const void * pBuffer, + size_t bytesToWrite ) +{ + TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); + ( void ) pBuffer; + return bytesToWrite; +} + +/** + * @brief Mocked failed transport send. + */ +static int32_t transportSendFailure( NetworkContext_t * pNetworkContext, + const void * pBuffer, + size_t bytesToWrite ) +{ + ( void ) pNetworkContext; + ( void ) pBuffer; + ( void ) bytesToWrite; + return -1; +} + +/** + * @brief Mocked transport send that always returns 0 bytes sent. + */ +static int32_t transportSendNoBytes( NetworkContext_t * pNetworkContext, + const void * pBuffer, + size_t bytesToWrite ) +{ + ( void ) pNetworkContext; + ( void ) pBuffer; + ( void ) bytesToWrite; + return 0; +} + +/** + * @brief Mocked transport send that succeeds then fails. + */ +static int32_t transportSendSucceedThenFail( NetworkContext_t * pNetworkContext, + const void * pMessage, + size_t bytesToSend ) +{ + int32_t retVal = bytesToSend; + static int counter = 0; + + ( void ) pNetworkContext; + ( void ) pMessage; + + if( counter++ ) + { + retVal = -1; + counter = 0; + } + + return retVal; +} + +/** + * @brief Mocked transport send that only sends half of the bytes. + */ +static int32_t transportWritevPartialByte( NetworkContext_t * pNetworkContext, + TransportOutVector_t * pIoVectorIterator, + size_t vectorsToBeSent ) +{ + int32_t bytesToWrite = 0; + size_t i; + + ( void ) pNetworkContext; + + for( i = 0; i < vectorsToBeSent; ++i ) + { + bytesToWrite += pIoVectorIterator->iov_len; + pIoVectorIterator++; + } + + if( bytesToWrite > 1 ) + { + bytesToWrite /= 2; + } + + return bytesToWrite; +} + +/** + * @brief Mocked successful transport read. + * + * @param[in] tcpSocket TCP socket. + * @param[out] pBuffer Buffer for receiving data. + * @param[in] bytesToRead Size of pBuffer. + * + * @return Number of bytes received; negative value on error. + */ +static int32_t transportRecvSuccess( NetworkContext_t * pNetworkContext, + void * pBuffer, + size_t bytesToRead ) +{ + TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); + ( void ) pBuffer; + return bytesToRead; +} + +static int32_t transportRecvOneSuccessOneFail( NetworkContext_t * pNetworkContext, + void * pBuffer, + size_t bytesToRead ) +{ + TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); + ( void ) pBuffer; + + if( receiveOnce == false ) + { + receiveOnce = true; + return bytesToRead; + } + else + { + return -1; + } +} + +/** + * @brief Mocked failed transport read. + */ +static int32_t transportRecvFailure( NetworkContext_t * pNetworkContext, + void * pBuffer, + size_t bytesToRead ) +{ + ( void ) pNetworkContext; + ( void ) pBuffer; + ( void ) bytesToRead; + return -1; +} + +/** + * @brief Mocked transport reading one byte at a time. + */ +static int32_t transportRecvOneByte( NetworkContext_t * pNetworkContext, + void * pBuffer, + size_t bytesToRead ) +{ + ( void ) pNetworkContext; + ( void ) pBuffer; + ( void ) bytesToRead; + return 1; +} + +/** + * @brief Mocked transport returning zero bytes to simulate reception + * of no data over network. + */ +static int32_t transportRecvNoData( NetworkContext_t * pNetworkContext, + void * pBuffer, + size_t bytesToRead ) +{ + ( void ) pNetworkContext; + ( void ) pBuffer; + ( void ) bytesToRead; + return 0; +} + +/** + * @brief Initialize the transport interface with the mocked functions for + * send and receive. + * + * @brief param[in] pTransport The transport interface to use with the context. + */ +static void setupTransportInterface( TransportInterface_t * pTransport ) +{ + pTransport->pNetworkContext = MQTT_SAMPLE_NETWORK_CONTEXT; + pTransport->send = transportSendSuccess; + pTransport->recv = transportRecvSuccess; + pTransport->writev = transportWritevSuccess; +} + +/** + * @brief Initialize pSubscribeInfo using test-defined macros. + * + * @param[in] pSubscribeInfo Pointer to MQTT subscription info. + */ +static void setupSubscriptionInfo( MQTTSubscribeInfo_t * pSubscribeInfo ) +{ + pSubscribeInfo->qos = MQTTQoS1; + pSubscribeInfo->pTopicFilter = MQTT_SAMPLE_TOPIC_FILTER; + pSubscribeInfo->topicFilterLength = MQTT_SAMPLE_TOPIC_FILTER_LENGTH; +} + +/** + * @brief Zero out a #ProcessLoopReturns_t. + * + * @param[in] pExpectParams Pointer to struct to reset. + */ +static void resetProcessLoopParams( ProcessLoopReturns_t * pExpectParams ) +{ + pExpectParams->deserializeStatus = MQTTSuccess; + pExpectParams->stateAfterDeserialize = MQTTStateNull; + pExpectParams->updateStateStatus = MQTTSuccess; + pExpectParams->serializeStatus = MQTTSuccess; + pExpectParams->stateAfterSerialize = MQTTStateNull; + pExpectParams->processLoopStatus = MQTTSuccess; + pExpectParams->incomingPublish = false; + pExpectParams->pPubInfo = NULL; + pExpectParams->timeoutMs = MQTT_NO_TIMEOUT_MS; +} + +/** + * @brief create default context + * + * @param[out] context to initialize + */ +static void setUPContext( MQTTContext_t * mqttContext ) +{ + MQTTStatus_t mqttStatus; + static TransportInterface_t transport = { 0 }; + static MQTTFixedBuffer_t networkBuffer = { 0 }; + static MQTTPubAckInfo_t incomingRecords[ 10 ] = { 0 }; + static MQTTPubAckInfo_t outgoingRecords[ 10 ] = { 0 }; + + setupTransportInterface( &transport ); + setupNetworkBuffer( &networkBuffer ); + + memset( mqttContext, 0x0, sizeof( MQTTContext_t ) ); + + mqttStatus = MQTT_Init( mqttContext, + &transport, + getTime, + eventCallback, + &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); + + mqttStatus = MQTT_InitStatefulQoS( mqttContext, + outgoingRecords, + 10, + incomingRecords, + 10 ); + TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); +} + +/** + * @brief This helper function is used to expect any calls from the process loop + * to mocked functions belonging to an external header file. Its parameters + * are used to provide return values for these mocked functions. + */ +static void expectProcessLoopCalls( MQTTContext_t * const pContext, + ProcessLoopReturns_t * pExpectParams ) +{ + MQTTStatus_t mqttStatus = MQTTSuccess; + MQTTPacketInfo_t incomingPacket = { 0 }; + size_t pingreqSize = MQTT_PACKET_PINGREQ_SIZE; + bool expectMoreCalls = true; + /* Copy values passed in the parameter struct. */ + MQTTStatus_t deserializeStatus = pExpectParams->deserializeStatus; + MQTTPublishState_t stateAfterDeserialize = pExpectParams->stateAfterDeserialize; + MQTTStatus_t updateStateStatus = pExpectParams->updateStateStatus; + MQTTStatus_t serializeStatus = pExpectParams->serializeStatus; + MQTTPublishState_t stateAfterSerialize = pExpectParams->stateAfterSerialize; + MQTTStatus_t processLoopStatus = pExpectParams->processLoopStatus; + bool incomingPublish = pExpectParams->incomingPublish; + MQTTPublishInfo_t * pPubInfo = pExpectParams->pPubInfo; + uint32_t packetTxTimeoutMs = 0U; + + /* Modify incoming packet depending on type to be tested. */ + incomingPacket.type = currentPacketType; + incomingPacket.remainingLength = MQTT_SAMPLE_REMAINING_LENGTH; + incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; + + MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); + + /* More calls are expected only with the following packet types. */ + if( ( currentPacketType != MQTT_PACKET_TYPE_PUBLISH ) && + ( currentPacketType != MQTT_PACKET_TYPE_PUBACK ) && + ( currentPacketType != MQTT_PACKET_TYPE_PUBREC ) && + ( currentPacketType != MQTT_PACKET_TYPE_PUBREL ) && + ( currentPacketType != MQTT_PACKET_TYPE_PUBCOMP ) && + ( currentPacketType != MQTT_PACKET_TYPE_PINGRESP ) && + ( currentPacketType != MQTT_PACKET_TYPE_SUBACK ) && + ( currentPacketType != MQTT_PACKET_TYPE_UNSUBACK ) ) + { + expectMoreCalls = false; + } + + /* When no data is available, the process loop tries to send a PINGREQ. */ + if( modifyIncomingPacketStatus == MQTTNoDataAvailable ) + { + packetTxTimeoutMs = 1000U * ( uint32_t ) pContext->keepAliveIntervalSec; + + if( PACKET_TX_TIMEOUT_MS < packetTxTimeoutMs ) + { + packetTxTimeoutMs = PACKET_TX_TIMEOUT_MS; + } + + if( pContext->waitingForPingResp == false ) + { + if( ( ( packetTxTimeoutMs != 0U ) && + ( ( globalEntryTime - pContext->lastPacketTxTime ) >= packetTxTimeoutMs ) ) || + ( ( PACKET_RX_TIMEOUT_MS != 0U ) && + ( ( globalEntryTime - pContext->lastPacketRxTime ) >= PACKET_RX_TIMEOUT_MS ) ) ) + { + MQTT_GetPingreqPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); + /* Replace pointer parameter being passed to the method. */ + MQTT_GetPingreqPacketSize_ReturnThruPtr_pPacketSize( &pingreqSize ); + MQTT_SerializePingreq_ExpectAnyArgsAndReturn( serializeStatus ); + } + } + + expectMoreCalls = false; + } + + /* Deserialize based on the packet type (PUB or ACK) being received. */ + if( expectMoreCalls ) + { + if( incomingPublish ) + { + MQTT_DeserializePublish_ExpectAnyArgsAndReturn( deserializeStatus ); + + if( pPubInfo != NULL ) + { + MQTT_DeserializePublish_ReturnThruPtr_pPublishInfo( pPubInfo ); + } + } + else + { + MQTT_DeserializeAck_ExpectAnyArgsAndReturn( deserializeStatus ); + } + + if( ( deserializeStatus != MQTTSuccess ) || + ( currentPacketType == MQTT_PACKET_TYPE_PINGRESP ) || + ( currentPacketType == MQTT_PACKET_TYPE_SUBACK ) || + ( currentPacketType == MQTT_PACKET_TYPE_UNSUBACK ) ) + { + expectMoreCalls = false; + } + } + + /* Update state based on the packet type (PUB or ACK) being received. */ + if( expectMoreCalls ) + { + if( incomingPublish ) + { + MQTT_UpdateStatePublish_ExpectAnyArgsAndReturn( updateStateStatus ); + MQTT_UpdateStatePublish_ReturnThruPtr_pNewState( &stateAfterDeserialize ); + } + else + { + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( updateStateStatus ); + MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterDeserialize ); + } + + if( stateAfterDeserialize == MQTTPublishDone ) + { + expectMoreCalls = false; + } + else + { + switch( updateStateStatus ) + { + case MQTTSuccess: + expectMoreCalls = true; + break; + + case MQTTStateCollision: + /* Execution will continue regardless of the dup flag. */ + expectMoreCalls = true; + MQTT_CalculateStatePublish_ExpectAnyArgsAndReturn( stateAfterDeserialize ); + break; + + default: + expectMoreCalls = false; + } + } + } + + /* Serialize the packet to be sent in response to the received packet. */ + if( expectMoreCalls ) + { + MQTT_SerializeAck_ExpectAnyArgsAndReturn( serializeStatus ); + + if( serializeStatus != MQTTSuccess ) + { + expectMoreCalls = false; + } + } + + /* Update the state based on the sent packet. */ + if( expectMoreCalls ) + { + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( ( stateAfterSerialize == MQTTStateNull ) ? + MQTTIllegalState : MQTTSuccess ); + MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterSerialize ); + } + + /* Expect the above calls when running MQTT_ProcessLoop. */ + + mqttStatus = MQTT_ProcessLoop( pContext ); + TEST_ASSERT_EQUAL( processLoopStatus, mqttStatus ); + + /* Any final assertions to end the test. */ + if( mqttStatus == MQTTSuccess ) + { + if( currentPacketType == MQTT_PACKET_TYPE_PUBLISH ) + { + TEST_ASSERT_TRUE( pContext->controlPacketSent ); + } + + if( currentPacketType == MQTT_PACKET_TYPE_PINGRESP ) + { + TEST_ASSERT_FALSE( pContext->waitingForPingResp ); + } + } +} + +void test_MQTT_Connect() +{ + MQTTContext_t mqttContext = { 0 }; + MQTTConnectInfo_t connectInfo = { 0 }; + bool sessionPresent = false; + MQTTStatus_t status; + TransportInterface_t transport = { 0 }; + MQTTFixedBuffer_t networkBuffer = { 0 }; + MQTTPacketInfo_t incomingPacket = { 0 }; + + setupTransportInterface( &transport ); + setupNetworkBuffer( &networkBuffer ); + + memset( &mqttContext, 0x0, sizeof( mqttContext ) ); + MQTT_Init( &mqttContext, &transport, getTime, eventCallback, &networkBuffer ); + +/* No connect Properties */ + MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTBadParameter ); + status = MQTT_Connect( &mqttContext, &connectInfo, NULL, 0U, &sessionPresent ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); +} + +void test_MQTT_Connect_happy_path() +{ + MQTTContext_t mqttContext = { 0 }; + MQTTConnectInfo_t connectInfo = { 0 }; + MQTTPublishInfo_t willInfo = { 0 }; + uint32_t timeout = 2; + bool sessionPresent; + MQTTStatus_t status; + TransportInterface_t transport = { 0 }; + MQTTFixedBuffer_t networkBuffer = { 0 }; + MQTTPacketInfo_t incomingPacket = { 0 }; + MQTTConnectProperties_t properties ={0}; + setupTransportInterface( &transport ); + setupNetworkBuffer( &networkBuffer ); + + memset( &mqttContext, 0x0, sizeof( mqttContext ) ); + memset( &willInfo, 0x0, sizeof( MQTTPublishInfo_t ) ); + memset( &connectInfo, 0x0, sizeof( MQTTConnectInfo_t ) ); + MQTT_Init( &mqttContext, &transport, getTime, eventCallback, &networkBuffer ); + + /* With non-NULL Will. */ + mqttContext.connectStatus = MQTTNotConnected; + mqttContext.keepAliveIntervalSec = 0; + mqttContext.connectProperties= &properties; + properties.sessionExpiry = 13; + properties.receiveMax = 12; + properties.isMaxPacketSize = true; + properties.maxPacketSize =13; + properties.topicAliasMax = 13; + properties.reqProbInfo= 0; + properties.reqResInfo = 1; + willInfo.pTopicName = "test"; + willInfo.topicNameLength = 4; + willInfo.pPayload = "Payload"; + willInfo.payloadLength = 7; + willInfo.willDelay = 22; + willInfo.correlationData = "fhf"; + willInfo.correlationLength = 3; + incomingPacket.type = MQTT_PACKET_TYPE_CONNACK; + mqttContext.transportInterface.send = transportSendSuccess; + MQTT_SerializeConnect_IgnoreAndReturn( MQTTSuccess ); + MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); + MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); + MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); + MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTRecvFailed ); + status = MQTT_Connect( &mqttContext, &connectInfo, &willInfo, timeout, &sessionPresent ); + TEST_ASSERT_EQUAL_INT( MQTTRecvFailed, status ); +} From 9404fa876bf61de14aca866632f2640dab544a16 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Wed, 19 Jun 2024 19:36:30 +0000 Subject: [PATCH 15/82] testing --- source/core_mqtt.c | 8 +- source/core_mqtt_serializer.c | 41 +- source/include/core_mqtt_serializer.h | 4 +- .../MQTTv5/core_mqttv5_serializer_utest.c | 951 ++++++++++++++---- test/unit-test/MQTTv5/core_mqttv5_utest.c | 95 +- 5 files changed, 850 insertions(+), 249 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index c9dae24d8..b867bc2ce 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -2375,8 +2375,8 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, if (pContext->connectProperties->outgoingUserPropSize != 0) { - uint16_t i = 0; - uint16_t size = pContext->connectProperties->outgoingUserPropSize; + uint32_t i = 0; + uint32_t size = pContext->connectProperties->outgoingUserPropSize; MQTTUserProperty_t *userProperty = pContext->connectProperties->outgoingUserProperty; for (; i < size; i++) { @@ -2499,8 +2499,8 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, /* Encode the user properties if provided. */ if (pWillInfo->userPropertySize != 0) { - uint16_t i = 0; - uint16_t size = pWillInfo->userPropertySize; + uint32_t i = 0; + uint32_t size = pWillInfo->userPropertySize; MQTTUserProperty_t* userProperty = pWillInfo->userProperty; for (; i < size; i++) { diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index af6d144c2..41801bd54 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -541,7 +541,7 @@ static MQTTStatus_t deserializePingresp(const MQTTPacketInfo_t* pPingresp); * * @return #MQTTSuccess if user properties are valid and #MQTTBadParametr if the user properties are not valid */ -static MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* pUserProperty, uint16_t number, size_t* size); +static MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* pUserProperty, uint32_t number, size_t* size); /** * @brief Get the size of connect properties. @@ -630,7 +630,7 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, * @param[in] pUserProperty User Property parameters. * @param[in] size Number of user properties */ -static uint8_t* serializeUserProperties(uint8_t * pIndex,const MQTTUserProperty_t* pUserProperty, uint16_t size); +// static uint8_t* serializeUserProperties(uint8_t * pIndex,const MQTTUserProperty_t* pUserProperty, uint16_t size); /*-----------------------------------------------------------*/ @@ -790,7 +790,7 @@ uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t* pPublishInfo, /*-----------------------------------------------------------*/ -static MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* pUserProperty, uint16_t number, size_t* size) { +static MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* pUserProperty, uint32_t number, size_t* size) { MQTTStatus_t status = MQTTSuccess; uint16_t i = 0; /*Number of user properties can't be more than the max user properties specified*/ @@ -820,11 +820,11 @@ static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConn size_t propertyLength = 0; MQTTStatus_t status = MQTTSuccess; /*Validate the arguments*/ - if(pConnectProperties==NULL){ + if(pConnectProperties->maxPacketSize==0 && pConnectProperties->isMaxPacketSize ==true ){ status=MQTTBadParameter; } - else if(pConnectProperties->maxPacketSize==0 || pConnectProperties->receiveMax==0){ - status=MQTTBadParameter; + else if(pConnectProperties->receiveMax==0){ + status = MQTTBadParameter; } else{ /*Add the lengths of the parameters if applicable*/ @@ -854,12 +854,8 @@ static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConn } if (pConnectProperties->outgoingAuth != NULL) { - /*Incoming auth cannot be NULL*/ - if(pConnectProperties->incomingAuth==NULL){ - status=MQTTBadParameter; - } /*Valid authentication parameters*/ - else if (pConnectProperties->outgoingAuth->authMethodLength == 0U && pConnectProperties->outgoingAuth->authDataLength != 0U) + if (pConnectProperties->outgoingAuth->authMethodLength == 0U && pConnectProperties->outgoingAuth->authDataLength != 0U) { status = MQTTBadParameter; } @@ -902,11 +898,6 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillPropertie { size_t willLength = 0U; MQTTStatus_t status = MQTTSuccess; - /*Validate the arguments*/ - if(pWillProperties==NULL){ - status=MQTTBadParameter; - } - else{ /*Add the length of all the parameters which are applicable*/ if (pWillProperties->willDelay != 0U) { @@ -929,7 +920,6 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillPropertie willLength += pWillProperties->contentTypeLength + 3U; } } - } /*Validate if length and pointers are valid*/ if(status==MQTTSuccess && pWillProperties->responseTopicLength != 0U){ if(pWillProperties->responseTopic==NULL){ @@ -1019,7 +1009,8 @@ uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex, const MQTTConnectPrope } return pIndexLocal; } -static uint8_t* serializeUserProperties(uint8_t * pIndex,const MQTTUserProperty_t* pUserProperty, uint16_t size){ + +/*static uint8_t* serializeUserProperties(uint8_t * pIndex,const MQTTUserProperty_t* pUserProperty, uint16_t size){ uint16_t i = 0; assert(pIndex!=NULL); assert(pUserProperty !=NULL); @@ -1031,7 +1022,7 @@ static uint8_t* serializeUserProperties(uint8_t * pIndex,const MQTTUserProperty_ pIndex = encodeString(pIndex,(pUserProperty+i)->value,(pUserProperty+i)->valueLength); } return pIndex; -} +}*/ static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, @@ -1058,8 +1049,8 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, pIndex= MQTT_SerializeConnectProperties(pIndex,pConnectProperties); if( pConnectProperties->outgoingUserPropSize >0){ - uint16_t i = 0; - uint16_t size = pConnectProperties->outgoingUserPropSize; + uint32_t i = 0; + uint32_t size = pConnectProperties->outgoingUserPropSize; MQTTUserProperty_t * pUserProperty = pConnectProperties->outgoingUserProperty; for (; i < size; i++) { @@ -1114,8 +1105,8 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, } if (pWillInfo->userPropertySize != 0) { - uint16_t i = 0; - uint16_t size = pWillInfo->userPropertySize; + uint32_t i = 0; + uint32_t size = pWillInfo->userPropertySize; MQTTUserProperty_t * pUserProperty = pWillInfo->userProperty; for (; i < size; i++) { @@ -1211,6 +1202,7 @@ MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, remainingLength, pFixedBuffer); } + } return status; @@ -1350,8 +1342,7 @@ static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacke } if (status == MQTTSuccess) { - /* In MQTT 5, only values 0 , 80 through 9F are valid CONNACK response codes. */ - // Change this + if(pRemainingData[1]!=0u){ status= logConnackResponseV5(pRemainingData[1]); } diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index b170ada2e..a8d55d3e6 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -289,9 +289,9 @@ typedef struct MQTTConnectProperties // array of user property -> with size as maximum value of user property configured // add authentication MQTTUserProperty_t *incomingUserProperty; - uint16_t incomingUserPropSize; + uint32_t incomingUserPropSize; MQTTUserProperty_t *outgoingUserProperty; - uint16_t outgoingUserPropSize; + uint32_t outgoingUserPropSize; MQTTAuthInfo_t *incomingAuth; // CONNACK diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index d7feea91d..91ecbfdff 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -291,6 +291,14 @@ static int32_t mockReceiveFailure(NetworkContext_t *pNetworkContext, return -1; } +static uint8_t *MQTT_GetConnectPropertiesSize_cb(MQTTConnectProperties_t *pConnectProperties, int numcallbacks) +{ + (void)pConnectProperties; + (void)numcallbacks; + + return MQTTSuccess; +} + /** * @brief Mock transport receive that succeeds once, then fails. */ @@ -750,16 +758,16 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t *pConnectInfo, if (pConnectProperties->outgoingUserPropSize > 0) { - uint16_t i = 0; - uint16_t size = pConnectProperties->outgoingUserPropSize; - MQTTUserProperty_t * pUserProperty = pConnectProperties->outgoingUserProperty; - for (; i < size; i++) - { - *pIndex = MQTT_USER_PROPERTY_ID; - pIndex++; - pIndex = encodeString(pIndex, (pUserProperty + i)->key, (pUserProperty + i)->keyLength); - pIndex = encodeString(pIndex, (pUserProperty + i)->value, (pUserProperty + i)->valueLength); - } + uint16_t i = 0; + uint16_t size = pConnectProperties->outgoingUserPropSize; + MQTTUserProperty_t *pUserProperty = pConnectProperties->outgoingUserProperty; + for (; i < size; i++) + { + *pIndex = MQTT_USER_PROPERTY_ID; + pIndex++; + pIndex = encodeString(pIndex, (pUserProperty + i)->key, (pUserProperty + i)->keyLength); + pIndex = encodeString(pIndex, (pUserProperty + i)->value, (pUserProperty + i)->valueLength); + } } MQTTAuthInfo_t *pAuthInfo = pConnectProperties->outgoingAuth; @@ -808,7 +816,7 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t *pConnectInfo, { uint16_t i = 0; uint16_t size = pWillInfo->userPropertySize; - MQTTUserProperty_t * pUserProperty = pWillInfo->userProperty; + MQTTUserProperty_t *pUserProperty = pWillInfo->userProperty; for (; i < size; i++) { *pIndex = MQTT_USER_PROPERTY_ID; @@ -1140,6 +1148,25 @@ static void verifySerializedConnectPacket(const MQTTConnectInfo_t *const pConnec pIndex = serializeUserProperties(pIndex, pConnectProperties->outgoingUserProperty, pConnectProperties->outgoingUserPropSize); } + if (pConnectProperties->outgoingAuth != NULL) + { + if (pConnectProperties->outgoingAuth->authMethodLength != 0) + { + encodedStringLength = encodeString(encodedStringBuffer, + pConnectProperties->outgoingAuth->authMethod, + pConnectProperties->outgoingAuth->authMethodLength); + TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); + pIndex += encodedStringLength; + if(pConnectProperties->outgoingAuth->authDataLength != 0){ + encodedStringLength = encodeString(encodedStringBuffer, + pConnectProperties->outgoingAuth->authData, + pConnectProperties->outgoingAuth->authDataLength); + TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); + pIndex += encodedStringLength; + } + } + } + /* Verify the client identifier into the CONNECT packet. */ encodedStringLength = encodeString(encodedStringBuffer, pConnectInfo->pClientIdentifier, @@ -1184,7 +1211,7 @@ static void verifySerializedConnectPacket(const MQTTConnectInfo_t *const pConnec } if (pWillInfo->userPropertySize != 0) { - + pIndex = serializeUserProperties(pIndex, pWillInfo->userProperty, pWillInfo->userPropertySize); } encodedStringLength = encodeString(encodedStringBuffer, @@ -1220,127 +1247,6 @@ static void verifySerializedConnectPacket(const MQTTConnectInfo_t *const pConnec } } -void test_MQTT_GetConnectPropertiesSize(void) -{ - MQTTConnectInfo_t connectInfo; - MQTTStatus_t status = MQTTSuccess; - MQTTPublishInfo_t willInfo = {0}; - - /* Call MQTT_GetConnectPropertiesSize() with various combinations of - * incorrect paramters */ - - status = MQTT_GetConnectPropertiesSize(NULL); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); - /* - *Max Packet Size cannot be null - */ - MQTTConnectProperties_t connectProperties; - connectProperties.receiveMax = 24; - memset(&connectProperties, 0x0, sizeof(connectProperties)); - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); - - /* - *Receive Maximum cannot be 0 - */ - connectProperties.isMaxPacketSize = true; - connectProperties.maxPacketSize = 40; - connectProperties.receiveMax = 0; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); - - connectProperties.receiveMax = 24; - connectProperties.reqProbInfo = 1; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(8, connectProperties.propertyLength); - - connectProperties.sessionExpiry = 24; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(13, connectProperties.propertyLength); - - connectProperties.topicAliasMax = 24; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(16, connectProperties.propertyLength); - - connectProperties.reqResInfo = 1; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(18, connectProperties.propertyLength); - - connectProperties.reqProbInfo = 0; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(20, connectProperties.propertyLength); - - MQTTUserProperty_t userProperty; - memset(&userProperty, 0x0, sizeof(userProperty)); - - connectProperties.outgoingUserPropSize = 1; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); - - connectProperties.outgoingUserProperty = &userProperty; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); - - userProperty.keyLength = 3; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); - - userProperty.valueLength = 1; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); - - userProperty.value = "1"; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); - - userProperty.key = "211"; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(29, connectProperties.propertyLength); - - connectProperties.outgoingUserPropSize = 6; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); - connectProperties.outgoingUserPropSize = 1; - - /* - * Incoming AuthInfo not intialized. - */ - MQTTAuthInfo_t auth; - memset(&auth, 0x0, sizeof(auth)); - connectProperties.outgoingAuth = &auth; - auth.authDataLength = 1; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); - - MQTTAuthInfo_t auth2; - memset(&auth2, 0x0, sizeof(auth2)); - connectProperties.incomingAuth = &auth2; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); - - /* - * Protocol Error to include Authentication Data if there is no Authentication Method - */ - auth.authData = "1"; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); - - auth.authMethodLength = 3; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); - - auth.authMethod = "234"; - status = MQTT_GetConnectPropertiesSize(&connectProperties); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(39, connectProperties.propertyLength); -} - void test_MQTT_GetWillPropertiesSize(void) { MQTTConnectInfo_t connectInfo; @@ -1511,6 +1417,9 @@ void test_MQTTV5_DeserializeConnackOnlyStatus(void) status = MQTTV5_DeserializeConnack(&properties, NULL, &sessionPresent); TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, NULL); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + packetInfo.type = MQTT_PACKET_TYPE_CONNACK; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); TEST_ASSERT_EQUAL(MQTTBadParameter, status); @@ -1519,13 +1428,16 @@ void test_MQTTV5_DeserializeConnackOnlyStatus(void) packetInfo.type = MQTT_PACKET_TYPE_CONNECT; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); TEST_ASSERT_EQUAL(MQTTBadParameter, status); - + /*Reserved bit incorrect*/ + buffer[0] = 0x11; + packetInfo.type = MQTT_PACKET_TYPE_CONNACK; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTBadResponse, status); /* * Session Present Bit is set but reason code is not equal to 0; */ buffer[0] = 0x01; buffer[1] = 0x01; - packetInfo.type = MQTT_PACKET_TYPE_CONNACK; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); TEST_ASSERT_EQUAL(MQTTBadResponse, status); @@ -1537,11 +1449,125 @@ void test_MQTTV5_DeserializeConnackOnlyStatus(void) buffer[1] = 0x03; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); TEST_ASSERT_EQUAL(MQTTProtocolError, status); + /*All the valid response code*/ + buffer[1] = 0x80; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x80; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x81; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x82; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x83; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x80; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x84; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); buffer[1] = 0x80; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[1] = 0x85; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x86; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x87; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x88; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x89; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x8A; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x8C; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x88; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x90; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x95; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x97; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x99; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x9A; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x9A; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x9B; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x9C; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x9D; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + buffer[1] = 0x9F; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTServerRefused, status); + + + /*Exceeds the max packet size set by the client*/ + properties.maxPacketSize = 2; + properties.isMaxPacketSize = 1; + buffer[1] = 0x00; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTProtocolError, status); + + /*Validate the remaining length*/ + properties.isMaxPacketSize = false; + packetInfo.remainingLength = 7; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); + TEST_ASSERT_EQUAL(MQTTMalformedPacket, status); + } void test_MQTTV5_DeserializeConnackOnlySessionExpiry(void) @@ -1610,6 +1636,27 @@ void test_MQTTV5_DeserializeConnackOnlySessionExpiry(void) pIndexLocal = &pIndexLocal[4]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + + /*Invalid id*/ + packetInfo.remainingLength = 8; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 5); + pIndexLocal++; + *pIndexLocal = 0x00; + pIndexLocal++; + pIndexLocal[0] = UINT32_BYTE3(12); + pIndexLocal[1] = UINT32_BYTE2(12); + pIndexLocal[2] = UINT32_BYTE1(12); + pIndexLocal[3] = UINT32_BYTE0(12); + pIndexLocal = &pIndexLocal[4]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + + packetInfo.remainingLength = 8; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 20971556356235); + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTBadResponse, status); } void test_MQTTV5_DeserializeConnackOnlyReceiveMax(void) @@ -1640,6 +1687,19 @@ void test_MQTTV5_DeserializeConnackOnlyReceiveMax(void) TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); TEST_ASSERT_EQUAL_INT(13, properties.serverReceiveMax); + /*Receive Max cannot have a value 0*/ + packetInfo.remainingLength = 6; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 3); + pIndexLocal++; + *pIndexLocal = MQTT_RECEIVE_MAX_ID; + pIndexLocal++; + pIndexLocal[0] = UINT16_HIGH_BYTE(0); + pIndexLocal[1] = UINT16_LOW_BYTE(0); + pIndexLocal = &pIndexLocal[2]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + /*Protocol error to include the same property twice*/ packetInfo.remainingLength = 9; pIndexLocal = &buffer[2]; @@ -1699,6 +1759,18 @@ void test_MQTTV5_DeserializeConnackOnlyMaxQos(void) TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); TEST_ASSERT_EQUAL_INT(0, properties.serverMaxQos); + /*Protocol error to have a value other than 0 or 1*/ + packetInfo.remainingLength = 5; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal++; + *pIndexLocal = MQTT_MAX_QOS_ID; + pIndexLocal++; + pIndexLocal[0] = 3; + pIndexLocal++; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + /*Protocol error to include the same property twice*/ packetInfo.remainingLength = 7; pIndexLocal = &buffer[2]; @@ -1757,6 +1829,21 @@ void test_MQTTV5_DeserializeConnackOnlyMaxPacketSize(void) TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); TEST_ASSERT_EQUAL_INT(120, properties.serverMaxPacketSize); + /*Protocol error to have a value 0*/ + packetInfo.remainingLength = 8; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 5); + pIndexLocal++; + *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; + pIndexLocal++; + pIndexLocal[0] = UINT32_BYTE3(0); + pIndexLocal[1] = UINT32_BYTE2(0); + pIndexLocal[2] = UINT32_BYTE1(0); + pIndexLocal[3] = UINT32_BYTE0(0); + pIndexLocal = &pIndexLocal[4]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + /*Protocol error to include the same property twice*/ packetInfo.remainingLength = 13; pIndexLocal = &buffer[2]; @@ -1822,6 +1909,18 @@ void test_MQTTV5_DeserializeConnackOnlyRetainAvailable(void) TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); TEST_ASSERT_EQUAL_INT(0, properties.retainAvailable); + /*Protocol error to have a value other than 0 or 1*/ + packetInfo.remainingLength = 5; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal++; + *pIndexLocal = MQTT_RETAIN_AVAILABLE_ID; + pIndexLocal++; + pIndexLocal[0] = 3; + pIndexLocal++; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + /*Protocol error to include the same property twice*/ packetInfo.remainingLength = 7; pIndexLocal = &buffer[2]; @@ -1850,14 +1949,29 @@ void test_MQTTV5_DeserializeConnackOnlyRetainAvailable(void) status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); } - -void test_MQTTV5_DeserializeConnackOnlyClientId(void) +void test_MQTT_GetUserPropertySize(void) { - MQTTPacketInfo_t packetInfo; - MQTTConnectProperties_t properties; + MQTTUserProperty_t userProperty; + size_t *length; + memset(&userProperty, 0x0, sizeof(userProperty)); MQTTStatus_t status; - memset(&properties, 0x0, sizeof(properties)); - memset(&packetInfo, 0x0, sizeof(packetInfo)); + status = MQTT_GetUserPropertySize(&userProperty, 0, NULL); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + + status = MQTT_GetUserPropertySize(NULL, 1, length); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + + userProperty.keyLength = 0; + status = MQTT_GetUserPropertySize(&userProperty, 1, length); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); +} +void test_MQTTV5_DeserializeConnackOnlyClientId(void) +{ + MQTTPacketInfo_t packetInfo; + MQTTConnectProperties_t properties; + MQTTStatus_t status; + memset(&properties, 0x0, sizeof(properties)); + memset(&packetInfo, 0x0, sizeof(packetInfo)); uint8_t buffer[200] = {0}; uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; @@ -1888,7 +2002,6 @@ void test_MQTTV5_DeserializeConnackOnlyClientId(void) pIndexLocal++; string = "ab"; dummy = encodeString(pIndexLocal, &string, 2); - pIndexLocal++; pIndexLocal = &pIndexLocal[dummy]; *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; pIndexLocal++; @@ -1912,6 +2025,19 @@ void test_MQTTV5_DeserializeConnackOnlyClientId(void) pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 5; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal++; + *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); } void test_MQTTV5_DeserializeConnackOnlyTopicAlias(void) { @@ -2066,13 +2192,11 @@ void test_MQTTV5_DeserializeConnackOnlyReasonString(void) pIndexLocal++; string = "ab"; dummy = encodeString(pIndexLocal, &string, 2); - pIndexLocal++; pIndexLocal = &pIndexLocal[dummy]; *pIndexLocal = MQTT_REASON_STRING_ID; pIndexLocal++; string = "ab"; dummy = encodeString(pIndexLocal, &string, 2); - pIndexLocal++; pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); @@ -2086,7 +2210,19 @@ void test_MQTTV5_DeserializeConnackOnlyReasonString(void) pIndexLocal++; string = "ab"; dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 5; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 2); pIndexLocal++; + *pIndexLocal = MQTT_REASON_STRING_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); @@ -2330,7 +2466,19 @@ void test_MQTTV5_DeserializeConnackOnlyResponseInfo(void) pIndexLocal++; string = "ab"; dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 5; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal++; + *pIndexLocal = MQTT_RESPONSE_INFO_ID; pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); @@ -2375,9 +2523,134 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty(void) TEST_ASSERT_EQUAL(1, properties.incomingUserPropSize); TEST_ASSERT_EQUAL(3, (properties.incomingUserProperty->valueLength)); TEST_ASSERT_EQUAL(2, (properties.incomingUserProperty->keyLength)); + + /*Invalid property length*/ + packetInfo.remainingLength = 5; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal++; + *pIndexLocal = MQTT_USER_PROPERTY_ID; + pIndexLocal++; + string = "ab"; + string2 = "abc"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + x = pIndexLocal; + dummy2 = encodeString(pIndexLocal, &string2, 3); + pIndexLocal = &pIndexLocal[dummy2]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 6; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 3); + pIndexLocal++; + *pIndexLocal = MQTT_USER_PROPERTY_ID; + pIndexLocal++; + string = "ab"; + string2 = "abc"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + x = pIndexLocal; + dummy2 = encodeString(pIndexLocal, &string2, 3); + pIndexLocal = &pIndexLocal[dummy2]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 12; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 9); + pIndexLocal++; + *pIndexLocal = MQTT_USER_PROPERTY_ID; + pIndexLocal++; + string = "ab"; + string2 = "abc"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + x = pIndexLocal; + dummy2 = encodeString(pIndexLocal, &string2, 3); + pIndexLocal = &pIndexLocal[dummy2]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); } -void test_MQTTV5_DeserializeConnackOnlyAuthInfo(void) +void test_MQTTV5_DeserializeConnackOnlyServerRef(void) +{ + MQTTPacketInfo_t packetInfo; + MQTTConnectProperties_t properties; + MQTTStatus_t status; + memset(&properties, 0x0, sizeof(properties)); + memset(&packetInfo, 0x0, sizeof(packetInfo)); + uint8_t buffer[200] = {0}; + uint8_t *pIndexLocal = buffer; + buffer[0] = 0x01; + buffer[1] = 0x00; + size_t dummy = 0; + bool session = false; + packetInfo.pRemainingData = buffer; + packetInfo.type = MQTT_PACKET_TYPE_CONNACK; + packetInfo.remainingLength = 8; + pIndexLocal = &buffer[2]; + size_t propertyLength = encodeRemainingLength(pIndexLocal, 5); + pIndexLocal++; + *pIndexLocal = MQTT_SERVER_REF_ID; + pIndexLocal++; + char string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + TEST_ASSERT_EQUAL(2, properties.serverRefLength); + TEST_ASSERT_EQUAL(pIndexLocal, properties.serverRef + 2); + + /*Protocol error to include the same property twice*/ + packetInfo.remainingLength = 13; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 10); + pIndexLocal++; + *pIndexLocal = MQTT_SERVER_REF_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + *pIndexLocal = MQTT_SERVER_REF_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 7; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal++; + *pIndexLocal = MQTT_SERVER_REF_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 5; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal++; + *pIndexLocal = MQTT_SERVER_REF_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); +} + +void test_MQTTV5_DeserializeConnackOnlyAuthMethod(void) { MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; @@ -2408,15 +2681,63 @@ void test_MQTTV5_DeserializeConnackOnlyAuthInfo(void) status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); TEST_ASSERT_EQUAL(2, properties.incomingAuth->authMethodLength); + + /*Protocol error to include auth method more than once*/ + packetInfo.remainingLength = 13; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 10); + pIndexLocal++; + *pIndexLocal = MQTT_AUTH_METHOD_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + *pIndexLocal = MQTT_AUTH_METHOD_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 5; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal++; + *pIndexLocal = MQTT_AUTH_METHOD_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 7; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal++; + *pIndexLocal = MQTT_AUTH_METHOD_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); } -void test_MQTTV5_DeserializeConnackOnlyServerRef(void) +void test_MQTTV5_DeserializeConnackOnlyAuthData(void) { MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; + MQTTAuthInfo_t auth; + MQTTAuthInfo_t auth1; MQTTStatus_t status; memset(&properties, 0x0, sizeof(properties)); memset(&packetInfo, 0x0, sizeof(packetInfo)); + properties.incomingAuth = &auth; + properties.outgoingAuth = &auth1; uint8_t buffer[200] = {0}; uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; @@ -2429,46 +2750,55 @@ void test_MQTTV5_DeserializeConnackOnlyServerRef(void) pIndexLocal = &buffer[2]; size_t propertyLength = encodeRemainingLength(pIndexLocal, 5); pIndexLocal++; - *pIndexLocal = MQTT_SERVER_REF_ID; + *pIndexLocal = MQTT_AUTH_DATA_ID; pIndexLocal++; char string = "ab"; dummy = encodeString(pIndexLocal, &string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL(2, properties.serverRefLength); - TEST_ASSERT_EQUAL(pIndexLocal, properties.serverRef + 2); + TEST_ASSERT_EQUAL(2, properties.incomingAuth->authDataLength); - /*Protocol error to include the same property twice*/ + /*Protocol error to include auth method more than once*/ packetInfo.remainingLength = 13; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 10); pIndexLocal++; - *pIndexLocal = MQTT_SERVER_REF_ID; + *pIndexLocal = MQTT_AUTH_DATA_ID; pIndexLocal++; string = "ab"; dummy = encodeString(pIndexLocal, &string, 2); - pIndexLocal++; pIndexLocal = &pIndexLocal[dummy]; - *pIndexLocal = MQTT_SERVER_REF_ID; + *pIndexLocal = MQTT_AUTH_DATA_ID; pIndexLocal++; string = "ab"; dummy = encodeString(pIndexLocal, &string, 2); - pIndexLocal++; pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + /*Invalid property length*/ + packetInfo.remainingLength = 5; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal++; + *pIndexLocal = MQTT_AUTH_DATA_ID; + pIndexLocal++; + string = "ab"; + dummy = encodeString(pIndexLocal, &string, 2); + pIndexLocal = &pIndexLocal[dummy]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + /*Invalid property length*/ packetInfo.remainingLength = 7; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 4); pIndexLocal++; - *pIndexLocal = MQTT_SERVER_REF_ID; + *pIndexLocal = MQTT_AUTH_DATA_ID; pIndexLocal++; string = "ab"; dummy = encodeString(pIndexLocal, &string, 2); - pIndexLocal++; pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); @@ -2513,6 +2843,9 @@ void test_MQTTV5_GetConnectPacketSize(void) status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, NULL, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + /* Test a will message payload length that is too large. */ memset(&connectInfo, 0x0, sizeof(connectInfo)); connectInfo.pClientIdentifier = CLIENT_IDENTIFIER; @@ -2568,10 +2901,141 @@ void test_MQTTV5_GetConnectPacketSize(void) /* Make sure packet size is 30 = 18 + 12. */ TEST_ASSERT_EQUAL_INT(31, packetSize); - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, NULL, &remainingLength, NULL); + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, NULL, &remainingLength,&packetSize); TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + /*Validating the function Get Connect properties*/ + /* Call MQTT_GetConnectPropertiesSize() with various combinations of + * incorrect paramters */ + /* + *Max Packet Size cannot be null + */ + properties.receiveMax = 24; + properties.isMaxPacketSize = true; + properties.maxPacketSize = 0; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + /* + *Receive Maximum cannot be 0 + */ + properties.isMaxPacketSize = true; + properties.maxPacketSize = 40; + properties.receiveMax = 0; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + properties.receiveMax = 24; + properties.reqProbInfo = 1; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(8, properties.propertyLength); + + properties.sessionExpiry = 24; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(13, properties.propertyLength); + + properties.topicAliasMax = 24; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(16, properties.propertyLength); + + properties.reqResInfo = 1; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(18, properties.propertyLength); + + properties.reqProbInfo = 0; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(20, properties.propertyLength); + + MQTTUserProperty_t userProperty; + memset(&userProperty, 0x0, sizeof(userProperty)); + + properties.outgoingUserPropSize = 1; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + ; + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + properties.outgoingUserProperty = &userProperty; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + userProperty.keyLength = 3; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + userProperty.valueLength = 1; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + userProperty.value = "1"; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + userProperty.key = "211"; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(29, properties.propertyLength); + + properties.outgoingUserPropSize = 6; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + properties.outgoingUserPropSize = 1; + + /* + * Incoming AuthInfo not intialized. + */ + MQTTAuthInfo_t auth; + memset(&auth, 0x0, sizeof(auth)); + properties.outgoingAuth = &auth; + auth.authDataLength = 1; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + MQTTAuthInfo_t auth2; + memset(&auth2, 0x0, sizeof(auth2)); + properties.incomingAuth = &auth2; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + /* + * Protocol Error to include Authentication Data if there is no Authentication Method + */ + auth.authData = "1"; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + auth.authMethodLength = 3; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + auth.authMethod = "234"; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(39, properties.propertyLength); + + auth.authData= NULL; + auth.authDataLength =1; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + /*Connect Properties*/ + memset(&properties, 0x0, sizeof(properties)); properties.sessionExpiry = 22; properties.receiveMax = 34; properties.isMaxPacketSize = true; @@ -2579,7 +3043,6 @@ void test_MQTTV5_GetConnectPacketSize(void) properties.topicAliasMax = 12; properties.reqResInfo = 1; properties.reqProbInfo = 0; - MQTTUserProperty_t userProperty; memset(&userProperty, 0x0, sizeof(userProperty)); userProperty.keyLength = 3; userProperty.valueLength = 1; @@ -2595,6 +3058,70 @@ void test_MQTTV5_GetConnectPacketSize(void) /* Make sure packet size is 60. */ TEST_ASSERT_EQUAL_INT(60, packetSize); + /*Validating the will properties*/ + memset(&willInfo, 0x0, sizeof(willInfo)); + status = MQTTV5_GetConnectPacketSize(&connectInfo,&willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(0, willInfo.propertyLength); + + willInfo.willDelay = 10; + status = MQTTV5_GetConnectPacketSize(&connectInfo,&willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(5, willInfo.propertyLength); + + willInfo.payloadFormat = 1; + status = MQTTV5_GetConnectPacketSize(&connectInfo,&willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(7, willInfo.propertyLength); + + willInfo.msgExpiryPresent = 1; + willInfo.msgExpiryInterval = 10; + status = MQTTV5_GetConnectPacketSize(&connectInfo,&willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(12, willInfo.propertyLength); + + willInfo.contentTypeLength = 2; + status = MQTTV5_GetConnectPacketSize(&connectInfo,&willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + willInfo.contentType = "ab"; + status = MQTTV5_GetConnectPacketSize(&connectInfo,&willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(17, willInfo.propertyLength); + + willInfo.responseTopicLength = 2; + status = MQTTV5_GetConnectPacketSize(&connectInfo,&willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + willInfo.responseTopic = "ab"; + status = MQTTV5_GetConnectPacketSize(&connectInfo,&willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(22, willInfo.propertyLength); + + willInfo.correlationLength = 2; + status = MQTTV5_GetConnectPacketSize(&connectInfo,&willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + willInfo.correlationData = "ab"; + status = MQTTV5_GetConnectPacketSize(&connectInfo,&willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(27, willInfo.propertyLength); + + MQTTUserProperty_t userProperty1[2]; + userProperty1[0].key = "2"; + userProperty1[0].keyLength = 1; + userProperty1[0].valueLength = 3; + userProperty1[0].value = "abc"; + userProperty1[1].key = "2"; + userProperty1[1].keyLength = 1; + userProperty1[1].valueLength = 2; + userProperty1[1].value = "ab"; + willInfo.userProperty = userProperty1; + willInfo.userPropertySize = 2; + status = MQTT_GetWillPropertiesSize(&willInfo); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_EQUAL_size_t(44, willInfo.propertyLength); + willInfo.payloadFormat = 1; willInfo.msgExpiryPresent = 1; willInfo.msgExpiryInterval = 10; @@ -2610,10 +3137,36 @@ void test_MQTTV5_GetConnectPacketSize(void) // 34 + 12 + 29 status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTSuccess, status); - /* Make sure remaining size returned is 50. */ - TEST_ASSERT_EQUAL_INT(102, remainingLength); - /* Make sure packet size is 52. */ - TEST_ASSERT_EQUAL_INT(104, packetSize); + /* Make sure remaining size returned is 107. */ + TEST_ASSERT_EQUAL_INT(107, remainingLength); + /* Make sure packet size is 109. */ + TEST_ASSERT_EQUAL_INT(109, packetSize); + /*Limit of property length*/ + memset(&properties, 0x0, sizeof(properties)); + /*5*/ + properties.receiveMax = 1; + properties.reqProbInfo = 1; + MQTTUserProperty_t userPropArr[2048]; + properties.outgoingUserPropSize = 2048; + properties.outgoingUserProperty = userPropArr; + uint16_t i = 0; + + for(;i<2048;i++){ + userPropArr[i].keyLength = UINT16_MAX; + userPropArr[i].key = "a"; + userPropArr[i].valueLength = UINT16_MAX; + userPropArr[i].value = "b"; + } + + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + properties.outgoingUserPropSize = 1; + willInfo.userPropertySize = 2048; + willInfo.userProperty = userPropArr; + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + } // /** @@ -2624,7 +3177,7 @@ void test_MQTTV5_SerializeConnect(void) MQTTConnectInfo_t connectInfo; MQTTPublishInfo_t willInfo = {0}; size_t remainingLength = 0; - uint8_t buffer[70 + 2 * BUFFER_PADDING_LENGTH]; + uint8_t buffer[140 + 2 * BUFFER_PADDING_LENGTH]; size_t bufferSize = sizeof(buffer) - 2 * BUFFER_PADDING_LENGTH; size_t packetSize = bufferSize; MQTTStatus_t status = MQTTSuccess; @@ -2639,16 +3192,17 @@ void test_MQTTV5_SerializeConnect(void) /* Verify bad parameter errors. */ status = MQTTV5_SerializeConnect(NULL, &willInfo, &properties, remainingLength, &fixedBuffer); TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + status = MQTTV5_SerializeConnect(&connectInfo, &willInfo, &properties, remainingLength, NULL); TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + status = MQTTV5_SerializeConnect(&connectInfo, &willInfo, NULL, remainingLength, &fixedBuffer); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + memset(&connectInfo, 0x0, sizeof(connectInfo)); - status = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, 120, &fixedBuffer); + status = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, 112345, &fixedBuffer); TEST_ASSERT_EQUAL_INT(MQTTNoMemory, status); - status = MQTTV5_SerializeConnect(&connectInfo, &willInfo, NULL, 120, &fixedBuffer); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); - /* Create a good connection info. */ memset(&connectInfo, 0x0, sizeof(connectInfo)); connectInfo.pClientIdentifier = "TEST"; @@ -2664,6 +3218,7 @@ void test_MQTTV5_SerializeConnect(void) fixedBuffer.pBuffer = &buffer[BUFFER_PADDING_LENGTH]; fixedBuffer.size = bufferSize; + /* Calculate a good packet size. */ status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); @@ -2757,6 +3312,9 @@ void test_MQTTV5_SerializeConnect(void) status = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, remainingLength, &fixedBuffer); TEST_ASSERT_EQUAL(MQTTSuccess, status); checkBufferOverflow(buffer, sizeof(buffer)); + /*Connect properties not initialized*/ + status = MQTTV5_SerializeConnect(&connectInfo, &willInfo, NULL,remainingLength, &fixedBuffer); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); /*Connect Properties*/ properties.sessionExpiry = 22; @@ -2766,13 +3324,21 @@ void test_MQTTV5_SerializeConnect(void) properties.reqResInfo = 1; properties.reqProbInfo = 0; MQTTUserProperty_t userProperty; + MQTTAuthInfo_t auth; memset(&userProperty, 0x0, sizeof(userProperty)); + memset(&auth, 0x0, sizeof(auth)); + auth.authMethod = "ab"; + auth.authMethodLength = 2; + auth.authData = "abc"; + auth.authDataLength = 3; userProperty.keyLength = 3; userProperty.valueLength = 1; userProperty.value = "1"; userProperty.key = "211"; properties.outgoingUserPropSize = 1; properties.outgoingUserProperty = &userProperty; + properties.outgoingAuth = &auth; + properties.incomingAuth = &auth; // 29 status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTSuccess, status); @@ -2797,63 +3363,20 @@ void test_MQTTV5_SerializeConnect(void) willInfo.correlationLength = 2; willInfo.correlationData = "ab"; willInfo.willDelay = 3; + willInfo.userPropertySize = 1; + willInfo.userProperty = &userProperty; // 27 - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTSuccess, status); TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); /* Set the fixed buffer to exactly the size of the packet. */ fixedBuffer.size = packetSize; padAndResetBuffer(buffer, sizeof(buffer)); - status = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, remainingLength, &fixedBuffer); + status = MQTTV5_SerializeConnect(&connectInfo, &willInfo, &properties, remainingLength, &fixedBuffer); TEST_ASSERT_EQUAL(MQTTSuccess, status); checkBufferOverflow(buffer, sizeof(buffer)); } -void test_serializeUserProperties(void) -{ - MQTTUserProperty_t userProperty[2]; - memset(&userProperty[0], 0x0, sizeof(userProperty[0])); - memset(&userProperty[1], 0x0, sizeof(userProperty[1])); - userProperty[0].key = "2"; - userProperty[0].keyLength = 1; - userProperty[0].valueLength = 3; - userProperty[0].value = "abc"; - userProperty[1].key = "2"; - userProperty[1].keyLength = 1; - userProperty[1].valueLength = 2; - userProperty[1].value = "ab"; - size_t encodedStringLength = 0U; - uint8_t buffer[50]; - uint8_t *pIndex = buffer; - uint8_t *pIndexLocal = serializeUserProperties(encodedStringBuffer,userProperty,2); - // TEST_ASSERT_EQUAL_INT(MQTT_USER_PROPERTY_ID,*pIndex); - // pIndex++; - // encodedStringLength = encodeString( encodedStringBuffer, - // userProperty->key, - // userProperty->keyLength); - // TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); - // pIndex += encodedStringLength; - // encodedStringLength = encodeString( encodedStringBuffer, - // userProperty->value, - // userProperty->valueLength); - // TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); - // pIndex += encodedStringLength; - - // TEST_ASSERT_EQUAL_INT(MQTT_USER_PROPERTY_ID,*pIndex); - // pIndex++; - // encodedStringLength = encodeString( encodedStringBuffer, - // (userProperty+1)->key, - // (userProperty+1)->keyLength); - // TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); - // pIndex += encodedStringLength; - - // encodedStringLength = encodeString( encodedStringBuffer, - // (userProperty+1)->value, - // (userProperty+1)->valueLength); - // TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); - // pIndex += encodedStringLength; -} - /** * @brief This method calls MQTT_SerializeConnect successfully using different parameters * until we have full coverage on the private method, serializeConnectPacket(...). diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index e3dad512c..0daf36c34 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -1157,7 +1157,22 @@ void test_MQTT_Connect_happy_path() TransportInterface_t transport = { 0 }; MQTTFixedBuffer_t networkBuffer = { 0 }; MQTTPacketInfo_t incomingPacket = { 0 }; - MQTTConnectProperties_t properties ={0}; + MQTTConnectProperties_t properties; + MQTTAuthInfo_t authInfo; + MQTTAuthInfo_t authInfo2; + MQTTUserProperty_t userProperty; + memset(&properties,0x0,sizeof(properties)); + memset(&authInfo,0x0,sizeof(authInfo)); + memset(&authInfo2,0x0,sizeof(authInfo2)); + memset(&userProperty,0x0,sizeof(userProperty)); + userProperty.key = "ab"; + userProperty.value = "ab"; + userProperty.keyLength = 2; + userProperty.valueLength = 2; + authInfo.authMethod= "2"; + authInfo.authMethodLength = 1; + authInfo.authData ="ab"; + authInfo.authDataLength = 2; setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); @@ -1177,13 +1192,33 @@ void test_MQTT_Connect_happy_path() properties.topicAliasMax = 13; properties.reqProbInfo= 0; properties.reqResInfo = 1; + properties.outgoingUserPropSize = 1; + properties.outgoingUserProperty = &userProperty; + properties.outgoingAuth= &authInfo; + properties.incomingAuth = &authInfo2; + willInfo.pTopicName = "test"; willInfo.topicNameLength = 4; willInfo.pPayload = "Payload"; willInfo.payloadLength = 7; - willInfo.willDelay = 22; - willInfo.correlationData = "fhf"; - willInfo.correlationLength = 3; + willInfo.payloadFormat = 1; + willInfo.msgExpiryPresent = 1; + willInfo.msgExpiryInterval = 10; + willInfo.msgExpiryPresent = 1; + willInfo.msgExpiryInterval = 10; + willInfo.contentTypeLength = 2; + willInfo.contentType = "ab"; + willInfo.responseTopicLength = 2; + willInfo.responseTopic = "ab"; + willInfo.correlationLength = 2; + willInfo.correlationData = "ab"; + willInfo.willDelay = 3; + willInfo.userPropertySize = 1; + willInfo.userProperty=&userProperty; + connectInfo.pUserName ="hdhf"; + connectInfo.userNameLength =3; + connectInfo.passwordLength =4; + connectInfo.pPassword ="1234"; incomingPacket.type = MQTT_PACKET_TYPE_CONNACK; mqttContext.transportInterface.send = transportSendSuccess; MQTT_SerializeConnect_IgnoreAndReturn( MQTTSuccess ); @@ -1194,5 +1229,57 @@ void test_MQTT_Connect_happy_path() MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTRecvFailed ); status = MQTT_Connect( &mqttContext, &connectInfo, &willInfo, timeout, &sessionPresent ); TEST_ASSERT_EQUAL_INT( MQTTRecvFailed, status ); + + + willInfo.pTopicName = NULL; + incomingPacket.type = MQTT_PACKET_TYPE_CONNACK; + mqttContext.transportInterface.send = transportSendSuccess; + MQTT_SerializeConnect_IgnoreAndReturn( MQTTSuccess ); + MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); + MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); + MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); + status = MQTT_Connect( &mqttContext, &connectInfo, &willInfo, timeout, &sessionPresent ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); } + +// void test_MQTT_Connect_happy_path1() +// { +// MQTTContext_t mqttContext = { 0 }; +// MQTTConnectInfo_t connectInfo = { 0 }; +// bool sessionPresent; +// MQTTStatus_t status; +// TransportInterface_t transport = { 0 }; +// MQTTFixedBuffer_t networkBuffer = { 0 }; +// MQTTPacketInfo_t incomingPacket = { 0 }; +// MQTTConnectProperties_t properties ={0}; +// properties.receiveMax = UINT16_MAX; +// properties.reqProbInfo = 1; +// setupTransportInterface( &transport ); +// setupNetworkBuffer( &networkBuffer ); + +// memset( &mqttContext, 0x0, sizeof( mqttContext ) ); +// MQTT_Init( &mqttContext, &transport, getTime, eventCallback, &networkBuffer ); + + +// /* CONNACK receive with timeoutMs=0. Retry logic will be used. */ +// mqttContext.connectStatus = MQTTNotConnected; +// mqttContext.keepAliveIntervalSec = 0; +// sessionPresent = false; +// incomingPacket.type = MQTT_PACKET_TYPE_CONNACK; +// incomingPacket.remainingLength = 3; +// MQTT_SerializeConnect_IgnoreAndReturn( MQTTSuccess ); +// MQTTV5_GetConnectPacketSize_IgnoreAndReturn( MQTTSuccess ); +// MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); +// MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); +// MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); +// MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); +// // MQTT_GetIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); +// // MQTTV5_DeserializeConnack_IgnoreAndReturn( MQTTSuccess ); +// // status = MQTT_Connect( &mqttContext, &connectInfo, NULL, 0U, &sessionPresent ); +// // TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); +// // TEST_ASSERT_EQUAL_INT( MQTTConnected, mqttContext.connectStatus ); +// // TEST_ASSERT_EQUAL_INT( connectInfo.keepAliveSeconds, mqttContext.keepAliveIntervalSec ); +// // TEST_ASSERT_FALSE( mqttContext.waitingForPingResp ); +// } \ No newline at end of file From 897379f8fc6b90c0d6f01debdb6fd468e7421927 Mon Sep 17 00:00:00 2001 From: Monika Singh Date: Thu, 20 Jun 2024 12:45:32 +0000 Subject: [PATCH 16/82] Fixed C90 errors --- source/core_mqtt.c | 13 +- source/core_mqtt_serializer.c | 107 ++- source/include/core_mqtt.h | 1 - source/include/core_mqtt_config_defaults.h | 1 - source/include/core_mqtt_serializer.h | 57 +- test/CMakeLists.txt | 2 + test/unit-test/MQTT/core_mqtt_config.h | 1 - .../MQTTv5/core_mqttv5_serializer_utest.c | 645 ++------------ test/unit-test/MQTTv5/core_mqttv5_utest.c | 796 +----------------- 9 files changed, 188 insertions(+), 1435 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index b867bc2ce..c5ee7edda 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -2402,25 +2402,24 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, } /*Encodethe authentication method and data if provided*/ - MQTTAuthInfo_t *pAuthInfo = pContext->connectProperties->outgoingAuth; - if (pAuthInfo != NULL) + if (pContext->connectProperties->outgoingAuth != NULL) { /* Serialize the authentication method string. */ vectorsAdded = addEncodedStringToVectorWithId(serializedAuthMethodLength, - pAuthInfo->authMethod, - pAuthInfo->authMethodLength, + pContext->connectProperties->outgoingAuth->authMethod, + pContext->connectProperties->outgoingAuth->authMethodLength, iterator, &totalMessageLength, &authMethodId); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; - if (pAuthInfo->authDataLength != 0U) + if (pContext->connectProperties->outgoingAuth->authDataLength != 0U) { /* Serialize the authentication data string. */ vectorsAdded = addEncodedStringToVectorWithId(serializedAuthDataLength, - pAuthInfo->authData, - pAuthInfo->authDataLength, + pContext->connectProperties->outgoingAuth->authData, + pContext->connectProperties->outgoingAuth->authDataLength, iterator, &totalMessageLength, &authDataId); diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 41801bd54..f997a4c8b 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -44,7 +44,6 @@ */ #define MQTT_PACKET_CONNECT_HEADER_SIZE ( 10UL ) -#define UINT16_MAX (65535U) /* MQTT CONNECT flags. */ #define MQTT_CONNECT_FLAG_CLEAN ( 1 ) /**< @brief Clean session. */ @@ -630,13 +629,13 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, * @param[in] pUserProperty User Property parameters. * @param[in] size Number of user properties */ -// static uint8_t* serializeUserProperties(uint8_t * pIndex,const MQTTUserProperty_t* pUserProperty, uint16_t size); +/*static uint8_t* serializeUserProperties(uint8_t * pIndex,const MQTTUserProperty_t* pUserProperty, uint16_t size);*/ /*-----------------------------------------------------------*/ MQTTStatus_t MQTTV5_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, - const MQTTPublishInfo_t* pWillInfo, - const MQTTConnectProperties_t* pConnectProperties, + MQTTPublishInfo_t* pWillInfo, + MQTTConnectProperties_t* pConnectProperties, size_t* pRemainingLength, size_t* pPacketSize) { @@ -675,16 +674,12 @@ MQTTStatus_t MQTTV5_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, } else if (pConnectProperties == NULL) { - // LogError( ( "Argument cannot be NULL: connectProperties=%p,", - // ( void * ) pContext->connectProperties, - // )); + LogError(("Argument cannot be NULL: connectProperties")); status = MQTTBadParameter; } else if (pConnectProperties->outgoingAuth != NULL && pConnectProperties->incomingAuth == NULL) { - // LogError( ( "Argument cannot be NULL: incomingAuth=%p, ", - // ( void * ) pContext->connectProperties->incomingAuth, - // )); + LogError( ("Incoming Auth cannot bt NULL")); status = MQTTBadParameter; } else @@ -1036,9 +1031,7 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, assert(pFixedBuffer != NULL); assert(pFixedBuffer->pBuffer != NULL); assert(pConnectProperties != NULL); - pIndex = pFixedBuffer->pBuffer; - /* Serialize the header. */ pIndex = MQTT_SerializeConnectFixedHeader(pIndex, pConnectInfo, @@ -1061,18 +1054,18 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, } } - MQTTAuthInfo_t *pAuthInfo = pConnectProperties->outgoingAuth; - if (pAuthInfo != NULL) + + if (pConnectProperties->outgoingAuth != NULL) { /* Serialize the authentication method string. */ *pIndex = MQTT_AUTH_METHOD_ID; pIndex++; - pIndex = encodeString(pIndex,pAuthInfo->authMethod,pAuthInfo->authMethodLength); - if (pAuthInfo->authDataLength != 0U) + pIndex = encodeString(pIndex,pConnectProperties->outgoingAuth->authMethod,pConnectProperties->outgoingAuth->authMethodLength); + if (pConnectProperties->outgoingAuth->authDataLength != 0U) { *pIndex = MQTT_AUTH_DATA_ID; pIndex++; - pIndex = encodeString(pIndex,pAuthInfo->authData,pAuthInfo->authDataLength); + pIndex = encodeString(pIndex,pConnectProperties->outgoingAuth->authData,pConnectProperties->outgoingAuth->authDataLength); } } @@ -1173,9 +1166,7 @@ MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, else if (pConnectProperties == NULL) { - // LogError( ( "Argument cannot be NULL: connectProperties=%p,", - // ( void * ) pContext->connectProperties, - // )); + LogError( ( "Argument cannot be NULL: connectProperties")); status = MQTTBadParameter; } else @@ -1213,67 +1204,67 @@ MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, MQTTStatus_t status= MQTTServerRefused; switch(responseCode){ case MQTT_REASON_UNSPECIFIED_ERR : - LogError("Connection refused: Unspecified error"); + LogError(("Connection refused: Unspecified error")); break; case MQTT_REASON_MALFORMED_PACKET : - LogError("Connection refused: Malformed Packet."); + LogError(("Connection refused: Malformed Packet.")); break; case MQTT_REASON_PROTOCOL_ERR: - LogError("Connection refused: Protocol Error."); + LogError(("Connection refused: Protocol Error.")); break; case MQTT_REASON_IMPL_SPECIFIC_ERR : - LogError("Connection refused: Impementation specific error."); + LogError(("Connection refused: Impementation specific error.")); break; case MQTT_REASON_UNSUP_PROTO_VER : - LogError("Connection refused: Unsupported Protocol Version."); + LogError(("Connection refused: Unsupported Protocol Version.")); break; case MQTT_REASON_CLIENT_ID_NOT_VALID : - LogError( "Connection refused: Client Identifier not valid."); + LogError(( "Connection refused: Client Identifier not valid.")); break; case MQTT_REASON_BAD_USER_OR_PASS : - LogError("Connection refused: Bad User Name or Password."); + LogError(("Connection refused: Bad User Name or Password.")); break; case MQTT_REASON_NOT_AUTHORIZED : - LogError("Connection refused: Not authorized."); + LogError(("Connection refused: Not authorized.")); break; case MQTT_REASON_SERVER_UNAVAILABLE : - LogError("Connection refused: Server unavailable."); + LogError(("Connection refused: Server unavailable.")); break; case MQTT_REASON_SERVER_BUSY : - LogError( "Connection refused: Server busy." ); + LogError(("Connection refused: Server busy." )); break; case MQTT_REASON_BANNED : - LogError("Connection refused: Banned."); + LogError(("Connection refused: Banned.")); break; case MQTT_REASON_BAD_AUTH_METHOD : - LogError("Connection refused: Bad authentication method."); + LogError(("Connection refused: Bad authentication method.")); break; case MQTT_REASON_TOPIC_NAME_INVALID : - LogError("Connection refused: Topic Name invalid."); + LogError(("Connection refused: Topic Name invalid.")); break; case MQTT_REASON_PACKET_TOO_LARGE : - LogError( "Connection refused: Packet too large ."); + LogError(("Connection refused: Packet too large .")); break; case MQTT_REASON_QUOTA_EXCEEDED : - LogError("Connection refused: Quota exceeded."); + LogError(("Connection refused: Quota exceeded.")); break; case MQTT_REASON_PAYLOAD_FORMAT_INVALID : - LogError( "Connection refused: Payload format invalid." ); + LogError(( "Connection refused: Payload format invalid." )); break; case MQTT_REASON_RETAIN_NOT_SUPPORTED : - LogError("Connection refused: Retain not supported."); + LogError(("Connection refused: Retain not supported.")); break; case MQTT_REASON_QOS_NOT_SUPPORTED : - LogError("Connection refused: QoS not supported."); + LogError(("Connection refused: QoS not supported.")); break; case MQTT_REASON_USE_ANOTHER_SERVER : - LogError("Connection refused: Use another server." ); + LogError(("Connection refused: Use another server." )); break; case MQTT_REASON_SERVER_MOVED : - LogError("Connection refused: Server moved."); + LogError(("Connection refused: Server moved.")); break; case MQTT_REASON_CON_RATE_EXCEED : - LogError("Connection refused: Connection rate exceeded."); + LogError(("Connection refused: Connection rate exceeded.")); break; default: status= MQTTProtocolError; @@ -1416,18 +1407,16 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti bool* pSessionPresent) { - - MQTTStatus_t status = MQTTSuccess; + size_t propertyLength; + size_t remainingLengthSize; + uint8_t* pVariableHeader = NULL; if(pConnackProperties==NULL){ status=MQTTBadParameter; } if(status==MQTTSuccess){ status = validateConnackParams(pIncomingPacket, pSessionPresent); } - size_t propertyLength = 0U; - size_t remainingLengthSize=0U; - uint8_t* pVariableHeader = NULL; if (status == MQTTSuccess) { pVariableHeader = pIncomingPacket->pRemainingData; pVariableHeader = &pVariableHeader[2]; @@ -1606,7 +1595,6 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti } break; case MQTT_USER_PROPERTY_ID: - // Decode user property if (pConnackProperties->incomingUserPropSize == MAX_USER_PROPERTY) { } @@ -1649,13 +1637,15 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti status = MQTTMalformedPacket; } else { + if (*pVariableHeader > 1) { + status = MQTTProtocolError; + } + else{ pConnackProperties->isWildcardAvaiable = *pVariableHeader; pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; propertyLength -= 1; - if (pConnackProperties->isSharedAvailable > 1) { - status = MQTTProtocolError; - } wildcard = true; + } } break; case MQTT_SUB_AVAILABLE_ID: @@ -1666,13 +1656,15 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti status = MQTTMalformedPacket; } else { + if (*pVariableHeader > 1) { + status = MQTTProtocolError; + } + else{ pConnackProperties->subscriptionId = *pVariableHeader; pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; propertyLength -= 1; - if (pConnackProperties->subscriptionId > 1) { - status = MQTTProtocolError; - } subId = true; + } } break; case MQTT_SHARED_SUB_ID: @@ -1683,13 +1675,15 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti status = MQTTMalformedPacket; } else { + if (*pVariableHeader > 1) { + status = MQTTProtocolError; + } + else{ pConnackProperties->isSharedAvailable = *pVariableHeader; pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; propertyLength -= 1; - if (pConnackProperties->isSharedAvailable > 1) { - status = MQTTProtocolError; - } sharedsub = true; + } } break; case MQTT_SERVER_KEEP_ALIVE_ID: @@ -2919,7 +2913,6 @@ uint8_t* MQTT_SerializeConnectFixedHeader(uint8_t* pIndex, /* The string "MQTT" is placed at the beginning of the CONNECT packet's variable * header. This string is 4 bytes long. */ - // Add the correct version pIndexLocal = encodeString(pIndexLocal, "MQTT", 4); /* The MQTT protocol version is the second field of the variable header. */ diff --git a/source/include/core_mqtt.h b/source/include/core_mqtt.h index e5c9b6d2e..5e09730c3 100644 --- a/source/include/core_mqtt.h +++ b/source/include/core_mqtt.h @@ -42,7 +42,6 @@ #include "transport_interface.h" /* Include transport interface. */ -// #include "core_mqtt_config_defaults.h" /** * @cond DOXYGEN_IGNORE diff --git a/source/include/core_mqtt_config_defaults.h b/source/include/core_mqtt_config_defaults.h index c4654563c..6a9aed48b 100644 --- a/source/include/core_mqtt_config_defaults.h +++ b/source/include/core_mqtt_config_defaults.h @@ -78,7 +78,6 @@ #define MAX_USER_PROPERTY (5U) #endif #endif -// #define MQTT_VERSION_5_ENABLED (false) /** * @ingroup mqtt_constants diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index a8d55d3e6..15e577de7 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -81,11 +81,9 @@ struct MQTTSubscribeInfo; struct MQTTPublishInfo; struct MQTTPacketInfo; -// #if (MQTT_VERSION_5_ENABLED) struct MQTTConnectProperties; struct MQTTUserProperty; struct MQTTAuthInfo; -// #endif /** * @ingroup mqtt_enum_types * @brief Return codes from MQTT functions. @@ -107,12 +105,9 @@ typedef enum MQTTStatus incomplete data; it should be called again (probably after a delay). */ - // #if(MQTT_VERSION_5_ENABLED) - MQTTMalformedPacket=0x81, - MQTTProtocolError=0x82 - // #endif + MQTTMalformedPacket=0x81, + MQTTProtocolError=0x82 - // #endif } MQTTStatus_t; @@ -248,7 +243,6 @@ typedef struct MQTTSubscribeInfo uint16_t topicFilterLength; } MQTTSubscribeInfo_t; -// #if (MQTT_VERSION_5_ENABLED) /** * @ingroup mqtt_struct_types @@ -256,17 +250,45 @@ typedef struct MQTTSubscribeInfo */ typedef struct MQTTAuthInfo { - const char* authMethod; - uint16_t authMethodLength; - const char* authData; - uint16_t authDataLength; + /** + * @brief Authentication method used for authentication. + */ + const char* authMethod; + /** + * @brief Length of the authentication mathod. + */ + uint16_t authMethodLength; + /** + * @brief Authentication data used for authentication. + */ + const char* authData; + /** + * @brief Length of the authentication data. + */ + uint16_t authDataLength; }MQTTAuthInfo_t; + /** + * @ingroup mqtt_struct_types + * @brief Struct to hold user property. + */ typedef struct MQTTUserProperty { + /** + * @brief key. + */ const char* key; + /** + * @brief Length of the key. + */ uint16_t keyLength; + /** + * @brief value. + */ const char* value; + /** + * @brief Length of the value. + */ uint16_t valueLength; }MQTTUserProperty_t; @@ -284,17 +306,12 @@ typedef struct MQTTConnectProperties bool reqResInfo; bool reqProbInfo; size_t propertyLength; -// Add user property -// Pointer to array of userProperty; -// array of user property -> with size as maximum value of user property configured -// add authentication MQTTUserProperty_t *incomingUserProperty; uint32_t incomingUserPropSize; MQTTUserProperty_t *outgoingUserProperty; uint32_t outgoingUserPropSize; MQTTAuthInfo_t *incomingAuth; - // CONNACK uint16_t serverReceiveMax; uint8_t serverMaxQos; uint8_t retainAvailable; @@ -315,7 +332,6 @@ typedef struct MQTTConnectProperties MQTTAuthInfo_t *outgoingAuth; } MQTTConnectProperties_t; -// #endif /** * @ingroup mqtt_struct_types @@ -372,7 +388,6 @@ typedef struct MQTTPublishInfo const void *correlationData; MQTTUserProperty_t* userProperty; uint16_t userPropertySize; -// Add user property #endif } MQTTPublishInfo_t; @@ -1519,8 +1534,8 @@ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackPropert */ /* @[declare_mqttv5_getconnectpacketsize] */ MQTTStatus_t MQTTV5_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, - const MQTTPublishInfo_t* pWillInfo, - const MQTTConnectProperties_t* pConnectProperties, + MQTTPublishInfo_t* pWillInfo, + MQTTConnectProperties_t* pConnectProperties, size_t* pRemainingLength, size_t* pPacketSize); /* @[declare_mqttv5_getconnectpacketsize] */ diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 71f8f040b..1fb48b57c 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -52,6 +52,8 @@ if( COV_ANALYSIS ) # Build MQTT library target without custom config dependency. target_compile_definitions( coverity_analysis PUBLIC MQTT_DO_NOT_USE_CUSTOM_CONFIG=1 ) + target_compile_definitions( coverity_analysis PUBLIC MQTT_VERSION_5_ENABLED=1 ) + target_compile_definitions( coverity_analysis PUBLIC MAX_USER_PROPERTY=5) # MQTT public include path. target_include_directories( coverity_analysis PUBLIC ${MQTT_INCLUDE_PUBLIC_DIRS} ) diff --git a/test/unit-test/MQTT/core_mqtt_config.h b/test/unit-test/MQTT/core_mqtt_config.h index 1adec1b89..b7ebab232 100644 --- a/test/unit-test/MQTT/core_mqtt_config.h +++ b/test/unit-test/MQTT/core_mqtt_config.h @@ -73,6 +73,5 @@ #define MQTT_SEND_TIMEOUT_MS ( 20U ) -// #define MQTT_VERSION_5_ENABLED (false) #endif /* ifndef CORE_MQTT_CONFIG_H_ */ diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index 91ecbfdff..d761c8a41 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -237,91 +237,6 @@ int suiteTearDown(int numFailures) return numFailures; } -/* ========================================================================== */ -static int32_t mockReceive(NetworkContext_t *pNetworkContext, - void *pBuffer, - size_t bytesToRecv) -{ - uint8_t *returnBuffer = (uint8_t *)pBuffer; - uint8_t *mockNetwork; - size_t bytesRead = 0; - - /* Treat network context as pointer to buffer for mocking */ - mockNetwork = *(pNetworkContext->buffer); - - while (bytesRead++ < bytesToRecv) - { - /* Read single byte and advance buffer. */ - *returnBuffer++ = *mockNetwork++; - } - - /* Move stream by bytes read. */ - *(pNetworkContext->buffer) = mockNetwork; - - return bytesToRecv; -} - -/** - * @brief Mock transport receive with no data available. - */ -static int32_t mockReceiveNoData(NetworkContext_t *pNetworkContext, - void *pBuffer, - size_t bytesToRecv) -{ - /* Suppress unused parameter warning. */ - (void)pNetworkContext; - (void)pBuffer; - (void)bytesToRecv; - - return 0; -} - -/** - * @brief Mock transport receive failure. - */ -static int32_t mockReceiveFailure(NetworkContext_t *pNetworkContext, - void *pBuffer, - size_t bytesToRecv) -{ - /* Suppress unused parameter warning. */ - (void)pNetworkContext; - (void)pBuffer; - (void)bytesToRecv; - - return -1; -} - -static uint8_t *MQTT_GetConnectPropertiesSize_cb(MQTTConnectProperties_t *pConnectProperties, int numcallbacks) -{ - (void)pConnectProperties; - (void)numcallbacks; - - return MQTTSuccess; -} - -/** - * @brief Mock transport receive that succeeds once, then fails. - */ -static int32_t mockReceiveSucceedThenFail(NetworkContext_t *pNetworkContext, - void *pBuffer, - size_t bytesToRecv) -{ - int32_t retVal = 0; - static int counter = 0; - - if (counter++) - { - retVal = mockReceiveFailure(pNetworkContext, pBuffer, bytesToRecv); - counter = 0; - } - else - { - retVal = mockReceive(pNetworkContext, pBuffer, bytesToRecv); - } - - return retVal; -} - /* ========================================================================== */ /** @@ -552,95 +467,6 @@ static MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t *pUserProperty, return status; } -static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t *pConnectProperties) -{ - size_t propertyLength = 0; - MQTTStatus_t status = MQTTSuccess; - /*Validate the arguments*/ - if (pConnectProperties == NULL) - { - status = MQTTBadParameter; - } - else if (pConnectProperties->maxPacketSize == 0 || pConnectProperties->receiveMax == 0) - { - status = MQTTBadParameter; - } - else - { - /*Add the lengths of the parameters if applicable*/ - if (pConnectProperties->sessionExpiry != 0) - { - propertyLength += MQTT_SESSION_EXPIRY_SIZE; - } - if (pConnectProperties->receiveMax != UINT16_MAX) - { - propertyLength += MQTT_RECEIVE_MAX_SIZE; - } - if (pConnectProperties->isMaxPacketSize != false) - { - propertyLength += MQTT_MAX_PACKET_SIZE; - } - if (pConnectProperties->topicAliasMax != 0U) - { - propertyLength += MQTT_TOPIC_ALIAS_SIZE; - } - if (pConnectProperties->reqResInfo != 0) - { - propertyLength += MQTT_REQUEST_RESPONSE_SIZE; - } - if (pConnectProperties->reqProbInfo != 1) - { - propertyLength += MQTT_REQUEST_PPOBLEM_SIZE; - } - if (pConnectProperties->outgoingAuth != NULL) - { - /*Incoming auth cannot be NULL*/ - if (pConnectProperties->incomingAuth == NULL) - { - status = MQTTBadParameter; - } - /*Valid authentication parameters*/ - else if (pConnectProperties->outgoingAuth->authMethodLength == 0U && pConnectProperties->outgoingAuth->authDataLength != 0U) - { - status = MQTTBadParameter; - } - else if ((pConnectProperties->outgoingAuth->authMethodLength != 0U) && (pConnectProperties->outgoingAuth->authMethod == NULL)) - { - status = MQTTBadParameter; - } - else if ((pConnectProperties->outgoingAuth->authDataLength != 0U) && (pConnectProperties->outgoingAuth->authData == NULL)) - { - status = MQTTBadParameter; - } - else - { - propertyLength += pConnectProperties->outgoingAuth->authMethodLength; - propertyLength += 3U; - if (pConnectProperties->outgoingAuth->authDataLength != 0U) - { - propertyLength += pConnectProperties->outgoingAuth->authDataLength; - propertyLength += 3U; - } - } - } - } - /*Get the length of the user properties*/ - if (status == MQTTSuccess && pConnectProperties->outgoingUserPropSize != 0) - { - status = MQTT_GetUserPropertySize(pConnectProperties->outgoingUserProperty, pConnectProperties->outgoingUserPropSize, &propertyLength); - } - /*Variable length encoded values cannot have valued more than 268435455U*/ - if (status == MQTTSuccess && pConnectProperties->propertyLength > MQTT_MAX_REMAINING_LENGTH) - { - status = MQTTBadParameter; - } - if (status == MQTTSuccess) - { - pConnectProperties->propertyLength = propertyLength; - } - - return status; -} static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillProperties) { @@ -723,279 +549,18 @@ static uint8_t *serializeUserProperties(uint8_t *pIndex, const MQTTUserProperty_ uint16_t i = 0; assert(pIndex != NULL); uint8_t *pIndexLocal = pIndex; + uint8_t dummy; for (; i < size; i++) { *pIndexLocal = MQTT_USER_PROPERTY_ID; pIndexLocal++; - pIndexLocal = encodeString(pIndexLocal, (pUserProperty + i)->key, (pUserProperty + i)->keyLength); - pIndexLocal = encodeString(pIndexLocal, (pUserProperty + i)->value, (pUserProperty + i)->valueLength); + dummy = encodeString(pIndexLocal, (pUserProperty + i)->key, (pUserProperty + i)->keyLength); + dummy = encodeString(pIndexLocal, (pUserProperty + i)->value, (pUserProperty + i)->valueLength); } + i=dummy; return pIndexLocal; } -static void serializeConnectPacketV5(const MQTTConnectInfo_t *pConnectInfo, - const MQTTPublishInfo_t *pWillInfo, - const MQTTConnectProperties_t *pConnectProperties, - size_t remainingLength, - const MQTTFixedBuffer_t *pFixedBuffer) -{ - uint8_t *pIndex = NULL; - assert(pConnectInfo != NULL); - assert(pFixedBuffer != NULL); - assert(pFixedBuffer->pBuffer != NULL); - assert(pConnectProperties != NULL); - - pIndex = pFixedBuffer->pBuffer; - - /* Serialize the header. */ - pIndex = MQTT_SerializeConnectFixedHeader(pIndex, - pConnectInfo, - pWillInfo, - remainingLength); - - /* Serialize the connect Properties. */ - pIndex = MQTT_SerializeConnectProperties(pIndex, pConnectProperties); - - if (pConnectProperties->outgoingUserPropSize > 0) - { - uint16_t i = 0; - uint16_t size = pConnectProperties->outgoingUserPropSize; - MQTTUserProperty_t *pUserProperty = pConnectProperties->outgoingUserProperty; - for (; i < size; i++) - { - *pIndex = MQTT_USER_PROPERTY_ID; - pIndex++; - pIndex = encodeString(pIndex, (pUserProperty + i)->key, (pUserProperty + i)->keyLength); - pIndex = encodeString(pIndex, (pUserProperty + i)->value, (pUserProperty + i)->valueLength); - } - } - - MQTTAuthInfo_t *pAuthInfo = pConnectProperties->outgoingAuth; - if (pAuthInfo != NULL) - { - /* Serialize the authentication method string. */ - *pIndex = MQTT_AUTH_METHOD_ID; - pIndex++; - pIndex = encodeString(pIndex, pAuthInfo->authMethod, pAuthInfo->authMethodLength); - if (pAuthInfo->authDataLength != 0U) - { - *pIndex = MQTT_AUTH_DATA_ID; - pIndex++; - pIndex = encodeString(pIndex, pAuthInfo->authData, pAuthInfo->authDataLength); - } - } - - /* Write the client identifier into the CONNECT packet. */ - pIndex = encodeString(pIndex, - pConnectInfo->pClientIdentifier, - pConnectInfo->clientIdentifierLength); - - /* Serialze the will properties,topic name and message into the CONNECT packet if provided. */ - if (pWillInfo != NULL) - { - pIndex = MQTT_SerializePublishProperties(pWillInfo, pIndex); - if (pWillInfo->contentTypeLength != 0U) - { - *pIndex = MQTT_CONTENT_TYPE_ID; - pIndex++; - pIndex = encodeString(pIndex, pWillInfo->contentType, pWillInfo->contentTypeLength); - } - if (pWillInfo->responseTopicLength != 0U) - { - *pIndex = MQTT_RESPONSE_TOPIC_ID; - pIndex++; - pIndex = encodeString(pIndex, pWillInfo->responseTopic, pWillInfo->responseTopicLength); - } - if (pWillInfo->correlationLength != 0U) - { - *pIndex = MQTT_CORRELATION_DATA_ID; - pIndex++; - pIndex = encodeString(pIndex, pWillInfo->correlationData, pWillInfo->correlationLength); - } - if (pWillInfo->userPropertySize != 0) - { - uint16_t i = 0; - uint16_t size = pWillInfo->userPropertySize; - MQTTUserProperty_t *pUserProperty = pWillInfo->userProperty; - for (; i < size; i++) - { - *pIndex = MQTT_USER_PROPERTY_ID; - pIndex++; - pIndex = encodeString(pIndex, (pUserProperty + i)->key, (pUserProperty + i)->keyLength); - pIndex = encodeString(pIndex, (pUserProperty + i)->value, (pUserProperty + i)->valueLength); - } - } - pIndex = encodeString(pIndex, pWillInfo->pTopicName, pWillInfo->topicNameLength); - pIndex = encodeString(pIndex, pWillInfo->pPayload, (uint16_t)pWillInfo->payloadLength); - } - /* Encode the user name if provided. */ - if (pConnectInfo->pUserName != NULL) - { - pIndex = encodeString(pIndex, pConnectInfo->pUserName, pConnectInfo->userNameLength); - } - - /* Encode the password if provided. */ - if (pConnectInfo->pPassword != NULL) - { - pIndex = encodeString(pIndex, pConnectInfo->pPassword, pConnectInfo->passwordLength); - } - - LogDebug(("Length of serialized CONNECT packet is %lu.", - ((unsigned long)(pIndex - pFixedBuffer->pBuffer)))); - - /* Ensure that the difference between the end and beginning of the buffer - * is less than the buffer size. */ - assert(((size_t)(pIndex - pFixedBuffer->pBuffer)) <= pFixedBuffer->size); -} - -static MQTTStatus_t logConnackResponseV5(uint8_t responseCode) -{ - - MQTTStatus_t status = MQTTServerRefused; - switch (responseCode) - { - case MQTT_REASON_UNSPECIFIED_ERR: - LogError("Connection refused: Unspecified error"); - break; - case MQTT_REASON_MALFORMED_PACKET: - LogError("Connection refused: Malformed Packet."); - break; - case MQTT_REASON_PROTOCOL_ERR: - LogError("Connection refused: Protocol Error."); - break; - case MQTT_REASON_IMPL_SPECIFIC_ERR: - LogError("Connection refused: Impementation specific error."); - break; - case MQTT_REASON_UNSUP_PROTO_VER: - LogError("Connection refused: Unsupported Protocol Version."); - break; - case MQTT_REASON_CLIENT_ID_NOT_VALID: - LogError("Connection refused: Client Identifier not valid."); - break; - case MQTT_REASON_BAD_USER_OR_PASS: - LogError("Connection refused: Bad User Name or Password."); - break; - case MQTT_REASON_NOT_AUTHORIZED: - LogError("Connection refused: Not authorized."); - break; - case MQTT_REASON_SERVER_UNAVAILABLE: - LogError("Connection refused: Server unavailable."); - break; - case MQTT_REASON_SERVER_BUSY: - LogError("Connection refused: Server busy."); - break; - case MQTT_REASON_BANNED: - LogError("Connection refused: Banned."); - break; - case MQTT_REASON_BAD_AUTH_METHOD: - LogError("Connection refused: Bad authentication method."); - break; - case MQTT_REASON_TOPIC_NAME_INVALID: - LogError("Connection refused: Topic Name invalid."); - break; - case MQTT_REASON_PACKET_TOO_LARGE: - LogError("Connection refused: Packet too large ."); - break; - case MQTT_REASON_QUOTA_EXCEEDED: - LogError("Connection refused: Quota exceeded."); - break; - case MQTT_REASON_PAYLOAD_FORMAT_INVALID: - LogError("Connection refused: Payload format invalid."); - break; - case MQTT_REASON_RETAIN_NOT_SUPPORTED: - LogError("Connection refused: Retain not supported."); - break; - case MQTT_REASON_QOS_NOT_SUPPORTED: - LogError("Connection refused: QoS not supported."); - break; - case MQTT_REASON_USE_ANOTHER_SERVER: - LogError("Connection refused: Use another server."); - break; - case MQTT_REASON_SERVER_MOVED: - LogError("Connection refused: Server moved."); - break; - case MQTT_REASON_CON_RATE_EXCEED: - LogError("Connection refused: Connection rate exceeded."); - break; - default: - status = MQTTProtocolError; - } - return status; -} - -static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t *pIncomingPacket, bool *pSessionPresent) -{ - - MQTTStatus_t status = MQTTSuccess; - if (pIncomingPacket == NULL) - { - LogError(("pIncomingPacket cannot be NULL.")); - status = MQTTBadParameter; - } - else if (pSessionPresent == NULL) - { - LogError(("pSessionPresent cannot be NULL for CONNACK packet.")); - status = MQTTBadParameter; - } - else if (pIncomingPacket->pRemainingData == NULL) - { - LogError(("Remaining data of incoming packet is NULL.")); - status = MQTTBadParameter; - } - else if (pIncomingPacket->type != MQTT_PACKET_TYPE_CONNACK) - { - - LogError(("Packet type is invalid.")); - status = MQTTBadParameter; - } - else - { - const uint8_t *pRemainingData = NULL; - pRemainingData = pIncomingPacket->pRemainingData; - if ((pRemainingData[0] | 0x01U) != 0x01U) - { - LogError(("Reserved bits in CONNACK incorrect.")); - - status = MQTTBadResponse; - } - else - { - /* Determine if the "Session Present" bit is set. This is the lowest bit of - * the third byte in CONNACK. */ - if ((pRemainingData[0] & MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) == MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) - { - LogDebug(("CONNACK session present bit set.")); - *pSessionPresent = true; - - /* MQTT 5 specifies that the fourth byte in CONNACK must be 0 if the - * "Session Present" bit is set. */ - if (pRemainingData[1] != 0U) - { - LogError(("Session Present bit is set, but connect return code in CONNACK is %u (nonzero).", - (unsigned int)pRemainingData[1])); - status = MQTTBadResponse; - } - } - else - { - LogDebug(("CONNACK session present bit not set.")); - *pSessionPresent = false; - } - } - if (status == MQTTSuccess) - { - /* In MQTT 5, only values 0 , 80 through 9F are valid CONNACK response codes. */ - // Change this - if (pRemainingData[1] != 0u) - { - status = logConnackResponseV5(pRemainingData[1]); - } - } - } - - return status; -} - MQTTStatus_t decodeVariableLength(const uint8_t *pBuffer, size_t *length) { size_t remainingLength = 0; @@ -1062,7 +627,6 @@ static void verifySerializedConnectPacket(const MQTTConnectInfo_t *const pConnec { uint8_t connectFlags = 0U; uint8_t encodedRemainingLength = 0U; - uint8_t encodedPropertyLength = 0U; uint8_t encodedStringLength = 0U; uint8_t *pIndex = NULL; @@ -1249,7 +813,6 @@ static void verifySerializedConnectPacket(const MQTTConnectInfo_t *const pConnec void test_MQTT_GetWillPropertiesSize(void) { - MQTTConnectInfo_t connectInfo; MQTTStatus_t status = MQTTSuccess; MQTTPublishInfo_t willInfo; /* Call MQTT_GetWillPropertiesSize() with various combinations of @@ -1395,7 +958,7 @@ void test_MQTT_SerializePublishProperties(void) will.msgExpiryInterval = 34; will.willDelay = 12; index = MQTT_SerializePublishProperties(&will, index); - TEST_ASSERT_EQUAL_INT(13, index - properties); + TEST_ASSERT_EQUAL_INT(19, index - properties); } void test_MQTTV5_DeserializeConnackOnlyStatus(void) @@ -1443,7 +1006,7 @@ void test_MQTTV5_DeserializeConnackOnlyStatus(void) // 5 + 1 + 2 = 8 size_t propertyLength = encodeRemainingLength(index, 5); - packetInfo.remainingLength = 8; + packetInfo.remainingLength = propertyLength + 7; /*Not a valid reason code*/ buffer[0] = 0x00; buffer[1] = 0x03; @@ -1581,13 +1144,12 @@ void test_MQTTV5_DeserializeConnackOnlySessionExpiry(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - size_t dummy = 0; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - packetInfo.remainingLength = 8; pIndexLocal = &buffer[2]; size_t propertyLength = encodeRemainingLength(pIndexLocal, 5); + packetInfo.remainingLength = propertyLength + 7; pIndexLocal++; *pIndexLocal = MQTT_SESSION_EXPIRY_ID; pIndexLocal++; @@ -1670,13 +1232,12 @@ void test_MQTTV5_DeserializeConnackOnlyReceiveMax(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - size_t dummy = 0; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - packetInfo.remainingLength = 6; pIndexLocal = &buffer[2]; size_t propertyLength = encodeRemainingLength(pIndexLocal, 3); + packetInfo.remainingLength = propertyLength + 5; pIndexLocal++; *pIndexLocal = MQTT_RECEIVE_MAX_ID; pIndexLocal++; @@ -1688,9 +1249,9 @@ void test_MQTTV5_DeserializeConnackOnlyReceiveMax(void) TEST_ASSERT_EQUAL_INT(13, properties.serverReceiveMax); /*Receive Max cannot have a value 0*/ - packetInfo.remainingLength = 6; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 3); + packetInfo.remainingLength = propertyLength + 5; pIndexLocal++; *pIndexLocal = MQTT_RECEIVE_MAX_ID; pIndexLocal++; @@ -1701,9 +1262,9 @@ void test_MQTTV5_DeserializeConnackOnlyReceiveMax(void) TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); /*Protocol error to include the same property twice*/ - packetInfo.remainingLength = 9; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 6); + packetInfo.remainingLength = propertyLength + 8; pIndexLocal++; *pIndexLocal = MQTT_RECEIVE_MAX_ID; pIndexLocal++; @@ -1743,7 +1304,6 @@ void test_MQTTV5_DeserializeConnackOnlyMaxQos(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - size_t dummy = 0; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -1772,9 +1332,9 @@ void test_MQTTV5_DeserializeConnackOnlyMaxQos(void) TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); /*Protocol error to include the same property twice*/ - packetInfo.remainingLength = 7; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 4); + packetInfo.remainingLength = propertyLength + 6; pIndexLocal++; *pIndexLocal = MQTT_MAX_QOS_ID; pIndexLocal++; @@ -1810,7 +1370,6 @@ void test_MQTTV5_DeserializeConnackOnlyMaxPacketSize(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - size_t dummy = 0; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -1830,9 +1389,9 @@ void test_MQTTV5_DeserializeConnackOnlyMaxPacketSize(void) TEST_ASSERT_EQUAL_INT(120, properties.serverMaxPacketSize); /*Protocol error to have a value 0*/ - packetInfo.remainingLength = 8; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 5); + packetInfo.remainingLength = propertyLength + 7; pIndexLocal++; *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; pIndexLocal++; @@ -1893,7 +1452,6 @@ void test_MQTTV5_DeserializeConnackOnlyRetainAvailable(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - size_t dummy = 0; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -1938,9 +1496,9 @@ void test_MQTTV5_DeserializeConnackOnlyRetainAvailable(void) TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); /*Invalid property length*/ - packetInfo.remainingLength = 4; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 1); + packetInfo.remainingLength = propertyLength + 3; pIndexLocal++; *pIndexLocal = MQTT_RETAIN_AVAILABLE_ID; pIndexLocal++; @@ -1952,7 +1510,8 @@ void test_MQTTV5_DeserializeConnackOnlyRetainAvailable(void) void test_MQTT_GetUserPropertySize(void) { MQTTUserProperty_t userProperty; - size_t *length; + size_t l=12; + size_t *length = &l; memset(&userProperty, 0x0, sizeof(userProperty)); MQTTStatus_t status; status = MQTT_GetUserPropertySize(&userProperty, 0, NULL); @@ -1976,7 +1535,7 @@ void test_MQTTV5_DeserializeConnackOnlyClientId(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - size_t dummy = 0; + bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -1986,8 +1545,8 @@ void test_MQTTV5_DeserializeConnackOnlyClientId(void) pIndexLocal++; *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; pIndexLocal++; - char string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + char *string = "ab"; + size_t dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); @@ -2000,13 +1559,11 @@ void test_MQTTV5_DeserializeConnackOnlyClientId(void) pIndexLocal++; *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal++; pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); @@ -2019,22 +1576,20 @@ void test_MQTTV5_DeserializeConnackOnlyClientId(void) pIndexLocal++; *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal++; pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); /*Invalid property length*/ - packetInfo.remainingLength = 5; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 2); + packetInfo.remainingLength = propertyLength+4; pIndexLocal++; *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); @@ -2050,7 +1605,6 @@ void test_MQTTV5_DeserializeConnackOnlyTopicAlias(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - size_t dummy = 0; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -2086,9 +1640,9 @@ void test_MQTTV5_DeserializeConnackOnlyTopicAlias(void) TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); /*Invalid property length*/ - packetInfo.remainingLength = 5; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 2); + packetInfo.remainingLength = propertyLength +3; pIndexLocal++; *pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; pIndexLocal++; @@ -2110,7 +1664,6 @@ void test_MQTTV5_DeserializeConnackOnlyWildCard(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - size_t dummy = 0; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -2143,9 +1696,9 @@ void test_MQTTV5_DeserializeConnackOnlyWildCard(void) TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); /*Invalid property length*/ - packetInfo.remainingLength = 4; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 1); + packetInfo.remainingLength = propertyLength +3; pIndexLocal++; *pIndexLocal = MQTT_WILDCARD_ID; pIndexLocal++; @@ -2166,7 +1719,6 @@ void test_MQTTV5_DeserializeConnackOnlyReasonString(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - size_t dummy = 0; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -2176,8 +1728,8 @@ void test_MQTTV5_DeserializeConnackOnlyReasonString(void) pIndexLocal++; *pIndexLocal = MQTT_REASON_STRING_ID; pIndexLocal++; - char string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + char * string = "ab"; + size_t dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); @@ -2190,13 +1742,11 @@ void test_MQTTV5_DeserializeConnackOnlyReasonString(void) pIndexLocal++; *pIndexLocal = MQTT_REASON_STRING_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; *pIndexLocal = MQTT_REASON_STRING_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); @@ -2208,21 +1758,19 @@ void test_MQTTV5_DeserializeConnackOnlyReasonString(void) pIndexLocal++; *pIndexLocal = MQTT_REASON_STRING_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); /*Invalid property length*/ - packetInfo.remainingLength = 5; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 2); + packetInfo.remainingLength = propertyLength + 3; pIndexLocal++; *pIndexLocal = MQTT_REASON_STRING_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); @@ -2239,7 +1787,7 @@ void test_MQTTV5_DeserializeConnackOnlySUbId(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - size_t dummy = 0; + bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -2272,9 +1820,9 @@ void test_MQTTV5_DeserializeConnackOnlySUbId(void) TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); /*Invalid property length*/ - packetInfo.remainingLength = 4; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 1); + packetInfo.remainingLength = propertyLength +3; pIndexLocal++; *pIndexLocal = MQTT_SUB_AVAILABLE_ID; pIndexLocal++; @@ -2295,7 +1843,7 @@ void test_MQTTV5_DeserializeConnackOnlySharedSub(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - size_t dummy = 0; + bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -2328,9 +1876,9 @@ void test_MQTTV5_DeserializeConnackOnlySharedSub(void) TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); /*Invalid property length*/ - packetInfo.remainingLength = 4; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 1); + packetInfo.remainingLength = propertyLength + 3; pIndexLocal++; *pIndexLocal = MQTT_SHARED_SUB_ID; pIndexLocal++; @@ -2350,7 +1898,7 @@ void test_MQTTV5_DeserializeConnackOnlyKeepAlive(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - size_t dummy = 0; + bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -2386,9 +1934,9 @@ void test_MQTTV5_DeserializeConnackOnlyKeepAlive(void) TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); /*Invalid property length*/ - packetInfo.remainingLength = 5; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 2); + packetInfo.remainingLength = propertyLength + 4; pIndexLocal++; *pIndexLocal = MQTT_SERVER_KEEP_ALIVE_ID; pIndexLocal++; @@ -2410,7 +1958,7 @@ void test_MQTTV5_DeserializeConnackOnlyResponseInfo(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - size_t dummy = 0; + bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -2420,8 +1968,8 @@ void test_MQTTV5_DeserializeConnackOnlyResponseInfo(void) pIndexLocal++; *pIndexLocal = MQTT_RESPONSE_INFO_ID; pIndexLocal++; - char string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + char * string = "ab"; + size_t dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); @@ -2433,8 +1981,7 @@ void test_MQTTV5_DeserializeConnackOnlyResponseInfo(void) pIndexLocal++; *pIndexLocal = MQTT_RESPONSE_INFO_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); @@ -2446,13 +1993,11 @@ void test_MQTTV5_DeserializeConnackOnlyResponseInfo(void) pIndexLocal++; *pIndexLocal = MQTT_RESPONSE_INFO_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; *pIndexLocal = MQTT_RESPONSE_INFO_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); @@ -2464,21 +2009,19 @@ void test_MQTTV5_DeserializeConnackOnlyResponseInfo(void) pIndexLocal++; *pIndexLocal = MQTT_RESPONSE_INFO_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); /*Invalid property length*/ - packetInfo.remainingLength = 5; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 2); + packetInfo.remainingLength = propertyLength + 4; pIndexLocal++; *pIndexLocal = MQTT_RESPONSE_INFO_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); @@ -2501,7 +2044,7 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - size_t dummy = 0; + bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -2511,12 +2054,11 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty(void) pIndexLocal++; *pIndexLocal = MQTT_USER_PROPERTY_ID; pIndexLocal++; - char string = "ab"; - char string2 = "abc"; - dummy = encodeString(pIndexLocal, &string, 2); + char * string = "ab"; + char *string2 = "abc"; + size_t dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; - uint8_t *x = pIndexLocal; - size_t dummy2 = encodeString(pIndexLocal, &string2, 3); + size_t dummy2 = encodeString(pIndexLocal, string2, 3); pIndexLocal = &pIndexLocal[dummy2]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); @@ -2531,12 +2073,9 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty(void) pIndexLocal++; *pIndexLocal = MQTT_USER_PROPERTY_ID; pIndexLocal++; - string = "ab"; - string2 = "abc"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; - x = pIndexLocal; - dummy2 = encodeString(pIndexLocal, &string2, 3); + dummy2 = encodeString(pIndexLocal, string2, 3); pIndexLocal = &pIndexLocal[dummy2]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); @@ -2548,29 +2087,23 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty(void) pIndexLocal++; *pIndexLocal = MQTT_USER_PROPERTY_ID; pIndexLocal++; - string = "ab"; - string2 = "abc"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; - x = pIndexLocal; - dummy2 = encodeString(pIndexLocal, &string2, 3); + dummy2 = encodeString(pIndexLocal, string2, 3); pIndexLocal = &pIndexLocal[dummy2]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); /*Invalid property length*/ - packetInfo.remainingLength = 12; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 9); + packetInfo.remainingLength = propertyLength + 11; pIndexLocal++; *pIndexLocal = MQTT_USER_PROPERTY_ID; pIndexLocal++; - string = "ab"; - string2 = "abc"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; - x = pIndexLocal; - dummy2 = encodeString(pIndexLocal, &string2, 3); + dummy2 = encodeString(pIndexLocal, string2, 3); pIndexLocal = &pIndexLocal[dummy2]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); @@ -2587,7 +2120,7 @@ void test_MQTTV5_DeserializeConnackOnlyServerRef(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - size_t dummy = 0; + bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -2597,8 +2130,8 @@ void test_MQTTV5_DeserializeConnackOnlyServerRef(void) pIndexLocal++; *pIndexLocal = MQTT_SERVER_REF_ID; pIndexLocal++; - char string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + char * string = "ab"; + size_t dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); @@ -2606,19 +2139,17 @@ void test_MQTTV5_DeserializeConnackOnlyServerRef(void) TEST_ASSERT_EQUAL(pIndexLocal, properties.serverRef + 2); /*Protocol error to include the same property twice*/ - packetInfo.remainingLength = 13; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 10); + packetInfo.remainingLength = propertyLength + 12; pIndexLocal++; *pIndexLocal = MQTT_SERVER_REF_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; *pIndexLocal = MQTT_SERVER_REF_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); @@ -2630,8 +2161,7 @@ void test_MQTTV5_DeserializeConnackOnlyServerRef(void) pIndexLocal++; *pIndexLocal = MQTT_SERVER_REF_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); @@ -2643,8 +2173,7 @@ void test_MQTTV5_DeserializeConnackOnlyServerRef(void) pIndexLocal++; *pIndexLocal = MQTT_SERVER_REF_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); @@ -2665,7 +2194,7 @@ void test_MQTTV5_DeserializeConnackOnlyAuthMethod(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - size_t dummy = 0; + bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -2675,8 +2204,8 @@ void test_MQTTV5_DeserializeConnackOnlyAuthMethod(void) pIndexLocal++; *pIndexLocal = MQTT_AUTH_METHOD_ID; pIndexLocal++; - char string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + char * string = "ab"; + size_t dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); @@ -2689,13 +2218,11 @@ void test_MQTTV5_DeserializeConnackOnlyAuthMethod(void) pIndexLocal++; *pIndexLocal = MQTT_AUTH_METHOD_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; *pIndexLocal = MQTT_AUTH_METHOD_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); @@ -2707,21 +2234,19 @@ void test_MQTTV5_DeserializeConnackOnlyAuthMethod(void) pIndexLocal++; *pIndexLocal = MQTT_AUTH_METHOD_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); /*Invalid property length*/ - packetInfo.remainingLength = 7; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 4); + packetInfo.remainingLength = propertyLength + 6; pIndexLocal++; *pIndexLocal = MQTT_AUTH_METHOD_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); @@ -2742,7 +2267,7 @@ void test_MQTTV5_DeserializeConnackOnlyAuthData(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - size_t dummy = 0; + bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -2752,8 +2277,8 @@ void test_MQTTV5_DeserializeConnackOnlyAuthData(void) pIndexLocal++; *pIndexLocal = MQTT_AUTH_DATA_ID; pIndexLocal++; - char string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + char * string = "ab"; + size_t dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); @@ -2766,13 +2291,11 @@ void test_MQTTV5_DeserializeConnackOnlyAuthData(void) pIndexLocal++; *pIndexLocal = MQTT_AUTH_DATA_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; *pIndexLocal = MQTT_AUTH_DATA_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); @@ -2785,7 +2308,7 @@ void test_MQTTV5_DeserializeConnackOnlyAuthData(void) *pIndexLocal = MQTT_AUTH_DATA_ID; pIndexLocal++; string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); @@ -2794,11 +2317,11 @@ void test_MQTTV5_DeserializeConnackOnlyAuthData(void) packetInfo.remainingLength = 7; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 4); + packetInfo.remainingLength = propertyLength + 6; pIndexLocal++; *pIndexLocal = MQTT_AUTH_DATA_ID; pIndexLocal++; - string = "ab"; - dummy = encodeString(pIndexLocal, &string, 2); + dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); @@ -3491,4 +3014,4 @@ void test_MQTTV5_SerializeConnect_Happy_Paths() TEST_ASSERT_EQUAL(MQTTSuccess, mqttStatus); verifySerializedConnectPacket(&connectInfo, NULL, &properties, remainingLength, &networkBuffer); -} +} \ No newline at end of file diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index 0daf36c34..fb19d9332 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -185,18 +185,6 @@ typedef struct ProcessLoopReturns uint32_t timeoutMs; /**< @brief The timeout value to call MQTT_ProcessLoop API with. */ } ProcessLoopReturns_t; -/** - * @brief The packet type to be received by the process loop. - * IMPORTANT: Make sure this is set before calling expectProcessLoopCalls(...). - */ -static uint8_t currentPacketType = MQTT_PACKET_TYPE_INVALID; - -/** - * @brief The return value of modifyIncomingPacket(...) CMock callback that - * replaces a call to MQTT_GetIncomingPacketTypeAndLength. - * IMPORTANT: Make sure this is set before calling expectProcessLoopCalls(...). - */ -static MQTTStatus_t modifyIncomingPacketStatus = MQTTSuccess; /** * @brief Time at the beginning of each test. Note that this is not updated with @@ -216,23 +204,7 @@ static uint8_t mqttBuffer[ MQTT_TEST_BUFFER_LENGTH ] = { 0 }; static bool isEventCallbackInvoked = false; static bool receiveOnce = false; -static const uint8_t SubscribeHeader[] = -{ - MQTT_PACKET_TYPE_SUBSCRIBE, /* Subscribe header. */ - 0x10, 0x10, /* Packet Length. */ - ( MQTT_FIRST_VALID_PACKET_ID >> 8 ), - ( ( MQTT_FIRST_VALID_PACKET_ID ) & 0x00ffU ) /* Packet ID. */ -}; -static const size_t SubscribeHeaderLength = 5U; -static const uint8_t UnsubscribeHeader[] = -{ - MQTT_PACKET_TYPE_UNSUBSCRIBE, /* Subscribe header. */ - 0x12, 0x15, /* Packet Length. */ - ( MQTT_FIRST_VALID_PACKET_ID >> 8 ), - ( ( MQTT_FIRST_VALID_PACKET_ID ) & 0x00ffU ) /* Packet ID. */ -}; -static const size_t UnsubscribeHeaderLength = 5U; /* ============================ UNITY FIXTURES ============================ */ @@ -264,41 +236,14 @@ int suiteTearDown( int numFailures ) /* ========================================================================== */ - -/** - * @brief Mock successful transport send, and write data into buffer for - * verification. - */ -static int32_t mockSend( NetworkContext_t * pNetworkContext, - const void * pMessage, - size_t bytesToSend ) -{ - const uint8_t * buffer = ( const uint8_t * ) pMessage; - /* Treat network context as pointer to buffer for mocking. */ - uint8_t * mockNetwork = *( pNetworkContext->buffer ); - size_t bytesSent = 0; - - while( bytesSent++ < bytesToSend ) - { - /* Write single byte and advance buffer. */ - *mockNetwork++ = *buffer++; - } - - /* Move stream by bytes sent. */ - *( pNetworkContext->buffer ) = mockNetwork; - - return bytesToSend; -} - /** - * @brief Initialize pNetworkBuffer using static buffer. - * - * @param[in] pNetworkBuffer Network buffer provided for the context. + * @brief A mocked timer query function that increments on every call. This + * guarantees that only a single iteration runs in the ProcessLoop for ease + * of testing. */ -static void setupNetworkBuffer( MQTTFixedBuffer_t * const pNetworkBuffer ) +static uint32_t getTime( void ) { - pNetworkBuffer->pBuffer = mqttBuffer; - pNetworkBuffer->size = MQTT_TEST_BUFFER_LENGTH; + return globalEntryTime++; } /** @@ -320,46 +265,6 @@ static void eventCallback( MQTTContext_t * pContext, isEventCallbackInvoked = true; } -/** - * @brief A mocked timer query function that increments on every call. This - * guarantees that only a single iteration runs in the ProcessLoop for ease - * of testing. - */ -static uint32_t getTime( void ) -{ - return globalEntryTime++; -} - -static int32_t getTimeMockCallLimit = -1; - -/** - * @brief A mocked timer query function that increments on every call. This - * guarantees that only a single iteration runs in the ProcessLoop for ease - * of testing. Additionally, this tests whether the number of calls to this - * function have exceeded than the set limit and asserts. - */ -static uint32_t getTimeMock( void ) -{ - TEST_ASSERT_GREATER_THAN_INT32( -1, getTimeMockCallLimit-- ); - return globalEntryTime++; -} - -static int32_t getTimeMockBigTimeStepCallLimit = -1; - -/** - * @brief A mocked timer query function that increments by MQTT_SEND_TIMEOUT_MS - * to simulate the time consumed by a long running high priority task on every - * call. Additionally, this tests whether the number of calls to this function - * have exceeded than the set limit and asserts. - */ -static uint32_t getTimeMockBigTimeStep( void ) -{ - TEST_ASSERT_GREATER_THAN_INT32( -1, getTimeMockBigTimeStepCallLimit-- ); - - globalEntryTime += MQTT_SEND_TIMEOUT_MS; - return globalEntryTime; -} - static uint8_t * MQTT_SerializeConnectFixedHeader_cb( uint8_t * pIndex, const MQTTConnectInfo_t * pConnectInfo, const MQTTPublishInfo_t * pWillInfo, @@ -393,16 +298,6 @@ static uint8_t * MQTT_SerializePublishProperties_cb( const MQTTPublishInfo_t* pP } - -/** - * @brief A mocked timer function that could be used on a device with no system - * time. - */ -static uint32_t getTimeDummy( void ) -{ - return 0; -} - /** * @brief Mocked successful transport writev. * @@ -430,279 +325,6 @@ static int32_t transportWritevSuccess( NetworkContext_t * pNetworkContext, return bytesToWrite; } -static void verifyEncodedTopicString( TransportOutVector_t * pIoVectorIterator, - char * pTopicFilter, - size_t topicFilterLength, - MQTTQoS_t topicQos, - int32_t * pBytesToWrite ) -{ - /* Encoded topic length. */ - uint8_t serializedLength[ 2 ]; - const uint8_t * buffer; - size_t length; - - serializedLength[ 0 ] = ( uint8_t ) ( topicFilterLength >> 8 ); - serializedLength[ 1 ] = ( uint8_t ) ( topicFilterLength & 0x00ffU ); - - buffer = pIoVectorIterator[ 0 ].iov_base; - length = pIoVectorIterator[ 0 ].iov_len; - - TEST_ASSERT_EQUAL( 2U, length ); - TEST_ASSERT_EQUAL_UINT8_ARRAY( serializedLength, buffer, 2U ); - ( *pBytesToWrite ) += length; - - buffer = pIoVectorIterator[ 1 ].iov_base; - length = pIoVectorIterator[ 1 ].iov_len; - - /* Encoded topic string. */ - TEST_ASSERT_EQUAL( topicFilterLength, length ); - TEST_ASSERT_EQUAL_UINT8_ARRAY( pTopicFilter, buffer, topicFilterLength ); - ( *pBytesToWrite ) += length; - - buffer = pIoVectorIterator[ 2 ].iov_base; - length = pIoVectorIterator[ 2 ].iov_len; - - /* Encoded QoS. */ - TEST_ASSERT_EQUAL( 1U, length ); - TEST_ASSERT_EQUAL_UINT8( topicQos, *buffer ); - ( *pBytesToWrite ) += length; -} - -static void verifyEncodedTopicStringUnsubscribe( TransportOutVector_t * pIoVectorIterator, - char * pTopicFilter, - size_t topicFilterLength, - int32_t * pBytesToWrite ) -{ - /* Encoded topic length. */ - uint8_t serializedLength[ 2 ]; - const uint8_t * buffer; - size_t length; - - serializedLength[ 0 ] = ( uint8_t ) ( topicFilterLength >> 8 ); - serializedLength[ 1 ] = ( uint8_t ) ( topicFilterLength & 0x00ffU ); - - buffer = pIoVectorIterator[ 0 ].iov_base; - length = pIoVectorIterator[ 0 ].iov_len; - - TEST_ASSERT_EQUAL( 2U, length ); - TEST_ASSERT_EQUAL_UINT8_ARRAY( serializedLength, buffer, 2U ); - ( *pBytesToWrite ) += length; - - buffer = pIoVectorIterator[ 1 ].iov_base; - length = pIoVectorIterator[ 1 ].iov_len; - - /* Encoded topic string. */ - TEST_ASSERT_EQUAL( topicFilterLength, length ); - TEST_ASSERT_EQUAL_UINT8_ARRAY( pTopicFilter, buffer, topicFilterLength ); - ( *pBytesToWrite ) += length; -} - -/** - * @brief Mocked transport writev to verify correct subscription - * packet. - * - * @param[in] tcpSocket TCP socket. - * @param[in] pMessage vectors to send - * @param[in] bytesToWrite number of vectors - * - * @return Number of bytes sent; negative value on error; - * 0 for timeout or 0 bytes sent. - */ -static int32_t transportWritevSubscribeSuccess( NetworkContext_t * pNetworkContext, - TransportOutVector_t * pIoVectorIterator, - size_t vectorsToBeSent ) -{ - TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); - int32_t bytesToWrite = 0; - static int writeCount = 0; - const uint8_t * buffer; - size_t length; - - /* The header. */ - if( writeCount == 0 ) - { - TEST_ASSERT_EQUAL( 4, vectorsToBeSent ); - - buffer = pIoVectorIterator->iov_base; - length = pIoVectorIterator->iov_len; - - TEST_ASSERT_EQUAL( length, SubscribeHeaderLength ); - TEST_ASSERT_EQUAL_UINT8_ARRAY( ( uint8_t * ) SubscribeHeader, buffer, SubscribeHeaderLength ); - - bytesToWrite += length; - pIoVectorIterator++; - - /* First topic filter. */ - verifyEncodedTopicString( pIoVectorIterator, - MQTT_SAMPLE_TOPIC_FILTER, - MQTT_SAMPLE_TOPIC_FILTER_LENGTH, - MQTTQoS1, - &bytesToWrite ); - - writeCount++; - - pIoVectorIterator += 4; - } - else if( writeCount == 1 ) - { - TEST_ASSERT_EQUAL( 6, vectorsToBeSent ); - - /* Second topic filter. */ - verifyEncodedTopicString( pIoVectorIterator, - MQTT_SAMPLE_TOPIC_FILTER1, - MQTT_SAMPLE_TOPIC_FILTER_LENGTH1, - MQTTQoS2, - &bytesToWrite ); - - pIoVectorIterator += 3; - - /* Third topic filter. */ - verifyEncodedTopicString( pIoVectorIterator, - MQTT_SAMPLE_TOPIC_FILTER2, - MQTT_SAMPLE_TOPIC_FILTER_LENGTH2, - MQTTQoS0, - &bytesToWrite ); - - writeCount++; - } - else if( writeCount == 2 ) - { - TEST_ASSERT_EQUAL( 3, vectorsToBeSent ); - - /* Fourth topic filter. */ - verifyEncodedTopicString( pIoVectorIterator, - MQTT_SAMPLE_TOPIC_FILTER3, - MQTT_SAMPLE_TOPIC_FILTER_LENGTH3, - MQTTQoS1, - &bytesToWrite ); - - writeCount++; - } - else - { - bytesToWrite = -1; - } - - return bytesToWrite; -} - -/** - * @brief Mocked transport writev to verify correct subscription - * packet. - * - * @param[in] tcpSocket TCP socket. - * @param[in] pMessage vectors to send - * @param[in] bytesToWrite number of vectors - * - * @return Number of bytes sent; negative value on error; - * 0 for timeout or 0 bytes sent. - */ -static int32_t transportWritevUnsubscribeSuccess( NetworkContext_t * pNetworkContext, - TransportOutVector_t * pIoVectorIterator, - size_t vectorsToBeSent ) -{ - TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); - int32_t bytesToWrite = 0; - static int writeCount = 0; - const uint8_t * buffer; - size_t length; - - /* The header. */ - if( writeCount == 0 ) - { - TEST_ASSERT_EQUAL( 5, vectorsToBeSent ); - - buffer = pIoVectorIterator->iov_base; - length = pIoVectorIterator->iov_len; - - TEST_ASSERT_EQUAL( length, UnsubscribeHeaderLength ); - TEST_ASSERT_EQUAL_UINT8_ARRAY( ( uint8_t * ) UnsubscribeHeader, buffer, UnsubscribeHeaderLength ); - - bytesToWrite += length; - pIoVectorIterator++; - - /* First topic filter. */ - verifyEncodedTopicStringUnsubscribe( pIoVectorIterator, - MQTT_SAMPLE_TOPIC_FILTER, - MQTT_SAMPLE_TOPIC_FILTER_LENGTH, - &bytesToWrite ); - - pIoVectorIterator += 2; - - /* Second topic filter. */ - verifyEncodedTopicStringUnsubscribe( pIoVectorIterator, - MQTT_SAMPLE_TOPIC_FILTER1, - MQTT_SAMPLE_TOPIC_FILTER_LENGTH1, - &bytesToWrite ); - - writeCount++; - } - else if( writeCount == 1 ) - { - TEST_ASSERT_EQUAL( 4, vectorsToBeSent ); - - /* Third topic filter. */ - verifyEncodedTopicStringUnsubscribe( pIoVectorIterator, - MQTT_SAMPLE_TOPIC_FILTER2, - MQTT_SAMPLE_TOPIC_FILTER_LENGTH2, - &bytesToWrite ); - - pIoVectorIterator += 2; - - /* Fourth topic filter. */ - verifyEncodedTopicStringUnsubscribe( pIoVectorIterator, - MQTT_SAMPLE_TOPIC_FILTER3, - MQTT_SAMPLE_TOPIC_FILTER_LENGTH3, - &bytesToWrite ); - - writeCount++; - } - else - { - bytesToWrite = -1; - } - - return bytesToWrite; -} - -/** - * @brief Mocked failed transport writev. - * - * @param[in] tcpSocket TCP socket. - * @param[in] pMessage vectors to send - * @param[in] bytesToWrite number of vectors - * - * @return Number of bytes sent; negative value on error; - * 0 for timeout or 0 bytes sent. - */ -static int32_t transportWritevFail( NetworkContext_t * pNetworkContext, - TransportOutVector_t * pIoVectorIterator, - size_t vectorsToBeSent ) -{ - TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); - int32_t bytesToWrite = 0; - size_t i; - - for( i = 0; i < vectorsToBeSent; ++i ) - { - bytesToWrite += pIoVectorIterator->iov_len; - pIoVectorIterator++; - } - - return bytesToWrite + 3; -} - -static int32_t transportWritevError( NetworkContext_t * pNetworkContext, - TransportOutVector_t * pIoVectorIterator, - size_t vectorsToBeSent ) -{ - ( void ) vectorsToBeSent; - ( void ) pIoVectorIterator; - - TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); - - return -1; -} /** * @brief Mocked successful transport send. @@ -723,79 +345,7 @@ static int32_t transportSendSuccess( NetworkContext_t * pNetworkContext, return bytesToWrite; } -/** - * @brief Mocked failed transport send. - */ -static int32_t transportSendFailure( NetworkContext_t * pNetworkContext, - const void * pBuffer, - size_t bytesToWrite ) -{ - ( void ) pNetworkContext; - ( void ) pBuffer; - ( void ) bytesToWrite; - return -1; -} - -/** - * @brief Mocked transport send that always returns 0 bytes sent. - */ -static int32_t transportSendNoBytes( NetworkContext_t * pNetworkContext, - const void * pBuffer, - size_t bytesToWrite ) -{ - ( void ) pNetworkContext; - ( void ) pBuffer; - ( void ) bytesToWrite; - return 0; -} - -/** - * @brief Mocked transport send that succeeds then fails. - */ -static int32_t transportSendSucceedThenFail( NetworkContext_t * pNetworkContext, - const void * pMessage, - size_t bytesToSend ) -{ - int32_t retVal = bytesToSend; - static int counter = 0; - - ( void ) pNetworkContext; - ( void ) pMessage; - - if( counter++ ) - { - retVal = -1; - counter = 0; - } - - return retVal; -} - -/** - * @brief Mocked transport send that only sends half of the bytes. - */ -static int32_t transportWritevPartialByte( NetworkContext_t * pNetworkContext, - TransportOutVector_t * pIoVectorIterator, - size_t vectorsToBeSent ) -{ - int32_t bytesToWrite = 0; - size_t i; - - ( void ) pNetworkContext; - for( i = 0; i < vectorsToBeSent; ++i ) - { - bytesToWrite += pIoVectorIterator->iov_len; - pIoVectorIterator++; - } - - if( bytesToWrite > 1 ) - { - bytesToWrite /= 2; - } - - return bytesToWrite; -} /** * @brief Mocked successful transport read. @@ -815,63 +365,6 @@ static int32_t transportRecvSuccess( NetworkContext_t * pNetworkContext, return bytesToRead; } -static int32_t transportRecvOneSuccessOneFail( NetworkContext_t * pNetworkContext, - void * pBuffer, - size_t bytesToRead ) -{ - TEST_ASSERT_EQUAL( MQTT_SAMPLE_NETWORK_CONTEXT, pNetworkContext ); - ( void ) pBuffer; - - if( receiveOnce == false ) - { - receiveOnce = true; - return bytesToRead; - } - else - { - return -1; - } -} - -/** - * @brief Mocked failed transport read. - */ -static int32_t transportRecvFailure( NetworkContext_t * pNetworkContext, - void * pBuffer, - size_t bytesToRead ) -{ - ( void ) pNetworkContext; - ( void ) pBuffer; - ( void ) bytesToRead; - return -1; -} - -/** - * @brief Mocked transport reading one byte at a time. - */ -static int32_t transportRecvOneByte( NetworkContext_t * pNetworkContext, - void * pBuffer, - size_t bytesToRead ) -{ - ( void ) pNetworkContext; - ( void ) pBuffer; - ( void ) bytesToRead; - return 1; -} - -/** - * @brief Mocked transport returning zero bytes to simulate reception - * of no data over network. - */ -static int32_t transportRecvNoData( NetworkContext_t * pNetworkContext, - void * pBuffer, - size_t bytesToRead ) -{ - ( void ) pNetworkContext; - ( void ) pBuffer; - ( void ) bytesToRead; - return 0; -} /** * @brief Initialize the transport interface with the mocked functions for @@ -888,241 +381,16 @@ static void setupTransportInterface( TransportInterface_t * pTransport ) } /** - * @brief Initialize pSubscribeInfo using test-defined macros. - * - * @param[in] pSubscribeInfo Pointer to MQTT subscription info. - */ -static void setupSubscriptionInfo( MQTTSubscribeInfo_t * pSubscribeInfo ) -{ - pSubscribeInfo->qos = MQTTQoS1; - pSubscribeInfo->pTopicFilter = MQTT_SAMPLE_TOPIC_FILTER; - pSubscribeInfo->topicFilterLength = MQTT_SAMPLE_TOPIC_FILTER_LENGTH; -} - -/** - * @brief Zero out a #ProcessLoopReturns_t. - * - * @param[in] pExpectParams Pointer to struct to reset. - */ -static void resetProcessLoopParams( ProcessLoopReturns_t * pExpectParams ) -{ - pExpectParams->deserializeStatus = MQTTSuccess; - pExpectParams->stateAfterDeserialize = MQTTStateNull; - pExpectParams->updateStateStatus = MQTTSuccess; - pExpectParams->serializeStatus = MQTTSuccess; - pExpectParams->stateAfterSerialize = MQTTStateNull; - pExpectParams->processLoopStatus = MQTTSuccess; - pExpectParams->incomingPublish = false; - pExpectParams->pPubInfo = NULL; - pExpectParams->timeoutMs = MQTT_NO_TIMEOUT_MS; -} - -/** - * @brief create default context + * @brief Initialize pNetworkBuffer using static buffer. * - * @param[out] context to initialize + * @param[in] pNetworkBuffer Network buffer provided for the context. */ -static void setUPContext( MQTTContext_t * mqttContext ) +static void setupNetworkBuffer( MQTTFixedBuffer_t * const pNetworkBuffer ) { - MQTTStatus_t mqttStatus; - static TransportInterface_t transport = { 0 }; - static MQTTFixedBuffer_t networkBuffer = { 0 }; - static MQTTPubAckInfo_t incomingRecords[ 10 ] = { 0 }; - static MQTTPubAckInfo_t outgoingRecords[ 10 ] = { 0 }; - - setupTransportInterface( &transport ); - setupNetworkBuffer( &networkBuffer ); - - memset( mqttContext, 0x0, sizeof( MQTTContext_t ) ); - - mqttStatus = MQTT_Init( mqttContext, - &transport, - getTime, - eventCallback, - &networkBuffer ); - TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); - - mqttStatus = MQTT_InitStatefulQoS( mqttContext, - outgoingRecords, - 10, - incomingRecords, - 10 ); - TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); + pNetworkBuffer->pBuffer = mqttBuffer; + pNetworkBuffer->size = MQTT_TEST_BUFFER_LENGTH; } -/** - * @brief This helper function is used to expect any calls from the process loop - * to mocked functions belonging to an external header file. Its parameters - * are used to provide return values for these mocked functions. - */ -static void expectProcessLoopCalls( MQTTContext_t * const pContext, - ProcessLoopReturns_t * pExpectParams ) -{ - MQTTStatus_t mqttStatus = MQTTSuccess; - MQTTPacketInfo_t incomingPacket = { 0 }; - size_t pingreqSize = MQTT_PACKET_PINGREQ_SIZE; - bool expectMoreCalls = true; - /* Copy values passed in the parameter struct. */ - MQTTStatus_t deserializeStatus = pExpectParams->deserializeStatus; - MQTTPublishState_t stateAfterDeserialize = pExpectParams->stateAfterDeserialize; - MQTTStatus_t updateStateStatus = pExpectParams->updateStateStatus; - MQTTStatus_t serializeStatus = pExpectParams->serializeStatus; - MQTTPublishState_t stateAfterSerialize = pExpectParams->stateAfterSerialize; - MQTTStatus_t processLoopStatus = pExpectParams->processLoopStatus; - bool incomingPublish = pExpectParams->incomingPublish; - MQTTPublishInfo_t * pPubInfo = pExpectParams->pPubInfo; - uint32_t packetTxTimeoutMs = 0U; - - /* Modify incoming packet depending on type to be tested. */ - incomingPacket.type = currentPacketType; - incomingPacket.remainingLength = MQTT_SAMPLE_REMAINING_LENGTH; - incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; - - MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); - MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); - - /* More calls are expected only with the following packet types. */ - if( ( currentPacketType != MQTT_PACKET_TYPE_PUBLISH ) && - ( currentPacketType != MQTT_PACKET_TYPE_PUBACK ) && - ( currentPacketType != MQTT_PACKET_TYPE_PUBREC ) && - ( currentPacketType != MQTT_PACKET_TYPE_PUBREL ) && - ( currentPacketType != MQTT_PACKET_TYPE_PUBCOMP ) && - ( currentPacketType != MQTT_PACKET_TYPE_PINGRESP ) && - ( currentPacketType != MQTT_PACKET_TYPE_SUBACK ) && - ( currentPacketType != MQTT_PACKET_TYPE_UNSUBACK ) ) - { - expectMoreCalls = false; - } - - /* When no data is available, the process loop tries to send a PINGREQ. */ - if( modifyIncomingPacketStatus == MQTTNoDataAvailable ) - { - packetTxTimeoutMs = 1000U * ( uint32_t ) pContext->keepAliveIntervalSec; - - if( PACKET_TX_TIMEOUT_MS < packetTxTimeoutMs ) - { - packetTxTimeoutMs = PACKET_TX_TIMEOUT_MS; - } - - if( pContext->waitingForPingResp == false ) - { - if( ( ( packetTxTimeoutMs != 0U ) && - ( ( globalEntryTime - pContext->lastPacketTxTime ) >= packetTxTimeoutMs ) ) || - ( ( PACKET_RX_TIMEOUT_MS != 0U ) && - ( ( globalEntryTime - pContext->lastPacketRxTime ) >= PACKET_RX_TIMEOUT_MS ) ) ) - { - MQTT_GetPingreqPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); - /* Replace pointer parameter being passed to the method. */ - MQTT_GetPingreqPacketSize_ReturnThruPtr_pPacketSize( &pingreqSize ); - MQTT_SerializePingreq_ExpectAnyArgsAndReturn( serializeStatus ); - } - } - - expectMoreCalls = false; - } - - /* Deserialize based on the packet type (PUB or ACK) being received. */ - if( expectMoreCalls ) - { - if( incomingPublish ) - { - MQTT_DeserializePublish_ExpectAnyArgsAndReturn( deserializeStatus ); - - if( pPubInfo != NULL ) - { - MQTT_DeserializePublish_ReturnThruPtr_pPublishInfo( pPubInfo ); - } - } - else - { - MQTT_DeserializeAck_ExpectAnyArgsAndReturn( deserializeStatus ); - } - - if( ( deserializeStatus != MQTTSuccess ) || - ( currentPacketType == MQTT_PACKET_TYPE_PINGRESP ) || - ( currentPacketType == MQTT_PACKET_TYPE_SUBACK ) || - ( currentPacketType == MQTT_PACKET_TYPE_UNSUBACK ) ) - { - expectMoreCalls = false; - } - } - - /* Update state based on the packet type (PUB or ACK) being received. */ - if( expectMoreCalls ) - { - if( incomingPublish ) - { - MQTT_UpdateStatePublish_ExpectAnyArgsAndReturn( updateStateStatus ); - MQTT_UpdateStatePublish_ReturnThruPtr_pNewState( &stateAfterDeserialize ); - } - else - { - MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( updateStateStatus ); - MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterDeserialize ); - } - - if( stateAfterDeserialize == MQTTPublishDone ) - { - expectMoreCalls = false; - } - else - { - switch( updateStateStatus ) - { - case MQTTSuccess: - expectMoreCalls = true; - break; - - case MQTTStateCollision: - /* Execution will continue regardless of the dup flag. */ - expectMoreCalls = true; - MQTT_CalculateStatePublish_ExpectAnyArgsAndReturn( stateAfterDeserialize ); - break; - - default: - expectMoreCalls = false; - } - } - } - - /* Serialize the packet to be sent in response to the received packet. */ - if( expectMoreCalls ) - { - MQTT_SerializeAck_ExpectAnyArgsAndReturn( serializeStatus ); - - if( serializeStatus != MQTTSuccess ) - { - expectMoreCalls = false; - } - } - - /* Update the state based on the sent packet. */ - if( expectMoreCalls ) - { - MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( ( stateAfterSerialize == MQTTStateNull ) ? - MQTTIllegalState : MQTTSuccess ); - MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterSerialize ); - } - - /* Expect the above calls when running MQTT_ProcessLoop. */ - - mqttStatus = MQTT_ProcessLoop( pContext ); - TEST_ASSERT_EQUAL( processLoopStatus, mqttStatus ); - - /* Any final assertions to end the test. */ - if( mqttStatus == MQTTSuccess ) - { - if( currentPacketType == MQTT_PACKET_TYPE_PUBLISH ) - { - TEST_ASSERT_TRUE( pContext->controlPacketSent ); - } - - if( currentPacketType == MQTT_PACKET_TYPE_PINGRESP ) - { - TEST_ASSERT_FALSE( pContext->waitingForPingResp ); - } - } -} void test_MQTT_Connect() { @@ -1132,7 +400,6 @@ void test_MQTT_Connect() MQTTStatus_t status; TransportInterface_t transport = { 0 }; MQTTFixedBuffer_t networkBuffer = { 0 }; - MQTTPacketInfo_t incomingPacket = { 0 }; setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); @@ -1156,7 +423,6 @@ void test_MQTT_Connect_happy_path() MQTTStatus_t status; TransportInterface_t transport = { 0 }; MQTTFixedBuffer_t networkBuffer = { 0 }; - MQTTPacketInfo_t incomingPacket = { 0 }; MQTTConnectProperties_t properties; MQTTAuthInfo_t authInfo; MQTTAuthInfo_t authInfo2; @@ -1175,7 +441,6 @@ void test_MQTT_Connect_happy_path() authInfo.authDataLength = 2; setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); - memset( &mqttContext, 0x0, sizeof( mqttContext ) ); memset( &willInfo, 0x0, sizeof( MQTTPublishInfo_t ) ); memset( &connectInfo, 0x0, sizeof( MQTTConnectInfo_t ) ); @@ -1219,7 +484,6 @@ void test_MQTT_Connect_happy_path() connectInfo.userNameLength =3; connectInfo.passwordLength =4; connectInfo.pPassword ="1234"; - incomingPacket.type = MQTT_PACKET_TYPE_CONNACK; mqttContext.transportInterface.send = transportSendSuccess; MQTT_SerializeConnect_IgnoreAndReturn( MQTTSuccess ); MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); @@ -1232,7 +496,6 @@ void test_MQTT_Connect_happy_path() willInfo.pTopicName = NULL; - incomingPacket.type = MQTT_PACKET_TYPE_CONNACK; mqttContext.transportInterface.send = transportSendSuccess; MQTT_SerializeConnect_IgnoreAndReturn( MQTTSuccess ); MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); @@ -1244,42 +507,3 @@ void test_MQTT_Connect_happy_path() } -// void test_MQTT_Connect_happy_path1() -// { -// MQTTContext_t mqttContext = { 0 }; -// MQTTConnectInfo_t connectInfo = { 0 }; -// bool sessionPresent; -// MQTTStatus_t status; -// TransportInterface_t transport = { 0 }; -// MQTTFixedBuffer_t networkBuffer = { 0 }; -// MQTTPacketInfo_t incomingPacket = { 0 }; -// MQTTConnectProperties_t properties ={0}; -// properties.receiveMax = UINT16_MAX; -// properties.reqProbInfo = 1; -// setupTransportInterface( &transport ); -// setupNetworkBuffer( &networkBuffer ); - -// memset( &mqttContext, 0x0, sizeof( mqttContext ) ); -// MQTT_Init( &mqttContext, &transport, getTime, eventCallback, &networkBuffer ); - - -// /* CONNACK receive with timeoutMs=0. Retry logic will be used. */ -// mqttContext.connectStatus = MQTTNotConnected; -// mqttContext.keepAliveIntervalSec = 0; -// sessionPresent = false; -// incomingPacket.type = MQTT_PACKET_TYPE_CONNACK; -// incomingPacket.remainingLength = 3; -// MQTT_SerializeConnect_IgnoreAndReturn( MQTTSuccess ); -// MQTTV5_GetConnectPacketSize_IgnoreAndReturn( MQTTSuccess ); -// MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); -// MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); -// MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); -// MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); -// // MQTT_GetIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); -// // MQTTV5_DeserializeConnack_IgnoreAndReturn( MQTTSuccess ); -// // status = MQTT_Connect( &mqttContext, &connectInfo, NULL, 0U, &sessionPresent ); -// // TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); -// // TEST_ASSERT_EQUAL_INT( MQTTConnected, mqttContext.connectStatus ); -// // TEST_ASSERT_EQUAL_INT( connectInfo.keepAliveSeconds, mqttContext.keepAliveIntervalSec ); -// // TEST_ASSERT_FALSE( mqttContext.waitingForPingResp ); -// } \ No newline at end of file From 01e08878889dc4f277802bdf8329b8885c3fa252 Mon Sep 17 00:00:00 2001 From: Monika Singh Date: Thu, 20 Jun 2024 17:52:10 +0000 Subject: [PATCH 17/82] coverage --- CMakeCache.txt | 413 ++++++ CMakeFiles/3.30.0-rc3/CMakeCCompiler.cmake | 81 ++ .../CMakeDetermineCompilerABI_C.bin | Bin 0 -> 16656 bytes CMakeFiles/3.30.0-rc3/CMakeSystem.cmake | 15 + .../3.30.0-rc3/CompilerIdC/CMakeCCompilerId.c | 904 ++++++++++++ CMakeFiles/3.30.0-rc3/CompilerIdC/a.out | Bin 0 -> 16776 bytes CMakeFiles/CMakeConfigureLog.yaml | 286 ++++ CMakeFiles/CMakeDirectoryInformation.cmake | 16 + CMakeFiles/CMakeRuleHashes.txt | 40 + CMakeFiles/Makefile.cmake | 167 +++ CMakeFiles/Makefile2 | 1274 +++++++++++++++++ CMakeFiles/TargetDirectories.txt | 51 + CMakeFiles/cmake.check_cache | 1 + CMakeFiles/cmock.dir/DependInfo.cmake | 23 + CMakeFiles/cmock.dir/build.make | 111 ++ CMakeFiles/cmock.dir/cmake_clean.cmake | 11 + CMakeFiles/cmock.dir/cmake_clean_target.cmake | 3 + CMakeFiles/cmock.dir/compiler_depend.make | 2 + CMakeFiles/cmock.dir/compiler_depend.ts | 2 + CMakeFiles/cmock.dir/depend.make | 2 + CMakeFiles/cmock.dir/flags.make | 10 + CMakeFiles/cmock.dir/link.txt | 2 + CMakeFiles/cmock.dir/progress.make | 3 + CMakeFiles/coverage.dir/DependInfo.cmake | 22 + CMakeFiles/coverage.dir/build.make | 91 ++ CMakeFiles/coverage.dir/cmake_clean.cmake | 8 + CMakeFiles/coverage.dir/compiler_depend.make | 2 + CMakeFiles/coverage.dir/compiler_depend.ts | 2 + CMakeFiles/coverage.dir/progress.make | 1 + .../coverity_analysis.dir/DependInfo.cmake | 25 + CMakeFiles/coverity_analysis.dir/build.make | 143 ++ .../coverity_analysis.dir/cmake_clean.cmake | 15 + .../cmake_clean_target.cmake | 3 + .../compiler_depend.make | 2 + .../coverity_analysis.dir/compiler_depend.ts | 2 + CMakeFiles/coverity_analysis.dir/depend.make | 2 + CMakeFiles/coverity_analysis.dir/flags.make | 10 + CMakeFiles/coverity_analysis.dir/link.txt | 2 + .../coverity_analysis.dir/progress.make | 5 + CMakeFiles/progress.marks | 1 + CMakeFiles/unity.dir/DependInfo.cmake | 25 + CMakeFiles/unity.dir/build.make | 143 ++ CMakeFiles/unity.dir/cmake_clean.cmake | 15 + CMakeFiles/unity.dir/cmake_clean_target.cmake | 3 + CMakeFiles/unity.dir/compiler_depend.make | 2 + CMakeFiles/unity.dir/compiler_depend.ts | 2 + CMakeFiles/unity.dir/depend.make | 2 + CMakeFiles/unity.dir/flags.make | 10 + CMakeFiles/unity.dir/link.txt | 2 + CMakeFiles/unity.dir/progress.make | 5 + CTestTestfile.cmake | 8 + DartConfiguration.tcl | 109 ++ Makefile | 928 ++++++++++++ cmake_install.cmake | 72 + test/unit-test/MQTTv5/core_mqtt_config.h | 2 +- .../MQTTv5/core_mqttv5_serializer_utest.c | 69 +- .../CMakeDirectoryInformation.cmake | 16 + .../Continuous.dir/DependInfo.cmake | 22 + .../MQTT/CMakeFiles/Continuous.dir/build.make | 87 ++ .../Continuous.dir/cmake_clean.cmake | 8 + .../Continuous.dir/compiler_depend.make | 2 + .../Continuous.dir/compiler_depend.ts | 2 + .../CMakeFiles/Continuous.dir/progress.make | 1 + .../ContinuousBuild.dir/DependInfo.cmake | 22 + .../CMakeFiles/ContinuousBuild.dir/build.make | 87 ++ .../ContinuousBuild.dir/cmake_clean.cmake | 8 + .../ContinuousBuild.dir/compiler_depend.make | 2 + .../ContinuousBuild.dir/compiler_depend.ts | 2 + .../ContinuousBuild.dir/progress.make | 1 + .../ContinuousConfigure.dir/DependInfo.cmake | 22 + .../ContinuousConfigure.dir/build.make | 87 ++ .../ContinuousConfigure.dir/cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../ContinuousConfigure.dir/progress.make | 1 + .../ContinuousCoverage.dir/DependInfo.cmake | 22 + .../ContinuousCoverage.dir/build.make | 87 ++ .../ContinuousCoverage.dir/cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../ContinuousCoverage.dir/compiler_depend.ts | 2 + .../ContinuousCoverage.dir/progress.make | 1 + .../ContinuousMemCheck.dir/DependInfo.cmake | 22 + .../ContinuousMemCheck.dir/build.make | 87 ++ .../ContinuousMemCheck.dir/cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../ContinuousMemCheck.dir/compiler_depend.ts | 2 + .../ContinuousMemCheck.dir/progress.make | 1 + .../ContinuousStart.dir/DependInfo.cmake | 22 + .../CMakeFiles/ContinuousStart.dir/build.make | 87 ++ .../ContinuousStart.dir/cmake_clean.cmake | 8 + .../ContinuousStart.dir/compiler_depend.make | 2 + .../ContinuousStart.dir/compiler_depend.ts | 2 + .../ContinuousStart.dir/progress.make | 1 + .../ContinuousSubmit.dir/DependInfo.cmake | 22 + .../ContinuousSubmit.dir/build.make | 87 ++ .../ContinuousSubmit.dir/cmake_clean.cmake | 8 + .../ContinuousSubmit.dir/compiler_depend.make | 2 + .../ContinuousSubmit.dir/compiler_depend.ts | 2 + .../ContinuousSubmit.dir/progress.make | 1 + .../ContinuousTest.dir/DependInfo.cmake | 22 + .../CMakeFiles/ContinuousTest.dir/build.make | 87 ++ .../ContinuousTest.dir/cmake_clean.cmake | 8 + .../ContinuousTest.dir/compiler_depend.make | 2 + .../ContinuousTest.dir/compiler_depend.ts | 2 + .../ContinuousTest.dir/progress.make | 1 + .../ContinuousUpdate.dir/DependInfo.cmake | 22 + .../ContinuousUpdate.dir/build.make | 87 ++ .../ContinuousUpdate.dir/cmake_clean.cmake | 8 + .../ContinuousUpdate.dir/compiler_depend.make | 2 + .../ContinuousUpdate.dir/compiler_depend.ts | 2 + .../ContinuousUpdate.dir/progress.make | 1 + .../Experimental.dir/DependInfo.cmake | 22 + .../CMakeFiles/Experimental.dir/build.make | 87 ++ .../Experimental.dir/cmake_clean.cmake | 8 + .../Experimental.dir/compiler_depend.make | 2 + .../Experimental.dir/compiler_depend.ts | 2 + .../CMakeFiles/Experimental.dir/progress.make | 1 + .../ExperimentalBuild.dir/DependInfo.cmake | 22 + .../ExperimentalBuild.dir/build.make | 87 ++ .../ExperimentalBuild.dir/cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../ExperimentalBuild.dir/compiler_depend.ts | 2 + .../ExperimentalBuild.dir/progress.make | 1 + .../DependInfo.cmake | 22 + .../ExperimentalConfigure.dir/build.make | 87 ++ .../cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../ExperimentalConfigure.dir/progress.make | 1 + .../ExperimentalCoverage.dir/DependInfo.cmake | 22 + .../ExperimentalCoverage.dir/build.make | 87 ++ .../cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../ExperimentalCoverage.dir/progress.make | 1 + .../ExperimentalMemCheck.dir/DependInfo.cmake | 22 + .../ExperimentalMemCheck.dir/build.make | 87 ++ .../cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../ExperimentalMemCheck.dir/progress.make | 1 + .../ExperimentalStart.dir/DependInfo.cmake | 22 + .../ExperimentalStart.dir/build.make | 87 ++ .../ExperimentalStart.dir/cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../ExperimentalStart.dir/compiler_depend.ts | 2 + .../ExperimentalStart.dir/progress.make | 1 + .../ExperimentalSubmit.dir/DependInfo.cmake | 22 + .../ExperimentalSubmit.dir/build.make | 87 ++ .../ExperimentalSubmit.dir/cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../ExperimentalSubmit.dir/compiler_depend.ts | 2 + .../ExperimentalSubmit.dir/progress.make | 1 + .../ExperimentalTest.dir/DependInfo.cmake | 22 + .../ExperimentalTest.dir/build.make | 87 ++ .../ExperimentalTest.dir/cmake_clean.cmake | 8 + .../ExperimentalTest.dir/compiler_depend.make | 2 + .../ExperimentalTest.dir/compiler_depend.ts | 2 + .../ExperimentalTest.dir/progress.make | 1 + .../ExperimentalUpdate.dir/DependInfo.cmake | 22 + .../ExperimentalUpdate.dir/build.make | 87 ++ .../ExperimentalUpdate.dir/cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../ExperimentalUpdate.dir/compiler_depend.ts | 2 + .../ExperimentalUpdate.dir/progress.make | 1 + .../CMakeFiles/Nightly.dir/DependInfo.cmake | 22 + .../MQTT/CMakeFiles/Nightly.dir/build.make | 87 ++ .../CMakeFiles/Nightly.dir/cmake_clean.cmake | 8 + .../Nightly.dir/compiler_depend.make | 2 + .../CMakeFiles/Nightly.dir/compiler_depend.ts | 2 + .../MQTT/CMakeFiles/Nightly.dir/progress.make | 1 + .../NightlyBuild.dir/DependInfo.cmake | 22 + .../CMakeFiles/NightlyBuild.dir/build.make | 87 ++ .../NightlyBuild.dir/cmake_clean.cmake | 8 + .../NightlyBuild.dir/compiler_depend.make | 2 + .../NightlyBuild.dir/compiler_depend.ts | 2 + .../CMakeFiles/NightlyBuild.dir/progress.make | 1 + .../NightlyConfigure.dir/DependInfo.cmake | 22 + .../NightlyConfigure.dir/build.make | 87 ++ .../NightlyConfigure.dir/cmake_clean.cmake | 8 + .../NightlyConfigure.dir/compiler_depend.make | 2 + .../NightlyConfigure.dir/compiler_depend.ts | 2 + .../NightlyConfigure.dir/progress.make | 1 + .../NightlyCoverage.dir/DependInfo.cmake | 22 + .../CMakeFiles/NightlyCoverage.dir/build.make | 87 ++ .../NightlyCoverage.dir/cmake_clean.cmake | 8 + .../NightlyCoverage.dir/compiler_depend.make | 2 + .../NightlyCoverage.dir/compiler_depend.ts | 2 + .../NightlyCoverage.dir/progress.make | 1 + .../NightlyMemCheck.dir/DependInfo.cmake | 22 + .../CMakeFiles/NightlyMemCheck.dir/build.make | 87 ++ .../NightlyMemCheck.dir/cmake_clean.cmake | 8 + .../NightlyMemCheck.dir/compiler_depend.make | 2 + .../NightlyMemCheck.dir/compiler_depend.ts | 2 + .../NightlyMemCheck.dir/progress.make | 1 + .../NightlyMemoryCheck.dir/DependInfo.cmake | 22 + .../NightlyMemoryCheck.dir/build.make | 87 ++ .../NightlyMemoryCheck.dir/cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../NightlyMemoryCheck.dir/compiler_depend.ts | 2 + .../NightlyMemoryCheck.dir/progress.make | 1 + .../NightlyStart.dir/DependInfo.cmake | 22 + .../CMakeFiles/NightlyStart.dir/build.make | 87 ++ .../NightlyStart.dir/cmake_clean.cmake | 8 + .../NightlyStart.dir/compiler_depend.make | 2 + .../NightlyStart.dir/compiler_depend.ts | 2 + .../CMakeFiles/NightlyStart.dir/progress.make | 1 + .../NightlySubmit.dir/DependInfo.cmake | 22 + .../CMakeFiles/NightlySubmit.dir/build.make | 87 ++ .../NightlySubmit.dir/cmake_clean.cmake | 8 + .../NightlySubmit.dir/compiler_depend.make | 2 + .../NightlySubmit.dir/compiler_depend.ts | 2 + .../NightlySubmit.dir/progress.make | 1 + .../NightlyTest.dir/DependInfo.cmake | 22 + .../CMakeFiles/NightlyTest.dir/build.make | 87 ++ .../NightlyTest.dir/cmake_clean.cmake | 8 + .../NightlyTest.dir/compiler_depend.make | 2 + .../NightlyTest.dir/compiler_depend.ts | 2 + .../CMakeFiles/NightlyTest.dir/progress.make | 1 + .../NightlyUpdate.dir/DependInfo.cmake | 22 + .../CMakeFiles/NightlyUpdate.dir/build.make | 87 ++ .../NightlyUpdate.dir/cmake_clean.cmake | 8 + .../NightlyUpdate.dir/compiler_depend.make | 2 + .../NightlyUpdate.dir/compiler_depend.ts | 2 + .../NightlyUpdate.dir/progress.make | 1 + .../core_mqtt_mock.dir/DependInfo.cmake | 24 + .../CMakeFiles/core_mqtt_mock.dir/build.make | 137 ++ .../core_mqtt_mock.dir/cmake_clean.cmake | 15 + .../core_mqtt_mock.dir/compiler_depend.make | 2 + .../core_mqtt_mock.dir/compiler_depend.ts | 2 + .../CMakeFiles/core_mqtt_mock.dir/depend.make | 2 + .../CMakeFiles/core_mqtt_mock.dir/flags.make | 10 + .../CMakeFiles/core_mqtt_mock.dir/link.txt | 1 + .../core_mqtt_mock.dir/progress.make | 6 + .../core_mqtt_real.dir/DependInfo.cmake | 25 + .../CMakeFiles/core_mqtt_real.dir/build.make | 143 ++ .../core_mqtt_real.dir/cmake_clean.cmake | 15 + .../cmake_clean_target.cmake | 3 + .../core_mqtt_real.dir/compiler_depend.make | 2 + .../core_mqtt_real.dir/compiler_depend.ts | 2 + .../CMakeFiles/core_mqtt_real.dir/depend.make | 2 + .../CMakeFiles/core_mqtt_real.dir/flags.make | 10 + .../CMakeFiles/core_mqtt_real.dir/link.txt | 2 + .../core_mqtt_real.dir/progress.make | 5 + .../DependInfo.cmake | 24 + .../core_mqtt_serializer_utest.dir/build.make | 132 ++ .../cmake_clean.cmake | 14 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../depend.make | 2 + .../core_mqtt_serializer_utest.dir/flags.make | 10 + .../core_mqtt_serializer_utest.dir/link.txt | 1 + .../progress.make | 5 + .../DependInfo.cmake | 24 + .../core_mqtt_state_utest.dir/build.make | 132 ++ .../cmake_clean.cmake | 14 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../core_mqtt_state_utest.dir/depend.make | 2 + .../core_mqtt_state_utest.dir/flags.make | 10 + .../core_mqtt_state_utest.dir/link.txt | 1 + .../core_mqtt_state_utest.dir/progress.make | 5 + .../core_mqtt_utest.dir/DependInfo.cmake | 24 + .../CMakeFiles/core_mqtt_utest.dir/build.make | 132 ++ .../core_mqtt_utest.dir/cmake_clean.cmake | 14 + .../core_mqtt_utest.dir/compiler_depend.make | 2 + .../core_mqtt_utest.dir/compiler_depend.ts | 2 + .../core_mqtt_utest.dir/depend.make | 2 + .../CMakeFiles/core_mqtt_utest.dir/flags.make | 10 + .../CMakeFiles/core_mqtt_utest.dir/link.txt | 1 + .../core_mqtt_utest.dir/progress.make | 5 + unit-test/MQTT/CMakeFiles/progress.marks | 1 + unit-test/MQTT/CTestTestfile.cmake | 12 + unit-test/MQTT/Makefile | 943 ++++++++++++ unit-test/MQTT/cmake_install.cmake | 44 + .../CMakeDirectoryInformation.cmake | 16 + .../core_mqttv5_mock.dir/DependInfo.cmake | 24 + .../core_mqttv5_mock.dir/build.make | 137 ++ .../core_mqttv5_mock.dir/cmake_clean.cmake | 15 + .../core_mqttv5_mock.dir/compiler_depend.make | 2 + .../core_mqttv5_mock.dir/compiler_depend.ts | 2 + .../core_mqttv5_mock.dir/depend.make | 2 + .../core_mqttv5_mock.dir/flags.make | 10 + .../CMakeFiles/core_mqttv5_mock.dir/link.txt | 1 + .../core_mqttv5_mock.dir/progress.make | 6 + .../core_mqttv5_real.dir/DependInfo.cmake | 25 + .../core_mqttv5_real.dir/build.make | 143 ++ .../core_mqttv5_real.dir/cmake_clean.cmake | 15 + .../cmake_clean_target.cmake | 3 + .../core_mqttv5_real.dir/compiler_depend.make | 2 + .../core_mqttv5_real.dir/compiler_depend.ts | 2 + .../core_mqttv5_real.dir/depend.make | 2 + .../core_mqttv5_real.dir/flags.make | 10 + .../CMakeFiles/core_mqttv5_real.dir/link.txt | 2 + .../core_mqttv5_real.dir/progress.make | 5 + .../DependInfo.cmake | 24 + .../build.make | 132 ++ .../cmake_clean.cmake | 14 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../depend.make | 2 + .../flags.make | 10 + .../core_mqttv5_serializer_utest.dir/link.txt | 1 + .../progress.make | 5 + .../DependInfo.cmake | 24 + .../core_mqttv5_state_utest.dir/build.make | 132 ++ .../cmake_clean.cmake | 14 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../core_mqttv5_state_utest.dir/depend.make | 2 + .../core_mqttv5_state_utest.dir/flags.make | 10 + .../core_mqttv5_state_utest.dir/link.txt | 1 + .../core_mqttv5_state_utest.dir/progress.make | 5 + .../core_mqttv5_utest.dir/DependInfo.cmake | 24 + .../core_mqttv5_utest.dir/build.make | 132 ++ .../core_mqttv5_utest.dir/cmake_clean.cmake | 14 + .../compiler_depend.make | 2 + .../core_mqttv5_utest.dir/compiler_depend.ts | 2 + .../core_mqttv5_utest.dir/depend.make | 2 + .../core_mqttv5_utest.dir/flags.make | 10 + .../CMakeFiles/core_mqttv5_utest.dir/link.txt | 1 + .../core_mqttv5_utest.dir/progress.make | 5 + unit-test/MQTTv5/CMakeFiles/progress.marks | 1 + unit-test/MQTTv5/CTestTestfile.cmake | 12 + unit-test/MQTTv5/Makefile | 523 +++++++ unit-test/MQTTv5/cmake_install.cmake | 44 + 326 files changed, 12136 insertions(+), 10 deletions(-) create mode 100644 CMakeCache.txt create mode 100644 CMakeFiles/3.30.0-rc3/CMakeCCompiler.cmake create mode 100755 CMakeFiles/3.30.0-rc3/CMakeDetermineCompilerABI_C.bin create mode 100644 CMakeFiles/3.30.0-rc3/CMakeSystem.cmake create mode 100644 CMakeFiles/3.30.0-rc3/CompilerIdC/CMakeCCompilerId.c create mode 100755 CMakeFiles/3.30.0-rc3/CompilerIdC/a.out create mode 100644 CMakeFiles/CMakeConfigureLog.yaml create mode 100644 CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 CMakeFiles/CMakeRuleHashes.txt create mode 100644 CMakeFiles/Makefile.cmake create mode 100644 CMakeFiles/Makefile2 create mode 100644 CMakeFiles/TargetDirectories.txt create mode 100644 CMakeFiles/cmake.check_cache create mode 100644 CMakeFiles/cmock.dir/DependInfo.cmake create mode 100644 CMakeFiles/cmock.dir/build.make create mode 100644 CMakeFiles/cmock.dir/cmake_clean.cmake create mode 100644 CMakeFiles/cmock.dir/cmake_clean_target.cmake create mode 100644 CMakeFiles/cmock.dir/compiler_depend.make create mode 100644 CMakeFiles/cmock.dir/compiler_depend.ts create mode 100644 CMakeFiles/cmock.dir/depend.make create mode 100644 CMakeFiles/cmock.dir/flags.make create mode 100644 CMakeFiles/cmock.dir/link.txt create mode 100644 CMakeFiles/cmock.dir/progress.make create mode 100644 CMakeFiles/coverage.dir/DependInfo.cmake create mode 100644 CMakeFiles/coverage.dir/build.make create mode 100644 CMakeFiles/coverage.dir/cmake_clean.cmake create mode 100644 CMakeFiles/coverage.dir/compiler_depend.make create mode 100644 CMakeFiles/coverage.dir/compiler_depend.ts create mode 100644 CMakeFiles/coverage.dir/progress.make create mode 100644 CMakeFiles/coverity_analysis.dir/DependInfo.cmake create mode 100644 CMakeFiles/coverity_analysis.dir/build.make create mode 100644 CMakeFiles/coverity_analysis.dir/cmake_clean.cmake create mode 100644 CMakeFiles/coverity_analysis.dir/cmake_clean_target.cmake create mode 100644 CMakeFiles/coverity_analysis.dir/compiler_depend.make create mode 100644 CMakeFiles/coverity_analysis.dir/compiler_depend.ts create mode 100644 CMakeFiles/coverity_analysis.dir/depend.make create mode 100644 CMakeFiles/coverity_analysis.dir/flags.make create mode 100644 CMakeFiles/coverity_analysis.dir/link.txt create mode 100644 CMakeFiles/coverity_analysis.dir/progress.make create mode 100644 CMakeFiles/progress.marks create mode 100644 CMakeFiles/unity.dir/DependInfo.cmake create mode 100644 CMakeFiles/unity.dir/build.make create mode 100644 CMakeFiles/unity.dir/cmake_clean.cmake create mode 100644 CMakeFiles/unity.dir/cmake_clean_target.cmake create mode 100644 CMakeFiles/unity.dir/compiler_depend.make create mode 100644 CMakeFiles/unity.dir/compiler_depend.ts create mode 100644 CMakeFiles/unity.dir/depend.make create mode 100644 CMakeFiles/unity.dir/flags.make create mode 100644 CMakeFiles/unity.dir/link.txt create mode 100644 CMakeFiles/unity.dir/progress.make create mode 100644 CTestTestfile.cmake create mode 100644 DartConfiguration.tcl create mode 100644 Makefile create mode 100644 cmake_install.cmake create mode 100644 unit-test/MQTT/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 unit-test/MQTT/CMakeFiles/Continuous.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/Continuous.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/Continuous.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/Continuous.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/Continuous.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/Continuous.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousStart.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousStart.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousStart.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousStart.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousStart.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousTest.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousTest.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousTest.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousTest.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousTest.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/Experimental.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/Experimental.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/Experimental.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/Experimental.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/Experimental.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/Experimental.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/Nightly.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/Nightly.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/Nightly.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/Nightly.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/Nightly.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/Nightly.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyBuild.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyBuild.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/NightlyBuild.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyBuild.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/NightlyBuild.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyStart.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/NightlyStart.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyStart.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/NightlyStart.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyStart.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/NightlyStart.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlySubmit.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlySubmit.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/NightlySubmit.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlySubmit.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/NightlySubmit.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyTest.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/NightlyTest.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyTest.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/NightlyTest.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyTest.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/NightlyTest.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/depend.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/flags.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/link.txt create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/cmake_clean_target.cmake create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/depend.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/flags.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/link.txt create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/depend.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/flags.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/link.txt create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/depend.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/flags.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/link.txt create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/DependInfo.cmake create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/cmake_clean.cmake create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/compiler_depend.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/compiler_depend.ts create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/depend.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/flags.make create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/link.txt create mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/progress.make create mode 100644 unit-test/MQTT/CMakeFiles/progress.marks create mode 100644 unit-test/MQTT/CTestTestfile.cmake create mode 100644 unit-test/MQTT/Makefile create mode 100644 unit-test/MQTT/cmake_install.cmake create mode 100644 unit-test/MQTTv5/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/DependInfo.cmake create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/cmake_clean.cmake create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/compiler_depend.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/compiler_depend.ts create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/depend.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/flags.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/link.txt create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/progress.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/DependInfo.cmake create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/cmake_clean.cmake create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/cmake_clean_target.cmake create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.ts create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/depend.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/flags.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/link.txt create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/progress.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/DependInfo.cmake create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/cmake_clean.cmake create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/compiler_depend.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/compiler_depend.ts create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/depend.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/flags.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/link.txt create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/progress.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/DependInfo.cmake create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/cmake_clean.cmake create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/compiler_depend.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/compiler_depend.ts create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/depend.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/flags.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/link.txt create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/progress.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/DependInfo.cmake create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/cmake_clean.cmake create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/compiler_depend.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/compiler_depend.ts create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/depend.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/flags.make create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/link.txt create mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/progress.make create mode 100644 unit-test/MQTTv5/CMakeFiles/progress.marks create mode 100644 unit-test/MQTTv5/CTestTestfile.cmake create mode 100644 unit-test/MQTTv5/Makefile create mode 100644 unit-test/MQTTv5/cmake_install.cmake diff --git a/CMakeCache.txt b/CMakeCache.txt new file mode 100644 index 000000000..d51ec3349 --- /dev/null +++ b/CMakeCache.txt @@ -0,0 +1,413 @@ +# This is the CMakeCache file. +# For build in directory: /home/ubuntu/coreMQTT +# It was generated by CMake: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Set this to ON to automatically clone any required Git submodules. +// When OFF, submodules must be manually cloned. +BUILD_CLONE_SUBMODULES:BOOL=OFF + +//Build the testing tree. +BUILD_TESTING:BOOL=ON + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING= + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9 + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//Value Computed by CMake. +CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/ubuntu/coreMQTT/CMakeFiles/pkgRedirects + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=CoreMQTT tests + +//Value Computed by CMake +CMAKE_PROJECT_VERSION:STATIC=2.3.0 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MAJOR:STATIC=2 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MINOR:STATIC=3 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_PATCH:STATIC=0 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_TWEAK:STATIC= + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/bin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//Path to a program. +CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Path to the coverage program that CTest uses for performing coverage +// inspection +COVERAGE_COMMAND:FILEPATH=/usr/bin/gcov + +//Extra command line flags to pass to the coverage tool +COVERAGE_EXTRA_FLAGS:STRING=-l + +//How many times to retry timed-out CTest submissions. +CTEST_SUBMIT_RETRY_COUNT:STRING=3 + +//How long to wait between timed-out CTest submissions. +CTEST_SUBMIT_RETRY_DELAY:STRING=5 + +//Value Computed by CMake +CoreMQTT tests_BINARY_DIR:STATIC=/home/ubuntu/coreMQTT + +//Value Computed by CMake +CoreMQTT tests_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +CoreMQTT tests_SOURCE_DIR:STATIC=/home/ubuntu/coreMQTT/test + +//Maximum time allowed before CTest will kill the test. +DART_TESTING_TIMEOUT:STRING=1500 + +//Command to build the project +MAKECOMMAND:STRING=/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake --build . --config "${CTEST_CONFIGURATION_TYPE}" + +//Path to the memory checking command, used for memory error detection. +MEMORYCHECK_COMMAND:FILEPATH=MEMORYCHECK_COMMAND-NOTFOUND + +//File that contains suppressions for the memory checker +MEMORYCHECK_SUPPRESSIONS_FILE:FILEPATH= + +//Name of the computer/site where compile is being run +SITE:STRING=ip-172-31-80-220 + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/ubuntu/coreMQTT +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=30 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cpack +//ADVANCED property for variable: CMAKE_CTEST_COMMAND +CMAKE_CTEST_COMMAND-ADVANCED:INTERNAL=1 +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Path to cache edit program executable. +CMAKE_EDIT_COMMAND:INTERNAL=/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ccmake +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Unix Makefiles +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/ubuntu/coreMQTT/test +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=3 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_TAPI +CMAKE_TAPI-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//CMock library source directory. +CMOCK_DIR:INTERNAL=/home/ubuntu/coreMQTT/test/unit-test/CMock +//ADVANCED property for variable: COVERAGE_COMMAND +COVERAGE_COMMAND-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: COVERAGE_EXTRA_FLAGS +COVERAGE_EXTRA_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CTEST_SUBMIT_RETRY_COUNT +CTEST_SUBMIT_RETRY_COUNT-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CTEST_SUBMIT_RETRY_DELAY +CTEST_SUBMIT_RETRY_DELAY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: DART_TESTING_TIMEOUT +DART_TESTING_TIMEOUT-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: MAKECOMMAND +MAKECOMMAND-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: MEMORYCHECK_COMMAND +MEMORYCHECK_COMMAND-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: MEMORYCHECK_SUPPRESSIONS_FILE +MEMORYCHECK_SUPPRESSIONS_FILE-ADVANCED:INTERNAL=1 +//coreMQTT repository root. +MODULE_ROOT_DIR:INTERNAL=/home/ubuntu/coreMQTT +//ADVANCED property for variable: SITE +SITE-ADVANCED:INTERNAL=1 +//linker supports push/pop state +_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE + diff --git a/CMakeFiles/3.30.0-rc3/CMakeCCompiler.cmake b/CMakeFiles/3.30.0-rc3/CMakeCCompiler.cmake new file mode 100644 index 000000000..1d26c26ae --- /dev/null +++ b/CMakeFiles/3.30.0-rc3/CMakeCCompiler.cmake @@ -0,0 +1,81 @@ +set(CMAKE_C_COMPILER "/usr/bin/cc") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "GNU") +set(CMAKE_C_COMPILER_VERSION "9.4.0") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_STANDARD_LATEST "23") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-9") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_LINKER_LINK "") +set(CMAKE_LINKER_LLD "") +set(CMAKE_C_COMPILER_LINKER "/usr/bin/ld") +set(CMAKE_C_COMPILER_LINKER_ID "GNU") +set(CMAKE_C_COMPILER_LINKER_VERSION 2.34) +set(CMAKE_C_COMPILER_LINKER_FRONTEND_VARIANT GNU) +set(CMAKE_MT "") +set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND") +set(CMAKE_COMPILER_IS_GNUCC 1) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) +set(CMAKE_C_LINKER_DEPFILE_SUPPORTED FALSE) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/CMakeFiles/3.30.0-rc3/CMakeDetermineCompilerABI_C.bin b/CMakeFiles/3.30.0-rc3/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000000000000000000000000000000000000..605384983eee096cead8d8201a1e48cb198eeb1f GIT binary patch literal 16656 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 literal 0 HcmV?d00001 diff --git a/CMakeFiles/3.30.0-rc3/CMakeSystem.cmake b/CMakeFiles/3.30.0-rc3/CMakeSystem.cmake new file mode 100644 index 000000000..04e81f113 --- /dev/null +++ b/CMakeFiles/3.30.0-rc3/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Linux-5.15.0-1050-aws") +set(CMAKE_HOST_SYSTEM_NAME "Linux") +set(CMAKE_HOST_SYSTEM_VERSION "5.15.0-1050-aws") +set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") + + + +set(CMAKE_SYSTEM "Linux-5.15.0-1050-aws") +set(CMAKE_SYSTEM_NAME "Linux") +set(CMAKE_SYSTEM_VERSION "5.15.0-1050-aws") +set(CMAKE_SYSTEM_PROCESSOR "x86_64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/CMakeFiles/3.30.0-rc3/CompilerIdC/CMakeCCompilerId.c b/CMakeFiles/3.30.0-rc3/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 000000000..8d8bb038b --- /dev/null +++ b/CMakeFiles/3.30.0-rc3/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,904 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(__clang__) && defined(__cray__) +# define COMPILER_ID "CrayClang" +# define COMPILER_VERSION_MAJOR DEC(__cray_major__) +# define COMPILER_VERSION_MINOR DEC(__cray_minor__) +# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__ORANGEC__) +# define COMPILER_ID "OrangeC" +# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__) + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) && defined(__ti__) +# define COMPILER_ID "TIClang" + # define COMPILER_VERSION_MAJOR DEC(__ti_major__) + # define COMPILER_VERSION_MINOR DEC(__ti_minor__) + # define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__) +# define COMPILER_VERSION_INTERNAL DEC(__ti_version__) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) +# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__clang__) && defined(__ti__) +# if defined(__ARM_ARCH) +# define ARCHITECTURE_ID "Arm" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#define C_STD_99 199901L +#define C_STD_11 201112L +#define C_STD_17 201710L +#define C_STD_23 202311L + +#ifdef __STDC_VERSION__ +# define C_STD __STDC_VERSION__ +#endif + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif C_STD > C_STD_17 +# define C_VERSION "23" +#elif C_STD > C_STD_11 +# define C_VERSION "17" +#elif C_STD > C_STD_99 +# define C_VERSION "11" +#elif C_STD >= C_STD_99 +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/CMakeFiles/3.30.0-rc3/CompilerIdC/a.out b/CMakeFiles/3.30.0-rc3/CompilerIdC/a.out new file mode 100755 index 0000000000000000000000000000000000000000..6dc55f1097b689bb800e144a39fecd62174ebd94 GIT binary patch literal 16776 zcmeHOeQX>@6`#AyhtnqKOPUZjY3n7VQbOvBZ4$>xV{&KvoHeqYkUBIdb(ghoZJ)Rg zbGJw1iZnq9MQ$(+P>J>rq^L-s0{Nr=G@=sVD72I+KqI6Q#Fqs$geoL%NQ(*XHCU`VcJiVwXD`oe+dizMvi|wSxh;3kc;0-(Z@3gm@^v-J1jPT-iMGHo5@1vkc zT}u+T2JYrP)ZSeE5TW=pQh3G2bgI8;)5dhNE}hC257ZrKZmMhA6fNYUjk00%3){dk zwX^t@3OLu1u1v^q~1KUIyOsLO80?U}k zHc&>L|7RgbV;S(A_0xTGQ@8l#QT&BEyH?KYBD-Wp03Y%AZ}-ImT} ztzNS~jhaK5T$VHqC0bEX`lF)Au?#>2F@`)YimOtKFuM1V?|gmob)hX)71MOxGCxTM zs$#01c`iphyrwC+8V{c*Ui0vuCw`rW{|fQ-9{wcp=XVI1aE#!2a+-AT91EE{hP_xn*0KN!7uT0crHe`Ud0CnX^ntER|Id#=B^ufbdSeGK>0`yoA0@7% zoBFX8ufk0ISmKiYv>te^`UO$_{fR*0I`A*f!GEg~uMCW@I2nd0zc4RSwsN$RG+4JQ z@y8O^`_2qTt80&DtaI%3_}vFm&F@w#gpU@qUa z{sxYLi&t)xO8V&=A-lHWR}}xQv8!EUm)pnw6fZ6Roqps@K;QbC;+r@=_V>jfiuc7I zjvHqNXWGOt;mARhh2K5O95M zob5zsPsgrp1G&sdDsAQW!&k~aw~VXa__UQTq;lE)^(t+RQf3op>idM$7)hJv1l9_dwJb?AQl-ihD9 zdasm9X}~1lQ-C%ge%tJuDwVzixcseB=`7$;z~%6o0>9N_3Ou?;1P(+3s~0b*fVk|e^Bj&RLKs&9X!>af_cYTE}tv~~@Oquqz#c!lMV zgoHM2IGzK$&moZrM;;HhEm;se0WCu_Ks^OV4E(jQz9SrYGT0fe`C=#$*2d>0!t1^; zzdc<4_yRrLd}QIya4Z{cj)&{x;dQNHtumYGm zDJEVwiSryxT>tjXQVz=}Xwf0hN%qY{me;t#e2MCBQ?xipi0e%;)hG}v2pLFCOwfA8 zg;Y^R4Y421bi%L*R3^4}56ct&qon)=ajANf$`{FB_%bZdhvNs+ELnb?>ffa@w@YUK zbHMAv-=jrdzp81<5U)?=^{Bl5^d!~qY-`)5t=rpQ%-Th5YZNBa1~51038xb0L6zFyrt7}1=J%7?_# z@;ZEHZ3tF~SH0iKu>2k6{S4095WMZ+>)y@7Ra#-3hQ#~I*Qr~6CA|1>GAbW}tG>A+ z&v&I69lRdriML8KjLPBtEhxfb#1l_gcOm%`9v)90<@tW8tO&6MGB9e({$P8UI^YOY zhyyOtM>~A~MOjRva0JBccs>n$CI9C-uWw5`%fvNw*pn*R`L2|?V^)8?3VZVpPRTKGqcCfyVB0={(T-!ASh;!|7zfuL40=8{|x^x)B>+@V-6gU{OoaZKkyN; zvfMAMawqW1g0ruSR^(a8fhO7Uj>9bQnnRAW2Z3K2Tq*cI%KQ_^gGa1He+%Ln$*&aN zeF5JD9^)`c`wuKKbc*EbV~XJalb4_vfpHikUeyXQM0R2{p5?nss60=0A|%gtE&z{q zyw}%Nva_E2k?$(O&fm}uoUd0t6vXpgDb{)HuK`{IJ#X3${2DI_<$cmlM8q^z*+??D zKMU<^F-5TdVjyo9>>{j08W1zvM+`e-4B!Tm0&E^h=8U0quHQ@>NjsM>7-sQ+z&G1z z%eIoy=K7|F%0jqxC1sfTyg6!ESvx-}2J>ddGLpqiW)xH$B?BaFmuOqJ`AMs-jb5O4 zCc!gaeN(QEX^Te}iyRc^8wC={jlx87D`B~9C8m6?4xv6yRPj)78Y^9{(lcj6eyLe3b5 zH}<$or*jubB~w|WSg?{Jl^x6({JNhTLBB9msy1zAhl=KqWz2rHuLSt}1E}{G3gm;_ zI%F8ILx>_NTPoY~en7azb|Lo$CHHAdqx4xrIfGv*goqYKGq%|eXy+9Ub1s#IjY}gU zn$6i(bSPVlj^uMAR^A?UQ2oUeY%NPAiHf&&*4gHekmAE;VOT_yqgiM|p`BMX?1vPi zf&q1TD{Z2Jh{~WwN7A;ypXg8yGB$)&L~#&#K} zEXVj5=;Pdq%ltges8M5H|A`jkkinR;K0kLe@_dim_n!Y(K^M=7>+vsJCPJR)5<9E^ zzXlafeU0=O*&OS0nekbVK0og>vfNzy>iKWR{}?GSuHe9s0k6I1J?-=Sfsx+>aQoiz zdy4eS&1fV^_+u(E5Y0vL1IS_gSpO^uFm5kPs*Jb&p8)OD=Xnd`lt-WYpXpyf2Il}g zedOm{-Z$)(=Q86TK)2eV&-0+^Iv^pjoGQ(fnZE)RIQF>x^7A*W^TsrRCkF|~KPJ}W ze*6Y-D8l;u{$qk3{9;h&Osvm14V6xP5hLk(h0RoCU_CD1gbZ@rK0g;WlfGA;PKVV+ z2nggzyv(!yhBBivtnWk~J5JGIGWZF)u<<&+4-WQ+?|+McW8a search starts here: + /usr/lib/gcc/x86_64-linux-gnu/9/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include + End of search list. + GNU C17 (Ubuntu 9.4.0-1ubuntu1~20.04.2) version 9.4.0 (x86_64-linux-gnu) + compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP + + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + Compiler executable checksum: 01da938ff5dc2163489aa33cb3b747a7 + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' + as -v --64 -o CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o /tmp/ccNfoHVm.s + GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34 + COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' + Linking C executable cmTC_2003b + /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2003b.dir/link.txt --verbose=1 + /usr/bin/cc -v -Wl,-v CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o -o cmTC_2003b + Using built-in specs. + COLLECT_GCC=/usr/bin/cc + COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper + OFFLOAD_TARGET_NAMES=nvptx-none:hsa + OFFLOAD_TARGET_DEFAULT=1 + Target: x86_64-linux-gnu + Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu + Thread model: posix + gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) + COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_2003b' '-mtune=generic' '-march=x86-64' + /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/cctCSGpQ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_2003b /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. -v CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o + collect2 version 9.4.0 + /usr/bin/ld -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/cctCSGpQ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_2003b /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. -v CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o + GNU ld (GNU Binutils for Ubuntu) 2.34 + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_2003b' '-mtune=generic' '-march=x86-64' + make[1]: Leaving directory '/home/ubuntu/coreMQTT/CMakeFiles/CMakeScratch/TryCompile-wThyma' + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" + - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Parsed C implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/x86_64-linux-gnu/9/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/9/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/9/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] + + + - + kind: "message-v1" + backtrace: + - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" + - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Parsed C implicit link information: + link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)] + ignore line: [Change Dir: '/home/ubuntu/coreMQTT/CMakeFiles/CMakeScratch/TryCompile-wThyma'] + ignore line: [] + ignore line: [Run Build Command(s): /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_2003b/fast] + ignore line: [/usr/bin/make -f CMakeFiles/cmTC_2003b.dir/build.make CMakeFiles/cmTC_2003b.dir/build] + ignore line: [make[1]: Entering directory '/home/ubuntu/coreMQTT/CMakeFiles/CMakeScratch/TryCompile-wThyma'] + ignore line: [Building C object CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o -c /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -v -imultiarch x86_64-linux-gnu /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccNfoHVm.s] + ignore line: [GNU C17 (Ubuntu 9.4.0-1ubuntu1~20.04.2) version 9.4.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C17 (Ubuntu 9.4.0-1ubuntu1~20.04.2) version 9.4.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 01da938ff5dc2163489aa33cb3b747a7] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o /tmp/ccNfoHVm.s] + ignore line: [GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] + ignore line: [Linking C executable cmTC_2003b] + ignore line: [/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2003b.dir/link.txt --verbose=1] + ignore line: [/usr/bin/cc -v -Wl -v CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o -o cmTC_2003b] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_2003b' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/cctCSGpQ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_2003b /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. -v CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/9/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/cctCSGpQ.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_2003b] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/9] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] + arg [-v] ==> ignore + arg [CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] + ignore line: [collect2 version 9.4.0] + ignore line: [/usr/bin/ld -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/cctCSGpQ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_2003b /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. -v CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] + linker tool for 'C': /usr/bin/ld + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> [/usr/lib/x86_64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9] ==> [/usr/lib/gcc/x86_64-linux-gnu/9] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> [/usr/lib] + implicit libs: [gcc;gcc_s;c;gcc;gcc_s] + implicit objs: [/usr/lib/x86_64-linux-gnu/Scrt1.o;/usr/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o;/usr/lib/x86_64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + implicit fwks: [] + + + - + kind: "message-v1" + backtrace: + - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Internal/CMakeDetermineLinkerId.cmake:40 (message)" + - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:255 (cmake_determine_linker_id)" + - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Running the C compiler's linker: "/usr/bin/ld" "-v" + GNU ld (GNU Binutils for Ubuntu) 2.34 +... diff --git a/CMakeFiles/CMakeDirectoryInformation.cmake b/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 000000000..53a389810 --- /dev/null +++ b/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/ubuntu/coreMQTT/test") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/ubuntu/coreMQTT") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/CMakeFiles/CMakeRuleHashes.txt b/CMakeFiles/CMakeRuleHashes.txt new file mode 100644 index 000000000..2bcf64ae0 --- /dev/null +++ b/CMakeFiles/CMakeRuleHashes.txt @@ -0,0 +1,40 @@ +# Hashes of file build rules. +fa1187bbae86d8362ef73e995aec7e51 CMakeFiles/coverage +847de4292c2cc6fd95fdf3468ecb6696 unit-test/MQTT/CMakeFiles/Continuous +a272e07db99b1cd01ce66de55819efc8 unit-test/MQTT/CMakeFiles/ContinuousBuild +35c544df994c0be696e5afc5707bd709 unit-test/MQTT/CMakeFiles/ContinuousConfigure +51c40983b76b8da779a91e166515b372 unit-test/MQTT/CMakeFiles/ContinuousCoverage +1d265be44d05bab16b51cac6cff23008 unit-test/MQTT/CMakeFiles/ContinuousMemCheck +c874863c10465fbc2b8e33effff429a4 unit-test/MQTT/CMakeFiles/ContinuousStart +0f89b2e8b206c81a65a5e5f16c5f6d44 unit-test/MQTT/CMakeFiles/ContinuousSubmit +b9048e42cd534dbc1fbd7d53859843e4 unit-test/MQTT/CMakeFiles/ContinuousTest +905aae9b33628b98de51f3befce60ce3 unit-test/MQTT/CMakeFiles/ContinuousUpdate +e4f34eff153bf62602df843031f1349d unit-test/MQTT/CMakeFiles/Experimental +b3d29441244c91d6bdcc33271e680ed5 unit-test/MQTT/CMakeFiles/ExperimentalBuild +7dd71b061c3091b0d0f84d8286541ad4 unit-test/MQTT/CMakeFiles/ExperimentalConfigure +2b5fc40110f947636cdab0eee60e2a12 unit-test/MQTT/CMakeFiles/ExperimentalCoverage +93553d1d5ac5148b90d13a26d38e819c unit-test/MQTT/CMakeFiles/ExperimentalMemCheck +2992a9666117ab00d8b69f6ff305c6e5 unit-test/MQTT/CMakeFiles/ExperimentalStart +0a64ea513d2d89f487a1eab893477702 unit-test/MQTT/CMakeFiles/ExperimentalSubmit +fba709fdeda43fe8b3f8fe8dcb4c3c6a unit-test/MQTT/CMakeFiles/ExperimentalTest +f353bdf7c43a294ac12649528f93bbfe unit-test/MQTT/CMakeFiles/ExperimentalUpdate +19b4f1c2466816707ca1cdaa764f06e8 unit-test/MQTT/CMakeFiles/Nightly +59c33a1d0578dd426f285f2ff4571286 unit-test/MQTT/CMakeFiles/NightlyBuild +7ba5a38df7a64b13ba907e4f71f0f37a unit-test/MQTT/CMakeFiles/NightlyConfigure +df9f6d31d9538fd4cf3e2dfc6985f3de unit-test/MQTT/CMakeFiles/NightlyCoverage +ad5737f8cfa04140e39c55b73ef0d4d6 unit-test/MQTT/CMakeFiles/NightlyMemCheck +00c9f12510a8d6366f777cdb8f5be1f1 unit-test/MQTT/CMakeFiles/NightlyMemoryCheck +0955bdae867c2f98f4a76da8b9d643c8 unit-test/MQTT/CMakeFiles/NightlyStart +04cdf47c7f81b9e09cd0367b1ed634b3 unit-test/MQTT/CMakeFiles/NightlySubmit +c7bb9e43a28663e08f91bdc922c8bafe unit-test/MQTT/CMakeFiles/NightlyTest +d3221c3f268b0dc5eba1c57b4ac57016 unit-test/MQTT/CMakeFiles/NightlyUpdate +7271bf85e6dd52e0a5152873a12370e3 unit-test/MQTT/core_mqtt_serializer_utest_runner.c +ad784c68f70d24d12cfe2f1de5550875 unit-test/MQTT/core_mqtt_state_utest_runner.c +5dcde25daaa60884ce104a39f9f0d2a2 unit-test/MQTT/core_mqtt_utest_runner.c +afaf43905cb2d0abf63a10776f81d25f unit-test/MQTT/mocks/mock_core_mqtt_serializer.c +e7f032790f91fabca78b770b14ef9aac unit-test/MQTT/mocks/mock_core_mqtt_state.c +cc3ece128c7910f2833a073c2a15fb46 unit-test/MQTTv5/core_mqttv5_serializer_utest_runner.c +db0d1698a6e1d864802c1702dd33453b unit-test/MQTTv5/core_mqttv5_state_utest_runner.c +a4b9fa43a197ee8e75dd2ee3b4317696 unit-test/MQTTv5/core_mqttv5_utest_runner.c +26733deef57aa05dc5dcaba1fb0b39b0 unit-test/MQTTv5/mocks/mock_core_mqtt_serializer.c +0f7a89519640ba3b26072854e3c52f1d unit-test/MQTTv5/mocks/mock_core_mqtt_state.c diff --git a/CMakeFiles/Makefile.cmake b/CMakeFiles/Makefile.cmake new file mode 100644 index 000000000..0cd57a0a5 --- /dev/null +++ b/CMakeFiles/Makefile.cmake @@ -0,0 +1,167 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# The generator used is: +set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +set(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeCCompiler.cmake.in" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeCCompilerABI.c" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeCInformation.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeCommonLanguageInclude.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeCompilerIdDetection.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeDetermineCCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeDetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeDetermineCompilerSupport.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeDetermineSystem.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeFindBinUtils.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeGenericSystem.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeInitializeConfigs.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeLanguageInformation.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeParseImplicitIncludeInfo.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeParseImplicitLinkInfo.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeParseLibraryArchitecture.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeSystem.cmake.in" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeSystemSpecificInformation.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeSystemSpecificInitialize.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeTestCompilerCommon.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeUnixFindMake.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CTest.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CTestTargets.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CTestUseLaunchers.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/ADSP-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/Borland-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/Clang-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/Cray-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/CrayClang-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/GHS-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/GNU-C-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/GNU-C.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/GNU-FindBinUtils.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/GNU.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/HP-C-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/IAR-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/Intel-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/LCC-C-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/MSVC-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/OrangeC-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/PGI-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/PathScale-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/SCO-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/TI-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/TIClang-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/Tasking-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/Watcom-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/XL-C-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/zOS-C-DetermineCompiler.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/DartConfiguration.tcl.in" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Internal/CMakeDetermineLinkerId.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Internal/FeatureTesting.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Platform/Linux-GNU-C.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Platform/Linux-GNU.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Platform/Linux-Initialize.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Platform/Linux.cmake" + "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Platform/UnixPaths.cmake" + "CMakeFiles/3.30.0-rc3/CMakeCCompiler.cmake" + "CMakeFiles/3.30.0-rc3/CMakeSystem.cmake" + "mqttFilePaths.cmake" + "/home/ubuntu/coreMQTT/test/CMakeLists.txt" + "/home/ubuntu/coreMQTT/test/unit-test/MQTT/CMakeLists.txt" + "/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/CMakeLists.txt" + "/home/ubuntu/coreMQTT/test/unit-test/cmock_build.cmake" + "tools/cmock/create_test.cmake" + ) + +# The corresponding makefile is: +set(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +set(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/3.30.0-rc3/CMakeSystem.cmake" + "CMakeFiles/3.30.0-rc3/CMakeCCompiler.cmake" + "CMakeFiles/3.30.0-rc3/CMakeCCompiler.cmake" + "CMakeFiles/CMakeDirectoryInformation.cmake" + "DartConfiguration.tcl" + "DartConfiguration.tcl" + "DartConfiguration.tcl" + "unit-test/MQTT/CMakeFiles/CMakeDirectoryInformation.cmake" + "DartConfiguration.tcl" + "DartConfiguration.tcl" + "DartConfiguration.tcl" + "unit-test/MQTTv5/CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +set(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/coverity_analysis.dir/DependInfo.cmake" + "CMakeFiles/cmock.dir/DependInfo.cmake" + "CMakeFiles/unity.dir/DependInfo.cmake" + "CMakeFiles/coverage.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/Experimental.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/Nightly.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/Continuous.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/NightlyStart.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/NightlyBuild.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/NightlyTest.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/NightlySubmit.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/ContinuousStart.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/ContinuousTest.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/DependInfo.cmake" + "unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/DependInfo.cmake" + "unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/DependInfo.cmake" + "unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/DependInfo.cmake" + "unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/DependInfo.cmake" + "unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/DependInfo.cmake" + "unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/DependInfo.cmake" + ) diff --git a/CMakeFiles/Makefile2 b/CMakeFiles/Makefile2 new file mode 100644 index 000000000..f840ce1dd --- /dev/null +++ b/CMakeFiles/Makefile2 @@ -0,0 +1,1274 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +#============================================================================= +# Directory level rules for the build root directory + +# The main recursive "all" target. +all: CMakeFiles/coverity_analysis.dir/all +all: CMakeFiles/cmock.dir/all +all: CMakeFiles/unity.dir/all +all: unit-test/MQTT/all +all: unit-test/MQTTv5/all +.PHONY : all + +# The main recursive "preinstall" target. +preinstall: unit-test/MQTT/preinstall +preinstall: unit-test/MQTTv5/preinstall +.PHONY : preinstall + +# The main recursive "clean" target. +clean: CMakeFiles/coverity_analysis.dir/clean +clean: CMakeFiles/cmock.dir/clean +clean: CMakeFiles/unity.dir/clean +clean: CMakeFiles/coverage.dir/clean +clean: unit-test/MQTT/clean +clean: unit-test/MQTTv5/clean +.PHONY : clean + +#============================================================================= +# Directory level rules for directory unit-test/MQTT + +# Recursive "all" directory target. +unit-test/MQTT/all: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/all +unit-test/MQTT/all: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/all +unit-test/MQTT/all: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/all +unit-test/MQTT/all: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/all +unit-test/MQTT/all: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/all +.PHONY : unit-test/MQTT/all + +# Recursive "preinstall" directory target. +unit-test/MQTT/preinstall: +.PHONY : unit-test/MQTT/preinstall + +# Recursive "clean" directory target. +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/Experimental.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/Nightly.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/Continuous.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/NightlyStart.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/NightlyBuild.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/NightlyTest.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/NightlySubmit.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ContinuousStart.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ContinuousTest.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/clean +unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/clean +.PHONY : unit-test/MQTT/clean + +#============================================================================= +# Directory level rules for directory unit-test/MQTTv5 + +# Recursive "all" directory target. +unit-test/MQTTv5/all: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/all +unit-test/MQTTv5/all: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/all +unit-test/MQTTv5/all: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/all +unit-test/MQTTv5/all: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/all +unit-test/MQTTv5/all: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/all +.PHONY : unit-test/MQTTv5/all + +# Recursive "preinstall" directory target. +unit-test/MQTTv5/preinstall: +.PHONY : unit-test/MQTTv5/preinstall + +# Recursive "clean" directory target. +unit-test/MQTTv5/clean: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/clean +unit-test/MQTTv5/clean: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/clean +unit-test/MQTTv5/clean: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/clean +unit-test/MQTTv5/clean: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/clean +unit-test/MQTTv5/clean: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/clean +.PHONY : unit-test/MQTTv5/clean + +#============================================================================= +# Target rules for target CMakeFiles/coverity_analysis.dir + +# All Build rule for target. +CMakeFiles/coverity_analysis.dir/all: + $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=45,46,47,48 "Built target coverity_analysis" +.PHONY : CMakeFiles/coverity_analysis.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/coverity_analysis.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 4 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/coverity_analysis.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : CMakeFiles/coverity_analysis.dir/rule + +# Convenience name for target. +coverity_analysis: CMakeFiles/coverity_analysis.dir/rule +.PHONY : coverity_analysis + +# clean rule for target. +CMakeFiles/coverity_analysis.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/clean +.PHONY : CMakeFiles/coverity_analysis.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/cmock.dir + +# All Build rule for target. +CMakeFiles/cmock.dir/all: CMakeFiles/unity.dir/all + $(MAKE) $(MAKESILENT) -f CMakeFiles/cmock.dir/build.make CMakeFiles/cmock.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/cmock.dir/build.make CMakeFiles/cmock.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=1,2 "Built target cmock" +.PHONY : CMakeFiles/cmock.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/cmock.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 6 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/cmock.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : CMakeFiles/cmock.dir/rule + +# Convenience name for target. +cmock: CMakeFiles/cmock.dir/rule +.PHONY : cmock + +# clean rule for target. +CMakeFiles/cmock.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/cmock.dir/build.make CMakeFiles/cmock.dir/clean +.PHONY : CMakeFiles/cmock.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/unity.dir + +# All Build rule for target. +CMakeFiles/unity.dir/all: + $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=49,50,51,52 "Built target unity" +.PHONY : CMakeFiles/unity.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/unity.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 4 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/unity.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : CMakeFiles/unity.dir/rule + +# Convenience name for target. +unity: CMakeFiles/unity.dir/rule +.PHONY : unity + +# clean rule for target. +CMakeFiles/unity.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/clean +.PHONY : CMakeFiles/unity.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/coverage.dir + +# All Build rule for target. +CMakeFiles/coverage.dir/all: CMakeFiles/cmock.dir/all +CMakeFiles/coverage.dir/all: CMakeFiles/unity.dir/all +CMakeFiles/coverage.dir/all: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/all +CMakeFiles/coverage.dir/all: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/all +CMakeFiles/coverage.dir/all: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/all + $(MAKE) $(MAKESILENT) -f CMakeFiles/coverage.dir/build.make CMakeFiles/coverage.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/coverage.dir/build.make CMakeFiles/coverage.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target coverage" +.PHONY : CMakeFiles/coverage.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/coverage.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 27 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/coverage.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : CMakeFiles/coverage.dir/rule + +# Convenience name for target. +coverage: CMakeFiles/coverage.dir/rule +.PHONY : coverage + +# clean rule for target. +CMakeFiles/coverage.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/coverage.dir/build.make CMakeFiles/coverage.dir/clean +.PHONY : CMakeFiles/coverage.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/all: CMakeFiles/cmock.dir/all +unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/all: CMakeFiles/unity.dir/all + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=3,4,5,6,7 "Built target core_mqtt_mock" +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 11 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/rule + +# Convenience name for target. +core_mqtt_mock: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/rule +.PHONY : core_mqtt_mock + +# clean rule for target. +unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/core_mqtt_real.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/all: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/all + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=8,9,10,11 "Built target core_mqtt_real" +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 15 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/rule + +# Convenience name for target. +core_mqtt_real: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/rule +.PHONY : core_mqtt_real + +# clean rule for target. +unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/Experimental.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/Experimental.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Experimental.dir/build.make unit-test/MQTT/CMakeFiles/Experimental.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Experimental.dir/build.make unit-test/MQTT/CMakeFiles/Experimental.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target Experimental" +.PHONY : unit-test/MQTT/CMakeFiles/Experimental.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/Experimental.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/Experimental.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/Experimental.dir/rule + +# Convenience name for target. +Experimental: unit-test/MQTT/CMakeFiles/Experimental.dir/rule +.PHONY : Experimental + +# clean rule for target. +unit-test/MQTT/CMakeFiles/Experimental.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Experimental.dir/build.make unit-test/MQTT/CMakeFiles/Experimental.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/Experimental.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/Nightly.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/Nightly.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Nightly.dir/build.make unit-test/MQTT/CMakeFiles/Nightly.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Nightly.dir/build.make unit-test/MQTT/CMakeFiles/Nightly.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target Nightly" +.PHONY : unit-test/MQTT/CMakeFiles/Nightly.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/Nightly.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/Nightly.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/Nightly.dir/rule + +# Convenience name for target. +Nightly: unit-test/MQTT/CMakeFiles/Nightly.dir/rule +.PHONY : Nightly + +# clean rule for target. +unit-test/MQTT/CMakeFiles/Nightly.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Nightly.dir/build.make unit-test/MQTT/CMakeFiles/Nightly.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/Nightly.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/Continuous.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/Continuous.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Continuous.dir/build.make unit-test/MQTT/CMakeFiles/Continuous.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Continuous.dir/build.make unit-test/MQTT/CMakeFiles/Continuous.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target Continuous" +.PHONY : unit-test/MQTT/CMakeFiles/Continuous.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/Continuous.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/Continuous.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/Continuous.dir/rule + +# Convenience name for target. +Continuous: unit-test/MQTT/CMakeFiles/Continuous.dir/rule +.PHONY : Continuous + +# clean rule for target. +unit-test/MQTT/CMakeFiles/Continuous.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Continuous.dir/build.make unit-test/MQTT/CMakeFiles/Continuous.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/Continuous.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build.make unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build.make unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target NightlyMemoryCheck" +.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/rule + +# Convenience name for target. +NightlyMemoryCheck: unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/rule +.PHONY : NightlyMemoryCheck + +# clean rule for target. +unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build.make unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/NightlyStart.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/NightlyStart.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyStart.dir/build.make unit-test/MQTT/CMakeFiles/NightlyStart.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyStart.dir/build.make unit-test/MQTT/CMakeFiles/NightlyStart.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target NightlyStart" +.PHONY : unit-test/MQTT/CMakeFiles/NightlyStart.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/NightlyStart.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyStart.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/NightlyStart.dir/rule + +# Convenience name for target. +NightlyStart: unit-test/MQTT/CMakeFiles/NightlyStart.dir/rule +.PHONY : NightlyStart + +# clean rule for target. +unit-test/MQTT/CMakeFiles/NightlyStart.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyStart.dir/build.make unit-test/MQTT/CMakeFiles/NightlyStart.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/NightlyStart.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/NightlyUpdate.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build.make unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build.make unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target NightlyUpdate" +.PHONY : unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/rule + +# Convenience name for target. +NightlyUpdate: unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/rule +.PHONY : NightlyUpdate + +# clean rule for target. +unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build.make unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/NightlyConfigure.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build.make unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build.make unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target NightlyConfigure" +.PHONY : unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/rule + +# Convenience name for target. +NightlyConfigure: unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/rule +.PHONY : NightlyConfigure + +# clean rule for target. +unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build.make unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/NightlyBuild.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/NightlyBuild.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build.make unit-test/MQTT/CMakeFiles/NightlyBuild.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build.make unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target NightlyBuild" +.PHONY : unit-test/MQTT/CMakeFiles/NightlyBuild.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/NightlyBuild.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyBuild.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/NightlyBuild.dir/rule + +# Convenience name for target. +NightlyBuild: unit-test/MQTT/CMakeFiles/NightlyBuild.dir/rule +.PHONY : NightlyBuild + +# clean rule for target. +unit-test/MQTT/CMakeFiles/NightlyBuild.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build.make unit-test/MQTT/CMakeFiles/NightlyBuild.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/NightlyBuild.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/NightlyTest.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/NightlyTest.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyTest.dir/build.make unit-test/MQTT/CMakeFiles/NightlyTest.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyTest.dir/build.make unit-test/MQTT/CMakeFiles/NightlyTest.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target NightlyTest" +.PHONY : unit-test/MQTT/CMakeFiles/NightlyTest.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/NightlyTest.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyTest.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/NightlyTest.dir/rule + +# Convenience name for target. +NightlyTest: unit-test/MQTT/CMakeFiles/NightlyTest.dir/rule +.PHONY : NightlyTest + +# clean rule for target. +unit-test/MQTT/CMakeFiles/NightlyTest.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyTest.dir/build.make unit-test/MQTT/CMakeFiles/NightlyTest.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/NightlyTest.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/NightlyCoverage.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build.make unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build.make unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target NightlyCoverage" +.PHONY : unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/rule + +# Convenience name for target. +NightlyCoverage: unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/rule +.PHONY : NightlyCoverage + +# clean rule for target. +unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build.make unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target NightlyMemCheck" +.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/rule + +# Convenience name for target. +NightlyMemCheck: unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/rule +.PHONY : NightlyMemCheck + +# clean rule for target. +unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/NightlySubmit.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/NightlySubmit.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build.make unit-test/MQTT/CMakeFiles/NightlySubmit.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build.make unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target NightlySubmit" +.PHONY : unit-test/MQTT/CMakeFiles/NightlySubmit.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/NightlySubmit.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlySubmit.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/NightlySubmit.dir/rule + +# Convenience name for target. +NightlySubmit: unit-test/MQTT/CMakeFiles/NightlySubmit.dir/rule +.PHONY : NightlySubmit + +# clean rule for target. +unit-test/MQTT/CMakeFiles/NightlySubmit.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build.make unit-test/MQTT/CMakeFiles/NightlySubmit.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/NightlySubmit.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/ExperimentalStart.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ExperimentalStart" +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/rule + +# Convenience name for target. +ExperimentalStart: unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/rule +.PHONY : ExperimentalStart + +# clean rule for target. +unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ExperimentalUpdate" +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/rule + +# Convenience name for target. +ExperimentalUpdate: unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/rule +.PHONY : ExperimentalUpdate + +# clean rule for target. +unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ExperimentalConfigure" +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/rule + +# Convenience name for target. +ExperimentalConfigure: unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/rule +.PHONY : ExperimentalConfigure + +# clean rule for target. +unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ExperimentalBuild" +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/rule + +# Convenience name for target. +ExperimentalBuild: unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/rule +.PHONY : ExperimentalBuild + +# clean rule for target. +unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/ExperimentalTest.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ExperimentalTest" +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/rule + +# Convenience name for target. +ExperimentalTest: unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/rule +.PHONY : ExperimentalTest + +# clean rule for target. +unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ExperimentalCoverage" +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/rule + +# Convenience name for target. +ExperimentalCoverage: unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/rule +.PHONY : ExperimentalCoverage + +# clean rule for target. +unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ExperimentalMemCheck" +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/rule + +# Convenience name for target. +ExperimentalMemCheck: unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/rule +.PHONY : ExperimentalMemCheck + +# clean rule for target. +unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ExperimentalSubmit" +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/rule + +# Convenience name for target. +ExperimentalSubmit: unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/rule +.PHONY : ExperimentalSubmit + +# clean rule for target. +unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/ContinuousStart.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/ContinuousStart.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousStart.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ContinuousStart" +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousStart.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/ContinuousStart.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousStart.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousStart.dir/rule + +# Convenience name for target. +ContinuousStart: unit-test/MQTT/CMakeFiles/ContinuousStart.dir/rule +.PHONY : ContinuousStart + +# clean rule for target. +unit-test/MQTT/CMakeFiles/ContinuousStart.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousStart.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousStart.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ContinuousUpdate" +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/rule + +# Convenience name for target. +ContinuousUpdate: unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/rule +.PHONY : ContinuousUpdate + +# clean rule for target. +unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ContinuousConfigure" +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/rule + +# Convenience name for target. +ContinuousConfigure: unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/rule +.PHONY : ContinuousConfigure + +# clean rule for target. +unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/ContinuousBuild.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ContinuousBuild" +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/rule + +# Convenience name for target. +ContinuousBuild: unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/rule +.PHONY : ContinuousBuild + +# clean rule for target. +unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/ContinuousTest.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/ContinuousTest.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousTest.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ContinuousTest" +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousTest.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/ContinuousTest.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousTest.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousTest.dir/rule + +# Convenience name for target. +ContinuousTest: unit-test/MQTT/CMakeFiles/ContinuousTest.dir/rule +.PHONY : ContinuousTest + +# clean rule for target. +unit-test/MQTT/CMakeFiles/ContinuousTest.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousTest.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousTest.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ContinuousCoverage" +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/rule + +# Convenience name for target. +ContinuousCoverage: unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/rule +.PHONY : ContinuousCoverage + +# clean rule for target. +unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ContinuousMemCheck" +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/rule + +# Convenience name for target. +ContinuousMemCheck: unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/rule +.PHONY : ContinuousMemCheck + +# clean rule for target. +unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/all: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ContinuousSubmit" +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/rule + +# Convenience name for target. +ContinuousSubmit: unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/rule +.PHONY : ContinuousSubmit + +# clean rule for target. +unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/all: CMakeFiles/unity.dir/all +unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/all: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/all + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=20,21,22,23 "Built target core_mqtt_utest" +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 19 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/rule + +# Convenience name for target. +core_mqtt_utest: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/rule +.PHONY : core_mqtt_utest + +# clean rule for target. +unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/all: CMakeFiles/unity.dir/all +unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/all: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/all + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=16,17,18,19 "Built target core_mqtt_state_utest" +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 19 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/rule + +# Convenience name for target. +core_mqtt_state_utest: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/rule +.PHONY : core_mqtt_state_utest + +# clean rule for target. +unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir + +# All Build rule for target. +unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/all: CMakeFiles/unity.dir/all +unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/all: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/all + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=12,13,14,15 "Built target core_mqtt_serializer_utest" +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 19 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/rule + +# Convenience name for target. +core_mqtt_serializer_utest: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/rule +.PHONY : core_mqtt_serializer_utest + +# clean rule for target. +unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/clean +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir + +# All Build rule for target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/all: CMakeFiles/cmock.dir/all +unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/all: CMakeFiles/unity.dir/all + $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=24,25,26,27,28 "Built target core_mqttv5_mock" +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 11 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/rule + +# Convenience name for target. +core_mqttv5_mock: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/rule +.PHONY : core_mqttv5_mock + +# clean rule for target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/clean +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir + +# All Build rule for target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/all: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/all + $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=29,30,31,32 "Built target core_mqttv5_real" +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 15 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/rule + +# Convenience name for target. +core_mqttv5_real: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/rule +.PHONY : core_mqttv5_real + +# clean rule for target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/clean +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir + +# All Build rule for target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/all: CMakeFiles/unity.dir/all +unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/all: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/all + $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=41,42,43,44 "Built target core_mqttv5_utest" +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 19 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/rule + +# Convenience name for target. +core_mqttv5_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/rule +.PHONY : core_mqttv5_utest + +# clean rule for target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/clean +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir + +# All Build rule for target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/all: CMakeFiles/unity.dir/all +unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/all: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/all + $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=37,38,39,40 "Built target core_mqttv5_state_utest" +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 19 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/rule + +# Convenience name for target. +core_mqttv5_state_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/rule +.PHONY : core_mqttv5_state_utest + +# clean rule for target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/clean +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/clean + +#============================================================================= +# Target rules for target unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir + +# All Build rule for target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/all: CMakeFiles/unity.dir/all +unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/all: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/all + $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/depend + $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=33,34,35,36 "Built target core_mqttv5_serializer_utest" +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/all + +# Build rule for subdir invocation for target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 19 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/rule + +# Convenience name for target. +core_mqttv5_serializer_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/rule +.PHONY : core_mqttv5_serializer_utest + +# clean rule for target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/clean: + $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/clean +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/CMakeFiles/TargetDirectories.txt b/CMakeFiles/TargetDirectories.txt new file mode 100644 index 000000000..71cfbbb11 --- /dev/null +++ b/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,51 @@ +/home/ubuntu/coreMQTT/CMakeFiles/coverity_analysis.dir +/home/ubuntu/coreMQTT/CMakeFiles/cmock.dir +/home/ubuntu/coreMQTT/CMakeFiles/unity.dir +/home/ubuntu/coreMQTT/CMakeFiles/coverage.dir +/home/ubuntu/coreMQTT/CMakeFiles/test.dir +/home/ubuntu/coreMQTT/CMakeFiles/edit_cache.dir +/home/ubuntu/coreMQTT/CMakeFiles/rebuild_cache.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/Experimental.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/Nightly.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/Continuous.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyStart.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyBuild.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyTest.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlySubmit.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousStart.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousTest.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/test.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/edit_cache.dir +/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/rebuild_cache.dir +/home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir +/home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir +/home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir +/home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir +/home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir +/home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/test.dir +/home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/edit_cache.dir +/home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/rebuild_cache.dir diff --git a/CMakeFiles/cmake.check_cache b/CMakeFiles/cmake.check_cache new file mode 100644 index 000000000..3dccd7317 --- /dev/null +++ b/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/CMakeFiles/cmock.dir/DependInfo.cmake b/CMakeFiles/cmock.dir/DependInfo.cmake new file mode 100644 index 000000000..8e1f847c0 --- /dev/null +++ b/CMakeFiles/cmock.dir/DependInfo.cmake @@ -0,0 +1,23 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/home/ubuntu/coreMQTT/test/unit-test/CMock/src/cmock.c" "CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o" "gcc" "CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o.d" + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/CMakeFiles/cmock.dir/build.make b/CMakeFiles/cmock.dir/build.make new file mode 100644 index 000000000..77229571a --- /dev/null +++ b/CMakeFiles/cmock.dir/build.make @@ -0,0 +1,111 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Include any dependencies generated for this target. +include CMakeFiles/cmock.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include CMakeFiles/cmock.dir/compiler_depend.make + +# Include the progress variables for this target. +include CMakeFiles/cmock.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/cmock.dir/flags.make + +CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o: CMakeFiles/cmock.dir/flags.make +CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o: /home/ubuntu/coreMQTT/test/unit-test/CMock/src/cmock.c +CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o: CMakeFiles/cmock.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o -MF CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o.d -o CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o -c /home/ubuntu/coreMQTT/test/unit-test/CMock/src/cmock.c + +CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.i" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/test/unit-test/CMock/src/cmock.c > CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.i + +CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.s" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/test/unit-test/CMock/src/cmock.c -o CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.s + +# Object files for target cmock +cmock_OBJECTS = \ +"CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o" + +# External object files for target cmock +cmock_EXTERNAL_OBJECTS = + +lib/libcmock.a: CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o +lib/libcmock.a: CMakeFiles/cmock.dir/build.make +lib/libcmock.a: CMakeFiles/cmock.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking C static library lib/libcmock.a" + $(CMAKE_COMMAND) -P CMakeFiles/cmock.dir/cmake_clean_target.cmake + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/cmock.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/cmock.dir/build: lib/libcmock.a +.PHONY : CMakeFiles/cmock.dir/build + +CMakeFiles/cmock.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/cmock.dir/cmake_clean.cmake +.PHONY : CMakeFiles/cmock.dir/clean + +CMakeFiles/cmock.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/CMakeFiles/cmock.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : CMakeFiles/cmock.dir/depend + diff --git a/CMakeFiles/cmock.dir/cmake_clean.cmake b/CMakeFiles/cmock.dir/cmake_clean.cmake new file mode 100644 index 000000000..bdfb0d9ee --- /dev/null +++ b/CMakeFiles/cmock.dir/cmake_clean.cmake @@ -0,0 +1,11 @@ +file(REMOVE_RECURSE + "CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o" + "CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o.d" + "lib/libcmock.a" + "lib/libcmock.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang C) + include(CMakeFiles/cmock.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/CMakeFiles/cmock.dir/cmake_clean_target.cmake b/CMakeFiles/cmock.dir/cmake_clean_target.cmake new file mode 100644 index 000000000..1c285cc74 --- /dev/null +++ b/CMakeFiles/cmock.dir/cmake_clean_target.cmake @@ -0,0 +1,3 @@ +file(REMOVE_RECURSE + "lib/libcmock.a" +) diff --git a/CMakeFiles/cmock.dir/compiler_depend.make b/CMakeFiles/cmock.dir/compiler_depend.make new file mode 100644 index 000000000..55ec6e371 --- /dev/null +++ b/CMakeFiles/cmock.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for cmock. +# This may be replaced when dependencies are built. diff --git a/CMakeFiles/cmock.dir/compiler_depend.ts b/CMakeFiles/cmock.dir/compiler_depend.ts new file mode 100644 index 000000000..78b930f7e --- /dev/null +++ b/CMakeFiles/cmock.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for cmock. diff --git a/CMakeFiles/cmock.dir/depend.make b/CMakeFiles/cmock.dir/depend.make new file mode 100644 index 000000000..aca723690 --- /dev/null +++ b/CMakeFiles/cmock.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for cmock. +# This may be replaced when dependencies are built. diff --git a/CMakeFiles/cmock.dir/flags.make b/CMakeFiles/cmock.dir/flags.make new file mode 100644 index 000000000..5430e358b --- /dev/null +++ b/CMakeFiles/cmock.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# compile C with /usr/bin/cc +C_DEFINES = -DNDEBUG=1 + +C_INCLUDES = -I/home/ubuntu/coreMQTT/test/unit-test/CMock/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/examples -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src + +C_FLAGS = -std=gnu90 -fPIC -Og + diff --git a/CMakeFiles/cmock.dir/link.txt b/CMakeFiles/cmock.dir/link.txt new file mode 100644 index 000000000..85bc52cd7 --- /dev/null +++ b/CMakeFiles/cmock.dir/link.txt @@ -0,0 +1,2 @@ +/usr/bin/ar qc lib/libcmock.a "CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o" +/usr/bin/ranlib lib/libcmock.a diff --git a/CMakeFiles/cmock.dir/progress.make b/CMakeFiles/cmock.dir/progress.make new file mode 100644 index 000000000..abadeb0c3 --- /dev/null +++ b/CMakeFiles/cmock.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 1 +CMAKE_PROGRESS_2 = 2 + diff --git a/CMakeFiles/coverage.dir/DependInfo.cmake b/CMakeFiles/coverage.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/CMakeFiles/coverage.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/CMakeFiles/coverage.dir/build.make b/CMakeFiles/coverage.dir/build.make new file mode 100644 index 000000000..9ef21e811 --- /dev/null +++ b/CMakeFiles/coverage.dir/build.make @@ -0,0 +1,91 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for coverage. + +# Include any custom commands dependencies for this target. +include CMakeFiles/coverage.dir/compiler_depend.make + +# Include the progress variables for this target. +include CMakeFiles/coverage.dir/progress.make + +CMakeFiles/coverage: lib/libcmock.a +CMakeFiles/coverage: lib/libunity.a +CMakeFiles/coverage: bin/tests/core_mqtt_utest +CMakeFiles/coverage: bin/tests/core_mqtt_serializer_utest +CMakeFiles/coverage: bin/tests/core_mqtt_state_utest + /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -DCMOCK_DIR=/home/ubuntu/coreMQTT/test/unit-test/CMock -P /home/ubuntu/coreMQTT/tools/cmock/coverage.cmake + +coverage: CMakeFiles/coverage +coverage: CMakeFiles/coverage.dir/build.make +.PHONY : coverage + +# Rule to build all files generated by this target. +CMakeFiles/coverage.dir/build: coverage +.PHONY : CMakeFiles/coverage.dir/build + +CMakeFiles/coverage.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/coverage.dir/cmake_clean.cmake +.PHONY : CMakeFiles/coverage.dir/clean + +CMakeFiles/coverage.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/CMakeFiles/coverage.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : CMakeFiles/coverage.dir/depend + diff --git a/CMakeFiles/coverage.dir/cmake_clean.cmake b/CMakeFiles/coverage.dir/cmake_clean.cmake new file mode 100644 index 000000000..6bf6402c4 --- /dev/null +++ b/CMakeFiles/coverage.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/coverage" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/coverage.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/CMakeFiles/coverage.dir/compiler_depend.make b/CMakeFiles/coverage.dir/compiler_depend.make new file mode 100644 index 000000000..0479aad53 --- /dev/null +++ b/CMakeFiles/coverage.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for coverage. +# This may be replaced when dependencies are built. diff --git a/CMakeFiles/coverage.dir/compiler_depend.ts b/CMakeFiles/coverage.dir/compiler_depend.ts new file mode 100644 index 000000000..8a6d882b0 --- /dev/null +++ b/CMakeFiles/coverage.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for coverage. diff --git a/CMakeFiles/coverage.dir/progress.make b/CMakeFiles/coverage.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/CMakeFiles/coverage.dir/progress.make @@ -0,0 +1 @@ + diff --git a/CMakeFiles/coverity_analysis.dir/DependInfo.cmake b/CMakeFiles/coverity_analysis.dir/DependInfo.cmake new file mode 100644 index 000000000..b8fc057fb --- /dev/null +++ b/CMakeFiles/coverity_analysis.dir/DependInfo.cmake @@ -0,0 +1,25 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/home/ubuntu/coreMQTT/source/core_mqtt.c" "CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o" "gcc" "CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d" + "/home/ubuntu/coreMQTT/source/core_mqtt_serializer.c" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o" "gcc" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o.d" + "/home/ubuntu/coreMQTT/source/core_mqtt_state.c" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o" "gcc" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o.d" + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/CMakeFiles/coverity_analysis.dir/build.make b/CMakeFiles/coverity_analysis.dir/build.make new file mode 100644 index 000000000..3c60e1207 --- /dev/null +++ b/CMakeFiles/coverity_analysis.dir/build.make @@ -0,0 +1,143 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Include any dependencies generated for this target. +include CMakeFiles/coverity_analysis.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include CMakeFiles/coverity_analysis.dir/compiler_depend.make + +# Include the progress variables for this target. +include CMakeFiles/coverity_analysis.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/coverity_analysis.dir/flags.make + +CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o: CMakeFiles/coverity_analysis.dir/flags.make +CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o: source/core_mqtt.c +CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o: CMakeFiles/coverity_analysis.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d -o CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt.c + +CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.i" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/source/core_mqtt.c > CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.i + +CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.s" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/source/core_mqtt.c -o CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.s + +CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o: CMakeFiles/coverity_analysis.dir/flags.make +CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o: source/core_mqtt_state.c +CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o: CMakeFiles/coverity_analysis.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o.d -o CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt_state.c + +CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.i" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/source/core_mqtt_state.c > CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.i + +CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.s" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/source/core_mqtt_state.c -o CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.s + +CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o: CMakeFiles/coverity_analysis.dir/flags.make +CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o: source/core_mqtt_serializer.c +CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o: CMakeFiles/coverity_analysis.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o.d -o CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c + +CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.i" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c > CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.i + +CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.s" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c -o CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.s + +# Object files for target coverity_analysis +coverity_analysis_OBJECTS = \ +"CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o" \ +"CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o" \ +"CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o" + +# External object files for target coverity_analysis +coverity_analysis_EXTERNAL_OBJECTS = + +lib/libcoverity_analysis.a: CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o +lib/libcoverity_analysis.a: CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o +lib/libcoverity_analysis.a: CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o +lib/libcoverity_analysis.a: CMakeFiles/coverity_analysis.dir/build.make +lib/libcoverity_analysis.a: CMakeFiles/coverity_analysis.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C static library lib/libcoverity_analysis.a" + $(CMAKE_COMMAND) -P CMakeFiles/coverity_analysis.dir/cmake_clean_target.cmake + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/coverity_analysis.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/coverity_analysis.dir/build: lib/libcoverity_analysis.a +.PHONY : CMakeFiles/coverity_analysis.dir/build + +CMakeFiles/coverity_analysis.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/coverity_analysis.dir/cmake_clean.cmake +.PHONY : CMakeFiles/coverity_analysis.dir/clean + +CMakeFiles/coverity_analysis.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/CMakeFiles/coverity_analysis.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : CMakeFiles/coverity_analysis.dir/depend + diff --git a/CMakeFiles/coverity_analysis.dir/cmake_clean.cmake b/CMakeFiles/coverity_analysis.dir/cmake_clean.cmake new file mode 100644 index 000000000..1c92be4a6 --- /dev/null +++ b/CMakeFiles/coverity_analysis.dir/cmake_clean.cmake @@ -0,0 +1,15 @@ +file(REMOVE_RECURSE + "CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o" + "CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d" + "CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o" + "CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o.d" + "CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o" + "CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o.d" + "lib/libcoverity_analysis.a" + "lib/libcoverity_analysis.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang C) + include(CMakeFiles/coverity_analysis.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/CMakeFiles/coverity_analysis.dir/cmake_clean_target.cmake b/CMakeFiles/coverity_analysis.dir/cmake_clean_target.cmake new file mode 100644 index 000000000..2d549a104 --- /dev/null +++ b/CMakeFiles/coverity_analysis.dir/cmake_clean_target.cmake @@ -0,0 +1,3 @@ +file(REMOVE_RECURSE + "lib/libcoverity_analysis.a" +) diff --git a/CMakeFiles/coverity_analysis.dir/compiler_depend.make b/CMakeFiles/coverity_analysis.dir/compiler_depend.make new file mode 100644 index 000000000..7d127885a --- /dev/null +++ b/CMakeFiles/coverity_analysis.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for coverity_analysis. +# This may be replaced when dependencies are built. diff --git a/CMakeFiles/coverity_analysis.dir/compiler_depend.ts b/CMakeFiles/coverity_analysis.dir/compiler_depend.ts new file mode 100644 index 000000000..21247989b --- /dev/null +++ b/CMakeFiles/coverity_analysis.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for coverity_analysis. diff --git a/CMakeFiles/coverity_analysis.dir/depend.make b/CMakeFiles/coverity_analysis.dir/depend.make new file mode 100644 index 000000000..6fac3c304 --- /dev/null +++ b/CMakeFiles/coverity_analysis.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for coverity_analysis. +# This may be replaced when dependencies are built. diff --git a/CMakeFiles/coverity_analysis.dir/flags.make b/CMakeFiles/coverity_analysis.dir/flags.make new file mode 100644 index 000000000..a25ccd50c --- /dev/null +++ b/CMakeFiles/coverity_analysis.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# compile C with /usr/bin/cc +C_DEFINES = -DMAX_USER_PROPERTY=5 -DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -DMQTT_VERSION_5_ENABLED=1 -DNDEBUG=1 + +C_INCLUDES = -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface + +C_FLAGS = -std=gnu90 + diff --git a/CMakeFiles/coverity_analysis.dir/link.txt b/CMakeFiles/coverity_analysis.dir/link.txt new file mode 100644 index 000000000..463f7745a --- /dev/null +++ b/CMakeFiles/coverity_analysis.dir/link.txt @@ -0,0 +1,2 @@ +/usr/bin/ar qc lib/libcoverity_analysis.a CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o +/usr/bin/ranlib lib/libcoverity_analysis.a diff --git a/CMakeFiles/coverity_analysis.dir/progress.make b/CMakeFiles/coverity_analysis.dir/progress.make new file mode 100644 index 000000000..05ba7d201 --- /dev/null +++ b/CMakeFiles/coverity_analysis.dir/progress.make @@ -0,0 +1,5 @@ +CMAKE_PROGRESS_1 = 45 +CMAKE_PROGRESS_2 = 46 +CMAKE_PROGRESS_3 = 47 +CMAKE_PROGRESS_4 = 48 + diff --git a/CMakeFiles/progress.marks b/CMakeFiles/progress.marks new file mode 100644 index 000000000..0691f67b2 --- /dev/null +++ b/CMakeFiles/progress.marks @@ -0,0 +1 @@ +52 diff --git a/CMakeFiles/unity.dir/DependInfo.cmake b/CMakeFiles/unity.dir/DependInfo.cmake new file mode 100644 index 000000000..dec6fb4d9 --- /dev/null +++ b/CMakeFiles/unity.dir/DependInfo.cmake @@ -0,0 +1,25 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c" "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o" "gcc" "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o.d" + "/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c" "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o" "gcc" "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o.d" + "/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src/unity.c" "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o" "gcc" "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o.d" + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/CMakeFiles/unity.dir/build.make b/CMakeFiles/unity.dir/build.make new file mode 100644 index 000000000..f5838a297 --- /dev/null +++ b/CMakeFiles/unity.dir/build.make @@ -0,0 +1,143 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Include any dependencies generated for this target. +include CMakeFiles/unity.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include CMakeFiles/unity.dir/compiler_depend.make + +# Include the progress variables for this target. +include CMakeFiles/unity.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/unity.dir/flags.make + +CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o: CMakeFiles/unity.dir/flags.make +CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o: /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src/unity.c +CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o: CMakeFiles/unity.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o -MF CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o.d -o CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o -c /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src/unity.c + +CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.i" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src/unity.c > CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.i + +CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.s" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src/unity.c -o CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.s + +CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o: CMakeFiles/unity.dir/flags.make +CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o: /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c +CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o: CMakeFiles/unity.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o -MF CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o.d -o CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o -c /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c + +CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.i" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c > CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.i + +CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.s" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c -o CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.s + +CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o: CMakeFiles/unity.dir/flags.make +CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o: /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c +CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o: CMakeFiles/unity.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o -MF CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o.d -o CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o -c /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c + +CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.i" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c > CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.i + +CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.s" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c -o CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.s + +# Object files for target unity +unity_OBJECTS = \ +"CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o" \ +"CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o" \ +"CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o" + +# External object files for target unity +unity_EXTERNAL_OBJECTS = + +lib/libunity.a: CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o +lib/libunity.a: CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o +lib/libunity.a: CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o +lib/libunity.a: CMakeFiles/unity.dir/build.make +lib/libunity.a: CMakeFiles/unity.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C static library lib/libunity.a" + $(CMAKE_COMMAND) -P CMakeFiles/unity.dir/cmake_clean_target.cmake + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/unity.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/unity.dir/build: lib/libunity.a +.PHONY : CMakeFiles/unity.dir/build + +CMakeFiles/unity.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/unity.dir/cmake_clean.cmake +.PHONY : CMakeFiles/unity.dir/clean + +CMakeFiles/unity.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/CMakeFiles/unity.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : CMakeFiles/unity.dir/depend + diff --git a/CMakeFiles/unity.dir/cmake_clean.cmake b/CMakeFiles/unity.dir/cmake_clean.cmake new file mode 100644 index 000000000..591a44dac --- /dev/null +++ b/CMakeFiles/unity.dir/cmake_clean.cmake @@ -0,0 +1,15 @@ +file(REMOVE_RECURSE + "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o" + "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o.d" + "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o" + "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o.d" + "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o" + "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o.d" + "lib/libunity.a" + "lib/libunity.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang C) + include(CMakeFiles/unity.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/CMakeFiles/unity.dir/cmake_clean_target.cmake b/CMakeFiles/unity.dir/cmake_clean_target.cmake new file mode 100644 index 000000000..7adebf191 --- /dev/null +++ b/CMakeFiles/unity.dir/cmake_clean_target.cmake @@ -0,0 +1,3 @@ +file(REMOVE_RECURSE + "lib/libunity.a" +) diff --git a/CMakeFiles/unity.dir/compiler_depend.make b/CMakeFiles/unity.dir/compiler_depend.make new file mode 100644 index 000000000..4b9b213e7 --- /dev/null +++ b/CMakeFiles/unity.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for unity. +# This may be replaced when dependencies are built. diff --git a/CMakeFiles/unity.dir/compiler_depend.ts b/CMakeFiles/unity.dir/compiler_depend.ts new file mode 100644 index 000000000..f1c7ff6a9 --- /dev/null +++ b/CMakeFiles/unity.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for unity. diff --git a/CMakeFiles/unity.dir/depend.make b/CMakeFiles/unity.dir/depend.make new file mode 100644 index 000000000..e8f4c92e3 --- /dev/null +++ b/CMakeFiles/unity.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for unity. +# This may be replaced when dependencies are built. diff --git a/CMakeFiles/unity.dir/flags.make b/CMakeFiles/unity.dir/flags.make new file mode 100644 index 000000000..132b2c24e --- /dev/null +++ b/CMakeFiles/unity.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# compile C with /usr/bin/cc +C_DEFINES = -DNDEBUG=1 + +C_INCLUDES = -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/src + +C_FLAGS = -std=gnu90 -fPIC + diff --git a/CMakeFiles/unity.dir/link.txt b/CMakeFiles/unity.dir/link.txt new file mode 100644 index 000000000..24af2aae4 --- /dev/null +++ b/CMakeFiles/unity.dir/link.txt @@ -0,0 +1,2 @@ +/usr/bin/ar qc lib/libunity.a "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o" "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o" "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o" +/usr/bin/ranlib lib/libunity.a diff --git a/CMakeFiles/unity.dir/progress.make b/CMakeFiles/unity.dir/progress.make new file mode 100644 index 000000000..04b2a4698 --- /dev/null +++ b/CMakeFiles/unity.dir/progress.make @@ -0,0 +1,5 @@ +CMAKE_PROGRESS_1 = 49 +CMAKE_PROGRESS_2 = 50 +CMAKE_PROGRESS_3 = 51 +CMAKE_PROGRESS_4 = 52 + diff --git a/CTestTestfile.cmake b/CTestTestfile.cmake new file mode 100644 index 000000000..b967327da --- /dev/null +++ b/CTestTestfile.cmake @@ -0,0 +1,8 @@ +# CMake generated Testfile for +# Source directory: /home/ubuntu/coreMQTT/test +# Build directory: /home/ubuntu/coreMQTT +# +# This file includes the relevant testing commands required for +# testing this directory and lists subdirectories to be tested as well. +subdirs("unit-test/MQTT") +subdirs("unit-test/MQTTv5") diff --git a/DartConfiguration.tcl b/DartConfiguration.tcl new file mode 100644 index 000000000..20f1a9776 --- /dev/null +++ b/DartConfiguration.tcl @@ -0,0 +1,109 @@ +# This file is configured by CMake automatically as DartConfiguration.tcl +# If you choose not to use CMake, this file may be hand configured, by +# filling in the required variables. + + +# Configuration directories and files +SourceDirectory: /home/ubuntu/coreMQTT/test +BuildDirectory: /home/ubuntu/coreMQTT + +# Where to place the cost data store +CostDataFile: + +# Site is something like machine.domain, i.e. pragmatic.crd +Site: ip-172-31-80-220 + +# Build name is osname-revision-compiler, i.e. Linux-2.4.2-2smp-c++ +BuildName: Linux-cc + +# Subprojects +LabelsForSubprojects: + +# Submission information +SubmitURL: http:// +SubmitInactivityTimeout: + +# Dashboard start time +NightlyStartTime: 00:00:00 EDT + +# Commands for the build/test/submit cycle +ConfigureCommand: "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake" "/home/ubuntu/coreMQTT/test" +MakeCommand: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake --build . --config "${CTEST_CONFIGURATION_TYPE}" +DefaultCTestConfigurationType: Release + +# version control +UpdateVersionOnly: + +# CVS options +# Default is "-d -P -A" +CVSCommand: +CVSUpdateOptions: + +# Subversion options +SVNCommand: +SVNOptions: +SVNUpdateOptions: + +# Git options +GITCommand: +GITInitSubmodules: +GITUpdateOptions: +GITUpdateCustom: + +# Perforce options +P4Command: +P4Client: +P4Options: +P4UpdateOptions: +P4UpdateCustom: + +# Generic update command +UpdateCommand: +UpdateOptions: +UpdateType: + +# Compiler info +Compiler: +CompilerVersion: + +# Dynamic analysis (MemCheck) +PurifyCommand: +ValgrindCommand: +ValgrindCommandOptions: +DrMemoryCommand: +DrMemoryCommandOptions: +CudaSanitizerCommand: +CudaSanitizerCommandOptions: +MemoryCheckType: +MemoryCheckSanitizerOptions: +MemoryCheckCommand: MEMORYCHECK_COMMAND-NOTFOUND +MemoryCheckCommandOptions: +MemoryCheckSuppressionFile: + +# Coverage +CoverageCommand: /usr/bin/gcov +CoverageExtraFlags: -l + +# Testing options +# TimeOut is the amount of time in seconds to wait for processes +# to complete during testing. After TimeOut seconds, the +# process will be summarily terminated. +# Currently set to 25 minutes +TimeOut: 1500 + +# During parallel testing CTest will not start a new test if doing +# so would cause the system load to exceed this value. +TestLoad: + +TLSVerify: +TLSVersion: + +UseLaunchers: +CurlOptions: +# warning, if you add new options here that have to do with submit, +# you have to update cmCTestSubmitCommand.cxx + +# For CTest submissions that timeout, these options +# specify behavior for retrying the submission +CTestSubmitRetryDelay: 5 +CTestSubmitRetryCount: 3 diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..10571f5ce --- /dev/null +++ b/Makefile @@ -0,0 +1,928 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running tests..." + /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test +.PHONY : test/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..." + /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..." + /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles /home/ubuntu/coreMQTT//CMakeFiles/progress.marks + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named coverity_analysis + +# Build rule for target. +coverity_analysis: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 coverity_analysis +.PHONY : coverity_analysis + +# fast build rule for target. +coverity_analysis/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/build +.PHONY : coverity_analysis/fast + +#============================================================================= +# Target rules for targets named cmock + +# Build rule for target. +cmock: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 cmock +.PHONY : cmock + +# fast build rule for target. +cmock/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/cmock.dir/build.make CMakeFiles/cmock.dir/build +.PHONY : cmock/fast + +#============================================================================= +# Target rules for targets named unity + +# Build rule for target. +unity: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unity +.PHONY : unity + +# fast build rule for target. +unity/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/build +.PHONY : unity/fast + +#============================================================================= +# Target rules for targets named coverage + +# Build rule for target. +coverage: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 coverage +.PHONY : coverage + +# fast build rule for target. +coverage/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/coverage.dir/build.make CMakeFiles/coverage.dir/build +.PHONY : coverage/fast + +#============================================================================= +# Target rules for targets named core_mqtt_mock + +# Build rule for target. +core_mqtt_mock: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 core_mqtt_mock +.PHONY : core_mqtt_mock + +# fast build rule for target. +core_mqtt_mock/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build +.PHONY : core_mqtt_mock/fast + +#============================================================================= +# Target rules for targets named core_mqtt_real + +# Build rule for target. +core_mqtt_real: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 core_mqtt_real +.PHONY : core_mqtt_real + +# fast build rule for target. +core_mqtt_real/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build +.PHONY : core_mqtt_real/fast + +#============================================================================= +# Target rules for targets named Experimental + +# Build rule for target. +Experimental: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 Experimental +.PHONY : Experimental + +# fast build rule for target. +Experimental/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Experimental.dir/build.make unit-test/MQTT/CMakeFiles/Experimental.dir/build +.PHONY : Experimental/fast + +#============================================================================= +# Target rules for targets named Nightly + +# Build rule for target. +Nightly: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 Nightly +.PHONY : Nightly + +# fast build rule for target. +Nightly/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Nightly.dir/build.make unit-test/MQTT/CMakeFiles/Nightly.dir/build +.PHONY : Nightly/fast + +#============================================================================= +# Target rules for targets named Continuous + +# Build rule for target. +Continuous: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 Continuous +.PHONY : Continuous + +# fast build rule for target. +Continuous/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Continuous.dir/build.make unit-test/MQTT/CMakeFiles/Continuous.dir/build +.PHONY : Continuous/fast + +#============================================================================= +# Target rules for targets named NightlyMemoryCheck + +# Build rule for target. +NightlyMemoryCheck: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 NightlyMemoryCheck +.PHONY : NightlyMemoryCheck + +# fast build rule for target. +NightlyMemoryCheck/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build.make unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build +.PHONY : NightlyMemoryCheck/fast + +#============================================================================= +# Target rules for targets named NightlyStart + +# Build rule for target. +NightlyStart: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 NightlyStart +.PHONY : NightlyStart + +# fast build rule for target. +NightlyStart/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyStart.dir/build.make unit-test/MQTT/CMakeFiles/NightlyStart.dir/build +.PHONY : NightlyStart/fast + +#============================================================================= +# Target rules for targets named NightlyUpdate + +# Build rule for target. +NightlyUpdate: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 NightlyUpdate +.PHONY : NightlyUpdate + +# fast build rule for target. +NightlyUpdate/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build.make unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build +.PHONY : NightlyUpdate/fast + +#============================================================================= +# Target rules for targets named NightlyConfigure + +# Build rule for target. +NightlyConfigure: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 NightlyConfigure +.PHONY : NightlyConfigure + +# fast build rule for target. +NightlyConfigure/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build.make unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build +.PHONY : NightlyConfigure/fast + +#============================================================================= +# Target rules for targets named NightlyBuild + +# Build rule for target. +NightlyBuild: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 NightlyBuild +.PHONY : NightlyBuild + +# fast build rule for target. +NightlyBuild/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build.make unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build +.PHONY : NightlyBuild/fast + +#============================================================================= +# Target rules for targets named NightlyTest + +# Build rule for target. +NightlyTest: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 NightlyTest +.PHONY : NightlyTest + +# fast build rule for target. +NightlyTest/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyTest.dir/build.make unit-test/MQTT/CMakeFiles/NightlyTest.dir/build +.PHONY : NightlyTest/fast + +#============================================================================= +# Target rules for targets named NightlyCoverage + +# Build rule for target. +NightlyCoverage: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 NightlyCoverage +.PHONY : NightlyCoverage + +# fast build rule for target. +NightlyCoverage/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build.make unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build +.PHONY : NightlyCoverage/fast + +#============================================================================= +# Target rules for targets named NightlyMemCheck + +# Build rule for target. +NightlyMemCheck: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 NightlyMemCheck +.PHONY : NightlyMemCheck + +# fast build rule for target. +NightlyMemCheck/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build +.PHONY : NightlyMemCheck/fast + +#============================================================================= +# Target rules for targets named NightlySubmit + +# Build rule for target. +NightlySubmit: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 NightlySubmit +.PHONY : NightlySubmit + +# fast build rule for target. +NightlySubmit/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build.make unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build +.PHONY : NightlySubmit/fast + +#============================================================================= +# Target rules for targets named ExperimentalStart + +# Build rule for target. +ExperimentalStart: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ExperimentalStart +.PHONY : ExperimentalStart + +# fast build rule for target. +ExperimentalStart/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build +.PHONY : ExperimentalStart/fast + +#============================================================================= +# Target rules for targets named ExperimentalUpdate + +# Build rule for target. +ExperimentalUpdate: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ExperimentalUpdate +.PHONY : ExperimentalUpdate + +# fast build rule for target. +ExperimentalUpdate/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build +.PHONY : ExperimentalUpdate/fast + +#============================================================================= +# Target rules for targets named ExperimentalConfigure + +# Build rule for target. +ExperimentalConfigure: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ExperimentalConfigure +.PHONY : ExperimentalConfigure + +# fast build rule for target. +ExperimentalConfigure/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build +.PHONY : ExperimentalConfigure/fast + +#============================================================================= +# Target rules for targets named ExperimentalBuild + +# Build rule for target. +ExperimentalBuild: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ExperimentalBuild +.PHONY : ExperimentalBuild + +# fast build rule for target. +ExperimentalBuild/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build +.PHONY : ExperimentalBuild/fast + +#============================================================================= +# Target rules for targets named ExperimentalTest + +# Build rule for target. +ExperimentalTest: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ExperimentalTest +.PHONY : ExperimentalTest + +# fast build rule for target. +ExperimentalTest/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build +.PHONY : ExperimentalTest/fast + +#============================================================================= +# Target rules for targets named ExperimentalCoverage + +# Build rule for target. +ExperimentalCoverage: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ExperimentalCoverage +.PHONY : ExperimentalCoverage + +# fast build rule for target. +ExperimentalCoverage/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build +.PHONY : ExperimentalCoverage/fast + +#============================================================================= +# Target rules for targets named ExperimentalMemCheck + +# Build rule for target. +ExperimentalMemCheck: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ExperimentalMemCheck +.PHONY : ExperimentalMemCheck + +# fast build rule for target. +ExperimentalMemCheck/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build +.PHONY : ExperimentalMemCheck/fast + +#============================================================================= +# Target rules for targets named ExperimentalSubmit + +# Build rule for target. +ExperimentalSubmit: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ExperimentalSubmit +.PHONY : ExperimentalSubmit + +# fast build rule for target. +ExperimentalSubmit/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build +.PHONY : ExperimentalSubmit/fast + +#============================================================================= +# Target rules for targets named ContinuousStart + +# Build rule for target. +ContinuousStart: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ContinuousStart +.PHONY : ContinuousStart + +# fast build rule for target. +ContinuousStart/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build +.PHONY : ContinuousStart/fast + +#============================================================================= +# Target rules for targets named ContinuousUpdate + +# Build rule for target. +ContinuousUpdate: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ContinuousUpdate +.PHONY : ContinuousUpdate + +# fast build rule for target. +ContinuousUpdate/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build +.PHONY : ContinuousUpdate/fast + +#============================================================================= +# Target rules for targets named ContinuousConfigure + +# Build rule for target. +ContinuousConfigure: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ContinuousConfigure +.PHONY : ContinuousConfigure + +# fast build rule for target. +ContinuousConfigure/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build +.PHONY : ContinuousConfigure/fast + +#============================================================================= +# Target rules for targets named ContinuousBuild + +# Build rule for target. +ContinuousBuild: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ContinuousBuild +.PHONY : ContinuousBuild + +# fast build rule for target. +ContinuousBuild/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build +.PHONY : ContinuousBuild/fast + +#============================================================================= +# Target rules for targets named ContinuousTest + +# Build rule for target. +ContinuousTest: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ContinuousTest +.PHONY : ContinuousTest + +# fast build rule for target. +ContinuousTest/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build +.PHONY : ContinuousTest/fast + +#============================================================================= +# Target rules for targets named ContinuousCoverage + +# Build rule for target. +ContinuousCoverage: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ContinuousCoverage +.PHONY : ContinuousCoverage + +# fast build rule for target. +ContinuousCoverage/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build +.PHONY : ContinuousCoverage/fast + +#============================================================================= +# Target rules for targets named ContinuousMemCheck + +# Build rule for target. +ContinuousMemCheck: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ContinuousMemCheck +.PHONY : ContinuousMemCheck + +# fast build rule for target. +ContinuousMemCheck/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build +.PHONY : ContinuousMemCheck/fast + +#============================================================================= +# Target rules for targets named ContinuousSubmit + +# Build rule for target. +ContinuousSubmit: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ContinuousSubmit +.PHONY : ContinuousSubmit + +# fast build rule for target. +ContinuousSubmit/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build +.PHONY : ContinuousSubmit/fast + +#============================================================================= +# Target rules for targets named core_mqtt_utest + +# Build rule for target. +core_mqtt_utest: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 core_mqtt_utest +.PHONY : core_mqtt_utest + +# fast build rule for target. +core_mqtt_utest/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build +.PHONY : core_mqtt_utest/fast + +#============================================================================= +# Target rules for targets named core_mqtt_state_utest + +# Build rule for target. +core_mqtt_state_utest: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 core_mqtt_state_utest +.PHONY : core_mqtt_state_utest + +# fast build rule for target. +core_mqtt_state_utest/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build +.PHONY : core_mqtt_state_utest/fast + +#============================================================================= +# Target rules for targets named core_mqtt_serializer_utest + +# Build rule for target. +core_mqtt_serializer_utest: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 core_mqtt_serializer_utest +.PHONY : core_mqtt_serializer_utest + +# fast build rule for target. +core_mqtt_serializer_utest/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build +.PHONY : core_mqtt_serializer_utest/fast + +#============================================================================= +# Target rules for targets named core_mqttv5_mock + +# Build rule for target. +core_mqttv5_mock: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 core_mqttv5_mock +.PHONY : core_mqttv5_mock + +# fast build rule for target. +core_mqttv5_mock/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build +.PHONY : core_mqttv5_mock/fast + +#============================================================================= +# Target rules for targets named core_mqttv5_real + +# Build rule for target. +core_mqttv5_real: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 core_mqttv5_real +.PHONY : core_mqttv5_real + +# fast build rule for target. +core_mqttv5_real/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build +.PHONY : core_mqttv5_real/fast + +#============================================================================= +# Target rules for targets named core_mqttv5_utest + +# Build rule for target. +core_mqttv5_utest: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 core_mqttv5_utest +.PHONY : core_mqttv5_utest + +# fast build rule for target. +core_mqttv5_utest/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build +.PHONY : core_mqttv5_utest/fast + +#============================================================================= +# Target rules for targets named core_mqttv5_state_utest + +# Build rule for target. +core_mqttv5_state_utest: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 core_mqttv5_state_utest +.PHONY : core_mqttv5_state_utest + +# fast build rule for target. +core_mqttv5_state_utest/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build +.PHONY : core_mqttv5_state_utest/fast + +#============================================================================= +# Target rules for targets named core_mqttv5_serializer_utest + +# Build rule for target. +core_mqttv5_serializer_utest: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 core_mqttv5_serializer_utest +.PHONY : core_mqttv5_serializer_utest + +# fast build rule for target. +core_mqttv5_serializer_utest/fast: + $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build +.PHONY : core_mqttv5_serializer_utest/fast + +source/core_mqtt.o: source/core_mqtt.c.o +.PHONY : source/core_mqtt.o + +# target to build an object file +source/core_mqtt.c.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o +.PHONY : source/core_mqtt.c.o + +source/core_mqtt.i: source/core_mqtt.c.i +.PHONY : source/core_mqtt.i + +# target to preprocess a source file +source/core_mqtt.c.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.i +.PHONY : source/core_mqtt.c.i + +source/core_mqtt.s: source/core_mqtt.c.s +.PHONY : source/core_mqtt.s + +# target to generate assembly for a file +source/core_mqtt.c.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.s +.PHONY : source/core_mqtt.c.s + +source/core_mqtt_serializer.o: source/core_mqtt_serializer.c.o +.PHONY : source/core_mqtt_serializer.o + +# target to build an object file +source/core_mqtt_serializer.c.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o +.PHONY : source/core_mqtt_serializer.c.o + +source/core_mqtt_serializer.i: source/core_mqtt_serializer.c.i +.PHONY : source/core_mqtt_serializer.i + +# target to preprocess a source file +source/core_mqtt_serializer.c.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.i +.PHONY : source/core_mqtt_serializer.c.i + +source/core_mqtt_serializer.s: source/core_mqtt_serializer.c.s +.PHONY : source/core_mqtt_serializer.s + +# target to generate assembly for a file +source/core_mqtt_serializer.c.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.s +.PHONY : source/core_mqtt_serializer.c.s + +source/core_mqtt_state.o: source/core_mqtt_state.c.o +.PHONY : source/core_mqtt_state.o + +# target to build an object file +source/core_mqtt_state.c.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o +.PHONY : source/core_mqtt_state.c.o + +source/core_mqtt_state.i: source/core_mqtt_state.c.i +.PHONY : source/core_mqtt_state.i + +# target to preprocess a source file +source/core_mqtt_state.c.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.i +.PHONY : source/core_mqtt_state.c.i + +source/core_mqtt_state.s: source/core_mqtt_state.c.s +.PHONY : source/core_mqtt_state.s + +# target to generate assembly for a file +source/core_mqtt_state.c.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.s +.PHONY : source/core_mqtt_state.c.s + +unit-test/CMock/src/cmock.o: unit-test/CMock/src/cmock.c.o +.PHONY : unit-test/CMock/src/cmock.o + +# target to build an object file +unit-test/CMock/src/cmock.c.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/cmock.dir/build.make CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o +.PHONY : unit-test/CMock/src/cmock.c.o + +unit-test/CMock/src/cmock.i: unit-test/CMock/src/cmock.c.i +.PHONY : unit-test/CMock/src/cmock.i + +# target to preprocess a source file +unit-test/CMock/src/cmock.c.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/cmock.dir/build.make CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.i +.PHONY : unit-test/CMock/src/cmock.c.i + +unit-test/CMock/src/cmock.s: unit-test/CMock/src/cmock.c.s +.PHONY : unit-test/CMock/src/cmock.s + +# target to generate assembly for a file +unit-test/CMock/src/cmock.c.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/cmock.dir/build.make CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.s +.PHONY : unit-test/CMock/src/cmock.c.s + +unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.o: unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o +.PHONY : unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.o + +# target to build an object file +unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o +.PHONY : unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o + +unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.i: unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.i +.PHONY : unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.i + +# target to preprocess a source file +unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.i +.PHONY : unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.i + +unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.s: unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.s +.PHONY : unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.s + +# target to generate assembly for a file +unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.s +.PHONY : unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.s + +unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.o: unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o +.PHONY : unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.o + +# target to build an object file +unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o +.PHONY : unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o + +unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.i: unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.i +.PHONY : unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.i + +# target to preprocess a source file +unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.i +.PHONY : unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.i + +unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.s: unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.s +.PHONY : unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.s + +# target to generate assembly for a file +unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.s +.PHONY : unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.s + +unit-test/CMock/vendor/unity/src/unity.o: unit-test/CMock/vendor/unity/src/unity.c.o +.PHONY : unit-test/CMock/vendor/unity/src/unity.o + +# target to build an object file +unit-test/CMock/vendor/unity/src/unity.c.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o +.PHONY : unit-test/CMock/vendor/unity/src/unity.c.o + +unit-test/CMock/vendor/unity/src/unity.i: unit-test/CMock/vendor/unity/src/unity.c.i +.PHONY : unit-test/CMock/vendor/unity/src/unity.i + +# target to preprocess a source file +unit-test/CMock/vendor/unity/src/unity.c.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.i +.PHONY : unit-test/CMock/vendor/unity/src/unity.c.i + +unit-test/CMock/vendor/unity/src/unity.s: unit-test/CMock/vendor/unity/src/unity.c.s +.PHONY : unit-test/CMock/vendor/unity/src/unity.s + +# target to generate assembly for a file +unit-test/CMock/vendor/unity/src/unity.c.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.s +.PHONY : unit-test/CMock/vendor/unity/src/unity.c.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... rebuild_cache" + @echo "... test" + @echo "... Continuous" + @echo "... ContinuousBuild" + @echo "... ContinuousConfigure" + @echo "... ContinuousCoverage" + @echo "... ContinuousMemCheck" + @echo "... ContinuousStart" + @echo "... ContinuousSubmit" + @echo "... ContinuousTest" + @echo "... ContinuousUpdate" + @echo "... Experimental" + @echo "... ExperimentalBuild" + @echo "... ExperimentalConfigure" + @echo "... ExperimentalCoverage" + @echo "... ExperimentalMemCheck" + @echo "... ExperimentalStart" + @echo "... ExperimentalSubmit" + @echo "... ExperimentalTest" + @echo "... ExperimentalUpdate" + @echo "... Nightly" + @echo "... NightlyBuild" + @echo "... NightlyConfigure" + @echo "... NightlyCoverage" + @echo "... NightlyMemCheck" + @echo "... NightlyMemoryCheck" + @echo "... NightlyStart" + @echo "... NightlySubmit" + @echo "... NightlyTest" + @echo "... NightlyUpdate" + @echo "... coverage" + @echo "... cmock" + @echo "... core_mqtt_mock" + @echo "... core_mqtt_real" + @echo "... core_mqtt_serializer_utest" + @echo "... core_mqtt_state_utest" + @echo "... core_mqtt_utest" + @echo "... core_mqttv5_mock" + @echo "... core_mqttv5_real" + @echo "... core_mqttv5_serializer_utest" + @echo "... core_mqttv5_state_utest" + @echo "... core_mqttv5_utest" + @echo "... coverity_analysis" + @echo "... unity" + @echo "... source/core_mqtt.o" + @echo "... source/core_mqtt.i" + @echo "... source/core_mqtt.s" + @echo "... source/core_mqtt_serializer.o" + @echo "... source/core_mqtt_serializer.i" + @echo "... source/core_mqtt_serializer.s" + @echo "... source/core_mqtt_state.o" + @echo "... source/core_mqtt_state.i" + @echo "... source/core_mqtt_state.s" + @echo "... unit-test/CMock/src/cmock.o" + @echo "... unit-test/CMock/src/cmock.i" + @echo "... unit-test/CMock/src/cmock.s" + @echo "... unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.o" + @echo "... unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.i" + @echo "... unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.s" + @echo "... unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.o" + @echo "... unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.i" + @echo "... unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.s" + @echo "... unit-test/CMock/vendor/unity/src/unity.o" + @echo "... unit-test/CMock/vendor/unity/src/unity.i" + @echo "... unit-test/CMock/vendor/unity/src/unity.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/cmake_install.cmake b/cmake_install.cmake new file mode 100644 index 000000000..e91341322 --- /dev/null +++ b/cmake_install.cmake @@ -0,0 +1,72 @@ +# Install script for directory: /home/ubuntu/coreMQTT/test + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set path to fallback-tool for dependency-resolution. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if(NOT CMAKE_INSTALL_LOCAL_ONLY) + # Include the install script for the subdirectory. + include("/home/ubuntu/coreMQTT/unit-test/MQTT/cmake_install.cmake") +endif() + +if(NOT CMAKE_INSTALL_LOCAL_ONLY) + # Include the install script for the subdirectory. + include("/home/ubuntu/coreMQTT/unit-test/MQTTv5/cmake_install.cmake") +endif() + +if(CMAKE_INSTALL_COMPONENT) + if(CMAKE_INSTALL_COMPONENT MATCHES "^[a-zA-Z0-9_.+-]+$") + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") + else() + string(MD5 CMAKE_INST_COMP_HASH "${CMAKE_INSTALL_COMPONENT}") + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INST_COMP_HASH}.txt") + unset(CMAKE_INST_COMP_HASH) + endif() +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +if(NOT CMAKE_INSTALL_LOCAL_ONLY) + string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") + file(WRITE "/home/ubuntu/coreMQTT/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") +endif() diff --git a/test/unit-test/MQTTv5/core_mqtt_config.h b/test/unit-test/MQTTv5/core_mqtt_config.h index cdaba540c..9cf92dafd 100644 --- a/test/unit-test/MQTTv5/core_mqtt_config.h +++ b/test/unit-test/MQTTv5/core_mqtt_config.h @@ -73,6 +73,6 @@ #define MQTT_SEND_TIMEOUT_MS ( 200U ) #define MQTT_VERSION_5_ENABLED ( true ) -#define MAX_USER_PROPERTY (5U) +#define MAX_USER_PROPERTY (5000U) #endif /* ifndef CORE_MQTT_CONFIG_H_ */ \ No newline at end of file diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index d761c8a41..fe2d3b8eb 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -619,6 +619,7 @@ MQTTStatus_t decodeVariableLength(const uint8_t *pBuffer, size_t *length) return status; } + static void verifySerializedConnectPacket(const MQTTConnectInfo_t *const pConnectInfo, const MQTTPublishInfo_t *const pWillInfo, const MQTTConnectProperties_t *pConnectProperties, @@ -1217,6 +1218,17 @@ void test_MQTTV5_DeserializeConnackOnlySessionExpiry(void) packetInfo.remainingLength = 8; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 20971556356235); + LogDebug(("Encoded size for length is %lu bytes.", + (unsigned long)propertyLength)); + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTBadResponse, status); + + packetInfo.remainingLength = 8; + pIndexLocal = &buffer[2]; + *pIndexLocal = 0x81; + pIndexLocal++; + *pIndexLocal = 0x00; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTBadResponse, status); } @@ -1642,7 +1654,7 @@ void test_MQTTV5_DeserializeConnackOnlyTopicAlias(void) /*Invalid property length*/ pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 2); - packetInfo.remainingLength = propertyLength +3; + packetInfo.remainingLength = propertyLength + 4; pIndexLocal++; *pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; pIndexLocal++; @@ -1678,6 +1690,17 @@ void test_MQTTV5_DeserializeConnackOnlyWildCard(void) status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); TEST_ASSERT_EQUAL_INT(0, properties.isWildcardAvaiable); + + /*Value more than 1 is not allowed*/ + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal++; + *pIndexLocal = MQTT_WILDCARD_ID; + pIndexLocal++; + pIndexLocal[0] = 3; + pIndexLocal++; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); /*Protocol error to include the same property twice*/ packetInfo.remainingLength = 7; @@ -1766,7 +1789,7 @@ void test_MQTTV5_DeserializeConnackOnlyReasonString(void) /*Invalid property length*/ pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 2); - packetInfo.remainingLength = propertyLength + 3; + packetInfo.remainingLength = propertyLength + 4; pIndexLocal++; *pIndexLocal = MQTT_REASON_STRING_ID; pIndexLocal++; @@ -1803,6 +1826,17 @@ void test_MQTTV5_DeserializeConnackOnlySUbId(void) TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); TEST_ASSERT_EQUAL_INT(0, properties.subscriptionId); + /*Value more than 1 is not allowed*/ + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal++; + *pIndexLocal = MQTT_SUB_AVAILABLE_ID; + pIndexLocal++; + pIndexLocal[0] = 3; + pIndexLocal++; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + /*Protocol error to include the same property twice*/ packetInfo.remainingLength = 7; pIndexLocal = &buffer[2]; @@ -1859,6 +1893,17 @@ void test_MQTTV5_DeserializeConnackOnlySharedSub(void) TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); TEST_ASSERT_EQUAL_INT(0, properties.isSharedAvailable); + /*Value more than 1 is not allowed*/ + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal++; + *pIndexLocal = MQTT_SHARED_SUB_ID; + pIndexLocal++; + pIndexLocal[0] = 3; + pIndexLocal++; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + /*Protocol error to include the same property twice*/ packetInfo.remainingLength = 7; pIndexLocal = &buffer[2]; @@ -2506,15 +2551,14 @@ void test_MQTTV5_GetConnectPacketSize(void) TEST_ASSERT_EQUAL(MQTTBadParameter, status); - userProperty.key = "211"; + userProperty.key = "20011"; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTSuccess, status); TEST_ASSERT_EQUAL_size_t(29, properties.propertyLength); - properties.outgoingUserPropSize = 6; + properties.outgoingUserPropSize = 6000; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); properties.outgoingUserPropSize = 1; @@ -2667,14 +2711,14 @@ void test_MQTTV5_GetConnectPacketSize(void) /*Limit of property length*/ memset(&properties, 0x0, sizeof(properties)); /*5*/ - properties.receiveMax = 1; + properties.receiveMax = UINT16_MAX; properties.reqProbInfo = 1; - MQTTUserProperty_t userPropArr[2048]; - properties.outgoingUserPropSize = 2048; + MQTTUserProperty_t userPropArr[5000]; + properties.outgoingUserPropSize = 5000; properties.outgoingUserProperty = userPropArr; uint16_t i = 0; - for(;i<2048;i++){ + for(;i<5000;i++){ userPropArr[i].keyLength = UINT16_MAX; userPropArr[i].key = "a"; userPropArr[i].valueLength = UINT16_MAX; @@ -2690,6 +2734,13 @@ void test_MQTTV5_GetConnectPacketSize(void) status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + willInfo.userPropertySize = 5000; + willInfo.userProperty = userPropArr; + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + } // /** diff --git a/unit-test/MQTT/CMakeFiles/CMakeDirectoryInformation.cmake b/unit-test/MQTT/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 000000000..53a389810 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/ubuntu/coreMQTT/test") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/ubuntu/coreMQTT") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/unit-test/MQTT/CMakeFiles/Continuous.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/Continuous.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/Continuous.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/Continuous.dir/build.make b/unit-test/MQTT/CMakeFiles/Continuous.dir/build.make new file mode 100644 index 000000000..92a398a0c --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/Continuous.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for Continuous. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/Continuous.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/Continuous.dir/progress.make + +unit-test/MQTT/CMakeFiles/Continuous: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D Continuous + +Continuous: unit-test/MQTT/CMakeFiles/Continuous +Continuous: unit-test/MQTT/CMakeFiles/Continuous.dir/build.make +.PHONY : Continuous + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/Continuous.dir/build: Continuous +.PHONY : unit-test/MQTT/CMakeFiles/Continuous.dir/build + +unit-test/MQTT/CMakeFiles/Continuous.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/Continuous.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/Continuous.dir/clean + +unit-test/MQTT/CMakeFiles/Continuous.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/Continuous.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/Continuous.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/Continuous.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/Continuous.dir/cmake_clean.cmake new file mode 100644 index 000000000..7e1791cf8 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/Continuous.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/Continuous" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/Continuous.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/Continuous.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/Continuous.dir/compiler_depend.make new file mode 100644 index 000000000..4e014e081 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/Continuous.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for Continuous. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/Continuous.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/Continuous.dir/compiler_depend.ts new file mode 100644 index 000000000..86303622d --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/Continuous.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for Continuous. diff --git a/unit-test/MQTT/CMakeFiles/Continuous.dir/progress.make b/unit-test/MQTT/CMakeFiles/Continuous.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/Continuous.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build.make b/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build.make new file mode 100644 index 000000000..35ea26398 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for ContinuousBuild. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/progress.make + +unit-test/MQTT/CMakeFiles/ContinuousBuild: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ContinuousBuild + +ContinuousBuild: unit-test/MQTT/CMakeFiles/ContinuousBuild +ContinuousBuild: unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build.make +.PHONY : ContinuousBuild + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build: ContinuousBuild +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build + +unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/clean + +unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake new file mode 100644 index 000000000..afccd1368 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ContinuousBuild" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ContinuousBuild.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/compiler_depend.make new file mode 100644 index 000000000..00b62ad4d --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for ContinuousBuild. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/compiler_depend.ts new file mode 100644 index 000000000..1cb861826 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for ContinuousBuild. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/progress.make b/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build.make b/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build.make new file mode 100644 index 000000000..a0d3a59ff --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for ContinuousConfigure. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/progress.make + +unit-test/MQTT/CMakeFiles/ContinuousConfigure: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ContinuousConfigure + +ContinuousConfigure: unit-test/MQTT/CMakeFiles/ContinuousConfigure +ContinuousConfigure: unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build.make +.PHONY : ContinuousConfigure + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build: ContinuousConfigure +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build + +unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/clean + +unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake new file mode 100644 index 000000000..eb51e2048 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ContinuousConfigure" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ContinuousConfigure.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/compiler_depend.make new file mode 100644 index 000000000..584c8bb3f --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for ContinuousConfigure. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/compiler_depend.ts new file mode 100644 index 000000000..c8a342772 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for ContinuousConfigure. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/progress.make b/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build.make b/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build.make new file mode 100644 index 000000000..58afab27b --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for ContinuousCoverage. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/progress.make + +unit-test/MQTT/CMakeFiles/ContinuousCoverage: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ContinuousCoverage + +ContinuousCoverage: unit-test/MQTT/CMakeFiles/ContinuousCoverage +ContinuousCoverage: unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build.make +.PHONY : ContinuousCoverage + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build: ContinuousCoverage +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build + +unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/clean + +unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake new file mode 100644 index 000000000..6115f89bd --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ContinuousCoverage" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ContinuousCoverage.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/compiler_depend.make new file mode 100644 index 000000000..8d1a807b1 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for ContinuousCoverage. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/compiler_depend.ts new file mode 100644 index 000000000..23d476b9f --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for ContinuousCoverage. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/progress.make b/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build.make b/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build.make new file mode 100644 index 000000000..21f7b9788 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for ContinuousMemCheck. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/progress.make + +unit-test/MQTT/CMakeFiles/ContinuousMemCheck: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ContinuousMemCheck + +ContinuousMemCheck: unit-test/MQTT/CMakeFiles/ContinuousMemCheck +ContinuousMemCheck: unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build.make +.PHONY : ContinuousMemCheck + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build: ContinuousMemCheck +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build + +unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/clean + +unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake new file mode 100644 index 000000000..ad69e7ff4 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ContinuousMemCheck" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ContinuousMemCheck.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/compiler_depend.make new file mode 100644 index 000000000..930bb6168 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for ContinuousMemCheck. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/compiler_depend.ts new file mode 100644 index 000000000..4f4fc23fc --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for ContinuousMemCheck. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/progress.make b/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build.make b/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build.make new file mode 100644 index 000000000..3a69685d6 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for ContinuousStart. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/ContinuousStart.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/ContinuousStart.dir/progress.make + +unit-test/MQTT/CMakeFiles/ContinuousStart: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ContinuousStart + +ContinuousStart: unit-test/MQTT/CMakeFiles/ContinuousStart +ContinuousStart: unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build.make +.PHONY : ContinuousStart + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build: ContinuousStart +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build + +unit-test/MQTT/CMakeFiles/ContinuousStart.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ContinuousStart.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousStart.dir/clean + +unit-test/MQTT/CMakeFiles/ContinuousStart.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousStart.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/cmake_clean.cmake new file mode 100644 index 000000000..13d5b2bcc --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ContinuousStart" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ContinuousStart.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/compiler_depend.make new file mode 100644 index 000000000..af626145d --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for ContinuousStart. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/compiler_depend.ts new file mode 100644 index 000000000..fcc8893db --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for ContinuousStart. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/progress.make b/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build.make b/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build.make new file mode 100644 index 000000000..b0291b15f --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for ContinuousSubmit. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/progress.make + +unit-test/MQTT/CMakeFiles/ContinuousSubmit: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ContinuousSubmit + +ContinuousSubmit: unit-test/MQTT/CMakeFiles/ContinuousSubmit +ContinuousSubmit: unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build.make +.PHONY : ContinuousSubmit + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build: ContinuousSubmit +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build + +unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/clean + +unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake new file mode 100644 index 000000000..cc66ba377 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ContinuousSubmit" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ContinuousSubmit.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/compiler_depend.make new file mode 100644 index 000000000..338091693 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for ContinuousSubmit. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/compiler_depend.ts new file mode 100644 index 000000000..73d7404b9 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for ContinuousSubmit. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/progress.make b/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build.make b/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build.make new file mode 100644 index 000000000..e4178bfd1 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for ContinuousTest. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/ContinuousTest.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/ContinuousTest.dir/progress.make + +unit-test/MQTT/CMakeFiles/ContinuousTest: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ContinuousTest + +ContinuousTest: unit-test/MQTT/CMakeFiles/ContinuousTest +ContinuousTest: unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build.make +.PHONY : ContinuousTest + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build: ContinuousTest +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build + +unit-test/MQTT/CMakeFiles/ContinuousTest.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ContinuousTest.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousTest.dir/clean + +unit-test/MQTT/CMakeFiles/ContinuousTest.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousTest.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/cmake_clean.cmake new file mode 100644 index 000000000..ff11d485d --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ContinuousTest" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ContinuousTest.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/compiler_depend.make new file mode 100644 index 000000000..24d664a29 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for ContinuousTest. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/compiler_depend.ts new file mode 100644 index 000000000..bd7c1d1f5 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for ContinuousTest. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/progress.make b/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build.make b/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build.make new file mode 100644 index 000000000..81d695f98 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for ContinuousUpdate. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/progress.make + +unit-test/MQTT/CMakeFiles/ContinuousUpdate: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ContinuousUpdate + +ContinuousUpdate: unit-test/MQTT/CMakeFiles/ContinuousUpdate +ContinuousUpdate: unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build.make +.PHONY : ContinuousUpdate + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build: ContinuousUpdate +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build + +unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/clean + +unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake new file mode 100644 index 000000000..7a77a24c3 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ContinuousUpdate" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ContinuousUpdate.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/compiler_depend.make new file mode 100644 index 000000000..b37322694 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for ContinuousUpdate. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/compiler_depend.ts new file mode 100644 index 000000000..ed8de9256 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for ContinuousUpdate. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/progress.make b/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/Experimental.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/Experimental.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/Experimental.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/Experimental.dir/build.make b/unit-test/MQTT/CMakeFiles/Experimental.dir/build.make new file mode 100644 index 000000000..6731774e9 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/Experimental.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for Experimental. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/Experimental.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/Experimental.dir/progress.make + +unit-test/MQTT/CMakeFiles/Experimental: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D Experimental + +Experimental: unit-test/MQTT/CMakeFiles/Experimental +Experimental: unit-test/MQTT/CMakeFiles/Experimental.dir/build.make +.PHONY : Experimental + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/Experimental.dir/build: Experimental +.PHONY : unit-test/MQTT/CMakeFiles/Experimental.dir/build + +unit-test/MQTT/CMakeFiles/Experimental.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/Experimental.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/Experimental.dir/clean + +unit-test/MQTT/CMakeFiles/Experimental.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/Experimental.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/Experimental.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/Experimental.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/Experimental.dir/cmake_clean.cmake new file mode 100644 index 000000000..799e7082f --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/Experimental.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/Experimental" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/Experimental.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/Experimental.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/Experimental.dir/compiler_depend.make new file mode 100644 index 000000000..df83d58ef --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/Experimental.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for Experimental. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/Experimental.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/Experimental.dir/compiler_depend.ts new file mode 100644 index 000000000..2619b9b51 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/Experimental.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for Experimental. diff --git a/unit-test/MQTT/CMakeFiles/Experimental.dir/progress.make b/unit-test/MQTT/CMakeFiles/Experimental.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/Experimental.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build.make b/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build.make new file mode 100644 index 000000000..58c79a106 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for ExperimentalBuild. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/progress.make + +unit-test/MQTT/CMakeFiles/ExperimentalBuild: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ExperimentalBuild + +ExperimentalBuild: unit-test/MQTT/CMakeFiles/ExperimentalBuild +ExperimentalBuild: unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build.make +.PHONY : ExperimentalBuild + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build: ExperimentalBuild +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build + +unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/clean + +unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake new file mode 100644 index 000000000..3354e3f1c --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ExperimentalBuild" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ExperimentalBuild.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/compiler_depend.make new file mode 100644 index 000000000..760863142 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for ExperimentalBuild. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/compiler_depend.ts new file mode 100644 index 000000000..34d916063 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for ExperimentalBuild. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/progress.make b/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build.make b/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build.make new file mode 100644 index 000000000..6413e7ff4 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for ExperimentalConfigure. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/progress.make + +unit-test/MQTT/CMakeFiles/ExperimentalConfigure: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ExperimentalConfigure + +ExperimentalConfigure: unit-test/MQTT/CMakeFiles/ExperimentalConfigure +ExperimentalConfigure: unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build.make +.PHONY : ExperimentalConfigure + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build: ExperimentalConfigure +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build + +unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/clean + +unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake new file mode 100644 index 000000000..69e4a7199 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ExperimentalConfigure" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ExperimentalConfigure.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/compiler_depend.make new file mode 100644 index 000000000..073879663 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for ExperimentalConfigure. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/compiler_depend.ts new file mode 100644 index 000000000..51fc32c42 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for ExperimentalConfigure. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/progress.make b/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build.make b/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build.make new file mode 100644 index 000000000..2353222b6 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for ExperimentalCoverage. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/progress.make + +unit-test/MQTT/CMakeFiles/ExperimentalCoverage: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ExperimentalCoverage + +ExperimentalCoverage: unit-test/MQTT/CMakeFiles/ExperimentalCoverage +ExperimentalCoverage: unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build.make +.PHONY : ExperimentalCoverage + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build: ExperimentalCoverage +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build + +unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/clean + +unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake new file mode 100644 index 000000000..b8d6597a5 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ExperimentalCoverage" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ExperimentalCoverage.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/compiler_depend.make new file mode 100644 index 000000000..4c327cbb3 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for ExperimentalCoverage. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/compiler_depend.ts new file mode 100644 index 000000000..d3bffd388 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for ExperimentalCoverage. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/progress.make b/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build.make b/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build.make new file mode 100644 index 000000000..137c24ff6 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for ExperimentalMemCheck. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/progress.make + +unit-test/MQTT/CMakeFiles/ExperimentalMemCheck: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ExperimentalMemCheck + +ExperimentalMemCheck: unit-test/MQTT/CMakeFiles/ExperimentalMemCheck +ExperimentalMemCheck: unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build.make +.PHONY : ExperimentalMemCheck + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build: ExperimentalMemCheck +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build + +unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/clean + +unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake new file mode 100644 index 000000000..ed3f7bc0d --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ExperimentalMemCheck" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ExperimentalMemCheck.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/compiler_depend.make new file mode 100644 index 000000000..ab194c2b9 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for ExperimentalMemCheck. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/compiler_depend.ts new file mode 100644 index 000000000..5d0d9acc8 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for ExperimentalMemCheck. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/progress.make b/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build.make b/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build.make new file mode 100644 index 000000000..f5a4a9a93 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for ExperimentalStart. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/progress.make + +unit-test/MQTT/CMakeFiles/ExperimentalStart: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ExperimentalStart + +ExperimentalStart: unit-test/MQTT/CMakeFiles/ExperimentalStart +ExperimentalStart: unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build.make +.PHONY : ExperimentalStart + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build: ExperimentalStart +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build + +unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/clean + +unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake new file mode 100644 index 000000000..4e2736b1b --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ExperimentalStart" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ExperimentalStart.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/compiler_depend.make new file mode 100644 index 000000000..29aab519f --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for ExperimentalStart. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/compiler_depend.ts new file mode 100644 index 000000000..a636e5c05 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for ExperimentalStart. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/progress.make b/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build.make b/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build.make new file mode 100644 index 000000000..2d8d5bb69 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for ExperimentalSubmit. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/progress.make + +unit-test/MQTT/CMakeFiles/ExperimentalSubmit: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ExperimentalSubmit + +ExperimentalSubmit: unit-test/MQTT/CMakeFiles/ExperimentalSubmit +ExperimentalSubmit: unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build.make +.PHONY : ExperimentalSubmit + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build: ExperimentalSubmit +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build + +unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/clean + +unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake new file mode 100644 index 000000000..d130e45a3 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ExperimentalSubmit" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ExperimentalSubmit.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/compiler_depend.make new file mode 100644 index 000000000..444017272 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for ExperimentalSubmit. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/compiler_depend.ts new file mode 100644 index 000000000..7fa97b160 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for ExperimentalSubmit. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/progress.make b/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build.make b/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build.make new file mode 100644 index 000000000..c518c585b --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for ExperimentalTest. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/progress.make + +unit-test/MQTT/CMakeFiles/ExperimentalTest: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ExperimentalTest + +ExperimentalTest: unit-test/MQTT/CMakeFiles/ExperimentalTest +ExperimentalTest: unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build.make +.PHONY : ExperimentalTest + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build: ExperimentalTest +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build + +unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/clean + +unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake new file mode 100644 index 000000000..4348aa36d --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ExperimentalTest" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ExperimentalTest.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/compiler_depend.make new file mode 100644 index 000000000..fab28a944 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for ExperimentalTest. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/compiler_depend.ts new file mode 100644 index 000000000..fbeb091d4 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for ExperimentalTest. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/progress.make b/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build.make b/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build.make new file mode 100644 index 000000000..32c42781f --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for ExperimentalUpdate. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/progress.make + +unit-test/MQTT/CMakeFiles/ExperimentalUpdate: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ExperimentalUpdate + +ExperimentalUpdate: unit-test/MQTT/CMakeFiles/ExperimentalUpdate +ExperimentalUpdate: unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build.make +.PHONY : ExperimentalUpdate + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build: ExperimentalUpdate +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build + +unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/clean + +unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake new file mode 100644 index 000000000..231904943 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ExperimentalUpdate" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ExperimentalUpdate.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/compiler_depend.make new file mode 100644 index 000000000..30e8f2cac --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for ExperimentalUpdate. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/compiler_depend.ts new file mode 100644 index 000000000..aa7a97edf --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for ExperimentalUpdate. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/progress.make b/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/Nightly.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/Nightly.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/Nightly.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/Nightly.dir/build.make b/unit-test/MQTT/CMakeFiles/Nightly.dir/build.make new file mode 100644 index 000000000..946c5e17c --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/Nightly.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for Nightly. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/Nightly.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/Nightly.dir/progress.make + +unit-test/MQTT/CMakeFiles/Nightly: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D Nightly + +Nightly: unit-test/MQTT/CMakeFiles/Nightly +Nightly: unit-test/MQTT/CMakeFiles/Nightly.dir/build.make +.PHONY : Nightly + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/Nightly.dir/build: Nightly +.PHONY : unit-test/MQTT/CMakeFiles/Nightly.dir/build + +unit-test/MQTT/CMakeFiles/Nightly.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/Nightly.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/Nightly.dir/clean + +unit-test/MQTT/CMakeFiles/Nightly.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/Nightly.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/Nightly.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/Nightly.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/Nightly.dir/cmake_clean.cmake new file mode 100644 index 000000000..99a4ac149 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/Nightly.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/Nightly" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/Nightly.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/Nightly.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/Nightly.dir/compiler_depend.make new file mode 100644 index 000000000..b53ef7a75 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/Nightly.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for Nightly. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/Nightly.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/Nightly.dir/compiler_depend.ts new file mode 100644 index 000000000..a85d2c815 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/Nightly.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for Nightly. diff --git a/unit-test/MQTT/CMakeFiles/Nightly.dir/progress.make b/unit-test/MQTT/CMakeFiles/Nightly.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/Nightly.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build.make b/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build.make new file mode 100644 index 000000000..cf4165393 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for NightlyBuild. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/NightlyBuild.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/NightlyBuild.dir/progress.make + +unit-test/MQTT/CMakeFiles/NightlyBuild: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D NightlyBuild + +NightlyBuild: unit-test/MQTT/CMakeFiles/NightlyBuild +NightlyBuild: unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build.make +.PHONY : NightlyBuild + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build: NightlyBuild +.PHONY : unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build + +unit-test/MQTT/CMakeFiles/NightlyBuild.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/NightlyBuild.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/NightlyBuild.dir/clean + +unit-test/MQTT/CMakeFiles/NightlyBuild.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/NightlyBuild.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/cmake_clean.cmake new file mode 100644 index 000000000..7aa38a784 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/NightlyBuild" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/NightlyBuild.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/compiler_depend.make new file mode 100644 index 000000000..da2f34755 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for NightlyBuild. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/compiler_depend.ts new file mode 100644 index 000000000..89e696096 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for NightlyBuild. diff --git a/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/progress.make b/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build.make b/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build.make new file mode 100644 index 000000000..d1480021b --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for NightlyConfigure. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/progress.make + +unit-test/MQTT/CMakeFiles/NightlyConfigure: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D NightlyConfigure + +NightlyConfigure: unit-test/MQTT/CMakeFiles/NightlyConfigure +NightlyConfigure: unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build.make +.PHONY : NightlyConfigure + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build: NightlyConfigure +.PHONY : unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build + +unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/clean + +unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake new file mode 100644 index 000000000..080c729b9 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/NightlyConfigure" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/NightlyConfigure.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/compiler_depend.make new file mode 100644 index 000000000..973bd2a5b --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for NightlyConfigure. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/compiler_depend.ts new file mode 100644 index 000000000..3e550dad8 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for NightlyConfigure. diff --git a/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/progress.make b/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build.make b/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build.make new file mode 100644 index 000000000..6c544c261 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for NightlyCoverage. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/progress.make + +unit-test/MQTT/CMakeFiles/NightlyCoverage: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D NightlyCoverage + +NightlyCoverage: unit-test/MQTT/CMakeFiles/NightlyCoverage +NightlyCoverage: unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build.make +.PHONY : NightlyCoverage + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build: NightlyCoverage +.PHONY : unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build + +unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/clean + +unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake new file mode 100644 index 000000000..d6cba89b0 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/NightlyCoverage" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/NightlyCoverage.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/compiler_depend.make new file mode 100644 index 000000000..9f188a1ee --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for NightlyCoverage. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/compiler_depend.ts new file mode 100644 index 000000000..3092ba3e9 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for NightlyCoverage. diff --git a/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/progress.make b/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build.make b/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build.make new file mode 100644 index 000000000..dc1baba69 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for NightlyMemCheck. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/progress.make + +unit-test/MQTT/CMakeFiles/NightlyMemCheck: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D NightlyMemCheck + +NightlyMemCheck: unit-test/MQTT/CMakeFiles/NightlyMemCheck +NightlyMemCheck: unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build.make +.PHONY : NightlyMemCheck + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build: NightlyMemCheck +.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build + +unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/clean + +unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake new file mode 100644 index 000000000..3c0e881a0 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/NightlyMemCheck" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/NightlyMemCheck.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/compiler_depend.make new file mode 100644 index 000000000..6c54911b9 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for NightlyMemCheck. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/compiler_depend.ts new file mode 100644 index 000000000..c176eda13 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for NightlyMemCheck. diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/progress.make b/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build.make b/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build.make new file mode 100644 index 000000000..aa934d4ae --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for NightlyMemoryCheck. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/progress.make + +unit-test/MQTT/CMakeFiles/NightlyMemoryCheck: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D NightlyMemoryCheck + +NightlyMemoryCheck: unit-test/MQTT/CMakeFiles/NightlyMemoryCheck +NightlyMemoryCheck: unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build.make +.PHONY : NightlyMemoryCheck + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build: NightlyMemoryCheck +.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build + +unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/clean + +unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake new file mode 100644 index 000000000..884661158 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/NightlyMemoryCheck" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/NightlyMemoryCheck.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/compiler_depend.make new file mode 100644 index 000000000..3aa41e77c --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for NightlyMemoryCheck. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/compiler_depend.ts new file mode 100644 index 000000000..38e1ae0cf --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for NightlyMemoryCheck. diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/progress.make b/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/NightlyStart.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/NightlyStart.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyStart.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/NightlyStart.dir/build.make b/unit-test/MQTT/CMakeFiles/NightlyStart.dir/build.make new file mode 100644 index 000000000..d6fb5754d --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyStart.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for NightlyStart. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/NightlyStart.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/NightlyStart.dir/progress.make + +unit-test/MQTT/CMakeFiles/NightlyStart: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D NightlyStart + +NightlyStart: unit-test/MQTT/CMakeFiles/NightlyStart +NightlyStart: unit-test/MQTT/CMakeFiles/NightlyStart.dir/build.make +.PHONY : NightlyStart + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/NightlyStart.dir/build: NightlyStart +.PHONY : unit-test/MQTT/CMakeFiles/NightlyStart.dir/build + +unit-test/MQTT/CMakeFiles/NightlyStart.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/NightlyStart.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/NightlyStart.dir/clean + +unit-test/MQTT/CMakeFiles/NightlyStart.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyStart.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/NightlyStart.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/NightlyStart.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/NightlyStart.dir/cmake_clean.cmake new file mode 100644 index 000000000..6a2c6c6f4 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyStart.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/NightlyStart" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/NightlyStart.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/NightlyStart.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/NightlyStart.dir/compiler_depend.make new file mode 100644 index 000000000..b72de2db3 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyStart.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for NightlyStart. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/NightlyStart.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/NightlyStart.dir/compiler_depend.ts new file mode 100644 index 000000000..2f7f077a9 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyStart.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for NightlyStart. diff --git a/unit-test/MQTT/CMakeFiles/NightlyStart.dir/progress.make b/unit-test/MQTT/CMakeFiles/NightlyStart.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyStart.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build.make b/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build.make new file mode 100644 index 000000000..07f9d41dc --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for NightlySubmit. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/NightlySubmit.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/NightlySubmit.dir/progress.make + +unit-test/MQTT/CMakeFiles/NightlySubmit: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D NightlySubmit + +NightlySubmit: unit-test/MQTT/CMakeFiles/NightlySubmit +NightlySubmit: unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build.make +.PHONY : NightlySubmit + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build: NightlySubmit +.PHONY : unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build + +unit-test/MQTT/CMakeFiles/NightlySubmit.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/NightlySubmit.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/NightlySubmit.dir/clean + +unit-test/MQTT/CMakeFiles/NightlySubmit.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/NightlySubmit.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/cmake_clean.cmake new file mode 100644 index 000000000..6f88ccc7d --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/NightlySubmit" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/NightlySubmit.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/compiler_depend.make new file mode 100644 index 000000000..d2f674865 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for NightlySubmit. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/compiler_depend.ts new file mode 100644 index 000000000..773bf4b08 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for NightlySubmit. diff --git a/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/progress.make b/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/NightlyTest.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/NightlyTest.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyTest.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/NightlyTest.dir/build.make b/unit-test/MQTT/CMakeFiles/NightlyTest.dir/build.make new file mode 100644 index 000000000..ad0fa575f --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyTest.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for NightlyTest. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/NightlyTest.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/NightlyTest.dir/progress.make + +unit-test/MQTT/CMakeFiles/NightlyTest: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D NightlyTest + +NightlyTest: unit-test/MQTT/CMakeFiles/NightlyTest +NightlyTest: unit-test/MQTT/CMakeFiles/NightlyTest.dir/build.make +.PHONY : NightlyTest + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/NightlyTest.dir/build: NightlyTest +.PHONY : unit-test/MQTT/CMakeFiles/NightlyTest.dir/build + +unit-test/MQTT/CMakeFiles/NightlyTest.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/NightlyTest.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/NightlyTest.dir/clean + +unit-test/MQTT/CMakeFiles/NightlyTest.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyTest.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/NightlyTest.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/NightlyTest.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/NightlyTest.dir/cmake_clean.cmake new file mode 100644 index 000000000..8f40bb87e --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyTest.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/NightlyTest" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/NightlyTest.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/NightlyTest.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/NightlyTest.dir/compiler_depend.make new file mode 100644 index 000000000..03d9c29c0 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyTest.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for NightlyTest. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/NightlyTest.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/NightlyTest.dir/compiler_depend.ts new file mode 100644 index 000000000..8bb891c6f --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyTest.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for NightlyTest. diff --git a/unit-test/MQTT/CMakeFiles/NightlyTest.dir/progress.make b/unit-test/MQTT/CMakeFiles/NightlyTest.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyTest.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake new file mode 100644 index 000000000..29b95a515 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build.make b/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build.make new file mode 100644 index 000000000..9881364e4 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Utility rule file for NightlyUpdate. + +# Include any custom commands dependencies for this target. +include unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/progress.make + +unit-test/MQTT/CMakeFiles/NightlyUpdate: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D NightlyUpdate + +NightlyUpdate: unit-test/MQTT/CMakeFiles/NightlyUpdate +NightlyUpdate: unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build.make +.PHONY : NightlyUpdate + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build: NightlyUpdate +.PHONY : unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build + +unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/clean + +unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake new file mode 100644 index 000000000..0f10e8272 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/NightlyUpdate" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/NightlyUpdate.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/compiler_depend.make new file mode 100644 index 000000000..924c826bc --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for NightlyUpdate. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/compiler_depend.ts new file mode 100644 index 000000000..7cf66de73 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for NightlyUpdate. diff --git a/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/progress.make b/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/progress.make new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/progress.make @@ -0,0 +1 @@ + diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/DependInfo.cmake new file mode 100644 index 000000000..8ad117d84 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/DependInfo.cmake @@ -0,0 +1,24 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/home/ubuntu/coreMQTT/unit-test/MQTT/mocks/mock_core_mqtt_serializer.c" "unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o" "gcc" "unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o.d" + "/home/ubuntu/coreMQTT/unit-test/MQTT/mocks/mock_core_mqtt_state.c" "unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o" "gcc" "unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o.d" + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make new file mode 100644 index 000000000..69c1f69cf --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make @@ -0,0 +1,137 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Include any dependencies generated for this target. +include unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/progress.make + +# Include the compile flags for this target's objects. +include unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/flags.make + +unit-test/MQTT/mocks/mock_core_mqtt_serializer.c: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating mocks/mock_core_mqtt_serializer.c" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && ruby /home/ubuntu/coreMQTT/test/unit-test/CMock/lib/cmock.rb -o/home/ubuntu/coreMQTT/tools/cmock/project.yml /home/ubuntu/coreMQTT/source/include/core_mqtt_serializer.h + +unit-test/MQTT/mocks/mock_core_mqtt_state.c: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Generating mocks/mock_core_mqtt_state.c" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && ruby /home/ubuntu/coreMQTT/test/unit-test/CMock/lib/cmock.rb -o/home/ubuntu/coreMQTT/tools/cmock/project.yml /home/ubuntu/coreMQTT/source/include/core_mqtt_state.h + +unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/flags.make +unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o: unit-test/MQTT/mocks/mock_core_mqtt_serializer.c +unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o -MF CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o.d -o CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o -c /home/ubuntu/coreMQTT/unit-test/MQTT/mocks/mock_core_mqtt_serializer.c + +unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.i" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/unit-test/MQTT/mocks/mock_core_mqtt_serializer.c > CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.i + +unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.s" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/unit-test/MQTT/mocks/mock_core_mqtt_serializer.c -o CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.s + +unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/flags.make +unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o: unit-test/MQTT/mocks/mock_core_mqtt_state.c +unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building C object unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o -MF CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o.d -o CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o -c /home/ubuntu/coreMQTT/unit-test/MQTT/mocks/mock_core_mqtt_state.c + +unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.i" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/unit-test/MQTT/mocks/mock_core_mqtt_state.c > CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.i + +unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.s" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/unit-test/MQTT/mocks/mock_core_mqtt_state.c -o CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.s + +# Object files for target core_mqtt_mock +core_mqtt_mock_OBJECTS = \ +"CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o" \ +"CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o" + +# External object files for target core_mqtt_mock +core_mqtt_mock_EXTERNAL_OBJECTS = + +unit-test/MQTT/lib/libcore_mqtt_mock.so: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o +unit-test/MQTT/lib/libcore_mqtt_mock.so: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o +unit-test/MQTT/lib/libcore_mqtt_mock.so: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make +unit-test/MQTT/lib/libcore_mqtt_mock.so: lib/libcmock.a +unit-test/MQTT/lib/libcore_mqtt_mock.so: lib/libunity.a +unit-test/MQTT/lib/libcore_mqtt_mock.so: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Linking C shared library lib/libcore_mqtt_mock.so" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/core_mqtt_mock.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build: unit-test/MQTT/lib/libcore_mqtt_mock.so +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build + +unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/core_mqtt_mock.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/clean + +unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/depend: unit-test/MQTT/mocks/mock_core_mqtt_serializer.c +unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/depend: unit-test/MQTT/mocks/mock_core_mqtt_state.c + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/cmake_clean.cmake new file mode 100644 index 000000000..7af12c4c0 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/cmake_clean.cmake @@ -0,0 +1,15 @@ +file(REMOVE_RECURSE + "CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o" + "CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o.d" + "CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o" + "CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o.d" + "lib/libcore_mqtt_mock.pdb" + "lib/libcore_mqtt_mock.so" + "mocks/mock_core_mqtt_serializer.c" + "mocks/mock_core_mqtt_state.c" +) + +# Per-language clean rules from dependency scanning. +foreach(lang C) + include(CMakeFiles/core_mqtt_mock.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/compiler_depend.make new file mode 100644 index 000000000..efc9b2bdb --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for core_mqtt_mock. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/compiler_depend.ts new file mode 100644 index 000000000..7781010ad --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for core_mqtt_mock. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/depend.make b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/depend.make new file mode 100644 index 000000000..bc886828f --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for core_mqtt_mock. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/flags.make b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/flags.make new file mode 100644 index 000000000..76edd570b --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# compile C with /usr/bin/cc +C_DEFINES = -DNDEBUG=1 -Dcore_mqtt_mock_EXPORTS + +C_INCLUDES = -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/unit-test/MQTT/mocks -I/home/ubuntu/coreMQTT/test/unit-test/MQTT/. -I/home/ubuntu/coreMQTT/test/unit-test/MQTT/logging -I/home/ubuntu/coreMQTT/source/interface -I/home/ubuntu/coreMQTT/test/unit-test/CMock/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/examples -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src + +C_FLAGS = -std=gnu90 -fPIC + diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/link.txt b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/link.txt new file mode 100644 index 000000000..f786e4be6 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/cc -fPIC -shared -Wl,-soname,libcore_mqtt_mock.so -o lib/libcore_mqtt_mock.so CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o ../../lib/libcmock.a ../../lib/libunity.a diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/progress.make b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/progress.make new file mode 100644 index 000000000..bac260a02 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/progress.make @@ -0,0 +1,6 @@ +CMAKE_PROGRESS_1 = 3 +CMAKE_PROGRESS_2 = 4 +CMAKE_PROGRESS_3 = 5 +CMAKE_PROGRESS_4 = 6 +CMAKE_PROGRESS_5 = 7 + diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/DependInfo.cmake new file mode 100644 index 000000000..53b0a388d --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/DependInfo.cmake @@ -0,0 +1,25 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/home/ubuntu/coreMQTT/source/core_mqtt.c" "unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o" "gcc" "unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o.d" + "/home/ubuntu/coreMQTT/source/core_mqtt_serializer.c" "unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o" "gcc" "unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o.d" + "/home/ubuntu/coreMQTT/source/core_mqtt_state.c" "unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o" "gcc" "unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o.d" + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make new file mode 100644 index 000000000..cfe5fdd43 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make @@ -0,0 +1,143 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Include any dependencies generated for this target. +include unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/progress.make + +# Include the compile flags for this target's objects. +include unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/flags.make + +unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/flags.make +unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o: source/core_mqtt.c +unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o -MF CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o.d -o CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt.c + +unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.i" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/source/core_mqtt.c > CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.i + +unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.s" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/source/core_mqtt.c -o CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.s + +unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/flags.make +unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o: source/core_mqtt_state.c +unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o -MF CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o.d -o CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt_state.c + +unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.i" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/source/core_mqtt_state.c > CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.i + +unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.s" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/source/core_mqtt_state.c -o CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.s + +unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/flags.make +unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o: source/core_mqtt_serializer.c +unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o -MF CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o.d -o CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c + +unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.i" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c > CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.i + +unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.s" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c -o CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.s + +# Object files for target core_mqtt_real +core_mqtt_real_OBJECTS = \ +"CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o" \ +"CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o" \ +"CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o" + +# External object files for target core_mqtt_real +core_mqtt_real_EXTERNAL_OBJECTS = + +unit-test/MQTT/lib/libcore_mqtt_real.a: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o +unit-test/MQTT/lib/libcore_mqtt_real.a: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o +unit-test/MQTT/lib/libcore_mqtt_real.a: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o +unit-test/MQTT/lib/libcore_mqtt_real.a: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make +unit-test/MQTT/lib/libcore_mqtt_real.a: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C static library lib/libcore_mqtt_real.a" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/core_mqtt_real.dir/cmake_clean_target.cmake + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/core_mqtt_real.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build: unit-test/MQTT/lib/libcore_mqtt_real.a +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build + +unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/core_mqtt_real.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/clean + +unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/cmake_clean.cmake new file mode 100644 index 000000000..8073bfecf --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/cmake_clean.cmake @@ -0,0 +1,15 @@ +file(REMOVE_RECURSE + "CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o" + "CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o.d" + "CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o" + "CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o.d" + "CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o" + "CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o.d" + "lib/libcore_mqtt_real.a" + "lib/libcore_mqtt_real.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang C) + include(CMakeFiles/core_mqtt_real.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/cmake_clean_target.cmake b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/cmake_clean_target.cmake new file mode 100644 index 000000000..bdb0fbbfd --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/cmake_clean_target.cmake @@ -0,0 +1,3 @@ +file(REMOVE_RECURSE + "lib/libcore_mqtt_real.a" +) diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.make new file mode 100644 index 000000000..c76149962 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for core_mqtt_real. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.ts new file mode 100644 index 000000000..c2247b50a --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for core_mqtt_real. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/depend.make b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/depend.make new file mode 100644 index 000000000..4331c12ba --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for core_mqtt_real. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/flags.make b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/flags.make new file mode 100644 index 000000000..3d9810a1d --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# compile C with /usr/bin/cc +C_DEFINES = -DNDEBUG=1 + +C_INCLUDES = -I/home/ubuntu/coreMQTT/test/unit-test/MQTT/. -I/home/ubuntu/coreMQTT/test/unit-test/MQTT/logging -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface + +C_FLAGS = -std=gnu90 -Wextra -Wpedantic -fprofile-arcs -ftest-coverage -fprofile-generate -Wno-unused-but-set-variable + diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/link.txt b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/link.txt new file mode 100644 index 000000000..5d0a752a0 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/link.txt @@ -0,0 +1,2 @@ +/usr/bin/ar qc lib/libcore_mqtt_real.a CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o +/usr/bin/ranlib lib/libcore_mqtt_real.a diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/progress.make b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/progress.make new file mode 100644 index 000000000..fe9cea3ee --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/progress.make @@ -0,0 +1,5 @@ +CMAKE_PROGRESS_1 = 8 +CMAKE_PROGRESS_2 = 9 +CMAKE_PROGRESS_3 = 10 +CMAKE_PROGRESS_4 = 11 + diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/DependInfo.cmake new file mode 100644 index 000000000..3532b6646 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/DependInfo.cmake @@ -0,0 +1,24 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_serializer_utest.c" "unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o" "gcc" "unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o.d" + "/home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_serializer_utest_runner.c" "unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o" "gcc" "unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o.d" + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make new file mode 100644 index 000000000..8adb52743 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make @@ -0,0 +1,132 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Include any dependencies generated for this target. +include unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/progress.make + +# Include the compile flags for this target's objects. +include unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/flags.make + +unit-test/MQTT/core_mqtt_serializer_utest_runner.c: /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_serializer_utest.c + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating core_mqtt_serializer_utest_runner.c" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && ruby /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/auto/generate_test_runner.rb /home/ubuntu/coreMQTT/tools/cmock/project.yml /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_serializer_utest.c core_mqtt_serializer_utest_runner.c + +unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/flags.make +unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o: /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_serializer_utest.c +unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o -MF CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o.d -o CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o -c /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_serializer_utest.c + +unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.i" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_serializer_utest.c > CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.i + +unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.s" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_serializer_utest.c -o CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.s + +unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/flags.make +unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o: unit-test/MQTT/core_mqtt_serializer_utest_runner.c +unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o -MF CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o.d -o CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o -c /home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_serializer_utest_runner.c + +unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.i" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_serializer_utest_runner.c > CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.i + +unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.s" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_serializer_utest_runner.c -o CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.s + +# Object files for target core_mqtt_serializer_utest +core_mqtt_serializer_utest_OBJECTS = \ +"CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o" \ +"CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o" + +# External object files for target core_mqtt_serializer_utest +core_mqtt_serializer_utest_EXTERNAL_OBJECTS = + +bin/tests/core_mqtt_serializer_utest: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o +bin/tests/core_mqtt_serializer_utest: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o +bin/tests/core_mqtt_serializer_utest: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make +bin/tests/core_mqtt_serializer_utest: unit-test/MQTT/lib/libcore_mqtt_real.a +bin/tests/core_mqtt_serializer_utest: lib/libunity.a +bin/tests/core_mqtt_serializer_utest: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C executable ../../bin/tests/core_mqtt_serializer_utest" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/core_mqtt_serializer_utest.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build: bin/tests/core_mqtt_serializer_utest +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build + +unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/core_mqtt_serializer_utest.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/clean + +unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/depend: unit-test/MQTT/core_mqtt_serializer_utest_runner.c + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/cmake_clean.cmake new file mode 100644 index 000000000..d9c61e183 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/cmake_clean.cmake @@ -0,0 +1,14 @@ +file(REMOVE_RECURSE + "../../bin/tests/core_mqtt_serializer_utest" + "../../bin/tests/core_mqtt_serializer_utest.pdb" + "CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o" + "CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o.d" + "CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o" + "CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o.d" + "core_mqtt_serializer_utest_runner.c" +) + +# Per-language clean rules from dependency scanning. +foreach(lang C) + include(CMakeFiles/core_mqtt_serializer_utest.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/compiler_depend.make new file mode 100644 index 000000000..139408014 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for core_mqtt_serializer_utest. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/compiler_depend.ts new file mode 100644 index 000000000..65540e3f5 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for core_mqtt_serializer_utest. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/depend.make b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/depend.make new file mode 100644 index 000000000..a10e78715 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for core_mqtt_serializer_utest. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/flags.make b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/flags.make new file mode 100644 index 000000000..ce77bda17 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# compile C with /usr/bin/cc +C_DEFINES = -DNDEBUG=1 + +C_INCLUDES = -I/home/ubuntu/coreMQTT/unit-test/MQTT/mocks -I/home/ubuntu/coreMQTT/test/unit-test/MQTT/. -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -I/home/ubuntu/coreMQTT/test/unit-test/MQTT/logging -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/src + +C_FLAGS = -std=gnu90 + diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/link.txt b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/link.txt new file mode 100644 index 000000000..26cf2e317 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/cc -Wl,-rpath,/home/ubuntu/coreMQTT/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTT/lib CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o -o ../../bin/tests/core_mqtt_serializer_utest -L/home/ubuntu/coreMQTT/unit-test/MQTT -L/home/ubuntu/coreMQTT/unit-test/MQTT/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTT:/home/ubuntu/coreMQTT/unit-test/MQTT/lib -Wl,-Bstatic -lcore_mqtt_real lib/libcore_mqtt_real.a -Wl,-Bdynamic -lgcov ../../lib/libunity.a -lcore_mqtt_mock -lgcov diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/progress.make b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/progress.make new file mode 100644 index 000000000..3938ebe59 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/progress.make @@ -0,0 +1,5 @@ +CMAKE_PROGRESS_1 = 12 +CMAKE_PROGRESS_2 = 13 +CMAKE_PROGRESS_3 = 14 +CMAKE_PROGRESS_4 = 15 + diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/DependInfo.cmake new file mode 100644 index 000000000..73e2a515d --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/DependInfo.cmake @@ -0,0 +1,24 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_state_utest.c" "unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o" "gcc" "unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o.d" + "/home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_state_utest_runner.c" "unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o" "gcc" "unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o.d" + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make new file mode 100644 index 000000000..7e872158e --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make @@ -0,0 +1,132 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Include any dependencies generated for this target. +include unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/progress.make + +# Include the compile flags for this target's objects. +include unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/flags.make + +unit-test/MQTT/core_mqtt_state_utest_runner.c: /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_state_utest.c + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating core_mqtt_state_utest_runner.c" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && ruby /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/auto/generate_test_runner.rb /home/ubuntu/coreMQTT/tools/cmock/project.yml /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_state_utest.c core_mqtt_state_utest_runner.c + +unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/flags.make +unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o: /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_state_utest.c +unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o -MF CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o.d -o CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o -c /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_state_utest.c + +unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.i" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_state_utest.c > CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.i + +unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.s" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_state_utest.c -o CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.s + +unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/flags.make +unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o: unit-test/MQTT/core_mqtt_state_utest_runner.c +unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o -MF CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o.d -o CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o -c /home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_state_utest_runner.c + +unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.i" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_state_utest_runner.c > CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.i + +unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.s" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_state_utest_runner.c -o CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.s + +# Object files for target core_mqtt_state_utest +core_mqtt_state_utest_OBJECTS = \ +"CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o" \ +"CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o" + +# External object files for target core_mqtt_state_utest +core_mqtt_state_utest_EXTERNAL_OBJECTS = + +bin/tests/core_mqtt_state_utest: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o +bin/tests/core_mqtt_state_utest: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o +bin/tests/core_mqtt_state_utest: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make +bin/tests/core_mqtt_state_utest: unit-test/MQTT/lib/libcore_mqtt_real.a +bin/tests/core_mqtt_state_utest: lib/libunity.a +bin/tests/core_mqtt_state_utest: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C executable ../../bin/tests/core_mqtt_state_utest" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/core_mqtt_state_utest.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build: bin/tests/core_mqtt_state_utest +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build + +unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/core_mqtt_state_utest.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/clean + +unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/depend: unit-test/MQTT/core_mqtt_state_utest_runner.c + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/cmake_clean.cmake new file mode 100644 index 000000000..ff670d436 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/cmake_clean.cmake @@ -0,0 +1,14 @@ +file(REMOVE_RECURSE + "../../bin/tests/core_mqtt_state_utest" + "../../bin/tests/core_mqtt_state_utest.pdb" + "CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o" + "CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o.d" + "CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o" + "CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o.d" + "core_mqtt_state_utest_runner.c" +) + +# Per-language clean rules from dependency scanning. +foreach(lang C) + include(CMakeFiles/core_mqtt_state_utest.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/compiler_depend.make new file mode 100644 index 000000000..6402ef5c7 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for core_mqtt_state_utest. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/compiler_depend.ts new file mode 100644 index 000000000..e084fd439 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for core_mqtt_state_utest. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/depend.make b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/depend.make new file mode 100644 index 000000000..1b9d889b2 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for core_mqtt_state_utest. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/flags.make b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/flags.make new file mode 100644 index 000000000..ce77bda17 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# compile C with /usr/bin/cc +C_DEFINES = -DNDEBUG=1 + +C_INCLUDES = -I/home/ubuntu/coreMQTT/unit-test/MQTT/mocks -I/home/ubuntu/coreMQTT/test/unit-test/MQTT/. -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -I/home/ubuntu/coreMQTT/test/unit-test/MQTT/logging -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/src + +C_FLAGS = -std=gnu90 + diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/link.txt b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/link.txt new file mode 100644 index 000000000..15a7010ab --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/cc -Wl,-rpath,/home/ubuntu/coreMQTT/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTT/lib CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o -o ../../bin/tests/core_mqtt_state_utest -L/home/ubuntu/coreMQTT/unit-test/MQTT -L/home/ubuntu/coreMQTT/unit-test/MQTT/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTT:/home/ubuntu/coreMQTT/unit-test/MQTT/lib -Wl,-Bstatic -lcore_mqtt_real lib/libcore_mqtt_real.a -Wl,-Bdynamic -lgcov ../../lib/libunity.a -lcore_mqtt_mock -lgcov diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/progress.make b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/progress.make new file mode 100644 index 000000000..c029100ba --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/progress.make @@ -0,0 +1,5 @@ +CMAKE_PROGRESS_1 = 16 +CMAKE_PROGRESS_2 = 17 +CMAKE_PROGRESS_3 = 18 +CMAKE_PROGRESS_4 = 19 + diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/DependInfo.cmake new file mode 100644 index 000000000..b86ae1fb1 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/DependInfo.cmake @@ -0,0 +1,24 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_utest.c" "unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o" "gcc" "unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o.d" + "/home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_utest_runner.c" "unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o" "gcc" "unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o.d" + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make new file mode 100644 index 000000000..ad426efd2 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make @@ -0,0 +1,132 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Include any dependencies generated for this target. +include unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/progress.make + +# Include the compile flags for this target's objects. +include unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/flags.make + +unit-test/MQTT/core_mqtt_utest_runner.c: /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_utest.c + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating core_mqtt_utest_runner.c" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && ruby /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/auto/generate_test_runner.rb /home/ubuntu/coreMQTT/tools/cmock/project.yml /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_utest.c core_mqtt_utest_runner.c + +unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/flags.make +unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o: /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_utest.c +unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o -MF CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o.d -o CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o -c /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_utest.c + +unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.i" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_utest.c > CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.i + +unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.s" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_utest.c -o CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.s + +unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/flags.make +unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o: unit-test/MQTT/core_mqtt_utest_runner.c +unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o -MF CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o.d -o CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o -c /home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_utest_runner.c + +unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.i" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_utest_runner.c > CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.i + +unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.s" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_utest_runner.c -o CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.s + +# Object files for target core_mqtt_utest +core_mqtt_utest_OBJECTS = \ +"CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o" \ +"CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o" + +# External object files for target core_mqtt_utest +core_mqtt_utest_EXTERNAL_OBJECTS = + +bin/tests/core_mqtt_utest: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o +bin/tests/core_mqtt_utest: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o +bin/tests/core_mqtt_utest: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make +bin/tests/core_mqtt_utest: unit-test/MQTT/lib/libcore_mqtt_real.a +bin/tests/core_mqtt_utest: lib/libunity.a +bin/tests/core_mqtt_utest: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C executable ../../bin/tests/core_mqtt_utest" + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/core_mqtt_utest.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build: bin/tests/core_mqtt_utest +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build + +unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/core_mqtt_utest.dir/cmake_clean.cmake +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/clean + +unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/depend: unit-test/MQTT/core_mqtt_utest_runner.c + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/depend + diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/cmake_clean.cmake new file mode 100644 index 000000000..20f60c789 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/cmake_clean.cmake @@ -0,0 +1,14 @@ +file(REMOVE_RECURSE + "../../bin/tests/core_mqtt_utest" + "../../bin/tests/core_mqtt_utest.pdb" + "CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o" + "CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o.d" + "CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o" + "CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o.d" + "core_mqtt_utest_runner.c" +) + +# Per-language clean rules from dependency scanning. +foreach(lang C) + include(CMakeFiles/core_mqtt_utest.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/compiler_depend.make new file mode 100644 index 000000000..1f72208d1 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for core_mqtt_utest. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/compiler_depend.ts new file mode 100644 index 000000000..b3b00b933 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for core_mqtt_utest. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/depend.make b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/depend.make new file mode 100644 index 000000000..845a76f13 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for core_mqtt_utest. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/flags.make b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/flags.make new file mode 100644 index 000000000..ce77bda17 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# compile C with /usr/bin/cc +C_DEFINES = -DNDEBUG=1 + +C_INCLUDES = -I/home/ubuntu/coreMQTT/unit-test/MQTT/mocks -I/home/ubuntu/coreMQTT/test/unit-test/MQTT/. -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -I/home/ubuntu/coreMQTT/test/unit-test/MQTT/logging -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/src + +C_FLAGS = -std=gnu90 + diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/link.txt b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/link.txt new file mode 100644 index 000000000..fc2108a19 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/cc -Wl,-rpath,/home/ubuntu/coreMQTT/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTT/lib CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o -o ../../bin/tests/core_mqtt_utest -L/home/ubuntu/coreMQTT/unit-test/MQTT -L/home/ubuntu/coreMQTT/unit-test/MQTT/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTT:/home/ubuntu/coreMQTT/unit-test/MQTT/lib -lcore_mqtt_mock -Wl,-Bstatic -lcore_mqtt_real lib/libcore_mqtt_real.a -Wl,-Bdynamic -lgcov ../../lib/libunity.a -lcore_mqtt_mock -lgcov diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/progress.make b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/progress.make new file mode 100644 index 000000000..b83cb3292 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/progress.make @@ -0,0 +1,5 @@ +CMAKE_PROGRESS_1 = 20 +CMAKE_PROGRESS_2 = 21 +CMAKE_PROGRESS_3 = 22 +CMAKE_PROGRESS_4 = 23 + diff --git a/unit-test/MQTT/CMakeFiles/progress.marks b/unit-test/MQTT/CMakeFiles/progress.marks new file mode 100644 index 000000000..f64f5d8d8 --- /dev/null +++ b/unit-test/MQTT/CMakeFiles/progress.marks @@ -0,0 +1 @@ +27 diff --git a/unit-test/MQTT/CTestTestfile.cmake b/unit-test/MQTT/CTestTestfile.cmake new file mode 100644 index 000000000..0c89e6982 --- /dev/null +++ b/unit-test/MQTT/CTestTestfile.cmake @@ -0,0 +1,12 @@ +# CMake generated Testfile for +# Source directory: /home/ubuntu/coreMQTT/test/unit-test/MQTT +# Build directory: /home/ubuntu/coreMQTT/unit-test/MQTT +# +# This file includes the relevant testing commands required for +# testing this directory and lists subdirectories to be tested as well. +add_test([=[core_mqtt_utest]=] "/home/ubuntu/coreMQTT/bin/tests/core_mqtt_utest") +set_tests_properties([=[core_mqtt_utest]=] PROPERTIES WORKING_DIRECTORY "/home/ubuntu/coreMQTT" _BACKTRACE_TRIPLES "/home/ubuntu/coreMQTT/tools/cmock/create_test.cmake;52;add_test;/home/ubuntu/coreMQTT/test/unit-test/MQTT/CMakeLists.txt;76;create_test;/home/ubuntu/coreMQTT/test/unit-test/MQTT/CMakeLists.txt;0;") +add_test([=[core_mqtt_state_utest]=] "/home/ubuntu/coreMQTT/bin/tests/core_mqtt_state_utest") +set_tests_properties([=[core_mqtt_state_utest]=] PROPERTIES WORKING_DIRECTORY "/home/ubuntu/coreMQTT" _BACKTRACE_TRIPLES "/home/ubuntu/coreMQTT/tools/cmock/create_test.cmake;52;add_test;/home/ubuntu/coreMQTT/test/unit-test/MQTT/CMakeLists.txt;93;create_test;/home/ubuntu/coreMQTT/test/unit-test/MQTT/CMakeLists.txt;0;") +add_test([=[core_mqtt_serializer_utest]=] "/home/ubuntu/coreMQTT/bin/tests/core_mqtt_serializer_utest") +set_tests_properties([=[core_mqtt_serializer_utest]=] PROPERTIES WORKING_DIRECTORY "/home/ubuntu/coreMQTT" _BACKTRACE_TRIPLES "/home/ubuntu/coreMQTT/tools/cmock/create_test.cmake;52;add_test;/home/ubuntu/coreMQTT/test/unit-test/MQTT/CMakeLists.txt;109;create_test;/home/ubuntu/coreMQTT/test/unit-test/MQTT/CMakeLists.txt;0;") diff --git a/unit-test/MQTT/Makefile b/unit-test/MQTT/Makefile new file mode 100644 index 000000000..e7a65a6bc --- /dev/null +++ b/unit-test/MQTT/Makefile @@ -0,0 +1,943 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running tests..." + /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test +.PHONY : test/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..." + /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..." + /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# The main all target +all: cmake_check_build_system + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles /home/ubuntu/coreMQTT/unit-test/MQTT//CMakeFiles/progress.marks + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/rule + +# Convenience name for target. +core_mqtt_mock: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/rule +.PHONY : core_mqtt_mock + +# fast build rule for target. +core_mqtt_mock/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build +.PHONY : core_mqtt_mock/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/rule + +# Convenience name for target. +core_mqtt_real: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/rule +.PHONY : core_mqtt_real + +# fast build rule for target. +core_mqtt_real/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build +.PHONY : core_mqtt_real/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/Experimental.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/Experimental.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/Experimental.dir/rule + +# Convenience name for target. +Experimental: unit-test/MQTT/CMakeFiles/Experimental.dir/rule +.PHONY : Experimental + +# fast build rule for target. +Experimental/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Experimental.dir/build.make unit-test/MQTT/CMakeFiles/Experimental.dir/build +.PHONY : Experimental/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/Nightly.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/Nightly.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/Nightly.dir/rule + +# Convenience name for target. +Nightly: unit-test/MQTT/CMakeFiles/Nightly.dir/rule +.PHONY : Nightly + +# fast build rule for target. +Nightly/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Nightly.dir/build.make unit-test/MQTT/CMakeFiles/Nightly.dir/build +.PHONY : Nightly/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/Continuous.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/Continuous.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/Continuous.dir/rule + +# Convenience name for target. +Continuous: unit-test/MQTT/CMakeFiles/Continuous.dir/rule +.PHONY : Continuous + +# fast build rule for target. +Continuous/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Continuous.dir/build.make unit-test/MQTT/CMakeFiles/Continuous.dir/build +.PHONY : Continuous/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/rule + +# Convenience name for target. +NightlyMemoryCheck: unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/rule +.PHONY : NightlyMemoryCheck + +# fast build rule for target. +NightlyMemoryCheck/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build.make unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build +.PHONY : NightlyMemoryCheck/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/NightlyStart.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyStart.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/NightlyStart.dir/rule + +# Convenience name for target. +NightlyStart: unit-test/MQTT/CMakeFiles/NightlyStart.dir/rule +.PHONY : NightlyStart + +# fast build rule for target. +NightlyStart/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyStart.dir/build.make unit-test/MQTT/CMakeFiles/NightlyStart.dir/build +.PHONY : NightlyStart/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/rule + +# Convenience name for target. +NightlyUpdate: unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/rule +.PHONY : NightlyUpdate + +# fast build rule for target. +NightlyUpdate/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build.make unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build +.PHONY : NightlyUpdate/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/rule + +# Convenience name for target. +NightlyConfigure: unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/rule +.PHONY : NightlyConfigure + +# fast build rule for target. +NightlyConfigure/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build.make unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build +.PHONY : NightlyConfigure/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/NightlyBuild.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyBuild.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/NightlyBuild.dir/rule + +# Convenience name for target. +NightlyBuild: unit-test/MQTT/CMakeFiles/NightlyBuild.dir/rule +.PHONY : NightlyBuild + +# fast build rule for target. +NightlyBuild/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build.make unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build +.PHONY : NightlyBuild/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/NightlyTest.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyTest.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/NightlyTest.dir/rule + +# Convenience name for target. +NightlyTest: unit-test/MQTT/CMakeFiles/NightlyTest.dir/rule +.PHONY : NightlyTest + +# fast build rule for target. +NightlyTest/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyTest.dir/build.make unit-test/MQTT/CMakeFiles/NightlyTest.dir/build +.PHONY : NightlyTest/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/rule + +# Convenience name for target. +NightlyCoverage: unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/rule +.PHONY : NightlyCoverage + +# fast build rule for target. +NightlyCoverage/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build.make unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build +.PHONY : NightlyCoverage/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/rule + +# Convenience name for target. +NightlyMemCheck: unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/rule +.PHONY : NightlyMemCheck + +# fast build rule for target. +NightlyMemCheck/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build +.PHONY : NightlyMemCheck/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/NightlySubmit.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlySubmit.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/NightlySubmit.dir/rule + +# Convenience name for target. +NightlySubmit: unit-test/MQTT/CMakeFiles/NightlySubmit.dir/rule +.PHONY : NightlySubmit + +# fast build rule for target. +NightlySubmit/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build.make unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build +.PHONY : NightlySubmit/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/rule + +# Convenience name for target. +ExperimentalStart: unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/rule +.PHONY : ExperimentalStart + +# fast build rule for target. +ExperimentalStart/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build +.PHONY : ExperimentalStart/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/rule + +# Convenience name for target. +ExperimentalUpdate: unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/rule +.PHONY : ExperimentalUpdate + +# fast build rule for target. +ExperimentalUpdate/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build +.PHONY : ExperimentalUpdate/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/rule + +# Convenience name for target. +ExperimentalConfigure: unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/rule +.PHONY : ExperimentalConfigure + +# fast build rule for target. +ExperimentalConfigure/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build +.PHONY : ExperimentalConfigure/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/rule + +# Convenience name for target. +ExperimentalBuild: unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/rule +.PHONY : ExperimentalBuild + +# fast build rule for target. +ExperimentalBuild/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build +.PHONY : ExperimentalBuild/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/rule + +# Convenience name for target. +ExperimentalTest: unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/rule +.PHONY : ExperimentalTest + +# fast build rule for target. +ExperimentalTest/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build +.PHONY : ExperimentalTest/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/rule + +# Convenience name for target. +ExperimentalCoverage: unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/rule +.PHONY : ExperimentalCoverage + +# fast build rule for target. +ExperimentalCoverage/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build +.PHONY : ExperimentalCoverage/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/rule + +# Convenience name for target. +ExperimentalMemCheck: unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/rule +.PHONY : ExperimentalMemCheck + +# fast build rule for target. +ExperimentalMemCheck/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build +.PHONY : ExperimentalMemCheck/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/rule + +# Convenience name for target. +ExperimentalSubmit: unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/rule +.PHONY : ExperimentalSubmit + +# fast build rule for target. +ExperimentalSubmit/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build +.PHONY : ExperimentalSubmit/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/ContinuousStart.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousStart.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousStart.dir/rule + +# Convenience name for target. +ContinuousStart: unit-test/MQTT/CMakeFiles/ContinuousStart.dir/rule +.PHONY : ContinuousStart + +# fast build rule for target. +ContinuousStart/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build +.PHONY : ContinuousStart/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/rule + +# Convenience name for target. +ContinuousUpdate: unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/rule +.PHONY : ContinuousUpdate + +# fast build rule for target. +ContinuousUpdate/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build +.PHONY : ContinuousUpdate/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/rule + +# Convenience name for target. +ContinuousConfigure: unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/rule +.PHONY : ContinuousConfigure + +# fast build rule for target. +ContinuousConfigure/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build +.PHONY : ContinuousConfigure/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/rule + +# Convenience name for target. +ContinuousBuild: unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/rule +.PHONY : ContinuousBuild + +# fast build rule for target. +ContinuousBuild/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build +.PHONY : ContinuousBuild/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/ContinuousTest.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousTest.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousTest.dir/rule + +# Convenience name for target. +ContinuousTest: unit-test/MQTT/CMakeFiles/ContinuousTest.dir/rule +.PHONY : ContinuousTest + +# fast build rule for target. +ContinuousTest/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build +.PHONY : ContinuousTest/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/rule + +# Convenience name for target. +ContinuousCoverage: unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/rule +.PHONY : ContinuousCoverage + +# fast build rule for target. +ContinuousCoverage/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build +.PHONY : ContinuousCoverage/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/rule + +# Convenience name for target. +ContinuousMemCheck: unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/rule +.PHONY : ContinuousMemCheck + +# fast build rule for target. +ContinuousMemCheck/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build +.PHONY : ContinuousMemCheck/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/rule + +# Convenience name for target. +ContinuousSubmit: unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/rule +.PHONY : ContinuousSubmit + +# fast build rule for target. +ContinuousSubmit/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build +.PHONY : ContinuousSubmit/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/rule + +# Convenience name for target. +core_mqtt_utest: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/rule +.PHONY : core_mqtt_utest + +# fast build rule for target. +core_mqtt_utest/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build +.PHONY : core_mqtt_utest/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/rule + +# Convenience name for target. +core_mqtt_state_utest: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/rule +.PHONY : core_mqtt_state_utest + +# fast build rule for target. +core_mqtt_state_utest/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build +.PHONY : core_mqtt_state_utest/fast + +# Convenience name for target. +unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/rule +.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/rule + +# Convenience name for target. +core_mqtt_serializer_utest: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/rule +.PHONY : core_mqtt_serializer_utest + +# fast build rule for target. +core_mqtt_serializer_utest/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build +.PHONY : core_mqtt_serializer_utest/fast + +__/__/source/core_mqtt.o: __/__/source/core_mqtt.c.o +.PHONY : __/__/source/core_mqtt.o + +# target to build an object file +__/__/source/core_mqtt.c.o: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o +.PHONY : __/__/source/core_mqtt.c.o + +__/__/source/core_mqtt.i: __/__/source/core_mqtt.c.i +.PHONY : __/__/source/core_mqtt.i + +# target to preprocess a source file +__/__/source/core_mqtt.c.i: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.i +.PHONY : __/__/source/core_mqtt.c.i + +__/__/source/core_mqtt.s: __/__/source/core_mqtt.c.s +.PHONY : __/__/source/core_mqtt.s + +# target to generate assembly for a file +__/__/source/core_mqtt.c.s: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.s +.PHONY : __/__/source/core_mqtt.c.s + +__/__/source/core_mqtt_serializer.o: __/__/source/core_mqtt_serializer.c.o +.PHONY : __/__/source/core_mqtt_serializer.o + +# target to build an object file +__/__/source/core_mqtt_serializer.c.o: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o +.PHONY : __/__/source/core_mqtt_serializer.c.o + +__/__/source/core_mqtt_serializer.i: __/__/source/core_mqtt_serializer.c.i +.PHONY : __/__/source/core_mqtt_serializer.i + +# target to preprocess a source file +__/__/source/core_mqtt_serializer.c.i: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.i +.PHONY : __/__/source/core_mqtt_serializer.c.i + +__/__/source/core_mqtt_serializer.s: __/__/source/core_mqtt_serializer.c.s +.PHONY : __/__/source/core_mqtt_serializer.s + +# target to generate assembly for a file +__/__/source/core_mqtt_serializer.c.s: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.s +.PHONY : __/__/source/core_mqtt_serializer.c.s + +__/__/source/core_mqtt_state.o: __/__/source/core_mqtt_state.c.o +.PHONY : __/__/source/core_mqtt_state.o + +# target to build an object file +__/__/source/core_mqtt_state.c.o: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o +.PHONY : __/__/source/core_mqtt_state.c.o + +__/__/source/core_mqtt_state.i: __/__/source/core_mqtt_state.c.i +.PHONY : __/__/source/core_mqtt_state.i + +# target to preprocess a source file +__/__/source/core_mqtt_state.c.i: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.i +.PHONY : __/__/source/core_mqtt_state.c.i + +__/__/source/core_mqtt_state.s: __/__/source/core_mqtt_state.c.s +.PHONY : __/__/source/core_mqtt_state.s + +# target to generate assembly for a file +__/__/source/core_mqtt_state.c.s: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.s +.PHONY : __/__/source/core_mqtt_state.c.s + +core_mqtt_serializer_utest.o: core_mqtt_serializer_utest.c.o +.PHONY : core_mqtt_serializer_utest.o + +# target to build an object file +core_mqtt_serializer_utest.c.o: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o +.PHONY : core_mqtt_serializer_utest.c.o + +core_mqtt_serializer_utest.i: core_mqtt_serializer_utest.c.i +.PHONY : core_mqtt_serializer_utest.i + +# target to preprocess a source file +core_mqtt_serializer_utest.c.i: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.i +.PHONY : core_mqtt_serializer_utest.c.i + +core_mqtt_serializer_utest.s: core_mqtt_serializer_utest.c.s +.PHONY : core_mqtt_serializer_utest.s + +# target to generate assembly for a file +core_mqtt_serializer_utest.c.s: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.s +.PHONY : core_mqtt_serializer_utest.c.s + +core_mqtt_serializer_utest_runner.o: core_mqtt_serializer_utest_runner.c.o +.PHONY : core_mqtt_serializer_utest_runner.o + +# target to build an object file +core_mqtt_serializer_utest_runner.c.o: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o +.PHONY : core_mqtt_serializer_utest_runner.c.o + +core_mqtt_serializer_utest_runner.i: core_mqtt_serializer_utest_runner.c.i +.PHONY : core_mqtt_serializer_utest_runner.i + +# target to preprocess a source file +core_mqtt_serializer_utest_runner.c.i: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.i +.PHONY : core_mqtt_serializer_utest_runner.c.i + +core_mqtt_serializer_utest_runner.s: core_mqtt_serializer_utest_runner.c.s +.PHONY : core_mqtt_serializer_utest_runner.s + +# target to generate assembly for a file +core_mqtt_serializer_utest_runner.c.s: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.s +.PHONY : core_mqtt_serializer_utest_runner.c.s + +core_mqtt_state_utest.o: core_mqtt_state_utest.c.o +.PHONY : core_mqtt_state_utest.o + +# target to build an object file +core_mqtt_state_utest.c.o: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o +.PHONY : core_mqtt_state_utest.c.o + +core_mqtt_state_utest.i: core_mqtt_state_utest.c.i +.PHONY : core_mqtt_state_utest.i + +# target to preprocess a source file +core_mqtt_state_utest.c.i: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.i +.PHONY : core_mqtt_state_utest.c.i + +core_mqtt_state_utest.s: core_mqtt_state_utest.c.s +.PHONY : core_mqtt_state_utest.s + +# target to generate assembly for a file +core_mqtt_state_utest.c.s: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.s +.PHONY : core_mqtt_state_utest.c.s + +core_mqtt_state_utest_runner.o: core_mqtt_state_utest_runner.c.o +.PHONY : core_mqtt_state_utest_runner.o + +# target to build an object file +core_mqtt_state_utest_runner.c.o: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o +.PHONY : core_mqtt_state_utest_runner.c.o + +core_mqtt_state_utest_runner.i: core_mqtt_state_utest_runner.c.i +.PHONY : core_mqtt_state_utest_runner.i + +# target to preprocess a source file +core_mqtt_state_utest_runner.c.i: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.i +.PHONY : core_mqtt_state_utest_runner.c.i + +core_mqtt_state_utest_runner.s: core_mqtt_state_utest_runner.c.s +.PHONY : core_mqtt_state_utest_runner.s + +# target to generate assembly for a file +core_mqtt_state_utest_runner.c.s: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.s +.PHONY : core_mqtt_state_utest_runner.c.s + +core_mqtt_utest.o: core_mqtt_utest.c.o +.PHONY : core_mqtt_utest.o + +# target to build an object file +core_mqtt_utest.c.o: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o +.PHONY : core_mqtt_utest.c.o + +core_mqtt_utest.i: core_mqtt_utest.c.i +.PHONY : core_mqtt_utest.i + +# target to preprocess a source file +core_mqtt_utest.c.i: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.i +.PHONY : core_mqtt_utest.c.i + +core_mqtt_utest.s: core_mqtt_utest.c.s +.PHONY : core_mqtt_utest.s + +# target to generate assembly for a file +core_mqtt_utest.c.s: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.s +.PHONY : core_mqtt_utest.c.s + +core_mqtt_utest_runner.o: core_mqtt_utest_runner.c.o +.PHONY : core_mqtt_utest_runner.o + +# target to build an object file +core_mqtt_utest_runner.c.o: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o +.PHONY : core_mqtt_utest_runner.c.o + +core_mqtt_utest_runner.i: core_mqtt_utest_runner.c.i +.PHONY : core_mqtt_utest_runner.i + +# target to preprocess a source file +core_mqtt_utest_runner.c.i: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.i +.PHONY : core_mqtt_utest_runner.c.i + +core_mqtt_utest_runner.s: core_mqtt_utest_runner.c.s +.PHONY : core_mqtt_utest_runner.s + +# target to generate assembly for a file +core_mqtt_utest_runner.c.s: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.s +.PHONY : core_mqtt_utest_runner.c.s + +mocks/mock_core_mqtt_serializer.o: mocks/mock_core_mqtt_serializer.c.o +.PHONY : mocks/mock_core_mqtt_serializer.o + +# target to build an object file +mocks/mock_core_mqtt_serializer.c.o: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o +.PHONY : mocks/mock_core_mqtt_serializer.c.o + +mocks/mock_core_mqtt_serializer.i: mocks/mock_core_mqtt_serializer.c.i +.PHONY : mocks/mock_core_mqtt_serializer.i + +# target to preprocess a source file +mocks/mock_core_mqtt_serializer.c.i: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.i +.PHONY : mocks/mock_core_mqtt_serializer.c.i + +mocks/mock_core_mqtt_serializer.s: mocks/mock_core_mqtt_serializer.c.s +.PHONY : mocks/mock_core_mqtt_serializer.s + +# target to generate assembly for a file +mocks/mock_core_mqtt_serializer.c.s: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.s +.PHONY : mocks/mock_core_mqtt_serializer.c.s + +mocks/mock_core_mqtt_state.o: mocks/mock_core_mqtt_state.c.o +.PHONY : mocks/mock_core_mqtt_state.o + +# target to build an object file +mocks/mock_core_mqtt_state.c.o: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o +.PHONY : mocks/mock_core_mqtt_state.c.o + +mocks/mock_core_mqtt_state.i: mocks/mock_core_mqtt_state.c.i +.PHONY : mocks/mock_core_mqtt_state.i + +# target to preprocess a source file +mocks/mock_core_mqtt_state.c.i: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.i +.PHONY : mocks/mock_core_mqtt_state.c.i + +mocks/mock_core_mqtt_state.s: mocks/mock_core_mqtt_state.c.s +.PHONY : mocks/mock_core_mqtt_state.s + +# target to generate assembly for a file +mocks/mock_core_mqtt_state.c.s: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.s +.PHONY : mocks/mock_core_mqtt_state.c.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... rebuild_cache" + @echo "... test" + @echo "... Continuous" + @echo "... ContinuousBuild" + @echo "... ContinuousConfigure" + @echo "... ContinuousCoverage" + @echo "... ContinuousMemCheck" + @echo "... ContinuousStart" + @echo "... ContinuousSubmit" + @echo "... ContinuousTest" + @echo "... ContinuousUpdate" + @echo "... Experimental" + @echo "... ExperimentalBuild" + @echo "... ExperimentalConfigure" + @echo "... ExperimentalCoverage" + @echo "... ExperimentalMemCheck" + @echo "... ExperimentalStart" + @echo "... ExperimentalSubmit" + @echo "... ExperimentalTest" + @echo "... ExperimentalUpdate" + @echo "... Nightly" + @echo "... NightlyBuild" + @echo "... NightlyConfigure" + @echo "... NightlyCoverage" + @echo "... NightlyMemCheck" + @echo "... NightlyMemoryCheck" + @echo "... NightlyStart" + @echo "... NightlySubmit" + @echo "... NightlyTest" + @echo "... NightlyUpdate" + @echo "... core_mqtt_mock" + @echo "... core_mqtt_real" + @echo "... core_mqtt_serializer_utest" + @echo "... core_mqtt_state_utest" + @echo "... core_mqtt_utest" + @echo "... __/__/source/core_mqtt.o" + @echo "... __/__/source/core_mqtt.i" + @echo "... __/__/source/core_mqtt.s" + @echo "... __/__/source/core_mqtt_serializer.o" + @echo "... __/__/source/core_mqtt_serializer.i" + @echo "... __/__/source/core_mqtt_serializer.s" + @echo "... __/__/source/core_mqtt_state.o" + @echo "... __/__/source/core_mqtt_state.i" + @echo "... __/__/source/core_mqtt_state.s" + @echo "... core_mqtt_serializer_utest.o" + @echo "... core_mqtt_serializer_utest.i" + @echo "... core_mqtt_serializer_utest.s" + @echo "... core_mqtt_serializer_utest_runner.o" + @echo "... core_mqtt_serializer_utest_runner.i" + @echo "... core_mqtt_serializer_utest_runner.s" + @echo "... core_mqtt_state_utest.o" + @echo "... core_mqtt_state_utest.i" + @echo "... core_mqtt_state_utest.s" + @echo "... core_mqtt_state_utest_runner.o" + @echo "... core_mqtt_state_utest_runner.i" + @echo "... core_mqtt_state_utest_runner.s" + @echo "... core_mqtt_utest.o" + @echo "... core_mqtt_utest.i" + @echo "... core_mqtt_utest.s" + @echo "... core_mqtt_utest_runner.o" + @echo "... core_mqtt_utest_runner.i" + @echo "... core_mqtt_utest_runner.s" + @echo "... mocks/mock_core_mqtt_serializer.o" + @echo "... mocks/mock_core_mqtt_serializer.i" + @echo "... mocks/mock_core_mqtt_serializer.s" + @echo "... mocks/mock_core_mqtt_state.o" + @echo "... mocks/mock_core_mqtt_state.i" + @echo "... mocks/mock_core_mqtt_state.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/unit-test/MQTT/cmake_install.cmake b/unit-test/MQTT/cmake_install.cmake new file mode 100644 index 000000000..06b589a34 --- /dev/null +++ b/unit-test/MQTT/cmake_install.cmake @@ -0,0 +1,44 @@ +# Install script for directory: /home/ubuntu/coreMQTT/test/unit-test/MQTT + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set path to fallback-tool for dependency-resolution. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + diff --git a/unit-test/MQTTv5/CMakeFiles/CMakeDirectoryInformation.cmake b/unit-test/MQTTv5/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 000000000..53a389810 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/ubuntu/coreMQTT/test") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/ubuntu/coreMQTT") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/DependInfo.cmake b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/DependInfo.cmake new file mode 100644 index 000000000..495b645c5 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/DependInfo.cmake @@ -0,0 +1,24 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks/mock_core_mqtt_serializer.c" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o" "gcc" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o.d" + "/home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks/mock_core_mqtt_state.c" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o" "gcc" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o.d" + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make new file mode 100644 index 000000000..a5286bac9 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make @@ -0,0 +1,137 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Include any dependencies generated for this target. +include unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/progress.make + +# Include the compile flags for this target's objects. +include unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/flags.make + +unit-test/MQTTv5/mocks/mock_core_mqtt_serializer.c: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating mocks/mock_core_mqtt_serializer.c" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && ruby /home/ubuntu/coreMQTT/test/unit-test/CMock/lib/cmock.rb -o/home/ubuntu/coreMQTT/tools/cmock/project.yml /home/ubuntu/coreMQTT/source/include/core_mqtt_serializer.h + +unit-test/MQTTv5/mocks/mock_core_mqtt_state.c: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Generating mocks/mock_core_mqtt_state.c" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && ruby /home/ubuntu/coreMQTT/test/unit-test/CMock/lib/cmock.rb -o/home/ubuntu/coreMQTT/tools/cmock/project.yml /home/ubuntu/coreMQTT/source/include/core_mqtt_state.h + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/flags.make +unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o: unit-test/MQTTv5/mocks/mock_core_mqtt_serializer.c +unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o -MF CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o.d -o CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o -c /home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks/mock_core_mqtt_serializer.c + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.i" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks/mock_core_mqtt_serializer.c > CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.i + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.s" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks/mock_core_mqtt_serializer.c -o CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.s + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/flags.make +unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o: unit-test/MQTTv5/mocks/mock_core_mqtt_state.c +unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building C object unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o -MF CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o.d -o CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o -c /home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks/mock_core_mqtt_state.c + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.i" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks/mock_core_mqtt_state.c > CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.i + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.s" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks/mock_core_mqtt_state.c -o CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.s + +# Object files for target core_mqttv5_mock +core_mqttv5_mock_OBJECTS = \ +"CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o" \ +"CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o" + +# External object files for target core_mqttv5_mock +core_mqttv5_mock_EXTERNAL_OBJECTS = + +unit-test/MQTTv5/lib/libcore_mqttv5_mock.so: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o +unit-test/MQTTv5/lib/libcore_mqttv5_mock.so: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o +unit-test/MQTTv5/lib/libcore_mqttv5_mock.so: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make +unit-test/MQTTv5/lib/libcore_mqttv5_mock.so: lib/libcmock.a +unit-test/MQTTv5/lib/libcore_mqttv5_mock.so: lib/libunity.a +unit-test/MQTTv5/lib/libcore_mqttv5_mock.so: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Linking C shared library lib/libcore_mqttv5_mock.so" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/core_mqttv5_mock.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build: unit-test/MQTTv5/lib/libcore_mqttv5_mock.so +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && $(CMAKE_COMMAND) -P CMakeFiles/core_mqttv5_mock.dir/cmake_clean.cmake +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/clean + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/depend: unit-test/MQTTv5/mocks/mock_core_mqtt_serializer.c +unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/depend: unit-test/MQTTv5/mocks/mock_core_mqtt_state.c + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTTv5 /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTTv5 /home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/depend + diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/cmake_clean.cmake b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/cmake_clean.cmake new file mode 100644 index 000000000..b0e85548f --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/cmake_clean.cmake @@ -0,0 +1,15 @@ +file(REMOVE_RECURSE + "CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o" + "CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o.d" + "CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o" + "CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o.d" + "lib/libcore_mqttv5_mock.pdb" + "lib/libcore_mqttv5_mock.so" + "mocks/mock_core_mqtt_serializer.c" + "mocks/mock_core_mqtt_state.c" +) + +# Per-language clean rules from dependency scanning. +foreach(lang C) + include(CMakeFiles/core_mqttv5_mock.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/compiler_depend.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/compiler_depend.make new file mode 100644 index 000000000..600d5089c --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for core_mqttv5_mock. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/compiler_depend.ts b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/compiler_depend.ts new file mode 100644 index 000000000..cc6a88aee --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for core_mqttv5_mock. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/depend.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/depend.make new file mode 100644 index 000000000..3dd5cf6ae --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for core_mqttv5_mock. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/flags.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/flags.make new file mode 100644 index 000000000..3094ad990 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# compile C with /usr/bin/cc +C_DEFINES = -DNDEBUG=1 -Dcore_mqttv5_mock_EXPORTS + +C_INCLUDES = -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks -I/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/. -I/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/logging -I/home/ubuntu/coreMQTT/source/interface -I/home/ubuntu/coreMQTT/test/unit-test/CMock/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/examples -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src + +C_FLAGS = -std=gnu90 -fPIC + diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/link.txt b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/link.txt new file mode 100644 index 000000000..bbb3f51e5 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/cc -fPIC -shared -Wl,-soname,libcore_mqttv5_mock.so -o lib/libcore_mqttv5_mock.so CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o ../../lib/libcmock.a ../../lib/libunity.a diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/progress.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/progress.make new file mode 100644 index 000000000..73f764c57 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/progress.make @@ -0,0 +1,6 @@ +CMAKE_PROGRESS_1 = 24 +CMAKE_PROGRESS_2 = 25 +CMAKE_PROGRESS_3 = 26 +CMAKE_PROGRESS_4 = 27 +CMAKE_PROGRESS_5 = 28 + diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/DependInfo.cmake b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/DependInfo.cmake new file mode 100644 index 000000000..38595b656 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/DependInfo.cmake @@ -0,0 +1,25 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/home/ubuntu/coreMQTT/source/core_mqtt.c" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o" "gcc" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o.d" + "/home/ubuntu/coreMQTT/source/core_mqtt_serializer.c" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o" "gcc" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o.d" + "/home/ubuntu/coreMQTT/source/core_mqtt_state.c" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o" "gcc" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o.d" + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make new file mode 100644 index 000000000..54dc60bf3 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make @@ -0,0 +1,143 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Include any dependencies generated for this target. +include unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/progress.make + +# Include the compile flags for this target's objects. +include unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/flags.make + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/flags.make +unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o: source/core_mqtt.c +unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o -MF CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o.d -o CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt.c + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.i" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/source/core_mqtt.c > CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.i + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.s" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/source/core_mqtt.c -o CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.s + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/flags.make +unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o: source/core_mqtt_state.c +unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o -MF CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o.d -o CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt_state.c + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.i" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/source/core_mqtt_state.c > CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.i + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.s" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/source/core_mqtt_state.c -o CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.s + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/flags.make +unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o: source/core_mqtt_serializer.c +unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o -MF CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o.d -o CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.i" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c > CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.i + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.s" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c -o CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.s + +# Object files for target core_mqttv5_real +core_mqttv5_real_OBJECTS = \ +"CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o" \ +"CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o" \ +"CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o" + +# External object files for target core_mqttv5_real +core_mqttv5_real_EXTERNAL_OBJECTS = + +unit-test/MQTTv5/lib/libcore_mqttv5_real.a: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o +unit-test/MQTTv5/lib/libcore_mqttv5_real.a: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o +unit-test/MQTTv5/lib/libcore_mqttv5_real.a: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o +unit-test/MQTTv5/lib/libcore_mqttv5_real.a: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make +unit-test/MQTTv5/lib/libcore_mqttv5_real.a: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C static library lib/libcore_mqttv5_real.a" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && $(CMAKE_COMMAND) -P CMakeFiles/core_mqttv5_real.dir/cmake_clean_target.cmake + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/core_mqttv5_real.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build: unit-test/MQTTv5/lib/libcore_mqttv5_real.a +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && $(CMAKE_COMMAND) -P CMakeFiles/core_mqttv5_real.dir/cmake_clean.cmake +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/clean + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTTv5 /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTTv5 /home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/depend + diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/cmake_clean.cmake b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/cmake_clean.cmake new file mode 100644 index 000000000..892a1fa28 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/cmake_clean.cmake @@ -0,0 +1,15 @@ +file(REMOVE_RECURSE + "CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o" + "CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o.d" + "CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o" + "CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o.d" + "CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o" + "CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o.d" + "lib/libcore_mqttv5_real.a" + "lib/libcore_mqttv5_real.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang C) + include(CMakeFiles/core_mqttv5_real.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/cmake_clean_target.cmake b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/cmake_clean_target.cmake new file mode 100644 index 000000000..934d37342 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/cmake_clean_target.cmake @@ -0,0 +1,3 @@ +file(REMOVE_RECURSE + "lib/libcore_mqttv5_real.a" +) diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.make new file mode 100644 index 000000000..37233db76 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for core_mqttv5_real. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.ts b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.ts new file mode 100644 index 000000000..58e670ec6 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for core_mqttv5_real. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/depend.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/depend.make new file mode 100644 index 000000000..574399d76 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for core_mqttv5_real. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/flags.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/flags.make new file mode 100644 index 000000000..37569ab21 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# compile C with /usr/bin/cc +C_DEFINES = -DNDEBUG=1 + +C_INCLUDES = -I/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/. -I/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/logging -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface + +C_FLAGS = -std=gnu90 -Wextra -Wpedantic -fprofile-arcs -ftest-coverage -fprofile-generate -Wno-unused-but-set-variable + diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/link.txt b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/link.txt new file mode 100644 index 000000000..6a75c09e8 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/link.txt @@ -0,0 +1,2 @@ +/usr/bin/ar qc lib/libcore_mqttv5_real.a CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o +/usr/bin/ranlib lib/libcore_mqttv5_real.a diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/progress.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/progress.make new file mode 100644 index 000000000..5a7c9ce18 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/progress.make @@ -0,0 +1,5 @@ +CMAKE_PROGRESS_1 = 29 +CMAKE_PROGRESS_2 = 30 +CMAKE_PROGRESS_3 = 31 +CMAKE_PROGRESS_4 = 32 + diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/DependInfo.cmake b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/DependInfo.cmake new file mode 100644 index 000000000..9448851bf --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/DependInfo.cmake @@ -0,0 +1,24 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o" "gcc" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o.d" + "/home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_serializer_utest_runner.c" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o" "gcc" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o.d" + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make new file mode 100644 index 000000000..6c57fe06f --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make @@ -0,0 +1,132 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Include any dependencies generated for this target. +include unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/progress.make + +# Include the compile flags for this target's objects. +include unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/flags.make + +unit-test/MQTTv5/core_mqttv5_serializer_utest_runner.c: /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating core_mqttv5_serializer_utest_runner.c" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && ruby /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/auto/generate_test_runner.rb /home/ubuntu/coreMQTT/tools/cmock/project.yml /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c core_mqttv5_serializer_utest_runner.c + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/flags.make +unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o: /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o -MF CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o.d -o CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o -c /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.i" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c > CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.i + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.s" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c -o CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.s + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/flags.make +unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o: unit-test/MQTTv5/core_mqttv5_serializer_utest_runner.c +unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o -MF CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o.d -o CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o -c /home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_serializer_utest_runner.c + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.i" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_serializer_utest_runner.c > CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.i + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.s" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_serializer_utest_runner.c -o CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.s + +# Object files for target core_mqttv5_serializer_utest +core_mqttv5_serializer_utest_OBJECTS = \ +"CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o" \ +"CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o" + +# External object files for target core_mqttv5_serializer_utest +core_mqttv5_serializer_utest_EXTERNAL_OBJECTS = + +bin/tests/core_mqttv5_serializer_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o +bin/tests/core_mqttv5_serializer_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o +bin/tests/core_mqttv5_serializer_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make +bin/tests/core_mqttv5_serializer_utest: unit-test/MQTTv5/lib/libcore_mqttv5_real.a +bin/tests/core_mqttv5_serializer_utest: lib/libunity.a +bin/tests/core_mqttv5_serializer_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C executable ../../bin/tests/core_mqttv5_serializer_utest" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/core_mqttv5_serializer_utest.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build: bin/tests/core_mqttv5_serializer_utest +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && $(CMAKE_COMMAND) -P CMakeFiles/core_mqttv5_serializer_utest.dir/cmake_clean.cmake +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/clean + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/depend: unit-test/MQTTv5/core_mqttv5_serializer_utest_runner.c + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTTv5 /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTTv5 /home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/depend + diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/cmake_clean.cmake b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/cmake_clean.cmake new file mode 100644 index 000000000..425ceba01 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/cmake_clean.cmake @@ -0,0 +1,14 @@ +file(REMOVE_RECURSE + "../../bin/tests/core_mqttv5_serializer_utest" + "../../bin/tests/core_mqttv5_serializer_utest.pdb" + "CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o" + "CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o.d" + "CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o" + "CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o.d" + "core_mqttv5_serializer_utest_runner.c" +) + +# Per-language clean rules from dependency scanning. +foreach(lang C) + include(CMakeFiles/core_mqttv5_serializer_utest.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/compiler_depend.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/compiler_depend.make new file mode 100644 index 000000000..98d6f3e42 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for core_mqttv5_serializer_utest. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/compiler_depend.ts b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/compiler_depend.ts new file mode 100644 index 000000000..3a334e34a --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for core_mqttv5_serializer_utest. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/depend.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/depend.make new file mode 100644 index 000000000..82d88d950 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for core_mqttv5_serializer_utest. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/flags.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/flags.make new file mode 100644 index 000000000..45b3d2cf8 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# compile C with /usr/bin/cc +C_DEFINES = -DNDEBUG=1 + +C_INCLUDES = -I/home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks -I/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/. -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -I/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/logging -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/src + +C_FLAGS = -std=gnu90 + diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/link.txt b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/link.txt new file mode 100644 index 000000000..7fd5394c5 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/cc -Wl,-rpath,/home/ubuntu/coreMQTT/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTTv5/lib CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o -o ../../bin/tests/core_mqttv5_serializer_utest -L/home/ubuntu/coreMQTT/unit-test/MQTTv5 -L/home/ubuntu/coreMQTT/unit-test/MQTTv5/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTTv5:/home/ubuntu/coreMQTT/unit-test/MQTTv5/lib -Wl,-Bstatic -lcore_mqttv5_real lib/libcore_mqttv5_real.a -Wl,-Bdynamic -lgcov ../../lib/libunity.a -lcore_mqttv5_mock -lgcov diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/progress.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/progress.make new file mode 100644 index 000000000..c6175554c --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/progress.make @@ -0,0 +1,5 @@ +CMAKE_PROGRESS_1 = 33 +CMAKE_PROGRESS_2 = 34 +CMAKE_PROGRESS_3 = 35 +CMAKE_PROGRESS_4 = 36 + diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/DependInfo.cmake b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/DependInfo.cmake new file mode 100644 index 000000000..ce1a6a72d --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/DependInfo.cmake @@ -0,0 +1,24 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_state_utest.c" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o" "gcc" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o.d" + "/home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_state_utest_runner.c" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o" "gcc" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o.d" + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make new file mode 100644 index 000000000..ff0a12ad0 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make @@ -0,0 +1,132 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Include any dependencies generated for this target. +include unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/progress.make + +# Include the compile flags for this target's objects. +include unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/flags.make + +unit-test/MQTTv5/core_mqttv5_state_utest_runner.c: /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_state_utest.c + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating core_mqttv5_state_utest_runner.c" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && ruby /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/auto/generate_test_runner.rb /home/ubuntu/coreMQTT/tools/cmock/project.yml /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_state_utest.c core_mqttv5_state_utest_runner.c + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/flags.make +unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o: /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_state_utest.c +unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o -MF CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o.d -o CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o -c /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_state_utest.c + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.i" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_state_utest.c > CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.i + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.s" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_state_utest.c -o CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.s + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/flags.make +unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o: unit-test/MQTTv5/core_mqttv5_state_utest_runner.c +unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o -MF CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o.d -o CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o -c /home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_state_utest_runner.c + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.i" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_state_utest_runner.c > CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.i + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.s" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_state_utest_runner.c -o CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.s + +# Object files for target core_mqttv5_state_utest +core_mqttv5_state_utest_OBJECTS = \ +"CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o" \ +"CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o" + +# External object files for target core_mqttv5_state_utest +core_mqttv5_state_utest_EXTERNAL_OBJECTS = + +bin/tests/core_mqttv5_state_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o +bin/tests/core_mqttv5_state_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o +bin/tests/core_mqttv5_state_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make +bin/tests/core_mqttv5_state_utest: unit-test/MQTTv5/lib/libcore_mqttv5_real.a +bin/tests/core_mqttv5_state_utest: lib/libunity.a +bin/tests/core_mqttv5_state_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C executable ../../bin/tests/core_mqttv5_state_utest" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/core_mqttv5_state_utest.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build: bin/tests/core_mqttv5_state_utest +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && $(CMAKE_COMMAND) -P CMakeFiles/core_mqttv5_state_utest.dir/cmake_clean.cmake +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/clean + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/depend: unit-test/MQTTv5/core_mqttv5_state_utest_runner.c + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTTv5 /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTTv5 /home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/depend + diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/cmake_clean.cmake b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/cmake_clean.cmake new file mode 100644 index 000000000..c03e72251 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/cmake_clean.cmake @@ -0,0 +1,14 @@ +file(REMOVE_RECURSE + "../../bin/tests/core_mqttv5_state_utest" + "../../bin/tests/core_mqttv5_state_utest.pdb" + "CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o" + "CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o.d" + "CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o" + "CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o.d" + "core_mqttv5_state_utest_runner.c" +) + +# Per-language clean rules from dependency scanning. +foreach(lang C) + include(CMakeFiles/core_mqttv5_state_utest.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/compiler_depend.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/compiler_depend.make new file mode 100644 index 000000000..1c14c2152 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for core_mqttv5_state_utest. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/compiler_depend.ts b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/compiler_depend.ts new file mode 100644 index 000000000..24e54c04c --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for core_mqttv5_state_utest. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/depend.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/depend.make new file mode 100644 index 000000000..12f256aac --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for core_mqttv5_state_utest. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/flags.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/flags.make new file mode 100644 index 000000000..45b3d2cf8 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# compile C with /usr/bin/cc +C_DEFINES = -DNDEBUG=1 + +C_INCLUDES = -I/home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks -I/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/. -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -I/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/logging -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/src + +C_FLAGS = -std=gnu90 + diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/link.txt b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/link.txt new file mode 100644 index 000000000..d200c83ab --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/cc -Wl,-rpath,/home/ubuntu/coreMQTT/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTTv5/lib CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o -o ../../bin/tests/core_mqttv5_state_utest -L/home/ubuntu/coreMQTT/unit-test/MQTTv5 -L/home/ubuntu/coreMQTT/unit-test/MQTTv5/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTTv5:/home/ubuntu/coreMQTT/unit-test/MQTTv5/lib -Wl,-Bstatic -lcore_mqttv5_real lib/libcore_mqttv5_real.a -Wl,-Bdynamic -lgcov ../../lib/libunity.a -lcore_mqttv5_mock -lgcov diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/progress.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/progress.make new file mode 100644 index 000000000..df82e94bc --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/progress.make @@ -0,0 +1,5 @@ +CMAKE_PROGRESS_1 = 37 +CMAKE_PROGRESS_2 = 38 +CMAKE_PROGRESS_3 = 39 +CMAKE_PROGRESS_4 = 40 + diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/DependInfo.cmake b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/DependInfo.cmake new file mode 100644 index 000000000..98746456a --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/DependInfo.cmake @@ -0,0 +1,24 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_utest.c" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o" "gcc" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o.d" + "/home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_utest_runner.c" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o" "gcc" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o.d" + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make new file mode 100644 index 000000000..613620e0b --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make @@ -0,0 +1,132 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +# Include any dependencies generated for this target. +include unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/compiler_depend.make + +# Include the progress variables for this target. +include unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/progress.make + +# Include the compile flags for this target's objects. +include unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/flags.make + +unit-test/MQTTv5/core_mqttv5_utest_runner.c: /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_utest.c + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating core_mqttv5_utest_runner.c" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && ruby /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/auto/generate_test_runner.rb /home/ubuntu/coreMQTT/tools/cmock/project.yml /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_utest.c core_mqttv5_utest_runner.c + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/flags.make +unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o: /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_utest.c +unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o -MF CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o.d -o CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o -c /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_utest.c + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.i" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_utest.c > CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.i + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.s" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_utest.c -o CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.s + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/flags.make +unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o: unit-test/MQTTv5/core_mqttv5_utest_runner.c +unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o -MF CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o.d -o CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o -c /home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_utest_runner.c + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.i" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_utest_runner.c > CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.i + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.s" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_utest_runner.c -o CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.s + +# Object files for target core_mqttv5_utest +core_mqttv5_utest_OBJECTS = \ +"CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o" \ +"CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o" + +# External object files for target core_mqttv5_utest +core_mqttv5_utest_EXTERNAL_OBJECTS = + +bin/tests/core_mqttv5_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o +bin/tests/core_mqttv5_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o +bin/tests/core_mqttv5_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make +bin/tests/core_mqttv5_utest: unit-test/MQTTv5/lib/libcore_mqttv5_real.a +bin/tests/core_mqttv5_utest: lib/libunity.a +bin/tests/core_mqttv5_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C executable ../../bin/tests/core_mqttv5_utest" + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/core_mqttv5_utest.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build: bin/tests/core_mqttv5_utest +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/clean: + cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && $(CMAKE_COMMAND) -P CMakeFiles/core_mqttv5_utest.dir/cmake_clean.cmake +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/clean + +unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/depend: unit-test/MQTTv5/core_mqttv5_utest_runner.c + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTTv5 /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTTv5 /home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/depend + diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/cmake_clean.cmake b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/cmake_clean.cmake new file mode 100644 index 000000000..1cdbfc6bd --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/cmake_clean.cmake @@ -0,0 +1,14 @@ +file(REMOVE_RECURSE + "../../bin/tests/core_mqttv5_utest" + "../../bin/tests/core_mqttv5_utest.pdb" + "CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o" + "CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o.d" + "CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o" + "CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o.d" + "core_mqttv5_utest_runner.c" +) + +# Per-language clean rules from dependency scanning. +foreach(lang C) + include(CMakeFiles/core_mqttv5_utest.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/compiler_depend.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/compiler_depend.make new file mode 100644 index 000000000..245b736f7 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for core_mqttv5_utest. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/compiler_depend.ts b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/compiler_depend.ts new file mode 100644 index 000000000..09a5e1235 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for core_mqttv5_utest. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/depend.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/depend.make new file mode 100644 index 000000000..eb815a3ec --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for core_mqttv5_utest. +# This may be replaced when dependencies are built. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/flags.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/flags.make new file mode 100644 index 000000000..45b3d2cf8 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# compile C with /usr/bin/cc +C_DEFINES = -DNDEBUG=1 + +C_INCLUDES = -I/home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks -I/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/. -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -I/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/logging -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/src + +C_FLAGS = -std=gnu90 + diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/link.txt b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/link.txt new file mode 100644 index 000000000..2841e8cb8 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/cc -Wl,-rpath,/home/ubuntu/coreMQTT/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTTv5/lib CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o -o ../../bin/tests/core_mqttv5_utest -L/home/ubuntu/coreMQTT/unit-test/MQTTv5 -L/home/ubuntu/coreMQTT/unit-test/MQTTv5/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTTv5:/home/ubuntu/coreMQTT/unit-test/MQTTv5/lib -lcore_mqttv5_mock -Wl,-Bstatic -lcore_mqttv5_real lib/libcore_mqttv5_real.a -Wl,-Bdynamic -lgcov ../../lib/libunity.a -lcore_mqttv5_mock -lgcov diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/progress.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/progress.make new file mode 100644 index 000000000..62cca800c --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/progress.make @@ -0,0 +1,5 @@ +CMAKE_PROGRESS_1 = 41 +CMAKE_PROGRESS_2 = 42 +CMAKE_PROGRESS_3 = 43 +CMAKE_PROGRESS_4 = 44 + diff --git a/unit-test/MQTTv5/CMakeFiles/progress.marks b/unit-test/MQTTv5/CMakeFiles/progress.marks new file mode 100644 index 000000000..f64f5d8d8 --- /dev/null +++ b/unit-test/MQTTv5/CMakeFiles/progress.marks @@ -0,0 +1 @@ +27 diff --git a/unit-test/MQTTv5/CTestTestfile.cmake b/unit-test/MQTTv5/CTestTestfile.cmake new file mode 100644 index 000000000..9e44a1436 --- /dev/null +++ b/unit-test/MQTTv5/CTestTestfile.cmake @@ -0,0 +1,12 @@ +# CMake generated Testfile for +# Source directory: /home/ubuntu/coreMQTT/test/unit-test/MQTTv5 +# Build directory: /home/ubuntu/coreMQTT/unit-test/MQTTv5 +# +# This file includes the relevant testing commands required for +# testing this directory and lists subdirectories to be tested as well. +add_test([=[core_mqttv5_utest]=] "/home/ubuntu/coreMQTT/bin/tests/core_mqttv5_utest") +set_tests_properties([=[core_mqttv5_utest]=] PROPERTIES WORKING_DIRECTORY "/home/ubuntu/coreMQTT" _BACKTRACE_TRIPLES "/home/ubuntu/coreMQTT/tools/cmock/create_test.cmake;52;add_test;/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/CMakeLists.txt;77;create_test;/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/CMakeLists.txt;0;") +add_test([=[core_mqttv5_state_utest]=] "/home/ubuntu/coreMQTT/bin/tests/core_mqttv5_state_utest") +set_tests_properties([=[core_mqttv5_state_utest]=] PROPERTIES WORKING_DIRECTORY "/home/ubuntu/coreMQTT" _BACKTRACE_TRIPLES "/home/ubuntu/coreMQTT/tools/cmock/create_test.cmake;52;add_test;/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/CMakeLists.txt;94;create_test;/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/CMakeLists.txt;0;") +add_test([=[core_mqttv5_serializer_utest]=] "/home/ubuntu/coreMQTT/bin/tests/core_mqttv5_serializer_utest") +set_tests_properties([=[core_mqttv5_serializer_utest]=] PROPERTIES WORKING_DIRECTORY "/home/ubuntu/coreMQTT" _BACKTRACE_TRIPLES "/home/ubuntu/coreMQTT/tools/cmock/create_test.cmake;52;add_test;/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/CMakeLists.txt;110;create_test;/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/CMakeLists.txt;0;") diff --git a/unit-test/MQTTv5/Makefile b/unit-test/MQTTv5/Makefile new file mode 100644 index 000000000..9dd7cfaf5 --- /dev/null +++ b/unit-test/MQTTv5/Makefile @@ -0,0 +1,523 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.30 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake + +# The command to remove a file. +RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running tests..." + /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test +.PHONY : test/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..." + /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..." + /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# The main all target +all: cmake_check_build_system + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles /home/ubuntu/coreMQTT/unit-test/MQTTv5//CMakeFiles/progress.marks + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/rule +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/rule + +# Convenience name for target. +core_mqttv5_mock: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/rule +.PHONY : core_mqttv5_mock + +# fast build rule for target. +core_mqttv5_mock/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build +.PHONY : core_mqttv5_mock/fast + +# Convenience name for target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/rule +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/rule + +# Convenience name for target. +core_mqttv5_real: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/rule +.PHONY : core_mqttv5_real + +# fast build rule for target. +core_mqttv5_real/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build +.PHONY : core_mqttv5_real/fast + +# Convenience name for target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/rule +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/rule + +# Convenience name for target. +core_mqttv5_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/rule +.PHONY : core_mqttv5_utest + +# fast build rule for target. +core_mqttv5_utest/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build +.PHONY : core_mqttv5_utest/fast + +# Convenience name for target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/rule +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/rule + +# Convenience name for target. +core_mqttv5_state_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/rule +.PHONY : core_mqttv5_state_utest + +# fast build rule for target. +core_mqttv5_state_utest/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build +.PHONY : core_mqttv5_state_utest/fast + +# Convenience name for target. +unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/rule: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/rule +.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/rule + +# Convenience name for target. +core_mqttv5_serializer_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/rule +.PHONY : core_mqttv5_serializer_utest + +# fast build rule for target. +core_mqttv5_serializer_utest/fast: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build +.PHONY : core_mqttv5_serializer_utest/fast + +__/__/source/core_mqtt.o: __/__/source/core_mqtt.c.o +.PHONY : __/__/source/core_mqtt.o + +# target to build an object file +__/__/source/core_mqtt.c.o: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o +.PHONY : __/__/source/core_mqtt.c.o + +__/__/source/core_mqtt.i: __/__/source/core_mqtt.c.i +.PHONY : __/__/source/core_mqtt.i + +# target to preprocess a source file +__/__/source/core_mqtt.c.i: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.i +.PHONY : __/__/source/core_mqtt.c.i + +__/__/source/core_mqtt.s: __/__/source/core_mqtt.c.s +.PHONY : __/__/source/core_mqtt.s + +# target to generate assembly for a file +__/__/source/core_mqtt.c.s: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.s +.PHONY : __/__/source/core_mqtt.c.s + +__/__/source/core_mqtt_serializer.o: __/__/source/core_mqtt_serializer.c.o +.PHONY : __/__/source/core_mqtt_serializer.o + +# target to build an object file +__/__/source/core_mqtt_serializer.c.o: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o +.PHONY : __/__/source/core_mqtt_serializer.c.o + +__/__/source/core_mqtt_serializer.i: __/__/source/core_mqtt_serializer.c.i +.PHONY : __/__/source/core_mqtt_serializer.i + +# target to preprocess a source file +__/__/source/core_mqtt_serializer.c.i: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.i +.PHONY : __/__/source/core_mqtt_serializer.c.i + +__/__/source/core_mqtt_serializer.s: __/__/source/core_mqtt_serializer.c.s +.PHONY : __/__/source/core_mqtt_serializer.s + +# target to generate assembly for a file +__/__/source/core_mqtt_serializer.c.s: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.s +.PHONY : __/__/source/core_mqtt_serializer.c.s + +__/__/source/core_mqtt_state.o: __/__/source/core_mqtt_state.c.o +.PHONY : __/__/source/core_mqtt_state.o + +# target to build an object file +__/__/source/core_mqtt_state.c.o: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o +.PHONY : __/__/source/core_mqtt_state.c.o + +__/__/source/core_mqtt_state.i: __/__/source/core_mqtt_state.c.i +.PHONY : __/__/source/core_mqtt_state.i + +# target to preprocess a source file +__/__/source/core_mqtt_state.c.i: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.i +.PHONY : __/__/source/core_mqtt_state.c.i + +__/__/source/core_mqtt_state.s: __/__/source/core_mqtt_state.c.s +.PHONY : __/__/source/core_mqtt_state.s + +# target to generate assembly for a file +__/__/source/core_mqtt_state.c.s: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.s +.PHONY : __/__/source/core_mqtt_state.c.s + +core_mqttv5_serializer_utest.o: core_mqttv5_serializer_utest.c.o +.PHONY : core_mqttv5_serializer_utest.o + +# target to build an object file +core_mqttv5_serializer_utest.c.o: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o +.PHONY : core_mqttv5_serializer_utest.c.o + +core_mqttv5_serializer_utest.i: core_mqttv5_serializer_utest.c.i +.PHONY : core_mqttv5_serializer_utest.i + +# target to preprocess a source file +core_mqttv5_serializer_utest.c.i: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.i +.PHONY : core_mqttv5_serializer_utest.c.i + +core_mqttv5_serializer_utest.s: core_mqttv5_serializer_utest.c.s +.PHONY : core_mqttv5_serializer_utest.s + +# target to generate assembly for a file +core_mqttv5_serializer_utest.c.s: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.s +.PHONY : core_mqttv5_serializer_utest.c.s + +core_mqttv5_serializer_utest_runner.o: core_mqttv5_serializer_utest_runner.c.o +.PHONY : core_mqttv5_serializer_utest_runner.o + +# target to build an object file +core_mqttv5_serializer_utest_runner.c.o: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o +.PHONY : core_mqttv5_serializer_utest_runner.c.o + +core_mqttv5_serializer_utest_runner.i: core_mqttv5_serializer_utest_runner.c.i +.PHONY : core_mqttv5_serializer_utest_runner.i + +# target to preprocess a source file +core_mqttv5_serializer_utest_runner.c.i: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.i +.PHONY : core_mqttv5_serializer_utest_runner.c.i + +core_mqttv5_serializer_utest_runner.s: core_mqttv5_serializer_utest_runner.c.s +.PHONY : core_mqttv5_serializer_utest_runner.s + +# target to generate assembly for a file +core_mqttv5_serializer_utest_runner.c.s: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.s +.PHONY : core_mqttv5_serializer_utest_runner.c.s + +core_mqttv5_state_utest.o: core_mqttv5_state_utest.c.o +.PHONY : core_mqttv5_state_utest.o + +# target to build an object file +core_mqttv5_state_utest.c.o: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o +.PHONY : core_mqttv5_state_utest.c.o + +core_mqttv5_state_utest.i: core_mqttv5_state_utest.c.i +.PHONY : core_mqttv5_state_utest.i + +# target to preprocess a source file +core_mqttv5_state_utest.c.i: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.i +.PHONY : core_mqttv5_state_utest.c.i + +core_mqttv5_state_utest.s: core_mqttv5_state_utest.c.s +.PHONY : core_mqttv5_state_utest.s + +# target to generate assembly for a file +core_mqttv5_state_utest.c.s: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.s +.PHONY : core_mqttv5_state_utest.c.s + +core_mqttv5_state_utest_runner.o: core_mqttv5_state_utest_runner.c.o +.PHONY : core_mqttv5_state_utest_runner.o + +# target to build an object file +core_mqttv5_state_utest_runner.c.o: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o +.PHONY : core_mqttv5_state_utest_runner.c.o + +core_mqttv5_state_utest_runner.i: core_mqttv5_state_utest_runner.c.i +.PHONY : core_mqttv5_state_utest_runner.i + +# target to preprocess a source file +core_mqttv5_state_utest_runner.c.i: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.i +.PHONY : core_mqttv5_state_utest_runner.c.i + +core_mqttv5_state_utest_runner.s: core_mqttv5_state_utest_runner.c.s +.PHONY : core_mqttv5_state_utest_runner.s + +# target to generate assembly for a file +core_mqttv5_state_utest_runner.c.s: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.s +.PHONY : core_mqttv5_state_utest_runner.c.s + +core_mqttv5_utest.o: core_mqttv5_utest.c.o +.PHONY : core_mqttv5_utest.o + +# target to build an object file +core_mqttv5_utest.c.o: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o +.PHONY : core_mqttv5_utest.c.o + +core_mqttv5_utest.i: core_mqttv5_utest.c.i +.PHONY : core_mqttv5_utest.i + +# target to preprocess a source file +core_mqttv5_utest.c.i: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.i +.PHONY : core_mqttv5_utest.c.i + +core_mqttv5_utest.s: core_mqttv5_utest.c.s +.PHONY : core_mqttv5_utest.s + +# target to generate assembly for a file +core_mqttv5_utest.c.s: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.s +.PHONY : core_mqttv5_utest.c.s + +core_mqttv5_utest_runner.o: core_mqttv5_utest_runner.c.o +.PHONY : core_mqttv5_utest_runner.o + +# target to build an object file +core_mqttv5_utest_runner.c.o: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o +.PHONY : core_mqttv5_utest_runner.c.o + +core_mqttv5_utest_runner.i: core_mqttv5_utest_runner.c.i +.PHONY : core_mqttv5_utest_runner.i + +# target to preprocess a source file +core_mqttv5_utest_runner.c.i: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.i +.PHONY : core_mqttv5_utest_runner.c.i + +core_mqttv5_utest_runner.s: core_mqttv5_utest_runner.c.s +.PHONY : core_mqttv5_utest_runner.s + +# target to generate assembly for a file +core_mqttv5_utest_runner.c.s: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.s +.PHONY : core_mqttv5_utest_runner.c.s + +mocks/mock_core_mqtt_serializer.o: mocks/mock_core_mqtt_serializer.c.o +.PHONY : mocks/mock_core_mqtt_serializer.o + +# target to build an object file +mocks/mock_core_mqtt_serializer.c.o: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o +.PHONY : mocks/mock_core_mqtt_serializer.c.o + +mocks/mock_core_mqtt_serializer.i: mocks/mock_core_mqtt_serializer.c.i +.PHONY : mocks/mock_core_mqtt_serializer.i + +# target to preprocess a source file +mocks/mock_core_mqtt_serializer.c.i: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.i +.PHONY : mocks/mock_core_mqtt_serializer.c.i + +mocks/mock_core_mqtt_serializer.s: mocks/mock_core_mqtt_serializer.c.s +.PHONY : mocks/mock_core_mqtt_serializer.s + +# target to generate assembly for a file +mocks/mock_core_mqtt_serializer.c.s: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.s +.PHONY : mocks/mock_core_mqtt_serializer.c.s + +mocks/mock_core_mqtt_state.o: mocks/mock_core_mqtt_state.c.o +.PHONY : mocks/mock_core_mqtt_state.o + +# target to build an object file +mocks/mock_core_mqtt_state.c.o: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o +.PHONY : mocks/mock_core_mqtt_state.c.o + +mocks/mock_core_mqtt_state.i: mocks/mock_core_mqtt_state.c.i +.PHONY : mocks/mock_core_mqtt_state.i + +# target to preprocess a source file +mocks/mock_core_mqtt_state.c.i: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.i +.PHONY : mocks/mock_core_mqtt_state.c.i + +mocks/mock_core_mqtt_state.s: mocks/mock_core_mqtt_state.c.s +.PHONY : mocks/mock_core_mqtt_state.s + +# target to generate assembly for a file +mocks/mock_core_mqtt_state.c.s: + cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.s +.PHONY : mocks/mock_core_mqtt_state.c.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... rebuild_cache" + @echo "... test" + @echo "... core_mqttv5_mock" + @echo "... core_mqttv5_real" + @echo "... core_mqttv5_serializer_utest" + @echo "... core_mqttv5_state_utest" + @echo "... core_mqttv5_utest" + @echo "... __/__/source/core_mqtt.o" + @echo "... __/__/source/core_mqtt.i" + @echo "... __/__/source/core_mqtt.s" + @echo "... __/__/source/core_mqtt_serializer.o" + @echo "... __/__/source/core_mqtt_serializer.i" + @echo "... __/__/source/core_mqtt_serializer.s" + @echo "... __/__/source/core_mqtt_state.o" + @echo "... __/__/source/core_mqtt_state.i" + @echo "... __/__/source/core_mqtt_state.s" + @echo "... core_mqttv5_serializer_utest.o" + @echo "... core_mqttv5_serializer_utest.i" + @echo "... core_mqttv5_serializer_utest.s" + @echo "... core_mqttv5_serializer_utest_runner.o" + @echo "... core_mqttv5_serializer_utest_runner.i" + @echo "... core_mqttv5_serializer_utest_runner.s" + @echo "... core_mqttv5_state_utest.o" + @echo "... core_mqttv5_state_utest.i" + @echo "... core_mqttv5_state_utest.s" + @echo "... core_mqttv5_state_utest_runner.o" + @echo "... core_mqttv5_state_utest_runner.i" + @echo "... core_mqttv5_state_utest_runner.s" + @echo "... core_mqttv5_utest.o" + @echo "... core_mqttv5_utest.i" + @echo "... core_mqttv5_utest.s" + @echo "... core_mqttv5_utest_runner.o" + @echo "... core_mqttv5_utest_runner.i" + @echo "... core_mqttv5_utest_runner.s" + @echo "... mocks/mock_core_mqtt_serializer.o" + @echo "... mocks/mock_core_mqtt_serializer.i" + @echo "... mocks/mock_core_mqtt_serializer.s" + @echo "... mocks/mock_core_mqtt_state.o" + @echo "... mocks/mock_core_mqtt_state.i" + @echo "... mocks/mock_core_mqtt_state.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/unit-test/MQTTv5/cmake_install.cmake b/unit-test/MQTTv5/cmake_install.cmake new file mode 100644 index 000000000..b1e238b0d --- /dev/null +++ b/unit-test/MQTTv5/cmake_install.cmake @@ -0,0 +1,44 @@ +# Install script for directory: /home/ubuntu/coreMQTT/test/unit-test/MQTTv5 + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set path to fallback-tool for dependency-resolution. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + From b9b47e429c99e6dd2a1e8eed0a5160da38a3e2cf Mon Sep 17 00:00:00 2001 From: Monika Singh Date: Thu, 20 Jun 2024 21:16:36 +0000 Subject: [PATCH 18/82] test --- source/core_mqtt.c | 7 +- source/core_mqtt_serializer.c | 4 +- source/include/core_mqtt_serializer.h | 2 +- test/unit-test/MQTTv5/core_mqtt_config.h | 2 +- .../MQTTv5/core_mqttv5_serializer_utest.c | 136 +++++++++++++----- test/unit-test/MQTTv5/core_mqttv5_utest.c | 80 +++++++++++ 6 files changed, 184 insertions(+), 47 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index c5ee7edda..d9d5f7f73 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -612,16 +612,11 @@ static size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_ vectorsAdded++; packetLength += CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; - /* Sometimes the string can be NULL that is, of 0 length. In that case, - * only the length field should be encoded in the vector. */ - if ((string != NULL) && (length != 0U)) - { - /* Then add the pointer to the string itself. */ + /* Then add the pointer to the string itself. */ pLocalIterator[2].iov_base = string; pLocalIterator[2].iov_len = length; vectorsAdded++; packetLength += length; - } (*updatedLength) = (*updatedLength) + packetLength; diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index f997a4c8b..cf6714787 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -789,7 +789,7 @@ static MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* pUserProperty, MQTTStatus_t status = MQTTSuccess; uint16_t i = 0; /*Number of user properties can't be more than the max user properties specified*/ - if (number > MAX_USER_PROPERTY || size == NULL) { + if (number > MAX_USER_PROPERTY) { status = MQTTBadParameter; } else if (number != 0 && pUserProperty == NULL) { @@ -1596,7 +1596,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti break; case MQTT_USER_PROPERTY_ID: if (pConnackProperties->incomingUserPropSize == MAX_USER_PROPERTY) { - + status = MQTTProtocolError; } else if (propertyLength < 2) { status = MQTTMalformedPacket; diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index 15e577de7..7196b260f 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -387,7 +387,7 @@ typedef struct MQTTPublishInfo uint16_t correlationLength; const void *correlationData; MQTTUserProperty_t* userProperty; - uint16_t userPropertySize; + uint32_t userPropertySize; #endif } MQTTPublishInfo_t; diff --git a/test/unit-test/MQTTv5/core_mqtt_config.h b/test/unit-test/MQTTv5/core_mqtt_config.h index 9cf92dafd..556c14ceb 100644 --- a/test/unit-test/MQTTv5/core_mqtt_config.h +++ b/test/unit-test/MQTTv5/core_mqtt_config.h @@ -73,6 +73,6 @@ #define MQTT_SEND_TIMEOUT_MS ( 200U ) #define MQTT_VERSION_5_ENABLED ( true ) -#define MAX_USER_PROPERTY (5000U) +#define MAX_USER_PROPERTY (5000) #endif /* ifndef CORE_MQTT_CONFIG_H_ */ \ No newline at end of file diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index fe2d3b8eb..05130dff4 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -2072,6 +2072,7 @@ void test_MQTTV5_DeserializeConnackOnlyResponseInfo(void) TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); } + void test_MQTTV5_DeserializeConnackOnlyUserProperty(void) { MQTTPacketInfo_t packetInfo; @@ -2085,7 +2086,7 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty(void) properties.incomingUserProperty = userProperty2; MQTTStatus_t status; - uint8_t buffer[200] = {0}; + uint8_t buffer[500000] = {0}; uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; @@ -2111,6 +2112,23 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty(void) TEST_ASSERT_EQUAL(3, (properties.incomingUserProperty->valueLength)); TEST_ASSERT_EQUAL(2, (properties.incomingUserProperty->keyLength)); + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 450009); + packetInfo.remainingLength = 450011 + propertyLength; + pIndexLocal+= propertyLength; + uint32_t i=0; + for(;i<50001;i++){ + *pIndexLocal = MQTT_USER_PROPERTY_ID; + pIndexLocal++; + dummy = encodeString(pIndexLocal, string, 2); + pIndexLocal = &pIndexLocal[dummy]; + dummy2 = encodeString(pIndexLocal, string, 2); + pIndexLocal = &pIndexLocal[dummy2]; + } + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + + /*Invalid property length*/ packetInfo.remainingLength = 5; pIndexLocal = &buffer[2]; @@ -2256,7 +2274,13 @@ void test_MQTTV5_DeserializeConnackOnlyAuthMethod(void) TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); TEST_ASSERT_EQUAL(2, properties.incomingAuth->authMethodLength); + /*Outgoing auth is null*/ + properties.outgoingAuth =NULL; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + /*Protocol error to include auth method more than once*/ + properties.outgoingAuth = &auth; packetInfo.remainingLength = 13; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 10); @@ -2329,7 +2353,13 @@ void test_MQTTV5_DeserializeConnackOnlyAuthData(void) TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); TEST_ASSERT_EQUAL(2, properties.incomingAuth->authDataLength); + /*Outgoing auth is null*/ + properties.outgoingAuth =NULL; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + /*Protocol error to include auth method more than once*/ + properties.outgoingAuth = &auth1; packetInfo.remainingLength = 13; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 10); @@ -2528,40 +2558,56 @@ void test_MQTTV5_GetConnectPacketSize(void) properties.outgoingUserPropSize = 1; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - ; TEST_ASSERT_EQUAL(MQTTBadParameter, status); properties.outgoingUserProperty = &userProperty; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); userProperty.keyLength = 3; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); userProperty.valueLength = 1; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); userProperty.value = "1"; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + userProperty.key = "2"; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + + userProperty.value = NULL; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + userProperty.keyLength = 0; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + userProperty.valueLength = 0; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); - userProperty.key = "20011"; + userProperty.keyLength = 1; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(29, properties.propertyLength); + + userProperty.valueLength = 1; + userProperty.keyLength = 0; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); properties.outgoingUserPropSize = 6000; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); properties.outgoingUserPropSize = 1; + + /* * Incoming AuthInfo not intialized. */ @@ -2577,27 +2623,32 @@ void test_MQTTV5_GetConnectPacketSize(void) properties.incomingAuth = &auth2; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + auth.authDataLength = 0; + auth.authMethodLength = 0; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); /* * Protocol Error to include Authentication Data if there is no Authentication Method */ auth.authData = "1"; + auth.authDataLength = 1; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); - + auth.authMethodLength = 3; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + auth.authMethod = "234"; + auth.authDataLength = 0; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(39, properties.propertyLength); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); - auth.authData= NULL; - auth.authDataLength =1; + auth.authData= NULL; + auth.authDataLength = 1; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); @@ -2713,33 +2764,33 @@ void test_MQTTV5_GetConnectPacketSize(void) /*5*/ properties.receiveMax = UINT16_MAX; properties.reqProbInfo = 1; - MQTTUserProperty_t userPropArr[5000]; - properties.outgoingUserPropSize = 5000; + MQTTUserProperty_t userPropArr[3000]; + properties.outgoingUserPropSize = 3000; properties.outgoingUserProperty = userPropArr; uint16_t i = 0; - - for(;i<5000;i++){ + char str[65535]; + memset(str, '.', 65535*sizeof(char)); + + for(;i<3000;i++){ userPropArr[i].keyLength = UINT16_MAX; - userPropArr[i].key = "a"; + userPropArr[i].key = str; + userPropArr[i].value = str; userPropArr[i].valueLength = UINT16_MAX; - userPropArr[i].value = "b"; - } - - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + } + + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + properties.outgoingUserPropSize = 1; + willInfo.userPropertySize = 2048; + willInfo.userProperty = userPropArr; + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); - properties.outgoingUserPropSize = 1; - willInfo.userPropertySize = 2048; - willInfo.userProperty = userPropArr; - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); - - - willInfo.userPropertySize = 5000; - willInfo.userProperty = userPropArr; - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); - + willInfo.userPropertySize = 3000; + willInfo.userProperty = userPropArr; + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); } @@ -2924,6 +2975,17 @@ void test_MQTTV5_SerializeConnect(void) TEST_ASSERT_EQUAL(MQTTSuccess, status); checkBufferOverflow(buffer, sizeof(buffer)); + auth.authDataLength = 0; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); + /* Set the fixed buffer to exactly the size of the packet. */ + fixedBuffer.size = packetSize; + padAndResetBuffer(buffer, sizeof(buffer)); + status = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, remainingLength, &fixedBuffer); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + checkBufferOverflow(buffer, sizeof(buffer)); + /*Will Properties*/ willInfo.payloadFormat = 1; willInfo.msgExpiryPresent = 1; diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index fb19d9332..edf1dc5a5 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -494,6 +494,48 @@ void test_MQTT_Connect_happy_path() status = MQTT_Connect( &mqttContext, &connectInfo, &willInfo, timeout, &sessionPresent ); TEST_ASSERT_EQUAL_INT( MQTTRecvFailed, status ); + properties.outgoingUserPropSize =0; + MQTT_SerializeConnect_IgnoreAndReturn( MQTTSuccess ); + MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); + MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); + MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); + MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTRecvFailed ); + status = MQTT_Connect( &mqttContext, &connectInfo, &willInfo, timeout, &sessionPresent ); + TEST_ASSERT_EQUAL_INT( MQTTRecvFailed, status ); + + authInfo.authDataLength = 0; + MQTT_SerializeConnect_IgnoreAndReturn( MQTTSuccess ); + MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); + MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); + MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); + MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTRecvFailed ); + status = MQTT_Connect( &mqttContext, &connectInfo, &willInfo, timeout, &sessionPresent ); + TEST_ASSERT_EQUAL_INT( MQTTRecvFailed, status ); + + properties.outgoingAuth =NULL; + willInfo.contentTypeLength = 0; + willInfo.responseTopicLength = 0; + willInfo.correlationLength = 0; + willInfo.userPropertySize = 0; + MQTT_SerializeConnect_IgnoreAndReturn( MQTTSuccess ); + MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); + MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); + MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); + MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTRecvFailed ); + status = MQTT_Connect( &mqttContext, &connectInfo, &willInfo, timeout, &sessionPresent ); + TEST_ASSERT_EQUAL_INT( MQTTRecvFailed, status ); + + MQTT_SerializeConnect_IgnoreAndReturn( MQTTSuccess ); + MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); + MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); + MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); + MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); + status = MQTT_Connect( &mqttContext, &connectInfo, &willInfo, timeout, &sessionPresent ); + TEST_ASSERT_EQUAL_INT( MQTTRecvFailed, status ); willInfo.pTopicName = NULL; mqttContext.transportInterface.send = transportSendSuccess; @@ -506,4 +548,42 @@ void test_MQTT_Connect_happy_path() TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); } +void test_MQTT_Connect_receiveConnack( void ) +{ + MQTTContext_t mqttContext = { 0 }; + MQTTConnectInfo_t connectInfo = { 0 }; + uint32_t timeout = 0; + bool sessionPresent; + MQTTStatus_t status; + TransportInterface_t transport = { 0 }; + MQTTFixedBuffer_t networkBuffer = { 0 }; + MQTTPacketInfo_t incomingPacket = { 0 }; + MQTTConnectProperties_t properties ={0}; + + setupTransportInterface( &transport ); + setupNetworkBuffer( &networkBuffer ); + + memset( &mqttContext, 0x0, sizeof( mqttContext ) ); + memset( &properties, 0x0, sizeof( properties ) ); + properties.receiveMax = UINT16_MAX; + properties.reqProbInfo = 1; + mqttContext.connectProperties =&properties; + MQTT_Init( &mqttContext, &transport, getTime, eventCallback, &networkBuffer ); + + /* Everything before receiving the CONNACK should succeed. */ + MQTTV5_SerializeConnect_IgnoreAndReturn( MQTTSuccess ); + MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); + MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); + MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); + MQTTV5_GetConnectPacketSize_IgnoreAndReturn( MQTTSuccess ); + incomingPacket.type = MQTT_PACKET_TYPE_CONNACK; + incomingPacket.remainingLength = 3; + timeout = 2; + mqttContext.transportInterface.recv = transportRecvSuccess; + MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_GetIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); + MQTTV5_DeserializeConnack_IgnoreAndReturn( MQTTBadResponse ); + status = MQTT_Connect( &mqttContext, &connectInfo, NULL, timeout, &sessionPresent ); + TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); +} From 8a27fd413eef64ea779d53a1acacc8555eacc5de Mon Sep 17 00:00:00 2001 From: Monika Singh Date: Fri, 21 Jun 2024 03:12:49 +0000 Subject: [PATCH 19/82] njkj --- source/core_mqtt.c | 3 +- source/core_mqtt_serializer.c | 5 +- .../MQTTv5/core_mqttv5_serializer_utest.c | 27 +++++-- test/unit-test/MQTTv5/core_mqttv5_utest.c | 73 ++++++++++++------- 4 files changed, 68 insertions(+), 40 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index d9d5f7f73..dc7856930 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -2395,7 +2395,7 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; } - + } /*Encodethe authentication method and data if provided*/ if (pContext->connectProperties->outgoingAuth != NULL) { @@ -2422,7 +2422,6 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; } - } } diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index cf6714787..415bc9d7b 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -1446,6 +1446,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti bool serverRef = false; bool authMethod = false; bool authData = false; + MQTTUserProperty_t * userProperty = pConnackProperties->incomingUserProperty; pVariableHeader=&pVariableHeader[remainingLengthEncodedSize(propertyLength)]; while ((propertyLength > 0) && (status == MQTTSuccess)) { uint8_t packetId = *pVariableHeader; @@ -1602,7 +1603,6 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti status = MQTTMalformedPacket; } else { - MQTTUserProperty_t* userProperty = (pConnackProperties->incomingUserProperty + pConnackProperties->incomingUserPropSize); pConnackProperties->incomingUserPropSize++; userProperty->keyLength = UINT16_DECODE(pVariableHeader); propertyLength -= 2; @@ -1622,8 +1622,9 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti else { userProperty->value = (const char*)pVariableHeader; pVariableHeader = &pVariableHeader[ userProperty->valueLength]; - propertyLength-=userProperty->valueLength; + propertyLength-=userProperty->valueLength; if (pConnackProperties->incomingUserPropSize != MAX_USER_PROPERTY -1){ + userProperty++; } } } diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index 05130dff4..abe54e6e1 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -2078,7 +2078,7 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty(void) MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTUserProperty_t userProperty[5]; - MQTTUserProperty_t userProperty2[5]; + MQTTUserProperty_t userProperty2[5000]; memset(&properties, 0x0, sizeof(properties)); memset(&packetInfo, 0x0, sizeof(packetInfo)); properties.outgoingUserPropSize = 1; @@ -2764,14 +2764,14 @@ void test_MQTTV5_GetConnectPacketSize(void) /*5*/ properties.receiveMax = UINT16_MAX; properties.reqProbInfo = 1; - MQTTUserProperty_t userPropArr[3000]; - properties.outgoingUserPropSize = 3000; + MQTTUserProperty_t userPropArr[3500]; + properties.outgoingUserPropSize = 2078; properties.outgoingUserProperty = userPropArr; uint16_t i = 0; char str[65535]; memset(str, '.', 65535*sizeof(char)); - for(;i<3000;i++){ + for(;i<3500;i++){ userPropArr[i].keyLength = UINT16_MAX; userPropArr[i].key = str; userPropArr[i].value = str; @@ -2786,12 +2786,12 @@ void test_MQTTV5_GetConnectPacketSize(void) willInfo.userProperty = userPropArr; status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); - - willInfo.userPropertySize = 3000; - willInfo.userProperty = userPropArr; + + properties.outgoingUserPropSize = 0; + willInfo.userPropertySize = 2051; status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); - + } // /** @@ -2986,6 +2986,17 @@ void test_MQTTV5_SerializeConnect(void) TEST_ASSERT_EQUAL(MQTTSuccess, status); checkBufferOverflow(buffer, sizeof(buffer)); + properties.outgoingAuth=NULL; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); + /* Set the fixed buffer to exactly the size of the packet. */ + fixedBuffer.size = packetSize; + padAndResetBuffer(buffer, sizeof(buffer)); + status = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, remainingLength, &fixedBuffer); + TEST_ASSERT_EQUAL(MQTTSuccess, status); + checkBufferOverflow(buffer, sizeof(buffer)); + /*Will Properties*/ willInfo.payloadFormat = 1; willInfo.msgExpiryPresent = 1; diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index edf1dc5a5..b2a84973f 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -245,6 +245,18 @@ static uint32_t getTime( void ) { return globalEntryTime++; } +/** + * @brief Mocked failed transport read. + */ +static int32_t transportRecvFailure( NetworkContext_t * pNetworkContext, + void * pBuffer, + size_t bytesToRead ) +{ + ( void ) pNetworkContext; + ( void ) pBuffer; + ( void ) bytesToRead; + return -1; +} /** * @brief Mocked MQTT event callback. @@ -485,7 +497,6 @@ void test_MQTT_Connect_happy_path() connectInfo.passwordLength =4; connectInfo.pPassword ="1234"; mqttContext.transportInterface.send = transportSendSuccess; - MQTT_SerializeConnect_IgnoreAndReturn( MQTTSuccess ); MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); @@ -495,7 +506,6 @@ void test_MQTT_Connect_happy_path() TEST_ASSERT_EQUAL_INT( MQTTRecvFailed, status ); properties.outgoingUserPropSize =0; - MQTT_SerializeConnect_IgnoreAndReturn( MQTTSuccess ); MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); @@ -503,9 +513,7 @@ void test_MQTT_Connect_happy_path() MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTRecvFailed ); status = MQTT_Connect( &mqttContext, &connectInfo, &willInfo, timeout, &sessionPresent ); TEST_ASSERT_EQUAL_INT( MQTTRecvFailed, status ); - - authInfo.authDataLength = 0; - MQTT_SerializeConnect_IgnoreAndReturn( MQTTSuccess ); + properties.outgoingAuth->authDataLength = 0; MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); @@ -514,12 +522,11 @@ void test_MQTT_Connect_happy_path() status = MQTT_Connect( &mqttContext, &connectInfo, &willInfo, timeout, &sessionPresent ); TEST_ASSERT_EQUAL_INT( MQTTRecvFailed, status ); - properties.outgoingAuth =NULL; + properties.outgoingAuth = NULL; willInfo.contentTypeLength = 0; willInfo.responseTopicLength = 0; willInfo.correlationLength = 0; willInfo.userPropertySize = 0; - MQTT_SerializeConnect_IgnoreAndReturn( MQTTSuccess ); MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); @@ -528,18 +535,8 @@ void test_MQTT_Connect_happy_path() status = MQTT_Connect( &mqttContext, &connectInfo, &willInfo, timeout, &sessionPresent ); TEST_ASSERT_EQUAL_INT( MQTTRecvFailed, status ); - MQTT_SerializeConnect_IgnoreAndReturn( MQTTSuccess ); - MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); - MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); - MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); - MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); - MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); - status = MQTT_Connect( &mqttContext, &connectInfo, &willInfo, timeout, &sessionPresent ); - TEST_ASSERT_EQUAL_INT( MQTTRecvFailed, status ); - willInfo.pTopicName = NULL; mqttContext.transportInterface.send = transportSendSuccess; - MQTT_SerializeConnect_IgnoreAndReturn( MQTTSuccess ); MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); @@ -557,33 +554,53 @@ void test_MQTT_Connect_receiveConnack( void ) MQTTStatus_t status; TransportInterface_t transport = { 0 }; MQTTFixedBuffer_t networkBuffer = { 0 }; - MQTTPacketInfo_t incomingPacket = { 0 }; MQTTConnectProperties_t properties ={0}; - + MQTTPacketInfo_t incomingPacket = { 0 }; setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); - + transport.recv = transportRecvFailure; memset( &mqttContext, 0x0, sizeof( mqttContext ) ); memset( &properties, 0x0, sizeof( properties ) ); - properties.receiveMax = UINT16_MAX; - properties.reqProbInfo = 1; - mqttContext.connectProperties =&properties; MQTT_Init( &mqttContext, &transport, getTime, eventCallback, &networkBuffer ); - + mqttContext.connectProperties=&properties; /* Everything before receiving the CONNACK should succeed. */ MQTTV5_SerializeConnect_IgnoreAndReturn( MQTTSuccess ); + MQTTV5_GetConnectPacketSize_IgnoreAndReturn( MQTTSuccess ); + + /* Nothing received from transport interface. Set timeout to 2 for branch coverage. */ + timeout = 2; + MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTNoDataAvailable ); + MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTNoDataAvailable ); MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); - MQTTV5_GetConnectPacketSize_IgnoreAndReturn( MQTTSuccess ); + status = MQTT_Connect( &mqttContext, &connectInfo, NULL, timeout, &sessionPresent ); + TEST_ASSERT_EQUAL_INT( MQTTNoDataAvailable, status ); + + /* Did not receive a CONNACK. */ + incomingPacket.type = MQTT_PACKET_TYPE_PINGRESP; + incomingPacket.remainingLength = 0; + MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_GetIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); + status = MQTT_Connect( &mqttContext, &connectInfo, NULL, timeout, &sessionPresent ); + TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); + + /* Transport receive failure when receiving rest of packet. */ incomingPacket.type = MQTT_PACKET_TYPE_CONNACK; - incomingPacket.remainingLength = 3; + incomingPacket.remainingLength = 2; timeout = 2; + mqttContext.transportInterface.recv = transportRecvFailure; + MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_GetIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); + status = MQTT_Connect( &mqttContext, &connectInfo, NULL, timeout, &sessionPresent ); + TEST_ASSERT_EQUAL_INT( MQTTRecvFailed, status ); + mqttContext.transportInterface.recv = transportRecvSuccess; MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_GetIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); - MQTTV5_DeserializeConnack_IgnoreAndReturn( MQTTBadResponse ); + MQTTV5_DeserializeConnack_ExpectAnyArgsAndReturn( MQTTBadResponse ); status = MQTT_Connect( &mqttContext, &connectInfo, NULL, timeout, &sessionPresent ); TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); -} + + } \ No newline at end of file From 90547d461593bc1baa26b6581ac76fd7a4100f03 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Fri, 21 Jun 2024 06:47:06 +0000 Subject: [PATCH 20/82] 100% --- source/core_mqtt_serializer.c | 18 +- .../MQTTv5/core_mqttv5_serializer_utest.c | 261 ++++++++++-------- 2 files changed, 151 insertions(+), 128 deletions(-) diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 415bc9d7b..3a53e0fc8 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -787,7 +787,7 @@ uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t* pPublishInfo, static MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* pUserProperty, uint32_t number, size_t* size) { MQTTStatus_t status = MQTTSuccess; - uint16_t i = 0; + uint32_t i = 0; /*Number of user properties can't be more than the max user properties specified*/ if (number > MAX_USER_PROPERTY) { status = MQTTBadParameter; @@ -797,7 +797,7 @@ static MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* pUserProperty, } else { for (;i < number && status == MQTTSuccess;i++) { - if ((pUserProperty + i) == NULL || (pUserProperty + i)->keyLength == 0 || (pUserProperty + i)->valueLength == 0 || (pUserProperty + i)->key == NULL || (pUserProperty + i)->value == NULL) { + if ((pUserProperty + i)->keyLength == 0 || (pUserProperty + i)->valueLength == 0 || (pUserProperty + i)->key == NULL || (pUserProperty + i)->value == NULL) { status = MQTTBadParameter; } else{ @@ -1375,10 +1375,9 @@ MQTTStatus_t decodeVariableLength(const uint8_t* pBuffer, size_t* length) } - /* If the response is incorrect, or no more data is available, then + /* If the response is incorrect then * break out of the loop. */ - if ((remainingLength == MQTT_REMAINING_LENGTH_INVALID) || - (status != MQTTSuccess)) + if (remainingLength == MQTT_REMAINING_LENGTH_INVALID) { break; } @@ -1596,10 +1595,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti } break; case MQTT_USER_PROPERTY_ID: - if (pConnackProperties->incomingUserPropSize == MAX_USER_PROPERTY) { - status = MQTTProtocolError; - } - else if (propertyLength < 2) { + if (propertyLength < 2) { status = MQTTMalformedPacket; } else { @@ -1623,9 +1619,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti userProperty->value = (const char*)pVariableHeader; pVariableHeader = &pVariableHeader[ userProperty->valueLength]; propertyLength-=userProperty->valueLength; - if (pConnackProperties->incomingUserPropSize != MAX_USER_PROPERTY -1){ - userProperty++; - } + userProperty++; } } } diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index abe54e6e1..63c3bb11c 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -467,7 +467,6 @@ static MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t *pUserProperty, return status; } - static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillProperties) { size_t willLength = 0U; @@ -557,7 +556,7 @@ static uint8_t *serializeUserProperties(uint8_t *pIndex, const MQTTUserProperty_ dummy = encodeString(pIndexLocal, (pUserProperty + i)->key, (pUserProperty + i)->keyLength); dummy = encodeString(pIndexLocal, (pUserProperty + i)->value, (pUserProperty + i)->valueLength); } - i=dummy; + i = dummy; return pIndexLocal; } @@ -619,7 +618,6 @@ MQTTStatus_t decodeVariableLength(const uint8_t *pBuffer, size_t *length) return status; } - static void verifySerializedConnectPacket(const MQTTConnectInfo_t *const pConnectInfo, const MQTTPublishInfo_t *const pWillInfo, const MQTTConnectProperties_t *pConnectProperties, @@ -722,11 +720,12 @@ static void verifySerializedConnectPacket(const MQTTConnectInfo_t *const pConnec pConnectProperties->outgoingAuth->authMethodLength); TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); pIndex += encodedStringLength; - if(pConnectProperties->outgoingAuth->authDataLength != 0){ - encodedStringLength = encodeString(encodedStringBuffer, - pConnectProperties->outgoingAuth->authData, - pConnectProperties->outgoingAuth->authDataLength); - TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); + if (pConnectProperties->outgoingAuth->authDataLength != 0) + { + encodedStringLength = encodeString(encodedStringBuffer, + pConnectProperties->outgoingAuth->authData, + pConnectProperties->outgoingAuth->authDataLength); + TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); pIndex += encodedStringLength; } } @@ -949,18 +948,6 @@ void test_MQTT_SerializeConnectProperties(void) index++; }; -void test_MQTT_SerializePublishProperties(void) -{ - uint8_t properties[16U]; - uint8_t *index = properties; - MQTTPublishInfo_t will; - will.payloadFormat = 1; - will.msgExpiryPresent = true; - will.msgExpiryInterval = 34; - will.willDelay = 12; - index = MQTT_SerializePublishProperties(&will, index); - TEST_ASSERT_EQUAL_INT(19, index - properties); -} void test_MQTTV5_DeserializeConnackOnlyStatus(void) { @@ -1117,7 +1104,6 @@ void test_MQTTV5_DeserializeConnackOnlyStatus(void) buffer[1] = 0x9F; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); TEST_ASSERT_EQUAL(MQTTServerRefused, status); - /*Exceeds the max packet size set by the client*/ properties.maxPacketSize = 2; @@ -1131,7 +1117,6 @@ void test_MQTTV5_DeserializeConnackOnlyStatus(void) packetInfo.remainingLength = 7; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); TEST_ASSERT_EQUAL(MQTTMalformedPacket, status); - } void test_MQTTV5_DeserializeConnackOnlySessionExpiry(void) @@ -1151,6 +1136,8 @@ void test_MQTTV5_DeserializeConnackOnlySessionExpiry(void) pIndexLocal = &buffer[2]; size_t propertyLength = encodeRemainingLength(pIndexLocal, 5); packetInfo.remainingLength = propertyLength + 7; + properties.isMaxPacketSize = true; + properties.maxPacketSize = 150; pIndexLocal++; *pIndexLocal = MQTT_SESSION_EXPIRY_ID; pIndexLocal++; @@ -1219,16 +1206,18 @@ void test_MQTTV5_DeserializeConnackOnlySessionExpiry(void) pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 20971556356235); LogDebug(("Encoded size for length is %lu bytes.", - (unsigned long)propertyLength)); + (unsigned long)propertyLength)); status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTBadResponse, status); + + packetInfo.remainingLength = 8; pIndexLocal = &buffer[2]; *pIndexLocal = 0x81; pIndexLocal++; *pIndexLocal = 0x00; - + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTBadResponse, status); } @@ -1522,7 +1511,7 @@ void test_MQTTV5_DeserializeConnackOnlyRetainAvailable(void) void test_MQTT_GetUserPropertySize(void) { MQTTUserProperty_t userProperty; - size_t l=12; + size_t l = 12; size_t *length = &l; memset(&userProperty, 0x0, sizeof(userProperty)); MQTTStatus_t status; @@ -1547,7 +1536,7 @@ void test_MQTTV5_DeserializeConnackOnlyClientId(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - + bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -1597,7 +1586,7 @@ void test_MQTTV5_DeserializeConnackOnlyClientId(void) /*Invalid property length*/ pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 2); - packetInfo.remainingLength = propertyLength+4; + packetInfo.remainingLength = propertyLength + 4; pIndexLocal++; *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; pIndexLocal++; @@ -1690,7 +1679,7 @@ void test_MQTTV5_DeserializeConnackOnlyWildCard(void) status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); TEST_ASSERT_EQUAL_INT(0, properties.isWildcardAvaiable); - + /*Value more than 1 is not allowed*/ pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 2); @@ -1721,7 +1710,7 @@ void test_MQTTV5_DeserializeConnackOnlyWildCard(void) /*Invalid property length*/ pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 1); - packetInfo.remainingLength = propertyLength +3; + packetInfo.remainingLength = propertyLength + 3; pIndexLocal++; *pIndexLocal = MQTT_WILDCARD_ID; pIndexLocal++; @@ -1751,7 +1740,7 @@ void test_MQTTV5_DeserializeConnackOnlyReasonString(void) pIndexLocal++; *pIndexLocal = MQTT_REASON_STRING_ID; pIndexLocal++; - char * string = "ab"; + char *string = "ab"; size_t dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); @@ -1810,7 +1799,7 @@ void test_MQTTV5_DeserializeConnackOnlySUbId(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - + bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -1856,7 +1845,7 @@ void test_MQTTV5_DeserializeConnackOnlySUbId(void) /*Invalid property length*/ pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 1); - packetInfo.remainingLength = propertyLength +3; + packetInfo.remainingLength = propertyLength + 3; pIndexLocal++; *pIndexLocal = MQTT_SUB_AVAILABLE_ID; pIndexLocal++; @@ -1877,7 +1866,7 @@ void test_MQTTV5_DeserializeConnackOnlySharedSub(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - + bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -1943,7 +1932,7 @@ void test_MQTTV5_DeserializeConnackOnlyKeepAlive(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - + bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -2003,7 +1992,7 @@ void test_MQTTV5_DeserializeConnackOnlyResponseInfo(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - + bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -2013,7 +2002,7 @@ void test_MQTTV5_DeserializeConnackOnlyResponseInfo(void) pIndexLocal++; *pIndexLocal = MQTT_RESPONSE_INFO_ID; pIndexLocal++; - char * string = "ab"; + char *string = "ab"; size_t dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); @@ -2072,13 +2061,12 @@ void test_MQTTV5_DeserializeConnackOnlyResponseInfo(void) TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); } - void test_MQTTV5_DeserializeConnackOnlyUserProperty(void) { MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTUserProperty_t userProperty[5]; - MQTTUserProperty_t userProperty2[5000]; + MQTTUserProperty_t userProperty2[5]; memset(&properties, 0x0, sizeof(properties)); memset(&packetInfo, 0x0, sizeof(packetInfo)); properties.outgoingUserPropSize = 1; @@ -2086,11 +2074,11 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty(void) properties.incomingUserProperty = userProperty2; MQTTStatus_t status; - uint8_t buffer[500000] = {0}; + uint8_t buffer[600] = {0}; uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - + bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -2100,7 +2088,7 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty(void) pIndexLocal++; *pIndexLocal = MQTT_USER_PROPERTY_ID; pIndexLocal++; - char * string = "ab"; + char *string = "ab"; char *string2 = "abc"; size_t dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; @@ -2112,23 +2100,6 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty(void) TEST_ASSERT_EQUAL(3, (properties.incomingUserProperty->valueLength)); TEST_ASSERT_EQUAL(2, (properties.incomingUserProperty->keyLength)); - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 450009); - packetInfo.remainingLength = 450011 + propertyLength; - pIndexLocal+= propertyLength; - uint32_t i=0; - for(;i<50001;i++){ - *pIndexLocal = MQTT_USER_PROPERTY_ID; - pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - dummy2 = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy2]; - } - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); - - /*Invalid property length*/ packetInfo.remainingLength = 5; pIndexLocal = &buffer[2]; @@ -2183,7 +2154,7 @@ void test_MQTTV5_DeserializeConnackOnlyServerRef(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - + bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -2193,7 +2164,7 @@ void test_MQTTV5_DeserializeConnackOnlyServerRef(void) pIndexLocal++; *pIndexLocal = MQTT_SERVER_REF_ID; pIndexLocal++; - char * string = "ab"; + char *string = "ab"; size_t dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); @@ -2257,7 +2228,7 @@ void test_MQTTV5_DeserializeConnackOnlyAuthMethod(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - + bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -2267,7 +2238,7 @@ void test_MQTTV5_DeserializeConnackOnlyAuthMethod(void) pIndexLocal++; *pIndexLocal = MQTT_AUTH_METHOD_ID; pIndexLocal++; - char * string = "ab"; + char *string = "ab"; size_t dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); @@ -2275,7 +2246,7 @@ void test_MQTTV5_DeserializeConnackOnlyAuthMethod(void) TEST_ASSERT_EQUAL(2, properties.incomingAuth->authMethodLength); /*Outgoing auth is null*/ - properties.outgoingAuth =NULL; + properties.outgoingAuth = NULL; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); @@ -2336,7 +2307,7 @@ void test_MQTTV5_DeserializeConnackOnlyAuthData(void) uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; buffer[1] = 0x00; - + bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; @@ -2346,7 +2317,7 @@ void test_MQTTV5_DeserializeConnackOnlyAuthData(void) pIndexLocal++; *pIndexLocal = MQTT_AUTH_DATA_ID; pIndexLocal++; - char * string = "ab"; + char *string = "ab"; size_t dummy = encodeString(pIndexLocal, string, 2); pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); @@ -2354,7 +2325,7 @@ void test_MQTTV5_DeserializeConnackOnlyAuthData(void) TEST_ASSERT_EQUAL(2, properties.incomingAuth->authDataLength); /*Outgoing auth is null*/ - properties.outgoingAuth =NULL; + properties.outgoingAuth = NULL; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); @@ -2499,7 +2470,7 @@ void test_MQTTV5_GetConnectPacketSize(void) /* Make sure packet size is 30 = 18 + 12. */ TEST_ASSERT_EQUAL_INT(31, packetSize); - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, NULL, &remainingLength,&packetSize); + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, NULL, &remainingLength, &packetSize); TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); /*Validating the function Get Connect properties*/ @@ -2587,7 +2558,7 @@ void test_MQTTV5_GetConnectPacketSize(void) status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); - userProperty.valueLength = 0; + userProperty.valueLength = 0; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); @@ -2595,7 +2566,6 @@ void test_MQTTV5_GetConnectPacketSize(void) status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); - userProperty.valueLength = 1; userProperty.keyLength = 0; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); @@ -2605,12 +2575,20 @@ void test_MQTTV5_GetConnectPacketSize(void) status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); properties.outgoingUserPropSize = 1; - - + + /* More than 1 user property*/ + MQTTUserProperty_t user [1]; + memset(&user, 0x0, sizeof(user)); + properties.outgoingUserProperty =user; + properties.outgoingUserPropSize = 2; + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); /* * Incoming AuthInfo not intialized. */ + properties.outgoingUserPropSize = 1; + properties.outgoingUserProperty = &userProperty; MQTTAuthInfo_t auth; memset(&auth, 0x0, sizeof(auth)); properties.outgoingAuth = &auth; @@ -2623,7 +2601,7 @@ void test_MQTTV5_GetConnectPacketSize(void) properties.incomingAuth = &auth2; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); - + auth.authDataLength = 0; auth.authMethodLength = 0; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); @@ -2636,18 +2614,17 @@ void test_MQTTV5_GetConnectPacketSize(void) auth.authDataLength = 1; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); - + auth.authMethodLength = 3; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); - auth.authMethod = "234"; auth.authDataLength = 0; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); - auth.authData= NULL; + auth.authData = NULL; auth.authDataLength = 1; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); @@ -2678,50 +2655,50 @@ void test_MQTTV5_GetConnectPacketSize(void) /*Validating the will properties*/ memset(&willInfo, 0x0, sizeof(willInfo)); - status = MQTTV5_GetConnectPacketSize(&connectInfo,&willInfo, &properties, &remainingLength, &packetSize); + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTSuccess, status); TEST_ASSERT_EQUAL_size_t(0, willInfo.propertyLength); willInfo.willDelay = 10; - status = MQTTV5_GetConnectPacketSize(&connectInfo,&willInfo, &properties, &remainingLength, &packetSize); + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTSuccess, status); TEST_ASSERT_EQUAL_size_t(5, willInfo.propertyLength); willInfo.payloadFormat = 1; - status = MQTTV5_GetConnectPacketSize(&connectInfo,&willInfo, &properties, &remainingLength, &packetSize); + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTSuccess, status); TEST_ASSERT_EQUAL_size_t(7, willInfo.propertyLength); willInfo.msgExpiryPresent = 1; willInfo.msgExpiryInterval = 10; - status = MQTTV5_GetConnectPacketSize(&connectInfo,&willInfo, &properties, &remainingLength, &packetSize); + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTSuccess, status); TEST_ASSERT_EQUAL_size_t(12, willInfo.propertyLength); willInfo.contentTypeLength = 2; - status = MQTTV5_GetConnectPacketSize(&connectInfo,&willInfo, &properties, &remainingLength, &packetSize); + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); willInfo.contentType = "ab"; - status = MQTTV5_GetConnectPacketSize(&connectInfo,&willInfo, &properties, &remainingLength, &packetSize); + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTSuccess, status); TEST_ASSERT_EQUAL_size_t(17, willInfo.propertyLength); willInfo.responseTopicLength = 2; - status = MQTTV5_GetConnectPacketSize(&connectInfo,&willInfo, &properties, &remainingLength, &packetSize); + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); willInfo.responseTopic = "ab"; - status = MQTTV5_GetConnectPacketSize(&connectInfo,&willInfo, &properties, &remainingLength, &packetSize); + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTSuccess, status); TEST_ASSERT_EQUAL_size_t(22, willInfo.propertyLength); willInfo.correlationLength = 2; - status = MQTTV5_GetConnectPacketSize(&connectInfo,&willInfo, &properties, &remainingLength, &packetSize); + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); willInfo.correlationData = "ab"; - status = MQTTV5_GetConnectPacketSize(&connectInfo,&willInfo, &properties, &remainingLength, &packetSize); + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTSuccess, status); TEST_ASSERT_EQUAL_size_t(27, willInfo.propertyLength); @@ -2760,38 +2737,38 @@ void test_MQTTV5_GetConnectPacketSize(void) /* Make sure packet size is 109. */ TEST_ASSERT_EQUAL_INT(109, packetSize); /*Limit of property length*/ - memset(&properties, 0x0, sizeof(properties)); - /*5*/ - properties.receiveMax = UINT16_MAX; - properties.reqProbInfo = 1; - MQTTUserProperty_t userPropArr[3500]; - properties.outgoingUserPropSize = 2078; - properties.outgoingUserProperty = userPropArr; - uint16_t i = 0; - char str[65535]; - memset(str, '.', 65535*sizeof(char)); - - for(;i<3500;i++){ + memset(&properties, 0x0, sizeof(properties)); + memset(&willInfo, 0x0, sizeof(willInfo)); + /*5*/ + properties.receiveMax = UINT16_MAX; + properties.reqProbInfo = 1; + MQTTUserProperty_t userPropArr[3500]; + properties.outgoingUserPropSize = 2078; + properties.outgoingUserProperty = userPropArr; + uint16_t i = 0; + char str[65535]; + memset(str, '.', 65535 * sizeof(char)); + + for (; i < 3500; i++) + { userPropArr[i].keyLength = UINT16_MAX; userPropArr[i].key = str; userPropArr[i].value = str; userPropArr[i].valueLength = UINT16_MAX; - } - - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); - - properties.outgoingUserPropSize = 1; - willInfo.userPropertySize = 2048; - willInfo.userProperty = userPropArr; - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); - - properties.outgoingUserPropSize = 0; - willInfo.userPropertySize = 2051; - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); - + } + + status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + properties.outgoingUserPropSize = 0; + willInfo.userPropertySize = 2048; + willInfo.userProperty = userPropArr; + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + willInfo.userPropertySize = 2051; + status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); } // /** @@ -2843,7 +2820,6 @@ void test_MQTTV5_SerializeConnect(void) fixedBuffer.pBuffer = &buffer[BUFFER_PADDING_LENGTH]; fixedBuffer.size = bufferSize; - /* Calculate a good packet size. */ status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); @@ -2938,7 +2914,7 @@ void test_MQTTV5_SerializeConnect(void) TEST_ASSERT_EQUAL(MQTTSuccess, status); checkBufferOverflow(buffer, sizeof(buffer)); /*Connect properties not initialized*/ - status = MQTTV5_SerializeConnect(&connectInfo, &willInfo, NULL,remainingLength, &fixedBuffer); + status = MQTTV5_SerializeConnect(&connectInfo, &willInfo, NULL, remainingLength, &fixedBuffer); TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); /*Connect Properties*/ @@ -2986,7 +2962,7 @@ void test_MQTTV5_SerializeConnect(void) TEST_ASSERT_EQUAL(MQTTSuccess, status); checkBufferOverflow(buffer, sizeof(buffer)); - properties.outgoingAuth=NULL; + properties.outgoingAuth = NULL; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTSuccess, status); TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); @@ -3138,4 +3114,57 @@ void test_MQTTV5_SerializeConnect_Happy_Paths() TEST_ASSERT_EQUAL(MQTTSuccess, mqttStatus); verifySerializedConnectPacket(&connectInfo, NULL, &properties, remainingLength, &networkBuffer); +} + + +void test_WillLimit(void) +{ + MQTTConnectInfo_t connectInfo; + size_t remainingLength = 0; + size_t packetSize = 0; + MQTTStatus_t status = MQTTSuccess; + MQTTPublishInfo_t willInfo; + MQTTConnectProperties_t properties; + memset(&willInfo, 0x0, sizeof(willInfo)); + memset(&properties, 0x0, sizeof(properties)); + memset(&connectInfo, 0x0, sizeof(connectInfo)); + connectInfo.pClientIdentifier = CLIENT_IDENTIFIER; + connectInfo.clientIdentifierLength = UINT16_MAX; + connectInfo.pPassword = ""; + connectInfo.passwordLength = UINT16_MAX; + connectInfo.pUserName = ""; + properties.receiveMax = UINT16_MAX; + properties.reqProbInfo = 1; + willInfo.payloadFormat = 1; + willInfo.msgExpiryPresent = 1; + willInfo.msgExpiryInterval = 10; + willInfo.msgExpiryPresent = 1; + willInfo.msgExpiryInterval = 10; + willInfo.contentTypeLength = 2; + willInfo.contentType = "ab"; + willInfo.responseTopicLength = 2; + willInfo.responseTopic = "ab"; + willInfo.correlationLength = 2; + willInfo.correlationData = "ab"; + willInfo.willDelay = 3; + MQTTUserProperty_t userPropArr[3500]; + uint16_t i = 0; + char str[65535]; + memset(str, '.', 65535 * sizeof(char)); + + for (; i < 3500; i++) + { + userPropArr[i].keyLength = UINT16_MAX; + userPropArr[i].key = str; + userPropArr[i].value = str; + userPropArr[i].valueLength = UINT16_MAX; + } + + willInfo.userProperty = userPropArr; + willInfo.userPropertySize = 2048; + status = MQTT_GetWillPropertiesSize(&willInfo); + TEST_ASSERT_EQUAL(MQTTBadParameter, status); + + status = MQTTV5_GetConnectPacketSize (&connectInfo,&willInfo,&properties,&remainingLength,&packetSize); + TEST_ASSERT_EQUAL(MQTTBadParameter,status); } \ No newline at end of file From ee0df66fa4575bb78d42926bdb846fb53e775a41 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Fri, 21 Jun 2024 09:02:10 +0000 Subject: [PATCH 21/82] misra --- source/core_mqtt.c | 4 +- source/core_mqtt_serializer.c | 187 ++++++++++------------- test/unit-test/MQTTv5/core_mqtt_config.h | 2 +- 3 files changed, 86 insertions(+), 107 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index dc7856930..b16557013 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -2367,7 +2367,7 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, #if (MQTT_VERSION_5_ENABLED) /*Encode the user Properties if provided*/ - if (pContext->connectProperties->outgoingUserPropSize != 0) + if (pContext->connectProperties->outgoingUserPropSize != 0U) { uint32_t i = 0; @@ -2490,7 +2490,7 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, ioVectorLength += vectorsAdded; } /* Encode the user properties if provided. */ - if (pWillInfo->userPropertySize != 0) + if (pWillInfo->userPropertySize != 0U) { uint32_t i = 0; uint32_t size = pWillInfo->userPropertySize; diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 3a53e0fc8..35174bf08 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -622,15 +622,6 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, size_t remainingLength, const MQTTFixedBuffer_t* pFixedBuffer); -/** - * @brief Serialize User Properties in the given buffer. - * - * @param[in] pIndex ponter to the given buffer. - * @param[in] pUserProperty User Property parameters. - * @param[in] size Number of user properties - */ -/*static uint8_t* serializeUserProperties(uint8_t * pIndex,const MQTTUserProperty_t* pUserProperty, uint16_t size);*/ - /*-----------------------------------------------------------*/ MQTTStatus_t MQTTV5_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, @@ -761,7 +752,7 @@ uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t* pPublishInfo, pIndexLocal[3] = UINT32_BYTE0(pPublishInfo->willDelay); pIndexLocal = &pIndexLocal[4]; } - if (pPublishInfo->payloadFormat != 0) + if (pPublishInfo->payloadFormat != 0U) { *pIndexLocal = MQTT_PAYLOAD_FORMAT_ID; pIndexLocal++; @@ -792,12 +783,12 @@ static MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* pUserProperty, if (number > MAX_USER_PROPERTY) { status = MQTTBadParameter; } - else if (number != 0 && pUserProperty == NULL) { + else if (number != 0U && pUserProperty == NULL) { status = MQTTBadParameter; } else { for (;i < number && status == MQTTSuccess;i++) { - if ((pUserProperty + i)->keyLength == 0 || (pUserProperty + i)->valueLength == 0 || (pUserProperty + i)->key == NULL || (pUserProperty + i)->value == NULL) { + if ((pUserProperty + i)->keyLength == 0U || (pUserProperty + i)->valueLength == 0U || (pUserProperty + i)->key == NULL || (pUserProperty + i)->value == NULL) { status = MQTTBadParameter; } else{ @@ -815,19 +806,19 @@ static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConn size_t propertyLength = 0; MQTTStatus_t status = MQTTSuccess; /*Validate the arguments*/ - if(pConnectProperties->maxPacketSize==0 && pConnectProperties->isMaxPacketSize ==true ){ + if((pConnectProperties->maxPacketSize ==0U) && (pConnectProperties->isMaxPacketSize ==true) ){ status=MQTTBadParameter; } - else if(pConnectProperties->receiveMax==0){ + else if(pConnectProperties->receiveMax==0U){ status = MQTTBadParameter; } else{ /*Add the lengths of the parameters if applicable*/ - if (pConnectProperties->sessionExpiry != 0) + if (pConnectProperties->sessionExpiry != 0U) { propertyLength += MQTT_SESSION_EXPIRY_SIZE; } - if (pConnectProperties->receiveMax != UINT16_MAX) + if (pConnectProperties->receiveMax != (uint16_t)UINT16_MAX) { propertyLength += MQTT_RECEIVE_MAX_SIZE; } @@ -839,11 +830,11 @@ static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConn { propertyLength += MQTT_TOPIC_ALIAS_SIZE; } - if (pConnectProperties->reqResInfo != 0) + if (pConnectProperties->reqResInfo != false) { propertyLength += MQTT_REQUEST_RESPONSE_SIZE; } - if (pConnectProperties->reqProbInfo != 1) + if (pConnectProperties->reqProbInfo != true) { propertyLength += MQTT_REQUEST_PPOBLEM_SIZE; } @@ -864,17 +855,19 @@ static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConn } else { + if(pConnectProperties->outgoingAuth->authMethodLength!=0U){ propertyLength += pConnectProperties->outgoingAuth->authMethodLength; propertyLength += 3U; if (pConnectProperties->outgoingAuth->authDataLength != 0U) { propertyLength += pConnectProperties->outgoingAuth->authDataLength; propertyLength += 3U; } + } } } } /*Get the length of the user properties*/ - if (status == MQTTSuccess && pConnectProperties->outgoingUserPropSize != 0) { + if (status == MQTTSuccess && pConnectProperties->outgoingUserPropSize != 0U) { status = MQTT_GetUserPropertySize(pConnectProperties->outgoingUserProperty, pConnectProperties->outgoingUserPropSize, &propertyLength); } /*Variable length encoded values cannot have valued more than 268435455U*/ @@ -898,7 +891,7 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillPropertie { willLength += 5U; } - if (pWillProperties->payloadFormat != 0) + if (pWillProperties->payloadFormat != 0U) { willLength += 2U; } @@ -951,7 +944,7 @@ uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex, const MQTTConnectPrope { uint8_t* pIndexLocal = pIndex; pIndexLocal = encodeRemainingLength(pIndexLocal, pConnectProperties->propertyLength); - if (pConnectProperties->sessionExpiry != 0) + if (pConnectProperties->sessionExpiry != 0U) { *pIndexLocal = MQTT_SESSION_EXPIRY_ID; pIndexLocal++; @@ -961,7 +954,7 @@ uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex, const MQTTConnectPrope pIndexLocal[3] = UINT32_BYTE0(pConnectProperties->sessionExpiry); pIndexLocal = &pIndexLocal[4]; } - if (pConnectProperties->receiveMax != UINT16_MAX) + if (pConnectProperties->receiveMax != (uint16_t)UINT16_MAX) { *pIndexLocal = MQTT_RECEIVE_MAX_ID; pIndexLocal++; @@ -988,14 +981,14 @@ uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex, const MQTTConnectPrope pIndexLocal[1] = UINT16_LOW_BYTE(pConnectProperties->topicAliasMax); pIndexLocal = &pIndexLocal[2]; } - if (pConnectProperties->reqResInfo != 0) + if (pConnectProperties->reqResInfo != false) { *pIndexLocal = MQTT_REQUEST_RESPONSE_ID; pIndexLocal++; *pIndexLocal = 1U; pIndexLocal++; } - if (pConnectProperties->reqProbInfo != 1) + if (pConnectProperties->reqProbInfo != true) { *pIndexLocal = MQTT_REQUEST_PROBLEM_ID; pIndexLocal++; @@ -1005,20 +998,6 @@ uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex, const MQTTConnectPrope return pIndexLocal; } -/*static uint8_t* serializeUserProperties(uint8_t * pIndex,const MQTTUserProperty_t* pUserProperty, uint16_t size){ - uint16_t i = 0; - assert(pIndex!=NULL); - assert(pUserProperty !=NULL); - for (; i < size; i++) - { - *pIndex = MQTT_USER_PROPERTY_ID; - pIndex++; - pIndex = encodeString(pIndex,(pUserProperty+i)->key,(pUserProperty+i)->keyLength); - pIndex = encodeString(pIndex,(pUserProperty+i)->value,(pUserProperty+i)->valueLength); - } - return pIndex; -}*/ - static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, const MQTTPublishInfo_t* pWillInfo, @@ -1041,10 +1020,10 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, /* Serialize the connect Properties. */ pIndex= MQTT_SerializeConnectProperties(pIndex,pConnectProperties); - if( pConnectProperties->outgoingUserPropSize >0){ + if( pConnectProperties->outgoingUserPropSize > 0U){ uint32_t i = 0; uint32_t size = pConnectProperties->outgoingUserPropSize; - MQTTUserProperty_t * pUserProperty = pConnectProperties->outgoingUserProperty; + const MQTTUserProperty_t * pUserProperty = pConnectProperties->outgoingUserProperty; for (; i < size; i++) { *pIndex = MQTT_USER_PROPERTY_ID; @@ -1096,11 +1075,11 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, pIndex++; pIndex = encodeString(pIndex,pWillInfo->correlationData,pWillInfo->correlationLength); } - if (pWillInfo->userPropertySize != 0) + if (pWillInfo->userPropertySize != 0U) { uint32_t i = 0; uint32_t size = pWillInfo->userPropertySize; - MQTTUserProperty_t * pUserProperty = pWillInfo->userProperty; + const MQTTUserProperty_t * pUserProperty = pWillInfo->userProperty; for (; i < size; i++) { *pIndex = MQTT_USER_PROPERTY_ID; @@ -1203,67 +1182,67 @@ MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, MQTTStatus_t status= MQTTServerRefused; switch(responseCode){ - case MQTT_REASON_UNSPECIFIED_ERR : + case (uint8_t)MQTT_REASON_UNSPECIFIED_ERR : LogError(("Connection refused: Unspecified error")); break; - case MQTT_REASON_MALFORMED_PACKET : + case (uint8_t)MQTT_REASON_MALFORMED_PACKET : LogError(("Connection refused: Malformed Packet.")); break; - case MQTT_REASON_PROTOCOL_ERR: + case (uint8_t)MQTT_REASON_PROTOCOL_ERR: LogError(("Connection refused: Protocol Error.")); break; - case MQTT_REASON_IMPL_SPECIFIC_ERR : + case (uint8_t)MQTT_REASON_IMPL_SPECIFIC_ERR : LogError(("Connection refused: Impementation specific error.")); break; - case MQTT_REASON_UNSUP_PROTO_VER : + case (uint8_t)MQTT_REASON_UNSUP_PROTO_VER : LogError(("Connection refused: Unsupported Protocol Version.")); break; - case MQTT_REASON_CLIENT_ID_NOT_VALID : + case (uint8_t)MQTT_REASON_CLIENT_ID_NOT_VALID : LogError(( "Connection refused: Client Identifier not valid.")); break; - case MQTT_REASON_BAD_USER_OR_PASS : + case (uint8_t)MQTT_REASON_BAD_USER_OR_PASS : LogError(("Connection refused: Bad User Name or Password.")); break; - case MQTT_REASON_NOT_AUTHORIZED : + case (uint8_t)MQTT_REASON_NOT_AUTHORIZED : LogError(("Connection refused: Not authorized.")); break; - case MQTT_REASON_SERVER_UNAVAILABLE : + case (uint8_t) MQTT_REASON_SERVER_UNAVAILABLE : LogError(("Connection refused: Server unavailable.")); break; - case MQTT_REASON_SERVER_BUSY : + case (uint8_t)MQTT_REASON_SERVER_BUSY : LogError(("Connection refused: Server busy." )); break; - case MQTT_REASON_BANNED : + case (uint8_t)MQTT_REASON_BANNED : LogError(("Connection refused: Banned.")); break; - case MQTT_REASON_BAD_AUTH_METHOD : + case (uint8_t)MQTT_REASON_BAD_AUTH_METHOD : LogError(("Connection refused: Bad authentication method.")); break; - case MQTT_REASON_TOPIC_NAME_INVALID : + case(uint8_t) MQTT_REASON_TOPIC_NAME_INVALID : LogError(("Connection refused: Topic Name invalid.")); break; - case MQTT_REASON_PACKET_TOO_LARGE : + case (uint8_t)MQTT_REASON_PACKET_TOO_LARGE : LogError(("Connection refused: Packet too large .")); break; - case MQTT_REASON_QUOTA_EXCEEDED : + case (uint8_t) MQTT_REASON_QUOTA_EXCEEDED : LogError(("Connection refused: Quota exceeded.")); break; - case MQTT_REASON_PAYLOAD_FORMAT_INVALID : + case (uint8_t) MQTT_REASON_PAYLOAD_FORMAT_INVALID : LogError(( "Connection refused: Payload format invalid." )); break; - case MQTT_REASON_RETAIN_NOT_SUPPORTED : + case (uint8_t) MQTT_REASON_RETAIN_NOT_SUPPORTED : LogError(("Connection refused: Retain not supported.")); break; - case MQTT_REASON_QOS_NOT_SUPPORTED : + case (uint8_t) MQTT_REASON_QOS_NOT_SUPPORTED : LogError(("Connection refused: QoS not supported.")); break; - case MQTT_REASON_USE_ANOTHER_SERVER : + case (uint8_t) MQTT_REASON_USE_ANOTHER_SERVER : LogError(("Connection refused: Use another server." )); break; - case MQTT_REASON_SERVER_MOVED : + case (uint8_t)MQTT_REASON_SERVER_MOVED : LogError(("Connection refused: Server moved.")); break; - case MQTT_REASON_CON_RATE_EXCEED : + case (uint8_t)MQTT_REASON_CON_RATE_EXCEED : LogError(("Connection refused: Connection rate exceeded.")); break; default: @@ -1422,10 +1401,10 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti remainingLengthSize = remainingLengthEncodedSize(pIncomingPacket->remainingLength); status = decodeVariableLength(pVariableHeader, &propertyLength); } - if(status==MQTTSuccess && pConnackProperties->isMaxPacketSize==true && pIncomingPacket->remainingLength + remainingLengthSize + 1 > pConnackProperties->maxPacketSize){ + if((status==MQTTSuccess) && (pConnackProperties->isMaxPacketSize==true) && ((pIncomingPacket->remainingLength + remainingLengthSize + 1U) > (pConnackProperties->maxPacketSize))){ status= MQTTProtocolError; } - else if (status == MQTTSuccess && pIncomingPacket->remainingLength != 2 + propertyLength + remainingLengthEncodedSize(propertyLength)) { + else if (status == MQTTSuccess && pIncomingPacket->remainingLength != 2U + propertyLength + remainingLengthEncodedSize(propertyLength)) { status = MQTTMalformedPacket; } else if(status==MQTTSuccess){ @@ -1447,7 +1426,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti bool authData = false; MQTTUserProperty_t * userProperty = pConnackProperties->incomingUserProperty; pVariableHeader=&pVariableHeader[remainingLengthEncodedSize(propertyLength)]; - while ((propertyLength > 0) && (status == MQTTSuccess)) { + while ((propertyLength > 0U) && (status == MQTTSuccess)) { uint8_t packetId = *pVariableHeader; pVariableHeader = &pVariableHeader[1]; propertyLength -= 1; @@ -1456,28 +1435,28 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti if (sessionExpiry == true) { status = MQTTProtocolError; } - else if (propertyLength < 4) { + else if (propertyLength < 4U) { status = MQTTMalformedPacket; } else { pConnackProperties->sessionExpiry = UINT32_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint32_t)]; sessionExpiry = true; - propertyLength -= 4; + propertyLength -= 4U; } break; case MQTT_RECEIVE_MAX_ID: if (serverReceiveMax == true) { status = MQTTProtocolError; } - else if (propertyLength < 2) { + else if (propertyLength < 2U) { status = MQTTMalformedPacket; } else { pConnackProperties->serverReceiveMax = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; serverReceiveMax = true; - propertyLength -= 2; + propertyLength -= 2U; if (pConnackProperties->serverReceiveMax == 0) { status = MQTTProtocolError; } @@ -1487,15 +1466,15 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti if (maxQos == true) { status = MQTTProtocolError; } - else if (propertyLength < 1) { + else if (propertyLength < 1U) { status = MQTTMalformedPacket; } else { pConnackProperties->serverMaxQos = *pVariableHeader; pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; maxQos = true; - propertyLength -= 1; - if (pConnackProperties->serverMaxQos > 1) { + propertyLength -= 1U; + if (pConnackProperties->serverMaxQos > 1U) { status = MQTTProtocolError; } } @@ -1504,16 +1483,16 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti if (retain == true) { status = MQTTProtocolError; } - else if (propertyLength < 1) { + else if (propertyLength < 1U) { status = MQTTMalformedPacket; } else { pConnackProperties->retainAvailable = *pVariableHeader; pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; retain = true; - propertyLength -= 1; + propertyLength -= 1U; - if (pConnackProperties->retainAvailable > 1) { + if (pConnackProperties->retainAvailable > 1U) { status = MQTTProtocolError; } } @@ -1522,15 +1501,15 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti if (maxPacket == true) { status = MQTTProtocolError; } - else if (propertyLength < 4) { + else if (propertyLength < 4U) { status = MQTTMalformedPacket; } else { pConnackProperties->serverMaxPacketSize = UINT32_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint32_t)]; maxPacket = true; - propertyLength -= 4; - if (pConnackProperties->serverMaxPacketSize == 0) { + propertyLength -= 4U; + if (pConnackProperties->serverMaxPacketSize == 0U) { status = MQTTProtocolError; } } @@ -1545,7 +1524,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti else { pConnackProperties->clientIdLength = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - propertyLength -= 2; + propertyLength -= 2U; if (propertyLength < pConnackProperties->clientIdLength) { status = MQTTMalformedPacket; } @@ -1562,27 +1541,27 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti if (topicAlias == true) { status = MQTTProtocolError; } - else if (propertyLength < 2) { + else if (propertyLength < 2U) { status = MQTTMalformedPacket; } else { pConnackProperties->serverTopicAliasMax = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; topicAlias = true; - propertyLength -= 2; + propertyLength -= 2U; } break; case MQTT_REASON_STRING_ID: if (reasonString == true) { status = MQTTProtocolError; } - else if (propertyLength < 2) { + else if (propertyLength < 2U) { status = MQTTMalformedPacket; } else { pConnackProperties->reasonStringLength = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - propertyLength -= 2; + propertyLength -= 2U; if (propertyLength < pConnackProperties->reasonStringLength) { status = MQTTMalformedPacket; } @@ -1595,14 +1574,14 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti } break; case MQTT_USER_PROPERTY_ID: - if (propertyLength < 2) { + if (propertyLength < 2U) { status = MQTTMalformedPacket; } else { pConnackProperties->incomingUserPropSize++; userProperty->keyLength = UINT16_DECODE(pVariableHeader); - propertyLength -= 2; - if (propertyLength < (size_t)userProperty->keyLength + 2) { + propertyLength -= 2U; + if (propertyLength < (size_t)userProperty->keyLength + 2U) { status = MQTTMalformedPacket; } else { @@ -1611,7 +1590,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti propertyLength-=userProperty->keyLength; pVariableHeader = &pVariableHeader[ userProperty->keyLength]; userProperty->valueLength = UINT16_DECODE(pVariableHeader); - propertyLength -= 2; + propertyLength -= 2U; if (propertyLength < (size_t)userProperty->valueLength) { status = MQTTMalformedPacket; } @@ -1628,7 +1607,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti if (wildcard == true) { status = MQTTProtocolError; } - else if (propertyLength < 1) { + else if (propertyLength < 1U) { status = MQTTMalformedPacket; } else { @@ -1636,7 +1615,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti status = MQTTProtocolError; } else{ - pConnackProperties->isWildcardAvaiable = *pVariableHeader; + pConnackProperties->isWildcardAvaiable = (bool)*pVariableHeader; pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; propertyLength -= 1; wildcard = true; @@ -1647,7 +1626,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti if (subId == true) { status = MQTTProtocolError; } - else if (propertyLength < 1) { + else if (propertyLength < 1U) { status = MQTTMalformedPacket; } else { @@ -1655,7 +1634,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti status = MQTTProtocolError; } else{ - pConnackProperties->subscriptionId = *pVariableHeader; + pConnackProperties->subscriptionId = (bool)*pVariableHeader; pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; propertyLength -= 1; subId = true; @@ -1666,7 +1645,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti if (sharedsub == true) { status = MQTTProtocolError; } - else if (propertyLength < 1) { + else if (propertyLength < 1U) { status = MQTTMalformedPacket; } else { @@ -1674,7 +1653,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti status = MQTTProtocolError; } else{ - pConnackProperties->isSharedAvailable = *pVariableHeader; + pConnackProperties->isSharedAvailable = (bool)*pVariableHeader; pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; propertyLength -= 1; sharedsub = true; @@ -1685,13 +1664,13 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti if (keepAlive == true) { status = MQTTProtocolError; } - else if (propertyLength < 2) { + else if (propertyLength < 2U) { status = MQTTMalformedPacket; } else { pConnackProperties->serverKeepAlive = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - propertyLength -= 2; + propertyLength -= 2U; keepAlive = true; } break; @@ -1699,13 +1678,13 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti if (responseInfo == true || pConnackProperties->reqResInfo == 0) { status = MQTTProtocolError; } - else if (propertyLength < 2) { + else if (propertyLength < 2U) { status = MQTTMalformedPacket; } else { pConnackProperties->responseInfoLength = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - propertyLength -= 2; + propertyLength -= 2U; if (propertyLength < pConnackProperties->responseInfoLength) { status = MQTTMalformedPacket; } @@ -1719,13 +1698,13 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti if (serverRef == true) { status = MQTTProtocolError; } - else if (propertyLength < 2) { + else if (propertyLength < 2U) { status = MQTTMalformedPacket; } else { pConnackProperties->serverRefLength = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - propertyLength -= 2; + propertyLength -= 2U; if (propertyLength < pConnackProperties->serverRefLength) { status = MQTTMalformedPacket; } @@ -1739,13 +1718,13 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti if (authMethod == true || pConnackProperties->outgoingAuth == NULL) { status = MQTTProtocolError; } - else if (propertyLength < 2) { + else if (propertyLength < 2U) { status = MQTTMalformedPacket; } else { pConnackProperties->incomingAuth->authMethodLength = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - propertyLength -= 2; + propertyLength -= 2U; if (propertyLength < pConnackProperties->incomingAuth->authMethodLength) { status = MQTTMalformedPacket; } @@ -1759,13 +1738,13 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti if (authData == true || pConnackProperties->outgoingAuth == NULL) { status = MQTTProtocolError; } - else if (propertyLength < 2) { + else if (propertyLength < 2U) { status = MQTTMalformedPacket; } else { pConnackProperties->incomingAuth->authDataLength = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - propertyLength -= 2; + propertyLength -= 2U; if (propertyLength < pConnackProperties->incomingAuth->authDataLength) { status = MQTTMalformedPacket; } diff --git a/test/unit-test/MQTTv5/core_mqtt_config.h b/test/unit-test/MQTTv5/core_mqtt_config.h index 556c14ceb..0bdc90be5 100644 --- a/test/unit-test/MQTTv5/core_mqtt_config.h +++ b/test/unit-test/MQTTv5/core_mqtt_config.h @@ -73,6 +73,6 @@ #define MQTT_SEND_TIMEOUT_MS ( 200U ) #define MQTT_VERSION_5_ENABLED ( true ) -#define MAX_USER_PROPERTY (5000) +#define MAX_USER_PROPERTY (5000U) #endif /* ifndef CORE_MQTT_CONFIG_H_ */ \ No newline at end of file From 650fbb4b46ab699349cd6460c63c0cfba12a2d44 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Fri, 21 Jun 2024 09:31:08 +0000 Subject: [PATCH 22/82] misra --- source/core_mqtt.c | 4 +++ source/core_mqtt_serializer.c | 62 +++++++++++++++++------------------ 2 files changed, 35 insertions(+), 31 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index b16557013..ba18a8e8b 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -2446,6 +2446,10 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, pIndex = fixedSizeProperties; pIndex = MQTT_SerializePublishProperties(pWillInfo, pIndex); iterator->iov_base = fixedSizeProperties; + /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-182 */ + /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-108 */ + /* coverity[misra_c_2012_rule_18_2_violation] */ + /* coverity[misra_c_2012_rule_10_8_violation] */ iterator->iov_len = (size_t)(pIndex - fixedSizeProperties); totalMessageLength += iterator->iov_len; iterator++; diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 35174bf08..a7b401912 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -668,9 +668,9 @@ MQTTStatus_t MQTTV5_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, LogError(("Argument cannot be NULL: connectProperties")); status = MQTTBadParameter; } - else if (pConnectProperties->outgoingAuth != NULL && pConnectProperties->incomingAuth == NULL) + else if ((pConnectProperties->outgoingAuth != NULL) && (pConnectProperties->incomingAuth == NULL)) { - LogError( ("Incoming Auth cannot bt NULL")); + LogError( ("Incoming Auth cannot be NULL")); status = MQTTBadParameter; } else @@ -780,20 +780,20 @@ static MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* pUserProperty, MQTTStatus_t status = MQTTSuccess; uint32_t i = 0; /*Number of user properties can't be more than the max user properties specified*/ - if (number > MAX_USER_PROPERTY) { + if (number >(uint32_t)MAX_USER_PROPERTY) { status = MQTTBadParameter; } - else if (number != 0U && pUserProperty == NULL) { + else if ((number != 0U) && (pUserProperty == NULL)) { status = MQTTBadParameter; } else { - for (;i < number && status == MQTTSuccess;i++) { - if ((pUserProperty + i)->keyLength == 0U || (pUserProperty + i)->valueLength == 0U || (pUserProperty + i)->key == NULL || (pUserProperty + i)->value == NULL) { + for (;(i < number) &&(status == MQTTSuccess);i++) { + if (((pUserProperty + i)->keyLength == 0U) || ((pUserProperty + i)->valueLength == 0U) || ((pUserProperty + i)->key == NULL) || ((pUserProperty + i)->value == NULL)) { status = MQTTBadParameter; } else{ - *size += (pUserProperty + i)->keyLength + 3U; - *size += (pUserProperty + i)->valueLength + 2U; + *size += (size_t)((pUserProperty + i)->keyLength + 3U); + *size += (size_t)((pUserProperty + i)->valueLength + 2U); } } } @@ -841,7 +841,7 @@ static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConn if (pConnectProperties->outgoingAuth != NULL) { /*Valid authentication parameters*/ - if (pConnectProperties->outgoingAuth->authMethodLength == 0U && pConnectProperties->outgoingAuth->authDataLength != 0U) + if ((pConnectProperties->outgoingAuth->authMethodLength == 0U) && (pConnectProperties->outgoingAuth->authDataLength != 0U)) { status = MQTTBadParameter; } @@ -905,11 +905,11 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillPropertie status= MQTTBadParameter; } else{ - willLength += pWillProperties->contentTypeLength + 3U; + willLength +=(size_t) (pWillProperties->contentTypeLength + 3U); } } /*Validate if length and pointers are valid*/ - if(status==MQTTSuccess && pWillProperties->responseTopicLength != 0U){ + if((status==MQTTSuccess) && (pWillProperties->responseTopicLength != 0U)){ if(pWillProperties->responseTopic==NULL){ status= MQTTBadParameter; } @@ -923,7 +923,7 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillPropertie status= MQTTBadParameter; } else{ - willLength += pWillProperties->correlationLength + 3U; + willLength += (size_t)(pWillProperties->correlationLength + 3U); } } /*Get the length of user properties*/ @@ -1028,8 +1028,8 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, { *pIndex = MQTT_USER_PROPERTY_ID; pIndex++; - pIndex = encodeString(pIndex, (pUserProperty + i)->key, (pUserProperty + i)->keyLength); - pIndex = encodeString(pIndex, (pUserProperty + i)->value, (pUserProperty + i)->valueLength); + pIndex = encodeString(pIndex, pUserProperty[i].key, pUserProperty[i].keyLength); + pIndex = encodeString(pIndex, pUserProperty[i].value, pUserProperty[i].valueLength); } } @@ -1084,8 +1084,8 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, { *pIndex = MQTT_USER_PROPERTY_ID; pIndex++; - pIndex = encodeString(pIndex, (pUserProperty + i)->key, (pUserProperty + i)->keyLength); - pIndex = encodeString(pIndex, (pUserProperty + i)->value, (pUserProperty + i)->valueLength); + pIndex = encodeString(pIndex, pUserProperty[i].key, pUserProperty [i].keyLength); + pIndex = encodeString(pIndex, pUserProperty[i].value, pUserProperty[i].valueLength); } } pIndex = encodeString(pIndex, pWillInfo->pTopicName,pWillInfo->topicNameLength); @@ -1404,7 +1404,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti if((status==MQTTSuccess) && (pConnackProperties->isMaxPacketSize==true) && ((pIncomingPacket->remainingLength + remainingLengthSize + 1U) > (pConnackProperties->maxPacketSize))){ status= MQTTProtocolError; } - else if (status == MQTTSuccess && pIncomingPacket->remainingLength != 2U + propertyLength + remainingLengthEncodedSize(propertyLength)) { + else if ((status == MQTTSuccess) && ((pIncomingPacket->remainingLength) != (2U + propertyLength + remainingLengthEncodedSize(propertyLength)))) { status = MQTTMalformedPacket; } else if(status==MQTTSuccess){ @@ -1429,7 +1429,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti while ((propertyLength > 0U) && (status == MQTTSuccess)) { uint8_t packetId = *pVariableHeader; pVariableHeader = &pVariableHeader[1]; - propertyLength -= 1; + propertyLength -= 1U; switch (packetId) { case MQTT_SESSION_EXPIRY_ID: if (sessionExpiry == true) { @@ -1457,7 +1457,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; serverReceiveMax = true; propertyLength -= 2U; - if (pConnackProperties->serverReceiveMax == 0) { + if (pConnackProperties->serverReceiveMax == 0u) { status = MQTTProtocolError; } } @@ -1518,7 +1518,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti if (clientId == true) { status = MQTTProtocolError; } - else if (propertyLength < 2) { + else if (propertyLength < 2U) { status = MQTTMalformedPacket; } else { @@ -1581,7 +1581,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti pConnackProperties->incomingUserPropSize++; userProperty->keyLength = UINT16_DECODE(pVariableHeader); propertyLength -= 2U; - if (propertyLength < (size_t)userProperty->keyLength + 2U) { + if (propertyLength < (size_t)(userProperty->keyLength + 2U)) { status = MQTTMalformedPacket; } else { @@ -1591,7 +1591,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti pVariableHeader = &pVariableHeader[ userProperty->keyLength]; userProperty->valueLength = UINT16_DECODE(pVariableHeader); propertyLength -= 2U; - if (propertyLength < (size_t)userProperty->valueLength) { + if (propertyLength < (size_t)(userProperty->valueLength)) { status = MQTTMalformedPacket; } else { @@ -1611,13 +1611,13 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti status = MQTTMalformedPacket; } else { - if (*pVariableHeader > 1) { + if (*pVariableHeader > 1U) { status = MQTTProtocolError; } else{ pConnackProperties->isWildcardAvaiable = (bool)*pVariableHeader; pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; - propertyLength -= 1; + propertyLength -= 1U; wildcard = true; } } @@ -1630,13 +1630,13 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti status = MQTTMalformedPacket; } else { - if (*pVariableHeader > 1) { + if (*pVariableHeader > 1U) { status = MQTTProtocolError; } else{ pConnackProperties->subscriptionId = (bool)*pVariableHeader; pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; - propertyLength -= 1; + propertyLength -= 1U; subId = true; } } @@ -1649,13 +1649,13 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti status = MQTTMalformedPacket; } else { - if (*pVariableHeader > 1) { + if (*pVariableHeader > 1U) { status = MQTTProtocolError; } else{ pConnackProperties->isSharedAvailable = (bool)*pVariableHeader; pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; - propertyLength -= 1; + propertyLength -= 1U; sharedsub = true; } } @@ -1675,7 +1675,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti } break; case MQTT_RESPONSE_INFO_ID: - if (responseInfo == true || pConnackProperties->reqResInfo == 0) { + if ((responseInfo == true) || (pConnackProperties->reqResInfo == 0)) { status = MQTTProtocolError; } else if (propertyLength < 2U) { @@ -1715,7 +1715,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti } break; case MQTT_AUTH_METHOD_ID: - if (authMethod == true || pConnackProperties->outgoingAuth == NULL) { + if ((authMethod == true) || (pConnackProperties->outgoingAuth == NULL)) { status = MQTTProtocolError; } else if (propertyLength < 2U) { @@ -1735,7 +1735,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti } break; case MQTT_AUTH_DATA_ID: - if (authData == true || pConnackProperties->outgoingAuth == NULL) { + if ((authData == true) ||(pConnackProperties->outgoingAuth == NULL)) { status = MQTTProtocolError; } else if (propertyLength < 2U) { From 8b7a9d7a8bec608b3d11a699cc16bf78f27b614f Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Fri, 21 Jun 2024 09:52:53 +0000 Subject: [PATCH 23/82] misra --- source/core_mqtt.c | 8 ++++---- source/core_mqtt_serializer.c | 21 ++++++++++++--------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index ba18a8e8b..7a08d7187 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -581,7 +581,7 @@ static size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_ const char *const string, uint16_t length, TransportOutVector_t *iterator, - size_t *updatedLength, uint8_t* packetId); + size_t *updatedLength, const uint8_t* packetId); /*-----------------------------------------------------------*/ @@ -589,7 +589,7 @@ static size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_ const char *const string, uint16_t length, TransportOutVector_t *iterator, - size_t *updatedLength, uint8_t* packetId) + size_t *updatedLength,const uint8_t* packetId) { size_t packetLength = 0U; TransportOutVector_t *pLocalIterator = iterator; @@ -2372,7 +2372,7 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, uint32_t i = 0; uint32_t size = pContext->connectProperties->outgoingUserPropSize; - MQTTUserProperty_t *userProperty = pContext->connectProperties->outgoingUserProperty; + const MQTTUserProperty_t *userProperty = pContext->connectProperties->outgoingUserProperty; for (; i < size; i++) { userId[i]=MQTT_USER_PROPERTY_ID; @@ -2498,7 +2498,7 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, { uint32_t i = 0; uint32_t size = pWillInfo->userPropertySize; - MQTTUserProperty_t* userProperty = pWillInfo->userProperty; + const MQTTUserProperty_t* userProperty = pWillInfo->userProperty; for (; i < size; i++) { willUserId[i]=MQTT_USER_PROPERTY_ID; diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index a7b401912..22c3f4b0f 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -540,7 +540,7 @@ static MQTTStatus_t deserializePingresp(const MQTTPacketInfo_t* pPingresp); * * @return #MQTTSuccess if user properties are valid and #MQTTBadParametr if the user properties are not valid */ -static MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* pUserProperty, uint32_t number, size_t* size); +static MQTTStatus_t MQTT_GetUserPropertySize(const MQTTUserProperty_t* pUserProperty, uint32_t number, size_t* size); /** * @brief Get the size of connect properties. @@ -776,7 +776,7 @@ uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t* pPublishInfo, /*-----------------------------------------------------------*/ -static MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* pUserProperty, uint32_t number, size_t* size) { +static MQTTStatus_t MQTT_GetUserPropertySize(const MQTTUserProperty_t* pUserProperty, uint32_t number, size_t* size) { MQTTStatus_t status = MQTTSuccess; uint32_t i = 0; /*Number of user properties can't be more than the max user properties specified*/ @@ -788,12 +788,12 @@ static MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t* pUserProperty, } else { for (;(i < number) &&(status == MQTTSuccess);i++) { - if (((pUserProperty + i)->keyLength == 0U) || ((pUserProperty + i)->valueLength == 0U) || ((pUserProperty + i)->key == NULL) || ((pUserProperty + i)->value == NULL)) { + if ((pUserProperty[i].keyLength == 0U) || (pUserProperty[i].valueLength == 0U) || (pUserProperty[i].key == NULL) || (pUserProperty[i].value == NULL)) { status = MQTTBadParameter; } else{ - *size += (size_t)((pUserProperty + i)->keyLength + 3U); - *size += (size_t)((pUserProperty + i)->valueLength + 2U); + *size += (pUserProperty [i].keyLength + 3U); + *size += (pUserProperty [i].valueLength + 2U); } } } @@ -905,7 +905,7 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillPropertie status= MQTTBadParameter; } else{ - willLength +=(size_t) (pWillProperties->contentTypeLength + 3U); + willLength +=(pWillProperties->contentTypeLength + 3U); } } /*Validate if length and pointers are valid*/ @@ -914,7 +914,8 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillPropertie status= MQTTBadParameter; } else{ - willLength += pWillProperties->responseTopicLength + 3U; + willLength += (pWillProperties->responseTopicLength + 3U); + } } if (status==MQTTSuccess && pWillProperties->correlationLength != 0U) @@ -923,7 +924,7 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillPropertie status= MQTTBadParameter; } else{ - willLength += (size_t)(pWillProperties->correlationLength + 3U); + willLength += (pWillProperties->correlationLength + 3U); } } /*Get the length of user properties*/ @@ -1247,6 +1248,7 @@ MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, break; default: status= MQTTProtocolError; + break; } return status; } @@ -1675,7 +1677,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti } break; case MQTT_RESPONSE_INFO_ID: - if ((responseInfo == true) || (pConnackProperties->reqResInfo == 0)) { + if ((responseInfo == true) || (pConnackProperties->reqResInfo == false)) { status = MQTTProtocolError; } else if (propertyLength < 2U) { @@ -1756,6 +1758,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti break; default: status = MQTTProtocolError; + break; } } } From 30091dfa1211dedcbed6f170a004e4a0f48aee8d Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Fri, 21 Jun 2024 10:04:23 +0000 Subject: [PATCH 24/82] misra --- source/core_mqtt_serializer.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 22c3f4b0f..f24d36199 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -792,8 +792,10 @@ static MQTTStatus_t MQTT_GetUserPropertySize(const MQTTUserProperty_t* pUserProp status = MQTTBadParameter; } else{ - *size += (pUserProperty [i].keyLength + 3U); - *size += (pUserProperty [i].valueLength + 2U); + *size += (pUserProperty [i].keyLength ); + *size+= 3U; + *size += (pUserProperty [i].valueLength); + *size+= 2U; } } } @@ -867,11 +869,11 @@ static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConn } } /*Get the length of the user properties*/ - if (status == MQTTSuccess && pConnectProperties->outgoingUserPropSize != 0U) { + if ((status == MQTTSuccess) && (pConnectProperties->outgoingUserPropSize != 0U)) { status = MQTT_GetUserPropertySize(pConnectProperties->outgoingUserProperty, pConnectProperties->outgoingUserPropSize, &propertyLength); } /*Variable length encoded values cannot have valued more than 268435455U*/ - if (status == MQTTSuccess && pConnectProperties->propertyLength > MQTT_MAX_REMAINING_LENGTH) { + if ((status == MQTTSuccess) && (pConnectProperties->propertyLength > MQTT_MAX_REMAINING_LENGTH)) { status = MQTTBadParameter; } if(status==MQTTSuccess){ @@ -905,7 +907,8 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillPropertie status= MQTTBadParameter; } else{ - willLength +=(pWillProperties->contentTypeLength + 3U); + willLength +=(pWillProperties->contentTypeLength); + willLength += 3U; } } /*Validate if length and pointers are valid*/ @@ -914,17 +917,19 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillPropertie status= MQTTBadParameter; } else{ - willLength += (pWillProperties->responseTopicLength + 3U); + willLength += (pWillProperties->responseTopicLength); + willLength += 3U; } } - if (status==MQTTSuccess && pWillProperties->correlationLength != 0U) + if ((status==MQTTSuccess) && (pWillProperties->correlationLength != 0U)) { if(pWillProperties->correlationData==NULL){ status= MQTTBadParameter; } else{ - willLength += (pWillProperties->correlationLength + 3U); + willLength += (pWillProperties->correlationLength); + willLength += 3U; } } /*Get the length of user properties*/ @@ -1402,6 +1407,9 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti pVariableHeader = &pVariableHeader[2]; remainingLengthSize = remainingLengthEncodedSize(pIncomingPacket->remainingLength); status = decodeVariableLength(pVariableHeader, &propertyLength); + } + else{ + } if((status==MQTTSuccess) && (pConnackProperties->isMaxPacketSize==true) && ((pIncomingPacket->remainingLength + remainingLengthSize + 1U) > (pConnackProperties->maxPacketSize))){ status= MQTTProtocolError; From 543ec129b3538633d04e71bcfd4b4f72b04a691f Mon Sep 17 00:00:00 2001 From: Monika Singh Date: Fri, 21 Jun 2024 11:17:38 +0000 Subject: [PATCH 25/82] nj --- .../source/core_mqtt.c.o.d | 29 + .../source/core_mqtt_serializer.c.o.d | 26 + .../source/core_mqtt_state.c.o.d | 28 + cov-out/BUILD.metrics.xml | 95 + cov-out/build-cwd.txt | 1 + cov-out/build-log.txt | 1324 +++ cov-out/build-timings.txt | 29 + .../configure-log.txt | 8 + .../coverity_config.xml | 12 + .../coverity_config_created | 3 + .../g++-config-0/configure-log.txt | 4245 ++++++++ .../g++-config-0/coverity-compiler-compat.h | 8657 +++++++++++++++++ .../g++-config-0/coverity-macro-compat.h | 1333 +++ .../g++-config-0/coverity_config.xml | 168 + .../g++cc-config-0/configure-log.txt | 4096 ++++++++ .../g++cc-config-0/coverity-compiler-compat.h | 8645 ++++++++++++++++ .../g++cc-config-0/coverity-macro-compat.h | 1084 +++ .../g++cc-config-0/coverity_config.xml | 161 + .../gcc-config-0/configure-log.txt | 4096 ++++++++ .../gcc-config-0/coverity-compiler-compat.h | 8656 ++++++++++++++++ .../gcc-config-0/coverity-macro-compat.h | 1084 +++ .../gcc-config-0/coverity_config.xml | 160 + .../ip-172-31-80-220/config/configure-log.txt | 93 + cov-out/emit/ip-172-31-80-220/emit-db | Bin 0 -> 1159168 bytes cov-out/emit/ip-172-31-80-220/emit-db.lock | 1 + .../emit/ip-172-31-80-220/emit-db.write-lock | 0 cov-out/emit/version | 2 + cov-out/output/analysis-log.txt | 20 + cov-out/output/summary.txt | 1 + cov-out/output/version | 2 + cov-out/security-da-log.txt | 4 + cov-out/security-da-timings.txt | 9 + cov-out/tmp/emit-db-cache | Bin 0 -> 73728 bytes cov-out/tmp/emit-db-cache.lock | 1 + cov-out/tu-timings.txt | 15 + lib/libcoverity_analysis.a | Bin 0 -> 60102 bytes source/core_mqtt.c | 3 +- source/core_mqtt_serializer.c | 20 +- source/include/core_mqtt.h | 3 + source/include/core_mqtt_serializer.h | 153 +- 40 files changed, 44249 insertions(+), 18 deletions(-) create mode 100644 CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d create mode 100644 CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o.d create mode 100644 CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o.d create mode 100644 cov-out/BUILD.metrics.xml create mode 100644 cov-out/build-cwd.txt create mode 100644 cov-out/build-log.txt create mode 100644 cov-out/build-timings.txt create mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/configure-log.txt create mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config.xml create mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config_created create mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/configure-log.txt create mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity-compiler-compat.h create mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity-macro-compat.h create mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity_config.xml create mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/configure-log.txt create mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity-compiler-compat.h create mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity-macro-compat.h create mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity_config.xml create mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/configure-log.txt create mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-compiler-compat.h create mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-macro-compat.h create mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity_config.xml create mode 100644 cov-out/emit/ip-172-31-80-220/config/configure-log.txt create mode 100644 cov-out/emit/ip-172-31-80-220/emit-db create mode 100644 cov-out/emit/ip-172-31-80-220/emit-db.lock create mode 100644 cov-out/emit/ip-172-31-80-220/emit-db.write-lock create mode 100644 cov-out/emit/version create mode 100644 cov-out/output/analysis-log.txt create mode 100644 cov-out/output/summary.txt create mode 100644 cov-out/output/version create mode 100644 cov-out/security-da-log.txt create mode 100644 cov-out/security-da-timings.txt create mode 100644 cov-out/tmp/emit-db-cache create mode 100644 cov-out/tmp/emit-db-cache.lock create mode 100644 cov-out/tu-timings.txt create mode 100644 lib/libcoverity_analysis.a diff --git a/CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d b/CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d new file mode 100644 index 000000000..0e34af1ce --- /dev/null +++ b/CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d @@ -0,0 +1,29 @@ +CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o: \ + /home/ubuntu/coreMQTT/source/core_mqtt.c /usr/include/stdc-predef.h \ + /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/strings.h /usr/include/assert.h \ + /home/ubuntu/coreMQTT/source/include/core_mqtt_state.h \ + /home/ubuntu/coreMQTT/source/include/core_mqtt.h \ + /home/ubuntu/coreMQTT/source/include/core_mqtt_serializer.h \ + /usr/lib/gcc/x86_64-linux-gnu/9/include/stdint.h /usr/include/stdint.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/lib/gcc/x86_64-linux-gnu/9/include/stdbool.h \ + /home/ubuntu/coreMQTT/source/interface/transport_interface.h \ + /home/ubuntu/coreMQTT/source/include/core_mqtt_config_defaults.h \ + /home/ubuntu/coreMQTT/source/include/core_mqtt_config_defaults.h \ + /home/ubuntu/coreMQTT/source/include/core_mqtt_serializer.h diff --git a/CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o.d b/CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o.d new file mode 100644 index 000000000..839064d35 --- /dev/null +++ b/CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o.d @@ -0,0 +1,26 @@ +CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o: \ + /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c \ + /usr/include/stdc-predef.h /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/strings.h /usr/include/assert.h \ + /home/ubuntu/coreMQTT/source/include/core_mqtt_serializer.h \ + /usr/lib/gcc/x86_64-linux-gnu/9/include/stdint.h /usr/include/stdint.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/lib/gcc/x86_64-linux-gnu/9/include/stdbool.h \ + /home/ubuntu/coreMQTT/source/interface/transport_interface.h \ + /home/ubuntu/coreMQTT/source/include/core_mqtt_config_defaults.h \ + /home/ubuntu/coreMQTT/source/include/core_mqtt_config_defaults.h diff --git a/CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o.d b/CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o.d new file mode 100644 index 000000000..2727758c2 --- /dev/null +++ b/CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o.d @@ -0,0 +1,28 @@ +CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o: \ + /home/ubuntu/coreMQTT/source/core_mqtt_state.c \ + /usr/include/stdc-predef.h /usr/include/assert.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/strings.h \ + /home/ubuntu/coreMQTT/source/include/core_mqtt_state.h \ + /home/ubuntu/coreMQTT/source/include/core_mqtt.h \ + /home/ubuntu/coreMQTT/source/include/core_mqtt_serializer.h \ + /usr/lib/gcc/x86_64-linux-gnu/9/include/stdint.h /usr/include/stdint.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/lib/gcc/x86_64-linux-gnu/9/include/stdbool.h \ + /home/ubuntu/coreMQTT/source/interface/transport_interface.h \ + /home/ubuntu/coreMQTT/source/include/core_mqtt_config_defaults.h \ + /home/ubuntu/coreMQTT/source/include/core_mqtt_config_defaults.h diff --git a/cov-out/BUILD.metrics.xml b/cov-out/BUILD.metrics.xml new file mode 100644 index 000000000..2a7f20cf3 --- /dev/null +++ b/cov-out/BUILD.metrics.xml @@ -0,0 +1,95 @@ + + + + + + + time + 8 + + + args + cov-build --emit-complementary-info --dir cov-out make coverity_analysis + + + host + ip-172-31-80-220 + + + short-platform + linux64 + + + platform + Linux 5.15.0-1050-aws x86_64 + + + ident + 2023.6.1 (build 4ae07d0526 p-2023.6-push-61) + + + user + ubuntu + + + cwd + /home/ubuntu/coreMQTT + + + config + /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/coverity_config.xml + + + intermediatedir + /home/ubuntu/coreMQTT/cov-out + + + outputdir + /home/ubuntu/coreMQTT/cov-out/output + + + emitdir + /home/ubuntu/coreMQTT/cov-out/emit + + + force + no + + + cygwin + no + + + failures + 0 + + + successes + 3 + + + recoverable-errors + 0 + + + dotnet-webapps-detected + 0 + + + dotnet-webapp-successes + 0 + + + dotnet-webapp-compilation-secs + 0 + + + security-da-ms + 30 + + + buildcmd + make coverity_analysis + + + diff --git a/cov-out/build-cwd.txt b/cov-out/build-cwd.txt new file mode 100644 index 000000000..b61fa42b0 --- /dev/null +++ b/cov-out/build-cwd.txt @@ -0,0 +1 @@ +/home/ubuntu/coreMQTT diff --git a/cov-out/build-log.txt b/cov-out/build-log.txt new file mode 100644 index 000000000..48be969be --- /dev/null +++ b/cov-out/build-log.txt @@ -0,0 +1,1324 @@ +2024-06-21T07:00:01.176518Z|cov-build|1761684|info|> cov-build 2023.6.1 (build 4ae07d0526 p-2023.6-push-61) +2024-06-21T07:00:01.176565Z|cov-build|1761684|info|> Coverity Build Capture (64-bit) version 2023.6.1 on Linux 5.15.0-1050-aws x86_64 +2024-06-21T07:00:01.176565Z|cov-build|1761684|info|> Internal version numbers: 4ae07d0526 p-2023.6-push-61 +2024-06-21T07:00:01.176565Z|cov-build|1761684|info|> +2024-06-21T07:00:01.176584Z|cov-build|1761684|info|> Dumping from hostname : ip-172-31-80-220 +2024-06-21T07:00:01.176584Z|cov-build|1761684|info|> +2024-06-21T07:00:01.176593Z|cov-build|1761684|info|> Platform info: +2024-06-21T07:00:01.176593Z|cov-build|1761684|info|> Sysname = Linux +2024-06-21T07:00:01.176593Z|cov-build|1761684|info|> Release = 5.15.0-1050-aws +2024-06-21T07:00:01.176593Z|cov-build|1761684|info|> Machine = x86_64 +2024-06-21T07:00:01.176593Z|cov-build|1761684|info|> +2024-06-21T07:00:01.176593Z|cov-build|1761684|info|> +2024-06-21T07:00:01.176614Z|cov-build|1761684|info|> cov-build command: cov-build --emit-complementary-info --dir cov-out make coverity_analysis +2024-06-21T07:00:01.176623Z|cov-build|1761684|info|> cov-build expanded command: cov-build --emit-complementary-info --dir cov-out make coverity_analysis +2024-06-21T07:00:01.176903Z|cov-build|1761684|info|> build command: /usr/bin/make coverity_analysis +2024-06-21T07:00:01.176921Z|cov-build|1761684|info|> thunk command: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/cov-internal-thunk.sh make coverity_analysis +2024-06-21T07:00:01.176921Z|cov-build|1761684|info|> +2024-06-21T07:00:01.176933Z|cov-build|1761684|info|> Set MSBUILDDISABLENODEREUSE to 1 +2024-06-21T07:00:01.176941Z|cov-build|1761684|info|> Set UseSharedCompilation to false. +2024-06-21T07:00:01.176952Z|cov-build|1761684|info|> Set COVERITY_BIN to /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin +2024-06-21T07:00:01.176969Z|cov-build|1761684|info|> Set COVERITY_SITE_CC to *-g++;*-gcc;ar;c++;cc;g++-*;gcc-*;ld +2024-06-21T07:00:01.176977Z|cov-build|1761684|info|> Set COVERITY_SITE_CC_CAPTURE_DESCENDANTS to +2024-06-21T07:00:01.176986Z|cov-build|1761684|info|> Set COVERITY_TEMP to /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596 +2024-06-21T07:00:01.177000Z|cov-build|1761684|info|> Set COVERITY_COMMON_TEMP to /tmp +2024-06-21T07:00:01.177008Z|cov-build|1761684|info|> Set COVERITY_IDIR to /home/ubuntu/coreMQTT/cov-out +2024-06-21T07:00:01.177035Z|cov-build|1761684|info|> Set COVERITY_OUTPUT to /home/ubuntu/coreMQTT/cov-out/build-log.txt +2024-06-21T07:00:01.177042Z|cov-build|1761684|info|> Set COVERITY_LOG to /home/ubuntu/coreMQTT/cov-out/build-log.txt +2024-06-21T07:00:01.177060Z|cov-build|1761684|info|> Set COVERITY_OUTPUT_ENCODING to UTF-8 +2024-06-21T07:00:01.177068Z|cov-build|1761684|info|> Set COVERITY_SYSTEM_ENCODING to UTF-8 +2024-06-21T07:00:01.177076Z|cov-build|1761684|info|> Set COVERITY_EMIT to /home/ubuntu/coreMQTT/cov-out/emit +2024-06-21T07:00:01.177098Z|cov-build|1761684|info|> Set COVERITY_IS_COMPILER to 0 +2024-06-21T07:00:01.177105Z|cov-build|1761684|info|> Set COVERITY_TOP_PROCESS to 0 +2024-06-21T07:00:01.177110Z|cov-build|1761684|info|> Set COVERITY_IS_COMPILER_DESCENDANT to 0 +2024-06-21T07:00:01.177116Z|cov-build|1761684|info|> Set COVERITY_DISENGAGE_EXES to "qemuwrapper;qemu-aarch64;qemu-alpha;qemu-arm;qemu-armeb;qemu-cris;qemu-i386;qemu-m68k;qemu-microblaze;qemu-mips;qemu-mipsel;qemu-nios2;qemu-ppc;qemu-ppc64;qemu-ppc64abi32;qemu-sh4;qemu-sh4eb;qemu-sparc;qemu-sparc32plus;qemu-sparc64;qemu-x86_64" +2024-06-21T07:00:01.177173Z|cov-build|1761684|info|> +2024-06-21T07:00:01.177173Z|cov-build|1761684|info|> +2024-06-21T07:00:01.177173Z|cov-build|1761684|info|> Dumping Environment Variables: +2024-06-21T07:00:01.177173Z|cov-build|1761684|info|> +2024-06-21T07:00:01.177203Z|cov-build|1761684|info|> SHELL=/bin/bash +2024-06-21T07:00:01.177209Z|cov-build|1761684|info|> COLORTERM=truecolor +2024-06-21T07:00:01.177214Z|cov-build|1761684|info|> TERM_PROGRAM_VERSION=1.90.1 +2024-06-21T07:00:01.177220Z|cov-build|1761684|info|> PWD=/home/ubuntu/coreMQTT +2024-06-21T07:00:01.177225Z|cov-build|1761684|info|> LOGNAME=ubuntu +2024-06-21T07:00:01.177238Z|cov-build|1761684|info|> XDG_SESSION_TYPE=tty +2024-06-21T07:00:01.177244Z|cov-build|1761684|info|> VSCODE_GIT_ASKPASS_NODE=/home/ubuntu/.vscode-server/cli/servers/Stable-611f9bfce64f25108829dd295f54a6894e87339d/server/node +2024-06-21T07:00:01.177249Z|cov-build|1761684|info|> MOTD_SHOWN=pam +2024-06-21T07:00:01.177254Z|cov-build|1761684|info|> HOME=/home/ubuntu +2024-06-21T07:00:01.177260Z|cov-build|1761684|info|> LANG=C.UTF-8 +2024-06-21T07:00:01.177265Z|cov-build|1761684|info|> LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36: +2024-06-21T07:00:01.177273Z|cov-build|1761684|info|> SSL_CERT_DIR=/usr/lib/ssl/certs +2024-06-21T07:00:01.177279Z|cov-build|1761684|info|> GIT_ASKPASS=/home/ubuntu/.vscode-server/cli/servers/Stable-611f9bfce64f25108829dd295f54a6894e87339d/server/extensions/git/dist/askpass.sh +2024-06-21T07:00:01.177284Z|cov-build|1761684|info|> SSH_CONNECTION=15.248.4.151 1076 172.31.80.220 22 +2024-06-21T07:00:01.177290Z|cov-build|1761684|info|> VSCODE_GIT_ASKPASS_EXTRA_ARGS= +2024-06-21T07:00:01.177295Z|cov-build|1761684|info|> LESSCLOSE=/usr/bin/lesspipe %s %s +2024-06-21T07:00:01.177300Z|cov-build|1761684|info|> XDG_SESSION_CLASS=user +2024-06-21T07:00:01.177306Z|cov-build|1761684|info|> TERM=xterm-256color +2024-06-21T07:00:01.177311Z|cov-build|1761684|info|> LESSOPEN=| /usr/bin/lesspipe %s +2024-06-21T07:00:01.177316Z|cov-build|1761684|info|> USER=ubuntu +2024-06-21T07:00:01.177322Z|cov-build|1761684|info|> VSCODE_GIT_IPC_HANDLE=/run/user/1000/vscode-git-d220dbbd51.sock +2024-06-21T07:00:01.177327Z|cov-build|1761684|info|> SHLVL=1 +2024-06-21T07:00:01.177333Z|cov-build|1761684|info|> XDG_SESSION_ID=5887 +2024-06-21T07:00:01.177338Z|cov-build|1761684|info|> XDG_RUNTIME_DIR=/run/user/1000 +2024-06-21T07:00:01.177343Z|cov-build|1761684|info|> SSL_CERT_FILE=/usr/lib/ssl/certs/ca-certificates.crt +2024-06-21T07:00:01.177348Z|cov-build|1761684|info|> SSH_CLIENT=15.248.4.151 1076 22 +2024-06-21T07:00:01.177354Z|cov-build|1761684|info|> VSCODE_GIT_ASKPASS_MAIN=/home/ubuntu/.vscode-server/cli/servers/Stable-611f9bfce64f25108829dd295f54a6894e87339d/server/extensions/git/dist/askpass-main.js +2024-06-21T07:00:01.177360Z|cov-build|1761684|info|> XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop +2024-06-21T07:00:01.177365Z|cov-build|1761684|info|> BROWSER=/home/ubuntu/.vscode-server/cli/servers/Stable-611f9bfce64f25108829dd295f54a6894e87339d/server/bin/helpers/browser.sh +2024-06-21T07:00:01.177370Z|cov-build|1761684|info|> PATH=/tmp/cbmc-viewer/bin:/home/ubuntu/workspace/uncrustify-0.66.1/build:/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/:/usr/bin/java:/opt/homebrew/opt/openjdk/bin:/home/ubuntu/.toolbox/bin:/opt/homebrew/opt/ruby/bin:/home/ubuntu/.vscode-server/cli/servers/Stable-611f9bfce64f25108829dd295f54a6894e87339d/server/bin/remote-cli:/home/ubuntu/bin:/tmp/cbmc-viewer/bin:/home/ubuntu/workspace/uncrustify-0.66.1/build:/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/:/usr/bin/java:/opt/homebrew/opt/openjdk/bin:/home/ubuntu/.toolbox/bin:/opt/homebrew/opt/ruby/bin:/tmp/cbmc-viewer/bin:/home/ubuntu/workspace/uncrustify-0.66.1/build:/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/:/usr/bin/java:/opt/homebrew/opt/openjdk/bin:/home/ubuntu/.toolbox/bin:/opt/homebrew/opt/ruby/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin +2024-06-21T07:00:01.177381Z|cov-build|1761684|info|> DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus +2024-06-21T07:00:01.177387Z|cov-build|1761684|info|> TERM_PROGRAM=vscode +2024-06-21T07:00:01.177392Z|cov-build|1761684|info|> VSCODE_IPC_HOOK_CLI=/run/user/1000/vscode-ipc-34ea2f65-7eff-4b28-9ef7-2974233a0d32.sock +2024-06-21T07:00:01.177398Z|cov-build|1761684|info|> _=/usr/bin/make +2024-06-21T07:00:01.177403Z|cov-build|1761684|info|> COVERITY_PREV_XML_CATALOG_FILES= +2024-06-21T07:00:01.177408Z|cov-build|1761684|info|> COVERITY_TOP_CONFIG=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-configure/coverity_config.xml +2024-06-21T07:00:01.177414Z|cov-build|1761684|info|> COVERITY_BUILD_INVOCATION_ID=1 +2024-06-21T07:00:01.177419Z|cov-build|1761684|info|> COVERITY_CONFIG_FILE=/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/coverity_config.xml +2024-06-21T07:00:01.177425Z|cov-build|1761684|info|> MSBUILDDISABLENODEREUSE=1 +2024-06-21T07:00:01.177430Z|cov-build|1761684|info|> UseSharedCompilation=false +2024-06-21T07:00:01.177435Z|cov-build|1761684|info|> COVERITY_BIN=/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin +2024-06-21T07:00:01.177441Z|cov-build|1761684|info|> COVERITY_SITE_CC=*-g++;*-gcc;ar;c++;cc;g++-*;gcc-*;ld +2024-06-21T07:00:01.177446Z|cov-build|1761684|info|> COVERITY_SITE_CC_CAPTURE_DESCENDANTS= +2024-06-21T07:00:01.177451Z|cov-build|1761684|info|> COVERITY_TEMP=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596 +2024-06-21T07:00:01.177457Z|cov-build|1761684|info|> COVERITY_COMMON_TEMP=/tmp +2024-06-21T07:00:01.177468Z|cov-build|1761684|info|> COVERITY_IDIR=/home/ubuntu/coreMQTT/cov-out +2024-06-21T07:00:01.177474Z|cov-build|1761684|info|> COVERITY_REWRITE_FROM= +2024-06-21T07:00:01.177479Z|cov-build|1761684|info|> COVERITY_REWRITE_TO= +2024-06-21T07:00:01.177485Z|cov-build|1761684|info|> COVERITY_ENABLE_JAVA_ANNOTATION_FRAMEWORK_SUPPORT=1 +2024-06-21T07:00:01.177490Z|cov-build|1761684|info|> COVERITY_OUTPUT=/home/ubuntu/coreMQTT/cov-out/build-log.txt +2024-06-21T07:00:01.177495Z|cov-build|1761684|info|> COVERITY_LOG=/home/ubuntu/coreMQTT/cov-out/build-log.txt +2024-06-21T07:00:01.177501Z|cov-build|1761684|info|> COVERITY_OUTPUT_ENCODING=UTF-8 +2024-06-21T07:00:01.177506Z|cov-build|1761684|info|> COVERITY_SYSTEM_ENCODING=UTF-8 +2024-06-21T07:00:01.177511Z|cov-build|1761684|info|> COVERITY_EMIT=/home/ubuntu/coreMQTT/cov-out/emit +2024-06-21T07:00:01.177517Z|cov-build|1761684|info|> COVERITY_IS_COMPILER=0 +2024-06-21T07:00:01.177523Z|cov-build|1761684|info|> COVERITY_TOP_PROCESS=0 +2024-06-21T07:00:01.177528Z|cov-build|1761684|info|> COVERITY_IS_COMPILER_DESCENDANT=0 +2024-06-21T07:00:01.177533Z|cov-build|1761684|info|> COVERITY_DISENGAGE_EXES=qemuwrapper;qemu-aarch64;qemu-alpha;qemu-arm;qemu-armeb;qemu-cris;qemu-i386;qemu-m68k;qemu-microblaze;qemu-mips;qemu-mipsel;qemu-nios2;qemu-ppc;qemu-ppc64;qemu-ppc64abi32;qemu-sh4;qemu-sh4eb;qemu-sparc;qemu-sparc32plus;qemu-sparc64;qemu-x86_64 +2024-06-21T07:00:01.177539Z|cov-build|1761684|info|> COVERITY_COMPILER_PATH_MISMATCH_FILE=/home/ubuntu/coreMQTT/cov-out/has_path_mismatches +2024-06-21T07:00:01.177545Z|cov-build|1761684|info|> COVERITY_PATHLESS_CONFIGS_FILE=/home/ubuntu/coreMQTT/cov-out/has_pathless_configs +2024-06-21T07:00:01.177552Z|cov-build|1761684|info|> +2024-06-21T07:00:01.177552Z|cov-build|1761684|info|> +2024-06-21T07:00:01.177552Z|cov-build|1761684|info|> Dumping configuration: +2024-06-21T07:00:01.177552Z|cov-build|1761684|info|> +2024-06-21T07:00:01.177569Z|cov-build|1761684|info|> User/default configuration: +2024-06-21T07:00:01.177569Z|cov-build|1761684|info|> +2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> Configuration read from: command-line +2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> Node: coverity +2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> Node: config +2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/coverity_config.xml +2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> Node: config +2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> Node: prevent +2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> Node: dir Value: /home/ubuntu/coreMQTT/cov-out +2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> Node: config +2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> Node: prevent +2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> Node: emit_options +2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> Node: emit_complementary_info Value: true +2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> +2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/coverity_config.xml +2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: coverity +2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: cit_version Value: 1 +2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: config +2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-0/coverity_config.xml +2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-1/coverity_config.xml +2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-2/coverity_config.xml +2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-0/coverity_config.xml +2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-1/coverity_config.xml +2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-ld-config-0/coverity_config.xml +2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-ar-config-0/coverity_config.xml +2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-2/coverity_config.xml +2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/gcc-config-0/coverity_config.xml +2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/g++-config-0/coverity_config.xml +2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/g++cc-config-0/coverity_config.xml +2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/ld-config-0/coverity_config.xml +2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/ar-config-0/coverity_config.xml +2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-0/coverity_config.xml +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: coverity +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: cit_version Value: 1 +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: config +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: build +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: compiler +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: template_compiler Value: true +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: comp_name Value: cc +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: comp_translator Value: gcc +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: comp_lang Value: C +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: comp_generic Value: gnu +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: id Value: gcc-cc-.* +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-0/../user_nodefs.h +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: begin_command_line_config +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: id Value: g++-cc-.* +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-0/../user_nodefs.h +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: begin_command_line_config +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: id Value: g++cc-cc-.* +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-0/../user_nodefs.h +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: begin_command_line_config +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: md5 Value: 47a502735554e6c25b61a8bf08e5fa6d +2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-1/coverity_config.xml +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: coverity +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: cit_version Value: 1 +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: config +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: build +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: compiler +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: template_compiler Value: true +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: comp_name Value: gcc-* +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: comp_translator Value: gcc +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: comp_lang Value: C +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: comp_generic Value: gnu +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: id Value: gcc-gcc-*-.* +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-1/../user_nodefs.h +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: begin_command_line_config +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: id Value: g++-gcc-*-.* +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-1/../user_nodefs.h +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: begin_command_line_config +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: id Value: g++cc-gcc-*-.* +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-1/../user_nodefs.h +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: begin_command_line_config +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: md5 Value: a78235e18925f1b08d266850c13072da +2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-2/coverity_config.xml +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: coverity +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: cit_version Value: 1 +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: config +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: build +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: compiler +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: template_compiler Value: true +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: comp_name Value: *-gcc +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: comp_translator Value: gcc +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: comp_lang Value: C +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: comp_generic Value: gnu +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: id Value: gcc-*-gcc-.* +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-2/../user_nodefs.h +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: begin_command_line_config +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: id Value: g++-*-gcc-.* +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-2/../user_nodefs.h +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: begin_command_line_config +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: id Value: g++cc-*-gcc-.* +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-2/../user_nodefs.h +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: begin_command_line_config +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: md5 Value: 330d30838fa2e2405efcbf0025bbb1d9 +2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> +2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-0/coverity_config.xml +2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: coverity +2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: cit_version Value: 1 +2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: config +2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: build +2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: compiler +2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: template_compiler Value: true +2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: comp_name Value: g++-* +2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: comp_translator Value: g++ +2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: comp_lang Value: C++ +2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: comp_generic Value: gnu +2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: id Value: g++-g++-*-.* +2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-0/../user_nodefs.h +2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: begin_command_line_config +2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: id Value: g++cc-g++-*-.* +2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-0/../user_nodefs.h +2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: begin_command_line_config +2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: md5 Value: e2e8095ec14432cf12688981162829bb +2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> +2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-1/coverity_config.xml +2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: coverity +2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: cit_version Value: 1 +2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: config +2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: build +2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: compiler +2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: template_compiler Value: true +2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: comp_name Value: *-g++ +2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: comp_translator Value: g++ +2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: comp_lang Value: C++ +2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: comp_generic Value: gnu +2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: id Value: g++-*-g++-.* +2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-1/../user_nodefs.h +2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: begin_command_line_config +2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: id Value: g++cc-*-g++-.* +2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-1/../user_nodefs.h +2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: begin_command_line_config +2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: md5 Value: f63f9f20a2517b24ca5dec686eb6ca2d +2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> +2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-ld-config-0/coverity_config.xml +2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: coverity +2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: cit_version Value: 1 +2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: config +2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: build +2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: compiler +2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: template_compiler Value: true +2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: comp_name Value: ld +2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: comp_translator Value: ld +2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: comp_lang Value: C++ +2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: comp_generic Value: ld +2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: id Value: ld-ld-.* +2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-ld-config-0/../user_nodefs.h +2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: begin_command_line_config +2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: md5 Value: b7c847d801b0294a4f0f52192f7f3e16 +2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> +2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-ar-config-0/coverity_config.xml +2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: coverity +2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: cit_version Value: 1 +2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: config +2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: build +2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: compiler +2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: template_compiler Value: true +2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: comp_name Value: ar +2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: comp_translator Value: ar +2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: comp_lang Value: C++ +2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: comp_generic Value: ar +2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: id Value: ar-ar-.* +2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-ar-config-0/../user_nodefs.h +2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: begin_command_line_config +2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: md5 Value: a125f1c14acadfc9d06e8f9e711705ce +2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> +2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-2/coverity_config.xml +2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: coverity +2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: cit_version Value: 1 +2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: config +2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: build +2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: compiler +2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: template_compiler Value: true +2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: comp_name Value: c++ +2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: comp_translator Value: g++ +2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: comp_lang Value: C++ +2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: comp_generic Value: gnu +2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: id Value: g++-c++-.* +2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-2/../user_nodefs.h +2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: begin_command_line_config +2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: id Value: g++cc-c++-.* +2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-2/../user_nodefs.h +2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: begin_command_line_config +2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: md5 Value: 6110077f86d72b6001f0d20220e5c335 +2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/gcc-config-0/coverity_config.xml +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: coverity +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: cit_version Value: 1 +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: config +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: build +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: compiler +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_name Value: cc +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_name Value: gcc +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_name Value: gcc-9 +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_name Value: x86_64-linux-gnu-gcc-9 +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_dir Value: /usr/bin +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_translator Value: gcc +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_lang Value: C +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_front_end Value: cov-emit +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_desc Value: GNU C compiler +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_next_type Value: g++ +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_generic Value: gnu +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_require +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: id Value: gcc-cc-9.4.0-0 +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: version Value: 9.4.0 +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: is_compiler Value: true +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: is_linker Value: true +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: target_platform Value: all +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: id Value: gcc-cc-9.4.0-0 +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: compile_options +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/lib/gcc/x86_64-linux-gnu/9/include +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/local/include +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/include/x86_64-linux-gnu +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/include +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: dryrun_switch Value: -E +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: dryrun_switch Value: -v +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: dump_macros_arg Value: -dM +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: dump_macros_arg Value: -E +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: preprocess_remove_arg Value: -o.+ +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: preprocess_remove_arg Value: -c +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: preprocess_remove_arg Value: -Werror +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: preprocess_remove_next_arg Value: -o +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: preprocess_switch Value: -E +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: preprocess_switch Value: -U__BLOCKS__ +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: preprocess_switch Value: -xc +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: preprocess_compile_switch Value: -C +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: preprocess_output Value: - +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: dryrun_output Value: 2 +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: pre_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/gcc-config-0/coverity-compiler-compat.h +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: macro_pre_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/gcc-config-0/coverity-macro-compat.h +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --fixed_point +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity___fpreg +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity_decimal +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity_float +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity_floatx +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefined_feature_test_macros +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_stdarg_builtin +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --enable_128bit_int +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefined_cplusplus +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: -w +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefines +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --comp_ver +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: 9.4.0 +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --size_t_type=m +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --ptrdiff_t_type=l +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --type_sizes=xl8i4s2e16d8f4P8 +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --type_alignments=xl8i4s2e16d8f4P8 +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --char_bit_size=8 +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --restrict +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --gnu_carriage_return_line_terminator +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --wchar_t_type=i +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_multiline_string +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_trigraphs +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --ignore_calling_convention +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --c11 +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --enable_80bit_float +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --enable_128bit_float +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --allow__bool +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --macro_stack_pragmas +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --inline_keyword +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --has_include_macro +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --has_include_next_macro +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --has_cpp_attribute_macro +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefines +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: skip_file Value: conftest\.c{1,2}$ +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: skip_file Value: conftest\.cpp$ +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: skip_file Value: cgo-cc-input-[0-9]+\.(c|cc|cpp|cxx) +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/gcc-config-0/../user_nodefs.h +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: pch_options +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: archetype Value: gcc +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: link_options +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/ +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/ +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/ +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/ +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/ +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/ +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/ +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/x86_64-linux-gnu/9/ +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/x86_64-linux-gnu/ +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/../lib/ +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/9/ +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/ +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/../lib/ +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/ +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../ +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/ +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/ +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /lib/x86_64-linux-gnu/libc.so.6 +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: expand +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: replace_arg_regex +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: replace Value: @(.*) +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: with Value: --coverity_resp_file=$1 +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: pre_trans +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: intern_trans Value: gnu_pre_translate +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: trans +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: includes_from_env_var Value: CPATH +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: includes_from_env_var_empty_is_cwd Value: true +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: trans +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: includes_from_env_var Value: C_INCLUDE_PATH +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: pre_prepend_arg Value: --c +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: begin_command_line_config +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: md5 Value: fa43e70bd3a8a44c80caa7233d3b888a +2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/g++-config-0/coverity_config.xml +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: coverity +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: cit_version Value: 1 +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: config +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: build +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: compiler +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_name Value: cc +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_name Value: gcc +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_name Value: gcc-9 +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_name Value: x86_64-linux-gnu-gcc-9 +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_dir Value: /usr/bin +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_translator Value: g++ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_lang Value: C++ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_front_end Value: cov-emit +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_desc Value: GNU C++ Compiler +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_next_type Value: g++cc +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_generic Value: gnu +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_require +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: id Value: g++-cc-9.4.0-0 +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: version Value: 9.4.0 +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: is_compiler Value: true +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: is_linker Value: true +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: target_platform Value: all +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: id Value: g++-cc-9.4.0-0 +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: compile_options +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/include/c++/9 +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/include/x86_64-linux-gnu/c++/9 +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/include/c++/9/backward +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/lib/gcc/x86_64-linux-gnu/9/include +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/local/include +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/include/x86_64-linux-gnu +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/include +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: dryrun_switch Value: -E +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: dryrun_switch Value: -v +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: dump_macros_arg Value: -dM +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: dump_macros_arg Value: -E +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: preprocess_remove_arg Value: -o.+ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: preprocess_remove_arg Value: -c +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: preprocess_remove_arg Value: -Werror +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: preprocess_remove_next_arg Value: -o +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: preprocess_switch Value: -xc++ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: preprocess_switch Value: -E +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: preprocess_switch Value: -U__BLOCKS__ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: preprocess_compile_switch Value: -C +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: preprocess_output Value: - +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: dryrun_output Value: 2 +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: pre_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/g++-config-0/coverity-compiler-compat.h +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: macro_pre_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/g++-config-0/coverity-macro-compat.h +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity___fpreg +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity_decimal +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity_float +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity_floatx +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefined_feature_test_macros +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_stdarg_builtin +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --enable_128bit_int +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefined_cplusplus +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: -w +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefines +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --comp_ver +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: 9.4.0 +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --size_t_type=m +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --ptrdiff_t_type=l +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --type_sizes=w4xl8i4s2e16d8f4P8 +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --type_alignments=w4xl8i4s2e16d8f4P8 +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --char_bit_size=8 +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --gnu_carriage_return_line_terminator +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --wchar_t_keyword +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_multiline_string +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_trigraphs +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --ignore_calling_convention +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --enable_80bit_float +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --enable_128bit_float +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --macro_stack_pragmas +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --exceptions +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --arg_dependent_overload +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --inline_keyword +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --has_include_macro +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --has_include_next_macro +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --has_cpp_attribute_macro +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefines +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: skip_file Value: conftest\.c{1,2}$ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: skip_file Value: conftest\.cpp$ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: skip_file Value: cgo-cc-input-[0-9]+\.(c|cc|cpp|cxx) +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/g++-config-0/../user_nodefs.h +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: pch_options +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: archetype Value: gcc +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: link_options +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/x86_64-linux-gnu/9/ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/x86_64-linux-gnu/ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/../lib/ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/9/ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/../lib/ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /lib/x86_64-linux-gnu/libc.so.6 +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: pre_trans +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: pre_prepend_arg Value: -coverity_c_suffixes_are_cxx +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: trans +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: includes_from_env_var Value: CPLUS_INCLUDE_PATH +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: pre_prepend_arg Value: --c++ +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: expand +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: replace_arg_regex +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: replace Value: @(.*) +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: with Value: --coverity_resp_file=$1 +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: pre_trans +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: intern_trans Value: gnu_pre_translate +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: trans +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: includes_from_env_var Value: CPATH +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: includes_from_env_var_empty_is_cwd Value: true +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: begin_command_line_config +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: md5 Value: e4a8e0aa2d6b355e063647836a01d13e +2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/g++cc-config-0/coverity_config.xml +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: coverity +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: cit_version Value: 1 +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: config +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: build +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: compiler +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: comp_name Value: cc +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: comp_name Value: gcc +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: comp_name Value: gcc-9 +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: comp_name Value: x86_64-linux-gnu-gcc-9 +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: comp_dir Value: /usr/bin +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: comp_translator Value: g++cc +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: comp_lang Value: C +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: comp_front_end Value: cov-emit +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: comp_desc Value: GNU C++ Compiler +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: comp_generic Value: gnu +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: comp_require +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: id Value: g++cc-cc-9.4.0-0 +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: version Value: 9.4.0 +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: is_compiler Value: true +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: is_linker Value: true +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: target_platform Value: all +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: id Value: g++cc-cc-9.4.0-0 +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: compile_options +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/lib/gcc/x86_64-linux-gnu/9/include +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/local/include +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/include/x86_64-linux-gnu +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/include +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: dryrun_switch Value: -xc +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: dryrun_switch Value: -E +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: dryrun_switch Value: -v +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: dump_macros_arg Value: -xc +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: dump_macros_arg Value: -dM +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: dump_macros_arg Value: -E +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: preprocess_remove_arg Value: -o.+ +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: preprocess_remove_arg Value: -c +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: preprocess_remove_arg Value: -Werror +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: preprocess_remove_next_arg Value: -o +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: preprocess_switch Value: -E +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: preprocess_switch Value: -U__BLOCKS__ +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: preprocess_switch Value: -xc +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: preprocess_compile_switch Value: -C +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: preprocess_output Value: - +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: dryrun_output Value: 2 +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: pre_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/g++cc-config-0/coverity-compiler-compat.h +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: macro_pre_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/g++cc-config-0/coverity-macro-compat.h +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --fixed_point +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity___fpreg +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity_decimal +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity_float +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity_floatx +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefined_feature_test_macros +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_stdarg_builtin +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --enable_128bit_int +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefined_cplusplus +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: -w +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefines +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --comp_ver +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: 9.4.0 +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --size_t_type=m +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --ptrdiff_t_type=l +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --type_sizes=xl8i4s2e16d8f4P8 +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --type_alignments=xl8i4s2e16d8f4P8 +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --char_bit_size=8 +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --restrict +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --gnu_carriage_return_line_terminator +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --wchar_t_type=i +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_multiline_string +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_trigraphs +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --ignore_calling_convention +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --c11 +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --enable_80bit_float +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --enable_128bit_float +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --allow__bool +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --macro_stack_pragmas +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --inline_keyword +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --has_include_macro +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --has_include_next_macro +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --has_cpp_attribute_macro +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefines +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: skip_file Value: conftest\.c{1,2}$ +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: skip_file Value: conftest\.cpp$ +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: skip_file Value: cgo-cc-input-[0-9]+\.(c|cc|cpp|cxx) +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/g++cc-config-0/../user_nodefs.h +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: pch_options +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: archetype Value: gcc +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: link_options +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/ +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/ +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/ +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/ +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/ +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/ +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/ +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/x86_64-linux-gnu/9/ +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/x86_64-linux-gnu/ +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/../lib/ +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/9/ +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/ +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/../lib/ +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/ +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../ +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/ +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/ +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /lib/x86_64-linux-gnu/libc.so.6 +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: expand +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: replace_arg_regex +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: replace Value: @(.*) +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: with Value: --coverity_resp_file=$1 +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: pre_trans +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: intern_trans Value: gnu_pre_translate +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: trans +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: includes_from_env_var Value: CPATH +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: includes_from_env_var_empty_is_cwd Value: true +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: trans +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: includes_from_env_var Value: C_INCLUDE_PATH +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: pre_prepend_arg Value: --c +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: begin_command_line_config +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: md5 Value: fe08a0965bc5366760afc2269319554b +2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/ld-config-0/coverity_config.xml +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: coverity +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: cit_version Value: 1 +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: config +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: build +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: compiler +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: comp_name Value: ld +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: comp_name Value: x86_64-linux-gnu-ld +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: comp_name Value: x86_64-linux-gnu-ld.bfd +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: comp_dir Value: /usr/bin +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: comp_translator Value: ld +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: comp_lang Value: C++ +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: comp_front_end Value: cov-emit +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: comp_desc Value: GNU C/C++ Linker +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: comp_generic Value: ld +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: id Value: ld-ld-0 +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: is_compiler Value: false +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: is_linker Value: true +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: id Value: ld-ld-0 +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: link_options +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/local/lib/x86_64-linux-gnu +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/x86_64-linux-gnu +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/x86_64-linux-gnu +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/x86_64-linux-gnu64 +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/local/lib64 +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /lib64 +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib64 +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/local/lib +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /lib +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/x86_64-linux-gnu/lib64 +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/x86_64-linux-gnu/lib +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: begin_command_line_config +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: md5 Value: 1b5d7553988ecb815982d43c29ad861f +2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/ar-config-0/coverity_config.xml +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: coverity +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: cit_version Value: 1 +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: config +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: build +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: compiler +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: comp_name Value: ar +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: comp_name Value: x86_64-linux-gnu-ar +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: comp_dir Value: /usr/bin +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: comp_translator Value: ar +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: comp_lang Value: C++ +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: comp_front_end Value: cov-emit +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: comp_desc Value: UNIX-like 'ar` archiver +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: comp_generic Value: ar +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: id Value: ar-ar-0 +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: is_compiler Value: false +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: is_linker Value: true +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: id Value: ar-ar-0 +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: link_options +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: pre_trans +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: options +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: intern_trans Value: ar_pre_translate +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: begin_command_line_config +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: md5 Value: 0a88030e21142e1d5707f9a30278f834 +2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> +2024-06-21T07:00:01.182508Z|cov-build|1761684|info|> Using LD_PRELOAD = /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/libcapture-linux64-${PLATFORM}.so +[1761687] EXECUTING: make coverity_analysis +[1761688] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -S/home/ubuntu/coreMQTT/test -B/home/ubuntu/coreMQTT --check-build-system CMakeFiles/Makefile.cmake 0 +[1761689] EXECUTING: make -s -f CMakeFiles/Makefile2 coverity_analysis +[1761690] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -S/home/ubuntu/coreMQTT/test -B/home/ubuntu/coreMQTT --check-build-system CMakeFiles/Makefile.cmake 0 +[1761691] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 4 +[1761692] EXECUTING: make -s -f CMakeFiles/Makefile2 CMakeFiles/coverity_analysis.dir/all +[1761693] EXECUTING: make -s -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/depend +[1761694] EXECUTING: /bin/sh -c "cd /home/ubuntu/coreMQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/CMakeFiles/coverity_analysis.dir/DependInfo.cmake "--color="" +[1761695] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/CMakeFiles/coverity_analysis.dir/DependInfo.cmake --color= +[1761696] EXECUTING: make -s -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/build +[1761697] EXECUTING: /bin/sh -c "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_echo_color "--switch=" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=45 "Building C object CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o"" +[1761698] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_echo_color --switch= --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=45 "Building C object CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o" +[1761699] EXECUTING: /usr/bin/cc -DMAX_USER_PROPERTY=5 -DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -DMQTT_VERSION_5_ENABLED=1 -DNDEBUG=1 -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -std=gnu90 -MD -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d -o CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt.c +[1761700] CWD: /home/ubuntu/coreMQTT +[1761700] COMPILING: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/cov-translate /usr/bin/cc -DMAX_USER_PROPERTY=5 -DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -DMQTT_VERSION_5_ENABLED=1 -DNDEBUG=1 -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -std=gnu90 -MD -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d -o CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt.c +COV_TRANSLATE EXPANDED ARGS: "-DMAX_USER_PROPERTY=5" "-DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1" "-DMQTT_VERSION_5_ENABLED=1" "-DNDEBUG=1" "-I/home/ubuntu/coreMQTT/source/include" "-I/home/ubuntu/coreMQTT/source/interface" "-std=gnu90" "-MD" "-MT" "CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o" "-MF" "CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d" "-o" "CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o" "-c" "/home/ubuntu/coreMQTT/source/core_mqtt.c" +Encountered compiler invocation for first time, configuring it: /usr/bin/x86_64-linux-gnu-gcc-9 -std=gnu90 +[STATUS] Using comptype gcc +* Configuring /usr/bin/cc as a C compiler +[STATUS] gcc-config-0: Running sanity tests on native compiler +[STATUS] gcc-config-0: Detecting size and alignment of fundamental types. +[STATUS] gcc-config-0: Retrieving values for macros +[STATUS] gcc-config-0: Running config probes +* Configuring /usr/bin/cc as a C++ compiler +[STATUS] g++-config-0: Running sanity tests on native compiler +[STATUS] g++-config-0: Detecting size and alignment of fundamental types. +[STATUS] g++-config-0: Retrieving values for macros +[STATUS] g++-config-0: Running config probes +* Configuring /usr/bin/cc as a C compiler +[STATUS] g++cc-config-0: Running sanity tests on native compiler +[STATUS] g++cc-config-0: Detecting size and alignment of fundamental types. +[STATUS] g++cc-config-0: Retrieving values for macros +[STATUS] g++cc-config-0: Running config probes +* Configuring /usr/bin/ld as a C++ linker +[WARNING] Config ld-config-0 already exists for ld x86_64-linux-gnu-ld x86_64-linux-gnu-ld.bfd as ld and will be reused. +* Configuring /usr/bin/ar as a C++ linker +[WARNING] Config ar-config-0 already exists for ar x86_64-linux-gnu-ar as ar and will be reused. +Added template compiler configuration instance /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config.xml +Configuration read from: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config.xml +Node: coverity + Node: cit_version Value: 1 + Node: config + Node: include Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity_config.xml + Node: include Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity_config.xml + Node: include Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity_config.xml +Configuration read from: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity_config.xml +Node: coverity + Node: cit_version Value: 1 + Node: config + Node: build + Node: compiler + Node: comp_name Value: cc + Node: comp_name Value: gcc + Node: comp_name Value: gcc-9 + Node: comp_name Value: x86_64-linux-gnu-gcc-9 + Node: comp_dir Value: /usr/bin + Node: comp_translator Value: gcc + Node: comp_lang Value: C + Node: comp_front_end Value: cov-emit + Node: comp_desc Value: GNU C compiler + Node: comp_next_type Value: g++ + Node: comp_generic Value: gnu + Node: comp_require Value: -std=gnu90 + Node: id Value: gcc-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 + Node: version Value: 9.4.0 + Node: is_compiler Value: true + Node: is_linker Value: true + Node: target_platform Value: all + Node: options + Node: id Value: gcc-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 + Node: template_config_option_id Value: gcc-cc-.* + Node: compile_options + Node: sysinclude_dir Value: /usr/lib/gcc/x86_64-linux-gnu/9/include + Node: sysinclude_dir Value: /usr/local/include + Node: sysinclude_dir Value: /usr/include/x86_64-linux-gnu + Node: sysinclude_dir Value: /usr/include + Node: dryrun_switch Value: -E + Node: dryrun_switch Value: -v + Node: dump_macros_arg Value: -dM + Node: dump_macros_arg Value: -E + Node: preprocess_remove_arg Value: -o.+ + Node: preprocess_remove_arg Value: -c + Node: preprocess_remove_arg Value: -Werror + Node: preprocess_remove_next_arg Value: -o + Node: preprocess_switch Value: -E + Node: preprocess_switch Value: -U__BLOCKS__ + Node: preprocess_switch Value: -xc + Node: preprocess_compile_switch Value: -C + Node: preprocess_output Value: - + Node: dryrun_output Value: 2 + Node: pre_preinclude_file Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-compiler-compat.h + Node: macro_pre_preinclude_file Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-macro-compat.h + Node: prepend_arg Value: --fixed_point + Node: prepend_arg Value: --add_type_modifier=__coverity___fpreg + Node: prepend_arg Value: --add_type_modifier=__coverity_decimal + Node: prepend_arg Value: --add_type_modifier=__coverity_float + Node: prepend_arg Value: --add_type_modifier=__coverity_floatx + Node: prepend_arg Value: --no_predefined_feature_test_macros + Node: prepend_arg Value: --no_stdarg_builtin + Node: prepend_arg Value: --enable_128bit_int + Node: prepend_arg Value: --no_predefined_cplusplus + Node: prepend_arg Value: -w + Node: prepend_arg Value: --no_predefines + Node: prepend_arg Value: --comp_ver + Node: prepend_arg Value: 9.4.0 + Node: prepend_arg Value: --size_t_type=m + Node: prepend_arg Value: --ptrdiff_t_type=l + Node: prepend_arg Value: --type_sizes=xl8i4s2e16d8f4P8 + Node: prepend_arg Value: --type_alignments=xl8i4s2e16d8f4P8 + Node: prepend_arg Value: --char_bit_size=8 + Node: prepend_arg Value: --gnu_carriage_return_line_terminator + Node: prepend_arg Value: --wchar_t_type=i + Node: prepend_arg Value: --no_multiline_string + Node: prepend_arg Value: --no_trigraphs + Node: prepend_arg Value: --ignore_calling_convention + Node: prepend_arg Value: --enable_80bit_float + Node: prepend_arg Value: --enable_128bit_float + Node: prepend_arg Value: --allow__bool + Node: prepend_arg Value: --macro_stack_pragmas + Node: prepend_arg Value: --inline_keyword + Node: prepend_arg Value: --has_include_macro + Node: prepend_arg Value: --has_include_next_macro + Node: prepend_arg Value: --has_cpp_attribute_macro + Node: prepend_arg Value: --no_predefines + Node: skip_file Value: conftest\.c{1,2}$ + Node: skip_file Value: conftest\.cpp$ + Node: skip_file Value: cgo-cc-input-[0-9]+\.(c|cc|cpp|cxx) + Node: opt_preinclude_file Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/../user_nodefs.h + Node: pch_options + Node: archetype Value: gcc + Node: link_options + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/ + Node: library_search_path Value: /lib/x86_64-linux-gnu/9/ + Node: library_search_path Value: /lib/x86_64-linux-gnu/ + Node: library_search_path Value: /lib/../lib/ + Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/9/ + Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/ + Node: library_search_path Value: /usr/lib/../lib/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../ + Node: library_search_path Value: /lib/ + Node: library_search_path Value: /usr/lib/ + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so + Node: implicit_link_input Value: /lib/x86_64-linux-gnu/libc.so.6 + Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a + Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 + Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a + Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o + Node: expand + Node: options + Node: replace_arg_regex + Node: replace Value: @(.*) + Node: with Value: --coverity_resp_file=$1 + Node: pre_trans + Node: options + Node: intern_trans Value: gnu_pre_translate + Node: trans + Node: options + Node: includes_from_env_var Value: CPATH + Node: includes_from_env_var_empty_is_cwd Value: true + Node: trans + Node: options + Node: includes_from_env_var Value: C_INCLUDE_PATH + Node: pre_prepend_arg Value: --c + Node: begin_command_line_config + Node: md5 Value: 8f22057cb35e01414cb91c893028d6c8 +Configuration read from: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity_config.xml +Node: coverity + Node: cit_version Value: 1 + Node: config + Node: build + Node: compiler + Node: comp_name Value: cc + Node: comp_name Value: gcc + Node: comp_name Value: gcc-9 + Node: comp_name Value: x86_64-linux-gnu-gcc-9 + Node: comp_dir Value: /usr/bin + Node: comp_translator Value: g++ + Node: comp_lang Value: C++ + Node: comp_front_end Value: cov-emit + Node: comp_desc Value: GNU C++ Compiler + Node: comp_next_type Value: g++cc + Node: comp_generic Value: gnu + Node: comp_require Value: -std=gnu90 + Node: id Value: g++-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 + Node: version Value: 9.4.0 + Node: is_compiler Value: true + Node: is_linker Value: true + Node: target_platform Value: all + Node: options + Node: id Value: g++-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 + Node: template_config_option_id Value: g++-cc-.* + Node: compile_options + Node: sysinclude_dir Value: /usr/include/c++/9 + Node: sysinclude_dir Value: /usr/include/x86_64-linux-gnu/c++/9 + Node: sysinclude_dir Value: /usr/include/c++/9/backward + Node: sysinclude_dir Value: /usr/lib/gcc/x86_64-linux-gnu/9/include + Node: sysinclude_dir Value: /usr/local/include + Node: sysinclude_dir Value: /usr/include/x86_64-linux-gnu + Node: sysinclude_dir Value: /usr/include + Node: dryrun_switch Value: -E + Node: dryrun_switch Value: -v + Node: dump_macros_arg Value: -dM + Node: dump_macros_arg Value: -E + Node: preprocess_remove_arg Value: -o.+ + Node: preprocess_remove_arg Value: -c + Node: preprocess_remove_arg Value: -Werror + Node: preprocess_remove_next_arg Value: -o + Node: preprocess_switch Value: -xc++ + Node: preprocess_switch Value: -E + Node: preprocess_switch Value: -U__BLOCKS__ + Node: preprocess_compile_switch Value: -C + Node: preprocess_output Value: - + Node: dryrun_output Value: 2 + Node: pre_preinclude_file Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity-compiler-compat.h + Node: macro_pre_preinclude_file Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity-macro-compat.h + Node: prepend_arg Value: --add_type_modifier=__coverity___fpreg + Node: prepend_arg Value: --add_type_modifier=__coverity_decimal + Node: prepend_arg Value: --add_type_modifier=__coverity_float + Node: prepend_arg Value: --add_type_modifier=__coverity_floatx + Node: prepend_arg Value: --no_predefined_feature_test_macros + Node: prepend_arg Value: --no_stdarg_builtin + Node: prepend_arg Value: --enable_128bit_int + Node: prepend_arg Value: --no_predefined_cplusplus + Node: prepend_arg Value: -w + Node: prepend_arg Value: --no_predefines + Node: prepend_arg Value: --comp_ver + Node: prepend_arg Value: 9.4.0 + Node: prepend_arg Value: --size_t_type=m + Node: prepend_arg Value: --ptrdiff_t_type=l + Node: prepend_arg Value: --type_sizes=w4xl8i4s2e16d8f4P8 + Node: prepend_arg Value: --type_alignments=w4xl8i4s2e16d8f4P8 + Node: prepend_arg Value: --char_bit_size=8 + Node: prepend_arg Value: --gnu_carriage_return_line_terminator + Node: prepend_arg Value: --wchar_t_keyword + Node: prepend_arg Value: --no_multiline_string + Node: prepend_arg Value: --no_trigraphs + Node: prepend_arg Value: --ignore_calling_convention + Node: prepend_arg Value: --enable_80bit_float + Node: prepend_arg Value: --enable_128bit_float + Node: prepend_arg Value: --macro_stack_pragmas + Node: prepend_arg Value: --exceptions + Node: prepend_arg Value: --arg_dependent_overload + Node: prepend_arg Value: --inline_keyword + Node: prepend_arg Value: --has_include_macro + Node: prepend_arg Value: --has_include_next_macro + Node: prepend_arg Value: --has_cpp_attribute_macro + Node: prepend_arg Value: --no_predefines + Node: skip_file Value: conftest\.c{1,2}$ + Node: skip_file Value: conftest\.cpp$ + Node: skip_file Value: cgo-cc-input-[0-9]+\.(c|cc|cpp|cxx) + Node: opt_preinclude_file Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/../user_nodefs.h + Node: pch_options + Node: archetype Value: gcc + Node: link_options + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/ + Node: library_search_path Value: /lib/x86_64-linux-gnu/9/ + Node: library_search_path Value: /lib/x86_64-linux-gnu/ + Node: library_search_path Value: /lib/../lib/ + Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/9/ + Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/ + Node: library_search_path Value: /usr/lib/../lib/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../ + Node: library_search_path Value: /lib/ + Node: library_search_path Value: /usr/lib/ + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so + Node: implicit_link_input Value: /lib/x86_64-linux-gnu/libc.so.6 + Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a + Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 + Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a + Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o + Node: pre_trans + Node: options + Node: pre_prepend_arg Value: -coverity_c_suffixes_are_cxx + Node: trans + Node: options + Node: includes_from_env_var Value: CPLUS_INCLUDE_PATH + Node: pre_prepend_arg Value: --c++ + Node: expand + Node: options + Node: replace_arg_regex + Node: replace Value: @(.*) + Node: with Value: --coverity_resp_file=$1 + Node: pre_trans + Node: options + Node: intern_trans Value: gnu_pre_translate + Node: trans + Node: options + Node: includes_from_env_var Value: CPATH + Node: includes_from_env_var_empty_is_cwd Value: true + Node: begin_command_line_config + Node: md5 Value: 74dcbc851f07efc12a994173d38d61db +Configuration read from: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity_config.xml +Node: coverity + Node: cit_version Value: 1 + Node: config + Node: build + Node: compiler + Node: comp_name Value: cc + Node: comp_name Value: gcc + Node: comp_name Value: gcc-9 + Node: comp_name Value: x86_64-linux-gnu-gcc-9 + Node: comp_dir Value: /usr/bin + Node: comp_translator Value: g++cc + Node: comp_lang Value: C + Node: comp_front_end Value: cov-emit + Node: comp_desc Value: GNU C++ Compiler + Node: comp_generic Value: gnu + Node: comp_require Value: -std=gnu90 + Node: id Value: g++cc-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 + Node: version Value: 9.4.0 + Node: is_compiler Value: true + Node: is_linker Value: true + Node: target_platform Value: all + Node: options + Node: id Value: g++cc-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 + Node: template_config_option_id Value: g++cc-cc-.* + Node: compile_options + Node: sysinclude_dir Value: /usr/lib/gcc/x86_64-linux-gnu/9/include + Node: sysinclude_dir Value: /usr/local/include + Node: sysinclude_dir Value: /usr/include/x86_64-linux-gnu + Node: sysinclude_dir Value: /usr/include + Node: dryrun_switch Value: -xc + Node: dryrun_switch Value: -E + Node: dryrun_switch Value: -v + Node: dump_macros_arg Value: -xc + Node: dump_macros_arg Value: -dM + Node: dump_macros_arg Value: -E + Node: preprocess_remove_arg Value: -o.+ + Node: preprocess_remove_arg Value: -c + Node: preprocess_remove_arg Value: -Werror + Node: preprocess_remove_next_arg Value: -o + Node: preprocess_switch Value: -E + Node: preprocess_switch Value: -U__BLOCKS__ + Node: preprocess_switch Value: -xc + Node: preprocess_compile_switch Value: -C + Node: preprocess_output Value: - + Node: dryrun_output Value: 2 + Node: pre_preinclude_file Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity-compiler-compat.h + Node: macro_pre_preinclude_file Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity-macro-compat.h + Node: prepend_arg Value: --fixed_point + Node: prepend_arg Value: --add_type_modifier=__coverity___fpreg + Node: prepend_arg Value: --add_type_modifier=__coverity_decimal + Node: prepend_arg Value: --add_type_modifier=__coverity_float + Node: prepend_arg Value: --add_type_modifier=__coverity_floatx + Node: prepend_arg Value: --no_predefined_feature_test_macros + Node: prepend_arg Value: --no_stdarg_builtin + Node: prepend_arg Value: --enable_128bit_int + Node: prepend_arg Value: --no_predefined_cplusplus + Node: prepend_arg Value: -w + Node: prepend_arg Value: --no_predefines + Node: prepend_arg Value: --comp_ver + Node: prepend_arg Value: 9.4.0 + Node: prepend_arg Value: --size_t_type=m + Node: prepend_arg Value: --ptrdiff_t_type=l + Node: prepend_arg Value: --type_sizes=xl8i4s2e16d8f4P8 + Node: prepend_arg Value: --type_alignments=xl8i4s2e16d8f4P8 + Node: prepend_arg Value: --char_bit_size=8 + Node: prepend_arg Value: --gnu_carriage_return_line_terminator + Node: prepend_arg Value: --wchar_t_type=i + Node: prepend_arg Value: --no_multiline_string + Node: prepend_arg Value: --no_trigraphs + Node: prepend_arg Value: --ignore_calling_convention + Node: prepend_arg Value: --enable_80bit_float + Node: prepend_arg Value: --enable_128bit_float + Node: prepend_arg Value: --allow__bool + Node: prepend_arg Value: --macro_stack_pragmas + Node: prepend_arg Value: --inline_keyword + Node: prepend_arg Value: --has_include_macro + Node: prepend_arg Value: --has_include_next_macro + Node: prepend_arg Value: --has_cpp_attribute_macro + Node: prepend_arg Value: --no_predefines + Node: skip_file Value: conftest\.c{1,2}$ + Node: skip_file Value: conftest\.cpp$ + Node: skip_file Value: cgo-cc-input-[0-9]+\.(c|cc|cpp|cxx) + Node: opt_preinclude_file Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/../user_nodefs.h + Node: pch_options + Node: archetype Value: gcc + Node: link_options + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/ + Node: library_search_path Value: /lib/x86_64-linux-gnu/9/ + Node: library_search_path Value: /lib/x86_64-linux-gnu/ + Node: library_search_path Value: /lib/../lib/ + Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/9/ + Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/ + Node: library_search_path Value: /usr/lib/../lib/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/ + Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../ + Node: library_search_path Value: /lib/ + Node: library_search_path Value: /usr/lib/ + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so + Node: implicit_link_input Value: /lib/x86_64-linux-gnu/libc.so.6 + Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a + Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 + Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a + Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o + Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o + Node: expand + Node: options + Node: replace_arg_regex + Node: replace Value: @(.*) + Node: with Value: --coverity_resp_file=$1 + Node: pre_trans + Node: options + Node: intern_trans Value: gnu_pre_translate + Node: trans + Node: options + Node: includes_from_env_var Value: CPATH + Node: includes_from_env_var_empty_is_cwd Value: true + Node: trans + Node: options + Node: includes_from_env_var Value: C_INCLUDE_PATH + Node: pre_prepend_arg Value: --c + Node: begin_command_line_config + Node: md5 Value: 711f163ae15caa93f82b9002415f5467 +[STATUS] Compiling /home/ubuntu/coreMQTT/source/core_mqtt.c +/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/cov-emit --dir=/home/ubuntu/coreMQTT/cov-out --ignore_path=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-configure --ignore_path=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383 --emit_complementary_info --pre_preinclude /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-macro-compat.h --pre_preinclude /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-compiler-compat.h --c --fixed_point --add_type_modifier=__coverity___fpreg --add_type_modifier=__coverity_decimal --add_type_modifier=__coverity_float --add_type_modifier=__coverity_floatx --no_predefined_feature_test_macros --no_stdarg_builtin --enable_128bit_int --no_predefined_cplusplus -w --no_predefines --comp_ver 9.4.0 --char_bit_size=8 --gnu_carriage_return_line_terminator --no_multiline_string --no_trigraphs --ignore_calling_convention --enable_80bit_float --enable_128bit_float --allow__bool --macro_stack_pragmas --inline_keyword --has_include_macro --has_include_next_macro --has_cpp_attribute_macro --no_predefines --preinclude /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-0/../user_nodefs.h --emit_pch_dependencies --builtin_emulation --gcc --c89 --gnu_version 90400 --no_trigraphs -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface --sys_include=/usr/lib/gcc/x86_64-linux-gnu/9/include --sys_include=/usr/local/include --sys_include=/usr/include/x86_64-linux-gnu --sys_include=/usr/include -DMAX_USER_PROPERTY=5 -DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -DMQTT_VERSION_5_ENABLED=1 -DNDEBUG=1 -D__COVERITY_GCC_DIALECT_GNU89 -D__NO_INLINE__ --type_sizes=e16Pdlx8fi4s2 --type_alignments=e16Pdlx8fi4s2 --size_t_type=m --wchar_t_type=i --ptrdiff_t_type=l /home/ubuntu/coreMQTT/source/core_mqtt.c +Emit for file '/home/ubuntu/coreMQTT/source/core_mqtt.c' (TU 1) complete. +[1762785] EXECUTING: /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -I /home/ubuntu/coreMQTT/source/include -I /home/ubuntu/coreMQTT/source/interface -imultiarch x86_64-linux-gnu -MD CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.d -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o -D MAX_USER_PROPERTY=5 -D MQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -D MQTT_VERSION_5_ENABLED=1 -D NDEBUG=1 /home/ubuntu/coreMQTT/source/core_mqtt.c -quiet -dumpbase core_mqtt.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccUvpxXD.s +[1762786] EXECUTING: as -I /home/ubuntu/coreMQTT/source/include -I /home/ubuntu/coreMQTT/source/interface --64 -o CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o /tmp/ccUvpxXD.s +[1762787] EXECUTING: /bin/sh -c "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_echo_color "--switch=" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=46 "Building C object CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o"" +[1762788] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_echo_color --switch= --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=46 "Building C object CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o" +[1762789] EXECUTING: /usr/bin/cc -DMAX_USER_PROPERTY=5 -DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -DMQTT_VERSION_5_ENABLED=1 -DNDEBUG=1 -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -std=gnu90 -MD -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o.d -o CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt_state.c +[1762790] CWD: /home/ubuntu/coreMQTT +[1762790] COMPILING: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/cov-translate /usr/bin/cc -DMAX_USER_PROPERTY=5 -DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -DMQTT_VERSION_5_ENABLED=1 -DNDEBUG=1 -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -std=gnu90 -MD -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o.d -o CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt_state.c +COV_TRANSLATE EXPANDED ARGS: "-DMAX_USER_PROPERTY=5" "-DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1" "-DMQTT_VERSION_5_ENABLED=1" "-DNDEBUG=1" "-I/home/ubuntu/coreMQTT/source/include" "-I/home/ubuntu/coreMQTT/source/interface" "-std=gnu90" "-MD" "-MT" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o" "-MF" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o.d" "-o" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o" "-c" "/home/ubuntu/coreMQTT/source/core_mqtt_state.c" +Using cached template compiler configuration instance /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config.xml +[STATUS] Compiling /home/ubuntu/coreMQTT/source/core_mqtt_state.c +/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/cov-emit --dir=/home/ubuntu/coreMQTT/cov-out --ignore_path=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-configure --ignore_path=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/95330c603bc817d1c63574c63c55966e --emit_complementary_info --pre_preinclude /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-macro-compat.h --pre_preinclude /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-compiler-compat.h --c --fixed_point --add_type_modifier=__coverity___fpreg --add_type_modifier=__coverity_decimal --add_type_modifier=__coverity_float --add_type_modifier=__coverity_floatx --no_predefined_feature_test_macros --no_stdarg_builtin --enable_128bit_int --no_predefined_cplusplus -w --no_predefines --comp_ver 9.4.0 --char_bit_size=8 --gnu_carriage_return_line_terminator --no_multiline_string --no_trigraphs --ignore_calling_convention --enable_80bit_float --enable_128bit_float --allow__bool --macro_stack_pragmas --inline_keyword --has_include_macro --has_include_next_macro --has_cpp_attribute_macro --no_predefines --preinclude /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-0/../user_nodefs.h --emit_pch_dependencies --builtin_emulation --gcc --c89 --gnu_version 90400 --no_trigraphs -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface --sys_include=/usr/lib/gcc/x86_64-linux-gnu/9/include --sys_include=/usr/local/include --sys_include=/usr/include/x86_64-linux-gnu --sys_include=/usr/include -DMAX_USER_PROPERTY=5 -DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -DMQTT_VERSION_5_ENABLED=1 -DNDEBUG=1 -D__COVERITY_GCC_DIALECT_GNU89 -D__NO_INLINE__ --type_sizes=e16Pdlx8fi4s2 --type_alignments=e16Pdlx8fi4s2 --size_t_type=m --wchar_t_type=i --ptrdiff_t_type=l /home/ubuntu/coreMQTT/source/core_mqtt_state.c +Emit for file '/home/ubuntu/coreMQTT/source/core_mqtt_state.c' (TU 2) complete. +[1762800] EXECUTING: /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -I /home/ubuntu/coreMQTT/source/include -I /home/ubuntu/coreMQTT/source/interface -imultiarch x86_64-linux-gnu -MD CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.d -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o.d -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o -D MAX_USER_PROPERTY=5 -D MQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -D MQTT_VERSION_5_ENABLED=1 -D NDEBUG=1 /home/ubuntu/coreMQTT/source/core_mqtt_state.c -quiet -dumpbase core_mqtt_state.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc5o4pS0.s +[1762801] EXECUTING: as -I /home/ubuntu/coreMQTT/source/include -I /home/ubuntu/coreMQTT/source/interface --64 -o CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o /tmp/cc5o4pS0.s +[1762802] EXECUTING: /bin/sh -c "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_echo_color "--switch=" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=47 "Building C object CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o"" +[1762803] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_echo_color --switch= --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=47 "Building C object CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o" +[1762804] EXECUTING: /usr/bin/cc -DMAX_USER_PROPERTY=5 -DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -DMQTT_VERSION_5_ENABLED=1 -DNDEBUG=1 -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -std=gnu90 -MD -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o.d -o CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c +[1762805] CWD: /home/ubuntu/coreMQTT +[1762805] COMPILING: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/cov-translate /usr/bin/cc -DMAX_USER_PROPERTY=5 -DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -DMQTT_VERSION_5_ENABLED=1 -DNDEBUG=1 -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -std=gnu90 -MD -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o.d -o CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c +COV_TRANSLATE EXPANDED ARGS: "-DMAX_USER_PROPERTY=5" "-DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1" "-DMQTT_VERSION_5_ENABLED=1" "-DNDEBUG=1" "-I/home/ubuntu/coreMQTT/source/include" "-I/home/ubuntu/coreMQTT/source/interface" "-std=gnu90" "-MD" "-MT" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o" "-MF" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o.d" "-o" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o" "-c" "/home/ubuntu/coreMQTT/source/core_mqtt_serializer.c" +Using cached template compiler configuration instance /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config.xml +[STATUS] Compiling /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c +/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/cov-emit --dir=/home/ubuntu/coreMQTT/cov-out --ignore_path=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-configure --ignore_path=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/1b8d0ca72854800704a483802af103cb --emit_complementary_info --pre_preinclude /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-macro-compat.h --pre_preinclude /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-compiler-compat.h --c --fixed_point --add_type_modifier=__coverity___fpreg --add_type_modifier=__coverity_decimal --add_type_modifier=__coverity_float --add_type_modifier=__coverity_floatx --no_predefined_feature_test_macros --no_stdarg_builtin --enable_128bit_int --no_predefined_cplusplus -w --no_predefines --comp_ver 9.4.0 --char_bit_size=8 --gnu_carriage_return_line_terminator --no_multiline_string --no_trigraphs --ignore_calling_convention --enable_80bit_float --enable_128bit_float --allow__bool --macro_stack_pragmas --inline_keyword --has_include_macro --has_include_next_macro --has_cpp_attribute_macro --no_predefines --preinclude /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-0/../user_nodefs.h --emit_pch_dependencies --builtin_emulation --gcc --c89 --gnu_version 90400 --no_trigraphs -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface --sys_include=/usr/lib/gcc/x86_64-linux-gnu/9/include --sys_include=/usr/local/include --sys_include=/usr/include/x86_64-linux-gnu --sys_include=/usr/include -DMAX_USER_PROPERTY=5 -DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -DMQTT_VERSION_5_ENABLED=1 -DNDEBUG=1 -D__COVERITY_GCC_DIALECT_GNU89 -D__NO_INLINE__ --type_sizes=e16Pdlx8fi4s2 --type_alignments=e16Pdlx8fi4s2 --size_t_type=m --wchar_t_type=i --ptrdiff_t_type=l /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c +Emit for file '/home/ubuntu/coreMQTT/source/core_mqtt_serializer.c' (TU 3) complete. +[1762807] EXECUTING: /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -I /home/ubuntu/coreMQTT/source/include -I /home/ubuntu/coreMQTT/source/interface -imultiarch x86_64-linux-gnu -MD CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.d -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o.d -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o -D MAX_USER_PROPERTY=5 -D MQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -D MQTT_VERSION_5_ENABLED=1 -D NDEBUG=1 /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c -quiet -dumpbase core_mqtt_serializer.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccBQRmfb.s +[1762808] EXECUTING: as -I /home/ubuntu/coreMQTT/source/include -I /home/ubuntu/coreMQTT/source/interface --64 -o CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o /tmp/ccBQRmfb.s +[1762809] EXECUTING: /bin/sh -c "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_echo_color "--switch=" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=48 "Linking C static library lib/libcoverity_analysis.a"" +[1762810] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_echo_color --switch= --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=48 "Linking C static library lib/libcoverity_analysis.a" +[1762811] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -P CMakeFiles/coverity_analysis.dir/cmake_clean_target.cmake +[1762812] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/coverity_analysis.dir/link.txt --verbose= +[1762813] EXECUTING: /usr/bin/ar qc lib/libcoverity_analysis.a CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o +[1762814] CWD: /home/ubuntu/coreMQTT +[1762814] COMPILING: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/cov-translate /usr/bin/ar qc lib/libcoverity_analysis.a CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o +COV_TRANSLATE EXPANDED ARGS: "qc" "lib/libcoverity_analysis.a" "CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o" +[1762815] EXECUTING: /usr/bin/ranlib lib/libcoverity_analysis.a +[1762816] EXECUTING: /bin/sh -c "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_echo_color "--switch=" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=45,46,47,48 "Built target coverity_analysis"" +[1762817] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_echo_color --switch= --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=45,46,47,48 "Built target coverity_analysis" +[1762818] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 +2024-06-21T07:00:09.094567Z|cov-build|1761684|info|> Invoking cov-security-da with commands: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/cov-security-da --dir /home/ubuntu/coreMQTT/cov-out +2024-06-21T07:00:09.125224Z|cov-build|1761684|info|> Dynamic analyzer took 30 ms +2024-06-21T07:00:09.125224Z|cov-build|1761684|info|> Build time (cov-build overall): 00:00:07.986407 +2024-06-21T07:00:09.125224Z|cov-build|1761684|info|> +2024-06-21T07:00:09.126234Z|cov-build|1761684|info|> Build time (C/C++ emits total): 00:00:07.319676 +2024-06-21T07:00:09.126234Z|cov-build|1761684|info|> +2024-06-21T07:00:09.126234Z|cov-build|1761684|info|> +2024-06-21T07:00:09.126308Z|cov-build|1761684|info|> Emitted 3 C/C++ compilation units (100%) successfully +2024-06-21T07:00:09.126308Z|cov-build|1761684|info|> +2024-06-21T07:00:09.126308Z|cov-build|1761684|info|> 3 C/C++ compilation units (100%) are ready for analysis +2024-06-21T07:00:09.126308Z|cov-build|1761684|info|> The cov-build utility completed successfully. diff --git a/cov-out/build-timings.txt b/cov-out/build-timings.txt new file mode 100644 index 000000000..f2386d528 --- /dev/null +++ b/cov-out/build-timings.txt @@ -0,0 +1,29 @@ +# Version: 4ae07d0526 p-2023.6-push-61 +# Command Line: cov-build --emit-complementary-info --dir cov-out make coverity_analysis +timer ms calls +------------------------------------------------ +cov-build 7963 1 + create_or_open emit DB 13 1 + open emit DB 12 1 + add_string_to_table 0 44 + addEmitFileName 1 1 + addEmitFileName 1 1 + addEmitFileName 1 1 + addEmitFileName 1 1 + Prepare capture 0 1 + Running build command 7914 1 + SecurityDA 31 1 + TUInfo::getPrimarySFRow 0 3 + (left over) 4 + +activity ms calls +------------------------------------------------ +cov-build 7963 1 +create_or_open emit DB 13 1 +open emit DB 12 1 +add_string_to_table 0 44 +addEmitFileName 4 4 +Prepare capture 0 1 +Running build command 7914 1 +SecurityDA 31 1 +TUInfo::getPrimarySFRow 0 3 diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/configure-log.txt b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/configure-log.txt new file mode 100644 index 000000000..13a15875c --- /dev/null +++ b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/configure-log.txt @@ -0,0 +1,8 @@ +Native Compiler invocation: /usr/bin/cc -DMAX_USER_PROPERTY=5 -DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -DMQTT_VERSION_5_ENABLED=1 -DNDEBUG=1 -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -std=gnu90 -MD -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d -o CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt.c +Working directory: /home/ubuntu/coreMQTT +Comptype: gcc +* Configuring /usr/bin/cc as a C compiler +* Configuring /usr/bin/cc as a C++ compiler +* Configuring /usr/bin/cc as a C compiler +* Configuring /usr/bin/ld as a C++ linker +* Configuring /usr/bin/ar as a C++ linker diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config.xml b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config.xml new file mode 100644 index 000000000..b103e72f1 --- /dev/null +++ b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config.xml @@ -0,0 +1,12 @@ + + + + + 1 + + $CONFIGDIR$/gcc-config-0/coverity_config.xml + $CONFIGDIR$/g++-config-0/coverity_config.xml + $CONFIGDIR$/g++cc-config-0/coverity_config.xml + + + diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config_created b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config_created new file mode 100644 index 000000000..c97789fc3 --- /dev/null +++ b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config_created @@ -0,0 +1,3 @@ +2024-06-21 07:00 +ip-172-31-80-220 +1761700 diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/configure-log.txt b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/configure-log.txt new file mode 100644 index 000000000..e98564a84 --- /dev/null +++ b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/configure-log.txt @@ -0,0 +1,4245 @@ +Getting compiler identification output with: /usr/bin/cc -std=gnu90 --version /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp +int main() {} + +**** END source file *** +pipe_command: /usr/bin/cc -std=gnu90 --version /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 --version /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp +**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.output +cc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 +Copyright (C) 2019 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + +**** END FILE output *** +**** BEGIN FILE error: + +**** END FILE error *** +**** Compiler identification output begin **** +cc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 +Copyright (C) 2019 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + +**** Compiler identification output end **** +**** BEGIN PROBE run_test_sanity **** +[STATUS] g++-config-0: Running sanity tests on native compiler +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/simple.cpp +int x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/simple.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/simple.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.cpp +#x +int a b c d; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.cpp:1:2: error: invalid preprocessing directive #x + 1 | #x + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.cpp:2:7: error: expected initializer before ‘b’ + 2 | int a b c d; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/stddef.cpp +#include +struct mystruct { + int field1; + int field2; +} var; +size_t sz = sizeof(struct mystruct); +ptrdiff_t pd; +void func() { + pd = &var.field1 - &var.field2; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/stddef.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/stddef.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** END PROBE run_test_sanity **** +**** BEGIN PROBE get_version_switch_output **** +Version switch: -E -v +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp +int main() {} + +**** END source file *** +pipe_command: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp +**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/version_output +# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp" +# 1 "" +# 1 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 1 "" 2 +# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp" +int main() {} + +**** END FILE output *** +**** BEGIN FILE error: +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +OFFLOAD_TARGET_NAMES=nvptx-none:hsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) +COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' + /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -E -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9" +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/include/c++/9 + /usr/include/x86_64-linux-gnu/c++/9 + /usr/include/c++/9/backward + /usr/lib/gcc/x86_64-linux-gnu/9/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' + +**** END FILE error *** +**** END PROBE get_version_switch_output **** +Version string before regex: # 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp" # 1 "" # 1 "" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 1 "" 2 # 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp" int main() {} Using built-in specs. COLLECT_GCC=/usr/bin/cc OFFLOAD_TARGET_NAMES=nvptx-none:hsa OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -E -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9" ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/include/c++/9 /usr/include/x86_64-linux-gnu/c++/9 /usr/include/c++/9/backward /usr/lib/gcc/x86_64-linux-gnu/9/include /usr/local/include /usr/include/x86_64-linux-gnu /usr/include End of search list. COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' +Attempting to match the following regex: .*g[c+][c+] version 2\.9.* \(2.96.*\).* +Attempting to match the following regex: .*g[c+][c+][^\s]* [^\s]+ (\d+\.\d+(\.\d+)?) \(.*\).* +Match found. Version string after regex: 9.4.0 +Attempting to match the following regex: .*g[c+][c+][^\s]* \([^)]*\) (\d+\.\d+(\.\d+)?).* +Attempting to match the following regex: .*(?:cc|\+\+)(?:-[^\h]+)?(?:\.exe)?\h+(?:.*?\h+)?(\d+\.\d+(\.\d+)?).* +Attempting to match the following regex: .*[^0-9.](\d+\.\d+\.\d+).* +Compiler version found: 9.4.0 +**** BEGIN PROBE run_type_size_and_alignment_tests **** +**** BEGIN PROBE probe_helpful_compiler_info **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.cpp +int *i; unsigned long *c; void foo() { c = i; } + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.cpp: In function ‘void foo()’: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.cpp:1:44: error: cannot convert ‘int*’ to ‘long unsigned int*’ in assignment + 1 | int *i; unsigned long *c; void foo() { c = i; } + | ^ + | | + | int* + +**** END FILE stderr *** +Test failed +Native compiler does not allow sloppy assigns. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.cpp + int x[((int)sizeof (int *)) - 13000]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.cpp:1:37: error: narrowing conversion of ‘-12992’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 1 | int x[((int)sizeof (int *)) - 13000]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.cpp:1:30: error: size ‘-12992’ of array ‘x’ is negative + 1 | int x[((int)sizeof (int *)) - 13000]; + | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/zero_size_array.cpp + int x[0]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/zero_size_array.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/zero_size_array.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +Native compiler minimum array index is 0. +**** END PROBE probe_helpful_compiler_info **** +**** BEGIN PROBE Detecting size_t **** +Detecting size_t. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.cpp +size_t * s; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.cpp:1:1: error: ‘size_t’ does not name a type + 1 | size_t * s; + | ^~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.cpp:1:1: note: ‘size_t’ is defined in header ‘’; did you forget to ‘#include ’? + +++ |+#include + 1 | size_t * s; + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type2.cpp +#include +size_t * s; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type2.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type2.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.cpp +#include +size_t *s; +unsigned int *i; +void foo() { i=s; } + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.cpp: In function ‘void foo()’: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.cpp:4:16: error: cannot convert ‘size_t*’ {aka ‘long unsigned int*’} to ‘unsigned int*’ in assignment + 4 | void foo() { i=s; } + | ^ + | | + | size_t* {aka long unsigned int*} + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_long.cpp +#include +size_t *s; +unsigned long *i; +void foo() { i=s; } + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_long.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_long.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** END PROBE Detecting size_t **** +**** BEGIN PROBE Detecting ptrdiff_t **** +Detecting ptrdiff_t. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.cpp +ptrdiff_t * s; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.cpp:1:1: error: ‘ptrdiff_t’ does not name a type + 1 | ptrdiff_t * s; + | ^~~~~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.cpp:1:1: note: ‘ptrdiff_t’ is defined in header ‘’; did you forget to ‘#include ’? + +++ |+#include + 1 | ptrdiff_t * s; + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type2.cpp +#include +ptrdiff_t * s; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type2.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type2.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.cpp +#include +ptrdiff_t *s; +int *i; +void foo() { i=s; } + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.cpp: In function ‘void foo()’: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.cpp:4:16: error: cannot convert ‘ptrdiff_t*’ {aka ‘long int*’} to ‘int*’ in assignment + 4 | void foo() { i=s; } + | ^ + | | + | ptrdiff_t* {aka long int*} + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_long.cpp +#include +ptrdiff_t *s; +long *i; +void foo() { i=s; } + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_long.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_long.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** END PROBE Detecting ptrdiff_t **** +**** BEGIN PROBE add_appropriate_type_size_and_alignment_switch **** +[STATUS] g++-config-0: Detecting size and alignment of fundamental types. +Detecting size and alignment of wchar_t +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.cpp +wchar_t x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_size_4.cpp +int x [((int)sizeof (wchar_t)) -4]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_size_4.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_size_4.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_align_4.cpp +struct X { char a; wchar_t b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +wchar_t b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_align_4.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_align_4.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +Detecting size and alignment of long long +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_long.cpp +long long x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_long.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_long.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_size_8.cpp +int x [((int)sizeof (long long)) -8]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_size_8.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_size_8.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_align_8.cpp +struct X { char a; long long b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +long long b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_align_8.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_align_8.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +Detecting size and alignment of long +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long.cpp +long x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_size_8.cpp +int x [((int)sizeof (long)) -8]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_size_8.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_size_8.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_align_8.cpp +struct X { char a; long b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +long b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_align_8.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_align_8.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +Detecting size and alignment of int +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int.cpp +int x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.cpp +int x [((int)sizeof (int)) -8]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.cpp:1:30: error: narrowing conversion of ‘-4’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 1 | int x [((int)sizeof (int)) -8]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.cpp:1:28: error: size ‘-4’ of array ‘x’ is negative + 1 | int x [((int)sizeof (int)) -8]; + | ~~~~~~~~~~~~~~~~~~~~^~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.cpp +int x [((int)sizeof (int)) -7]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.cpp:1:30: error: narrowing conversion of ‘-3’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 1 | int x [((int)sizeof (int)) -7]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.cpp:1:28: error: size ‘-3’ of array ‘x’ is negative + 1 | int x [((int)sizeof (int)) -7]; + | ~~~~~~~~~~~~~~~~~~~~^~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.cpp +int x [((int)sizeof (int)) -6]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.cpp:1:30: error: narrowing conversion of ‘-2’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 1 | int x [((int)sizeof (int)) -6]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.cpp:1:28: error: size ‘-2’ of array ‘x’ is negative + 1 | int x [((int)sizeof (int)) -6]; + | ~~~~~~~~~~~~~~~~~~~~^~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.cpp +int x [((int)sizeof (int)) -5]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.cpp:1:30: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 1 | int x [((int)sizeof (int)) -5]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.cpp:1:28: error: size ‘-1’ of array ‘x’ is negative + 1 | int x [((int)sizeof (int)) -5]; + | ~~~~~~~~~~~~~~~~~~~~^~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_4.cpp +int x [((int)sizeof (int)) -4]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_4.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_4.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.cpp +struct X { char a; int b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +int b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.cpp:12:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 12 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.cpp:12:41: error: size ‘-1’ of array ‘x’ is negative + 12 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.cpp +struct X { char a; int b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +int b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.cpp:11:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 11 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.cpp:11:41: error: size ‘-1’ of array ‘x’ is negative + 11 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.cpp +struct X { char a; int b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +int b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.cpp:10:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 10 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.cpp:10:41: error: size ‘-1’ of array ‘x’ is negative + 10 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.cpp +struct X { char a; int b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +int b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.cpp:9:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 9 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.cpp:9:41: error: size ‘-1’ of array ‘x’ is negative + 9 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_4.cpp +struct X { char a; int b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +int b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_4.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_4.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +Detecting size and alignment of short +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_short.cpp +short x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_short.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_short.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.cpp +int x [((int)sizeof (short)) -4]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.cpp:1:32: error: narrowing conversion of ‘-2’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 1 | int x [((int)sizeof (short)) -4]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.cpp:1:30: error: size ‘-2’ of array ‘x’ is negative + 1 | int x [((int)sizeof (short)) -4]; + | ~~~~~~~~~~~~~~~~~~~~~~^~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.cpp +int x [((int)sizeof (short)) -3]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.cpp:1:32: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 1 | int x [((int)sizeof (short)) -3]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.cpp:1:30: error: size ‘-1’ of array ‘x’ is negative + 1 | int x [((int)sizeof (short)) -3]; + | ~~~~~~~~~~~~~~~~~~~~~~^~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_2.cpp +int x [((int)sizeof (short)) -2]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_2.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_2.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.cpp +struct X { char a; short b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +short b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.cpp:8:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 8 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.cpp:8:41: error: size ‘-1’ of array ‘x’ is negative + 8 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.cpp +struct X { char a; short b; }; +struct Y { +char a1; +char a2; +char a3; +short b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.cpp:7:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 7 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.cpp:7:41: error: size ‘-1’ of array ‘x’ is negative + 7 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_2.cpp +struct X { char a; short b; }; +struct Y { +char a1; +char a2; +short b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_2.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_2.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +Detecting size and alignment of long double +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_double.cpp +long double x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_double.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_double.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_size_16.cpp +int x [((int)sizeof (long double)) -16]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_size_16.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_size_16.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_align_16.cpp +struct X { char a; long double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +char a11; +char a12; +char a13; +char a14; +char a15; +char a16; +long double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_align_16.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_align_16.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +Detecting size and alignment of double +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_double.cpp +double x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_double.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_double.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.cpp +int x [((int)sizeof (double)) -16]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.cpp:1:34: error: narrowing conversion of ‘-8’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 1 | int x [((int)sizeof (double)) -16]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.cpp:1:31: error: size ‘-8’ of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -16]; + | ~~~~~~~~~~~~~~~~~~~~~~~^~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.cpp +int x [((int)sizeof (double)) -15]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.cpp:1:34: error: narrowing conversion of ‘-7’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 1 | int x [((int)sizeof (double)) -15]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.cpp:1:31: error: size ‘-7’ of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -15]; + | ~~~~~~~~~~~~~~~~~~~~~~~^~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.cpp +int x [((int)sizeof (double)) -14]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.cpp:1:34: error: narrowing conversion of ‘-6’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 1 | int x [((int)sizeof (double)) -14]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.cpp:1:31: error: size ‘-6’ of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -14]; + | ~~~~~~~~~~~~~~~~~~~~~~~^~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.cpp +int x [((int)sizeof (double)) -13]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.cpp:1:34: error: narrowing conversion of ‘-5’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 1 | int x [((int)sizeof (double)) -13]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.cpp:1:31: error: size ‘-5’ of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -13]; + | ~~~~~~~~~~~~~~~~~~~~~~~^~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.cpp +int x [((int)sizeof (double)) -12]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.cpp:1:34: error: narrowing conversion of ‘-4’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 1 | int x [((int)sizeof (double)) -12]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.cpp:1:31: error: size ‘-4’ of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -12]; + | ~~~~~~~~~~~~~~~~~~~~~~~^~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.cpp +int x [((int)sizeof (double)) -11]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.cpp:1:34: error: narrowing conversion of ‘-3’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 1 | int x [((int)sizeof (double)) -11]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.cpp:1:31: error: size ‘-3’ of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -11]; + | ~~~~~~~~~~~~~~~~~~~~~~~^~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.cpp +int x [((int)sizeof (double)) -10]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.cpp:1:34: error: narrowing conversion of ‘-2’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 1 | int x [((int)sizeof (double)) -10]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.cpp:1:31: error: size ‘-2’ of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -10]; + | ~~~~~~~~~~~~~~~~~~~~~~~^~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.cpp +int x [((int)sizeof (double)) -9]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.cpp:1:33: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 1 | int x [((int)sizeof (double)) -9]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.cpp:1:31: error: size ‘-1’ of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -9]; + | ~~~~~~~~~~~~~~~~~~~~~~~^~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_8.cpp +int x [((int)sizeof (double)) -8]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_8.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_8.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.cpp +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +char a11; +char a12; +char a13; +char a14; +char a15; +char a16; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.cpp:20:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 20 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.cpp:20:41: error: size ‘-1’ of array ‘x’ is negative + 20 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.cpp +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +char a11; +char a12; +char a13; +char a14; +char a15; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.cpp:19:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 19 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.cpp:19:41: error: size ‘-1’ of array ‘x’ is negative + 19 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.cpp +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +char a11; +char a12; +char a13; +char a14; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.cpp:18:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 18 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.cpp:18:41: error: size ‘-1’ of array ‘x’ is negative + 18 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.cpp +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +char a11; +char a12; +char a13; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.cpp:17:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 17 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.cpp:17:41: error: size ‘-1’ of array ‘x’ is negative + 17 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.cpp +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +char a11; +char a12; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.cpp:16:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 16 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.cpp:16:41: error: size ‘-1’ of array ‘x’ is negative + 16 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.cpp +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +char a11; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.cpp:15:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 15 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.cpp:15:41: error: size ‘-1’ of array ‘x’ is negative + 15 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.cpp +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.cpp:14:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 14 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.cpp:14:41: error: size ‘-1’ of array ‘x’ is negative + 14 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.cpp +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.cpp:13:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 13 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.cpp:13:41: error: size ‘-1’ of array ‘x’ is negative + 13 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_8.cpp +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_8.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_8.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +Detecting size and alignment of float +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_float.cpp +float x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_float.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_float.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.cpp +int x [((int)sizeof (float)) -8]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.cpp:1:32: error: narrowing conversion of ‘-4’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 1 | int x [((int)sizeof (float)) -8]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.cpp:1:30: error: size ‘-4’ of array ‘x’ is negative + 1 | int x [((int)sizeof (float)) -8]; + | ~~~~~~~~~~~~~~~~~~~~~~^~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.cpp +int x [((int)sizeof (float)) -7]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.cpp:1:32: error: narrowing conversion of ‘-3’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 1 | int x [((int)sizeof (float)) -7]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.cpp:1:30: error: size ‘-3’ of array ‘x’ is negative + 1 | int x [((int)sizeof (float)) -7]; + | ~~~~~~~~~~~~~~~~~~~~~~^~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.cpp +int x [((int)sizeof (float)) -6]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.cpp:1:32: error: narrowing conversion of ‘-2’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 1 | int x [((int)sizeof (float)) -6]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.cpp:1:30: error: size ‘-2’ of array ‘x’ is negative + 1 | int x [((int)sizeof (float)) -6]; + | ~~~~~~~~~~~~~~~~~~~~~~^~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.cpp +int x [((int)sizeof (float)) -5]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.cpp:1:32: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 1 | int x [((int)sizeof (float)) -5]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.cpp:1:30: error: size ‘-1’ of array ‘x’ is negative + 1 | int x [((int)sizeof (float)) -5]; + | ~~~~~~~~~~~~~~~~~~~~~~^~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_4.cpp +int x [((int)sizeof (float)) -4]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_4.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_4.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.cpp +struct X { char a; float b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +float b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.cpp:12:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 12 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.cpp:12:41: error: size ‘-1’ of array ‘x’ is negative + 12 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.cpp +struct X { char a; float b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +float b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.cpp:11:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 11 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.cpp:11:41: error: size ‘-1’ of array ‘x’ is negative + 11 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.cpp +struct X { char a; float b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +float b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.cpp:10:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 10 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.cpp:10:41: error: size ‘-1’ of array ‘x’ is negative + 10 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.cpp +struct X { char a; float b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +float b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.cpp:9:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 9 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.cpp:9:41: error: size ‘-1’ of array ‘x’ is negative + 9 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_4.cpp +struct X { char a; float b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +float b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_4.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_4.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +Detecting size and alignment of int * +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int__ptr_.cpp +int * x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int__ptr_.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int__ptr_.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__size_8.cpp +int x [((int)sizeof (int *)) -8]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__size_8.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__size_8.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__align_8.cpp +struct X { char a; int * b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +int * b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__align_8.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__align_8.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** END PROBE add_appropriate_type_size_and_alignment_switch **** +**** BEGIN PROBE run_char_bit_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_1.cpp +#define N 1 +#define SHIFT(VALUE,AMOUNT) \ + ((VALUE) << ((AMOUNT) >= 63 ? 7 : 0) \ + << ((AMOUNT) >= 56 ? 7 : 0) \ + << ((AMOUNT) >= 49 ? 7 : 0) \ + << ((AMOUNT) >= 42 ? 7 : 0) \ + << ((AMOUNT) >= 35 ? 7 : 0) \ + << ((AMOUNT) >= 28 ? 7 : 0) \ + << ((AMOUNT) >= 21 ? 7 : 0) \ + << ((AMOUNT) >= 14 ? 7 : 0) \ + << ((AMOUNT) >= 7 ? 7 : 0) \ + << ((AMOUNT) % 7)) +typedef unsigned char UC; +void foo() { + static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_1.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_1.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.cpp +#define N 9 +#define SHIFT(VALUE,AMOUNT) \ + ((VALUE) << ((AMOUNT) >= 63 ? 7 : 0) \ + << ((AMOUNT) >= 56 ? 7 : 0) \ + << ((AMOUNT) >= 49 ? 7 : 0) \ + << ((AMOUNT) >= 42 ? 7 : 0) \ + << ((AMOUNT) >= 35 ? 7 : 0) \ + << ((AMOUNT) >= 28 ? 7 : 0) \ + << ((AMOUNT) >= 21 ? 7 : 0) \ + << ((AMOUNT) >= 14 ? 7 : 0) \ + << ((AMOUNT) >= 7 ? 7 : 0) \ + << ((AMOUNT) % 7)) +typedef unsigned char UC; +void foo() { + static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.cpp: In function ‘void foo()’: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.cpp:15:61: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 15 | static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.cpp:15:53: error: size ‘-1’ of array ‘check_char_bit’ is negative + 15 | static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; + | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_8.cpp +#define N 8 +#define SHIFT(VALUE,AMOUNT) \ + ((VALUE) << ((AMOUNT) >= 63 ? 7 : 0) \ + << ((AMOUNT) >= 56 ? 7 : 0) \ + << ((AMOUNT) >= 49 ? 7 : 0) \ + << ((AMOUNT) >= 42 ? 7 : 0) \ + << ((AMOUNT) >= 35 ? 7 : 0) \ + << ((AMOUNT) >= 28 ? 7 : 0) \ + << ((AMOUNT) >= 21 ? 7 : 0) \ + << ((AMOUNT) >= 14 ? 7 : 0) \ + << ((AMOUNT) >= 7 ? 7 : 0) \ + << ((AMOUNT) % 7)) +typedef unsigned char UC; +void foo() { + static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_8.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_8.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** END PROBE run_char_bit_size_test **** +**** END PROBE run_type_size_and_alignment_tests **** +**** BEGIN PROBE add_appropriate_restrict_switch_if_needed **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.cpp +int * restrict i; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.cpp:1:16: error: expected initializer before ‘i’ + 1 | int * restrict i; + | ^ + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_restrict_switch_if_needed **** +**** BEGIN PROBE add_appropriate_cr_term_switch_if_needed **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/cr_term.cpp +int i; #define foo \ bar void foo() { }; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/cr_term.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/cr_term.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** END PROBE add_appropriate_cr_term_switch_if_needed **** +**** BEGIN PROBE add_enable_declspec_switch_if_needed **** +__declspec macro definition test. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.cpp +#ifndef __declspec +#error __declspec not defined +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.cpp:2:2: error: #error __declspec not defined + 2 | #error __declspec not defined + | ^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec2.cpp + +void __declspec(int x) { + x = 1; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec2.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec2.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** END PROBE add_enable_declspec_switch_if_needed **** +**** BEGIN PROBE add_appropriate_wchar_t_switch **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t.cpp +wchar_t x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t2.cpp +struct foo { int wchar_t; }; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t2.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t2.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t2.cpp:1:18: error: multiple types in one declaration + 1 | struct foo { int wchar_t; }; + | ^~~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t2.cpp:1:18: error: declaration does not declare anything [-fpermissive] + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_wchar_t_switch **** +**** BEGIN PROBE add_ignore_std_switch **** +Test test_ignore_std **** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/implicit_std.cpp +namespace std +{ + int foo; +} + +void bar () { int x = foo; } + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/implicit_std.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/implicit_std.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/implicit_std.cpp: In function ‘void bar()’: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/implicit_std.cpp:6:23: error: ‘foo’ was not declared in this scope; did you mean ‘std::foo’? + 6 | void bar () { int x = foo; } + | ^~~ + | std::foo +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/implicit_std.cpp:3:39: note: ‘std::foo’ declared here + 3 | int foo; + | ^~~ + +**** END FILE stderr *** +Test failed +**** END PROBE add_ignore_std_switch **** +**** BEGIN PROBE add_multiline_string_switch_if_needed **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.cpp +char* str = "Hello +World"; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.cpp:1:13: warning: missing terminating " character + 1 | char* str = "Hello + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.cpp:1:13: error: missing terminating " character + 1 | char* str = "Hello + | ^~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.cpp:2:6: warning: missing terminating " character + 2 | World"; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.cpp:2:6: error: missing terminating " character + 2 | World"; + | ^~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.cpp:2:1: error: ‘World’ was not declared in this scope + 2 | World"; + | ^~~~~ + +**** END FILE stderr *** +Test failed +**** END PROBE add_multiline_string_switch_if_needed **** +**** BEGIN PROBE add_appropriate_trigraphs_switch **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.cpp +char x ??( 3 ??) = "Hi"; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.cpp:1:8: warning: trigraph ??( ignored, use -trigraphs to enable [-Wtrigraphs] + 1 | char x ??( 3 ??) = "Hi"; + | +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.cpp:1:14: warning: trigraph ??) ignored, use -trigraphs to enable [-Wtrigraphs] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.cpp:1:8: error: expected initializer before ‘?’ token + 1 | char x ??( 3 ??) = "Hi"; + | ^ + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_trigraphs_switch **** +**** BEGIN PROBE run_x86_calling_conventions_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.cpp +void foo(void) __attribute__((__stdcall__)); + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.cpp:1:43: warning: ‘stdcall’ attribute ignored [-Wattributes] + 1 | void foo(void) __attribute__((__stdcall__)); + | ^ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.cpp +void f(void) ; +void (*p)() __attribute__((__stdcall__)) = &f; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.cpp:2:40: warning: ‘stdcall’ attribute ignored [-Wattributes] + 2 | void (*p)() __attribute__((__stdcall__)) = &f; + | ^ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.cpp +void f(void) ; +void (*p)() __attribute__((__cdecl__)) = &f; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.cpp:2:38: warning: ‘cdecl’ attribute ignored [-Wattributes] + 2 | void (*p)() __attribute__((__cdecl__)) = &f; + | ^ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.cpp +void f(void) ; +void (*p)() __attribute__((__fastcall__)) = &f; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.cpp:2:41: warning: ‘fastcall’ attribute ignored [-Wattributes] + 2 | void (*p)() __attribute__((__fastcall__)) = &f; + | ^ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.cpp +void f(void) ; +void (*p)() __attribute__((__vectorcall__)) = &f; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.cpp:2:43: warning: ‘vectorcall’ attribute directive ignored [-Wattributes] + 2 | void (*p)() __attribute__((__vectorcall__)) = &f; + | ^ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.cpp +void f(void) ; +void (*p)() __attribute__((__thiscall__)) = &f; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.cpp:2:41: warning: ‘thiscall’ attribute ignored [-Wattributes] + 2 | void (*p)() __attribute__((__thiscall__)) = &f; + | ^ + +**** END FILE stderr *** +Test succeded +**** END PROBE run_x86_calling_conventions_test **** +**** BEGIN PROBE add_appropriate_altivec_switch_if_needed **** +Detecting whether AltiVec is supported. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.cpp +__vector unsigned int a; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.cpp:1:1: error: ‘__vector’ does not name a type + 1 | __vector unsigned int a; + | ^~~~~~~~ + +**** END FILE stderr *** +Test failed +AltiVec is implicitly disabled. +**** END PROBE add_appropriate_altivec_switch_if_needed **** +**** BEGIN PROBE add_float80_and_128_switch_if_needed **** +Detecting whether __float80 and __float128 are supported. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float80.cpp +__float80 x; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float80.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float80.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +float80 appears to be enabled. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float128.cpp +__float128 x; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float128.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float128.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +float128 appears to be enabled. +**** END PROBE add_float80_and_128_switch_if_needed **** +**** BEGIN PROBE add_appropriate_macro_stack_pragma_switch **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_sanity.cpp +#define TEST 1 +#pragma push_macro("TEST") +#pragma pop_macro("TEST") + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_sanity.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_sanity.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_pragmas.cpp +#define TEST 1 +#pragma push_macro("TEST") +#undef TEST +#define TEST -1 +#pragma pop_macro("TEST") +int arr[TEST]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_pragmas.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_pragmas.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.cpp +#define TEST -1 +#pragma push_macro("TEST") +#undef TEST +#define TEST 1 +#pragma pop_macro("TEST") +int arr[TEST]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.cpp:6:13: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] + 6 | int arr[TEST]; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.cpp:6:2: error: size ‘-1’ of array ‘arr’ is negative + 6 | int arr[TEST]; + | ^~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.cpp:6:9: note: in expansion of macro ‘TEST’ + 6 | int arr[TEST]; + | ^~~~ + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_macro_stack_pragma_switch **** +**** BEGIN PROBE add_appropriate_exceptions_switch **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/exceptions.cpp +class foo{}; void func(){try{}catch(foo &f){}} + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/exceptions.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/exceptions.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** END PROBE add_appropriate_exceptions_switch **** +**** BEGIN PROBE add_appropriate_arg_dependent_overload_switch **** +Detecting whether --arg_dependent_overload is needed. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.cpp +typedef unsigned short FIXED_FLOAT16; +typedef unsigned int FIXED_FLOAT32; + +namespace Y { +typedef struct _VECTOR3F { } VECTOR3F; + +float InnerProduct(const _VECTOR3F& v1, const _VECTOR3F& v2); +} + +namespace fxutil { + FIXED_FLOAT32 InnerProduct(const FIXED_FLOAT32& v1, const FIXED_FLOAT32& v2); + FIXED_FLOAT32 InnerProduct(const FIXED_FLOAT16& v1, const FIXED_FLOAT16& v2); +} + +namespace X { + float Sqrt(float f); + float Sqrt(FIXED_FLOAT32 f); +} +using namespace X; + +void f(Y::VECTOR3F &scale) +{ + using fxutil::InnerProduct; + Sqrt(InnerProduct(scale,scale)); +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +--arg_dependent_overload is needed. +**** END PROBE add_appropriate_arg_dependent_overload_switch **** +**** BEGIN PROBE add_appropriate_vector_intrinsics_switch **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.cpp +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector bool int x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.cpp:1:90: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector bool int x) {f1(x);} + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.cpp:1:90: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.cpp:1:116: error: variable or field ‘f2’ declared void + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector bool int x) {f1(x);} + | ^~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.cpp:1:102: error: ‘__vector’ was not declared in this scope + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector bool int x) {f1(x);} + | ^~~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.cpp +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector __bool int x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.cpp:1:90: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector __bool int x) {f1(x);} + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.cpp:1:90: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.cpp:1:102: error: variable or field ‘f2’ declared void + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector __bool int x) {f1(x);} + | ^~~~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.cpp:1:102: error: ‘__vector’ was not declared in this scope + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.cpp +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector bool int x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.cpp:1:90: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector bool int x) {f1(x);} + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.cpp:1:90: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.cpp:1:114: error: variable or field ‘f2’ declared void + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector bool int x) {f1(x);} + | ^~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.cpp:1:102: error: ‘vector’ was not declared in this scope + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector bool int x) {f1(x);} + | ^~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.cpp +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector __bool int x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.cpp:1:90: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector __bool int x) {f1(x);} + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.cpp:1:90: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.cpp:1:102: error: variable or field ‘f2’ declared void + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector __bool int x) {f1(x);} + | ^~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.cpp:1:102: error: ‘vector’ was not declared in this scope + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.cpp +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector pixel x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.cpp:1:93: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector pixel x) {f1(x);} + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.cpp:1:93: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.cpp:1:105: error: variable or field ‘f2’ declared void + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector pixel x) {f1(x);} + | ^~~~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.cpp:1:105: error: ‘__vector’ was not declared in this scope + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.cpp +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector __pixel x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.cpp:1:93: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector __pixel x) {f1(x);} + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.cpp:1:93: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.cpp:1:105: error: variable or field ‘f2’ declared void + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector __pixel x) {f1(x);} + | ^~~~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.cpp:1:105: error: ‘__vector’ was not declared in this scope + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.cpp +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector pixel x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.cpp:1:93: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector pixel x) {f1(x);} + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.cpp:1:93: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.cpp:1:105: error: variable or field ‘f2’ declared void + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector pixel x) {f1(x);} + | ^~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.cpp:1:105: error: ‘vector’ was not declared in this scope + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.cpp +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector __pixel x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.cpp:1:93: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector __pixel x) {f1(x);} + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.cpp:1:93: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.cpp:1:105: error: variable or field ‘f2’ declared void + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector __pixel x) {f1(x);} + | ^~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.cpp:1:105: error: ‘vector’ was not declared in this scope + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_vector_intrinsics_switch **** +**** BEGIN PROBE set_appropriate_target_platform **** +**** BEGIN PROBE get_macros **** +compiler_prober_t::make_abs_preproc_command + cmd: /usr/bin/cc -std=gnu90 +/usr/bin/cc -std=gnu90 -xc++ -E -U__BLOCKS__ /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp +#ifdef __MINGW64__ +__coverity_macro __MINGW64__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __MINGW32__ +__coverity_macro __MINGW32__ +#else +__the_symbol_is_not_defined__ +#endif + +**** END source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc++ -E -U__BLOCKS__ /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc++ -E -U__BLOCKS__ /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp +**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/pp_out +# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp" +# 1 "" +# 1 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 1 "" 2 +# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp" + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + +**** END FILE output *** +**** BEGIN FILE error: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE error *** +**** END PROBE get_macros **** +[WARNING] Failed to infer target platform of compiler using macro probes. Falling back on default value. +**** END PROBE set_appropriate_target_platform **** +pipe_command: /usr/bin/cc -std=gnu90 -c -print-sysroot +pipe_commands starting: /usr/bin/cc -std=gnu90 -c -print-sysroot +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.cpp +int inline = 0; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.cpp:1:12: error: expected unqualified-id before ‘=’ token + 1 | int inline = 0; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/inline_keyword.cpp +inline void foo() { } + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/inline_keyword.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/inline_keyword.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** BEGIN PROBE add_appropriate_has_include_switch **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_pos.cpp +#ifdef __has_include +# if __has_include("whatever") +# endif +#else +#error +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_pos.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_pos.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.cpp +#ifdef __has_include +#error +#else +#define __has_include int foo(void) +__has_include; +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.cpp:2:2: error: #error + 2 | #error + | ^~~~~ + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_has_include_switch **** +**** BEGIN PROBE add_appropriate_has_include_next_switch **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_pos.cpp +#ifdef __has_include_next +# if __has_include_next("whatever") +# endif +#else +#error +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_pos.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_pos.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.cpp +#ifdef __has_include_next +#error +#else +#define __has_include_next int foo(void) +__has_include_next; +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.cpp:2:2: error: #error + 2 | #error + | ^~~~~ + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_has_include_next_switch **** +**** BEGIN PROBE add_appropriate_has_cpp_attribute_switch **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_pos.cpp +#ifdef __has_cpp_attribute +# if __has_cpp_attribute(whatever) +# endif +#else +#error +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_pos.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_pos.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.cpp +#ifdef __has_cpp_attribute +#error +#else +#define __has_cpp_attribute int foo(void) +__has_cpp_attribute; +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.cpp +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.cpp:2:2: error: #error + 2 | #error + | ^~~~~ + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_has_cpp_attribute_switch **** +run_comp_tests: no defined custom tests +**** BEGIN PROBE get_standard_includes **** +Dryrun command: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.cpp +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.cpp + +**** END source file *** +pipe_command: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.cpp +**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.output +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +OFFLOAD_TARGET_NAMES=nvptx-none:hsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) +COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' + /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -E -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.cpp -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9" +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/include/c++/9 + /usr/include/x86_64-linux-gnu/c++/9 + /usr/include/c++/9/backward + /usr/lib/gcc/x86_64-linux-gnu/9/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' + +**** END FILE output *** +**** BEGIN FILE error: +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +OFFLOAD_TARGET_NAMES=nvptx-none:hsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) +COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' + /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -E -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.cpp -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ +ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9" +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/include/c++/9 + /usr/include/x86_64-linux-gnu/c++/9 + /usr/include/c++/9/backward + /usr/lib/gcc/x86_64-linux-gnu/9/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' + +**** END FILE error *** +Dryrun gcc found sys include path: /usr/include/c++/9 +Dryrun gcc found sys include path: /usr/include/x86_64-linux-gnu/c++/9 +Dryrun gcc found sys include path: /usr/include/c++/9/backward +Dryrun gcc found sys include path: /usr/lib/gcc/x86_64-linux-gnu/9/include +Dryrun gcc found sys include path: /usr/local/include +Dryrun gcc found sys include path: /usr/include/x86_64-linux-gnu +Dryrun gcc found sys include path: /usr/include +Dryrun gcc headers found: 7 +**** END PROBE get_standard_includes **** +compiler_prober_t::make_abs_preproc_command + cmd: /usr/bin/cc -std=gnu90 +/usr/bin/cc -std=gnu90 -dM -E /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.cpp +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.cpp + + +**** END source file *** +pipe_command: /usr/bin/cc -std=gnu90 -dM -E /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -dM -E /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.cpp +**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.output +#define __SSP_STRONG__ 3 +#define __DBL_MIN_EXP__ (-1021) +#define __FLT32X_MAX_EXP__ 1024 +#define __cpp_attributes 200809 +#define __UINT_LEAST16_MAX__ 0xffff +#define __ATOMIC_ACQUIRE 2 +#define __FLT128_MAX_10_EXP__ 4932 +#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F +#define __GCC_IEC_559_COMPLEX 2 +#define __cpp_aggregate_nsdmi 201304 +#define __UINT_LEAST8_TYPE__ unsigned char +#define __SIZEOF_FLOAT80__ 16 +#define __INTMAX_C(c) c ## L +#define __CHAR_BIT__ 8 +#define __UINT8_MAX__ 0xff +#define __WINT_MAX__ 0xffffffffU +#define __FLT32_MIN_EXP__ (-125) +#define __cpp_static_assert 200410 +#define __ORDER_LITTLE_ENDIAN__ 1234 +#define __SIZE_MAX__ 0xffffffffffffffffUL +#define __WCHAR_MAX__ 0x7fffffff +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +#define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 +#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 +#define __GCC_IEC_559 2 +#define __FLT32X_DECIMAL_DIG__ 17 +#define __FLT_EVAL_METHOD__ 0 +#define __unix__ 1 +#define __cpp_binary_literals 201304 +#define __FLT64_DECIMAL_DIG__ 17 +#define __CET__ 3 +#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 +#define __x86_64 1 +#define __cpp_variadic_templates 200704 +#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL +#define __SIG_ATOMIC_TYPE__ int +#define __DBL_MIN_10_EXP__ (-307) +#define __FINITE_MATH_ONLY__ 0 +#define __cpp_variable_templates 201304 +#define __GNUC_PATCHLEVEL__ 0 +#define __FLT32_HAS_DENORM__ 1 +#define __UINT_FAST8_MAX__ 0xff +#define __cpp_rvalue_reference 200610 +#define __has_include(STR) __has_include__(STR) +#define __DEC64_MAX_EXP__ 385 +#define __INT8_C(c) c +#define __INT_LEAST8_WIDTH__ 8 +#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL +#define __SHRT_MAX__ 0x7fff +#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L +#define __FLT64X_MAX_10_EXP__ 4932 +#define __UINT_LEAST8_MAX__ 0xff +#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 +#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128 +#define __UINTMAX_TYPE__ long unsigned int +#define __linux 1 +#define __DEC32_EPSILON__ 1E-6DF +#define __FLT_EVAL_METHOD_TS_18661_3__ 0 +#define __unix 1 +#define __UINT32_MAX__ 0xffffffffU +#define __GXX_EXPERIMENTAL_CXX0X__ 1 +#define __LDBL_MAX_EXP__ 16384 +#define __FLT128_MIN_EXP__ (-16381) +#define __WINT_MIN__ 0U +#define __linux__ 1 +#define __FLT128_MIN_10_EXP__ (-4931) +#define __INT_LEAST16_WIDTH__ 16 +#define __SCHAR_MAX__ 0x7f +#define __FLT128_MANT_DIG__ 113 +#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) +#define __INT64_C(c) c ## L +#define __DBL_DIG__ 15 +#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 +#define __FLT64X_MANT_DIG__ 64 +#define __SIZEOF_INT__ 4 +#define __SIZEOF_POINTER__ 8 +#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 +#define __USER_LABEL_PREFIX__ +#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x +#define __STDC_HOSTED__ 1 +#define __LDBL_HAS_INFINITY__ 1 +#define __FLT32_DIG__ 6 +#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F +#define __GXX_WEAK__ 1 +#define __SHRT_WIDTH__ 16 +#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L +#define __DEC32_MAX__ 9.999999E96DF +#define __cpp_threadsafe_static_init 200806 +#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x +#define __FLT32X_HAS_INFINITY__ 1 +#define __INT32_MAX__ 0x7fffffff +#define __INT_WIDTH__ 32 +#define __SIZEOF_LONG__ 8 +#define __STDC_IEC_559__ 1 +#define __STDC_ISO_10646__ 201706L +#define __UINT16_C(c) c +#define __PTRDIFF_WIDTH__ 64 +#define __DECIMAL_DIG__ 21 +#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64 +#define __gnu_linux__ 1 +#define __INTMAX_WIDTH__ 64 +#define __FLT64_MIN_EXP__ (-1021) +#define __has_include_next(STR) __has_include_next__(STR) +#define __FLT64X_MIN_10_EXP__ (-4931) +#define __LDBL_HAS_QUIET_NAN__ 1 +#define __FLT64_MANT_DIG__ 53 +#define __GNUC__ 9 +#define __GXX_RTTI 1 +#define __pie__ 2 +#define __MMX__ 1 +#define __cpp_delegating_constructors 200604 +#define __FLT_HAS_DENORM__ 1 +#define __SIZEOF_LONG_DOUBLE__ 16 + + + +4_WIDTH__ 64 +#define __DEC64_MIN_EXP__ (-382) +#define __cpp_decltype 200707 +#define __FLT32_DECIMAL_DIG__ 9 +#define __INT_FAST64_MAX__ 0x7fffffffffffffffL +#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 +#define __FLT_DIG__ 6 +#define __FLT64X_MAX_EXP__ 16384 +#define __UINT_FAST64_TYPE__ long unsigned int +#define __INT_MAX__ 0x7fffffff +#define __amd64__ 1 +#define __INT64_TYPE__ long int +#define __FLT_MAX_EXP__ 128 +#define __ORDER_BIG_ENDIAN__ 4321 +#define __DBL_MANT_DIG__ 53 +#define __cpp_inheriting_constructors 201511 +#define __SIZEOF_FLOAT128__ 16 +#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL +#define __DEC64_MIN__ 1E-383DD +#define __WINT_TYPE__ unsigned int +#define __UINT_LEAST32_TYPE__ unsigned int +#define __SIZEOF_SHORT__ 2 +#define __SSE__ 1 +#define __LDBL_MIN_EXP__ (-16381) +#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64 +#define __WINT_WIDTH__ 32 +#define __INT_LEAST8_MAX__ 0x7f +#define __FLT32X_MAX_10_EXP__ 308 +#define __SIZEOF_INT128__ 16 +#define __LDBL_MAX_10_EXP__ 4932 +#define __ATOMIC_RELAXED 0 +#define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L) +#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128 +#define _LP64 1 +#define __UINT8_C(c) c +#define __FLT64_MAX_EXP__ 1024 +#define __INT_LEAST32_TYPE__ int +#define __SIZEOF_WCHAR_T__ 4 +#define __FLT128_HAS_QUIET_NAN__ 1 +#define __INT_FAST8_TYPE__ signed char +#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x +#define __GNUC_STDC_INLINE__ 1 +#define __FLT64_HAS_DENORM__ 1 +#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32 +#define __DBL_DECIMAL_DIG__ 17 +#define __STDC_UTF_32__ 1 +#define __INT_FAST8_WIDTH__ 8 +#define __FXSR__ 1 +#define __DEC_EVAL_METHOD__ 2 +#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x +#define __cpp_runtime_arrays 198712 +#define __UINT64_TYPE__ long unsigned int +#define __UINT32_C(c) c ## U +#define __INTMAX_MAX__ 0x7fffffffffffffffL +#define __cpp_alias_templates 200704 +#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F +#define __INT8_MAX__ 0x7f +#define __LONG_WIDTH__ 64 +#define __PIC__ 2 +#define __UINT_FAST32_TYPE__ long unsigned int +#define __CHAR32_TYPE__ unsigned int +#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F +#define __cpp_constexpr 201304 +#define __INT32_TYPE__ int +#define __SIZEOF_DOUBLE__ 8 +#define __cpp_exceptions 199711 +#define __FLT_MIN_10_EXP__ (-37) +#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64 +#define __INT_LEAST32_WIDTH__ 32 +#define __INTMAX_TYPE__ long int +#define __DEC128_MAX_EXP__ 6145 +#define __FLT32X_HAS_QUIET_NAN__ 1 +#define __ATOMIC_CONSUME 1 +#define __GNUC_MINOR__ 4 +#define __GLIBCXX_TYPE_INT_N_0 __int128 +#define __INT_FAST16_WIDTH__ 64 +#define __UINTMAX_MAX__ 0xffffffffffffffffUL +#define __DEC32_MANT_DIG__ 7 +#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x +#define __DBL_MAX_10_EXP__ 308 +#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L +#define __INT16_C(c) c +#define __cpp_generic_lambdas 201304 +#define __STDC__ 1 +#define __FLT32X_DIG__ 15 +#define __PTRDIFF_TYPE__ long int +#define __ATOMIC_SEQ_CST 5 +#define __UINT32_TYPE__ unsigned int +#define __FLT32X_MIN_10_EXP__ (-307) +#define __UINTPTR_TYPE__ long unsigned int +#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD +#define __DEC128_MANT_DIG__ 34 +#define __LDBL_MIN_10_EXP__ (-4931) +#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128 +#define __SSE_MATH__ 1 +#define __SIZEOF_LONG_LONG__ 8 +#define __cpp_user_defined_literals 200809 +#define __FLT128_DECIMAL_DIG__ 36 +#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 +#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x +#define __LDBL_DIG__ 18 +#define __FLT_DECIMAL_DIG__ 9 +#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL +#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 +#define __INT_LEAST64_WIDTH__ 64 +#define __UINT_FAST8_TYPE__ unsigned char +#define _GNU_SOURCE 1 +#define __cpp_init_captures 201304 +#define __ATOMIC_ACQ_REL 4 +#define __ATOMIC_RELEASE 3 + +**** END FILE output *** +**** BEGIN FILE error: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE error *** +Skipping looking for macros in standard headers. The header scan probe has been disabled by the no header scan option. +**** BEGIN PROBE get_macros **** +[STATUS] g++-config-0: Retrieving values for macros +compiler_prober_t::make_abs_preproc_command + cmd: /usr/bin/cc -std=gnu90 +/usr/bin/cc -std=gnu90 -xc++ -E -U__BLOCKS__ /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp +#ifdef _REENTRANT +__coverity_macro _REENTRANT +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __CET__ +__coverity_macro __CET__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __CHAR_UNSIGNED__ +__coverity_macro __CHAR_UNSIGNED__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __DEPRECATED +__coverity_macro __DEPRECATED +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __EXCEPTIONS +__coverity_macro __EXCEPTIONS +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FAST_MATH__ +__coverity_macro __FAST_MATH__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FINITE_MATH_ONLY__ +__coverity_macro __FINITE_MATH_ONLY__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMA +__coverity_macro __FP_FAST_FMA +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF +__coverity_macro __FP_FAST_FMAF +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF128 +__coverity_macro __FP_FAST_FMAF128 +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF128X +__coverity_macro __FP_FAST_FMAF128X +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF16 +__coverity_macro __FP_FAST_FMAF16 +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF32 +__coverity_macro __FP_FAST_FMAF32 +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF32X +__coverity_macro __FP_FAST_FMAF32X +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF64 +__coverity_macro __FP_FAST_FMAF64 +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF64X +__coverity_macro __FP_FAST_FMAF64X +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAL +__coverity_macro __FP_FAST_FMAL +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __GCC_HAVE_DWARF2_CFI_ASM +__coverity_macro __GCC_HAVE_DWARF2_CFI_ASM +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 +__coverity_macro __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __GCC_IEC_559_COMPLEX +__coverity_macro __GCC_IEC_559_COMPLEX +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __GNUG__ +__coverity_macro __GNUG__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __GXX_RTTI +__coverity_macro __GXX_RTTI +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __GXX_WEAK__ +__coverity_macro __GXX_WEAK__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __INCLUDE_LEVEL__ +__coverity_macro __INCLUDE_LEVEL__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __NO_MATH_ERRNO__ +__coverity_macro __NO_MATH_ERRNO__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __PIC__ +__coverity_macro __PIC__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __PIE__ +__coverity_macro __PIE__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __PTRDIFF_TYPE__ +__coverity_macro __PTRDIFF_TYPE__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __REGISTER_PREFIX__ +__coverity_macro __REGISTER_PREFIX__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __SANITIZE_ADDRESS__ +__coverity_macro __SANITIZE_ADDRESS__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __SANITIZE_THREAD__ +__coverity_macro __SANITIZE_THREAD__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __SIZE_TYPE__ +__coverity_macro __SIZE_TYPE__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __SSP_ALL__ +__coverity_macro __SSP_ALL__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __SSP_EXPLICIT__ +__coverity_macro __SSP_EXPLICIT__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __SSP_STRONG__ +__coverity_macro __SSP_STRONG__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __SSP__ +__coverity_macro __SSP__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __STDCPP_DEFAULT_NEW_ALIGNMENT__ +__coverity_macro __STDCPP_DEFAULT_NEW_ALIGNMENT__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __STDC_IEC_559_COMPLEX__ +__coverity_macro __STDC_IEC_559_COMPLEX__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __STDC_IEC_559__ +__coverity_macro __STDC_IEC_559__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __STDC_VERSION__ +__coverity_macro __STDC_VERSION__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __STDC__ +__coverity_macro __STDC__ +#else +__the_symbol_is_not_define + + + +ariables +__coverity_macro __cpp_inline_variables +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_lambdas +__coverity_macro __cpp_lambdas +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_modules +__coverity_macro __cpp_modules +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_namespace_attributes +__coverity_macro __cpp_namespace_attributes +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_nested_namespace_definitions +__coverity_macro __cpp_nested_namespace_definitions +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_noexcept_function_type +__coverity_macro __cpp_noexcept_function_type +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_nontype_template_args +__coverity_macro __cpp_nontype_template_args +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_nontype_template_parameter_auto +__coverity_macro __cpp_nontype_template_parameter_auto +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_nontype_template_parameter_class +__coverity_macro __cpp_nontype_template_parameter_class +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_nsdmi +__coverity_macro __cpp_nsdmi +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_range_based_for +__coverity_macro __cpp_range_based_for +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_raw_strings +__coverity_macro __cpp_raw_strings +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_ref_qualifiers +__coverity_macro __cpp_ref_qualifiers +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_return_type_deduction +__coverity_macro __cpp_return_type_deduction +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_rtti +__coverity_macro __cpp_rtti +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_runtime_arrays +__coverity_macro __cpp_runtime_arrays +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_rvalue_reference +__coverity_macro __cpp_rvalue_reference +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_rvalue_references +__coverity_macro __cpp_rvalue_references +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_size_t_suffix +__coverity_macro __cpp_size_t_suffix +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_sized_deallocation +__coverity_macro __cpp_sized_deallocation +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_static_assert +__coverity_macro __cpp_static_assert +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_structured_bindings +__coverity_macro __cpp_structured_bindings +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_template_template_args +__coverity_macro __cpp_template_template_args +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_threadsafe_static_init +__coverity_macro __cpp_threadsafe_static_init +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_transactional_memory +__coverity_macro __cpp_transactional_memory +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_unicode_characters +__coverity_macro __cpp_unicode_characters +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_unicode_literals +__coverity_macro __cpp_unicode_literals +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_user_defined_literals +__coverity_macro __cpp_user_defined_literals +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_using_enum +__coverity_macro __cpp_using_enum +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_variable_templates +__coverity_macro __cpp_variable_templates +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_variadic_templates +__coverity_macro __cpp_variadic_templates +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_variadic_using +__coverity_macro __cpp_variadic_using +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __pic__ +__coverity_macro __pic__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __pie__ +__coverity_macro __pie__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __private_extern__ +__coverity_macro __private_extern__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __unix__ +__coverity_macro __unix__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __vax__ +__coverity_macro __vax__ +#else +__the_symbol_is_not_defined__ +#endif + +**** END source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc++ -E -U__BLOCKS__ /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc++ -E -U__BLOCKS__ /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp +**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/pp_out +# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp" +# 1 "" +# 1 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 1 "" 2 +# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp" + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 3 + + + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 1 + + + + +__coverity_macro 1 + + + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 0 + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 1 + + + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 2 + + + + +__coverity_macro 9 + + + + +__coverity_macro 1 + + + + +__coverity_macro 1 + + + + +__coverity_macro 0 + + + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 2 + + + + +__coverity_macro 2 + + + + +__coverity_macro long int + + + + +__coverity_macro + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro long unsigned int + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 3 + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro +# 187 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp" 3 4 + 1 + + + + + +# 192 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp" +__coverity_macro +# 192 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp" 3 4 + 1 + + + + + + + +# 199 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp" +__the_symbol_is_not_defined__ + + +__coverity_macro 1 + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro + + + + +__coverity_macro "9.4.0" + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 201402L + + + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 201304 + + + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 200704 + + + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 200809 + + + + +__coverity_macro 201304 + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 201304 + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 200707 + + + + +__coverity_macro 201304 + + + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 200604 + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 199711 + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 201304 + + + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 201603 + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 201511 + + + + +__coverity_macro 201304 + + + + +__coverity_macro 200806 + + + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 200907 + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 200809 + + + + +__coverity_macro 200907 + + + + +__coverity_macro 200710 + + + + +__coverity_macro 200710 + + + + +__coverity_macro 201304 + + + + +__coverity_macro 199711 + + + + +__coverity_macro 198712 + + + + +__coverity_macro 200610 + + + + +__coverity_macro 200610 + + + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 201309 + + + + +__coverity_macro 200410 + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 200806 + + + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 200704 + + + + +__coverity_macro 200710 + + + + +__coverity_macro 200809 + + + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 201304 + + + + +__coverity_macro 200704 + + + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 2 + + + + +__coverity_macro 2 + + + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 1 + + + + + + +__the_symbol_is_not_defined__ + +**** END FILE output *** +**** BEGIN FILE error: +cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ + +**** END FILE error *** +**** END PROBE get_macros **** +Failed to find header /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/templates/gnu/cpp.h +[STATUS] g++-config-0: Running config probes +**** BEGIN PROBE run_linker_config_probe **** +Running command "/usr/bin/cc -std=gnu90 -print-search-dirs". +pipe_command: /usr/bin/cc -std=gnu90 -print-search-dirs +pipe_commands starting: /usr/bin/cc -std=gnu90 -print-search-dirs +**** BEGIN OUTPUT run_linker_config_probe **** +install: /usr/lib/gcc/x86_64-linux-gnu/9/ +programs: =/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/ +libraries: =/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/9/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/9/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ +**** END OUTPUT run_linker_config_probe **** +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/'. +**** Found library search path '/lib/x86_64-linux-gnu/9/'. +**** Found library search path '/lib/x86_64-linux-gnu/'. +**** Found library search path '/lib/../lib/'. +**** Found library search path '/usr/lib/x86_64-linux-gnu/9/'. +**** Found library search path '/usr/lib/x86_64-linux-gnu/'. +**** Found library search path '/usr/lib/../lib/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../'. +**** Found library search path '/lib/'. +**** Found library search path '/usr/lib/'. +**** END PROBE run_linker_config_probe **** +**** BEGIN PROBE run_linker_config_probe **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c +int main() {} +**** END FILE source file *** +Running command "/usr/bin/cc -std=gnu90 -Wl,--trace test.c". +pipe_command: /usr/bin/cc -std=gnu90 -Wl,--trace test.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -Wl,--trace test.c +**** BEGIN OUTPUT run_linker_config_probe **** +/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o +/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o +/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o +/tmp/ccKCr9m5.o +/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +/usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so +/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 +/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so +/lib/x86_64-linux-gnu/libc.so.6 +/usr/lib/x86_64-linux-gnu/libc_nonshared.a +/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 +/usr/lib/x86_64-linux-gnu/libc_nonshared.a +/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 +/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +/usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so +/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 +/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o +/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o +**** END OUTPUT run_linker_config_probe **** +[WARNING]: expecting first line to be a mode line but got: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o +[WARNING]: /tmp/ccKCr9m5.o eliminated because it does not exist in the file system. +**** END PROBE run_linker_config_probe **** diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity-compiler-compat.h b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity-compiler-compat.h new file mode 100644 index 000000000..e0ddbee51 --- /dev/null +++ b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity-compiler-compat.h @@ -0,0 +1,8657 @@ + +#if __COVERITY__ +#if !defined(COVERITY_COMPAT_4a622ee35a6c29d94c1d6dbcfdfbe3b3) +#define COVERITY_COMPAT_4a622ee35a6c29d94c1d6dbcfdfbe3b3 +#pragma builtin begin + +/* + Copyright (c) 2022 Synopsys, Inc. All rights reserved worldwide. + The information contained in this file is the proprietary and confidential + information of Synopsys, Inc. and its licensors, and is supplied subject to, + and may be used only by Synopsys customers in accordance with the terms and + conditions of a previously executed license agreement between Synopsys and + that customer. +*/ + + +/* DO NOT MODIFY THE CONTENTS OF THIS FILE */ + +// __coverity_cplusplus is provided to handle cases where the C++ standard +// __cplusplus predefined macro is not defined. +#define __coverity_cplusplus + +#if defined(__APPLE__) +#if defined(__BLOCKS__) +#undef __BLOCKS__ +#endif +const void* __builtin___CFStringMakeConstantString(const char*); +#endif + +/* Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. */ +#ifdef __coverity_cplusplus +extern "C" { +#endif + +#if defined(__arm__) || defined(__ARM_NEON__) || defined(__aarch64__) + +// Type aliases common to several targets + +typedef char __simd128_int8_t __attribute__((__vector_size__(16))); +typedef short __simd128_int16_t __attribute__((__vector_size__(16))); +typedef int __simd128_int32_t __attribute__((__vector_size__(16))); +typedef long long __simd128_int64_t __attribute__((__vector_size__(16))); +typedef unsigned char __simd128_uint8_t __attribute__((__vector_size__(16))); +typedef unsigned short __simd128_uint16_t __attribute__((__vector_size__(16))); +typedef unsigned int __simd128_uint32_t __attribute__((__vector_size__(16))); +typedef unsigned long long __simd128_uint64_t __attribute__((__vector_size__(16))); +typedef float cov_fp16_t __attribute__((mode(HF))); +typedef float __simd128_float32_t __attribute__((__vector_size__(16))); +typedef cov_fp16_t __simd128_float16_t __attribute__((__vector_size__(16))); +typedef int __builtin_neon_oi __attribute__ ((__vector_size__(32))); +typedef int __builtin_neon_xi __attribute__ ((__vector_size__(64))); +typedef cov_fp16_t __bf16; + +#endif // defined(__arm__) || defined(__ARM_NEON__) || defined(__aarch64__) + + +#ifdef __arm__ + +void __builtin_cxa_end_cleanup(); +void __builtin_arm_cdp(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); +void __builtin_arm_cdp2(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); +unsigned int __builtin_arm_crc32b(unsigned int, unsigned char); +unsigned int __builtin_arm_crc32cb(unsigned int, unsigned char); +unsigned int __builtin_arm_crc32ch(unsigned int, short unsigned int); +unsigned int __builtin_arm_crc32cw(unsigned int, unsigned int); +unsigned int __builtin_arm_crc32h(unsigned int, short unsigned int); +unsigned int __builtin_arm_crc32w(unsigned int, unsigned int); +void __builtin_arm_ldc(unsigned int, unsigned int, const void*); +void __builtin_arm_ldc2(unsigned int, unsigned int, const void*); +void __builtin_arm_ldc2l(unsigned int, unsigned int, const void*); +void __builtin_arm_ldcl(unsigned int, unsigned int, const void*); +void __builtin_arm_mcr(unsigned int, unsigned int, int, unsigned int, unsigned int, unsigned int); +void __builtin_arm_mcr2(unsigned int, unsigned int, int, unsigned int, unsigned int, unsigned int); +void __builtin_arm_mcrr(unsigned int, unsigned int, long long int, unsigned int); +void __builtin_arm_mcrr2(unsigned int, unsigned int, long long int, unsigned int); +int __builtin_arm_mrc(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); +int __builtin_arm_mrc2(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); +long long int __builtin_arm_mrrc(unsigned int, unsigned int, unsigned int); +long long int __builtin_arm_mrrc2(unsigned int, unsigned int, unsigned int); +void __builtin_arm_stc(unsigned int, unsigned int, void*); +void __builtin_arm_stc2(unsigned int, unsigned int, void*); +void __builtin_arm_stc2l(unsigned int, unsigned int, void*); +void __builtin_arm_stcl(unsigned int, unsigned int, void*); +void* __builtin___emutls_get_address(void*); +void __builtin___emutls_register_common(void*, unsigned int, unsigned int, void*); +unsigned int __builtin_arm_get_fpscr (); +void __builtin_arm_set_fpscr (unsigned int); + +int __builtin_arm_saturation_occurred(void); +int __builtin_arm_qadd(int, int); +int __builtin_arm_qadd16(int, int); +int __builtin_arm_qadd8(int, int); +int __builtin_arm_qasx(int, int); +int __builtin_arm_qsax(int, int); +int __builtin_arm_qsub(int, int); +int __builtin_arm_qsub16(int, int); +int __builtin_arm_qsub8(int, int); +int __builtin_arm_sadd16(int, int); +int __builtin_arm_sadd8(int, int); +int __builtin_arm_sasx(int, int); +unsigned int __builtin_arm_sel(unsigned int, unsigned int); +void __builtin_arm_set_saturation(int); +int __builtin_arm_shadd16(int, int); +int __builtin_arm_shadd8(int, int); +int __builtin_arm_shasx(int, int); +int __builtin_arm_shsax(int, int); +int __builtin_arm_shsub16(int, int); +int __builtin_arm_shsub8(int, int); +int __builtin_arm_smlabb(int, int, int); +int __builtin_arm_smlad(int, int, int); +int __builtin_arm_smladx(int, int, int); +long long int __builtin_arm_smlald(int, int, long long int); +long long int __builtin_arm_smlaldx(int, int, long long int); +int __builtin_arm_smlatb(int, int, int); +int __builtin_arm_smlatt(int, int, int); +int __builtin_arm_smlawb(int, int, int); +int __builtin_arm_smlawt(int, int, int); +int __builtin_arm_smlsd(int, int, int); +int __builtin_arm_smlsdx(int, int, int); +long long int __builtin_arm_smlsld(int, int, long long int); +long long int __builtin_arm_smlsldx(int, int, long long int); +int __builtin_arm_smuad(int, int); +int __builtin_arm_smuadx(int, int); +int __builtin_arm_smusd(int, int); +int __builtin_arm_smusdx(int, int); +unsigned int __builtin_arm_ssat(int, unsigned int); +unsigned int __builtin_arm_ssat16(int, unsigned int); +int __builtin_arm_ssax(int, int); +int __builtin_arm_ssub16(int, int); +int __builtin_arm_ssub8(int, int); +int __builtin_arm_sxtab16(int, int); +int __builtin_arm_sxtb16(int); +unsigned int __builtin_arm_uadd16(unsigned int, unsigned int); +unsigned int __builtin_arm_uadd8(unsigned int, unsigned int); +unsigned int __builtin_arm_uasx(unsigned int, unsigned int); +unsigned int __builtin_arm_uhadd16(unsigned int, unsigned int); +unsigned int __builtin_arm_uhadd8(unsigned int, unsigned int); +unsigned int __builtin_arm_uhasx(unsigned int, unsigned int); +unsigned int __builtin_arm_uhsax(unsigned int, unsigned int); +unsigned int __builtin_arm_uhsub16(unsigned int, unsigned int); +unsigned int __builtin_arm_uhsub8(unsigned int, unsigned int); +unsigned int __builtin_arm_uqadd16(unsigned int, unsigned int); +unsigned int __builtin_arm_uqadd8(unsigned int, unsigned int); +unsigned int __builtin_arm_uqasx(unsigned int, unsigned int); +unsigned int __builtin_arm_uqsax(unsigned int, unsigned int); +unsigned int __builtin_arm_uqsub16(unsigned int, unsigned int); +unsigned int __builtin_arm_uqsub8(unsigned int, unsigned int); +unsigned int __builtin_arm_usad8(unsigned int, unsigned int); +unsigned int __builtin_arm_usada8(unsigned int, unsigned int, unsigned int); +unsigned int __builtin_arm_usat(int, unsigned int); +unsigned int __builtin_arm_usat16(int, unsigned int); +unsigned int __builtin_arm_usax(unsigned int, unsigned int); +unsigned int __builtin_arm_usub16(unsigned int, unsigned int); +unsigned int __builtin_arm_usub8(unsigned int, unsigned int); +unsigned int __builtin_arm_uxtab16(unsigned int, unsigned int); +unsigned int __builtin_arm_uxtb16(unsigned int); +void __builtin_sat_imm_check(int, int, int); +void* __emutls_get_address(void*); +void __emutls_register_common(void*, unsigned int, unsigned int, void*); +__bf16 __divbc3(__bf16, __bf16, __bf16, __bf16); +__bf16 __mulbc3(__bf16, __bf16, __bf16, __bf16); + +// -mfp16-format=ieee +__bf16 __divhc3(__bf16, __bf16, __bf16, __bf16); +__bf16 __mulhc3(__bf16, __bf16, __bf16, __bf16); + +// -march=armv8-m.main+cdecp0 +long long int __builtin_arm_cx1adi(int, long long int, unsigned int); +int __builtin_arm_cx1asi(int, int, unsigned int); +long long int __builtin_arm_cx1di(int, unsigned int); +int __builtin_arm_cx1si(int, unsigned int); +long long int __builtin_arm_cx2adi(int, long long int, int, unsigned int); +int __builtin_arm_cx2asi(int, int, int, unsigned int); +long long int __builtin_arm_cx2di(int, int, unsigned int); +int __builtin_arm_cx2si(int, int, unsigned int); +long long int __builtin_arm_cx3adi(int, long long int, int, int, unsigned int); +int __builtin_arm_cx3asi(int, int, int, int, unsigned int); +long long int __builtin_arm_cx3di(int, int, int, unsigned int); +int __builtin_arm_cx3si(int, int, int, unsigned int); + +// -mfloat-abi=hard -march=armv8.1-m.main+mve+cdecp0 +long long int __builtin_arm_vcx1adi(int, long long int, unsigned int); +int __builtin_arm_vcx1asi(int, int, unsigned int); +long long int __builtin_arm_vcx1di(int, unsigned int); +__simd128_int8_t __builtin_arm_vcx1qa_p_v16qi(int, __simd128_int8_t, unsigned int, short unsigned int); +__simd128_int8_t __builtin_arm_vcx1qav16qi(int, __simd128_int8_t, unsigned int); +__simd128_int8_t __builtin_arm_vcx1q_p_v16qi(int, __simd128_int8_t, unsigned int, short unsigned int); +__simd128_int8_t __builtin_arm_vcx1qv16qi(int, unsigned int); +int __builtin_arm_vcx1si(int, unsigned int); +long long int __builtin_arm_vcx2adi(int, long long int, long long int, unsigned int); +int __builtin_arm_vcx2asi(int, int, int, unsigned int); +long long int __builtin_arm_vcx2di(int, long long int, unsigned int); +__simd128_int8_t __builtin_arm_vcx2qa_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); +__simd128_int8_t __builtin_arm_vcx2qav16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int); +__simd128_int8_t __builtin_arm_vcx2q_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); +__simd128_int8_t __builtin_arm_vcx2qv16qi(int, __simd128_int8_t, unsigned int); +int __builtin_arm_vcx2si(int, int, unsigned int); +long long int __builtin_arm_vcx3adi(int, long long int, long long int, long long int, unsigned int); +int __builtin_arm_vcx3asi(int, int, int, int, unsigned int); +long long int __builtin_arm_vcx3di(int, long long int, long long int, unsigned int); +__simd128_int8_t __builtin_arm_vcx3qa_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); +__simd128_int8_t __builtin_arm_vcx3qav16qi(int, __simd128_int8_t, __simd128_int8_t, __simd128_int8_t, unsigned int); +__simd128_int8_t __builtin_arm_vcx3q_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); +__simd128_int8_t __builtin_arm_vcx3qv16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int); +int __builtin_arm_vcx3si(int, int, int, unsigned int); + +// -march=armv8.1-m.main+mve -mfloat-abi=hard +int __builtin_arm_get_fpscr_nzcvqc(void); +void __builtin_arm_set_fpscr_nzcvqc(int); +long long int __builtin_mve_sqrshrl_sat48_di(long long int, int); +long long int __builtin_mve_sqrshrl_sat64_di(long long int, int); +int __builtin_mve_sqrshr_si(int, int); +long long unsigned int __builtin_mve_sqshll_di(long long unsigned int, const int); +unsigned int __builtin_mve_sqshl_si(long long unsigned int, const int); +long long unsigned int __builtin_mve_srshrl_di(long long unsigned int, const int); +unsigned int __builtin_mve_srshr_si(long long unsigned int, const int); +long long unsigned int __builtin_mve_uqrshll_sat48_di(long long unsigned int, int); +long long unsigned int __builtin_mve_uqrshll_sat64_di(long long unsigned int, int); +unsigned int __builtin_mve_uqrshl_si(unsigned int, int); +long long unsigned int __builtin_mve_uqshll_di(long long unsigned int, const int); +unsigned int __builtin_mve_uqshl_si(unsigned int, const int); +long long unsigned int __builtin_mve_urshrl_di(long long unsigned int, const int); +unsigned int __builtin_mve_urshr_si(unsigned int, const int); +unsigned int __builtin_mve_vabavq_p_sv16qi(unsigned int, __simd128_int8_t, __simd128_int8_t, short unsigned int); +unsigned int __builtin_mve_vabavq_p_sv4si(unsigned int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +unsigned int __builtin_mve_vabavq_p_sv8hi(unsigned int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +unsigned int __builtin_mve_vabavq_p_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +unsigned int __builtin_mve_vabavq_p_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +unsigned int __builtin_mve_vabavq_p_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +unsigned int __builtin_mve_vabavq_sv16qi(unsigned int, __simd128_int8_t, __simd128_int8_t); +unsigned int __builtin_mve_vabavq_sv4si(unsigned int, __simd128_int32_t, __simd128_int32_t); +unsigned int __builtin_mve_vabavq_sv8hi(unsigned int, __simd128_int16_t, __simd128_int16_t); +unsigned int __builtin_mve_vabavq_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t); +unsigned int __builtin_mve_vabavq_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t); +unsigned int __builtin_mve_vabavq_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vabdq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vabdq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vabdq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vabdq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vabdq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vabdq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vabdq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vabdq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vabdq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vabdq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vabdq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vabdq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vabdq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vabdq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vabdq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vabdq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vabsq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vabsq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vabsq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vabsq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vabsq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vabsq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vabsq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vabsq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vabsq_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vabsq_sv8hi(__simd128_int16_t); +__simd128_int32_t __builtin_mve_vadciq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vadciq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vadciq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_uint32_t __builtin_mve_vadciq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_int32_t __builtin_mve_vadcq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vadcq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vadcq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_uint32_t __builtin_mve_vadcq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +long long int __builtin_mve_vaddlvaq_p_sv4si(long long int, __simd128_int32_t, short unsigned int); +long long unsigned int __builtin_mve_vaddlvaq_p_uv4si(long long unsigned int, __simd128_uint32_t, short unsigned int); +long long int __builtin_mve_vaddlvaq_sv4si(long long int, __simd128_int32_t); +long long unsigned int __builtin_mve_vaddlvaq_uv4si(long long unsigned int, __simd128_uint32_t); +long long int __builtin_mve_vaddlvq_p_sv4si(__simd128_int32_t, short unsigned int); +long long unsigned int __builtin_mve_vaddlvq_p_uv4si(__simd128_uint32_t, short unsigned int); +long long int __builtin_mve_vaddlvq_sv4si(__simd128_int32_t); +long long unsigned int __builtin_mve_vaddlvq_uv4si(__simd128_uint32_t); +__simd128_float32_t __builtin_mve_vaddq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vaddq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vaddq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); +__simd128_float16_t __builtin_mve_vaddq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); +__simd128_int8_t __builtin_mve_vaddq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vaddq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vaddq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vaddq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vaddq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vaddq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vaddq_n_fv4sf(__simd128_float32_t, float); +__simd128_float16_t __builtin_mve_vaddq_n_fv8hf(__simd128_float16_t, __bf16); +__simd128_int8_t __builtin_mve_vaddq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vaddq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vaddq_n_sv8hi(__simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vaddq_n_uv16qi(__simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vaddq_n_uv4si(__simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vaddq_n_uv8hi(__simd128_uint16_t, short unsigned int); +int __builtin_mve_vaddvaq_p_sv16qi(int, __simd128_int8_t, short unsigned int); +int __builtin_mve_vaddvaq_p_sv4si(int, __simd128_int32_t, short unsigned int); +int __builtin_mve_vaddvaq_p_sv8hi(int, __simd128_int16_t, short unsigned int); +unsigned int __builtin_mve_vaddvaq_p_uv16qi(unsigned int, __simd128_uint8_t, short unsigned int); +unsigned int __builtin_mve_vaddvaq_p_uv4si(unsigned int, __simd128_uint32_t, short unsigned int); +unsigned int __builtin_mve_vaddvaq_p_uv8hi(unsigned int, __simd128_uint16_t, short unsigned int); +int __builtin_mve_vaddvaq_sv16qi(int, __simd128_int8_t); +int __builtin_mve_vaddvaq_sv4si(int, __simd128_int32_t); +int __builtin_mve_vaddvaq_sv8hi(int, __simd128_int16_t); +unsigned int __builtin_mve_vaddvaq_uv16qi(unsigned int, __simd128_uint8_t); +unsigned int __builtin_mve_vaddvaq_uv4si(unsigned int, __simd128_uint32_t); +unsigned int __builtin_mve_vaddvaq_uv8hi(unsigned int, __simd128_uint16_t); +int __builtin_mve_vaddvq_p_sv16qi(__simd128_int8_t, short unsigned int); +int __builtin_mve_vaddvq_p_sv4si(__simd128_int32_t, short unsigned int); +int __builtin_mve_vaddvq_p_sv8hi(__simd128_int16_t, short unsigned int); +unsigned int __builtin_mve_vaddvq_p_uv16qi(__simd128_uint8_t, short unsigned int); +unsigned int __builtin_mve_vaddvq_p_uv4si(__simd128_uint32_t, short unsigned int); +unsigned int __builtin_mve_vaddvq_p_uv8hi(__simd128_uint16_t, short unsigned int); +int __builtin_mve_vaddvq_sv16qi(__simd128_int8_t); +int __builtin_mve_vaddvq_sv4si(__simd128_int32_t); +int __builtin_mve_vaddvq_sv8hi(__simd128_int16_t); +unsigned int __builtin_mve_vaddvq_uv16qi(__simd128_uint8_t); +unsigned int __builtin_mve_vaddvq_uv4si(__simd128_uint32_t); +unsigned int __builtin_mve_vaddvq_uv8hi(__simd128_uint16_t); +__simd128_float32_t __builtin_mve_vandq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vandq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vandq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vandq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vandq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vandq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vandq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vandq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vandq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vandq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vandq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vandq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vandq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vandq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vandq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vandq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vbicq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vbicq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vbicq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vbicq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vbicq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vbicq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vbicq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vbicq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vbicq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vbicq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vbicq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vbicq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vbicq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vbicq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vbicq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vbicq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint32_t __builtin_mve_vbicq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vbicq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vbicq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vbicq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vbicq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vbicq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vbicq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vbicq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vbrsrq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, int, short unsigned int); +__simd128_float16_t __builtin_mve_vbrsrq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vbrsrq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vbrsrq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vbrsrq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vbrsrq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vbrsrq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vbrsrq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_float32_t __builtin_mve_vbrsrq_n_fv4sf(__simd128_float32_t, int); +__simd128_float16_t __builtin_mve_vbrsrq_n_fv8hf(__simd128_float16_t, int); +__simd128_int8_t __builtin_mve_vbrsrq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vbrsrq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vbrsrq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vbrsrq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vbrsrq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vbrsrq_n_uv8hi(__simd128_uint16_t, int); +__simd128_float32_t __builtin_mve_vcaddq_rot270_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcaddq_rot270_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcaddq_rot270_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcaddq_rot270_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vcaddq_rot270_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcaddq_rot270_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vcaddq_rot270_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vcaddq_rot270_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vcaddq_rot270_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vcaddq_rot270_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vcaddq_rot270_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vcaddq_rot270_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vcaddq_rot270_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vcaddq_rot270_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vcaddq_rot270_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vcaddq_rot270_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vcaddq_rot90_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcaddq_rot90_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcaddq_rot90_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcaddq_rot90_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vcaddq_rot90_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcaddq_rot90_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vcaddq_rot90_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vcaddq_rot90_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vcaddq_rot90_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vcaddq_rot90_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vcaddq_rot90_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vcaddq_rot90_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vcaddq_rot90_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vcaddq_rot90_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vcaddq_rot90_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vcaddq_rot90_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_int8_t __builtin_mve_vclsq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vclsq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vclsq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vclsq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vclsq_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vclsq_sv8hi(__simd128_int16_t); +__simd128_int8_t __builtin_mve_vclzq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vclzq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vclzq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vclzq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vclzq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vclzq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vclzq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vclzq_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vclzq_sv8hi(__simd128_int16_t); +__simd128_uint8_t __builtin_mve_vclzq_uv16qi(__simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vclzq_uv4si(__simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vclzq_uv8hi(__simd128_uint16_t); +__simd128_float32_t __builtin_mve_vcmlaq_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmlaq_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmlaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmlaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcmlaq_rot180_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmlaq_rot180_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmlaq_rot180_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmlaq_rot180_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcmlaq_rot270_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmlaq_rot270_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmlaq_rot270_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmlaq_rot270_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcmlaq_rot90_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmlaq_rot90_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmlaq_rot90_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmlaq_rot90_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_n_uv16qi(__simd128_uint8_t, unsigned char); +short unsigned int __builtin_mve_vcmpcsq_n_uv4si(__simd128_uint32_t, unsigned int); +short unsigned int __builtin_mve_vcmpcsq_n_uv8hi(__simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +short unsigned int __builtin_mve_vcmpcsq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +short unsigned int __builtin_mve_vcmpcsq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +short unsigned int __builtin_mve_vcmpeqq_fv4sf(__simd128_float32_t, __simd128_float32_t); +short unsigned int __builtin_mve_vcmpeqq_fv8hf(__simd128_float16_t, __simd128_float16_t); +short unsigned int __builtin_mve_vcmpeqq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_n_fv4sf(__simd128_float32_t, float); +short unsigned int __builtin_mve_vcmpeqq_n_fv8hf(__simd128_float16_t, __bf16); +short unsigned int __builtin_mve_vcmpeqq_n_sv16qi(__simd128_int8_t, signed char); +short unsigned int __builtin_mve_vcmpeqq_n_sv4si(__simd128_int32_t, int); +short unsigned int __builtin_mve_vcmpeqq_n_sv8hi(__simd128_int16_t, short int); +short unsigned int __builtin_mve_vcmpeqq_n_uv16qi(__simd128_uint8_t, unsigned char); +short unsigned int __builtin_mve_vcmpeqq_n_uv4si(__simd128_uint32_t, unsigned int); +short unsigned int __builtin_mve_vcmpeqq_n_uv8hi(__simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_sv16qi(__simd128_int8_t, __simd128_int8_t); +short unsigned int __builtin_mve_vcmpeqq_sv4si(__simd128_int32_t, __simd128_int32_t); +short unsigned int __builtin_mve_vcmpeqq_sv8hi(__simd128_int16_t, __simd128_int16_t); +short unsigned int __builtin_mve_vcmpeqq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +short unsigned int __builtin_mve_vcmpeqq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +short unsigned int __builtin_mve_vcmpeqq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +short unsigned int __builtin_mve_vcmpgeq_fv4sf(__simd128_float32_t, __simd128_float32_t); +short unsigned int __builtin_mve_vcmpgeq_fv8hf(__simd128_float16_t, __simd128_float16_t); +short unsigned int __builtin_mve_vcmpgeq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_n_fv4sf(__simd128_float32_t, float); +short unsigned int __builtin_mve_vcmpgeq_n_fv8hf(__simd128_float16_t, __bf16); +short unsigned int __builtin_mve_vcmpgeq_n_sv16qi(__simd128_int8_t, signed char); +short unsigned int __builtin_mve_vcmpgeq_n_sv4si(__simd128_int32_t, int); +short unsigned int __builtin_mve_vcmpgeq_n_sv8hi(__simd128_int16_t, short int); +short unsigned int __builtin_mve_vcmpgeq_sv16qi(__simd128_int8_t, __simd128_int8_t); +short unsigned int __builtin_mve_vcmpgeq_sv4si(__simd128_int32_t, __simd128_int32_t); +short unsigned int __builtin_mve_vcmpgeq_sv8hi(__simd128_int16_t, __simd128_int16_t); +short unsigned int __builtin_mve_vcmpgtq_fv4sf(__simd128_float32_t, __simd128_float32_t); +short unsigned int __builtin_mve_vcmpgtq_fv8hf(__simd128_float16_t, __simd128_float16_t); +short unsigned int __builtin_mve_vcmpgtq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_n_fv4sf(__simd128_float32_t, float); +short unsigned int __builtin_mve_vcmpgtq_n_fv8hf(__simd128_float16_t, __bf16); +short unsigned int __builtin_mve_vcmpgtq_n_sv16qi(__simd128_int8_t, signed char); +short unsigned int __builtin_mve_vcmpgtq_n_sv4si(__simd128_int32_t, int); +short unsigned int __builtin_mve_vcmpgtq_n_sv8hi(__simd128_int16_t, short int); +short unsigned int __builtin_mve_vcmpgtq_sv16qi(__simd128_int8_t, __simd128_int8_t); +short unsigned int __builtin_mve_vcmpgtq_sv4si(__simd128_int32_t, __simd128_int32_t); +short unsigned int __builtin_mve_vcmpgtq_sv8hi(__simd128_int16_t, __simd128_int16_t); +short unsigned int __builtin_mve_vcmphiq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); +short unsigned int __builtin_mve_vcmphiq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmphiq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmphiq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +short unsigned int __builtin_mve_vcmphiq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +short unsigned int __builtin_mve_vcmphiq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmphiq_n_uv16qi(__simd128_uint8_t, unsigned char); +short unsigned int __builtin_mve_vcmphiq_n_uv4si(__simd128_uint32_t, unsigned int); +short unsigned int __builtin_mve_vcmphiq_n_uv8hi(__simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmphiq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +short unsigned int __builtin_mve_vcmphiq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +short unsigned int __builtin_mve_vcmphiq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +short unsigned int __builtin_mve_vcmpleq_fv4sf(__simd128_float32_t, __simd128_float32_t); +short unsigned int __builtin_mve_vcmpleq_fv8hf(__simd128_float16_t, __simd128_float16_t); +short unsigned int __builtin_mve_vcmpleq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_n_fv4sf(__simd128_float32_t, float); +short unsigned int __builtin_mve_vcmpleq_n_fv8hf(__simd128_float16_t, __bf16); +short unsigned int __builtin_mve_vcmpleq_n_sv16qi(__simd128_int8_t, signed char); +short unsigned int __builtin_mve_vcmpleq_n_sv4si(__simd128_int32_t, int); +short unsigned int __builtin_mve_vcmpleq_n_sv8hi(__simd128_int16_t, short int); +short unsigned int __builtin_mve_vcmpleq_sv16qi(__simd128_int8_t, __simd128_int8_t); +short unsigned int __builtin_mve_vcmpleq_sv4si(__simd128_int32_t, __simd128_int32_t); +short unsigned int __builtin_mve_vcmpleq_sv8hi(__simd128_int16_t, __simd128_int16_t); +short unsigned int __builtin_mve_vcmpltq_fv4sf(__simd128_float32_t, __simd128_float32_t); +short unsigned int __builtin_mve_vcmpltq_fv8hf(__simd128_float16_t, __simd128_float16_t); +short unsigned int __builtin_mve_vcmpltq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_n_fv4sf(__simd128_float32_t, float); +short unsigned int __builtin_mve_vcmpltq_n_fv8hf(__simd128_float16_t, __bf16); +short unsigned int __builtin_mve_vcmpltq_n_sv16qi(__simd128_int8_t, signed char); +short unsigned int __builtin_mve_vcmpltq_n_sv4si(__simd128_int32_t, int); +short unsigned int __builtin_mve_vcmpltq_n_sv8hi(__simd128_int16_t, short int); +short unsigned int __builtin_mve_vcmpltq_sv16qi(__simd128_int8_t, __simd128_int8_t); +short unsigned int __builtin_mve_vcmpltq_sv4si(__simd128_int32_t, __simd128_int32_t); +short unsigned int __builtin_mve_vcmpltq_sv8hi(__simd128_int16_t, __simd128_int16_t); +short unsigned int __builtin_mve_vcmpneq_fv4sf(__simd128_float32_t, __simd128_float32_t); +short unsigned int __builtin_mve_vcmpneq_fv8hf(__simd128_float16_t, __simd128_float16_t); +short unsigned int __builtin_mve_vcmpneq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_n_fv4sf(__simd128_float32_t, float); +short unsigned int __builtin_mve_vcmpneq_n_fv8hf(__simd128_float16_t, __bf16); +short unsigned int __builtin_mve_vcmpneq_n_sv16qi(__simd128_int8_t, signed char); +short unsigned int __builtin_mve_vcmpneq_n_sv4si(__simd128_int32_t, int); +short unsigned int __builtin_mve_vcmpneq_n_sv8hi(__simd128_int16_t, short int); +short unsigned int __builtin_mve_vcmpneq_n_uv16qi(__simd128_uint8_t, unsigned char); +short unsigned int __builtin_mve_vcmpneq_n_uv4si(__simd128_uint32_t, unsigned int); +short unsigned int __builtin_mve_vcmpneq_n_uv8hi(__simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_sv16qi(__simd128_int8_t, __simd128_int8_t); +short unsigned int __builtin_mve_vcmpneq_sv4si(__simd128_int32_t, __simd128_int32_t); +short unsigned int __builtin_mve_vcmpneq_sv8hi(__simd128_int16_t, __simd128_int16_t); +short unsigned int __builtin_mve_vcmpneq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +short unsigned int __builtin_mve_vcmpneq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +short unsigned int __builtin_mve_vcmpneq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vcmulq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmulq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmulq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmulq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcmulq_rot180_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmulq_rot180_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmulq_rot180_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmulq_rot180_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcmulq_rot270_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmulq_rot270_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmulq_rot270_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmulq_rot270_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcmulq_rot90_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmulq_rot90_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmulq_rot90_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmulq_rot90_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcreateq_fv4sf(long long unsigned int, long long unsigned int); +__simd128_float16_t __builtin_mve_vcreateq_fv8hf(long long unsigned int, long long unsigned int); +__simd128_int8_t __builtin_mve_vcreateq_sv16qi(long long unsigned int, long long unsigned int); +__simd128_int64_t __builtin_mve_vcreateq_sv2di(long long unsigned int, long long unsigned int); +__simd128_int32_t __builtin_mve_vcreateq_sv4si(long long unsigned int, long long unsigned int); +__simd128_int16_t __builtin_mve_vcreateq_sv8hi(long long unsigned int, long long unsigned int); +__simd128_uint8_t __builtin_mve_vcreateq_uv16qi(long long unsigned int, long long unsigned int); +__simd128_uint64_t __builtin_mve_vcreateq_uv2di(long long unsigned int, long long unsigned int); +__simd128_uint32_t __builtin_mve_vcreateq_uv4si(long long unsigned int, long long unsigned int); +__simd128_uint16_t __builtin_mve_vcreateq_uv8hi(long long unsigned int, long long unsigned int); +short unsigned int __builtin_mve_vctp16qhi(unsigned int); +short unsigned int __builtin_mve_vctp16q_mhi(unsigned int, short unsigned int); +short unsigned int __builtin_mve_vctp32qhi(unsigned int); +short unsigned int __builtin_mve_vctp32q_mhi(unsigned int, short unsigned int); +short unsigned int __builtin_mve_vctp64qhi(unsigned int); +short unsigned int __builtin_mve_vctp64q_mhi(unsigned int, short unsigned int); +short unsigned int __builtin_mve_vctp8qhi(unsigned int); +short unsigned int __builtin_mve_vctp8q_mhi(unsigned int, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtaq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vcvtaq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vcvtaq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vcvtaq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtaq_sv4si(__simd128_float32_t); +__simd128_int16_t __builtin_mve_vcvtaq_sv8hi(__simd128_float16_t); +__simd128_uint32_t __builtin_mve_vcvtaq_uv4si(__simd128_float32_t); +__simd128_uint16_t __builtin_mve_vcvtaq_uv8hi(__simd128_float16_t); +__simd128_float16_t __builtin_mve_vcvtbq_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t); +__simd128_float32_t __builtin_mve_vcvtbq_f32_f16v4sf(__simd128_float16_t); +__simd128_float16_t __builtin_mve_vcvtbq_m_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcvtbq_m_f32_f16v4sf(__simd128_float32_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtmq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vcvtmq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vcvtmq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vcvtmq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtmq_sv4si(__simd128_float32_t); +__simd128_int16_t __builtin_mve_vcvtmq_sv8hi(__simd128_float16_t); +__simd128_uint32_t __builtin_mve_vcvtmq_uv4si(__simd128_float32_t); +__simd128_uint16_t __builtin_mve_vcvtmq_uv8hi(__simd128_float16_t); +__simd128_int32_t __builtin_mve_vcvtnq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vcvtnq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vcvtnq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vcvtnq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtnq_sv4si(__simd128_float32_t); +__simd128_int16_t __builtin_mve_vcvtnq_sv8hi(__simd128_float16_t); +__simd128_uint32_t __builtin_mve_vcvtnq_uv4si(__simd128_float32_t); +__simd128_uint16_t __builtin_mve_vcvtnq_uv8hi(__simd128_float16_t); +__simd128_int32_t __builtin_mve_vcvtpq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vcvtpq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vcvtpq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vcvtpq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtpq_sv4si(__simd128_float32_t); +__simd128_int16_t __builtin_mve_vcvtpq_sv8hi(__simd128_float16_t); +__simd128_uint32_t __builtin_mve_vcvtpq_uv4si(__simd128_float32_t); +__simd128_uint16_t __builtin_mve_vcvtpq_uv8hi(__simd128_float16_t); +__simd128_int32_t __builtin_mve_vcvtq_from_f_sv4si(__simd128_float32_t); +__simd128_int16_t __builtin_mve_vcvtq_from_f_sv8hi(__simd128_float16_t); +__simd128_uint32_t __builtin_mve_vcvtq_from_f_uv4si(__simd128_float32_t); +__simd128_uint16_t __builtin_mve_vcvtq_from_f_uv8hi(__simd128_float16_t); +__simd128_int32_t __builtin_mve_vcvtq_m_from_f_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vcvtq_m_from_f_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vcvtq_m_from_f_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vcvtq_m_from_f_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtq_m_n_from_f_sv4si(__simd128_int32_t, __simd128_float32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vcvtq_m_n_from_f_sv8hi(__simd128_int16_t, __simd128_float16_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vcvtq_m_n_from_f_uv4si(__simd128_uint32_t, __simd128_float32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vcvtq_m_n_from_f_uv8hi(__simd128_uint16_t, __simd128_float16_t, int, short unsigned int); +__simd128_float32_t __builtin_mve_vcvtq_m_n_to_f_sv4sf(__simd128_float32_t, __simd128_int32_t, int, short unsigned int); +__simd128_float16_t __builtin_mve_vcvtq_m_n_to_f_sv8hf(__simd128_float16_t, __simd128_int16_t, int, short unsigned int); +__simd128_float32_t __builtin_mve_vcvtq_m_n_to_f_uv4sf(__simd128_float32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_float16_t __builtin_mve_vcvtq_m_n_to_f_uv8hf(__simd128_float16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_float32_t __builtin_mve_vcvtq_m_to_f_sv4sf(__simd128_float32_t, __simd128_int32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcvtq_m_to_f_sv8hf(__simd128_float16_t, __simd128_int16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcvtq_m_to_f_uv4sf(__simd128_float32_t, __simd128_uint32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcvtq_m_to_f_uv8hf(__simd128_float16_t, __simd128_uint16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtq_n_from_f_sv4si(__simd128_float32_t, int); +__simd128_int16_t __builtin_mve_vcvtq_n_from_f_sv8hi(__simd128_float16_t, int); +__simd128_uint32_t __builtin_mve_vcvtq_n_from_f_uv4si(__simd128_float32_t, int); +__simd128_uint16_t __builtin_mve_vcvtq_n_from_f_uv8hi(__simd128_float16_t, int); +__simd128_float32_t __builtin_mve_vcvtq_n_to_f_sv4sf(__simd128_int32_t, int); +__simd128_float16_t __builtin_mve_vcvtq_n_to_f_sv8hf(__simd128_int16_t, int); +__simd128_float32_t __builtin_mve_vcvtq_n_to_f_uv4sf(__simd128_uint32_t, int); +__simd128_float16_t __builtin_mve_vcvtq_n_to_f_uv8hf(__simd128_uint16_t, int); +__simd128_float32_t __builtin_mve_vcvtq_to_f_sv4sf(__simd128_int32_t); +__simd128_float16_t __builtin_mve_vcvtq_to_f_sv8hf(__simd128_int16_t); +__simd128_float32_t __builtin_mve_vcvtq_to_f_uv4sf(__simd128_uint32_t); +__simd128_float16_t __builtin_mve_vcvtq_to_f_uv8hf(__simd128_uint16_t); +__simd128_float16_t __builtin_mve_vcvttq_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t); +__simd128_float32_t __builtin_mve_vcvttq_f32_f16v4sf(__simd128_float16_t); +__simd128_float16_t __builtin_mve_vcvttq_m_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcvttq_m_f32_f16v4sf(__simd128_float32_t, __simd128_float16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vddupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vddupq_m_n_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vddupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vddupq_n_uv16qi(unsigned int, int); +__simd128_uint32_t __builtin_mve_vddupq_n_uv4si(unsigned int, int); +__simd128_uint16_t __builtin_mve_vddupq_n_uv8hi(unsigned int, int); +__simd128_float32_t __builtin_mve_vdupq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); +__simd128_float16_t __builtin_mve_vdupq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); +__simd128_int8_t __builtin_mve_vdupq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vdupq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vdupq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vdupq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vdupq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vdupq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_float32_t __builtin_mve_vdupq_n_fv4sf(float); +__simd128_float16_t __builtin_mve_vdupq_n_fv8hf(__bf16); +__simd128_int8_t __builtin_mve_vdupq_n_sv16qi(signed char); +__simd128_int32_t __builtin_mve_vdupq_n_sv4si(int); +__simd128_int16_t __builtin_mve_vdupq_n_sv8hi(short int); +__simd128_uint8_t __builtin_mve_vdupq_n_uv16qi(unsigned char); +__simd128_uint32_t __builtin_mve_vdupq_n_uv4si(unsigned int); +__simd128_uint16_t __builtin_mve_vdupq_n_uv8hi(short unsigned int); +__simd128_uint8_t __builtin_mve_vdwdupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vdwdupq_m_n_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vdwdupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); +unsigned int __builtin_mve_vdwdupq_m_wb_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); +unsigned int __builtin_mve_vdwdupq_m_wb_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); +unsigned int __builtin_mve_vdwdupq_m_wb_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vdwdupq_n_uv16qi(unsigned int, long long unsigned int, int); +__simd128_uint32_t __builtin_mve_vdwdupq_n_uv4si(unsigned int, long long unsigned int, int); +__simd128_uint16_t __builtin_mve_vdwdupq_n_uv8hi(unsigned int, long long unsigned int, int); +unsigned int __builtin_mve_vdwdupq_wb_uv16qi(unsigned int, long long unsigned int, int); +unsigned int __builtin_mve_vdwdupq_wb_uv4si(unsigned int, long long unsigned int, int); +unsigned int __builtin_mve_vdwdupq_wb_uv8hi(unsigned int, long long unsigned int, int); +__simd128_float32_t __builtin_mve_veorq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_veorq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_veorq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_veorq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_veorq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_veorq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_veorq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_veorq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_veorq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_veorq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_veorq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_veorq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_veorq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_veorq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_veorq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_veorq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vfmaq_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vfmaq_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vfmaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vfmaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vfmaq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); +__simd128_float16_t __builtin_mve_vfmaq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); +__simd128_float32_t __builtin_mve_vfmaq_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float); +__simd128_float16_t __builtin_mve_vfmaq_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16); +__simd128_float32_t __builtin_mve_vfmasq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); +__simd128_float16_t __builtin_mve_vfmasq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); +__simd128_float32_t __builtin_mve_vfmasq_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float); +__simd128_float16_t __builtin_mve_vfmasq_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16); +__simd128_float32_t __builtin_mve_vfmsq_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vfmsq_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vfmsq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vfmsq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vhaddq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vhaddq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vhaddq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vhaddq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vhaddq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vhaddq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vhaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vhaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vhaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vhaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vhaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vhaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vhaddq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vhaddq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vhaddq_n_sv8hi(__simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vhaddq_n_uv16qi(__simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vhaddq_n_uv4si(__simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vhaddq_n_uv8hi(__simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vhaddq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vhaddq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vhaddq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vhaddq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vhaddq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vhaddq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_int8_t __builtin_mve_vhcaddq_rot270_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vhcaddq_rot270_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vhcaddq_rot270_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vhcaddq_rot270_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vhcaddq_rot270_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vhcaddq_rot270_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vhcaddq_rot90_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vhcaddq_rot90_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vhcaddq_rot90_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vhcaddq_rot90_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vhcaddq_rot90_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vhcaddq_rot90_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vhsubq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vhsubq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vhsubq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vhsubq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vhsubq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vhsubq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vhsubq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vhsubq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vhsubq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vhsubq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vhsubq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vhsubq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vhsubq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vhsubq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vhsubq_n_sv8hi(__simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vhsubq_n_uv16qi(__simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vhsubq_n_uv4si(__simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vhsubq_n_uv8hi(__simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vhsubq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vhsubq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vhsubq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vhsubq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vhsubq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vhsubq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_uint8_t __builtin_mve_vidupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vidupq_m_n_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vidupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vidupq_n_uv16qi(unsigned int, int); +__simd128_uint32_t __builtin_mve_vidupq_n_uv4si(unsigned int, int); +__simd128_uint16_t __builtin_mve_vidupq_n_uv8hi(unsigned int, int); +__simd128_uint8_t __builtin_mve_viwdupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); +__simd128_uint32_t __builtin_mve_viwdupq_m_n_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); +__simd128_uint16_t __builtin_mve_viwdupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); +unsigned int __builtin_mve_viwdupq_m_wb_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); +unsigned int __builtin_mve_viwdupq_m_wb_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); +unsigned int __builtin_mve_viwdupq_m_wb_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); +__simd128_uint8_t __builtin_mve_viwdupq_n_uv16qi(unsigned int, long long unsigned int, int); +__simd128_uint32_t __builtin_mve_viwdupq_n_uv4si(unsigned int, long long unsigned int, int); +__simd128_uint16_t __builtin_mve_viwdupq_n_uv8hi(unsigned int, long long unsigned int, int); +unsigned int __builtin_mve_viwdupq_wb_uv16qi(unsigned int, long long unsigned int, int); +unsigned int __builtin_mve_viwdupq_wb_uv4si(unsigned int, long long unsigned int, int); +unsigned int __builtin_mve_viwdupq_wb_uv8hi(unsigned int, long long unsigned int, int); +__simd128_float32_t __builtin_mve_vld1q_fv4sf(int*); +__simd128_float16_t __builtin_mve_vld1q_fv8hf(short int*); +__simd128_int8_t __builtin_mve_vld1q_sv16qi(signed char*); +__simd128_int32_t __builtin_mve_vld1q_sv4si(int*); +__simd128_int16_t __builtin_mve_vld1q_sv8hi(short int*); +__simd128_uint8_t __builtin_mve_vld1q_uv16qi(signed char*); +__simd128_uint32_t __builtin_mve_vld1q_uv4si(int*); +__simd128_uint16_t __builtin_mve_vld1q_uv8hi(short int*); +__builtin_neon_oi __builtin_mve_vld2qv16qi(const signed char*); +__builtin_neon_oi __builtin_mve_vld2qv4sf(const float*); +__builtin_neon_oi __builtin_mve_vld2qv4si(const int*); +__builtin_neon_oi __builtin_mve_vld2qv8hf(const __bf16*); +__builtin_neon_oi __builtin_mve_vld2qv8hi(const short int*); +__builtin_neon_xi __builtin_mve_vld4qv16qi(const signed char*); +__builtin_neon_xi __builtin_mve_vld4qv4sf(const float*); +__builtin_neon_xi __builtin_mve_vld4qv4si(const int*); +__builtin_neon_xi __builtin_mve_vld4qv8hf(const __bf16*); +__builtin_neon_xi __builtin_mve_vld4qv8hi(const short int*); +__simd128_int8_t __builtin_mve_vldrbq_gather_offset_sv16qi(signed char*, __simd128_uint8_t); +__simd128_int32_t __builtin_mve_vldrbq_gather_offset_sv4si(signed char*, __simd128_uint32_t); +__simd128_int16_t __builtin_mve_vldrbq_gather_offset_sv8hi(signed char*, __simd128_uint16_t); +__simd128_uint8_t __builtin_mve_vldrbq_gather_offset_uv16qi(signed char*, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vldrbq_gather_offset_uv4si(signed char*, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vldrbq_gather_offset_uv8hi(signed char*, __simd128_uint16_t); +__simd128_int8_t __builtin_mve_vldrbq_gather_offset_z_sv16qi(signed char*, __simd128_uint8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vldrbq_gather_offset_z_sv4si(signed char*, __simd128_uint32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vldrbq_gather_offset_z_sv8hi(signed char*, __simd128_uint16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vldrbq_gather_offset_z_uv16qi(signed char*, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrbq_gather_offset_z_uv4si(signed char*, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vldrbq_gather_offset_z_uv8hi(signed char*, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vldrbq_sv16qi(signed char*); +__simd128_int32_t __builtin_mve_vldrbq_sv4si(signed char*); +__simd128_int16_t __builtin_mve_vldrbq_sv8hi(signed char*); +__simd128_uint8_t __builtin_mve_vldrbq_uv16qi(signed char*); +__simd128_uint32_t __builtin_mve_vldrbq_uv4si(signed char*); +__simd128_uint16_t __builtin_mve_vldrbq_uv8hi(signed char*); +__simd128_int8_t __builtin_mve_vldrbq_z_sv16qi(signed char*, short unsigned int); +__simd128_int32_t __builtin_mve_vldrbq_z_sv4si(signed char*, short unsigned int); +__simd128_int16_t __builtin_mve_vldrbq_z_sv8hi(signed char*, short unsigned int); +__simd128_uint8_t __builtin_mve_vldrbq_z_uv16qi(signed char*, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrbq_z_uv4si(signed char*, short unsigned int); +__simd128_uint16_t __builtin_mve_vldrbq_z_uv8hi(signed char*, short unsigned int); +__simd128_int64_t __builtin_mve_vldrdq_gather_base_nowb_sv2di(__simd128_uint64_t, int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_nowb_uv2di(__simd128_uint64_t, int); +__simd128_int64_t __builtin_mve_vldrdq_gather_base_nowb_z_sv2di(__simd128_uint64_t, int, short unsigned int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_nowb_z_uv2di(__simd128_uint64_t, int, short unsigned int); +__simd128_int64_t __builtin_mve_vldrdq_gather_base_sv2di(__simd128_uint64_t, int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_uv2di(__simd128_uint64_t, int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_sv2di(__simd128_uint64_t, int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_uv2di(__simd128_uint64_t, int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_z_sv2di(__simd128_uint64_t, int, short unsigned int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_z_uv2di(__simd128_uint64_t, int, short unsigned int); +__simd128_int64_t __builtin_mve_vldrdq_gather_base_z_sv2di(__simd128_uint64_t, int, short unsigned int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_z_uv2di(__simd128_uint64_t, int, short unsigned int); +__simd128_int64_t __builtin_mve_vldrdq_gather_offset_sv2di(long long int*, __simd128_uint64_t); +__simd128_uint64_t __builtin_mve_vldrdq_gather_offset_uv2di(long long int*, __simd128_uint64_t); +__simd128_int64_t __builtin_mve_vldrdq_gather_offset_z_sv2di(long long int*, __simd128_uint64_t, short unsigned int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_offset_z_uv2di(long long int*, __simd128_uint64_t, short unsigned int); +__simd128_int64_t __builtin_mve_vldrdq_gather_shifted_offset_sv2di(long long int*, __simd128_uint64_t); +__simd128_uint64_t __builtin_mve_vldrdq_gather_shifted_offset_uv2di(long long int*, __simd128_uint64_t); +__simd128_int64_t __builtin_mve_vldrdq_gather_shifted_offset_z_sv2di(long long int*, __simd128_uint64_t, short unsigned int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_shifted_offset_z_uv2di(long long int*, __simd128_uint64_t, short unsigned int); +__simd128_float16_t __builtin_mve_vldrhq_fv8hf(short int*); +__simd128_float16_t __builtin_mve_vldrhq_gather_offset_fv8hf(short int*, __simd128_uint16_t); +__simd128_int32_t __builtin_mve_vldrhq_gather_offset_sv4si(short int*, __simd128_uint32_t); +__simd128_int16_t __builtin_mve_vldrhq_gather_offset_sv8hi(short int*, __simd128_uint16_t); +__simd128_uint32_t __builtin_mve_vldrhq_gather_offset_uv4si(short int*, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vldrhq_gather_offset_uv8hi(short int*, __simd128_uint16_t); +__simd128_float16_t __builtin_mve_vldrhq_gather_offset_z_fv8hf(short int*, __simd128_uint16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vldrhq_gather_offset_z_sv4si(short int*, __simd128_uint32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vldrhq_gather_offset_z_sv8hi(short int*, __simd128_uint16_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrhq_gather_offset_z_uv4si(short int*, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vldrhq_gather_offset_z_uv8hi(short int*, __simd128_uint16_t, short unsigned int); +__simd128_float16_t __builtin_mve_vldrhq_gather_shifted_offset_fv8hf(short int*, __simd128_uint16_t); +__simd128_int32_t __builtin_mve_vldrhq_gather_shifted_offset_sv4si(short int*, __simd128_uint32_t); +__simd128_int16_t __builtin_mve_vldrhq_gather_shifted_offset_sv8hi(short int*, __simd128_uint16_t); +__simd128_uint32_t __builtin_mve_vldrhq_gather_shifted_offset_uv4si(short int*, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vldrhq_gather_shifted_offset_uv8hi(short int*, __simd128_uint16_t); +__simd128_float16_t __builtin_mve_vldrhq_gather_shifted_offset_z_fv8hf(short int*, __simd128_uint16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vldrhq_gather_shifted_offset_z_sv4si(short int*, __simd128_uint32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vldrhq_gather_shifted_offset_z_sv8hi(short int*, __simd128_uint16_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrhq_gather_shifted_offset_z_uv4si(short int*, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vldrhq_gather_shifted_offset_z_uv8hi(short int*, __simd128_uint16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vldrhq_sv4si(short int*); +__simd128_int16_t __builtin_mve_vldrhq_sv8hi(short int*); +__simd128_uint32_t __builtin_mve_vldrhq_uv4si(short int*); +__simd128_uint16_t __builtin_mve_vldrhq_uv8hi(short int*); +__simd128_float16_t __builtin_mve_vldrhq_z_fv8hf(short int*, short unsigned int); +__simd128_int32_t __builtin_mve_vldrhq_z_sv4si(short int*, short unsigned int); +__simd128_int16_t __builtin_mve_vldrhq_z_sv8hi(short int*, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrhq_z_uv4si(short int*, short unsigned int); +__simd128_uint16_t __builtin_mve_vldrhq_z_uv8hi(short int*, short unsigned int); +__simd128_float32_t __builtin_mve_vldrwq_fv4sf(int*); +__simd128_float32_t __builtin_mve_vldrwq_gather_base_fv4sf(__simd128_uint32_t, int); +__simd128_float32_t __builtin_mve_vldrwq_gather_base_nowb_fv4sf(__simd128_uint32_t, int); +__simd128_int32_t __builtin_mve_vldrwq_gather_base_nowb_sv4si(__simd128_uint32_t, int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_nowb_uv4si(__simd128_uint32_t, int); +__simd128_float32_t __builtin_mve_vldrwq_gather_base_nowb_z_fv4sf(__simd128_uint32_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vldrwq_gather_base_nowb_z_sv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_nowb_z_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vldrwq_gather_base_sv4si(__simd128_uint32_t, int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_uv4si(__simd128_uint32_t, int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_fv4sf(__simd128_uint32_t, int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_sv4si(__simd128_uint32_t, int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_uv4si(__simd128_uint32_t, int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_z_fv4sf(__simd128_uint32_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_z_sv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_z_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_float32_t __builtin_mve_vldrwq_gather_base_z_fv4sf(__simd128_uint32_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vldrwq_gather_base_z_sv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_z_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_float32_t __builtin_mve_vldrwq_gather_offset_fv4sf(int*, __simd128_uint32_t); +__simd128_int32_t __builtin_mve_vldrwq_gather_offset_sv4si(int*, __simd128_uint32_t); +__simd128_uint32_t __builtin_mve_vldrwq_gather_offset_uv4si(int*, __simd128_uint32_t); +__simd128_float32_t __builtin_mve_vldrwq_gather_offset_z_fv4sf(int*, __simd128_uint32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vldrwq_gather_offset_z_sv4si(int*, __simd128_uint32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_offset_z_uv4si(int*, __simd128_uint32_t, short unsigned int); +__simd128_float32_t __builtin_mve_vldrwq_gather_shifted_offset_fv4sf(int*, __simd128_uint32_t); +__simd128_int32_t __builtin_mve_vldrwq_gather_shifted_offset_sv4si(int*, __simd128_uint32_t); +__simd128_uint32_t __builtin_mve_vldrwq_gather_shifted_offset_uv4si(int*, __simd128_uint32_t); +__simd128_float32_t __builtin_mve_vldrwq_gather_shifted_offset_z_fv4sf(int*, __simd128_uint32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vldrwq_gather_shifted_offset_z_sv4si(int*, __simd128_uint32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_shifted_offset_z_uv4si(int*, __simd128_uint32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vldrwq_sv4si(int*); +__simd128_uint32_t __builtin_mve_vldrwq_uv4si(int*); +__simd128_float32_t __builtin_mve_vldrwq_z_fv4sf(int*, short unsigned int); +__simd128_int32_t __builtin_mve_vldrwq_z_sv4si(int*, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrwq_z_uv4si(int*, short unsigned int); +__simd128_uint8_t __builtin_mve_vmaxaq_m_sv16qi(__simd128_uint8_t, __simd128_int8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmaxaq_m_sv4si(__simd128_uint32_t, __simd128_int32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmaxaq_m_sv8hi(__simd128_uint16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vmaxaq_sv16qi(__simd128_uint8_t, __simd128_int8_t); +__simd128_uint32_t __builtin_mve_vmaxaq_sv4si(__simd128_uint32_t, __simd128_int32_t); +__simd128_uint16_t __builtin_mve_vmaxaq_sv8hi(__simd128_uint16_t, __simd128_int16_t); +unsigned char __builtin_mve_vmaxavq_p_sv16qi(unsigned char, __simd128_int8_t, short unsigned int); +unsigned int __builtin_mve_vmaxavq_p_sv4si(unsigned int, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vmaxavq_p_sv8hi(short unsigned int, __simd128_int16_t, short unsigned int); +unsigned char __builtin_mve_vmaxavq_sv16qi(unsigned char, __simd128_int8_t); +unsigned int __builtin_mve_vmaxavq_sv4si(unsigned int, __simd128_int32_t); +short unsigned int __builtin_mve_vmaxavq_sv8hi(short unsigned int, __simd128_int16_t); +__simd128_float32_t __builtin_mve_vmaxnmaq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vmaxnmaq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vmaxnmaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vmaxnmaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +float __builtin_mve_vmaxnmavq_fv4sf(float, __simd128_float32_t); +__bf16 __builtin_mve_vmaxnmavq_fv8hf(__bf16, __simd128_float16_t); +float __builtin_mve_vmaxnmavq_p_fv4sf(float, __simd128_float32_t, short unsigned int); +__bf16 __builtin_mve_vmaxnmavq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vmaxnmq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vmaxnmq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vmaxnmq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vmaxnmq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +float __builtin_mve_vmaxnmvq_fv4sf(float, __simd128_float32_t); +__bf16 __builtin_mve_vmaxnmvq_fv8hf(__bf16, __simd128_float16_t); +float __builtin_mve_vmaxnmvq_p_fv4sf(float, __simd128_float32_t, short unsigned int); +__bf16 __builtin_mve_vmaxnmvq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vmaxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmaxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmaxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vmaxq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmaxq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmaxq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vmaxq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vmaxq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vmaxq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vmaxq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmaxq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vmaxq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +signed char __builtin_mve_vmaxvq_p_sv16qi(signed char, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmaxvq_p_sv4si(int, __simd128_int32_t, short unsigned int); +short int __builtin_mve_vmaxvq_p_sv8hi(short int, __simd128_int16_t, short unsigned int); +unsigned char __builtin_mve_vmaxvq_p_uv16qi(unsigned char, __simd128_uint8_t, short unsigned int); +unsigned int __builtin_mve_vmaxvq_p_uv4si(unsigned int, __simd128_uint32_t, short unsigned int); +short unsigned int __builtin_mve_vmaxvq_p_uv8hi(short unsigned int, __simd128_uint16_t, short unsigned int); +signed char __builtin_mve_vmaxvq_sv16qi(signed char, __simd128_int8_t); +int __builtin_mve_vmaxvq_sv4si(int, __simd128_int32_t); +short int __builtin_mve_vmaxvq_sv8hi(short int, __simd128_int16_t); +unsigned char __builtin_mve_vmaxvq_uv16qi(unsigned char, __simd128_uint8_t); +unsigned int __builtin_mve_vmaxvq_uv4si(unsigned int, __simd128_uint32_t); +short unsigned int __builtin_mve_vmaxvq_uv8hi(short unsigned int, __simd128_uint16_t); +__simd128_uint8_t __builtin_mve_vminaq_m_sv16qi(__simd128_uint8_t, __simd128_int8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vminaq_m_sv4si(__simd128_uint32_t, __simd128_int32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vminaq_m_sv8hi(__simd128_uint16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vminaq_sv16qi(__simd128_uint8_t, __simd128_int8_t); +__simd128_uint32_t __builtin_mve_vminaq_sv4si(__simd128_uint32_t, __simd128_int32_t); +__simd128_uint16_t __builtin_mve_vminaq_sv8hi(__simd128_uint16_t, __simd128_int16_t); +unsigned char __builtin_mve_vminavq_p_sv16qi(unsigned char, __simd128_int8_t, short unsigned int); +unsigned int __builtin_mve_vminavq_p_sv4si(unsigned int, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vminavq_p_sv8hi(short unsigned int, __simd128_int16_t, short unsigned int); +unsigned char __builtin_mve_vminavq_sv16qi(unsigned char, __simd128_int8_t); +unsigned int __builtin_mve_vminavq_sv4si(unsigned int, __simd128_int32_t); +short unsigned int __builtin_mve_vminavq_sv8hi(short unsigned int, __simd128_int16_t); +__simd128_float32_t __builtin_mve_vminnmaq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vminnmaq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vminnmaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vminnmaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +float __builtin_mve_vminnmavq_fv4sf(float, __simd128_float32_t); +__bf16 __builtin_mve_vminnmavq_fv8hf(__bf16, __simd128_float16_t); +float __builtin_mve_vminnmavq_p_fv4sf(float, __simd128_float32_t, short unsigned int); +__bf16 __builtin_mve_vminnmavq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vminnmq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vminnmq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vminnmq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vminnmq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +float __builtin_mve_vminnmvq_fv4sf(float, __simd128_float32_t); +__bf16 __builtin_mve_vminnmvq_fv8hf(__bf16, __simd128_float16_t); +float __builtin_mve_vminnmvq_p_fv4sf(float, __simd128_float32_t, short unsigned int); +__bf16 __builtin_mve_vminnmvq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vminq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vminq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vminq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vminq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vminq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vminq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vminq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vminq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vminq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vminq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vminq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vminq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +signed char __builtin_mve_vminvq_p_sv16qi(signed char, __simd128_int8_t, short unsigned int); +int __builtin_mve_vminvq_p_sv4si(int, __simd128_int32_t, short unsigned int); +short int __builtin_mve_vminvq_p_sv8hi(short int, __simd128_int16_t, short unsigned int); +unsigned char __builtin_mve_vminvq_p_uv16qi(unsigned char, __simd128_uint8_t, short unsigned int); +unsigned int __builtin_mve_vminvq_p_uv4si(unsigned int, __simd128_uint32_t, short unsigned int); +short unsigned int __builtin_mve_vminvq_p_uv8hi(short unsigned int, __simd128_uint16_t, short unsigned int); +signed char __builtin_mve_vminvq_sv16qi(signed char, __simd128_int8_t); +int __builtin_mve_vminvq_sv4si(int, __simd128_int32_t); +short int __builtin_mve_vminvq_sv8hi(short int, __simd128_int16_t); +unsigned char __builtin_mve_vminvq_uv16qi(unsigned char, __simd128_uint8_t); +unsigned int __builtin_mve_vminvq_uv4si(unsigned int, __simd128_uint32_t); +short unsigned int __builtin_mve_vminvq_uv8hi(short unsigned int, __simd128_uint16_t); +int __builtin_mve_vmladavaq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmladavaq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmladavaq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +unsigned int __builtin_mve_vmladavaq_p_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +unsigned int __builtin_mve_vmladavaq_p_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +unsigned int __builtin_mve_vmladavaq_p_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +int __builtin_mve_vmladavaq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmladavaq_sv4si(int, __simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmladavaq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); +unsigned int __builtin_mve_vmladavaq_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t); +unsigned int __builtin_mve_vmladavaq_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t); +unsigned int __builtin_mve_vmladavaq_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t); +int __builtin_mve_vmladavaxq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmladavaxq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmladavaxq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +int __builtin_mve_vmladavaxq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmladavaxq_sv4si(int, __simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmladavaxq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); +int __builtin_mve_vmladavq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmladavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmladavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +unsigned int __builtin_mve_vmladavq_p_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +unsigned int __builtin_mve_vmladavq_p_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +unsigned int __builtin_mve_vmladavq_p_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +int __builtin_mve_vmladavq_sv16qi(__simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmladavq_sv4si(__simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmladavq_sv8hi(__simd128_int16_t, __simd128_int16_t); +unsigned int __builtin_mve_vmladavq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +unsigned int __builtin_mve_vmladavq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +unsigned int __builtin_mve_vmladavq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +int __builtin_mve_vmladavxq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmladavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmladavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +int __builtin_mve_vmladavxq_sv16qi(__simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmladavxq_sv4si(__simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmladavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); +long long int __builtin_mve_vmlaldavaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlaldavaq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +long long unsigned int __builtin_mve_vmlaldavaq_p_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +long long unsigned int __builtin_mve_vmlaldavaq_p_uv8hi(long long unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +long long int __builtin_mve_vmlaldavaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlaldavaq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); +long long unsigned int __builtin_mve_vmlaldavaq_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t); +long long unsigned int __builtin_mve_vmlaldavaq_uv8hi(long long unsigned int, __simd128_uint16_t, __simd128_uint16_t); +long long int __builtin_mve_vmlaldavaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlaldavaxq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +long long unsigned int __builtin_mve_vmlaldavaxq_p_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +long long unsigned int __builtin_mve_vmlaldavaxq_p_uv8hi(long long unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +long long int __builtin_mve_vmlaldavaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlaldavaxq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); +long long int __builtin_mve_vmlaldavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlaldavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +long long unsigned int __builtin_mve_vmlaldavq_p_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +long long unsigned int __builtin_mve_vmlaldavq_p_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +long long int __builtin_mve_vmlaldavq_sv4si(__simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlaldavq_sv8hi(__simd128_int16_t, __simd128_int16_t); +long long unsigned int __builtin_mve_vmlaldavq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +long long unsigned int __builtin_mve_vmlaldavq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +long long int __builtin_mve_vmlaldavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlaldavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +long long int __builtin_mve_vmlaldavxq_sv4si(__simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlaldavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vmlaq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vmlaq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vmlaq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vmlaq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vmlaq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vmlaq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vmlaq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vmlaq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vmlaq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vmlaq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vmlaq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vmlaq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vmlasq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vmlasq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vmlasq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vmlasq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vmlasq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vmlasq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vmlasq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vmlasq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vmlasq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vmlasq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vmlasq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vmlasq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +int __builtin_mve_vmlsdavaq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmlsdavaq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmlsdavaq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +int __builtin_mve_vmlsdavaq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmlsdavaq_sv4si(int, __simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmlsdavaq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); +int __builtin_mve_vmlsdavaxq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmlsdavaxq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmlsdavaxq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +int __builtin_mve_vmlsdavaxq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmlsdavaxq_sv4si(int, __simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmlsdavaxq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); +int __builtin_mve_vmlsdavq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmlsdavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmlsdavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +int __builtin_mve_vmlsdavq_sv16qi(__simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmlsdavq_sv4si(__simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmlsdavq_sv8hi(__simd128_int16_t, __simd128_int16_t); +int __builtin_mve_vmlsdavxq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmlsdavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmlsdavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +int __builtin_mve_vmlsdavxq_sv16qi(__simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmlsdavxq_sv4si(__simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmlsdavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); +long long int __builtin_mve_vmlsldavaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlsldavaq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +long long int __builtin_mve_vmlsldavaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlsldavaq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); +long long int __builtin_mve_vmlsldavaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlsldavaxq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +long long int __builtin_mve_vmlsldavaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlsldavaxq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); +long long int __builtin_mve_vmlsldavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlsldavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +long long int __builtin_mve_vmlsldavq_sv4si(__simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlsldavq_sv8hi(__simd128_int16_t, __simd128_int16_t); +long long int __builtin_mve_vmlsldavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlsldavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +long long int __builtin_mve_vmlsldavxq_sv4si(__simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlsldavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_mve_vmovlbq_m_sv16qi(__simd128_int16_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmovlbq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmovlbq_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmovlbq_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmovlbq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vmovlbq_sv8hi(__simd128_int16_t); +__simd128_uint16_t __builtin_mve_vmovlbq_uv16qi(__simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmovlbq_uv8hi(__simd128_uint16_t); +__simd128_int16_t __builtin_mve_vmovltq_m_sv16qi(__simd128_int16_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmovltq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmovltq_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmovltq_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmovltq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vmovltq_sv8hi(__simd128_int16_t); +__simd128_uint16_t __builtin_mve_vmovltq_uv16qi(__simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmovltq_uv8hi(__simd128_uint16_t); +__simd128_int16_t __builtin_mve_vmovnbq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); +__simd128_int8_t __builtin_mve_vmovnbq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmovnbq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vmovnbq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmovnbq_sv4si(__simd128_int16_t, __simd128_int32_t); +__simd128_int8_t __builtin_mve_vmovnbq_sv8hi(__simd128_int8_t, __simd128_int16_t); +__simd128_uint16_t __builtin_mve_vmovnbq_uv4si(__simd128_uint16_t, __simd128_uint32_t); +__simd128_uint8_t __builtin_mve_vmovnbq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); +__simd128_int16_t __builtin_mve_vmovntq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); +__simd128_int8_t __builtin_mve_vmovntq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmovntq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vmovntq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmovntq_sv4si(__simd128_int16_t, __simd128_int32_t); +__simd128_int8_t __builtin_mve_vmovntq_sv8hi(__simd128_int8_t, __simd128_int16_t); +__simd128_uint16_t __builtin_mve_vmovntq_uv4si(__simd128_uint16_t, __simd128_uint32_t); +__simd128_uint8_t __builtin_mve_vmovntq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); +__simd128_int8_t __builtin_mve_vmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vmulhq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmulhq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmulhq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vmulhq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmulhq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vmulhq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_int16_t __builtin_mve_vmullbq_int_m_sv16qi(__simd128_int16_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int64_t __builtin_mve_vmullbq_int_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmullbq_int_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmullbq_int_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint64_t __builtin_mve_vmullbq_int_m_uv4si(__simd128_uint64_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmullbq_int_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmullbq_int_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int64_t __builtin_mve_vmullbq_int_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int32_t __builtin_mve_vmullbq_int_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint16_t __builtin_mve_vmullbq_int_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint64_t __builtin_mve_vmullbq_int_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_mve_vmullbq_int_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_uint16_t __builtin_mve_vmullbq_poly_m_pv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmullbq_poly_m_pv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmullbq_poly_pv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmullbq_poly_pv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_int16_t __builtin_mve_vmulltq_int_m_sv16qi(__simd128_int16_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int64_t __builtin_mve_vmulltq_int_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmulltq_int_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmulltq_int_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint64_t __builtin_mve_vmulltq_int_m_uv4si(__simd128_uint64_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmulltq_int_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmulltq_int_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int64_t __builtin_mve_vmulltq_int_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int32_t __builtin_mve_vmulltq_int_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint16_t __builtin_mve_vmulltq_int_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint64_t __builtin_mve_vmulltq_int_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_mve_vmulltq_int_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_uint16_t __builtin_mve_vmulltq_poly_m_pv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmulltq_poly_m_pv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmulltq_poly_pv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmulltq_poly_pv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vmulq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vmulq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vmulq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vmulq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vmulq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); +__simd128_float16_t __builtin_mve_vmulq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); +__simd128_int8_t __builtin_mve_vmulq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vmulq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vmulq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vmulq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vmulq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vmulq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vmulq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmulq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmulq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vmulq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmulq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmulq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vmulq_n_fv4sf(__simd128_float32_t, float); +__simd128_float16_t __builtin_mve_vmulq_n_fv8hf(__simd128_float16_t, __bf16); +__simd128_int8_t __builtin_mve_vmulq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vmulq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vmulq_n_sv8hi(__simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vmulq_n_uv16qi(__simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vmulq_n_uv4si(__simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vmulq_n_uv8hi(__simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vmulq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vmulq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vmulq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vmulq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmulq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vmulq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_int32_t __builtin_mve_vmvnq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vmvnq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vmvnq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vmvnq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vmvnq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmvnq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmvnq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vmvnq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmvnq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmvnq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmvnq_n_sv4si(short int); +__simd128_int16_t __builtin_mve_vmvnq_n_sv8hi(short int); +__simd128_uint32_t __builtin_mve_vmvnq_n_uv4si(short int); +__simd128_uint16_t __builtin_mve_vmvnq_n_uv8hi(short int); +__simd128_int8_t __builtin_mve_vmvnq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vmvnq_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vmvnq_sv8hi(__simd128_int16_t); +__simd128_uint8_t __builtin_mve_vmvnq_uv16qi(__simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmvnq_uv4si(__simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vmvnq_uv8hi(__simd128_uint16_t); +__simd128_float32_t __builtin_mve_vnegq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vnegq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vnegq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vnegq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vnegq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vnegq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vnegq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vnegq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vnegq_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vnegq_sv8hi(__simd128_int16_t); +__simd128_float32_t __builtin_mve_vornq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vornq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vornq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vornq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vornq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vornq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vornq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vornq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vornq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vornq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vornq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vornq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vornq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vornq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vornq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vornq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vorrq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vorrq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vorrq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vorrq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vorrq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vorrq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vorrq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vorrq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vorrq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vorrq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vorrq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vorrq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vorrq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vorrq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vorrq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vorrq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint32_t __builtin_mve_vorrq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vorrq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vorrq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vorrq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vorrq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vorrq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vorrq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vorrq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +short unsigned int __builtin_mve_vpnothi(short unsigned int); +__simd128_float32_t __builtin_mve_vpselq_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vpselq_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vpselq_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int64_t __builtin_mve_vpselq_sv2di(__simd128_int64_t, __simd128_int64_t, short unsigned int); +__simd128_int32_t __builtin_mve_vpselq_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vpselq_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vpselq_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint64_t __builtin_mve_vpselq_uv2di(__simd128_uint64_t, __simd128_uint64_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vpselq_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vpselq_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqabsq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqabsq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqabsq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqabsq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vqabsq_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vqabsq_sv8hi(__simd128_int16_t); +__simd128_int8_t __builtin_mve_vqaddq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vqaddq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqaddq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqaddq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vqaddq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqaddq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vqaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vqaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqaddq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vqaddq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqaddq_n_sv8hi(__simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vqaddq_n_uv16qi(__simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vqaddq_n_uv4si(__simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vqaddq_n_uv8hi(__simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqaddq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqaddq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqaddq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vqaddq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vqaddq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vqaddq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_int8_t __builtin_mve_vqdmladhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmladhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqdmladhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmladhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqdmladhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqdmladhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqdmladhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmladhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqdmladhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmladhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqdmladhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqdmladhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqdmlahq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmlahq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqdmlahq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmlahq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vqdmlahq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqdmlahq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vqdmlahq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vqdmlahq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vqdmlahq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmlsdhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmlsdhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqdmlsdhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmlsdhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqdmlsdhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqdmlsdhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqdmlsdhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmlsdhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqdmlsdhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmlsdhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqdmlsdhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqdmlsdhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqdmulhq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmulhq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqdmulhq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqdmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmulhq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vqdmulhq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqdmulhq_n_sv8hi(__simd128_int16_t, short int); +__simd128_int8_t __builtin_mve_vqdmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqdmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqdmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int64_t __builtin_mve_vqdmullbq_m_n_sv4si(__simd128_int64_t, __simd128_int32_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmullbq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, short int, short unsigned int); +__simd128_int64_t __builtin_mve_vqdmullbq_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmullbq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int64_t __builtin_mve_vqdmullbq_n_sv4si(__simd128_int32_t, int); +__simd128_int32_t __builtin_mve_vqdmullbq_n_sv8hi(__simd128_int16_t, short int); +__simd128_int64_t __builtin_mve_vqdmullbq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int32_t __builtin_mve_vqdmullbq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int64_t __builtin_mve_vqdmulltq_m_n_sv4si(__simd128_int64_t, __simd128_int32_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmulltq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, short int, short unsigned int); +__simd128_int64_t __builtin_mve_vqdmulltq_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmulltq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int64_t __builtin_mve_vqdmulltq_n_sv4si(__simd128_int32_t, int); +__simd128_int32_t __builtin_mve_vqdmulltq_n_sv8hi(__simd128_int16_t, short int); +__simd128_int64_t __builtin_mve_vqdmulltq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int32_t __builtin_mve_vqdmulltq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_mve_vqmovnbq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqmovnbq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqmovnbq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqmovnbq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqmovnbq_sv4si(__simd128_int16_t, __simd128_int32_t); +__simd128_int8_t __builtin_mve_vqmovnbq_sv8hi(__simd128_int8_t, __simd128_int16_t); +__simd128_uint16_t __builtin_mve_vqmovnbq_uv4si(__simd128_uint16_t, __simd128_uint32_t); +__simd128_uint8_t __builtin_mve_vqmovnbq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); +__simd128_int16_t __builtin_mve_vqmovntq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqmovntq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqmovntq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqmovntq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqmovntq_sv4si(__simd128_int16_t, __simd128_int32_t); +__simd128_int8_t __builtin_mve_vqmovntq_sv8hi(__simd128_int8_t, __simd128_int16_t); +__simd128_uint16_t __builtin_mve_vqmovntq_uv4si(__simd128_uint16_t, __simd128_uint32_t); +__simd128_uint8_t __builtin_mve_vqmovntq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); +__simd128_uint16_t __builtin_mve_vqmovunbq_m_sv4si(__simd128_uint16_t, __simd128_int32_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqmovunbq_m_sv8hi(__simd128_uint8_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqmovunbq_sv4si(__simd128_uint16_t, __simd128_int32_t); +__simd128_uint8_t __builtin_mve_vqmovunbq_sv8hi(__simd128_uint8_t, __simd128_int16_t); +__simd128_uint16_t __builtin_mve_vqmovuntq_m_sv4si(__simd128_uint16_t, __simd128_int32_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqmovuntq_m_sv8hi(__simd128_uint8_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqmovuntq_sv4si(__simd128_uint16_t, __simd128_int32_t); +__simd128_uint8_t __builtin_mve_vqmovuntq_sv8hi(__simd128_uint8_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqnegq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqnegq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqnegq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqnegq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vqnegq_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vqnegq_sv8hi(__simd128_int16_t); +__simd128_int8_t __builtin_mve_vqrdmladhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmladhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmladhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmladhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqrdmladhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqrdmladhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqrdmladhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmladhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmladhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmladhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqrdmladhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqrdmladhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqrdmlahq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmlahq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmlahq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmlahq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vqrdmlahq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqrdmlahq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vqrdmlahq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vqrdmlahq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vqrdmlahq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmlashq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmlashq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmlashq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmlashq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vqrdmlashq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqrdmlashq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vqrdmlashq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vqrdmlashq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vqrdmlashq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmlsdhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmlsdhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmlsdhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmlsdhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqrdmlsdhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqrdmlsdhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqrdmlsdhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmlsdhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmlsdhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmlsdhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqrdmlsdhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqrdmlsdhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqrdmulhq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmulhq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmulhq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmulhq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vqrdmulhq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqrdmulhq_n_sv8hi(__simd128_int16_t, short int); +__simd128_int8_t __builtin_mve_vqrdmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqrdmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqrdmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqrshlq_m_n_sv16qi(__simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vqrshlq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqrshlq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqrshlq_m_n_uv16qi(__simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vqrshlq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqrshlq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vqrshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqrshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqrshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqrshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vqrshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqrshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrshlq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vqrshlq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqrshlq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vqrshlq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vqrshlq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vqrshlq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vqrshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqrshlq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqrshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vqrshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); +__simd128_uint32_t __builtin_mve_vqrshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); +__simd128_uint16_t __builtin_mve_vqrshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); +__simd128_int16_t __builtin_mve_vqrshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vqrshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqrshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqrshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqrshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vqrshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vqrshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vqrshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_int16_t __builtin_mve_vqrshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vqrshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqrshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqrshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqrshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vqrshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vqrshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vqrshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_uint16_t __builtin_mve_vqrshrunbq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqrshrunbq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqrshrunbq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); +__simd128_uint8_t __builtin_mve_vqrshrunbq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vqrshruntq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqrshruntq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqrshruntq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); +__simd128_uint8_t __builtin_mve_vqrshruntq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); +__simd128_int8_t __builtin_mve_vqshlq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vqshlq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqshlq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshlq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vqshlq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshlq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vqshlq_m_r_sv16qi(__simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vqshlq_m_r_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqshlq_m_r_sv8hi(__simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshlq_m_r_uv16qi(__simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vqshlq_m_r_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshlq_m_r_uv8hi(__simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vqshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vqshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqshlq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vqshlq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqshlq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vqshlq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vqshlq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vqshlq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vqshlq_r_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vqshlq_r_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqshlq_r_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vqshlq_r_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vqshlq_r_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vqshlq_r_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vqshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqshlq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vqshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); +__simd128_uint32_t __builtin_mve_vqshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); +__simd128_uint16_t __builtin_mve_vqshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vqshluq_m_n_sv16qi(__simd128_uint8_t, __simd128_int8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vqshluq_m_n_sv4si(__simd128_uint32_t, __simd128_int32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshluq_m_n_sv8hi(__simd128_uint16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshluq_n_sv16qi(__simd128_int8_t, int); +__simd128_uint32_t __builtin_mve_vqshluq_n_sv4si(__simd128_int32_t, int); +__simd128_uint16_t __builtin_mve_vqshluq_n_sv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_mve_vqshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vqshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vqshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vqshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vqshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_int16_t __builtin_mve_vqshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vqshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vqshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vqshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vqshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_uint16_t __builtin_mve_vqshrunbq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshrunbq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshrunbq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); +__simd128_uint8_t __builtin_mve_vqshrunbq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vqshruntq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshruntq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshruntq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); +__simd128_uint8_t __builtin_mve_vqshruntq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); +__simd128_int8_t __builtin_mve_vqsubq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vqsubq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqsubq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqsubq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vqsubq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqsubq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vqsubq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqsubq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqsubq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqsubq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vqsubq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqsubq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqsubq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vqsubq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqsubq_n_sv8hi(__simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vqsubq_n_uv16qi(__simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vqsubq_n_uv4si(__simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vqsubq_n_uv8hi(__simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqsubq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqsubq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqsubq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vqsubq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vqsubq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vqsubq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_int8_t __builtin_mve_vrev16q_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vrev16q_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrev16q_sv16qi(__simd128_int8_t); +__simd128_uint8_t __builtin_mve_vrev16q_uv16qi(__simd128_uint8_t); +__simd128_float16_t __builtin_mve_vrev32q_fv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_mve_vrev32q_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrev32q_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int16_t __builtin_mve_vrev32q_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vrev32q_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vrev32q_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrev32q_sv16qi(__simd128_int8_t); +__simd128_int16_t __builtin_mve_vrev32q_sv8hi(__simd128_int16_t); +__simd128_uint8_t __builtin_mve_vrev32q_uv16qi(__simd128_uint8_t); +__simd128_uint16_t __builtin_mve_vrev32q_uv8hi(__simd128_uint16_t); +__simd128_float32_t __builtin_mve_vrev64q_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vrev64q_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vrev64q_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vrev64q_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrev64q_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vrev64q_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vrev64q_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vrev64q_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vrev64q_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vrev64q_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrev64q_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vrev64q_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vrev64q_sv8hi(__simd128_int16_t); +__simd128_uint8_t __builtin_mve_vrev64q_uv16qi(__simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vrev64q_uv4si(__simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vrev64q_uv8hi(__simd128_uint16_t); +__simd128_int8_t __builtin_mve_vrhaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vrhaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vrhaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vrhaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vrhaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vrhaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrhaddq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vrhaddq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vrhaddq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vrhaddq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vrhaddq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vrhaddq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +long long int __builtin_mve_vrmlaldavhaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long unsigned int __builtin_mve_vrmlaldavhaq_p_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +long long int __builtin_mve_vrmlaldavhaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long unsigned int __builtin_mve_vrmlaldavhaq_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t); +long long int __builtin_mve_vrmlaldavhaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vrmlaldavhaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vrmlaldavhq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long unsigned int __builtin_mve_vrmlaldavhq_p_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +long long int __builtin_mve_vrmlaldavhq_sv4si(__simd128_int32_t, __simd128_int32_t); +long long unsigned int __builtin_mve_vrmlaldavhq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +long long int __builtin_mve_vrmlaldavhxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vrmlaldavhxq_sv4si(__simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vrmlsldavhaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vrmlsldavhaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vrmlsldavhaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vrmlsldavhaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vrmlsldavhq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vrmlsldavhq_sv4si(__simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vrmlsldavhxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vrmlsldavhxq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int8_t __builtin_mve_vrmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vrmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vrmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vrmulhq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vrmulhq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vrmulhq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vrmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vrmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vrmulhq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vrmulhq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vrmulhq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vrndaq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vrndaq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vrndaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vrndaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vrndmq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vrndmq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vrndmq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vrndmq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vrndnq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vrndnq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vrndnq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vrndnq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vrndpq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vrndpq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vrndpq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vrndpq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vrndq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vrndq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vrndq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vrndq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vrndxq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vrndxq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vrndxq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vrndxq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrshlq_m_n_sv16qi(__simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vrshlq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vrshlq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vrshlq_m_n_uv16qi(__simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vrshlq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vrshlq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vrshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vrshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vrshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vrshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vrshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vrshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrshlq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vrshlq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vrshlq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vrshlq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vrshlq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vrshlq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vrshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vrshlq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vrshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vrshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); +__simd128_uint32_t __builtin_mve_vrshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); +__simd128_uint16_t __builtin_mve_vrshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); +__simd128_int16_t __builtin_mve_vrshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vrshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vrshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vrshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vrshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vrshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vrshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vrshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_int16_t __builtin_mve_vrshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vrshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vrshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vrshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vrshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vrshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vrshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vrshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vrshrq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vrshrq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vrshrq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vrshrq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vrshrq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vrshrq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vrshrq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vrshrq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vrshrq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vrshrq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vrshrq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vrshrq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int32_t __builtin_mve_vsbciq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vsbciq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vsbciq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_uint32_t __builtin_mve_vsbciq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_int32_t __builtin_mve_vsbcq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vsbcq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vsbcq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_uint32_t __builtin_mve_vsbcq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +unsigned int __builtin_mve_vshlcq_carry_sv16qi(__simd128_int8_t, unsigned int, int); +unsigned int __builtin_mve_vshlcq_carry_sv4si(__simd128_int32_t, unsigned int, int); +unsigned int __builtin_mve_vshlcq_carry_sv8hi(__simd128_int16_t, unsigned int, int); +unsigned int __builtin_mve_vshlcq_carry_uv16qi(__simd128_uint8_t, unsigned int, int); +unsigned int __builtin_mve_vshlcq_carry_uv4si(__simd128_uint32_t, unsigned int, int); +unsigned int __builtin_mve_vshlcq_carry_uv8hi(__simd128_uint16_t, unsigned int, int); +int __builtin_mve_vshlcq_m_carry_sv16qi(__simd128_int8_t, unsigned int, int, short unsigned int); +int __builtin_mve_vshlcq_m_carry_sv4si(__simd128_int32_t, unsigned int, int, short unsigned int); +int __builtin_mve_vshlcq_m_carry_sv8hi(__simd128_int16_t, unsigned int, int, short unsigned int); +unsigned int __builtin_mve_vshlcq_m_carry_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); +unsigned int __builtin_mve_vshlcq_m_carry_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); +unsigned int __builtin_mve_vshlcq_m_carry_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); +__simd128_int8_t __builtin_mve_vshlcq_m_vec_sv16qi(__simd128_int8_t, unsigned int, int, short unsigned int); +__simd128_int32_t __builtin_mve_vshlcq_m_vec_sv4si(__simd128_int32_t, unsigned int, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshlcq_m_vec_sv8hi(__simd128_int16_t, unsigned int, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vshlcq_m_vec_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vshlcq_m_vec_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshlcq_m_vec_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); +__simd128_int8_t __builtin_mve_vshlcq_vec_sv16qi(__simd128_int8_t, unsigned int, int); +__simd128_int32_t __builtin_mve_vshlcq_vec_sv4si(__simd128_int32_t, unsigned int, int); +__simd128_int16_t __builtin_mve_vshlcq_vec_sv8hi(__simd128_int16_t, unsigned int, int); +__simd128_uint8_t __builtin_mve_vshlcq_vec_uv16qi(__simd128_uint8_t, unsigned int, int); +__simd128_uint32_t __builtin_mve_vshlcq_vec_uv4si(__simd128_uint32_t, unsigned int, int); +__simd128_uint16_t __builtin_mve_vshlcq_vec_uv8hi(__simd128_uint16_t, unsigned int, int); +__simd128_int16_t __builtin_mve_vshllbq_m_n_sv16qi(__simd128_int16_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vshllbq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshllbq_m_n_uv16qi(__simd128_uint16_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vshllbq_m_n_uv8hi(__simd128_uint32_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshllbq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vshllbq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vshllbq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vshllbq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int16_t __builtin_mve_vshlltq_m_n_sv16qi(__simd128_int16_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vshlltq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshlltq_m_n_uv16qi(__simd128_uint16_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vshlltq_m_n_uv8hi(__simd128_uint32_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshlltq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vshlltq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vshlltq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vshlltq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vshlq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vshlq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshlq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vshlq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vshlq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshlq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vshlq_m_r_sv16qi(__simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vshlq_m_r_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshlq_m_r_sv8hi(__simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vshlq_m_r_uv16qi(__simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vshlq_m_r_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshlq_m_r_uv8hi(__simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vshlq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vshlq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vshlq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vshlq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vshlq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vshlq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vshlq_r_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vshlq_r_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vshlq_r_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vshlq_r_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vshlq_r_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vshlq_r_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vshlq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); +__simd128_uint32_t __builtin_mve_vshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); +__simd128_uint16_t __builtin_mve_vshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); +__simd128_int16_t __builtin_mve_vshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_int16_t __builtin_mve_vshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vshrq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vshrq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshrq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vshrq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vshrq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshrq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vshrq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vshrq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vshrq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vshrq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vshrq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vshrq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vsliq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vsliq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vsliq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vsliq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vsliq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vsliq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vsliq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vsliq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vsliq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vsliq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vsliq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vsliq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vsriq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vsriq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vsriq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vsriq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vsriq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vsriq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vsriq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vsriq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vsriq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vsriq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vsriq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vsriq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int); +void __builtin_mve_vst1q_fv4sf(int*, __simd128_float32_t); +void __builtin_mve_vst1q_fv8hf(short int*, __simd128_float16_t); +void __builtin_mve_vst1q_sv16qi(signed char*, __simd128_int8_t); +void __builtin_mve_vst1q_sv4si(int*, __simd128_int32_t); +void __builtin_mve_vst1q_sv8hi(short int*, __simd128_int16_t); +void __builtin_mve_vst1q_uv16qi(signed char*, __simd128_uint8_t); +void __builtin_mve_vst1q_uv4si(int*, __simd128_uint32_t); +void __builtin_mve_vst1q_uv8hi(short int*, __simd128_uint16_t); +void __builtin_mve_vst2qv16qi(signed char*, __builtin_neon_oi); +void __builtin_mve_vst2qv4sf(float*, __builtin_neon_oi); +void __builtin_mve_vst2qv4si(int*, __builtin_neon_oi); +void __builtin_mve_vst2qv8hf(__bf16*, __builtin_neon_oi); +void __builtin_mve_vst2qv8hi(short int*, __builtin_neon_oi); +void __builtin_mve_vst4qv16qi(signed char*, __builtin_neon_xi); +void __builtin_mve_vst4qv4sf(float*, __builtin_neon_xi); +void __builtin_mve_vst4qv4si(int*, __builtin_neon_xi); +void __builtin_mve_vst4qv8hf(__bf16*, __builtin_neon_xi); +void __builtin_mve_vst4qv8hi(short int*, __builtin_neon_xi); +void __builtin_mve_vstrbq_p_sv16qi(signed char*, __simd128_int8_t, short unsigned int); +void __builtin_mve_vstrbq_p_sv4si(signed char*, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrbq_p_sv8hi(signed char*, __simd128_int16_t, short unsigned int); +void __builtin_mve_vstrbq_p_uv16qi(signed char*, __simd128_uint8_t, short unsigned int); +void __builtin_mve_vstrbq_p_uv4si(signed char*, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrbq_p_uv8hi(signed char*, __simd128_uint16_t, short unsigned int); +void __builtin_mve_vstrbq_scatter_offset_p_sv16qi(signed char*, __simd128_uint8_t, __simd128_int8_t, short unsigned int); +void __builtin_mve_vstrbq_scatter_offset_p_sv4si(signed char*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrbq_scatter_offset_p_sv8hi(signed char*, __simd128_uint16_t, __simd128_int16_t, short unsigned int); +void __builtin_mve_vstrbq_scatter_offset_p_uv16qi(signed char*, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +void __builtin_mve_vstrbq_scatter_offset_p_uv4si(signed char*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrbq_scatter_offset_p_uv8hi(signed char*, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +void __builtin_mve_vstrbq_scatter_offset_sv16qi(signed char*, __simd128_uint8_t, __simd128_int8_t); +void __builtin_mve_vstrbq_scatter_offset_sv4si(signed char*, __simd128_uint32_t, __simd128_int32_t); +void __builtin_mve_vstrbq_scatter_offset_sv8hi(signed char*, __simd128_uint16_t, __simd128_int16_t); +void __builtin_mve_vstrbq_scatter_offset_uv16qi(signed char*, __simd128_uint8_t, __simd128_uint8_t); +void __builtin_mve_vstrbq_scatter_offset_uv4si(signed char*, __simd128_uint32_t, __simd128_uint32_t); +void __builtin_mve_vstrbq_scatter_offset_uv8hi(signed char*, __simd128_uint16_t, __simd128_uint16_t); +void __builtin_mve_vstrbq_sv16qi(signed char*, __simd128_int8_t); +void __builtin_mve_vstrbq_sv4si(signed char*, __simd128_int32_t); +void __builtin_mve_vstrbq_sv8hi(signed char*, __simd128_int16_t); +void __builtin_mve_vstrbq_uv16qi(signed char*, __simd128_uint8_t); +void __builtin_mve_vstrbq_uv4si(signed char*, __simd128_uint32_t); +void __builtin_mve_vstrbq_uv8hi(signed char*, __simd128_uint16_t); +void __builtin_mve_vstrdq_scatter_base_p_sv2di(__simd128_uint64_t, int, __simd128_int64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_base_p_uv2di(__simd128_uint64_t, int, __simd128_uint64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_base_sv2di(__simd128_uint64_t, int, __simd128_int64_t); +void __builtin_mve_vstrdq_scatter_base_uv2di(__simd128_uint64_t, int, __simd128_uint64_t); +void __builtin_mve_vstrdq_scatter_base_wb_add_sv2di(__simd128_uint64_t, const int, __simd128_uint64_t); +void __builtin_mve_vstrdq_scatter_base_wb_add_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t); +void __builtin_mve_vstrdq_scatter_base_wb_p_add_sv2di(__simd128_uint64_t, const int, __simd128_uint64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_base_wb_p_add_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_base_wb_p_sv2di(__simd128_uint64_t, const int, __simd128_int64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_base_wb_p_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_base_wb_sv2di(__simd128_uint64_t, const int, __simd128_int64_t); +void __builtin_mve_vstrdq_scatter_base_wb_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t); +void __builtin_mve_vstrdq_scatter_offset_p_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_offset_p_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_offset_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t); +void __builtin_mve_vstrdq_scatter_offset_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t); +void __builtin_mve_vstrdq_scatter_shifted_offset_p_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_shifted_offset_p_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_shifted_offset_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t); +void __builtin_mve_vstrdq_scatter_shifted_offset_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t); +void __builtin_mve_vstrhq_fv8hf(short int*, __simd128_float16_t); +void __builtin_mve_vstrhq_p_fv8hf(short int*, __simd128_float16_t, short unsigned int); +void __builtin_mve_vstrhq_p_sv4si(short int*, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrhq_p_sv8hi(short int*, __simd128_int16_t, short unsigned int); +void __builtin_mve_vstrhq_p_uv4si(short int*, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrhq_p_uv8hi(short int*, __simd128_uint16_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_offset_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t); +void __builtin_mve_vstrhq_scatter_offset_p_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_offset_p_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_offset_p_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_offset_p_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_offset_p_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_offset_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t); +void __builtin_mve_vstrhq_scatter_offset_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t); +void __builtin_mve_vstrhq_scatter_offset_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t); +void __builtin_mve_vstrhq_scatter_offset_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t); +void __builtin_mve_vstrhq_scatter_shifted_offset_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t); +void __builtin_mve_vstrhq_scatter_shifted_offset_p_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_shifted_offset_p_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_shifted_offset_p_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_shifted_offset_p_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_shifted_offset_p_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_shifted_offset_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t); +void __builtin_mve_vstrhq_scatter_shifted_offset_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t); +void __builtin_mve_vstrhq_scatter_shifted_offset_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t); +void __builtin_mve_vstrhq_scatter_shifted_offset_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t); +void __builtin_mve_vstrhq_sv4si(short int*, __simd128_int32_t); +void __builtin_mve_vstrhq_sv8hi(short int*, __simd128_int16_t); +void __builtin_mve_vstrhq_uv4si(short int*, __simd128_uint32_t); +void __builtin_mve_vstrhq_uv8hi(short int*, __simd128_uint16_t); +void __builtin_mve_vstrwq_fv4sf(int*, __simd128_float32_t); +void __builtin_mve_vstrwq_p_fv4sf(int*, __simd128_float32_t, short unsigned int); +void __builtin_mve_vstrwq_p_sv4si(int*, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrwq_p_uv4si(int*, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_fv4sf(__simd128_uint32_t, int, __simd128_float32_t); +void __builtin_mve_vstrwq_scatter_base_p_fv4sf(__simd128_uint32_t, int, __simd128_float32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_p_sv4si(__simd128_uint32_t, int, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_p_uv4si(__simd128_uint32_t, int, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_sv4si(__simd128_uint32_t, int, __simd128_int32_t); +void __builtin_mve_vstrwq_scatter_base_uv4si(__simd128_uint32_t, int, __simd128_uint32_t); +void __builtin_mve_vstrwq_scatter_base_wb_add_fv4sf(__simd128_uint32_t, const int, __simd128_uint32_t); +void __builtin_mve_vstrwq_scatter_base_wb_add_sv4si(__simd128_uint32_t, const int, __simd128_uint32_t); +void __builtin_mve_vstrwq_scatter_base_wb_add_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t); +void __builtin_mve_vstrwq_scatter_base_wb_fv4sf(__simd128_uint32_t, const int, __simd128_float32_t); +void __builtin_mve_vstrwq_scatter_base_wb_p_add_fv4sf(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_wb_p_add_sv4si(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_wb_p_add_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_wb_p_fv4sf(__simd128_uint32_t, const int, __simd128_float32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_wb_p_sv4si(__simd128_uint32_t, const int, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_wb_p_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_wb_sv4si(__simd128_uint32_t, const int, __simd128_int32_t); +void __builtin_mve_vstrwq_scatter_base_wb_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t); +void __builtin_mve_vstrwq_scatter_offset_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t); +void __builtin_mve_vstrwq_scatter_offset_p_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_offset_p_sv4si(int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_offset_p_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_offset_sv4si(int*, __simd128_uint32_t, __simd128_int32_t); +void __builtin_mve_vstrwq_scatter_offset_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t); +void __builtin_mve_vstrwq_scatter_shifted_offset_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t); +void __builtin_mve_vstrwq_scatter_shifted_offset_p_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_shifted_offset_p_sv4si(int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_shifted_offset_p_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_shifted_offset_sv4si(int*, __simd128_uint32_t, __simd128_int32_t); +void __builtin_mve_vstrwq_scatter_shifted_offset_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t); +void __builtin_mve_vstrwq_sv4si(int*, __simd128_int32_t); +void __builtin_mve_vstrwq_uv4si(int*, __simd128_uint32_t); +__simd128_float32_t __builtin_mve_vsubq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vsubq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vsubq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vsubq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vsubq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); +__simd128_float16_t __builtin_mve_vsubq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); +__simd128_int8_t __builtin_mve_vsubq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vsubq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vsubq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vsubq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vsubq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vsubq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vsubq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vsubq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vsubq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vsubq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vsubq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vsubq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vsubq_n_fv4sf(__simd128_float32_t, float); +__simd128_float16_t __builtin_mve_vsubq_n_fv8hf(__simd128_float16_t, __bf16); +__simd128_int8_t __builtin_mve_vsubq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vsubq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vsubq_n_sv8hi(__simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vsubq_n_uv16qi(__simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vsubq_n_uv4si(__simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vsubq_n_uv8hi(__simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vsubq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vsubq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vsubq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vsubq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vsubq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vsubq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); + +#endif // __arm__ + +#ifdef __ARM_FEATURE_CMSE //eg, __ARM_FEATURE_CMSE is defined when passing -mcpu=cortex-m23 -mcmse +unsigned int __builtin_arm_cmse_nonsecure_caller(); +#endif + +#ifdef __ARM_NEON__ +typedef signed char __builtin_neon_qi; +typedef short int __builtin_neon_hi; +typedef int __builtin_neon_si; +typedef long long int __builtin_neon_di; +typedef int __builtin_neon_ti __attribute__((mode(TI))); +typedef unsigned int __builtin_neon_uti __attribute__((mode(TI))); +typedef unsigned char __builtin_neon_uqi; +typedef short unsigned int __builtin_neon_uhi; +typedef unsigned int __builtin_neon_usi; +typedef unsigned long long __builtin_neon_udi; +typedef int __builtin_neon_ei __attribute__ ((__vector_size__(32))); +typedef int __builtin_neon_ci __attribute__ ((__vector_size__(64))); +typedef int __builtin_neon_poly8 __attribute__((mode(QI))); +typedef int __builtin_neon_poly16 __attribute__((mode(HI))); +typedef float __builtin_neon_sf; +typedef float __builtin_neon_hf; +typedef unsigned long long __builtin_neon_poly64; +typedef unsigned int __builtin_neon_poly128 __attribute__((mode(TI))); + +typedef char __simd64_int8_t __attribute__((__vector_size__(8))); +typedef short __simd64_int16_t __attribute__((__vector_size__(8))); +typedef int __simd64_int32_t __attribute__((__vector_size__(8))); +typedef unsigned char __simd64_uint8_t __attribute__((__vector_size__(8))); +typedef unsigned short __simd64_uint16_t __attribute__((__vector_size__(8))); +typedef unsigned int __simd64_uint32_t __attribute__((__vector_size__(8))); + +#ifdef __ARM_FEATURE_FP16_SCALAR_ARITHMETIC +typedef cov_fp16_t __fp16; +#endif +typedef cov_fp16_t __simd64_float16_t __attribute__((__vector_size__(8))); +typedef float __simd64_float32_t __attribute__((__vector_size__(8))); + +typedef signed char __simd64_poly8_t __attribute__((__vector_size__(8))); +typedef short __simd64_poly16_t __attribute__((__vector_size__(8))); +typedef signed char __simd128_poly8_t __attribute__((__vector_size__(16))); +typedef short __simd128_poly16_t __attribute__((__vector_size__(16))); +typedef __bf16 __simd128_bfloat16_t __attribute__((__vector_size__(16))); +typedef __bf16 __simd64_bfloat16_t __attribute__((__vector_size__(8))); + +__simd128_uint8_t __builtin_arm_crypto_aesd(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint8_t __builtin_arm_crypto_aese(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint8_t __builtin_arm_crypto_aesimc(__simd128_uint8_t); +__simd128_uint8_t __builtin_arm_crypto_aesmc(__simd128_uint8_t); +__simd128_uint32_t __builtin_arm_crypto_sha1c(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha1h(__simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha1m(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha1p(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha1su0(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha1su1(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha256h(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha256h2(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha256su0(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha256su1(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); +__builtin_neon_uti __builtin_arm_crypto_vmullp64(long long unsigned int, long long unsigned int); +void __builtin_arm_lane_check(int, int); + +__builtin_neon_ci __builtin_neon_vld3_lanev4sf (const __builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); +__builtin_neon_ci __builtin_neon_vld3_lanev4si (const __builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); +__builtin_neon_ci __builtin_neon_vld3_lanev8hf(const cov_fp16_t*, __builtin_neon_ci, int); +__builtin_neon_ci __builtin_neon_vld3_lanev8hi (const __builtin_neon_hi * __a, __builtin_neon_ci __b, const int __c); +__builtin_neon_ci __builtin_neon_vld3v16qi (const __builtin_neon_qi * __a); +__builtin_neon_ci __builtin_neon_vld3v4sf (const __builtin_neon_sf * __a); +__builtin_neon_ci __builtin_neon_vld3v4si (const __builtin_neon_si * __a); +__builtin_neon_ci __builtin_neon_vld3v8hf(const cov_fp16_t*); +__builtin_neon_ci __builtin_neon_vld3v8hi (const __builtin_neon_hi * __a); +__builtin_neon_ci __builtin_neon_vld4_lanev4sf (const __builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); +__builtin_neon_ci __builtin_neon_vld4_lanev4si (const __builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); +__builtin_neon_ci __builtin_neon_vld4_lanev8hi (const __builtin_neon_hi * __a, __builtin_neon_ci __b, const int __c); +__builtin_neon_ci __builtin_neon_vld4v16qi (const __builtin_neon_qi * __a); +__builtin_neon_ci __builtin_neon_vld4v4sf (const __builtin_neon_sf * __a); +__builtin_neon_ci __builtin_neon_vld4v4si (const __builtin_neon_si * __a); +__builtin_neon_ci __builtin_neon_vld4v8hi (const __builtin_neon_hi * __a); +__builtin_neon_ei __builtin_neon_vld3di (const __builtin_neon_di * __a); +__builtin_neon_ei __builtin_neon_vld3_dupdi (const __builtin_neon_di * __a); +__builtin_neon_ei __builtin_neon_vld3_dupv2sf (const __builtin_neon_sf * __a); +__builtin_neon_ei __builtin_neon_vld3_dupv2si (const __builtin_neon_si * __a); +__builtin_neon_ei __builtin_neon_vld3_dupv4hf(const cov_fp16_t*); +__builtin_neon_ei __builtin_neon_vld3_dupv4hi (const __builtin_neon_hi * __a); +__builtin_neon_ei __builtin_neon_vld3_dupv8qi (const __builtin_neon_qi * __a); +__builtin_neon_ei __builtin_neon_vld3_lanev2sf (const __builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld3_lanev2si (const __builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld3_lanev4hf(const cov_fp16_t*, __builtin_neon_ei, int); +__builtin_neon_ei __builtin_neon_vld3_lanev4hi (const __builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld3_lanev8qi (const __builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld3v2sf (const __builtin_neon_sf * __a); +__builtin_neon_ei __builtin_neon_vld3v2si (const __builtin_neon_si * __a); +__builtin_neon_ei __builtin_neon_vld3v4hf(const cov_fp16_t*); +__builtin_neon_ei __builtin_neon_vld3v4hi (const __builtin_neon_hi * __a); +__builtin_neon_ei __builtin_neon_vld3v8qi (const __builtin_neon_qi * __a); +__builtin_neon_ei __builtin_neon_vld4di (const __builtin_neon_di * __a); +__builtin_neon_ei __builtin_neon_vld4_dupdi (const __builtin_neon_di * __a); +__builtin_neon_ei __builtin_neon_vld4_dupv2sf (const __builtin_neon_sf * __a); +__builtin_neon_ei __builtin_neon_vld4_dupv2si (const __builtin_neon_si * __a); +__builtin_neon_ei __builtin_neon_vld4_dupv4hi (const __builtin_neon_hi * __a); +__builtin_neon_ei __builtin_neon_vld4_dupv8qi (const __builtin_neon_qi * __a); +__builtin_neon_ei __builtin_neon_vld4_lanev2sf (const __builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld4_lanev2si (const __builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld4_lanev4hi (const __builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld4_lanev8qi (const __builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld4v2sf (const __builtin_neon_sf * __a); +__builtin_neon_ei __builtin_neon_vld4v2si (const __builtin_neon_si * __a); +__builtin_neon_ei __builtin_neon_vld4v4hi (const __builtin_neon_hi * __a); +__builtin_neon_ei __builtin_neon_vld4v8qi (const __builtin_neon_qi * __a); +__builtin_neon_oi __builtin_neon_vld2_lanev4sf (const __builtin_neon_sf * __a, __builtin_neon_oi __b, const int __c); +__builtin_neon_oi __builtin_neon_vld2_lanev4si (const __builtin_neon_si * __a, __builtin_neon_oi __b, const int __c); +__builtin_neon_oi __builtin_neon_vld2_lanev8hf(const cov_fp16_t*, __builtin_neon_oi, int); +__builtin_neon_oi __builtin_neon_vld2_lanev8hi (const __builtin_neon_hi * __a, __builtin_neon_oi __b, const int __c); +__builtin_neon_oi __builtin_neon_vld2v16qi (const __builtin_neon_qi * __a); +__builtin_neon_oi __builtin_neon_vld2v4sf (const __builtin_neon_sf * __a); +__builtin_neon_oi __builtin_neon_vld2v4si (const __builtin_neon_si * __a); +__builtin_neon_oi __builtin_neon_vld2v8hf(const cov_fp16_t*); +__builtin_neon_oi __builtin_neon_vld2v8hi (const __builtin_neon_hi * __a); +__builtin_neon_oi __builtin_neon_vld4_dupv4hf(const cov_fp16_t*); +__builtin_neon_oi __builtin_neon_vld4_lanev4hf(const cov_fp16_t*, __builtin_neon_oi, int); +__builtin_neon_oi __builtin_neon_vld4v4hf(const cov_fp16_t*); +__builtin_neon_ti __builtin_neon_vld2di (const __builtin_neon_di * __a); +__builtin_neon_ti __builtin_neon_vld2_dupdi (const __builtin_neon_di * __a); +__builtin_neon_ti __builtin_neon_vld2_dupv2sf (const __builtin_neon_sf * __a); +__builtin_neon_ti __builtin_neon_vld2_dupv2si (const __builtin_neon_si * __a); +__builtin_neon_ti __builtin_neon_vld2_dupv4hf(const cov_fp16_t*); +__builtin_neon_ti __builtin_neon_vld2_dupv4hi (const __builtin_neon_hi * __a); +__builtin_neon_ti __builtin_neon_vld2_dupv8qi (const __builtin_neon_qi * __a); +__builtin_neon_ti __builtin_neon_vld2_lanev2sf (const __builtin_neon_sf * __a, float __b, const int __c); +__builtin_neon_ti __builtin_neon_vld2_lanev2si (const __builtin_neon_si * __a, int __b, const int __c); +__builtin_neon_ti __builtin_neon_vld2_lanev4hf(const cov_fp16_t*, __builtin_neon_ti, int); +__builtin_neon_ti __builtin_neon_vld2_lanev4hi (const __builtin_neon_hi * __a, int __b, const int __c); +__builtin_neon_ti __builtin_neon_vld2_lanev8qi (const __builtin_neon_qi * __a, int __b, const int __c); +__builtin_neon_ti __builtin_neon_vld2v2sf (const __builtin_neon_sf * __a); +__builtin_neon_ti __builtin_neon_vld2v2si (const __builtin_neon_si * __a); +__builtin_neon_ti __builtin_neon_vld2v4hf(const cov_fp16_t*); +__builtin_neon_ti __builtin_neon_vld2v4hi (const __builtin_neon_hi * __a); +__builtin_neon_ti __builtin_neon_vld2v8qi (const __builtin_neon_qi * __a); +__builtin_neon_uti __builtin_arm_crypto_vmullp64(long long unsigned int, long long unsigned int); +__builtin_neon_xi __builtin_neon_vld4_lanev8hf(const cov_fp16_t*, __builtin_neon_xi, int); +__builtin_neon_xi __builtin_neon_vld4v8hf(const cov_fp16_t*); +cov_fp16_t __builtin_neon_vabshf(cov_fp16_t); +cov_fp16_t __builtin_neon_vcvthshf(int); +cov_fp16_t __builtin_neon_vcvths_nhf(int, int); +cov_fp16_t __builtin_neon_vcvthuhf(int); +cov_fp16_t __builtin_neon_vcvthu_nhf(int, int); +cov_fp16_t __builtin_neon_vfmahf(cov_fp16_t, cov_fp16_t, cov_fp16_t); +cov_fp16_t __builtin_neon_vfmshf(cov_fp16_t, cov_fp16_t, cov_fp16_t); +cov_fp16_t __builtin_neon_vmaxnmhf(cov_fp16_t, cov_fp16_t); +cov_fp16_t __builtin_neon_vminnmhf(cov_fp16_t, cov_fp16_t); +cov_fp16_t __builtin_neon_vrndahf(cov_fp16_t); +cov_fp16_t __builtin_neon_vrndhf(cov_fp16_t); +cov_fp16_t __builtin_neon_vrndihf(cov_fp16_t); +cov_fp16_t __builtin_neon_vrndmhf(cov_fp16_t); +cov_fp16_t __builtin_neon_vrndnhf(cov_fp16_t); +cov_fp16_t __builtin_neon_vrndphf(cov_fp16_t); +cov_fp16_t __builtin_neon_vrndxhf(cov_fp16_t); +cov_fp16_t __builtin_neon_vsqrthf(cov_fp16_t); +float __builtin_neon_vget_lanev2sf (__simd64_float32_t __a, const int __b); +float __builtin_neon_vget_lanev4sf (__simd128_float32_t __a, const int __b); +int __builtin_neon_vbsldi (int __a, int __b, int __c); +int __builtin_neon_vcreatedi (__builtin_neon_di __a); +int __builtin_neon_vcvtahssi(cov_fp16_t); +int __builtin_neon_vcvtahusi(cov_fp16_t); +int __builtin_neon_vcvths_nsi(cov_fp16_t, int); +int __builtin_neon_vcvthssi(cov_fp16_t); +int __builtin_neon_vcvthu_nsi(cov_fp16_t, int); +int __builtin_neon_vcvthusi(cov_fp16_t); +int __builtin_neon_vcvtmhssi(cov_fp16_t); +int __builtin_neon_vcvtmhusi(cov_fp16_t); +int __builtin_neon_vcvtnhssi(cov_fp16_t); +int __builtin_neon_vcvtnhusi(cov_fp16_t); +int __builtin_neon_vcvtphssi(cov_fp16_t); +int __builtin_neon_vcvtphusi(cov_fp16_t); +int __builtin_neon_vdup_lanedi (int __a, const int __b); +int __builtin_neon_vdup_ndi (__builtin_neon_di __a); +int __builtin_neon_vextdi (int __a, int __b, const int __c); +int __builtin_neon_vget_lanedi (int __a, const int __b); +int __builtin_neon_vget_laneuv16qi(__simd128_int8_t, int); +int __builtin_neon_vget_laneuv4hi(__simd64_int16_t, int); +int __builtin_neon_vget_laneuv8hi(__simd128_int16_t, int); +int __builtin_neon_vget_laneuv8qi(__simd64_int8_t, int); +int __builtin_neon_vget_lanev16qi(__simd128_int8_t, int); +int __builtin_neon_vget_lanev2si (__simd64_int32_t __a, const int __b); +int __builtin_neon_vget_lanev4hi(__simd64_int16_t, int); +int __builtin_neon_vget_lanev4si (__simd128_int32_t __a, const int __b); +int __builtin_neon_vget_lanev8hi(__simd128_int16_t, int); +int __builtin_neon_vget_lanev8qi(__simd64_int8_t, int); +int __builtin_neon_vld1di (const __builtin_neon_di * __a); +int __builtin_neon_vld1_dupdi (const __builtin_neon_di * __a); +int __builtin_neon_vld1_lanedi (const __builtin_neon_di* __a, int __b, const int __c); +int __builtin_neon_vpadalsv2si (int __a, __simd64_int32_t __b); +int __builtin_neon_vpaddlsv2si (__simd64_int32_t __a); +int __builtin_neon_vqaddsdi (int __a, int __b); +int __builtin_neon_vqrshlsdi (int __a, int __b); +int __builtin_neon_vqshlsdi (int __a, int __b); +int __builtin_neon_vqshl_s_ndi (int __a, const int __b); +int __builtin_neon_vqsubsdi (int __a, int __b); +int __builtin_neon_vqsubudi (int __a, int __b); +int __builtin_neon_vreinterpretdidi (int __a); +int __builtin_neon_vreinterpretdiv2sf (__simd64_float32_t __a); +int __builtin_neon_vreinterpretdiv2si (__simd64_int32_t __a); +int __builtin_neon_vreinterpretdiv4hi (__simd64_int32_t __a); +int __builtin_neon_vreinterpretdiv8qi (__simd64_int32_t __a); +int __builtin_neon_vrshlsdi (int __a, int __b); +int __builtin_neon_vrshrs_ndi (int __a, const int __b); +int __builtin_neon_vrsras_ndi (int __a, int __b, const int __c); +int __builtin_neon_vset_lanedi (__builtin_neon_di __a, int __b, const int __c); +int __builtin_neon_vshl_ndi (int __a, const int __b); +int __builtin_neon_vshlsdi (int __a, int __b); +int __builtin_neon_vshrs_ndi (int __a, const int __b); +int __builtin_neon_vsli_ndi (int __a, int __b, const int __c); +int __builtin_neon_vsras_ndi (int __a, int __b, const int __c); +int __builtin_neon_vsri_ndi (int __a, int __b, const int __c); +int __builtin_neon_vst1_lanedi (__builtin_neon_di * __a, int __b, const int __c); +void __builtin_neon_vst2di(long long int*, __builtin_neon_ti); +int __builtin_neon_vst2_lanev2sf (__builtin_neon_sf * __a, float __b, const int __c); +int __builtin_neon_vst2_lanev2si (__builtin_neon_si * __a, int __b, const int __c); +int __builtin_neon_vst2_lanev4hi (__builtin_neon_hi * __a, int __b, const int __c); +int __builtin_neon_vst2_lanev4sf (__builtin_neon_sf * __a, __builtin_neon_oi __b, const int __c); +int __builtin_neon_vst2_lanev4si (__builtin_neon_si * __a, __builtin_neon_oi __b, const int __c); +int __builtin_neon_vst2_lanev8hi (__builtin_neon_hi* __a, __builtin_neon_oi __b, const int __c); +int __builtin_neon_vst2_lanev8qi (__builtin_neon_qi * __a, int __b, const int __c); +void __builtin_neon_vst2v16qi(signed char*, __builtin_neon_oi); +void __builtin_neon_vst2v2sf(float*, __builtin_neon_ti); +void __builtin_neon_vst2v2si(int*, __builtin_neon_ti); +void __builtin_neon_vst2v4hi(short int*, __builtin_neon_ti); +void __builtin_neon_vst2v4sf(float*, __builtin_neon_oi); +void __builtin_neon_vst2v4si(int*, __builtin_neon_oi); +void __builtin_neon_vst2v8hi(short int*, __builtin_neon_oi); +void __builtin_neon_vst2v8qi(signed char*, __builtin_neon_ti); +void __builtin_neon_vst3di(long long int*, __builtin_neon_ei); +int __builtin_neon_vst3_lanev2sf (__builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); +int __builtin_neon_vst3_lanev2si (__builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); +int __builtin_neon_vst3_lanev4hi (__builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); +int __builtin_neon_vst3_lanev4sf (__builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); +int __builtin_neon_vst3_lanev4si (__builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); +int __builtin_neon_vst3_lanev8hi (__builtin_neon_hi* __a, __builtin_neon_ci __b, const int __c); +int __builtin_neon_vst3_lanev8qi (__builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); +void __builtin_neon_vst3v16qi(signed char*, __builtin_neon_ci); +void __builtin_neon_vst3v2sf(float*, __builtin_neon_ei); +void __builtin_neon_vst3v2si(int*, __builtin_neon_ei); +void __builtin_neon_vst3v4hi(short int*, __builtin_neon_ei); +void __builtin_neon_vst3v4sf(float*, __builtin_neon_ci); +void __builtin_neon_vst3v4si(int*, __builtin_neon_ci); +void __builtin_neon_vst3v8hi(short int*, __builtin_neon_ci); +void __builtin_neon_vst3v8qi(signed char*, __builtin_neon_ei); +void __builtin_neon_vst4di(long long int*, __builtin_neon_oi); +int __builtin_neon_vst4_lanev2sf (__builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); +int __builtin_neon_vst4_lanev2si (__builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); +int __builtin_neon_vst4_lanev4hi (__builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); +int __builtin_neon_vst4_lanev4sf (__builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); +int __builtin_neon_vst4_lanev4si (__builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); +int __builtin_neon_vst4_lanev8hi (__builtin_neon_hi* __a, __builtin_neon_ci __b, const int __c); +int __builtin_neon_vst4_lanev8qi (__builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); +void __builtin_neon_vst4v16qi(signed char*, __builtin_neon_xi); +void __builtin_neon_vst4v2sf(float*, __builtin_neon_oi); +void __builtin_neon_vst4v2si(int*, __builtin_neon_oi); +void __builtin_neon_vst4v4hi(short int*, __builtin_neon_oi); +void __builtin_neon_vst4v4sf(float*, __builtin_neon_xi); +void __builtin_neon_vst4v4si(int*, __builtin_neon_xi); +void __builtin_neon_vst4v8hi(short int*, __builtin_neon_xi); +void __builtin_neon_vst4v8qi(signed char*, __builtin_neon_oi); +long long int __builtin_neon_vget_highv2di(__simd128_int64_t); +long long int __builtin_neon_vget_lanev2di(__simd128_int64_t, int); +long long int __builtin_neon_vget_lowv2di(__simd128_int64_t); +__simd128_float16_t __builtin_neon_vabdv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vabsv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vaddv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vbslv8hf(__simd128_int16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vcadd90v8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vcmla0v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vcmla180v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vcmla270v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vcmla90v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vcmla_lane0v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float16_t __builtin_neon_vcmla_lane180v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float16_t __builtin_neon_vcmla_lane270v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float16_t __builtin_neon_vcmla_lane90v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float16_t __builtin_neon_vcmlaq_lane0v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float16_t __builtin_neon_vcmlaq_lane180v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float16_t __builtin_neon_vcmlaq_lane270v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float16_t __builtin_neon_vcmlaq_lane90v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float16_t __builtin_neon_vcombinev4hf(__simd64_float16_t, __simd64_float16_t); +__simd128_float16_t __builtin_neon_vcvts_nv8hi(__simd128_int16_t, int); +__simd128_float16_t __builtin_neon_vcvtsv8hi(__simd128_int16_t); +__simd128_float16_t __builtin_neon_vcvtu_nv8hi(__simd128_int16_t, int); +__simd128_float16_t __builtin_neon_vcvtuv8hi(__simd128_int16_t); +__simd128_float16_t __builtin_neon_vdup_lanev8hf(__simd64_float16_t, int); +__simd128_float16_t __builtin_neon_vdup_nv8hf(cov_fp16_t); +__simd128_float16_t __builtin_neon_vextv8hf(__simd128_float16_t, __simd128_float16_t, int); +__simd128_float16_t __builtin_neon_vfmav8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vfmsv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vld1v8hf(const cov_fp16_t*); +__simd128_float16_t __builtin_neon_vmaxfv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vmaxnmv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vminfv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vminnmv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vmulfv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vmul_lanev8hf(__simd128_float16_t, __simd64_float16_t, int); +__simd128_float16_t __builtin_neon_vmul_nv8hf(__simd128_float16_t, cov_fp16_t); +__simd128_float16_t __builtin_neon_vnegv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrecpev8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrecpsv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vrndav8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrndmv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrndnv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrndpv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrndv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrndxv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrsqrtev8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrsqrtsv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vsubv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_neon_vabdfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_float32_t __builtin_neon_vabsv4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vaddv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_float32_t __builtin_neon_vbslv4sf (__simd128_int32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); +__simd128_float32_t __builtin_neon_vcadd90v4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vcmla0v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vcmla180v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vcmla270v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vcmla90v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vcmla_lane0v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); +__simd128_float32_t __builtin_neon_vcmla_lane180v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); +__simd128_float32_t __builtin_neon_vcmla_lane270v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); +__simd128_float32_t __builtin_neon_vcmla_lane90v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); +__simd128_float32_t __builtin_neon_vcmlaq_lane0v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); +__simd128_float32_t __builtin_neon_vcmlaq_lane180v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); +__simd128_float32_t __builtin_neon_vcmlaq_lane270v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); +__simd128_float32_t __builtin_neon_vcmlaq_lane90v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); +__simd128_float32_t __builtin_neon_vcombinev2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd128_float32_t __builtin_neon_vcvts_nv4si (__simd128_int32_t __a, const int __b); +__simd128_float32_t __builtin_neon_vcvtsv4si (__simd128_int32_t __a); +__simd128_float32_t __builtin_neon_vcvtu_nv4si (__simd128_int32_t __a, const int __b); +__simd128_float32_t __builtin_neon_vcvtuv4si (__simd128_int32_t __a); +__simd128_float32_t __builtin_neon_vcvtv4sfv4hf(__simd64_float16_t); +__simd128_float32_t __builtin_neon_vdup_lanev4sf (__simd64_float32_t __a, const int __b); +__simd128_float32_t __builtin_neon_vdup_nv4sf (__builtin_neon_sf __a); +__simd128_float32_t __builtin_neon_vextv4sf (__simd128_float32_t __a, __simd128_float32_t __b, const int __c); +__simd128_float32_t __builtin_neon_vfmal_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_neon_vfmal_lane_highv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float32_t __builtin_neon_vfmal_lane_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float32_t __builtin_neon_vfmal_lane_lowv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float32_t __builtin_neon_vfmal_lane_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float32_t __builtin_neon_vfmal_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_neon_vfmav4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); +__simd128_float32_t __builtin_neon_vfmsl_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_neon_vfmsl_lane_highv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float32_t __builtin_neon_vfmsl_lane_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float32_t __builtin_neon_vfmsl_lane_lowv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float32_t __builtin_neon_vfmsl_lane_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float32_t __builtin_neon_vfmsl_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_neon_vfmsv4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); +__simd128_float32_t __builtin_neon_vld1_dupv4sf (const __builtin_neon_sf * __a); +__simd128_float32_t __builtin_neon_vld1_lanev4sf (const float * __a, __simd128_float32_t __b, const int __c); +__simd128_float32_t __builtin_neon_vld1v4sf (const __builtin_neon_sf * __a); +__simd128_float32_t __builtin_neon_vmaxfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_float32_t __builtin_neon_vmaxnmv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vminfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_float32_t __builtin_neon_vminnmv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vmla_lanev4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd64_float32_t __c, const int __d); +__simd128_float32_t __builtin_neon_vmla_nv4sf (__simd128_float32_t __a, __simd128_float32_t __b, float __c); +__simd128_float32_t __builtin_neon_vmlav4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); +__simd128_float32_t __builtin_neon_vmls_lanev4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd64_float32_t __c, const int __d); +__simd128_float32_t __builtin_neon_vmls_nv4sf (__simd128_float32_t __a, __simd128_float32_t __b, float __c); +__simd128_float32_t __builtin_neon_vmlsv4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); +__simd128_float32_t __builtin_neon_vmulfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_float32_t __builtin_neon_vmul_lanev4sf (__simd128_float32_t __a, __simd64_float32_t __b, const int __c); +__simd128_float32_t __builtin_neon_vmul_nv4sf (__simd128_float32_t __a, float __b); +__simd128_float32_t __builtin_neon_vnegv4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrecpev4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrecpsv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_float32_t __builtin_neon_vreinterpretv4sfti (__builtin_neon_ti __a); +__simd128_float32_t __builtin_neon_vreinterpretv4sfv16qi (__simd128_int32_t __a); +__simd128_float32_t __builtin_neon_vreinterpretv4sfv2di (__simd128_int32_t __a); +__simd128_float32_t __builtin_neon_vreinterpretv4sfv4si (__simd128_int32_t __a); +__simd128_float32_t __builtin_neon_vreinterpretv4sfv8hi (__simd128_int32_t __a); +__simd128_float32_t __builtin_neon_vrintav4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrintmv4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrintnv4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrintpv4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrintxv4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrintzv4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrsqrtev4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrsqrtsv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_float32_t __builtin_neon_vset_lanev4sf (float __a, __simd128_float32_t __b, const int __c); +void __builtin_neon_vst1_lanev4sf(float*, __simd128_float32_t, int); +void __builtin_neon_vst1v4sf(float*, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vsubv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_int16_t __builtin_neon_vabalsv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vabaluv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vabasv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vabauv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vabdlsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vabdluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vabdsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vabduv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vabsv8hi(__simd128_int16_t); +__simd128_int16_t __builtin_neon_vaddlsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vaddluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vaddwsv8qi(__simd128_int16_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vaddwuv8qi(__simd128_int16_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vbslv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vcagev8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vcagtv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vcalev8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vcaltv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vceqv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vceqv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vceqzv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcgeuv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vcgev8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vcgev8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vcgezv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcgtuv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vcgtv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vcgtv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vcgtzv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vclev8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vclezv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vclsv8hi(__simd128_int16_t); +__simd128_int16_t __builtin_neon_vcltv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vcltzv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vclzv8hi(__simd128_int16_t); +__simd128_int16_t __builtin_neon_vcombinev4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int16_t __builtin_neon_vcvtasv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtauv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtmsv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtmuv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtnsv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtnuv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtpsv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtpuv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvts_nv8hf(__simd128_float16_t, int); +__simd128_int16_t __builtin_neon_vcvtsv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtu_nv8hf(__simd128_float16_t, int); +__simd128_int16_t __builtin_neon_vcvtuv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vdup_lanev8hi(__simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vextv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vhaddsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vhadduv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vhsubsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vhsubuv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vld1_lanev8hi(const short int*, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vmaxsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vmaxuv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vminsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vminuv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vmla_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vmlalsv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vmlaluv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vmla_nv8hi(__simd128_int16_t, __simd128_int16_t, short int); +__simd128_int16_t __builtin_neon_vmlav8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vmls_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vmlslsv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vmlsluv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vmls_nv8hi(__simd128_int16_t, __simd128_int16_t, short int); +__simd128_int16_t __builtin_neon_vmlsv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vmovlsv8qi(__simd64_int8_t); +__simd128_int16_t __builtin_neon_vmovluv8qi(__simd64_int8_t); +__simd128_int16_t __builtin_neon_vmul_lanev8hi(__simd128_int16_t, __simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vmullpv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vmullsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vmulluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vmul_nv8hi(__simd128_int16_t, short int); +__simd128_int16_t __builtin_neon_vmvnv8hi(__simd128_int16_t); +__simd128_int16_t __builtin_neon_vnegv8hi(__simd128_int16_t); +__simd128_int16_t __builtin_neon_vpadalsv16qi(__simd128_int16_t, __simd128_int8_t); +__simd128_int16_t __builtin_neon_vpadaluv16qi(__simd128_int16_t, __simd128_int8_t); +__simd128_int16_t __builtin_neon_vpaddlsv16qi(__simd128_int8_t); +__simd128_int16_t __builtin_neon_vpaddluv16qi(__simd128_int8_t); +__simd128_int16_t __builtin_neon_vqabsv8hi(__simd128_int16_t); +__simd128_int16_t __builtin_neon_vqaddsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqadduv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqdmulh_lanev8hi(__simd128_int16_t, __simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vqdmulh_nv8hi(__simd128_int16_t, short int); +__simd128_int16_t __builtin_neon_vqdmulhv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqnegv8hi(__simd128_int16_t); +__simd128_int16_t __builtin_neon_vqrdmlah_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vqrdmlahv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqrdmlsh_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vqrdmlshv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqrdmulh_lanev8hi(__simd128_int16_t, __simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vqrdmulh_nv8hi(__simd128_int16_t, short int); +__simd128_int16_t __builtin_neon_vqrdmulhv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqrshlsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqrshluv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqshl_s_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vqshlsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqshl_u_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vqshlu_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vqshluv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqsubsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqsubuv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vrhaddsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vrhadduv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vrshlsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vrshluv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vrshrs_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vrshru_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vrsras_nv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vrsrau_nv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vset_lanev8hi(short int, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vshlls_nv8qi(__simd64_int8_t, int); +__simd128_int16_t __builtin_neon_vshllu_nv8qi(__simd64_int8_t, int); +__simd128_int16_t __builtin_neon_vshl_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vshlsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vshluv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vshrs_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vshru_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vsli_nv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vsras_nv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vsrau_nv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vsri_nv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vsublsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vsubluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vsubwsv8qi(__simd128_int16_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vsubwuv8qi(__simd128_int16_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vtstv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int32_t __builtin_neon_sdot_lanev16qi(__simd128_int32_t, __simd128_int8_t, __simd64_int8_t, int); +__simd128_int32_t __builtin_neon_sdotv16qi(__simd128_int32_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_neon_vabalsv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vabaluv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vabasv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); +__simd128_int32_t __builtin_neon_vabauv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); +__simd128_int32_t __builtin_neon_vabdlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vabdlsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vabdluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vabdluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vabdsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vabduv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vabsv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vaddlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vaddlsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vaddluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vaddluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vaddwsv4hi(__simd128_int32_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vaddwuv4hi(__simd128_int32_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vbslv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); +__simd128_int32_t __builtin_neon_vcagev4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_int32_t __builtin_neon_vcagtv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_int32_t __builtin_neon_vceqv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_int32_t __builtin_neon_vceqv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vcgeuv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vcgev4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_int32_t __builtin_neon_vcgev4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vcgtuv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vcgtv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_int32_t __builtin_neon_vcgtv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vclsv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vclzv4si (__simd128_int32_t __a); +__simd128_int64_t __builtin_neon_vcombinedi (long long int __a, long long int __b); +__simd128_int32_t __builtin_neon_vcombinev2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vcvts_nv4sf (__simd128_float32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vcvtsv4sf (__simd128_float32_t __a); +__simd128_int32_t __builtin_neon_vcvtu_nv4sf (__simd128_float32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vcvtuv4sf (__simd128_float32_t __a); +__simd128_int32_t __builtin_neon_vdup_lanev2di (int __a, const int __b); +__simd128_int32_t __builtin_neon_vdup_lanev4si (__simd64_int32_t __a, const int __b); +__simd128_int8_t __builtin_neon_vdup_nv16qi(signed char); +__simd128_int64_t __builtin_neon_vdup_nv2di(long long int); +__simd128_int32_t __builtin_neon_vdup_nv4si (__builtin_neon_si __a); +__simd128_int16_t __builtin_neon_vdup_nv8hi(short int); +__simd128_int32_t __builtin_neon_vextv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vhaddsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vhadduv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vhsubsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vhsubuv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int8_t __builtin_neon_vld1_dupv16qi(const signed char*); +__simd128_int64_t __builtin_neon_vld1_dupv2di(const long long int*); +__simd128_int32_t __builtin_neon_vld1_dupv4si (const __builtin_neon_si * __a); +__simd128_int16_t __builtin_neon_vld1_dupv8hi(const short int*); +__simd128_int32_t __builtin_neon_vld1_lanev4si (const int * __a, __simd128_int32_t __b, const int __c); +__simd128_int8_t __builtin_neon_vld1v16qi(const signed char*); +__simd128_int64_t __builtin_neon_vld1v2di(const long long int*); +__simd128_int32_t __builtin_neon_vld1v4si (const __builtin_neon_si * __a); +__simd128_int16_t __builtin_neon_vld1v8hi(const short int*); +__simd128_int32_t __builtin_neon_vmaxsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vmaxuv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vminsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vminuv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vmla_lanev4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd64_int32_t __c, const int __d); +__simd128_int32_t __builtin_neon_vmlals_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vmlals_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vmlalsv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vmlalu_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vmlalu_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vmlaluv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vmla_nv4si (__simd128_int32_t __a, __simd128_int32_t __a, int __c); +__simd128_int32_t __builtin_neon_vmlav4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); +__simd128_int32_t __builtin_neon_vmls_lanev4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd64_int32_t __c, const int __d); +__simd128_int32_t __builtin_neon_vmlsls_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vmlsls_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vmlslsv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vmlslu_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vmlslu_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vmlsluv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vmls_nv4si (__simd128_int32_t __a, __simd128_int32_t __a, int __c); +__simd128_int32_t __builtin_neon_vmlsv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); +__simd128_int32_t __builtin_neon_vmovlsv2si (__simd64_int32_t __a); +__simd128_int32_t __builtin_neon_vmovlsv4hi(__simd64_int16_t); +__simd128_int32_t __builtin_neon_vmovluv2si (__simd64_int32_t __a); +__simd128_int32_t __builtin_neon_vmovluv4hi(__simd64_int16_t); +__simd128_int32_t __builtin_neon_vmul_lanev4si (__simd128_int32_t __a, __simd64_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vmulls_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vmulls_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vmulls_nv2si (__simd64_int32_t __a, int __b); +__simd128_int32_t __builtin_neon_vmulls_nv4hi(__simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vmullsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vmullsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vmullu_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vmullu_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vmullu_nv2si (__simd64_int32_t __a, __builtin_neon_si __b); +__simd128_int32_t __builtin_neon_vmullu_nv4hi(__simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vmulluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vmulluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vmul_nv4si (__simd128_int32_t __a, int __b); +__simd128_int32_t __builtin_neon_vmvnv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vnegv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vpadalsv8hi(__simd128_int32_t, __simd128_int16_t); +__simd128_int32_t __builtin_neon_vpadaluv8hi(__simd128_int32_t, __simd128_int16_t); +__simd128_int32_t __builtin_neon_vpaddlsv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vpaddlsv8hi(__simd128_int16_t); +__simd128_int32_t __builtin_neon_vpaddluv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vpaddluv8hi(__simd128_int16_t); +__simd128_int32_t __builtin_neon_vqabsv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vqaddsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqadduv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqdmlal_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vqdmlal_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vqdmlalv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vqdmlsl_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vqdmlsl_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vqdmlslv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vqdmulh_lanev4si (__simd128_int32_t __a, __simd64_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vqdmulh_nv4si (__simd128_int32_t __a, int __b); +__simd128_int32_t __builtin_neon_vqdmulhv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqdmull_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vqdmull_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vqdmull_nv2si (__simd64_int32_t __a, int __b); +__simd128_int32_t __builtin_neon_vqdmull_nv4hi(__simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vqdmullv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vqdmullv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vqnegv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vqrdmlah_lanev4si(__simd128_int32_t, __simd128_int32_t, __simd64_int32_t, int); +__simd128_int32_t __builtin_neon_vqrdmlahv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int32_t __builtin_neon_vqrdmlsh_lanev4si(__simd128_int32_t, __simd128_int32_t, __simd64_int32_t, int); +__simd128_int32_t __builtin_neon_vqrdmlshv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int32_t __builtin_neon_vqrdmulh_lanev4si (__simd128_int32_t __a, __simd64_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vqrdmulh_nv4si (__simd128_int32_t __a, int __b); +__simd128_int32_t __builtin_neon_vqrdmulhv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqrshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqrshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqshl_s_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vqshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqshl_u_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vqshlu_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vqshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqsubsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqsubuv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vrecpev4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterprettiv16qi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterprettiv2di (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterprettiv4sf (__simd128_float32_t __a); +__simd128_int32_t __builtin_neon_vreinterprettiv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterprettiv8hi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv16qiti (__builtin_neon_ti __a); +__simd128_int32_t __builtin_neon_vreinterpretv16qiv16qi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv16qiv2di (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv16qiv4sf (__simd128_float32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv16qiv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv16qiv8hi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv2diti (__builtin_neon_ti __a); +__simd128_int32_t __builtin_neon_vreinterpretv2div16qi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv2div2di (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv2div4sf (__simd128_float32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv2div4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv2div8hi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv4siti (__builtin_neon_ti __a); +__simd128_int32_t __builtin_neon_vreinterpretv4siv16qi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv4siv2di (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv4siv4sf (__simd128_float32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv4siv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv4siv8hi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv8hiti (__builtin_neon_ti __a); +__simd128_int32_t __builtin_neon_vreinterpretv8hiv16qi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv8hiv2di (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv8hiv4sf (__simd128_float32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv8hiv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv8hiv8hi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vrhaddsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vrhadduv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vrshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vrshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vrshrs_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vrshru_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vrsqrtev4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vrsras_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vrsrau_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vset_lanev4si (int __a, __simd128_int32_t __a, const int __c); +__simd128_int32_t __builtin_neon_vshlls_nv2si (__simd64_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vshlls_nv4hi(__simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vshllu_nv2si (__simd64_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vshllu_nv4hi(__simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vshl_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vshrs_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vshru_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vsli_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vsras_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vsrau_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vsri_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); +void __builtin_neon_vst1_lanev4si(int*, __simd128_int32_t, int); +void __builtin_neon_vst1v4si(int*, __simd128_int32_t); +__simd128_int32_t __builtin_neon_vsublsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vsublsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vsubluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vsubluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vsubwsv4hi(__simd128_int32_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vsubwuv4hi(__simd128_int32_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vtstv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int64_t __builtin_neon_vabalsv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vabaluv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vaddwsv2si(__simd128_int64_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vaddwuv2si(__simd128_int64_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vbslv2di(__simd128_int64_t, __simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vextv2di(__simd128_int64_t, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vld1_lanev2di(const long long int*, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vmlals_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlals_nv2si(__simd128_int64_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlalsv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vmlalu_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlalu_nv2si(__simd128_int64_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlaluv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vmlsls_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlsls_nv2si(__simd128_int64_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlslsv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vmlslu_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlslu_nv2si(__simd128_int64_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlsluv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vpadalsv4si(__simd128_int64_t, __simd128_int32_t); +__simd128_int64_t __builtin_neon_vpadaluv4si(__simd128_int64_t, __simd128_int32_t); +__simd128_int64_t __builtin_neon_vqaddsv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vqadduv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vqdmlal_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vqdmlal_nv2si(__simd128_int64_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vqdmlalv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vqdmlsl_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vqdmlsl_nv2si(__simd128_int64_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vqdmlslv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vqrshlsv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vqrshluv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vqshl_s_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vqshlsv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vqshl_u_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vqshlu_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vqshluv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vqsubsv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vqsubuv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vrshlsv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vrshluv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vrshrs_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vrshru_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vrsras_nv2di(__simd128_int64_t, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vrsrau_nv2di(__simd128_int64_t, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vset_lanev2di(long long int, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vshl_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vshlsv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vshluv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vshrs_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vshru_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vsli_nv2di(__simd128_int64_t, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vsras_nv2di(__simd128_int64_t, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vsrau_nv2di(__simd128_int64_t, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vsri_nv2di(__simd128_int64_t, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vsubwsv2si(__simd128_int64_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vsubwuv2si(__simd128_int64_t, __simd64_int32_t); +__simd128_int8_t __builtin_neon_vabasv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vabauv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vabdsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vabduv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vabsv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vbslv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vceqv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vcgeuv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vcgev16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vcgtuv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vcgtv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vclsv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vclzv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vcntv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vcombinev8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int8_t __builtin_neon_vdup_lanev16qi(__simd64_int8_t, int); +__simd128_int8_t __builtin_neon_vextv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vhaddsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vhadduv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vhsubsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vhsubuv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vld1_lanev16qi(const signed char*, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vmaxsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vmaxuv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vminsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vminuv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vmlav16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vmlsv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vmulpv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vmvnv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vnegv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vqabsv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vqaddsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vqadduv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vqnegv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vqrshlsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vqrshluv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vqshl_s_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vqshlsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vqshl_u_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vqshlu_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vqshluv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vqsubsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vqsubuv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vrhaddsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vrhadduv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vrshlsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vrshluv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vrshrs_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vrshru_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vrsras_nv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vrsrau_nv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vset_lanev16qi(signed char, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vshl_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vshlsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vshluv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vshrs_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vshru_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vsli_nv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vsras_nv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vsrau_nv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vsri_nv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vtstv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_uint32_t __builtin_neon_udot_lanev16qi_uuuus(__simd128_uint32_t, __simd128_uint8_t, __simd64_uint8_t, int); +__simd128_uint32_t __builtin_neon_udotv16qi_uuuu(__simd128_uint32_t, __simd128_uint8_t, __simd128_uint8_t); +__simd64_float16_t __builtin_neon_vabdv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vabsv4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vaddv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vbslv4hf(__simd64_int16_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vcadd90v4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vcmla0v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vcmla180v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vcmla270v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vcmla90v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vcmla_lane0v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float16_t __builtin_neon_vcmla_lane180v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float16_t __builtin_neon_vcmla_lane270v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float16_t __builtin_neon_vcmla_lane90v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float16_t __builtin_neon_vcmla_laneq0v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float16_t __builtin_neon_vcmla_laneq180v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float16_t __builtin_neon_vcmla_laneq270v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float16_t __builtin_neon_vcmla_laneq90v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float16_t __builtin_neon_vcvts_nv4hi(__simd64_int16_t, int); +__simd64_float16_t __builtin_neon_vcvtsv4hi(__simd64_int16_t); +__simd64_float16_t __builtin_neon_vcvtu_nv4hi(__simd64_int16_t, int); +__simd64_float16_t __builtin_neon_vcvtuv4hi(__simd64_int16_t); +__simd64_float16_t __builtin_neon_vdup_lanev4hf(__simd64_float16_t, int); +__simd64_float16_t __builtin_neon_vdup_nv4hf(cov_fp16_t); +__simd64_float16_t __builtin_neon_vextv4hf(__simd64_float16_t, __simd64_float16_t, int); +__simd64_float16_t __builtin_neon_vfmav4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vfmsv4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vget_highv8hf(__simd128_float16_t); +__simd64_float16_t __builtin_neon_vget_lowv8hf(__simd128_float16_t); +__simd64_float16_t __builtin_neon_vld1v4hf(const cov_fp16_t*); +__simd64_float16_t __builtin_neon_vmaxfv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vmaxnmv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vminfv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vminnmv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vmulfv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vmul_lanev4hf(__simd64_float16_t, __simd64_float16_t, int); +__simd64_float16_t __builtin_neon_vmul_nv4hf(__simd64_float16_t, cov_fp16_t); +__simd64_float16_t __builtin_neon_vnegv4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vpaddv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vpmaxfv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vpminfv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vrecpev4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrecpsv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vrndav4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrndmv4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrndnv4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrndpv4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrndv4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrndxv4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrsqrtev4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrsqrtsv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vsubv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float32_t __builtin_neon_vabdfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vabsv2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vaddv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vbslv2sf (__simd64_int32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); +__simd64_float32_t __builtin_neon_vcadd90v2sf(__simd64_float32_t, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vcmla0v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vcmla180v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vcmla270v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vcmla90v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vcmla_lane0v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); +__simd64_float32_t __builtin_neon_vcmla_lane180v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); +__simd64_float32_t __builtin_neon_vcmla_lane270v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); +__simd64_float32_t __builtin_neon_vcmla_lane90v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); +__simd64_float32_t __builtin_neon_vcmla_laneq0v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); +__simd64_float32_t __builtin_neon_vcmla_laneq180v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); +__simd64_float32_t __builtin_neon_vcmla_laneq270v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); +__simd64_float32_t __builtin_neon_vcmla_laneq90v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); +__simd64_float32_t __builtin_neon_vcreatev2sf (__builtin_neon_di __a); +__simd64_float32_t __builtin_neon_vcvts_nv2si (__simd64_int32_t __a, const int __b); +__simd64_float32_t __builtin_neon_vcvtsv2si (__simd64_int32_t __a); +__simd64_float32_t __builtin_neon_vcvtu_nv2si (__simd64_int32_t __a, const int __b); +__simd64_float32_t __builtin_neon_vcvtuv2si (__simd64_int32_t __a); +__simd64_float16_t __builtin_neon_vcvtv4hfv4sf(__simd128_float32_t); +__simd64_float32_t __builtin_neon_vdup_lanev2sf (__simd64_float32_t __a, const int __b); +__simd64_float32_t __builtin_neon_vdup_nv2sf (__builtin_neon_sf __a); +__simd64_float32_t __builtin_neon_vextv2sf (__simd64_float32_t __a, __simd64_float32_t __b, const int __c); +__simd64_float32_t __builtin_neon_vfmal_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float32_t __builtin_neon_vfmal_lane_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float32_t __builtin_neon_vfmal_lane_highv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float32_t __builtin_neon_vfmal_lane_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float32_t __builtin_neon_vfmal_lane_lowv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float32_t __builtin_neon_vfmal_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float32_t __builtin_neon_vfmav2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); +__simd64_float32_t __builtin_neon_vfmsl_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float32_t __builtin_neon_vfmsl_lane_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float32_t __builtin_neon_vfmsl_lane_highv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float32_t __builtin_neon_vfmsl_lane_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float32_t __builtin_neon_vfmsl_lane_lowv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float32_t __builtin_neon_vfmsl_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float32_t __builtin_neon_vfmsv2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); +__simd64_float32_t __builtin_neon_vget_highv4sf (__simd128_float32_t __a); +__simd64_float32_t __builtin_neon_vget_lowv4sf (__simd128_float32_t __a); +__simd64_float32_t __builtin_neon_vld1_dupv2sf (const __builtin_neon_sf * __a); +__simd64_float32_t __builtin_neon_vld1_lanev2sf (const float * __a, __simd64_float32_t __b, const int __c); +__simd64_float32_t __builtin_neon_vld1v2sf (const __builtin_neon_sf * __a); +__simd64_float32_t __builtin_neon_vmaxfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vmaxnmv2sf(__simd64_float32_t, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vminfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vminnmv2sf(__simd64_float32_t, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vmla_lanev2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c, const int __d); +__simd64_float32_t __builtin_neon_vmla_nv2sf (__simd64_float32_t __a, __simd64_float32_t __b, float __c); +__simd64_float32_t __builtin_neon_vmlav2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); +__simd64_float32_t __builtin_neon_vmls_lanev2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c, const int __d); +__simd64_float32_t __builtin_neon_vmls_nv2sf (__simd64_float32_t __a, __simd64_float32_t __b, float __c); +__simd64_float32_t __builtin_neon_vmlsv2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); +__simd64_float32_t __builtin_neon_vmulfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vmul_lanev2sf (__simd64_float32_t __a, __simd64_float32_t __b, const int __c); +__simd64_float32_t __builtin_neon_vmul_nv2sf (__simd64_float32_t __a, float __b); +__simd64_float32_t __builtin_neon_vnegv2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vpaddv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vpmaxfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vpminfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vrecpev2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrecpsv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vrintav2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrintmv2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrintnv2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrintpv2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrintxv2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrintzv2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrsqrtev2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrsqrtsv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vset_lanev2sf (float __a, __simd64_float32_t __b, const int __c); +void __builtin_neon_vst1_lanev2sf(float*, __simd64_float32_t, int); +void __builtin_neon_vst1v2sf(float*, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vsubv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_int16_t __builtin_neon_vabasv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vabauv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vabdsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vabduv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vabsv4hi(__simd64_int16_t); +__simd64_int16_t __builtin_neon_vbslv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vcagev4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vcagtv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vcalev4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vcaltv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vceqv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vceqv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vceqzv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcgeuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vcgev4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vcgev4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vcgezv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcgtuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vcgtv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vcgtv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vcgtzv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vclev4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vclezv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vclsv4hi(__simd64_int16_t); +__simd64_int16_t __builtin_neon_vcltv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vcltzv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vclzv4hi(__simd64_int16_t); +__simd64_int16_t __builtin_neon_vcvtasv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtauv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtmsv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtmuv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtnsv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtnuv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtpsv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtpuv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvts_nv4hf(__simd64_float16_t, int); +__simd64_int16_t __builtin_neon_vcvtsv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtu_nv4hf(__simd64_float16_t, int); +__simd64_int16_t __builtin_neon_vcvtuv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vdup_lanev4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vextv4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vget_highv8hi(__simd128_int16_t); +__simd64_int16_t __builtin_neon_vget_lowv8hi(__simd128_int16_t); +__simd64_int16_t __builtin_neon_vhaddsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vhadduv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vhsubsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vhsubuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vld1_lanev4hi(const short int*, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vmaxsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vmaxuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vminsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vminuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vmla_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vmla_nv4hi(__simd64_int16_t, __simd64_int16_t, short int); +__simd64_int16_t __builtin_neon_vmlav4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vmls_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vmls_nv4hi(__simd64_int16_t, __simd64_int16_t, short int); +__simd64_int16_t __builtin_neon_vmlsv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vmul_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vmul_nv4hi(__simd64_int16_t, short int); +__simd64_int16_t __builtin_neon_vmvnv4hi(__simd64_int16_t); +__simd64_int16_t __builtin_neon_vnegv4hi(__simd64_int16_t); +__simd64_int16_t __builtin_neon_vpadalsv8qi(__simd64_int16_t, __simd64_int8_t); +__simd64_int16_t __builtin_neon_vpadaluv8qi(__simd64_int16_t, __simd64_int8_t); +__simd64_int16_t __builtin_neon_vpaddlsv8qi(__simd64_int8_t); +__simd64_int16_t __builtin_neon_vpaddluv8qi(__simd64_int8_t); +__simd64_int16_t __builtin_neon_vpaddv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vpmaxsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vpmaxuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vpminsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vpminuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqabsv4hi(__simd64_int16_t); +__simd64_int16_t __builtin_neon_vqaddsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqadduv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqdmulh_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vqdmulh_nv4hi(__simd64_int16_t, short int); +__simd64_int16_t __builtin_neon_vqdmulhv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqnegv4hi(__simd64_int16_t); +__simd64_int16_t __builtin_neon_vqrdmlah_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vqrdmlahv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqrdmlsh_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vqrdmlshv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqrdmulh_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vqrdmulh_nv4hi(__simd64_int16_t, short int); +__simd64_int16_t __builtin_neon_vqrdmulhv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqrshlsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqrshluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqshl_s_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vqshlsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqshl_u_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vqshlu_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vqshluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqsubsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqsubuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vrhaddsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vrhadduv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vrshlsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vrshluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vrshrs_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vrshru_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vrsras_nv4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vrsrau_nv4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vset_lanev4hi(short int, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vshl_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vshlsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vshluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vshrs_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vshru_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vsli_nv4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vsras_nv4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vsrau_nv4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vsri_nv4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vtstv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int32_t __builtin_neon_sdot_lanev8qi(__simd64_int32_t, __simd64_int8_t, __simd64_int8_t, int); +__simd64_int32_t __builtin_neon_sdotv8qi(__simd64_int32_t, __simd64_int8_t, __simd64_int8_t); +__simd64_int32_t __builtin_neon_vabasv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); +__simd64_int32_t __builtin_neon_vabauv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); +__simd64_int32_t __builtin_neon_vabdsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vabduv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vabsv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vaddhnv2di(__simd128_int64_t, __simd128_int64_t); +__simd64_int32_t __builtin_neon_vaddhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd64_int32_t __builtin_neon_vbslv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); +__simd64_int32_t __builtin_neon_vcagev2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_int32_t __builtin_neon_vcagtv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_int32_t __builtin_neon_vceqv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_int32_t __builtin_neon_vceqv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vcgeuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vcgev2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_int32_t __builtin_neon_vcgev2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vcgtuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vcgtv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_int32_t __builtin_neon_vcgtv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vclsv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vclzv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vcreatev2si (__builtin_neon_di __a); +__simd64_int16_t __builtin_neon_vcreatev4hi(long long int); +__simd64_int8_t __builtin_neon_vcreatev8qi(long long int); +__simd64_int32_t __builtin_neon_vcvts_nv2sf (__simd64_float32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vcvtsv2sf (__simd64_float32_t __a); +__simd64_int32_t __builtin_neon_vcvtu_nv2sf (__simd64_float32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vcvtuv2sf (__simd64_float32_t __a); +__simd64_int32_t __builtin_neon_vdup_lanev2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vdup_nv2si (__builtin_neon_si __a); +__simd64_int16_t __builtin_neon_vdup_nv4hi (__builtin_neon_hi __a); +__simd64_int8_t __builtin_neon_vdup_nv8qi(signed char); +__simd64_int32_t __builtin_neon_vextv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vget_highv4si (__simd128_int32_t __a); +__simd64_int32_t __builtin_neon_vget_lowv4si (__simd128_int32_t __a); +__simd64_int32_t __builtin_neon_vhaddsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vhadduv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vhsubsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vhsubuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vld1_dupv2si (const __builtin_neon_si * __a); +__simd64_int16_t __builtin_neon_vld1_dupv4hi(const short int*); +__simd64_int8_t __builtin_neon_vld1_dupv8qi(const signed char*); +__simd64_int32_t __builtin_neon_vld1_lanev2si (const int * __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vld1v2si (const __builtin_neon_si * __a); +__simd64_int16_t __builtin_neon_vld1v4hi(const short int*); +__simd64_int8_t __builtin_neon_vld1v8qi(const signed char*); +__simd64_int32_t __builtin_neon_vmaxsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vmaxuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vminsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vminuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vmla_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c, const int __d); +__simd64_int32_t __builtin_neon_vmla_nv2si (__simd64_int32_t __a, __simd64_int32_t __a, int __c); +__simd64_int32_t __builtin_neon_vmlav2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); +__simd64_int32_t __builtin_neon_vmls_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c, const int __d); +__simd64_int32_t __builtin_neon_vmls_nv2si (__simd64_int32_t __a, __simd64_int32_t __a, int __c); +__simd64_int32_t __builtin_neon_vmlsv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); +__simd64_int32_t __builtin_neon_vmovnv2di(__simd128_int64_t); +__simd64_int32_t __builtin_neon_vmovnv4si (__simd128_int32_t __a); +__simd64_int32_t __builtin_neon_vmul_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vmul_nv2si (__simd64_int32_t __a, int __b); +__simd64_int32_t __builtin_neon_vmvnv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vnegv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vpadalsv4hi(__simd64_int32_t, __simd64_int16_t); +__simd64_int32_t __builtin_neon_vpadaluv4hi(__simd64_int32_t, __simd64_int16_t); +__simd64_int32_t __builtin_neon_vpaddlsv4hi(__simd64_int16_t); +__simd64_int32_t __builtin_neon_vpaddluv4hi(__simd64_int16_t); +__simd64_int32_t __builtin_neon_vpaddv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vpmaxsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vpmaxuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vpminsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vpminuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqabsv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vqaddsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqadduv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqdmulh_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vqdmulh_nv2si (__simd64_int32_t __a, int __b); +__simd64_int32_t __builtin_neon_vqdmulhv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqmovnsv2di(__simd128_int64_t); +__simd64_int32_t __builtin_neon_vqmovnsv4si (__simd128_int32_t __a); +__simd64_int32_t __builtin_neon_vqmovnuv2di(__simd128_int64_t); +__simd64_int32_t __builtin_neon_vqmovnuv4si (__simd128_int32_t __a); +__simd64_int32_t __builtin_neon_vqmovunv2di(__simd128_int64_t); +__simd64_int32_t __builtin_neon_vqmovunv4si (__simd128_int32_t __a); +__simd64_int32_t __builtin_neon_vqnegv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vqrdmlah_lanev2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t, int); +__simd64_int32_t __builtin_neon_vqrdmlahv2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t); +__simd64_int32_t __builtin_neon_vqrdmlsh_lanev2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t, int); +__simd64_int32_t __builtin_neon_vqrdmlshv2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t); +__simd64_int32_t __builtin_neon_vqrdmulh_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vqrdmulh_nv2si (__simd64_int32_t __a, int __b); +__simd64_int32_t __builtin_neon_vqrdmulhv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqrshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqrshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqrshrns_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vqrshrns_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqrshrnu_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vqrshrnu_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqrshrun_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vqrshrun_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqshl_s_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqshl_u_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqshlu_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqshrns_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vqshrns_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqshrnu_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vqshrnu_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqshrun_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vqshrun_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqsubsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqsubuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vraddhnv2di(__simd128_int64_t, __simd128_int64_t); +__simd64_int32_t __builtin_neon_vraddhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd64_int32_t __builtin_neon_vrecpev2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2sfdi (int __a); +__simd64_int32_t __builtin_neon_vreinterpretv2sfv2sf (__simd64_float32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2sfv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2sfv4hi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2sfv8qi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2sidi (int __a); +__simd64_int32_t __builtin_neon_vreinterpretv2siv2sf (__simd64_float32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2siv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2siv4hi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2siv8qi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv4hidi (int __a); +__simd64_int32_t __builtin_neon_vreinterpretv4hiv2sf (__simd64_float32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv4hiv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv4hiv4hi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv4hiv8qi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv8qidi (int __a); +__simd64_int32_t __builtin_neon_vreinterpretv8qiv2sf (__simd64_float32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv8qiv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv8qiv4hi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv8qiv8qi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vrhaddsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vrhadduv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vrshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vrshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vrshrn_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vrshrn_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vrshrs_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vrshru_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vrsqrtev2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vrsras_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vrsrau_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vrsubhnv2di(__simd128_int64_t, __simd128_int64_t); +__simd64_int32_t __builtin_neon_vrsubhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd64_int32_t __builtin_neon_vset_lanev2si (int __a, __simd64_int32_t __a, const int __c); +__simd64_int32_t __builtin_neon_vshl_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vshrn_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vshrn_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vshrs_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vshru_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vsli_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vsras_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vsrau_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vsri_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +void __builtin_neon_vst1di(long long int*, long long int); +void __builtin_neon_vst1_lanev2si(int*, __simd64_int32_t, int); +void __builtin_neon_vst1v2si(int*, __simd64_int32_t); +__simd64_int32_t __builtin_neon_vsubhnv2di(__simd128_int64_t, __simd128_int64_t); +__simd64_int32_t __builtin_neon_vsubhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd64_int32_t __builtin_neon_vtstv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int8_t __builtin_neon_vabasv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vabauv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vabdsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vabduv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vabsv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vaddhnv8hi(__simd128_int16_t, __simd128_int16_t); +__simd64_int8_t __builtin_neon_vbslv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vceqv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vcgeuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vcgev8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vcgtuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vcgtv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vclsv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vclzv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vcntv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vdup_lanev8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vextv8qi(__simd64_int8_t, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vget_highv16qi(__simd128_int8_t); +__simd64_int8_t __builtin_neon_vget_lowv16qi(__simd128_int8_t); +__simd64_int8_t __builtin_neon_vhaddsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vhadduv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vhsubsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vhsubuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vld1_lanev8qi(const signed char*, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vmaxsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vmaxuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vminsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vminuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vmlav8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vmlsv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vmovnv8hi(__simd128_int16_t); +__simd64_int8_t __builtin_neon_vmulpv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vmvnv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vnegv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vpaddv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vpmaxsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vpmaxuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vpminsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vpminuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqabsv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vqaddsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqadduv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqmovnsv8hi(__simd128_int16_t); +__simd64_int8_t __builtin_neon_vqmovnuv8hi(__simd128_int16_t); +__simd64_int8_t __builtin_neon_vqmovunv8hi(__simd128_int16_t); +__simd64_int8_t __builtin_neon_vqnegv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vqrshlsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqrshluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqrshrns_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vqrshrnu_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vqrshrun_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vqshl_s_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vqshlsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqshl_u_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vqshlu_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vqshluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqshrns_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vqshrnu_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vqshrun_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vqsubsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqsubuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vraddhnv8hi(__simd128_int16_t, __simd128_int16_t); +__simd64_int8_t __builtin_neon_vrhaddsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vrhadduv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vrshlsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vrshluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vrshrn_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vrshrs_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vrshru_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vrsras_nv8qi(__simd64_int8_t, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vrsrau_nv8qi(__simd64_int8_t, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vrsubhnv8hi(__simd128_int16_t, __simd128_int16_t); +__simd64_int8_t __builtin_neon_vset_lanev8qi(signed char, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vshl_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vshlsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vshluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vshrn_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vshrs_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vshru_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vsli_nv8qi(__simd64_int8_t, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vsras_nv8qi(__simd64_int8_t, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vsrau_nv8qi(__simd64_int8_t, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vsri_nv8qi(__simd64_int8_t, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vsubhnv8hi(__simd128_int16_t, __simd128_int16_t); +__simd64_int8_t __builtin_neon_vtbl1v8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtbl2v8qi(__builtin_neon_ti, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtbl3v8qi(__builtin_neon_ei, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtbl4v8qi(__builtin_neon_oi, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtbx1v8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtbx2v8qi(__simd64_int8_t, __builtin_neon_ti, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtbx3v8qi(__simd64_int8_t, __builtin_neon_ei, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtbx4v8qi(__simd64_int8_t, __builtin_neon_oi, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtstv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_uint32_t __builtin_neon_udot_lanev8qi_uuuus(__simd64_uint32_t, __simd64_uint8_t, __simd64_uint8_t, int); +__simd64_uint32_t __builtin_neon_udotv8qi_uuuu(__simd64_uint32_t, __simd64_uint8_t, __simd64_uint8_t); +unsigned int __builtin_neon_vget_laneuv2si (__simd64_int32_t __a, const int __b); +unsigned int __builtin_neon_vget_laneuv4si (__simd128_int32_t __a, const int __b); +unsigned int __builtin_neon_vpadaluv2si (int __a, __simd64_int32_t __b); +unsigned int __builtin_neon_vpaddluv2si (__simd64_int32_t __a); +unsigned int __builtin_neon_vqaddudi (int __a, int __b); +unsigned int __builtin_neon_vqrshludi (int __a, int __b); +unsigned int __builtin_neon_vqshludi (int __a, int __b); +unsigned int __builtin_neon_vqshl_u_ndi (int __a, const int __b); +unsigned int __builtin_neon_vqshlu_ndi (int __a, const int __b); +unsigned int __builtin_neon_vrshludi (int __a, int __b); +unsigned int __builtin_neon_vrshru_ndi (int __a, const int __b); +unsigned int __builtin_neon_vrsrau_ndi (int __a, int __b, const int __c); +unsigned int __builtin_neon_vshludi (int __a, int __b); +unsigned int __builtin_neon_vshru_ndi (int __a, const int __b); +unsigned int __builtin_neon_vsrau_ndi (int __a, int __b, const int __c); +void __builtin_neon_vst1_lanev16qi(signed char*, __simd128_int8_t, int); +void __builtin_neon_vst1_lanev2di(long long int*, __simd128_int64_t, int); +void __builtin_neon_vst1_lanev4hf(cov_fp16_t*, __simd64_float16_t, int); +void __builtin_neon_vst1_lanev4hi(short int*, __simd64_int16_t, int); +void __builtin_neon_vst1_lanev8hf(cov_fp16_t*, __simd128_float16_t, int); +void __builtin_neon_vst1_lanev8hi(short int*, __simd128_int16_t, int); +void __builtin_neon_vst1_lanev8qi(signed char*, __simd64_int8_t, int); +void __builtin_neon_vst1v16qi(signed char*, __simd128_int8_t); +void __builtin_neon_vst1v2di(long long int*, __simd128_int64_t); +void __builtin_neon_vst1v4hf(cov_fp16_t*, __simd64_float16_t); +void __builtin_neon_vst1v4hi(short int*, __simd64_int16_t); +void __builtin_neon_vst1v8hf(cov_fp16_t*, __simd128_float16_t); +void __builtin_neon_vst1v8hi(short int*, __simd128_int16_t); +void __builtin_neon_vst1v8qi(signed char*, __simd64_int8_t); +void __builtin_neon_vst2_lanev4hf(cov_fp16_t*, __builtin_neon_ti, int); +void __builtin_neon_vst2_lanev8hf(cov_fp16_t*, __builtin_neon_oi, int); +void __builtin_neon_vst2v4hf(cov_fp16_t*, __builtin_neon_ti); +void __builtin_neon_vst2v8hf(cov_fp16_t*, __builtin_neon_oi); +void __builtin_neon_vst3_lanev4hf(cov_fp16_t*, __builtin_neon_ei, int); +void __builtin_neon_vst3_lanev8hf(cov_fp16_t*, __builtin_neon_ci, int); +void __builtin_neon_vst3v4hf(cov_fp16_t*, __builtin_neon_ei); +void __builtin_neon_vst3v8hf(cov_fp16_t*, __builtin_neon_ci); +void __builtin_neon_vst4_lanev4hf(cov_fp16_t*, __builtin_neon_oi, int); +void __builtin_neon_vst4_lanev8hf(cov_fp16_t*, __builtin_neon_xi, int); +void __builtin_neon_vst4v4hf(cov_fp16_t*, __builtin_neon_oi); +void __builtin_neon_vst4v8hf(cov_fp16_t*, __builtin_neon_xi); + +// -mfpu=vfpv2 -mfloat-abi=hard -mfpu=neon +__simd128_uint64_t __builtin_neon_bswapv2di_uu(__simd128_uint64_t); +__simd64_uint32_t __builtin_neon_bswapv2si_uu(__simd64_uint32_t); +__simd64_uint16_t __builtin_neon_bswapv4hi_uu(__simd64_uint16_t); +__simd128_uint32_t __builtin_neon_bswapv4si_uu(__simd128_uint32_t); +__simd128_uint16_t __builtin_neon_bswapv8hi_uu(__simd128_uint16_t); +__simd64_float32_t __builtin_neon_copysignfv2sf(__simd64_float32_t); +__simd128_float32_t __builtin_neon_copysignfv4sf(__simd128_float32_t); +__simd128_int32_t __builtin_neon_smmlav16qi(__simd128_int32_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_neon_sudot_lanev16qi_sssus(__simd128_int32_t, __simd128_int8_t, __simd64_uint8_t, int); +__simd64_int32_t __builtin_neon_sudot_lanev8qi_sssus(__simd64_int32_t, __simd64_int8_t, __simd64_uint8_t, int); +__simd128_uint32_t __builtin_neon_ummlav16qi_uuuu(__simd128_uint32_t, __simd128_uint8_t, __simd128_uint8_t); +__simd128_int32_t __builtin_neon_usdot_lanev16qi_ssuss(__simd128_int32_t, __simd128_uint8_t, __simd64_int8_t, int); +__simd64_int32_t __builtin_neon_usdot_lanev8qi_ssuss(__simd64_int32_t, __simd64_uint8_t, __simd64_int8_t, int); +__simd64_int32_t __builtin_neon_usdotv8qi_ssus(__simd64_int32_t, __simd64_uint8_t, __simd64_int8_t); +__simd128_int32_t __builtin_neon_usmmlav16qi_ssus(__simd128_int32_t, __simd128_uint8_t, __simd128_int8_t); +float __builtin_neon_vbfcvtbf(__bf16); +__simd128_float32_t __builtin_neon_vbfcvt_highv8bf(__simd128_bfloat16_t); +__bf16 __builtin_neon_vbfcvtsf(float); +__simd128_float32_t __builtin_neon_vbfcvtv4bf(__simd64_bfloat16_t); +__simd128_bfloat16_t __builtin_neon_vbfcvtv4sf_highv8bf(__simd128_bfloat16_t, __simd128_float32_t); +__simd64_bfloat16_t __builtin_neon_vbfcvtv4sfv4bf(__simd128_float32_t); +__simd128_bfloat16_t __builtin_neon_vbfcvtv4sfv8bf(__simd128_float32_t); +__simd128_float32_t __builtin_neon_vbfcvtv8bf(__simd128_bfloat16_t); +__simd64_float32_t __builtin_neon_vbfdot_lanev4bfv2sf(__simd64_float32_t, __simd64_bfloat16_t, __simd64_bfloat16_t, int); +__simd128_float32_t __builtin_neon_vbfdot_lanev4bfv4sf(__simd128_float32_t, __simd128_bfloat16_t, __simd64_bfloat16_t, int); +__simd64_float32_t __builtin_neon_vbfdot_lanev8bfv2sf(__simd64_float32_t, __simd64_bfloat16_t, __simd128_bfloat16_t, int); +__simd128_float32_t __builtin_neon_vbfdot_lanev8bfv4sf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t, int); +__simd64_float32_t __builtin_neon_vbfdotv2sf(__simd64_float32_t, __simd64_bfloat16_t, __simd64_bfloat16_t); +__simd128_float32_t __builtin_neon_vbfdotv4sf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); +__simd64_float32_t __builtin_neon_vcadd270v2sf(__simd64_float32_t, __simd64_float32_t); +__simd64_float16_t __builtin_neon_vcadd270v4hf(__simd64_float16_t, __simd64_float16_t); +__simd128_float32_t __builtin_neon_vcadd270v4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_neon_vcadd270v8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_bfloat16_t __builtin_neon_vcombinev4bf(__simd64_bfloat16_t, __simd64_bfloat16_t); +__simd64_int32_t __builtin_neon_vcvtauv2sfv2si(__simd64_float32_t); +__simd128_int32_t __builtin_neon_vcvtauv4sfv4si(__simd128_float32_t); +__simd64_int32_t __builtin_neon_vcvtav2sfv2si(__simd64_float32_t); +__simd128_int32_t __builtin_neon_vcvtav4sfv4si(__simd128_float32_t); +__simd64_int32_t __builtin_neon_vcvtmuv2sfv2si(__simd64_float32_t); +__simd128_int32_t __builtin_neon_vcvtmuv4sfv4si(__simd128_float32_t); +__simd64_int32_t __builtin_neon_vcvtmv2sfv2si(__simd64_float32_t); +__simd128_int32_t __builtin_neon_vcvtmv4sfv4si(__simd128_float32_t); +__simd64_int32_t __builtin_neon_vcvtpuv2sfv2si(__simd64_float32_t); +__simd128_int32_t __builtin_neon_vcvtpuv4sfv4si(__simd128_float32_t); +__simd64_int32_t __builtin_neon_vcvtpv2sfv2si(__simd64_float32_t); +__simd128_int32_t __builtin_neon_vcvtpv4sfv4si(__simd128_float32_t); +__simd64_bfloat16_t __builtin_neon_vdup_lanev4bf(__simd64_bfloat16_t, int); +__simd128_bfloat16_t __builtin_neon_vdup_lanev8bf(__simd64_bfloat16_t, int); +__simd64_bfloat16_t __builtin_neon_vdup_nv4bf(__bf16); +__simd128_bfloat16_t __builtin_neon_vdup_nv8bf(__bf16); +__simd128_float32_t __builtin_neon_vfmab_laneqv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t, int); +__simd128_float32_t __builtin_neon_vfmab_lanev8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd64_bfloat16_t, int); +__simd128_float32_t __builtin_neon_vfmabv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); +__simd128_float32_t __builtin_neon_vfmat_laneqv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t, int); +__simd128_float32_t __builtin_neon_vfmat_lanev8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd64_bfloat16_t, int); +__simd128_float32_t __builtin_neon_vfmatv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); +__simd64_bfloat16_t __builtin_neon_vget_highv8bf(__simd128_bfloat16_t); +__simd64_bfloat16_t __builtin_neon_vget_lowv8bf(__simd128_bfloat16_t); +__builtin_neon_ti __builtin_neon_vld2_dupv4bf(const __bf16*); +__builtin_neon_oi __builtin_neon_vld2_dupv8bf(const __bf16*); +__builtin_neon_ti __builtin_neon_vld2v4bf(const __bf16*); +__builtin_neon_oi __builtin_neon_vld2v8bf(const __bf16*); +__builtin_neon_ei __builtin_neon_vld3_dupv4bf(const __bf16*); +__builtin_neon_ci __builtin_neon_vld3_dupv8bf(const __bf16*); +__builtin_neon_ei __builtin_neon_vld3v4bf(const __bf16*); +__builtin_neon_ci __builtin_neon_vld3v8bf(const __bf16*); +__builtin_neon_oi __builtin_neon_vld4_dupv4bf(const __bf16*); +__builtin_neon_xi __builtin_neon_vld4_dupv8bf(const __bf16*); +__builtin_neon_oi __builtin_neon_vld4v4bf(const __bf16*); +__builtin_neon_xi __builtin_neon_vld4v8bf(const __bf16*); +__simd128_float32_t __builtin_neon_vmmlav8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); +__simd128_int64_t __builtin_neon_vmullpv2si(__simd64_int32_t, __simd64_int32_t); +__simd128_int32_t __builtin_neon_vmullpv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int8_t __builtin_neon_vrev16v16qi(__simd128_int8_t); +__simd64_int8_t __builtin_neon_vrev16v8qi(__simd64_int8_t); +__simd128_int8_t __builtin_neon_vrev32v16qi(__simd128_int8_t); +__simd64_int16_t __builtin_neon_vrev32v4hi(__simd64_int16_t); +__simd128_int16_t __builtin_neon_vrev32v8hi(__simd128_int16_t); +__simd64_int8_t __builtin_neon_vrev32v8qi(__simd64_int8_t); +__simd128_int8_t __builtin_neon_vrev64v16qi(__simd128_int8_t); +__simd64_float32_t __builtin_neon_vrev64v2sf(__simd64_float32_t); +__simd64_int32_t __builtin_neon_vrev64v2si(__simd64_int32_t); +__simd64_int16_t __builtin_neon_vrev64v4hi(__simd64_int16_t); +__simd128_float32_t __builtin_neon_vrev64v4sf(__simd128_float32_t); +__simd128_int32_t __builtin_neon_vrev64v4si(__simd128_int32_t); +__simd128_int16_t __builtin_neon_vrev64v8hi(__simd128_int16_t); +__simd64_int8_t __builtin_neon_vrev64v8qi(__simd64_int8_t); +void __builtin_neon_vst2v4bf(__bf16*, __builtin_neon_ti); +void __builtin_neon_vst2v8bf(__bf16*, __builtin_neon_oi); +void __builtin_neon_vst3v4bf(__bf16*, __builtin_neon_ei); +void __builtin_neon_vst3v8bf(__bf16*, __builtin_neon_ci); +void __builtin_neon_vst4v4bf(__bf16*, __builtin_neon_oi); +void __builtin_neon_vst4v8bf(__bf16*, __builtin_neon_xi); + +#endif // __ARM_NEON__ + +/* aarch64 support */ +#ifdef __aarch64__ +typedef int __builtin_aarch64_simd_qi __attribute__((mode(QI))); +typedef int __builtin_aarch64_simd_hi __attribute__((mode(HI))); +typedef int __builtin_aarch64_simd_si __attribute__((mode(SI))); +typedef int __builtin_aarch64_simd_di __attribute__((mode(DI))); +typedef float __builtin_aarch64_simd_bf __attribute__((mode(BF))); +typedef int __builtin_aarch64_simd_poly8 __attribute__((mode(QI))); +typedef int __builtin_aarch64_simd_poly16 __attribute__((mode(HI))); +typedef int __builtin_aarch64_simd_poly64 __attribute__ ((mode (DI))); +typedef unsigned int __builtin_aarch64_simd_poly128 __attribute__ ((mode (TI))); +typedef float __builtin_aarch64_simd_df __attribute__ ((mode (DF))); +typedef float __builtin_aarch64_simd_sf __attribute__ ((mode (SF))); +typedef unsigned int __builtin_aarch64_simd_udi __attribute__((mode(DI))); +typedef unsigned int __builtin_aarch64_simd_uqi __attribute__((mode(QI))); +typedef unsigned int __builtin_aarch64_simd_uhi __attribute__((mode(HI))); +typedef unsigned int __builtin_aarch64_simd_usi __attribute__((mode(SI))); +typedef float __builtin_aarch64_simd_hf __attribute__((mode(HF))); +typedef __builtin_aarch64_simd_hf __fp16; +typedef int __Poly64_t __attribute__((mode(DI))); +typedef __coverity_decimal long long __Poly64x1_t __attribute__((vector_size (8))); +typedef int __Poly128_t __attribute__((mode(TI))); + +unsigned int __builtin_aarch64_get_fpcr(); +void __builtin_aarch64_set_fpcr(unsigned int); +unsigned int __builtin_aarch64_get_fpsr(); +void __builtin_aarch64_set_fpsr(unsigned int); +//CMPCPP-6477 +typedef char __Int8x8_t __attribute__ ((vector_size (8))); +typedef short __Int16x4_t __attribute__ ((vector_size (8))); +typedef int __Int32x2_t __attribute__ ((vector_size (8))); +typedef long __Int64x1_t __attribute__((vector_size (8))); +typedef __coverity_float __fp16 __Float16x4_t __attribute__((vector_size (8))); +typedef float __Float32x2_t __attribute__((vector_size (8))); +typedef __coverity_decimal unsigned char __Poly8x8_t __attribute__((vector_size (8))); +typedef __coverity_decimal short __Poly16x4_t __attribute__((vector_size (8))); +typedef unsigned char __Uint8x8_t __attribute__((vector_size (8))); +typedef unsigned short __Uint16x4_t __attribute__((vector_size (8))); +typedef unsigned int __Uint32x2_t __attribute__((vector_size (8))); +typedef double __Float64x1_t __attribute__((vector_size (8))); +typedef unsigned long __Uint64x1_t __attribute__((vector_size (8))); +typedef char __Int8x16_t __attribute__((vector_size (16))); +typedef short __Int16x8_t __attribute__((vector_size (16))); +typedef int __Int32x4_t __attribute__((vector_size (16))); +typedef long __Int64x2_t __attribute__((vector_size (16))); +typedef __coverity_float __fp16 __Float16x8_t __attribute__((vector_size (16))); +typedef __coverity_float __bf16 __Bfloat16x8_t __attribute__((vector_size (16))); +typedef __coverity_float __bf16 __Bfloat16x4_t __attribute__((vector_size (8))); +typedef float __Float32x4_t __attribute__((vector_size (16))); +typedef double __Float64x2_t __attribute__((vector_size (16))); +typedef __coverity_decimal unsigned char __Poly8x16_t __attribute__((vector_size (16))); +typedef __coverity_decimal unsigned short __Poly16x8_t __attribute__((vector_size (16))); +typedef __coverity_decimal long __Poly64x2_t __attribute__((vector_size (16))); +typedef unsigned char __Uint8x16_t __attribute__((vector_size (16))); +typedef unsigned short __Uint16x8_t __attribute__((vector_size (16))); +typedef unsigned int __Uint32x4_t __attribute__((vector_size (16))); +typedef unsigned long __Uint64x2_t __attribute__((vector_size (16))); +typedef unsigned char __Poly8_t; +typedef unsigned short __Poly16_t; + +typedef int __builtin_aarch64_simd_oi __attribute__((mode(OI))); +typedef int __builtin_aarch64_simd_ci __attribute__((mode(CI))); +typedef int __builtin_aarch64_simd_xi __attribute__((mode(XI))); + +__Int8x8_t __builtin_aarch64_tbl3v8qi(__builtin_aarch64_simd_oi, __Int8x8_t); +__Float32x2_t __builtin_aarch64_absv2sf(__Float32x2_t); +__Int8x8_t __builtin_aarch64_absv8qi(__Int8x8_t); +__Int16x4_t __builtin_aarch64_absv4hi(__Int16x4_t); +__Int32x2_t __builtin_aarch64_absv2si(__Int32x2_t); +int __builtin_aarch64_absdi(int); +__Float32x4_t __builtin_aarch64_absv4sf(__Float32x4_t); +__Float64x2_t __builtin_aarch64_absv2df(__Float64x2_t); +__Int8x16_t __builtin_aarch64_absv16qi(__Int8x16_t); +int __builtin_aarch64_im_lane_boundsi(int, int, int); +__Int64x1_t __builtin_aarch64_get_dregoidi(__builtin_aarch64_simd_oi, int); +float __builtin_aarch64_get_dregoidf(__builtin_aarch64_simd_oi, int); +__Int8x8_t __builtin_aarch64_get_dregoiv8qi(__builtin_aarch64_simd_oi, int); +__Int16x4_t __builtin_aarch64_get_dregoiv4hi(__builtin_aarch64_simd_oi, int); +__Int32x2_t __builtin_aarch64_get_dregoiv2si(__builtin_aarch64_simd_oi, int); +__Float16x4_t __builtin_aarch64_get_dregoiv4hf(__builtin_aarch64_simd_oi, int); +__Float32x2_t __builtin_aarch64_get_dregoiv2sf(__builtin_aarch64_simd_oi, int); +__Int8x16_t __builtin_aarch64_get_qregoiv16qi(__builtin_aarch64_simd_oi, const int); +__Int16x8_t __builtin_aarch64_get_qregoiv8hi(__builtin_aarch64_simd_oi, const int); +__Int32x4_t __builtin_aarch64_get_qregoiv4si(__builtin_aarch64_simd_oi, const int); +__Int64x2_t __builtin_aarch64_get_qregoiv2di(__builtin_aarch64_simd_oi, const int); +__Float16x8_t __builtin_aarch64_get_qregoiv8hf(__builtin_aarch64_simd_oi, const int); +__Float32x4_t __builtin_aarch64_get_qregoiv4sf(__builtin_aarch64_simd_oi, const int); +__Float64x2_t __builtin_aarch64_get_qregoiv2df(__builtin_aarch64_simd_oi, const int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv8hf(__builtin_aarch64_simd_oi, __Float16x8_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv4sf(__builtin_aarch64_simd_oi, __Float32x4_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv2df(__builtin_aarch64_simd_oi, __Float64x2_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv16qi(__builtin_aarch64_simd_oi, __Int8x16_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv8hi(__builtin_aarch64_simd_oi, __Int16x8_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv4si(__builtin_aarch64_simd_oi, __Int32x4_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv2di(__builtin_aarch64_simd_oi, __Int64x2_t, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3di(const __builtin_aarch64_simd_di*); +__Int64x1_t __builtin_aarch64_get_dregcidi(__builtin_aarch64_simd_ci, int); +float __builtin_aarch64_get_dregcidf(__builtin_aarch64_simd_ci, int); +__Int8x8_t __builtin_aarch64_get_dregciv8qi(__builtin_aarch64_simd_ci, int); +__Int16x4_t __builtin_aarch64_get_dregciv4hi(__builtin_aarch64_simd_ci, int); +__Int32x2_t __builtin_aarch64_get_dregciv2si(__builtin_aarch64_simd_ci, int); +__Float16x4_t __builtin_aarch64_get_dregciv4hf(__builtin_aarch64_simd_ci, int); +__Float32x2_t __builtin_aarch64_get_dregciv2sf(__builtin_aarch64_simd_ci, int); +__Int8x16_t __builtin_aarch64_get_qregciv16qi(__builtin_aarch64_simd_ci, const int); +__Int16x8_t __builtin_aarch64_get_qregciv8hi(__builtin_aarch64_simd_ci, const int); +__Int32x4_t __builtin_aarch64_get_qregciv4si(__builtin_aarch64_simd_ci, const int); +__Int64x2_t __builtin_aarch64_get_qregciv2di(__builtin_aarch64_simd_ci, const int); +__Float16x8_t __builtin_aarch64_get_qregciv8hf(__builtin_aarch64_simd_ci, const int); +__Float32x4_t __builtin_aarch64_get_qregciv4sf(__builtin_aarch64_simd_ci, const int); +__Float64x2_t __builtin_aarch64_get_qregciv2df(__builtin_aarch64_simd_ci, const int); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv8hf(__builtin_aarch64_simd_ci, __Float16x8_t, int); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv4sf(__builtin_aarch64_simd_ci, __Float32x4_t, int); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv2df(__builtin_aarch64_simd_ci, __Float64x2_t, int); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv16qi(__builtin_aarch64_simd_ci, __Int8x16_t, int); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv8hi(__builtin_aarch64_simd_ci, __Int16x8_t, int); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv4si(__builtin_aarch64_simd_ci, __Int32x4_t, int); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv2di(__builtin_aarch64_simd_ci, __Int64x2_t, int); +__Int64x1_t __builtin_aarch64_get_dregxidi(__builtin_aarch64_simd_xi, int); +float __builtin_aarch64_get_dregxidf(__builtin_aarch64_simd_xi, int); +__Int8x8_t __builtin_aarch64_get_dregxiv8qi(__builtin_aarch64_simd_xi, int); +__Int16x4_t __builtin_aarch64_get_dregxiv4hi(__builtin_aarch64_simd_xi, int); +__Int32x2_t __builtin_aarch64_get_dregxiv2si(__builtin_aarch64_simd_xi, int); +__Float16x4_t __builtin_aarch64_get_dregxiv4hf(__builtin_aarch64_simd_xi, int); +__Float32x2_t __builtin_aarch64_get_dregxiv2sf(__builtin_aarch64_simd_xi, int); +__Int8x16_t __builtin_aarch64_get_qregxiv16qi(__builtin_aarch64_simd_xi, const int); +__Int16x8_t __builtin_aarch64_get_qregxiv8hi(__builtin_aarch64_simd_xi, const int); +__Int32x4_t __builtin_aarch64_get_qregxiv4si(__builtin_aarch64_simd_xi, const int); +__Int64x2_t __builtin_aarch64_get_qregxiv2di(__builtin_aarch64_simd_xi, const int); +__Float16x8_t __builtin_aarch64_get_qregxiv8hf(__builtin_aarch64_simd_xi, const int); +__Float32x4_t __builtin_aarch64_get_qregxiv4sf(__builtin_aarch64_simd_xi, const int); +__Float64x2_t __builtin_aarch64_get_qregxiv2df(__builtin_aarch64_simd_xi, const int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv8hf(__builtin_aarch64_simd_xi, __Float16x8_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv4sf(__builtin_aarch64_simd_xi, __Float32x4_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv2df(__builtin_aarch64_simd_xi, __Float64x2_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv16qi(__builtin_aarch64_simd_xi, __Int8x16_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv8hi(__builtin_aarch64_simd_xi, __Int16x8_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv4si(__builtin_aarch64_simd_xi, __Int32x4_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv2di(__builtin_aarch64_simd_xi, __Int64x2_t, int); +__Int32x4_t __builtin_aarch64_saddlv4hi(__Int16x4_t, __Int16x4_t); +__Int16x8_t __builtin_aarch64_saddlv8qi(__Int8x8_t, __Int8x8_t); +__Uint16x8_t __builtin_aarch64_uaddlv8qi(__Int8x8_t, __Int8x8_t); +__Int16x8_t __builtin_aarch64_saddl2v16qi(__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_uaddl2v16qi(__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_saddwv8qi(__Int16x8_t, __Int8x8_t); +__Uint16x8_t __builtin_aarch64_uaddwv8qi(__Int16x8_t, __Int8x8_t); +__Int16x8_t __builtin_aarch64_saddw2v16qi(__Int16x8_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_uaddw2v16qi(__Int16x8_t, __Int8x16_t); +__Int8x8_t __builtin_aarch64_shaddv8qi(__Int8x8_t, __Int8x8_t); +__Uint8x8_t __builtin_aarch64_uhaddv8qi(__Int8x8_t, __Int8x8_t); +__Int8x16_t __builtin_aarch64_shaddv16qi(__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_shaddv8hi(__Int16x8_t, __Int16x8_t); +__Uint8x16_t __builtin_aarch64_uhaddv16qi(__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_uhaddv8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_srhaddv8qi(__Int8x8_t, __Int8x8_t); +__Uint8x8_t __builtin_aarch64_urhaddv8qi(__Int8x8_t, __Int8x8_t); +__Int8x16_t __builtin_aarch64_srhaddv16qi(__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_srhaddv8hi(__Int16x8_t, __Int16x8_t); +__Uint8x16_t __builtin_aarch64_urhaddv16qi(__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_urhaddv8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_addhnv8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_raddhnv8hi(__Int16x8_t, __Int16x8_t); +__Int8x16_t __builtin_aarch64_addhn2v8hi(__Int8x8_t, __Int16x8_t, __Int16x8_t); +__Int16x8_t __builtin_aarch64_addhn2v4si(__Int16x4_t, __Int32x4_t, __Int32x4_t); +__Int8x16_t __builtin_aarch64_raddhn2v8hi(__Int8x8_t, __Int16x8_t, __Int16x8_t); +__Int16x8_t __builtin_aarch64_raddhn2v4si(__Int16x4_t, __Int32x4_t, __Int32x4_t); +__Poly8x8_t __builtin_aarch64_pmulv8qi(__Int8x8_t, __Int8x8_t); +__Poly8x16_t __builtin_aarch64_pmulv16qi(__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_ssublv8qi(__Int8x8_t, __Int8x8_t); +__Uint16x8_t __builtin_aarch64_usublv8qi(__Int8x8_t, __Int8x8_t); +__Float32x2_t __builtin_aarch64_smax_nanpv2sf(__Float32x2_t, __Float32x2_t); +__Int64x2_t __builtin_aarch64_saddlv2si(__Int32x2_t, __Int32x2_t); +__Uint32x4_t __builtin_aarch64_uaddlv4hi (__Int16x4_t, __Int16x4_t); +__Uint64x2_t __builtin_aarch64_uaddlv2si (__Int32x2_t, __Int32x2_t); +__Int32x4_t __builtin_aarch64_saddl2v8hi (__Int16x8_t, __Int16x8_t); +__Int64x2_t __builtin_aarch64_saddl2v4si (__Int32x4_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_uaddl2v8hi (__Int16x8_t, __Int16x8_t); +__Uint64x2_t __builtin_aarch64_uaddl2v4si (__Int32x4_t, __Int32x4_t); +__Int32x4_t __builtin_aarch64_saddwv4hi (__Int32x4_t, __Int16x4_t); +__Int64x2_t __builtin_aarch64_saddwv2si (__Int64x2_t, __Int32x2_t); +__Uint32x4_t __builtin_aarch64_uaddwv4hi (__Int32x4_t, __Int16x4_t); +__Uint64x2_t __builtin_aarch64_uaddwv2si (__Int64x2_t, __Int32x2_t); +__Int32x4_t __builtin_aarch64_saddw2v8hi (__Int32x4_t, __Int16x8_t); +__Int64x2_t __builtin_aarch64_saddw2v4si (__Int64x2_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_uaddw2v8hi (__Int32x4_t, __Int16x8_t); +__Uint64x2_t __builtin_aarch64_uaddw2v4si (__Int64x2_t, __Int32x4_t); +__Int16x4_t __builtin_aarch64_shaddv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_shaddv2si (__Int32x2_t, __Int32x2_t); +__Uint16x4_t __builtin_aarch64_uhaddv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_uhaddv2si (__Int32x2_t, __Int32x2_t); +__Int32x4_t __builtin_aarch64_shaddv4si (__Int32x4_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_uhaddv4si (__Int32x4_t, __Int32x4_t); +__Int16x4_t __builtin_aarch64_srhaddv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_srhaddv2si (__Int32x2_t, __Int32x2_t); +__Uint16x4_t __builtin_aarch64_urhaddv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_urhaddv2si (__Int32x2_t, __Int32x2_t); +__Int32x4_t __builtin_aarch64_srhaddv4si (__Int32x4_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_urhaddv4si (__Int32x4_t, __Int32x4_t); +__Int16x4_t __builtin_aarch64_addhnv4si (__Int32x4_t, __Int32x4_t); +__Int32x2_t __builtin_aarch64_addhnv2di (__Int64x2_t, __Int64x2_t); +__Uint32x2_t __builtin_aarch64_addhnv2di (__Int64x2_t, __Int64x2_t); +__Int16x4_t __builtin_aarch64_raddhnv4si (__Int32x4_t, __Int32x4_t); +__Int32x2_t __builtin_aarch64_raddhnv2di (__Int64x2_t, __Int64x2_t); +__Uint16x4_t __builtin_aarch64_raddhnv4si (__Int32x4_t, __Int32x4_t); +__Uint32x2_t __builtin_aarch64_raddhnv2di (__Int64x2_t, __Int64x2_t); +__Int32x4_t __builtin_aarch64_addhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Uint32x4_t __builtin_aarch64_addhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Int32x4_t __builtin_aarch64_raddhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Uint32x4_t __builtin_aarch64_raddhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Int32x4_t __builtin_aarch64_ssublv4hi (__Int16x4_t, __Int16x4_t); +__Int64x2_t __builtin_aarch64_ssublv2si (__Int32x2_t, __Int32x2_t); +__Uint32x4_t __builtin_aarch64_usublv4hi (__Int16x4_t, __Int16x4_t); +__Uint64x2_t __builtin_aarch64_usublv2si (__Int32x2_t, __Int32x2_t); +__Int16x8_t __builtin_aarch64_ssubl2v16qi (__Int8x16_t, __Int8x16_t); +__Int32x4_t __builtin_aarch64_ssubl2v8hi (__Int16x8_t, __Int16x8_t); +__Int64x2_t __builtin_aarch64_ssubl2v4si (__Int32x4_t, __Int32x4_t); +__Uint16x8_t __builtin_aarch64_usubl2v16qi (__Int8x16_t, __Int8x16_t); +__Uint32x4_t __builtin_aarch64_usubl2v8hi (__Int16x8_t, __Int16x8_t); +__Uint64x2_t __builtin_aarch64_usubl2v4si (__Int32x4_t, __Int32x4_t); +__Int16x8_t __builtin_aarch64_ssubwv8qi (__Int16x8_t, __Int8x8_t); +__Int32x4_t __builtin_aarch64_ssubwv4hi (__Int32x4_t, __Int16x4_t); +__Int64x2_t __builtin_aarch64_ssubwv2si (__Int64x2_t, __Int32x2_t); +__Uint16x8_t __builtin_aarch64_usubwv8qi (__Int16x8_t, __Int8x8_t); +__Uint32x4_t __builtin_aarch64_usubwv4hi (__Int32x4_t, __Int16x4_t); +__Uint64x2_t __builtin_aarch64_usubwv2si (__Int64x2_t, __Int32x2_t); +__Int16x8_t __builtin_aarch64_ssubw2v16qi (__Int16x8_t, __Int8x16_t); +__Int32x4_t __builtin_aarch64_ssubw2v8hi (__Int32x4_t, __Int16x8_t); +__Int64x2_t __builtin_aarch64_ssubw2v4si (__Int64x2_t, __Int32x4_t); +__Uint16x8_t __builtin_aarch64_usubw2v16qi (__Int16x8_t, __Int8x16_t); +__Uint32x4_t __builtin_aarch64_usubw2v8hi (__Int32x4_t, __Int16x8_t); +__Uint64x2_t __builtin_aarch64_usubw2v4si (__Int64x2_t, __Int32x4_t); +__Int8x8_t __builtin_aarch64_sqaddv8qi (__Int8x8_t, __Int8x8_t); +__Int16x4_t __builtin_aarch64_sqaddv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_sqaddv2si (__Int32x2_t, __Int32x2_t); +__Int8x8_t __builtin_aarch64_shsubv8qi (__Int8x8_t, __Int8x8_t); +__Int16x4_t __builtin_aarch64_shsubv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_shsubv2si (__Int32x2_t, __Int32x2_t); +__Uint8x8_t __builtin_aarch64_uhsubv8qi (__Int8x8_t, __Int8x8_t); +__Uint16x4_t __builtin_aarch64_uhsubv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_uhsubv2si (__Int32x2_t, __Int32x2_t); +__Int8x16_t __builtin_aarch64_shsubv16qi (__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_shsubv8hi (__Int16x8_t, __Int16x8_t); +__Int32x4_t __builtin_aarch64_shsubv4si (__Int32x4_t, __Int32x4_t); +__Uint8x16_t __builtin_aarch64_uhsubv16qi (__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_uhsubv8hi (__Int16x8_t, __Int16x8_t); +__Uint32x4_t __builtin_aarch64_uhsubv4si (__Int32x4_t, __Int32x4_t); +__Int8x8_t __builtin_aarch64_subhnv8hi (__Int16x8_t, __Int16x8_t); +__Int16x4_t __builtin_aarch64_subhnv4si (__Int32x4_t, __Int32x4_t); +__Int32x2_t __builtin_aarch64_subhnv2di (__Int64x2_t, __Int64x2_t); +__Uint8x8_t __builtin_aarch64_subhnv8hi (__Int16x8_t, __Int16x8_t); +__Uint16x4_t __builtin_aarch64_subhnv4si (__Int32x4_t, __Int32x4_t); +__Uint32x2_t __builtin_aarch64_subhnv2di (__Int64x2_t, __Int64x2_t); +__Int8x8_t __builtin_aarch64_rsubhnv8hi (__Int16x8_t, __Int16x8_t); +__Int16x4_t __builtin_aarch64_rsubhnv4si (__Int32x4_t, __Int32x4_t); +__Int32x2_t __builtin_aarch64_rsubhnv2di (__Int64x2_t, __Int64x2_t); +__Uint8x8_t __builtin_aarch64_rsubhnv8hi (__Int16x8_t, __Int16x8_t); +__Uint16x4_t __builtin_aarch64_rsubhnv4si (__Int32x4_t, __Int32x4_t); +__Uint32x2_t __builtin_aarch64_rsubhnv2di (__Int64x2_t, __Int64x2_t); +__Int8x16_t __builtin_aarch64_rsubhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); +__Int16x8_t __builtin_aarch64_rsubhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); +__Int32x4_t __builtin_aarch64_rsubhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Uint8x16_t __builtin_aarch64_rsubhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); +__Uint16x8_t __builtin_aarch64_rsubhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_rsubhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Int8x16_t __builtin_aarch64_subhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); +__Int16x8_t __builtin_aarch64_subhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); +__Int32x4_t __builtin_aarch64_subhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Uint8x16_t __builtin_aarch64_subhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); +__Uint16x8_t __builtin_aarch64_subhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_subhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Int8x16_t __builtin_aarch64_sqaddv16qi (__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_sqaddv8hi (__Int16x8_t, __Int16x8_t); +__Int32x4_t __builtin_aarch64_sqaddv4si (__Int32x4_t, __Int32x4_t); +__Int64x2_t __builtin_aarch64_sqaddv2di (__Int64x2_t, __Int64x2_t); +__Int8x8_t __builtin_aarch64_sqsubv8qi (__Int8x8_t, __Int8x8_t); +__Int16x4_t __builtin_aarch64_sqsubv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_sqsubv2si (__Int32x2_t, __Int32x2_t); +__Int8x16_t __builtin_aarch64_sqsubv16qi (__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_sqsubv8hi (__Int16x8_t, __Int16x8_t); +__Int32x4_t __builtin_aarch64_sqsubv4si (__Int32x4_t, __Int32x4_t); +__Int64x2_t __builtin_aarch64_sqsubv2di (__Int64x2_t, __Int64x2_t); +__Int8x8_t __builtin_aarch64_sqnegv8qi (__Int8x8_t); +__Int16x4_t __builtin_aarch64_sqnegv4hi (__Int16x4_t); +__Int32x2_t __builtin_aarch64_sqnegv2si (__Int32x2_t); +__Int8x16_t __builtin_aarch64_sqnegv16qi (__Int8x16_t); +__Int16x8_t __builtin_aarch64_sqnegv8hi (__Int16x8_t); +__Int32x4_t __builtin_aarch64_sqnegv4si (__Int32x4_t); +__Int8x8_t __builtin_aarch64_sqabsv8qi (__Int8x8_t); +__Int16x4_t __builtin_aarch64_sqabsv4hi (__Int16x4_t); +__Int32x2_t __builtin_aarch64_sqabsv2si (__Int32x2_t); +__Int8x16_t __builtin_aarch64_sqabsv16qi (__Int8x16_t); +__Int16x8_t __builtin_aarch64_sqabsv8hi (__Int16x8_t); +__Int32x4_t __builtin_aarch64_sqabsv4si (__Int32x4_t); +__Int16x4_t __builtin_aarch64_sqdmulhv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_sqdmulhv2si (__Int32x2_t, __Int32x2_t); +__Int16x8_t __builtin_aarch64_sqdmulhv8hi (__Int16x8_t, __Int16x8_t); +__Int32x4_t __builtin_aarch64_sqdmulhv4si (__Int32x4_t, __Int32x4_t); +__Int16x4_t __builtin_aarch64_sqrdmulhv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_sqrdmulhv2si (__Int32x2_t, __Int32x2_t); +__Int16x8_t __builtin_aarch64_sqrdmulhv8hi (__Int16x8_t, __Int16x8_t); +__Int32x4_t __builtin_aarch64_sqrdmulhv4si (__Int32x4_t, __Int32x4_t); +__Int8x16_t __builtin_aarch64_combinev8qi (__Int8x8_t, __Int8x8_t); +__Int16x8_t __builtin_aarch64_combinev4hi (__Int16x4_t, __Int16x4_t); +__Int32x4_t __builtin_aarch64_combinev2si (__Int32x2_t, __Int32x2_t); +__Float32x4_t __builtin_aarch64_combinev2sf (__Float32x2_t, __Float32x2_t); +__Uint8x16_t __builtin_aarch64_combinev8qi (__Int8x8_t, __Int8x8_t); +__Uint16x8_t __builtin_aarch64_combinev4hi (__Int16x4_t, __Int16x4_t); +__Uint32x4_t __builtin_aarch64_combinev2si (__Int32x2_t, __Int32x2_t); +__Poly8x16_t __builtin_aarch64_combinev8qi (__Int8x8_t, __Int8x8_t); +__Poly16x8_t __builtin_aarch64_combinev4hi (__Int16x4_t, __Int16x4_t); +__Uint8x8_t __builtin_aarch64_clzv8qi (__Int8x8_t); +__Uint16x4_t __builtin_aarch64_clzv4hi (__Int16x4_t); +__Uint32x2_t __builtin_aarch64_clzv2si (__Int32x2_t); +__Uint8x16_t __builtin_aarch64_clzv16qi (__Int8x16_t); +__Uint16x8_t __builtin_aarch64_clzv8hi (__Int16x8_t); +__Uint32x4_t __builtin_aarch64_clzv4si (__Int32x4_t); +__Poly8x8_t __builtin_aarch64_popcountv8qi (__Int8x8_t); +__Uint8x8_t __builtin_aarch64_popcountv8qi (__Int8x8_t); +__Poly8x16_t __builtin_aarch64_popcountv16qi (__Int8x16_t); +__Uint8x16_t __builtin_aarch64_popcountv16qi (__Int8x16_t); +__Uint8x8_t __builtin_aarch64_umaxv8qi (__Int8x8_t, __Int8x8_t); +__Uint16x4_t __builtin_aarch64_umaxv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_umaxv2si (__Int32x2_t, __Int32x2_t); +__Uint8x16_t __builtin_aarch64_umaxv16qi (__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_umaxv8hi (__Int16x8_t, __Int16x8_t); +__Uint32x4_t __builtin_aarch64_umaxv4si (__Int32x4_t, __Int32x4_t); +__Uint8x8_t __builtin_aarch64_umaxpv8qi (__Int8x8_t, __Int8x8_t); +__Uint16x4_t __builtin_aarch64_umaxpv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_umaxpv2si (__Int32x2_t, __Int32x2_t); +__Uint8x16_t __builtin_aarch64_umaxpv16qi (__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_umaxpv8hi (__Int16x8_t, __Int16x8_t); +__Uint32x4_t __builtin_aarch64_umaxpv4si (__Int32x4_t, __Int32x4_t); +__Uint8x8_t __builtin_aarch64_uminpv8qi (__Int8x8_t, __Int8x8_t); +__Uint16x4_t __builtin_aarch64_uminpv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_uminpv2si (__Int32x2_t, __Int32x2_t); +__Uint8x16_t __builtin_aarch64_uminpv16qi (__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_uminpv8hi (__Int16x8_t, __Int16x8_t); +__Uint32x4_t __builtin_aarch64_uminpv4si (__Int32x4_t, __Int32x4_t); +__Uint8x8_t __builtin_aarch64_uminv8qi (__Int8x8_t, __Int8x8_t); +__Uint16x4_t __builtin_aarch64_uminv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_uminv2si (__Int32x2_t, __Int32x2_t); +__Uint8x16_t __builtin_aarch64_uminv16qi (__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_uminv8hi (__Int16x8_t, __Int16x8_t); +__Uint32x4_t __builtin_aarch64_uminv4si (__Int32x4_t, __Int32x4_t); +__Uint8x8_t __builtin_aarch64_addpv8qi (__Int8x8_t, __Int8x8_t); +__Uint16x4_t __builtin_aarch64_addpv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_addpv2si (__Int32x2_t, __Int32x2_t); +__Int64x2_t __builtin_aarch64_sqabsv2di (__Int64x2_t); +__Int8x8_t __builtin_aarch64_sqmovnv8hi (__Int16x8_t); +__Int16x4_t __builtin_aarch64_sqmovnv4si (__Int32x4_t); +__Int32x2_t __builtin_aarch64_sqmovnv2di (__Int64x2_t); +__Uint8x8_t __builtin_aarch64_uqmovnv8hi (__Int16x8_t); +__Uint16x4_t __builtin_aarch64_uqmovnv4si (__Int32x4_t); +__Uint32x2_t __builtin_aarch64_uqmovnv2di (__Int64x2_t); +__Uint8x8_t __builtin_aarch64_sqmovunv8hi (__Int16x8_t); +__Uint16x4_t __builtin_aarch64_sqmovunv4si (__Int32x4_t); +__Uint32x2_t __builtin_aarch64_sqmovunv2di (__Int64x2_t); +__Int64x2_t __builtin_aarch64_sqnegv2di (__Int64x2_t); +__Int8x8_t __builtin_aarch64_sqrshrn_nv8hi (__Int16x8_t, const int); +__Int16x4_t __builtin_aarch64_sqrshrn_nv4si (__Int32x4_t, const int); +__Int32x2_t __builtin_aarch64_sqrshrn_nv2di (__Int64x2_t, const int); +__Uint8x8_t __builtin_aarch64_sqrshrun_nv8hi (__Int16x8_t, const int); +__Uint16x4_t __builtin_aarch64_sqrshrun_nv4si (__Int32x4_t, const int); +__Uint32x2_t __builtin_aarch64_sqrshrun_nv2di (__Int64x2_t, const int); +__Int8x8_t __builtin_aarch64_sqshl_nv8qi (__Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_sqshl_nv4hi (__Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_sqshl_nv2si (__Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_sqshl_nv16qi (__Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_sqshl_nv8hi (__Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_sqshl_nv4si (__Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_sqshl_nv2di (__Int64x2_t, const int); +__Int8x8_t __builtin_aarch64_sqshrn_nv8hi (__Int16x8_t, const int); +__Int16x4_t __builtin_aarch64_sqshrn_nv4si (__Int32x4_t, const int); +__Int32x2_t __builtin_aarch64_sqshrn_nv2di (__Int64x2_t, const int); +__Uint8x8_t __builtin_aarch64_sqshrun_nv8hi (__Int16x8_t, const int); +__Uint16x4_t __builtin_aarch64_sqshrun_nv4si (__Int32x4_t, const int); +__Uint32x2_t __builtin_aarch64_sqshrun_nv2di (__Int64x2_t, const int); +__Poly8x8_t __builtin_aarch64_rbitv8qi (__Int8x8_t); +__Uint8x8_t __builtin_aarch64_rbitv8qi (__Int8x8_t); +__Poly8x16_t __builtin_aarch64_rbitv16qi (__Int8x16_t); +__Uint8x16_t __builtin_aarch64_rbitv16qi (__Int8x16_t); +__Uint32x2_t __builtin_aarch64_urecpev2si (__Int32x2_t); +__Uint32x4_t __builtin_aarch64_urecpev4si (__Int32x4_t); +__Int8x8_t __builtin_aarch64_srshlv8qi (__Int8x8_t, __Int8x8_t); +__Int16x4_t __builtin_aarch64_srshlv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_srshlv2si (__Int32x2_t, __Int32x2_t); +__Int8x16_t __builtin_aarch64_srshlv16qi (__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_srshlv8hi (__Int16x8_t, __Int16x8_t); +__Int32x4_t __builtin_aarch64_srshlv4si (__Int32x4_t, __Int32x4_t); +__Int64x2_t __builtin_aarch64_srshlv2di (__Int64x2_t, __Int64x2_t); +__Int8x8_t __builtin_aarch64_srshr_nv8qi (__Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_srshr_nv4hi (__Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_srshr_nv2si (__Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_srshr_nv16qi (__Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_srshr_nv8hi (__Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_srshr_nv4si (__Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_srshr_nv2di (__Int64x2_t, const int); +__Int8x8_t __builtin_aarch64_srsra_nv8qi (__Int8x8_t, __Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_srsra_nv4hi (__Int16x4_t, __Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_srsra_nv2si (__Int32x2_t, __Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_srsra_nv16qi (__Int8x16_t, __Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_srsra_nv8hi (__Int16x8_t, __Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_srsra_nv4si (__Int32x4_t, __Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_srsra_nv2di (__Int64x2_t, __Int64x2_t, const int); +__Int8x8_t __builtin_aarch64_ashlv8qi (__Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_ashlv4hi (__Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_ashlv2si (__Int32x2_t, const int); +__Uint8x8_t __builtin_aarch64_ashlv8qi (__Int8x8_t, const int); +__Uint16x4_t __builtin_aarch64_ashlv4hi (__Int16x4_t, const int); +__Uint32x2_t __builtin_aarch64_ashlv2si (__Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_ashlv16qi (__Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_ashlv8hi (__Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_ashlv4si (__Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_ashlv2di (__Int64x2_t, const int); +__Uint8x16_t __builtin_aarch64_ashlv16qi (__Int8x16_t, const int); +__Uint16x8_t __builtin_aarch64_ashlv8hi (__Int16x8_t, const int); +__Uint32x4_t __builtin_aarch64_ashlv4si (__Int32x4_t, const int); +__Uint64x2_t __builtin_aarch64_ashlv2di (__Int64x2_t, const int); +__Uint16x8_t __builtin_aarch64_ushll2_nv16qi (__Int8x16_t, const int); +__Uint32x4_t __builtin_aarch64_ushll2_nv8hi (__Int16x8_t, const int); +__Uint64x2_t __builtin_aarch64_ushll2_nv4si (__Int32x4_t, const int); +__Int8x8_t __builtin_aarch64_ashrv8qi (__Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_ashrv4hi (__Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_ashrv2si (__Int32x2_t, const int); +__Uint8x8_t __builtin_aarch64_lshrv8qi (__Int8x8_t, const int); +__Uint16x4_t __builtin_aarch64_lshrv4hi (__Int16x4_t, const int); +__Uint32x2_t __builtin_aarch64_lshrv2si (__Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_ashrv16qi (__Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_ashrv8hi (__Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_ashrv4si (__Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_ashrv2di (__Int64x2_t, const int); +__Uint8x16_t __builtin_aarch64_lshrv16qi (__Int8x16_t, const int); +__Uint16x8_t __builtin_aarch64_lshrv8hi (__Int16x8_t, const int); +__Int8x8_t __builtin_aarch64_ssli_nv8qi (__Int8x8_t, __Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_ssli_nv4hi (__Int16x4_t, __Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_ssli_nv2si (__Int32x2_t, __Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_ssli_nv16qi (__Int8x16_t, __Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_ssli_nv8hi (__Int16x8_t, __Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_ssli_nv4si (__Int32x4_t, __Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_ssli_nv2di (__Int64x2_t, __Int64x2_t, const int); +__Int8x8_t __builtin_aarch64_ssra_nv8qi (__Int8x8_t, __Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_ssra_nv4hi (__Int16x4_t, __Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_ssra_nv2si (__Int32x2_t, __Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_ssra_nv16qi (__Int8x16_t, __Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_ssra_nv8hi (__Int16x8_t, __Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_ssra_nv4si (__Int32x4_t, __Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_ssra_nv2di (__Int64x2_t, __Int64x2_t, const int); +__Int8x8_t __builtin_aarch64_ssri_nv8qi (__Int8x8_t, __Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_ssri_nv4hi (__Int16x4_t, __Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_ssri_nv2si (__Int32x2_t, __Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_ssri_nv16qi (__Int8x16_t, __Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_ssri_nv8hi (__Int16x8_t, __Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_ssri_nv4si (__Int32x4_t, __Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_ssri_nv2di (__Int64x2_t, __Int64x2_t, const int); +__Uint8x8_t __builtin_aarch64_uqaddv8qi_uuu (__Uint8x8_t, __Uint8x8_t); +__Uint32x2_t __builtin_aarch64_uqaddv2si_uuu (__Uint32x2_t, __Uint32x2_t); +__Uint8x16_t __builtin_aarch64_uqaddv16qi_uuu (__Uint8x16_t, __Uint8x16_t); +__Uint16x8_t __builtin_aarch64_uqaddv8hi_uuu (__Uint16x8_t, __Uint16x8_t); +__Uint32x4_t __builtin_aarch64_uqaddv4si_uuu (__Uint32x4_t, __Uint32x4_t); +__Uint64x2_t __builtin_aarch64_uqaddv2di_uuu (__Uint64x2_t, __Uint64x2_t); +__Uint8x8_t __builtin_aarch64_uqsubv8qi_uuu (__Uint8x8_t, __Uint8x8_t); +__Uint16x4_t __builtin_aarch64_uqsubv4hi_uuu (__Uint16x4_t, __Uint16x4_t); +__Uint32x2_t __builtin_aarch64_uqsubv2si_uuu (__Uint32x2_t, __Uint32x2_t); +__Uint8x16_t __builtin_aarch64_uqsubv16qi_uuu (__Uint8x16_t, __Uint8x16_t); +__Uint16x8_t __builtin_aarch64_uqsubv8hi_uuu (__Uint16x8_t, __Uint16x8_t); +__Uint32x4_t __builtin_aarch64_uqsubv4si_uuu (__Uint32x4_t, __Uint32x4_t); +__Uint64x2_t __builtin_aarch64_uqsubv2di_uuu (__Uint64x2_t, __Uint64x2_t); +__Float16x8_t __builtin_aarch64_combinev4hf (__Float16x4_t, __Float16x4_t); +__Uint16x4_t __builtin_aarch64_uqaddv4hi_uuu(__Uint16x4_t, __Uint16x4_t); +__Int16x4_t __builtin_aarch64_sqdmulh_laneqv4hi(__Int16x4_t, __Int16x8_t, const int); +__Int32x2_t __builtin_aarch64_sqdmulh_laneqv2si(__Int32x2_t, __Int32x4_t, const int); +__Int16x8_t __builtin_aarch64_sqdmulh_laneqv8hi(__Int16x8_t, __Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_sqdmulh_laneqv4si(__Int32x4_t, __Int32x4_t, const int); +__Int16x4_t __builtin_aarch64_sqrdmulh_laneqv4hi(__Int16x4_t, __Int16x8_t, const int); +__Int32x2_t __builtin_aarch64_sqrdmulh_laneqv2si(__Int32x2_t, __Int32x4_t, const int); +__Int16x8_t __builtin_aarch64_sqrdmulh_laneqv8hi(__Int16x8_t, __Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_sqrdmulh_laneqv4si(__Int32x4_t, __Int32x4_t, const int); +__Uint16x4_t __builtin_aarch64_uqaddv4hi_uuu (__Uint16x4_t __a, __Uint16x4_t __b); +__Int64x2_t __builtin_aarch64_combinedi (long int, long int); +__Float64x2_t __builtin_aarch64_combinedf (float , float); +__Int16x4_t __builtin_aarch64_sqdmulh_laneqv4hi (__Int16x4_t __a, __Int16x8_t __b, const int __c); +__Int32x2_t __builtin_aarch64_sqdmulh_laneqv2si (__Int32x2_t __a, __Int32x4_t __b, const int __c); +__Int16x8_t __builtin_aarch64_sqdmulh_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, const int __c); +__Int32x4_t __builtin_aarch64_sqdmulh_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, const int __c); +__Int16x4_t __builtin_aarch64_sqrdmulh_laneqv4hi (__Int16x4_t __a, __Int16x8_t __b, const int __c); +__Int32x2_t __builtin_aarch64_sqrdmulh_laneqv2si (__Int32x2_t __a, __Int32x4_t __b, const int __c); +__Int16x8_t __builtin_aarch64_sqrdmulh_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, const int __c); +__Int32x4_t __builtin_aarch64_sqrdmulh_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, const int __c); +__Int8x8_t __builtin_aarch64_absv8qi (__Int8x8_t __a); +__Int16x4_t __builtin_aarch64_absv4hi (__Int16x4_t __a); +__Int32x2_t __builtin_aarch64_absv2si (__Int32x2_t __a); +__Float32x4_t __builtin_aarch64_absv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_absv2df (__Float64x2_t __a); +__Int8x16_t __builtin_aarch64_absv16qi (__Int8x16_t __a); +__Int16x8_t __builtin_aarch64_absv8hi (__Int16x8_t __a); +__Int32x4_t __builtin_aarch64_absv4si (__Int32x4_t __a); +__Int64x2_t __builtin_aarch64_absv2di (__Int64x2_t __a); +__Float32x2_t __builtin_aarch64_simd_bslv2sf_suss (__Uint32x2_t __a, __Float32x2_t __b, __Float32x2_t __c); +__Poly8x8_t __builtin_aarch64_simd_bslv8qi_pupp (__Uint8x8_t __a, __Poly8x8_t __b, __Poly8x8_t __c); +__Poly16x4_t __builtin_aarch64_simd_bslv4hi_pupp (__Uint16x4_t __a, __Poly16x4_t __b, __Poly16x4_t __c); +__Int8x8_t __builtin_aarch64_simd_bslv8qi_suss (__Uint8x8_t __a, __Int8x8_t __b, __Int8x8_t __c); +__Int16x4_t __builtin_aarch64_simd_bslv4hi_suss (__Uint16x4_t __a, __Int16x4_t __b, __Int16x4_t __c); +__Int32x2_t __builtin_aarch64_simd_bslv2si_suss (__Uint32x2_t __a, __Int32x2_t __b, __Int32x2_t __c); +__Uint8x8_t __builtin_aarch64_simd_bslv8qi_uuuu (__Uint8x8_t __a, __Uint8x8_t __b, __Uint8x8_t __c); +__Uint16x4_t __builtin_aarch64_simd_bslv4hi_uuuu (__Uint16x4_t __a, __Uint16x4_t __b, __Uint16x4_t __c); +__Uint32x2_t __builtin_aarch64_simd_bslv2si_uuuu (__Uint32x2_t __a, __Uint32x2_t __b, __Uint32x2_t __c); +__Float32x4_t __builtin_aarch64_simd_bslv4sf_suss (__Uint32x4_t __a, __Float32x4_t __b, __Float32x4_t __c); +__Float64x2_t __builtin_aarch64_simd_bslv2df_suss (__Uint64x2_t __a, __Float64x2_t __b, __Float64x2_t __c); +__Poly8x16_t __builtin_aarch64_simd_bslv16qi_pupp (__Uint8x16_t __a, __Poly8x16_t __b, __Poly8x16_t __c); +__Poly16x8_t __builtin_aarch64_simd_bslv8hi_pupp (__Uint16x8_t __a, __Poly16x8_t __b, __Poly16x8_t __c); +__Int8x16_t __builtin_aarch64_simd_bslv16qi_suss (__Uint8x16_t __a, __Int8x16_t __b, __Int8x16_t __c); +__Int16x8_t __builtin_aarch64_simd_bslv8hi_suss (__Uint16x8_t __a, __Int16x8_t __b, __Int16x8_t __c); +__Int32x4_t __builtin_aarch64_simd_bslv4si_suss (__Uint32x4_t __a, __Int32x4_t __b, __Int32x4_t __c); +__Int64x2_t __builtin_aarch64_simd_bslv2di_suss (__Uint64x2_t __a, __Int64x2_t __b, __Int64x2_t __c); +__Uint8x16_t __builtin_aarch64_simd_bslv16qi_uuuu (__Uint8x16_t __a, __Uint8x16_t __b, __Uint8x16_t __c); +__Uint16x8_t __builtin_aarch64_simd_bslv8hi_uuuu (__Uint16x8_t __a, __Uint16x8_t __b, __Uint16x8_t __c); +__Uint32x4_t __builtin_aarch64_simd_bslv4si_uuuu (__Uint32x4_t __a, __Uint32x4_t __b, __Uint32x4_t __c); +__Uint64x2_t __builtin_aarch64_simd_bslv2di_uuuu (__Uint64x2_t __a, __Uint64x2_t __b, __Uint64x2_t __c); +__Int16x4_t __builtin_aarch64_sqrdmlahv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c); +__Int32x2_t __builtin_aarch64_sqrdmlahv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c); +__Int16x8_t __builtin_aarch64_sqrdmlahv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c); +__Int32x4_t __builtin_aarch64_sqrdmlahv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c); +__Int16x4_t __builtin_aarch64_sqrdmlshv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c); +__Int32x2_t __builtin_aarch64_sqrdmlshv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c); +__Int16x8_t __builtin_aarch64_sqrdmlshv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c); +__Int32x4_t __builtin_aarch64_sqrdmlshv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c); +__Int16x4_t __builtin_aarch64_sqrdmlah_laneqv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x8_t __c, const int __d); +__Int32x2_t __builtin_aarch64_sqrdmlah_laneqv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x4_t __c, const int __d); +__Int16x8_t __builtin_aarch64_sqrdmlah_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c, const int __d); +__Int32x4_t __builtin_aarch64_sqrdmlah_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c, const int __d); +__Int16x4_t __builtin_aarch64_sqrdmlsh_laneqv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x8_t __c, const int __d); +__Int32x2_t __builtin_aarch64_sqrdmlsh_laneqv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x4_t __c, const int __d); +__Int16x8_t __builtin_aarch64_sqrdmlsh_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c, const int __d); +__Int32x4_t __builtin_aarch64_sqrdmlsh_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c, const int __d); +__Int16x4_t __builtin_aarch64_sqrdmlah_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c, const int __d); +__Int32x2_t __builtin_aarch64_sqrdmlah_lanev2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c, const int __d); +__Int16x8_t __builtin_aarch64_sqrdmlah_lanev8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x4_t __c, const int __d); +__Int32x4_t __builtin_aarch64_sqrdmlah_lanev4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x2_t __c, const int __d); +__Int16x4_t __builtin_aarch64_sqrdmlsh_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c, const int __d); +__Int32x2_t __builtin_aarch64_sqrdmlsh_lanev2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c, const int __d); +__Int16x8_t __builtin_aarch64_sqrdmlsh_lanev8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x4_t __c, const int __d); +__Int32x4_t __builtin_aarch64_sqrdmlsh_lanev4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x2_t __c, const int __d); +__Uint8x16_t __builtin_aarch64_crypto_aesev16qi_uuu (__Uint8x16_t data, __Uint8x16_t key); +__Uint8x16_t __builtin_aarch64_crypto_aesdv16qi_uuu (__Uint8x16_t data, __Uint8x16_t key); +__Uint8x16_t __builtin_aarch64_crypto_aesmcv16qi_uu (__Uint8x16_t data); +__Uint8x16_t __builtin_aarch64_crypto_aesimcv16qi_uu (__Uint8x16_t data); +__Int8x8_t __builtin_aarch64_clrsbv8qi (__Int8x8_t __a); +__Int16x4_t __builtin_aarch64_clrsbv4hi (__Int16x4_t __a); +__Int32x2_t __builtin_aarch64_clrsbv2si (__Int32x2_t __a); +__Int8x16_t __builtin_aarch64_clrsbv16qi (__Int8x16_t __a); +__Int16x8_t __builtin_aarch64_clrsbv8hi (__Int16x8_t __a); +__Int32x4_t __builtin_aarch64_clrsbv4si (__Int32x4_t __a); +__Int8x8_t __builtin_aarch64_clzv8qi (__Int8x8_t __a); +__Int16x4_t __builtin_aarch64_clzv4hi (__Int16x4_t __a); +__Int32x2_t __builtin_aarch64_clzv2si (__Int32x2_t __a); +__Int8x16_t __builtin_aarch64_clzv16qi (__Int8x16_t __a); +__Int16x8_t __builtin_aarch64_clzv8hi (__Int16x8_t __a); +__Int32x4_t __builtin_aarch64_clzv4si (__Int32x4_t __a); +__Int8x8_t __builtin_aarch64_popcountv8qi (__Int8x8_t __a); +__Int8x16_t __builtin_aarch64_popcountv16qi (__Int8x16_t __a); +__Float16x4_t __builtin_aarch64_float_truncate_lo_v4hf (__Float32x4_t __a); +__Float16x8_t __builtin_aarch64_float_truncate_hi_v8hf (__Float16x4_t __a, __Float32x4_t __b); +__Float32x2_t __builtin_aarch64_float_truncate_lo_v2sf (__Float64x2_t __a); +__Float32x4_t __builtin_aarch64_float_truncate_hi_v4sf (__Float32x2_t __a, __Float64x2_t __b); +__Float32x4_t __builtin_aarch64_float_extend_lo_v4sf (__Float16x4_t __a); +__Float64x2_t __builtin_aarch64_float_extend_lo_v2df (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_vec_unpacks_hi_v8hf (__Float16x8_t __a); +__Float64x2_t __builtin_aarch64_vec_unpacks_hi_v4sf (__Float32x4_t __a); +__Float32x2_t __builtin_aarch64_floatv2siv2sf (__Int32x2_t __a); +__Float32x2_t __builtin_aarch64_floatunsv2siv2sf (__Int32x2_t __a); +__Float32x4_t __builtin_aarch64_floatv4siv4sf (__Int32x4_t __a); +__Float32x4_t __builtin_aarch64_floatunsv4siv4sf (__Int32x4_t __a); +__Float64x2_t __builtin_aarch64_floatv2div2df (__Int64x2_t __a); +__Float64x2_t __builtin_aarch64_floatunsv2div2df (__Int64x2_t __a); +__Int32x2_t __builtin_aarch64_lbtruncv2sfv2si (__Float32x2_t __a); +__Uint32x2_t __builtin_aarch64_lbtruncuv2sfv2si_us (__Float32x2_t __a); +__Int32x4_t __builtin_aarch64_lbtruncv4sfv4si (__Float32x4_t __a); +__Uint32x4_t __builtin_aarch64_lbtruncuv4sfv4si_us (__Float32x4_t __a); +__Int64x2_t __builtin_aarch64_lbtruncv2dfv2di (__Float64x2_t __a); +__Uint64x2_t __builtin_aarch64_lbtruncuv2dfv2di_us (__Float64x2_t __a); +__Int32x2_t __builtin_aarch64_lroundv2sfv2si (__Float32x2_t __a); +__Uint32x2_t __builtin_aarch64_lrounduv2sfv2si_us (__Float32x2_t __a); +__Int32x4_t __builtin_aarch64_lroundv4sfv4si (__Float32x4_t __a); +__Uint32x4_t __builtin_aarch64_lrounduv4sfv4si_us (__Float32x4_t __a); +__Int64x2_t __builtin_aarch64_lroundv2dfv2di (__Float64x2_t __a); +__Uint64x2_t __builtin_aarch64_lrounduv2dfv2di_us (__Float64x2_t __a); +__Int32x2_t __builtin_aarch64_lfloorv2sfv2si (__Float32x2_t __a); +__Uint32x2_t __builtin_aarch64_lflooruv2sfv2si_us (__Float32x2_t __a); +__Int32x4_t __builtin_aarch64_lfloorv4sfv4si (__Float32x4_t __a); +__Uint32x4_t __builtin_aarch64_lflooruv4sfv4si_us (__Float32x4_t __a); +__Int64x2_t __builtin_aarch64_lfloorv2dfv2di (__Float64x2_t __a); +__Uint64x2_t __builtin_aarch64_lflooruv2dfv2di_us (__Float64x2_t __a); +__Int32x2_t __builtin_aarch64_lfrintnv2sfv2si (__Float32x2_t __a); +__Uint32x2_t __builtin_aarch64_lfrintnuv2sfv2si_us (__Float32x2_t __a); +__Int32x4_t __builtin_aarch64_lfrintnv4sfv4si (__Float32x4_t __a); +__Uint32x4_t __builtin_aarch64_lfrintnuv4sfv4si_us (__Float32x4_t __a); +__Int64x2_t __builtin_aarch64_lfrintnv2dfv2di (__Float64x2_t __a); +__Uint64x2_t __builtin_aarch64_lfrintnuv2dfv2di_us (__Float64x2_t __a); +__Int32x2_t __builtin_aarch64_lceilv2sfv2si (__Float32x2_t __a); +__Uint32x2_t __builtin_aarch64_lceiluv2sfv2si_us (__Float32x2_t __a); +__Int32x4_t __builtin_aarch64_lceilv4sfv4si (__Float32x4_t __a); +__Uint32x4_t __builtin_aarch64_lceiluv4sfv4si_us (__Float32x4_t __a); +__Int64x2_t __builtin_aarch64_lceilv2dfv2di (__Float64x2_t __a); +__Uint64x2_t __builtin_aarch64_lceiluv2dfv2di_us (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_fmav2sf (__Float32x2_t __a, __Float32x2_t __b, __Float32x2_t __c); +__Float32x4_t __builtin_aarch64_fmav4sf (__Float32x4_t __a, __Float32x4_t __b, __Float32x4_t __c); +__Float64x2_t __builtin_aarch64_fmav2df (__Float64x2_t __a, __Float64x2_t __b, __Float64x2_t __c); +__Float16x4_t __builtin_aarch64_ld1v4hf (const __fp16 *__a); +__Float32x2_t __builtin_aarch64_ld1v2sf (const __builtin_aarch64_simd_sf * a); +__Int8x8_t __builtin_aarch64_ld1v8qi (const __builtin_aarch64_simd_qi * a); +__Int16x4_t __builtin_aarch64_ld1v4hi (const __builtin_aarch64_simd_hi * a); +__Int32x2_t __builtin_aarch64_ld1v2si (const __builtin_aarch64_simd_si * a); +__Float16x8_t __builtin_aarch64_ld1v8hf (const __fp16 *__a); +__Float32x4_t __builtin_aarch64_ld1v4sf (const __builtin_aarch64_simd_sf * a); +__Float64x2_t __builtin_aarch64_ld1v2df (const __builtin_aarch64_simd_df * a); +__Int8x16_t __builtin_aarch64_ld1v16qi (const __builtin_aarch64_simd_qi * a); +__Int16x8_t __builtin_aarch64_ld1v8hi (const __builtin_aarch64_simd_hi * a); +__Int32x4_t __builtin_aarch64_ld1v4si (const __builtin_aarch64_simd_si * a); +__Int64x2_t __builtin_aarch64_ld1v2di (const __builtin_aarch64_simd_di * a); +__Float32x2_t __builtin_aarch64_smax_nanv2sf (__Float32x2_t __a, __Float32x2_t __b); +__Int8x8_t __builtin_aarch64_smaxv8qi (__Int8x8_t __a, __Int8x8_t __b); +__Int16x4_t __builtin_aarch64_smaxv4hi (__Int16x4_t __a, __Int16x4_t __b); +__Int32x2_t __builtin_aarch64_smaxv2si (__Int32x2_t __a, __Int32x2_t __b); +__Float32x4_t __builtin_aarch64_smax_nanv4sf (__Float32x4_t __a, __Float32x4_t __b); +__Float64x2_t __builtin_aarch64_smax_nanv2df (__Float64x2_t __a, __Float64x2_t __b); +__Int8x16_t __builtin_aarch64_smaxv16qi (__Int8x16_t __a, __Int8x16_t __b); +__Int16x8_t __builtin_aarch64_smaxv8hi (__Int16x8_t __a, __Int16x8_t __b); +__Int32x4_t __builtin_aarch64_smaxv4si (__Int32x4_t __a, __Int32x4_t __b); +__Int8x8_t __builtin_aarch64_smaxpv8qi (__Int8x8_t a, __Int8x8_t b); +__Int16x4_t __builtin_aarch64_smaxpv4hi (__Int16x4_t a, __Int16x4_t b); +__Int32x2_t __builtin_aarch64_smaxpv2si (__Int32x2_t a, __Int32x2_t b); +__Int8x16_t __builtin_aarch64_smaxpv16qi (__Int8x16_t a, __Int8x16_t b); +__Int16x8_t __builtin_aarch64_smaxpv8hi (__Int16x8_t a, __Int16x8_t b); +__Int32x4_t __builtin_aarch64_smaxpv4si (__Int32x4_t a, __Int32x4_t b); +__Float32x4_t __builtin_aarch64_smax_nanpv4sf (__Float32x4_t a, __Float32x4_t b); +__Float64x2_t __builtin_aarch64_smax_nanpv2df (__Float64x2_t a, __Float64x2_t b); +__Float32x2_t __builtin_aarch64_smaxpv2sf (__Float32x2_t a, __Float32x2_t b); +__Float32x4_t __builtin_aarch64_smaxpv4sf (__Float32x4_t a, __Float32x4_t b); +__Float64x2_t __builtin_aarch64_smaxpv2df (__Float64x2_t a, __Float64x2_t b); +__Int8x8_t __builtin_aarch64_sminpv8qi (__Int8x8_t a, __Int8x8_t b); +__Int16x4_t __builtin_aarch64_sminpv4hi (__Int16x4_t a, __Int16x4_t b); +__Int32x2_t __builtin_aarch64_sminpv2si (__Int32x2_t a, __Int32x2_t b); +__Int8x16_t __builtin_aarch64_sminpv16qi (__Int8x16_t a, __Int8x16_t b); +__Int16x8_t __builtin_aarch64_sminpv8hi (__Int16x8_t a, __Int16x8_t b); +__Int32x4_t __builtin_aarch64_sminpv4si (__Int32x4_t a, __Int32x4_t b); +__Float32x2_t __builtin_aarch64_smin_nanpv2sf (__Float32x2_t a, __Float32x2_t b); +__Float32x4_t __builtin_aarch64_smin_nanpv4sf (__Float32x4_t a, __Float32x4_t b); +__Float64x2_t __builtin_aarch64_smin_nanpv2df (__Float64x2_t a, __Float64x2_t b); +__Float32x2_t __builtin_aarch64_sminpv2sf (__Float32x2_t a, __Float32x2_t b); +__Float32x4_t __builtin_aarch64_sminpv4sf (__Float32x4_t a, __Float32x4_t b); +__Float64x2_t __builtin_aarch64_sminpv2df (__Float64x2_t a, __Float64x2_t b); +__Float32x2_t __builtin_aarch64_smaxv2sf (__Float32x2_t __a, __Float32x2_t __b); +__Float32x4_t __builtin_aarch64_smaxv4sf (__Float32x4_t __a, __Float32x4_t __b); +__Float64x2_t __builtin_aarch64_smaxv2df (__Float64x2_t __a, __Float64x2_t __b); +__Float32x2_t __builtin_aarch64_smin_nanv2sf (__Float32x2_t __a, __Float32x2_t __b); +__Int8x8_t __builtin_aarch64_sminv8qi (__Int8x8_t __a, __Int8x8_t __b); +__Int16x4_t __builtin_aarch64_sminv4hi (__Int16x4_t __a, __Int16x4_t __b); +__Int32x2_t __builtin_aarch64_sminv2si (__Int32x2_t __a, __Int32x2_t __b); +__Float32x4_t __builtin_aarch64_smin_nanv4sf (__Float32x4_t __a, __Float32x4_t __b); +__Float64x2_t __builtin_aarch64_smin_nanv2df (__Float64x2_t __a, __Float64x2_t __b); +__Int8x16_t __builtin_aarch64_sminv16qi (__Int8x16_t __a, __Int8x16_t __b); +__Int16x8_t __builtin_aarch64_sminv8hi (__Int16x8_t __a, __Int16x8_t __b); +__Int32x4_t __builtin_aarch64_sminv4si (__Int32x4_t __a, __Int32x4_t __b); +__Float32x2_t __builtin_aarch64_sminv2sf (__Float32x2_t __a, __Float32x2_t __b); +__Float32x4_t __builtin_aarch64_sminv4sf (__Float32x4_t __a, __Float32x4_t __b); +__Float64x2_t __builtin_aarch64_sminv2df (__Float64x2_t __a, __Float64x2_t __b); +__Int8x8_t __builtin_aarch64_addpv8qi (__Int8x8_t __a, __Int8x8_t __b); +__Int16x4_t __builtin_aarch64_addpv4hi (__Int16x4_t __a, __Int16x4_t __b); +__Int32x2_t __builtin_aarch64_addpv2si (__Int32x2_t __a, __Int32x2_t __b); +__Int32x4_t __builtin_aarch64_sqdmlalv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c); +__Int32x4_t __builtin_aarch64_sqdmlal2v8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c); +__Int32x4_t __builtin_aarch64_sqdmlal2_lanev8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x4_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlal2_laneqv8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlal2_nv8hi (__Int32x4_t __a, __Int16x8_t __b, short int __c); +__Int32x4_t __builtin_aarch64_sqdmlal_lanev4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlal_laneqv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x8_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlal_nv4hi (__Int32x4_t __a, __Int16x4_t __b, short int __c); +__Int64x2_t __builtin_aarch64_sqdmlalv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c); +__Int64x2_t __builtin_aarch64_sqdmlal2v4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c); +__Int64x2_t __builtin_aarch64_sqdmlal2_lanev4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x2_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlal2_laneqv4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlal2_nv4si (__Int64x2_t __a, __Int32x4_t __b, int __c); +__Int64x2_t __builtin_aarch64_sqdmlal_lanev2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlal_laneqv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x4_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlal_nv2si (__Int64x2_t __a, __Int32x2_t __b, int __c); +__Int32x4_t __builtin_aarch64_sqdmlslv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c); +__Int32x4_t __builtin_aarch64_sqdmlsl2v8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c); +__Int32x4_t __builtin_aarch64_sqdmlsl2_lanev8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x4_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlsl2_laneqv8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlsl2_nv8hi (__Int32x4_t __a, __Int16x8_t __b, short int __c); +__Int32x4_t __builtin_aarch64_sqdmlsl_lanev4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlsl_laneqv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x8_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlsl_nv4hi (__Int32x4_t __a, __Int16x4_t __b, short int __c); +__Int64x2_t __builtin_aarch64_sqdmlslv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c); +__Int64x2_t __builtin_aarch64_sqdmlsl2v4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c); +__Int64x2_t __builtin_aarch64_sqdmlsl2_lanev4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x2_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlsl2_laneqv4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlsl2_nv4si (__Int64x2_t __a, __Int32x4_t __b, int __c); +__Int64x2_t __builtin_aarch64_sqdmlsl_lanev2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlsl_laneqv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x4_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlsl_nv2si (__Int64x2_t __a, __Int32x2_t __b, int __c); +__Int16x4_t __builtin_aarch64_sqdmulh_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, const int __c); +__Int32x2_t __builtin_aarch64_sqdmulh_lanev2si (__Int32x2_t __a, __Int32x2_t __b, const int __c); +__Int16x8_t __builtin_aarch64_sqdmulh_lanev8hi (__Int16x8_t __a, __Int16x4_t __b, const int __c); +__Int32x4_t __builtin_aarch64_sqdmulh_lanev4si (__Int32x4_t __a, __Int32x2_t __b, const int __c); +__Int32x4_t __builtin_aarch64_sqdmullv4hi (__Int16x4_t __a, __Int16x4_t __b); +__Int32x4_t __builtin_aarch64_sqdmull2v8hi (__Int16x8_t __a, __Int16x8_t __b); +__Int32x4_t __builtin_aarch64_sqdmull2_lanev8hi (__Int16x8_t __a, __Int16x4_t __b, int const __c); +__Int32x4_t __builtin_aarch64_sqdmull2_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, int const __c); +__Int32x4_t __builtin_aarch64_sqdmull2_nv8hi (__Int16x8_t __a, short int __b); +__Int32x4_t __builtin_aarch64_sqdmull_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, int const __c); +__Int32x4_t __builtin_aarch64_sqdmull_laneqv4hi (__Int16x4_t __a, __Int16x8_t __b, int const __c); +__Int32x4_t __builtin_aarch64_sqdmull_nv4hi (__Int16x4_t __a, short int __b); +__Int64x2_t __builtin_aarch64_sqdmullv2si (__Int32x2_t __a, __Int32x2_t __b); +__Int64x2_t __builtin_aarch64_sqdmull2v4si (__Int32x4_t __a, __Int32x4_t __b); +__Int64x2_t __builtin_aarch64_sqdmull2_lanev4si (__Int32x4_t __a, __Int32x2_t __b, int const __c); +__Int64x2_t __builtin_aarch64_sqdmull2_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, int const __c); +__Int64x2_t __builtin_aarch64_sqdmull2_nv4si (__Int32x4_t __a, int __b); +__Int64x2_t __builtin_aarch64_sqdmull_lanev2si (__Int32x2_t __a, __Int32x2_t __b, int const __c); +__Int64x2_t __builtin_aarch64_sqdmull_laneqv2si (__Int32x2_t __a, __Int32x4_t __b, int const __c); +__Int64x2_t __builtin_aarch64_sqdmull_nv2si (__Int32x2_t __a, int __b); +__Int16x4_t __builtin_aarch64_sqrdmulh_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, const int __c); +__Int32x2_t __builtin_aarch64_sqrdmulh_lanev2si (__Int32x2_t __a, __Int32x2_t __b, const int __c); +__Int16x8_t __builtin_aarch64_sqrdmulh_lanev8hi (__Int16x8_t __a, __Int16x4_t __b, const int __c); +__Int32x4_t __builtin_aarch64_sqrdmulh_lanev4si (__Int32x4_t __a, __Int32x2_t __b, const int __c); +__Int8x8_t __builtin_aarch64_sqrshlv8qi (__Int8x8_t __a, __Int8x8_t __b); +__Int16x4_t __builtin_aarch64_sqrshlv4hi (__Int16x4_t __a, __Int16x4_t __b); +__Int32x2_t __builtin_aarch64_sqrshlv2si (__Int32x2_t __a, __Int32x2_t __b); +__Uint8x8_t __builtin_aarch64_uqrshlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); +__Uint16x4_t __builtin_aarch64_uqrshlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); +__Uint32x2_t __builtin_aarch64_uqrshlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); +__Int8x16_t __builtin_aarch64_sqrshlv16qi (__Int8x16_t __a, __Int8x16_t __b); +__Int16x8_t __builtin_aarch64_sqrshlv8hi (__Int16x8_t __a, __Int16x8_t __b); +__Int32x4_t __builtin_aarch64_sqrshlv4si (__Int32x4_t __a, __Int32x4_t __b); +__Int64x2_t __builtin_aarch64_sqrshlv2di (__Int64x2_t __a, __Int64x2_t __b); +__Uint8x16_t __builtin_aarch64_uqrshlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); +__Uint16x8_t __builtin_aarch64_uqrshlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); +__Uint32x4_t __builtin_aarch64_uqrshlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); +__Uint64x2_t __builtin_aarch64_uqrshlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); +__Uint8x8_t __builtin_aarch64_uqrshrn_nv8hi_uus (__Uint16x8_t __a, const int __b); +__Uint16x4_t __builtin_aarch64_uqrshrn_nv4si_uus (__Uint32x4_t __a, const int __b); +__Uint32x2_t __builtin_aarch64_uqrshrn_nv2di_uus (__Uint64x2_t __a, const int __b); +__Int8x8_t __builtin_aarch64_sqshlv8qi (__Int8x8_t __a, __Int8x8_t __b); +__Int16x4_t __builtin_aarch64_sqshlv4hi (__Int16x4_t __a, __Int16x4_t __b); +__Int32x2_t __builtin_aarch64_sqshlv2si (__Int32x2_t __a, __Int32x2_t __b); +__Uint8x8_t __builtin_aarch64_uqshlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); +__Uint16x4_t __builtin_aarch64_uqshlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); +__Uint32x2_t __builtin_aarch64_uqshlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); +__Int8x16_t __builtin_aarch64_sqshlv16qi (__Int8x16_t __a, __Int8x16_t __b); +__Int16x8_t __builtin_aarch64_sqshlv8hi (__Int16x8_t __a, __Int16x8_t __b); +__Int32x4_t __builtin_aarch64_sqshlv4si (__Int32x4_t __a, __Int32x4_t __b); +__Int64x2_t __builtin_aarch64_sqshlv2di (__Int64x2_t __a, __Int64x2_t __b); +__Uint8x16_t __builtin_aarch64_uqshlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); +__Uint16x8_t __builtin_aarch64_uqshlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); +__Uint32x4_t __builtin_aarch64_uqshlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); +__Uint64x2_t __builtin_aarch64_uqshlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); +__Uint8x8_t __builtin_aarch64_uqshl_nv8qi_uus (__Uint8x8_t __a, const int __b); +__Uint16x4_t __builtin_aarch64_uqshl_nv4hi_uus (__Uint16x4_t __a, const int __b); +__Uint32x2_t __builtin_aarch64_uqshl_nv2si_uus (__Uint32x2_t __a, const int __b); +__Uint8x16_t __builtin_aarch64_uqshl_nv16qi_uus (__Uint8x16_t __a, const int __b); +__Uint16x8_t __builtin_aarch64_uqshl_nv8hi_uus (__Uint16x8_t __a, const int __b); +__Uint32x4_t __builtin_aarch64_uqshl_nv4si_uus (__Uint32x4_t __a, const int __b); +__Uint64x2_t __builtin_aarch64_uqshl_nv2di_uus (__Uint64x2_t __a, const int __b); +__Uint8x8_t __builtin_aarch64_sqshlu_nv8qi_uss (__Int8x8_t __a, const int __b); +__Uint16x4_t __builtin_aarch64_sqshlu_nv4hi_uss (__Int16x4_t __a, const int __b); +__Uint32x2_t __builtin_aarch64_sqshlu_nv2si_uss (__Int32x2_t __a, const int __b); +__Uint8x16_t __builtin_aarch64_sqshlu_nv16qi_uss (__Int8x16_t __a, const int __b); +__Uint16x8_t __builtin_aarch64_sqshlu_nv8hi_uss (__Int16x8_t __a, const int __b); +__Uint32x4_t __builtin_aarch64_sqshlu_nv4si_uss (__Int32x4_t __a, const int __b); +__Uint64x2_t __builtin_aarch64_sqshlu_nv2di_uss (__Int64x2_t __a, const int __b); +__Uint8x8_t __builtin_aarch64_uqshrn_nv8hi_uus (__Uint16x8_t __a, const int __b); +__Uint16x4_t __builtin_aarch64_uqshrn_nv4si_uus (__Uint32x4_t __a, const int __b); +__Uint32x2_t __builtin_aarch64_uqshrn_nv2di_uus (__Uint64x2_t __a, const int __b); +__Int8x8_t __builtin_aarch64_rbitv8qi (__Int8x8_t __a); +__Int8x16_t __builtin_aarch64_rbitv16qi (__Int8x16_t __a); +__Float32x2_t __builtin_aarch64_frecpev2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_frecpev4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_frecpev2df (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_frecpsv2sf (__Float32x2_t __a, __Float32x2_t __b); +__Float32x4_t __builtin_aarch64_frecpsv4sf (__Float32x4_t __a, __Float32x4_t __b); +__Float64x2_t __builtin_aarch64_frecpsv2df (__Float64x2_t __a, __Float64x2_t __b); +__Float32x2_t __builtin_aarch64_btruncv2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_btruncv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_btruncv2df (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_roundv2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_roundv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_roundv2df (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_nearbyintv2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_nearbyintv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_nearbyintv2df (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_floorv2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_floorv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_floorv2df (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_frintnv2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_frintnv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_frintnv2df (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_ceilv2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_ceilv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_ceilv2df (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_rintv2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_rintv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_rintv2df (__Float64x2_t __a); +__Uint8x8_t __builtin_aarch64_urshlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); +__Uint16x4_t __builtin_aarch64_urshlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); +__Uint32x2_t __builtin_aarch64_urshlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); +__Uint8x16_t __builtin_aarch64_urshlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); +__Uint16x8_t __builtin_aarch64_urshlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); +__Uint32x4_t __builtin_aarch64_urshlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); +__Uint64x2_t __builtin_aarch64_urshlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); +__Uint8x8_t __builtin_aarch64_urshr_nv8qi_uus (__Uint8x8_t __a, const int __b); +__Uint16x4_t __builtin_aarch64_urshr_nv4hi_uus (__Uint16x4_t __a, const int __b); +__Uint32x2_t __builtin_aarch64_urshr_nv2si_uus (__Uint32x2_t __a, const int __b); +__Uint8x16_t __builtin_aarch64_urshr_nv16qi_uus (__Uint8x16_t __a, const int __b); +__Uint16x8_t __builtin_aarch64_urshr_nv8hi_uus (__Uint16x8_t __a, const int __b); +__Uint32x4_t __builtin_aarch64_urshr_nv4si_uus (__Uint32x4_t __a, const int __b); +__Uint64x2_t __builtin_aarch64_urshr_nv2di_uus (__Uint64x2_t __a, const int __b); +__Uint8x8_t __builtin_aarch64_ursra_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); +__Uint16x4_t __builtin_aarch64_ursra_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); +__Uint32x2_t __builtin_aarch64_ursra_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); +__Uint8x16_t __builtin_aarch64_ursra_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); +__Uint16x8_t __builtin_aarch64_ursra_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); +__Uint32x4_t __builtin_aarch64_ursra_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); +__Uint64x2_t __builtin_aarch64_ursra_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); +__Uint32x4_t __builtin_aarch64_crypto_sha1cv4si_uuuu (__Uint32x4_t hash_abcd, unsigned int hash_e, __Uint32x4_t wk); +__Uint32x4_t __builtin_aarch64_crypto_sha1mv4si_uuuu (__Uint32x4_t hash_abcd, unsigned int hash_e, __Uint32x4_t wk); +__Uint32x4_t __builtin_aarch64_crypto_sha1pv4si_uuuu (__Uint32x4_t hash_abcd, unsigned int hash_e, __Uint32x4_t wk); +__Uint32x4_t __builtin_aarch64_crypto_sha1su0v4si_uuuu (__Uint32x4_t w0_3, __Uint32x4_t w4_7, __Uint32x4_t w8_11); +__Uint32x4_t __builtin_aarch64_crypto_sha1su1v4si_uuu (__Uint32x4_t tw0_3, __Uint32x4_t w12_15); +__Uint32x4_t __builtin_aarch64_crypto_sha256hv4si_uuuu (__Uint32x4_t hash_abcd, __Uint32x4_t hash_efgh, __Uint32x4_t wk); +__Uint32x4_t __builtin_aarch64_crypto_sha256h2v4si_uuuu (__Uint32x4_t hash_efgh, __Uint32x4_t hash_abcd, __Uint32x4_t wk); +__Uint32x4_t __builtin_aarch64_crypto_sha256su0v4si_uuu (__Uint32x4_t w0_3, __Uint32x4_t w4_7); +__Uint32x4_t __builtin_aarch64_crypto_sha256su1v4si_uuuu (__Uint32x4_t tw0_3, __Uint32x4_t w8_11, __Uint32x4_t w12_15); +__Poly128_t __builtin_aarch64_crypto_pmullv2di_ppp (__Poly64x2_t a, __Poly64x2_t b); +__Int8x8_t __builtin_aarch64_sshlv8qi (__Int8x8_t __a, __Int8x8_t __b); +__Int16x4_t __builtin_aarch64_sshlv4hi (__Int16x4_t __a, __Int16x4_t __b); +__Int32x2_t __builtin_aarch64_sshlv2si (__Int32x2_t __a, __Int32x2_t __b); +__Uint8x8_t __builtin_aarch64_ushlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); +__Uint16x4_t __builtin_aarch64_ushlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); +__Uint32x2_t __builtin_aarch64_ushlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); +__Int8x16_t __builtin_aarch64_sshlv16qi (__Int8x16_t __a, __Int8x16_t __b); +__Int16x8_t __builtin_aarch64_sshlv8hi (__Int16x8_t __a, __Int16x8_t __b); +__Int32x4_t __builtin_aarch64_sshlv4si (__Int32x4_t __a, __Int32x4_t __b); +__Int64x2_t __builtin_aarch64_sshlv2di (__Int64x2_t __a, __Int64x2_t __b); +__Uint8x16_t __builtin_aarch64_ushlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); +__Uint16x8_t __builtin_aarch64_ushlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); +__Uint32x4_t __builtin_aarch64_ushlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); +__Uint64x2_t __builtin_aarch64_ushlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); +__Int16x8_t __builtin_aarch64_sshll2_nv16qi (__Int8x16_t __a, const int __b); +__Int32x4_t __builtin_aarch64_sshll2_nv8hi (__Int16x8_t __a, const int __b); +__Int64x2_t __builtin_aarch64_sshll2_nv4si (__Int32x4_t __a, const int __b); +__Int16x8_t __builtin_aarch64_sshll_nv8qi (__Int8x8_t __a, const int __b); +__Int32x4_t __builtin_aarch64_sshll_nv4hi (__Int16x4_t __a, const int __b); +__Int64x2_t __builtin_aarch64_sshll_nv2si (__Int32x2_t __a, const int __b); +__Uint16x8_t __builtin_aarch64_ushll_nv8qi_uus (__Uint8x8_t __a, const int __b); +__Uint32x4_t __builtin_aarch64_ushll_nv4hi_uus (__Uint16x4_t __a, const int __b); +__Uint64x2_t __builtin_aarch64_ushll_nv2si_uus (__Uint32x2_t __a, const int __b); +__Int32x4_t __builtin_aarch64_lshrv4si (__Int32x4_t __a, const int __b); +__Int64x2_t __builtin_aarch64_lshrv2di (__Int64x2_t __a, const int __b); +__Uint8x8_t __builtin_aarch64_usli_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); +__Uint16x4_t __builtin_aarch64_usli_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); +__Uint32x2_t __builtin_aarch64_usli_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); +__Uint8x16_t __builtin_aarch64_usli_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); +__Uint16x8_t __builtin_aarch64_usli_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); +__Uint32x4_t __builtin_aarch64_usli_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); +__Uint64x2_t __builtin_aarch64_usli_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); +__Uint8x8_t __builtin_aarch64_usqaddv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); +__Uint16x4_t __builtin_aarch64_usqaddv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); +__Uint32x2_t __builtin_aarch64_usqaddv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); +__Uint8x16_t __builtin_aarch64_usqaddv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); +__Uint16x8_t __builtin_aarch64_usqaddv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); +__Uint32x4_t __builtin_aarch64_usqaddv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); +__Uint64x2_t __builtin_aarch64_usqaddv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); +__Float32x2_t __builtin_aarch64_sqrtv2sf (__Float32x2_t a); +__Float32x4_t __builtin_aarch64_sqrtv4sf (__Float32x4_t a); +__Float64x2_t __builtin_aarch64_sqrtv2df (__Float64x2_t a); +__Uint8x8_t __builtin_aarch64_usra_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); +__Uint16x4_t __builtin_aarch64_usra_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); +__Uint32x2_t __builtin_aarch64_usra_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); +__Uint8x16_t __builtin_aarch64_usra_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); +__Uint16x8_t __builtin_aarch64_usra_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); +__Uint32x4_t __builtin_aarch64_usra_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); +__Uint64x2_t __builtin_aarch64_usra_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); +__Uint8x8_t __builtin_aarch64_usri_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); +__Uint16x4_t __builtin_aarch64_usri_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); +__Uint32x2_t __builtin_aarch64_usri_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); +__Uint8x16_t __builtin_aarch64_usri_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); +__Uint16x8_t __builtin_aarch64_usri_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); +__Uint32x4_t __builtin_aarch64_usri_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); +__Uint64x2_t __builtin_aarch64_usri_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); +__Int8x8_t __builtin_aarch64_suqaddv8qi_ssu (__Int8x8_t __a, __Uint8x8_t __b); +__Int16x4_t __builtin_aarch64_suqaddv4hi_ssu (__Int16x4_t __a, __Uint16x4_t __b); +__Int32x2_t __builtin_aarch64_suqaddv2si_ssu (__Int32x2_t __a, __Uint32x2_t __b); +__Int8x16_t __builtin_aarch64_suqaddv16qi_ssu (__Int8x16_t __a, __Uint8x16_t __b); +__Int16x8_t __builtin_aarch64_suqaddv8hi_ssu (__Int16x8_t __a, __Uint16x8_t __b); +__Int32x4_t __builtin_aarch64_suqaddv4si_ssu (__Int32x4_t __a, __Uint32x4_t __b); +__Int64x2_t __builtin_aarch64_suqaddv2di_ssu (__Int64x2_t __a, __Uint64x2_t __b); +__Poly128_t __builtin_aarch64_crypto_pmulldi_ppp (__Poly64_t a, __Poly64_t b); +__Int8x8_t __builtin_aarch64_tbx4v8qi (__Int8x8_t, __builtin_aarch64_simd_oi, __Int8x8_t); +//end CMPCPP-6477 +void __builtin_aarch64_st2_lanev4hf(__fp16*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev2sf(float*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanedf(double*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev8qi(signed char*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev4hi(short int*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanedi(long int*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev2si(int*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st3_lanev4hf(__fp16*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev2sf(float*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanedf(double*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev8qi(signed char*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev4hi(short int*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanedi(long int*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev2si(int*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st4_lanev4hf(__fp16*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev2sf(float*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanedf(double*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev8qi(signed char*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev4hi(short int*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanedi(long int*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev2si(int*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4hf(const __fp16*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2sf(const float*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanedf(const double*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8qi(const signed char*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4hi(const short int*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanedi(const long int*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2si(const int*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4hf(const __fp16*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2sf(const float*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanedf(const double*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8qi(const signed char*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4hi(const short int*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanedi(const long int*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2si(const int*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4hf(const __fp16*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2sf(const float*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanedf(const double*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8qi(const signed char*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4hi(const short int*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanedi(const long int*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2si(const int*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev16qi(const signed char*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2df(const double*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2di(const long int*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4sf(const float*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4si(const int*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8hf(const __fp16*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8hi(const short int*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev16qi(const signed char*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2df(const double*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2di(const long int*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4sf(const float*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4si(const int*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8hf(const __fp16*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8hi(const short int*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev16qi(const signed char*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2df(const double*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2di(const long int*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4sf(const float*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4si(const int*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8hf(const __fp16*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8hi(const short int*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st2_lanev16qi(signed char*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev2df(double*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev2di(long int*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev4sf(float*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev4si(int*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev8hf(__fp16*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev8hi(short int*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st3_lanev16qi(signed char*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev2df(double*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev2di(long int*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev4sf(float*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev4si(int*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev8hf(__fp16*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev8hi(short int*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st4_lanev16qi(signed char*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev2df(double*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev2di(long int*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev4sf(float*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev4si(int*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev8hf(__fp16*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev8hi(short int*, __builtin_aarch64_simd_xi, int); +__fp16 __builtin_aarch64_abshf(__fp16); +__Float16x4_t __builtin_aarch64_absv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_absv8hf(__Float16x8_t); +long int __builtin_aarch64_addpdi(__Int64x2_t); +long int __builtin_aarch64_ashldi(long int, signed char); +long int __builtin_aarch64_ashr_simddi(long int, int); +__Int8x16_t __builtin_aarch64_bcaxqv16qi(__Int8x16_t, __Int8x16_t, __Int8x16_t); +__Uint8x16_t __builtin_aarch64_bcaxqv16qi_uuuu(__Uint8x16_t, __Uint8x16_t, __Uint8x16_t); +__Int64x2_t __builtin_aarch64_bcaxqv2di(__Int64x2_t, __Int64x2_t, __Int64x2_t); +__Uint64x2_t __builtin_aarch64_bcaxqv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); +__Int32x4_t __builtin_aarch64_bcaxqv4si(__Int32x4_t, __Int32x4_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_bcaxqv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); +__Int16x8_t __builtin_aarch64_bcaxqv8hi(__Int16x8_t, __Int16x8_t, __Int16x8_t); +__Uint16x8_t __builtin_aarch64_bcaxqv8hi_uuuu(__Uint16x8_t, __Uint16x8_t, __Uint16x8_t); +__fp16 __builtin_aarch64_btrunchf(__fp16); +__Float16x4_t __builtin_aarch64_btruncv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_btruncv8hf(__Float16x8_t); +__fp16 __builtin_aarch64_ceilhf(__fp16); +__Float16x4_t __builtin_aarch64_ceilv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_ceilv8hf(__Float16x8_t); +short unsigned int __builtin_aarch64_cmeqhf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_cmeqv4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_cmeqv8hf_uss(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_cmgehf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_cmgev4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_cmgev8hf_uss(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_cmgthf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_cmgtv4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_cmgtv8hf_uss(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_cmlehf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_cmlev4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_cmlev8hf_uss(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_cmlthf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_cmltv4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_cmltv8hf_uss(__Float16x8_t, __Float16x8_t); +__Poly64x2_t __builtin_aarch64_combinedi_ppp(__Poly64_t, __Poly64_t); +unsigned int __builtin_aarch64_crc32b(unsigned int, unsigned char); +unsigned int __builtin_aarch64_crc32cb(unsigned int, unsigned char); +unsigned int __builtin_aarch64_crc32ch(unsigned int, short unsigned int); +unsigned int __builtin_aarch64_crc32cw(unsigned int, unsigned int); +unsigned int __builtin_aarch64_crc32cx(unsigned int, long unsigned int); +unsigned int __builtin_aarch64_crc32h(unsigned int, short unsigned int); +unsigned int __builtin_aarch64_crc32w(unsigned int, unsigned int); +unsigned int __builtin_aarch64_crc32x(unsigned int, long unsigned int); +unsigned int __builtin_aarch64_crypto_sha1hsi_uu(unsigned int); +__Uint64x2_t __builtin_aarch64_crypto_sha512h2qv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); +__Uint64x2_t __builtin_aarch64_crypto_sha512hqv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); +__Uint64x2_t __builtin_aarch64_crypto_sha512su0qv2di_uuu(__Uint64x2_t, __Uint64x2_t); +__Uint64x2_t __builtin_aarch64_crypto_sha512su1qv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); +__Int8x16_t __builtin_aarch64_eor3qv16qi(__Int8x16_t, __Int8x16_t, __Int8x16_t); +__Uint8x16_t __builtin_aarch64_eor3qv16qi_uuuu(__Uint8x16_t, __Uint8x16_t, __Uint8x16_t); +__Int64x2_t __builtin_aarch64_eor3qv2di(__Int64x2_t, __Int64x2_t, __Int64x2_t); +__Uint64x2_t __builtin_aarch64_eor3qv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); +__Int32x4_t __builtin_aarch64_eor3qv4si(__Int32x4_t, __Int32x4_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_eor3qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); +__Int16x8_t __builtin_aarch64_eor3qv8hi(__Int16x8_t, __Int16x8_t, __Int16x8_t); +__Uint16x8_t __builtin_aarch64_eor3qv8hi_uuuu(__Uint16x8_t, __Uint16x8_t, __Uint16x8_t); +double __builtin_aarch64_fabddf(double, double); +__fp16 __builtin_aarch64_fabdhf(__fp16, __fp16); +float __builtin_aarch64_fabdsf(float, float); +__Float64x2_t __builtin_aarch64_fabdv2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fabdv2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fabdv4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fabdv4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fabdv8hf(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_facgehf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_facgev4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_facgev8hf_uss(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_facgthf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_facgtv4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_facgtv8hf_uss(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_faclehf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_faclev4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_faclev8hf_uss(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_faclthf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_facltv4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_facltv8hf_uss(__Float16x8_t, __Float16x8_t); +__Float64x2_t __builtin_aarch64_faddpv2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_faddpv2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_faddpv4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_faddpv4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_faddpv8hf(__Float16x8_t, __Float16x8_t); +__Float64x2_t __builtin_aarch64_fcadd270v2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fcadd270v2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fcadd270v4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fcadd270v4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fcadd270v8hf(__Float16x8_t, __Float16x8_t); +__Float64x2_t __builtin_aarch64_fcadd90v2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fcadd90v2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fcadd90v4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fcadd90v4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fcadd90v8hf(__Float16x8_t, __Float16x8_t); +__Float64x2_t __builtin_aarch64_fcmla0v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fcmla0v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fcmla0v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fcmla0v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fcmla0v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); +__Float64x2_t __builtin_aarch64_fcmla180v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fcmla180v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fcmla180v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fcmla180v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fcmla180v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); +__Float64x2_t __builtin_aarch64_fcmla270v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fcmla270v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fcmla270v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fcmla270v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fcmla270v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); +__Float64x2_t __builtin_aarch64_fcmla90v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fcmla90v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fcmla90v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fcmla90v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fcmla90v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); +__Float32x2_t __builtin_aarch64_fcmla_lane0v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); +__Float16x4_t __builtin_aarch64_fcmla_lane0v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fcmla_lane0v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); +__Float16x8_t __builtin_aarch64_fcmla_lane0v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fcmla_lane180v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); +__Float16x4_t __builtin_aarch64_fcmla_lane180v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fcmla_lane180v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); +__Float16x8_t __builtin_aarch64_fcmla_lane180v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fcmla_lane270v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); +__Float16x4_t __builtin_aarch64_fcmla_lane270v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fcmla_lane270v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); +__Float16x8_t __builtin_aarch64_fcmla_lane270v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fcmla_lane90v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); +__Float16x4_t __builtin_aarch64_fcmla_lane90v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fcmla_lane90v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); +__Float16x8_t __builtin_aarch64_fcmla_lane90v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fcmla_laneq0v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); +__Float16x4_t __builtin_aarch64_fcmla_laneq0v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); +__Float32x2_t __builtin_aarch64_fcmla_laneq180v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); +__Float16x4_t __builtin_aarch64_fcmla_laneq180v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); +__Float32x2_t __builtin_aarch64_fcmla_laneq270v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); +__Float16x4_t __builtin_aarch64_fcmla_laneq270v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); +__Float32x2_t __builtin_aarch64_fcmla_laneq90v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); +__Float16x4_t __builtin_aarch64_fcmla_laneq90v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); +__Float32x4_t __builtin_aarch64_fcmlaq_lane0v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); +__Float16x8_t __builtin_aarch64_fcmlaq_lane0v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fcmlaq_lane180v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); +__Float16x8_t __builtin_aarch64_fcmlaq_lane180v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fcmlaq_lane270v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); +__Float16x8_t __builtin_aarch64_fcmlaq_lane270v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fcmlaq_lane90v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); +__Float16x8_t __builtin_aarch64_fcmlaq_lane90v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); +long int __builtin_aarch64_fcvtzsdf(double, int); +short int __builtin_aarch64_fcvtzshf(__fp16, int); +long int __builtin_aarch64_fcvtzshfdi(__fp16, int); +int __builtin_aarch64_fcvtzshfsi(__fp16, int); +int __builtin_aarch64_fcvtzssf(float, int); +__Int64x2_t __builtin_aarch64_fcvtzsv2df(__Float64x2_t, int); +__Int32x2_t __builtin_aarch64_fcvtzsv2sf(__Float32x2_t, int); +__Int16x4_t __builtin_aarch64_fcvtzsv4hf(__Float16x4_t, int); +__Int32x4_t __builtin_aarch64_fcvtzsv4sf(__Float32x4_t, int); +__Int16x8_t __builtin_aarch64_fcvtzsv8hf(__Float16x8_t, int); +long unsigned int __builtin_aarch64_fcvtzudf_uss(double, int); +long unsigned int __builtin_aarch64_fcvtzuhfdi_uss(__fp16, int); +unsigned int __builtin_aarch64_fcvtzuhfsi_uss(__fp16, int); +short unsigned int __builtin_aarch64_fcvtzuhf_uss(__fp16, int); +unsigned int __builtin_aarch64_fcvtzusf_uss(float, int); +__Uint64x2_t __builtin_aarch64_fcvtzuv2df_uss(__Float64x2_t, int); +__Uint32x2_t __builtin_aarch64_fcvtzuv2sf_uss(__Float32x2_t, int); +__Uint16x4_t __builtin_aarch64_fcvtzuv4hf_uss(__Float16x4_t, int); +__Uint32x4_t __builtin_aarch64_fcvtzuv4sf_uss(__Float32x4_t, int); +__Uint16x8_t __builtin_aarch64_fcvtzuv8hf_uss(__Float16x8_t, int); +long int __builtin_aarch64_fix_trunchfdi(__fp16); +short int __builtin_aarch64_fix_trunchfhi(__fp16); +int __builtin_aarch64_fix_trunchfsi(__fp16); +long unsigned int __builtin_aarch64_fixuns_trunchfdi_us(__fp16); +short unsigned int __builtin_aarch64_fixuns_trunchfhi_us(__fp16); +unsigned int __builtin_aarch64_fixuns_trunchfsi_us(__fp16); +__fp16 __builtin_aarch64_floatdihf(long int); +__fp16 __builtin_aarch64_floathihf(short int); +__fp16 __builtin_aarch64_floatsihf(int); +__fp16 __builtin_aarch64_floatunsdihf_us(long int); +__fp16 __builtin_aarch64_floatunshihf_us(short int); +__fp16 __builtin_aarch64_floatunssihf_us(int); +__Float16x4_t __builtin_aarch64_floatunsv4hiv4hf(__Int16x4_t); +__Float16x8_t __builtin_aarch64_floatunsv8hiv8hf(__Int16x8_t); +__Float16x4_t __builtin_aarch64_floatv4hiv4hf(__Int16x4_t); +__Float16x8_t __builtin_aarch64_floatv8hiv8hf(__Int16x8_t); +__fp16 __builtin_aarch64_floorhf(__fp16); +__Float16x4_t __builtin_aarch64_floorv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_floorv8hf(__Float16x8_t); +__fp16 __builtin_aarch64_fmahf(__fp16, __fp16, __fp16); +__Float16x4_t __builtin_aarch64_fmav4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_fmav8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); +double __builtin_aarch64_fmaxdf(double, double); +__fp16 __builtin_aarch64_fmaxhf(__fp16, __fp16); +__Float64x2_t __builtin_aarch64_fmaxv2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fmaxv2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fmaxv4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fmaxv4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fmaxv8hf(__Float16x8_t, __Float16x8_t); +double __builtin_aarch64_fmindf(double, double); +__fp16 __builtin_aarch64_fminhf(__fp16, __fp16); +__Float64x2_t __builtin_aarch64_fminv2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fminv2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fminv4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fminv4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fminv8hf(__Float16x8_t, __Float16x8_t); +__Float32x2_t __builtin_aarch64_fmlal_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); +__Float32x2_t __builtin_aarch64_fmlal_lane_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); +__Float32x2_t __builtin_aarch64_fmlal_lane_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); +__Float32x2_t __builtin_aarch64_fmlal_laneq_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fmlal_laneq_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fmlal_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fmlalq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); +__Float32x4_t __builtin_aarch64_fmlalq_lane_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fmlalq_lane_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fmlalq_laneq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); +__Float32x4_t __builtin_aarch64_fmlalq_laneq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); +__Float32x4_t __builtin_aarch64_fmlalq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); +__Float32x2_t __builtin_aarch64_fmlsl_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); +__Float32x2_t __builtin_aarch64_fmlsl_lane_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); +__Float32x2_t __builtin_aarch64_fmlsl_lane_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); +__Float32x2_t __builtin_aarch64_fmlsl_laneq_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fmlsl_laneq_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fmlsl_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fmlslq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); +__Float32x4_t __builtin_aarch64_fmlslq_lane_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fmlslq_lane_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fmlslq_laneq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); +__Float32x4_t __builtin_aarch64_fmlslq_laneq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); +__Float32x4_t __builtin_aarch64_fmlslq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); +double __builtin_aarch64_fmulxdf(double, double); +__fp16 __builtin_aarch64_fmulxhf(__fp16, __fp16); +float __builtin_aarch64_fmulxsf(float, float); +__Float64x2_t __builtin_aarch64_fmulxv2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fmulxv2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fmulxv4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fmulxv4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fmulxv8hf(__Float16x8_t, __Float16x8_t); +__fp16 __builtin_aarch64_fnmahf(__fp16, __fp16, __fp16); +__Float16x4_t __builtin_aarch64_fnmav4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_fnmav8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); +double __builtin_aarch64_frecpedf(double); +__fp16 __builtin_aarch64_frecpehf(__fp16); +float __builtin_aarch64_frecpesf(float); +__Float16x4_t __builtin_aarch64_frecpev4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_frecpev8hf(__Float16x8_t); +double __builtin_aarch64_frecpsdf(double, double); +__fp16 __builtin_aarch64_frecpshf(__fp16, __fp16); +float __builtin_aarch64_frecpssf(float, float); +__Float16x4_t __builtin_aarch64_frecpsv4hf(__Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_frecpsv8hf(__Float16x8_t, __Float16x8_t); +double __builtin_aarch64_frecpxdf(double); +__fp16 __builtin_aarch64_frecpxhf(__fp16); +float __builtin_aarch64_frecpxsf(float); +double __builtin_aarch64_frintndf(double); +__fp16 __builtin_aarch64_frintnhf(__fp16); +__Float16x4_t __builtin_aarch64_frintnv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_frintnv8hf(__Float16x8_t); +__Poly64_t __builtin_aarch64_get_dregcidi_pss(__builtin_aarch64_simd_ci, int); +__Poly64_t __builtin_aarch64_get_dregoidi_pss(__builtin_aarch64_simd_oi, int); +__Poly64_t __builtin_aarch64_get_dregxidi_pss(__builtin_aarch64_simd_xi, int); +__Poly64x2_t __builtin_aarch64_get_qregciv2di_pss(__builtin_aarch64_simd_ci, int); +__Poly64x2_t __builtin_aarch64_get_qregoiv2di_pss(__builtin_aarch64_simd_oi, int); +__Poly64x2_t __builtin_aarch64_get_qregxiv2di_pss(__builtin_aarch64_simd_xi, int); +__Uint16x4_t __builtin_aarch64_lbtruncuv4hfv4hi_us(__Float16x4_t); +__Uint16x8_t __builtin_aarch64_lbtruncuv8hfv8hi_us(__Float16x8_t); +__Int16x4_t __builtin_aarch64_lbtruncv4hfv4hi(__Float16x4_t); +__Int16x8_t __builtin_aarch64_lbtruncv8hfv8hi(__Float16x8_t); +long int __builtin_aarch64_lceilhfdi(__fp16); +short int __builtin_aarch64_lceilhfhi(__fp16); +int __builtin_aarch64_lceilhfsi(__fp16); +long unsigned int __builtin_aarch64_lceiludfdi_us(double); +long unsigned int __builtin_aarch64_lceiluhfdi_us(__fp16); +short unsigned int __builtin_aarch64_lceiluhfhi_us(__fp16); +unsigned int __builtin_aarch64_lceiluhfsi_us(__fp16); +unsigned int __builtin_aarch64_lceilusfsi_us(float); +__Uint16x4_t __builtin_aarch64_lceiluv4hfv4hi_us(__Float16x4_t); +__Uint16x8_t __builtin_aarch64_lceiluv8hfv8hi_us(__Float16x8_t); +__Int16x4_t __builtin_aarch64_lceilv4hfv4hi(__Float16x4_t); +__Int16x8_t __builtin_aarch64_lceilv8hfv8hi(__Float16x8_t); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2df(const double*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2di(const long int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v16qi(const signed char*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2df(const double*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2di(const long int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2sf(const float*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2si(const int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4hf(const __fp16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4hi(const short int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4sf(const float*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4si(const int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8hf(const __fp16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8hi(const short int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8qi(const signed char*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3df(const double*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3di(const long int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v16qi(const signed char*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2df(const double*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2di(const long int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2sf(const float*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2si(const int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4hf(const __fp16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4hi(const short int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4sf(const float*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4si(const int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8hf(const __fp16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8hi(const short int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8qi(const signed char*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2df(const double*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2di(const long int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rdf(const double*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rdi(const long int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv16qi(const signed char*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2df(const double*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2di(const long int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2sf(const float*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2si(const int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4hf(const __fp16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4hi(const short int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4sf(const float*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4si(const int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8hf(const __fp16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8hi(const short int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8qi(const signed char*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v16qi(const signed char*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2df(const double*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2di(const long int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2sf(const float*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2si(const int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4hf(const __fp16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4hi(const short int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4sf(const float*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4si(const int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8hf(const __fp16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8hi(const short int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8qi(const signed char*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3df(const double*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rdf(const double*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rdi(const long int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv16qi(const signed char*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2df(const double*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2di(const long int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2sf(const float*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2si(const int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4hf(const __fp16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4hi(const short int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4sf(const float*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4si(const int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8hf(const __fp16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8hi(const short int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8qi(const signed char*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v16qi(const signed char*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2df(const double*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2di(const long int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2sf(const float*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2si(const int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4hf(const __fp16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4hi(const short int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4sf(const float*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4si(const int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8hf(const __fp16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8hi(const short int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8qi(const signed char*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4df(const double*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4di(const long int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rdf(const double*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rdi(const long int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv16qi(const signed char*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2df(const double*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2di(const long int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2sf(const float*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2si(const int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4hf(const __fp16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4hi(const short int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4sf(const float*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4si(const int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8hf(const __fp16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8hi(const short int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8qi(const signed char*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v16qi(const signed char*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2df(const double*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2di(const long int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2sf(const float*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2si(const int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4hf(const __fp16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4hi(const short int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4sf(const float*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4si(const int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8hf(const __fp16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8hi(const short int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8qi(const signed char*); +long int __builtin_aarch64_lfloorhfdi(__fp16); +short int __builtin_aarch64_lfloorhfhi(__fp16); +int __builtin_aarch64_lfloorhfsi(__fp16); +long unsigned int __builtin_aarch64_lfloorudfdi_us(double); +long unsigned int __builtin_aarch64_lflooruhfdi_us(__fp16); +short unsigned int __builtin_aarch64_lflooruhfhi_us(__fp16); +unsigned int __builtin_aarch64_lflooruhfsi_us(__fp16); +unsigned int __builtin_aarch64_lfloorusfsi_us(float); +__Uint16x4_t __builtin_aarch64_lflooruv4hfv4hi_us(__Float16x4_t); +__Uint16x8_t __builtin_aarch64_lflooruv8hfv8hi_us(__Float16x8_t); +__Int16x4_t __builtin_aarch64_lfloorv4hfv4hi(__Float16x4_t); +__Int16x8_t __builtin_aarch64_lfloorv8hfv8hi(__Float16x8_t); +long int __builtin_aarch64_lfrintndfdi(double); +long int __builtin_aarch64_lfrintnhfdi(__fp16); +short int __builtin_aarch64_lfrintnhfhi(__fp16); +int __builtin_aarch64_lfrintnhfsi(__fp16); +int __builtin_aarch64_lfrintnsfsi(float); +long unsigned int __builtin_aarch64_lfrintnudfdi_us(double); +long unsigned int __builtin_aarch64_lfrintnuhfdi_us(__fp16); +short unsigned int __builtin_aarch64_lfrintnuhfhi_us(__fp16); +unsigned int __builtin_aarch64_lfrintnuhfsi_us(__fp16); +unsigned int __builtin_aarch64_lfrintnusfsi_us(float); +__Uint16x4_t __builtin_aarch64_lfrintnuv4hfv4hi_us(__Float16x4_t); +__Uint16x8_t __builtin_aarch64_lfrintnuv8hfv8hi_us(__Float16x8_t); +__Int16x4_t __builtin_aarch64_lfrintnv4hfv4hi(__Float16x4_t); +__Int16x8_t __builtin_aarch64_lfrintnv8hfv8hi(__Float16x8_t); +long int __builtin_aarch64_lrounddfdi(double); +long int __builtin_aarch64_lroundhfdi(__fp16); +short int __builtin_aarch64_lroundhfhi(__fp16); +int __builtin_aarch64_lroundhfsi(__fp16); +int __builtin_aarch64_lroundsfsi(float); +long unsigned int __builtin_aarch64_lroundudfdi_us(double); +long unsigned int __builtin_aarch64_lrounduhfdi_us(__fp16); +short unsigned int __builtin_aarch64_lrounduhfhi_us(__fp16); +unsigned int __builtin_aarch64_lrounduhfsi_us(__fp16); +unsigned int __builtin_aarch64_lroundusfsi_us(float); +__Uint16x4_t __builtin_aarch64_lrounduv4hfv4hi_us(__Float16x4_t); +__Uint16x8_t __builtin_aarch64_lrounduv8hfv8hi_us(__Float16x8_t); +__Int16x4_t __builtin_aarch64_lroundv4hfv4hi(__Float16x4_t); +__Int16x8_t __builtin_aarch64_lroundv8hfv8hi(__Float16x8_t); +long unsigned int __builtin_aarch64_lshr_simddi_uus(long unsigned int, int); +__fp16 __builtin_aarch64_nearbyinthf(__fp16); +__Float16x4_t __builtin_aarch64_nearbyintv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_nearbyintv8hf(__Float16x8_t); +__fp16 __builtin_aarch64_neghf(__fp16); +__Int8x16_t __builtin_aarch64_qtbl3v16qi(__builtin_aarch64_simd_ci, __Int8x16_t); +__Int8x8_t __builtin_aarch64_qtbl3v8qi(__builtin_aarch64_simd_ci, __Int8x8_t); +__Int8x16_t __builtin_aarch64_qtbl4v16qi(__builtin_aarch64_simd_xi, __Int8x16_t); +__Int8x8_t __builtin_aarch64_qtbl4v8qi(__builtin_aarch64_simd_xi, __Int8x8_t); +__Int8x16_t __builtin_aarch64_qtbx3v16qi(__Int8x16_t, __builtin_aarch64_simd_ci, __Int8x16_t); +__Int8x8_t __builtin_aarch64_qtbx3v8qi(__Int8x8_t, __builtin_aarch64_simd_ci, __Int8x8_t); +__Int8x16_t __builtin_aarch64_qtbx4v16qi(__Int8x16_t, __builtin_aarch64_simd_xi, __Int8x16_t); +__Int8x8_t __builtin_aarch64_qtbx4v8qi(__Int8x8_t, __builtin_aarch64_simd_xi, __Int8x8_t); +__Uint64x2_t __builtin_aarch64_rax1qv2di_uuu(__Uint64x2_t, __Uint64x2_t); +signed char __builtin_aarch64_reduc_plus_scal_v16qi(__Int8x16_t); +double __builtin_aarch64_reduc_plus_scal_v2df(__Float64x2_t); +long int __builtin_aarch64_reduc_plus_scal_v2di(__Int64x2_t); +float __builtin_aarch64_reduc_plus_scal_v2sf(__Float32x2_t); +int __builtin_aarch64_reduc_plus_scal_v2si(__Int32x2_t); +short int __builtin_aarch64_reduc_plus_scal_v4hi(__Int16x4_t); +float __builtin_aarch64_reduc_plus_scal_v4sf(__Float32x4_t); +int __builtin_aarch64_reduc_plus_scal_v4si(__Int32x4_t); +short int __builtin_aarch64_reduc_plus_scal_v8hi(__Int16x8_t); +signed char __builtin_aarch64_reduc_plus_scal_v8qi(__Int8x8_t); +double __builtin_aarch64_reduc_smax_nan_scal_v2df(__Float64x2_t); +float __builtin_aarch64_reduc_smax_nan_scal_v2sf(__Float32x2_t); +__fp16 __builtin_aarch64_reduc_smax_nan_scal_v4hf(__Float16x4_t); +float __builtin_aarch64_reduc_smax_nan_scal_v4sf(__Float32x4_t); +__fp16 __builtin_aarch64_reduc_smax_nan_scal_v8hf(__Float16x8_t); +signed char __builtin_aarch64_reduc_smax_scal_v16qi(__Int8x16_t); +double __builtin_aarch64_reduc_smax_scal_v2df(__Float64x2_t); +float __builtin_aarch64_reduc_smax_scal_v2sf(__Float32x2_t); +int __builtin_aarch64_reduc_smax_scal_v2si(__Int32x2_t); +__fp16 __builtin_aarch64_reduc_smax_scal_v4hf(__Float16x4_t); +short int __builtin_aarch64_reduc_smax_scal_v4hi(__Int16x4_t); +float __builtin_aarch64_reduc_smax_scal_v4sf(__Float32x4_t); +int __builtin_aarch64_reduc_smax_scal_v4si(__Int32x4_t); +__fp16 __builtin_aarch64_reduc_smax_scal_v8hf(__Float16x8_t); +short int __builtin_aarch64_reduc_smax_scal_v8hi(__Int16x8_t); +signed char __builtin_aarch64_reduc_smax_scal_v8qi(__Int8x8_t); +double __builtin_aarch64_reduc_smin_nan_scal_v2df(__Float64x2_t); +float __builtin_aarch64_reduc_smin_nan_scal_v2sf(__Float32x2_t); +__fp16 __builtin_aarch64_reduc_smin_nan_scal_v4hf(__Float16x4_t); +float __builtin_aarch64_reduc_smin_nan_scal_v4sf(__Float32x4_t); +__fp16 __builtin_aarch64_reduc_smin_nan_scal_v8hf(__Float16x8_t); +signed char __builtin_aarch64_reduc_smin_scal_v16qi(__Int8x16_t); +double __builtin_aarch64_reduc_smin_scal_v2df(__Float64x2_t); +float __builtin_aarch64_reduc_smin_scal_v2sf(__Float32x2_t); +int __builtin_aarch64_reduc_smin_scal_v2si(__Int32x2_t); +__fp16 __builtin_aarch64_reduc_smin_scal_v4hf(__Float16x4_t); +short int __builtin_aarch64_reduc_smin_scal_v4hi(__Int16x4_t); +float __builtin_aarch64_reduc_smin_scal_v4sf(__Float32x4_t); +int __builtin_aarch64_reduc_smin_scal_v4si(__Int32x4_t); +__fp16 __builtin_aarch64_reduc_smin_scal_v8hf(__Float16x8_t); +short int __builtin_aarch64_reduc_smin_scal_v8hi(__Int16x8_t); +signed char __builtin_aarch64_reduc_smin_scal_v8qi(__Int8x8_t); +unsigned char __builtin_aarch64_reduc_umax_scal_v16qi_uu(__Uint8x16_t); +unsigned int __builtin_aarch64_reduc_umax_scal_v2si_uu(__Uint32x2_t); +short unsigned int __builtin_aarch64_reduc_umax_scal_v4hi_uu(__Uint16x4_t); +unsigned int __builtin_aarch64_reduc_umax_scal_v4si_uu(__Uint32x4_t); +short unsigned int __builtin_aarch64_reduc_umax_scal_v8hi_uu(__Uint16x8_t); +unsigned char __builtin_aarch64_reduc_umax_scal_v8qi_uu(__Uint8x8_t); +unsigned char __builtin_aarch64_reduc_umin_scal_v16qi_uu(__Uint8x16_t); +unsigned int __builtin_aarch64_reduc_umin_scal_v2si_uu(__Uint32x2_t); +short unsigned int __builtin_aarch64_reduc_umin_scal_v4hi_uu(__Uint16x4_t); +unsigned int __builtin_aarch64_reduc_umin_scal_v4si_uu(__Uint32x4_t); +short unsigned int __builtin_aarch64_reduc_umin_scal_v8hi_uu(__Uint16x8_t); +unsigned char __builtin_aarch64_reduc_umin_scal_v8qi_uu(__Uint8x8_t); +__fp16 __builtin_aarch64_rinthf(__fp16); +__Float16x4_t __builtin_aarch64_rintv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_rintv8hf(__Float16x8_t); +__fp16 __builtin_aarch64_roundhf(__fp16); +__Float16x4_t __builtin_aarch64_roundv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_roundv8hf(__Float16x8_t); +double __builtin_aarch64_rsqrtedf(double); +__fp16 __builtin_aarch64_rsqrtehf(__fp16); +float __builtin_aarch64_rsqrtesf(float); +__Float64x2_t __builtin_aarch64_rsqrtev2df(__Float64x2_t); +__Float32x2_t __builtin_aarch64_rsqrtev2sf(__Float32x2_t); +__Float16x4_t __builtin_aarch64_rsqrtev4hf(__Float16x4_t); +__Float32x4_t __builtin_aarch64_rsqrtev4sf(__Float32x4_t); +__Float16x8_t __builtin_aarch64_rsqrtev8hf(__Float16x8_t); +double __builtin_aarch64_rsqrtsdf(double, double); +__fp16 __builtin_aarch64_rsqrtshf(__fp16, __fp16); +float __builtin_aarch64_rsqrtssf(float, float); +__Float64x2_t __builtin_aarch64_rsqrtsv2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_rsqrtsv2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_rsqrtsv4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_rsqrtsv4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_rsqrtsv8hf(__Float16x8_t, __Float16x8_t); +double __builtin_aarch64_scvtfdi(long int, int); +__fp16 __builtin_aarch64_scvtfdihf(long int, int); +__fp16 __builtin_aarch64_scvtfhi(short int, int); +float __builtin_aarch64_scvtfsi(int, int); +__fp16 __builtin_aarch64_scvtfsihf(int, int); +__Float64x2_t __builtin_aarch64_scvtfv2di(__Int64x2_t, int); +__Float32x2_t __builtin_aarch64_scvtfv2si(__Int32x2_t, int); +__Float16x4_t __builtin_aarch64_scvtfv4hi(__Int16x4_t, int); +__Float32x4_t __builtin_aarch64_scvtfv4si(__Int32x4_t, int); +__Float16x8_t __builtin_aarch64_scvtfv8hi(__Int16x8_t, int); +__Int32x4_t __builtin_aarch64_sdot_laneqv16qi(__Int32x4_t, __Int8x16_t, __Int8x16_t, int); +__Int32x2_t __builtin_aarch64_sdot_laneqv8qi(__Int32x2_t, __Int8x8_t, __Int8x16_t, int); +__Int32x4_t __builtin_aarch64_sdot_lanev16qi(__Int32x4_t, __Int8x16_t, __Int8x8_t, int); +__Int32x2_t __builtin_aarch64_sdot_lanev8qi(__Int32x2_t, __Int8x8_t, __Int8x8_t, int); +__Int32x4_t __builtin_aarch64_sdotv16qi(__Int32x4_t, __Int8x16_t, __Int8x16_t); +__Int32x2_t __builtin_aarch64_sdotv8qi(__Int32x2_t, __Int8x8_t, __Int8x8_t); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv2di_ssps(__builtin_aarch64_simd_ci, __Poly64x2_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv2di_ssps(__builtin_aarch64_simd_oi, __Poly64x2_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv2di_ssps(__builtin_aarch64_simd_xi, __Poly64x2_t, int); +double __builtin_aarch64_simd_bsldf_suss(long unsigned int, double, double); +__Poly64_t __builtin_aarch64_simd_bsldi_pupp(long unsigned int, __Poly64_t, __Poly64_t); +long int __builtin_aarch64_simd_bsldi_suss(long unsigned int, long int, long int); +long unsigned int __builtin_aarch64_simd_bsldi_uuuu(long unsigned int, long unsigned int, long unsigned int); +__Poly64x2_t __builtin_aarch64_simd_bslv2di_pupp(__Uint64x2_t, __Poly64x2_t, __Poly64x2_t); +__Float16x4_t __builtin_aarch64_simd_bslv4hf_suss(__Uint16x4_t, __Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_simd_bslv8hf_suss(__Uint16x8_t, __Float16x8_t, __Float16x8_t); +__Uint32x4_t __builtin_aarch64_sm3partw1qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); +__Uint32x4_t __builtin_aarch64_sm3partw2qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); +__Uint32x4_t __builtin_aarch64_sm3ss1qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); +__Uint32x4_t __builtin_aarch64_sm3tt1aqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); +__Uint32x4_t __builtin_aarch64_sm3tt1bqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); +__Uint32x4_t __builtin_aarch64_sm3tt2aqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); +__Uint32x4_t __builtin_aarch64_sm3tt2bqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); +__Uint32x4_t __builtin_aarch64_sm4ekeyqv4si_uuu(__Uint32x4_t, __Uint32x4_t); +__Uint32x4_t __builtin_aarch64_sm4eqv4si_uuu(__Uint32x4_t, __Uint32x4_t); +double __builtin_aarch64_smax_nandf(double, double); +__Float16x4_t __builtin_aarch64_smax_nanpv4hf(__Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_smax_nanpv8hf(__Float16x8_t, __Float16x8_t); +__Float16x4_t __builtin_aarch64_smax_nanv4hf(__Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_smax_nanv8hf(__Float16x8_t, __Float16x8_t); +__Float16x4_t __builtin_aarch64_smaxpv4hf(__Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_smaxpv8hf(__Float16x8_t, __Float16x8_t); +double __builtin_aarch64_smin_nandf(double, double); +__Float16x4_t __builtin_aarch64_smin_nanpv4hf(__Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_smin_nanpv8hf(__Float16x8_t, __Float16x8_t); +__Float16x4_t __builtin_aarch64_smin_nanv4hf(__Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_smin_nanv8hf(__Float16x8_t, __Float16x8_t); +__Float16x4_t __builtin_aarch64_sminpv4hf(__Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_sminpv8hf(__Float16x8_t, __Float16x8_t); +long int __builtin_aarch64_sqabsdi(long int); +short int __builtin_aarch64_sqabshi(short int); +signed char __builtin_aarch64_sqabsqi(signed char); +int __builtin_aarch64_sqabssi(int); +long int __builtin_aarch64_sqadddi(long int, long int); +short int __builtin_aarch64_sqaddhi(short int, short int); +signed char __builtin_aarch64_sqaddqi(signed char, signed char); +int __builtin_aarch64_sqaddsi(int, int); +int __builtin_aarch64_sqdmlalhi(int, short int, short int); +int __builtin_aarch64_sqdmlal_lanehi(int, short int, __Int16x4_t, int); +int __builtin_aarch64_sqdmlal_laneqhi(int, short int, __Int16x8_t, int); +long int __builtin_aarch64_sqdmlal_laneqsi(long int, int, __Int32x4_t, int); +long int __builtin_aarch64_sqdmlal_lanesi(long int, int, __Int32x2_t, int); +long int __builtin_aarch64_sqdmlalsi(long int, int, int); +int __builtin_aarch64_sqdmlslhi(int, short int, short int); +int __builtin_aarch64_sqdmlsl_lanehi(int, short int, __Int16x4_t, int); +int __builtin_aarch64_sqdmlsl_laneqhi(int, short int, __Int16x8_t, int); +long int __builtin_aarch64_sqdmlsl_laneqsi(long int, int, __Int32x4_t, int); +long int __builtin_aarch64_sqdmlsl_lanesi(long int, int, __Int32x2_t, int); +long int __builtin_aarch64_sqdmlslsi(long int, int, int); +short int __builtin_aarch64_sqdmulhhi(short int, short int); +short int __builtin_aarch64_sqdmulh_lanehi(short int, __Int16x4_t, int); +short int __builtin_aarch64_sqdmulh_laneqhi(short int, __Int16x8_t, int); +int __builtin_aarch64_sqdmulh_laneqsi(int, __Int32x4_t, int); +int __builtin_aarch64_sqdmulh_lanesi(int, __Int32x2_t, int); +int __builtin_aarch64_sqdmulhsi(int, int); +int __builtin_aarch64_sqdmullhi(short int, short int); +int __builtin_aarch64_sqdmull_lanehi(short int, __Int16x4_t, int); +int __builtin_aarch64_sqdmull_laneqhi(short int, __Int16x8_t, int); +long int __builtin_aarch64_sqdmull_laneqsi(int, __Int32x4_t, int); +long int __builtin_aarch64_sqdmull_lanesi(int, __Int32x2_t, int); +long int __builtin_aarch64_sqdmullsi(int, int); +int __builtin_aarch64_sqmovndi(long int); +signed char __builtin_aarch64_sqmovnhi(short int); +short int __builtin_aarch64_sqmovnsi(int); +int __builtin_aarch64_sqmovundi(long int); +signed char __builtin_aarch64_sqmovunhi(short int); +short int __builtin_aarch64_sqmovunsi(int); +long int __builtin_aarch64_sqnegdi(long int); +short int __builtin_aarch64_sqneghi(short int); +signed char __builtin_aarch64_sqnegqi(signed char); +int __builtin_aarch64_sqnegsi(int); +short int __builtin_aarch64_sqrdmlahhi(short int, short int, short int); +short int __builtin_aarch64_sqrdmlah_lanehi(short int, short int, __Int16x4_t, int); +short int __builtin_aarch64_sqrdmlah_laneqhi(short int, short int, __Int16x8_t, int); +int __builtin_aarch64_sqrdmlah_laneqsi(int, int, __Int32x4_t, int); +int __builtin_aarch64_sqrdmlah_lanesi(int, int, __Int32x2_t, int); +int __builtin_aarch64_sqrdmlahsi(int, int, int); +short int __builtin_aarch64_sqrdmlshhi(short int, short int, short int); +short int __builtin_aarch64_sqrdmlsh_lanehi(short int, short int, __Int16x4_t, int); +short int __builtin_aarch64_sqrdmlsh_laneqhi(short int, short int, __Int16x8_t, int); +int __builtin_aarch64_sqrdmlsh_laneqsi(int, int, __Int32x4_t, int); +int __builtin_aarch64_sqrdmlsh_lanesi(int, int, __Int32x2_t, int); +int __builtin_aarch64_sqrdmlshsi(int, int, int); +short int __builtin_aarch64_sqrdmulhhi(short int, short int); +short int __builtin_aarch64_sqrdmulh_lanehi(short int, __Int16x4_t, int); +short int __builtin_aarch64_sqrdmulh_laneqhi(short int, __Int16x8_t, int); +int __builtin_aarch64_sqrdmulh_laneqsi(int, __Int32x4_t, int); +int __builtin_aarch64_sqrdmulh_lanesi(int, __Int32x2_t, int); +int __builtin_aarch64_sqrdmulhsi(int, int); +long int __builtin_aarch64_sqrshldi(long int, long int); +short int __builtin_aarch64_sqrshlhi(short int, short int); +signed char __builtin_aarch64_sqrshlqi(signed char, signed char); +int __builtin_aarch64_sqrshlsi(int, int); +int __builtin_aarch64_sqrshrn_ndi(long int, int); +signed char __builtin_aarch64_sqrshrn_nhi(short int, int); +short int __builtin_aarch64_sqrshrn_nsi(int, int); +int __builtin_aarch64_sqrshrun_ndi(long int, int); +signed char __builtin_aarch64_sqrshrun_nhi(short int, int); +short int __builtin_aarch64_sqrshrun_nsi(int, int); +double __builtin_aarch64_sqrtdf(double); +__fp16 __builtin_aarch64_sqrthf(__fp16); +__Float16x4_t __builtin_aarch64_sqrtv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_sqrtv8hf(__Float16x8_t); +long int __builtin_aarch64_sqshldi(long int, long int); +short int __builtin_aarch64_sqshlhi(short int, short int); +long int __builtin_aarch64_sqshl_ndi(long int, int); +short int __builtin_aarch64_sqshl_nhi(short int, int); +signed char __builtin_aarch64_sqshl_nqi(signed char, int); +int __builtin_aarch64_sqshl_nsi(int, int); +signed char __builtin_aarch64_sqshlqi(signed char, signed char); +int __builtin_aarch64_sqshlsi(int, int); +long unsigned int __builtin_aarch64_sqshlu_ndi_uss(long int, int); +short unsigned int __builtin_aarch64_sqshlu_nhi_uss(short int, int); +unsigned char __builtin_aarch64_sqshlu_nqi_uss(signed char, int); +unsigned int __builtin_aarch64_sqshlu_nsi_uss(int, int); +int __builtin_aarch64_sqshrn_ndi(long int, int); +signed char __builtin_aarch64_sqshrn_nhi(short int, int); +short int __builtin_aarch64_sqshrn_nsi(int, int); +int __builtin_aarch64_sqshrun_ndi(long int, int); +signed char __builtin_aarch64_sqshrun_nhi(short int, int); +short int __builtin_aarch64_sqshrun_nsi(int, int); +long int __builtin_aarch64_sqsubdi(long int, long int); +short int __builtin_aarch64_sqsubhi(short int, short int); +signed char __builtin_aarch64_sqsubqi(signed char, signed char); +int __builtin_aarch64_sqsubsi(int, int); +long int __builtin_aarch64_srshldi(long int, long int); +long int __builtin_aarch64_srshr_ndi(long int, int); +long int __builtin_aarch64_srsra_ndi(long int, long int, int); +long int __builtin_aarch64_sshldi(long int, long int); +long int __builtin_aarch64_ssli_ndi(long int, long int, int); +__Poly64_t __builtin_aarch64_ssli_ndi_ppps(__Poly64_t, __Poly64_t, int); +__Poly64x2_t __builtin_aarch64_ssli_nv2di_ppps(__Poly64x2_t, __Poly64x2_t, int); +long int __builtin_aarch64_ssra_ndi(long int, long int, int); +long int __builtin_aarch64_ssri_ndi(long int, long int, int); +void __builtin_aarch64_st1v16qi(signed char*, __Int8x16_t); +void __builtin_aarch64_st1v2df(double*, __Float64x2_t); +void __builtin_aarch64_st1v2di(long int*, __Int64x2_t); +void __builtin_aarch64_st1v2di_sp(long int*, __Poly64x2_t); +void __builtin_aarch64_st1v2sf(float*, __Float32x2_t); +void __builtin_aarch64_st1v2si(int*, __Int32x2_t); +void __builtin_aarch64_st1v4hf(__fp16*, __Float16x4_t); +void __builtin_aarch64_st1v4hi(short int*, __Int16x4_t); +void __builtin_aarch64_st1v4sf(float*, __Float32x4_t); +void __builtin_aarch64_st1v4si(int*, __Int32x4_t); +void __builtin_aarch64_st1v8hf(__fp16*, __Float16x8_t); +void __builtin_aarch64_st1v8hi(short int*, __Int16x8_t); +void __builtin_aarch64_st1v8qi(signed char*, __Int8x8_t); +void __builtin_aarch64_st1x2df(double*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2di(long int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v16qi(signed char*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v2df(double*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v2di(long int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v2sf(float*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v2si(int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v4hf(__fp16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v4hi(short int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v4sf(float*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v4si(int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v8hf(__fp16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v8hi(short int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v8qi(signed char*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x3df(double*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3di(long int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v16qi(signed char*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v2df(double*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v2di(long int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v2sf(float*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v2si(int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v4hf(__fp16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v4hi(short int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v4sf(float*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v4si(int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v8hf(__fp16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v8hi(short int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v8qi(signed char*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st2df(double*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2di(long int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v16qi(signed char*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v2df(double*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v2di(long int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v2sf(float*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v2si(int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v4hf(__fp16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v4hi(short int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v4sf(float*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v4si(int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v8hf(__fp16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v8hi(short int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v8qi(signed char*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st3df(double*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3di(long int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v16qi(signed char*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v2df(double*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v2di(long int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v2sf(float*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v2si(int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v4hf(__fp16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v4hi(short int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v4sf(float*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v4si(int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v8hf(__fp16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v8hi(short int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v8qi(signed char*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st4df(double*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4di(long int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v16qi(signed char*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v2df(double*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v2di(long int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v2sf(float*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v2si(int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v4hf(__fp16*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v4hi(short int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v4sf(float*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v4si(int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v8hf(__fp16*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v8hi(short int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v8qi(signed char*, __builtin_aarch64_simd_xi); +long int __builtin_aarch64_suqadddi_ssu(long int, long unsigned int); +short int __builtin_aarch64_suqaddhi_ssu(short int, short unsigned int); +signed char __builtin_aarch64_suqaddqi_ssu(signed char, unsigned char); +int __builtin_aarch64_suqaddsi_ssu(int, unsigned int); +__Int8x16_t __builtin_aarch64_tbl3v16qi(__builtin_aarch64_simd_oi, __Int8x16_t); +__Int8x16_t __builtin_aarch64_tbx4v16qi(__Int8x16_t, __builtin_aarch64_simd_oi, __Int8x16_t); +__fp16 __builtin_aarch64_ucvtfdihf_sus(long unsigned int, int); +double __builtin_aarch64_ucvtfdi_sus(long unsigned int, int); +__fp16 __builtin_aarch64_ucvtfhi_sus(short unsigned int, int); +__fp16 __builtin_aarch64_ucvtfsihf_sus(unsigned int, int); +float __builtin_aarch64_ucvtfsi_sus(unsigned int, int); +__Float64x2_t __builtin_aarch64_ucvtfv2di_sus(__Uint64x2_t, int); +__Float32x2_t __builtin_aarch64_ucvtfv2si_sus(__Uint32x2_t, int); +__Float16x4_t __builtin_aarch64_ucvtfv4hi_sus(__Uint16x4_t, int); +__Float32x4_t __builtin_aarch64_ucvtfv4si_sus(__Uint32x4_t, int); +__Float16x8_t __builtin_aarch64_ucvtfv8hi_sus(__Uint16x8_t, int); +__Uint32x4_t __builtin_aarch64_udot_laneqv16qi_uuuus(__Uint32x4_t, __Uint8x16_t, __Uint8x16_t, int); +__Uint32x2_t __builtin_aarch64_udot_laneqv8qi_uuuus(__Uint32x2_t, __Uint8x8_t, __Uint8x16_t, int); +__Uint32x4_t __builtin_aarch64_udot_lanev16qi_uuuus(__Uint32x4_t, __Uint8x16_t, __Uint8x8_t, int); +__Uint32x2_t __builtin_aarch64_udot_lanev8qi_uuuus(__Uint32x2_t, __Uint8x8_t, __Uint8x8_t, int); +__Uint32x4_t __builtin_aarch64_udotv16qi_uuuu(__Uint32x4_t, __Uint8x16_t, __Uint8x16_t); +__Uint32x2_t __builtin_aarch64_udotv8qi_uuuu(__Uint32x2_t, __Uint8x8_t, __Uint8x8_t); +long unsigned int __builtin_aarch64_uqadddi_uuu(long unsigned int, long unsigned int); +short unsigned int __builtin_aarch64_uqaddhi_uuu(short unsigned int, short unsigned int); +unsigned char __builtin_aarch64_uqaddqi_uuu(unsigned char, unsigned char); +unsigned int __builtin_aarch64_uqaddsi_uuu(unsigned int, unsigned int); +int __builtin_aarch64_uqmovndi(long int); +signed char __builtin_aarch64_uqmovnhi(short int); +short int __builtin_aarch64_uqmovnsi(int); +long unsigned int __builtin_aarch64_uqrshldi_uus(long unsigned int, long int); +short unsigned int __builtin_aarch64_uqrshlhi_uus(short unsigned int, short int); +unsigned char __builtin_aarch64_uqrshlqi_uus(unsigned char, signed char); +unsigned int __builtin_aarch64_uqrshlsi_uus(unsigned int, int); +unsigned int __builtin_aarch64_uqrshrn_ndi_uus(long unsigned int, int); +unsigned char __builtin_aarch64_uqrshrn_nhi_uus(short unsigned int, int); +short unsigned int __builtin_aarch64_uqrshrn_nsi_uus(unsigned int, int); +long unsigned int __builtin_aarch64_uqshldi_uus(long unsigned int, long int); +short unsigned int __builtin_aarch64_uqshlhi_uus(short unsigned int, short int); +long unsigned int __builtin_aarch64_uqshl_ndi_uus(long unsigned int, int); +short unsigned int __builtin_aarch64_uqshl_nhi_uus(short unsigned int, int); +unsigned char __builtin_aarch64_uqshl_nqi_uus(unsigned char, int); +unsigned int __builtin_aarch64_uqshl_nsi_uus(unsigned int, int); +unsigned char __builtin_aarch64_uqshlqi_uus(unsigned char, signed char); +unsigned int __builtin_aarch64_uqshlsi_uus(unsigned int, int); +unsigned int __builtin_aarch64_uqshrn_ndi_uus(long unsigned int, int); +unsigned char __builtin_aarch64_uqshrn_nhi_uus(short unsigned int, int); +short unsigned int __builtin_aarch64_uqshrn_nsi_uus(unsigned int, int); +long unsigned int __builtin_aarch64_uqsubdi_uuu(long unsigned int, long unsigned int); +short unsigned int __builtin_aarch64_uqsubhi_uuu(short unsigned int, short unsigned int); +unsigned char __builtin_aarch64_uqsubqi_uuu(unsigned char, unsigned char); +unsigned int __builtin_aarch64_uqsubsi_uuu(unsigned int, unsigned int); +long unsigned int __builtin_aarch64_urshldi_uus(long unsigned int, long int); +long unsigned int __builtin_aarch64_urshr_ndi_uus(long unsigned int, int); +long unsigned int __builtin_aarch64_ursra_ndi_uuus(long unsigned int, long unsigned int, int); +long unsigned int __builtin_aarch64_ushldi_uus(long unsigned int, long int); +long unsigned int __builtin_aarch64_usli_ndi_uuus(long unsigned int, long unsigned int, int); +long unsigned int __builtin_aarch64_usqadddi_uus(long unsigned int, long int); +short unsigned int __builtin_aarch64_usqaddhi_uus(short unsigned int, short int); +unsigned char __builtin_aarch64_usqaddqi_uus(unsigned char, signed char); +unsigned int __builtin_aarch64_usqaddsi_uus(unsigned int, int); +long unsigned int __builtin_aarch64_usra_ndi_uuus(long unsigned int, long unsigned int, int); +long unsigned int __builtin_aarch64_usri_ndi_uuus(long unsigned int, long unsigned int, int); +__Uint64x2_t __builtin_aarch64_xarqv2di_uuus(__Uint64x2_t, __Uint64x2_t, int); + +void* __builtin_aarch64_autia1716(void*, long unsigned int); +void* __builtin_aarch64_autib1716(void*, long unsigned int); +__bf16 __builtin_aarch64_bfcvtbf(float); +__Bfloat16x8_t __builtin_aarch64_bfcvtn2v8bf(__Bfloat16x8_t, __Float32x4_t); +__Bfloat16x8_t __builtin_aarch64_bfcvtn_qv8bf(__Float32x4_t); +__Bfloat16x4_t __builtin_aarch64_bfcvtnv4bf(__Float32x4_t); +__Float32x2_t __builtin_aarch64_bfdot_laneqv2sf(__Float32x2_t, __Bfloat16x4_t, __Bfloat16x8_t, int); +__Float32x4_t __builtin_aarch64_bfdot_laneqv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t, int); +__Float32x2_t __builtin_aarch64_bfdot_lanev2sf(__Float32x2_t, __Bfloat16x4_t, __Bfloat16x4_t, int); +__Float32x4_t __builtin_aarch64_bfdot_lanev4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x4_t, int); +__Float32x2_t __builtin_aarch64_bfdotv2sf(__Float32x2_t, __Bfloat16x4_t, __Bfloat16x4_t); +__Float32x4_t __builtin_aarch64_bfdotv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); +__Float32x4_t __builtin_aarch64_bfmlalb_lane_qv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t, int); +__Float32x4_t __builtin_aarch64_bfmlalb_lanev4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x4_t, int); +__Float32x4_t __builtin_aarch64_bfmlalbv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); +__Float32x4_t __builtin_aarch64_bfmlalt_lane_qv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t, int); +__Float32x4_t __builtin_aarch64_bfmlalt_lanev4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x4_t, int); +__Float32x4_t __builtin_aarch64_bfmlaltv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); +__Float32x4_t __builtin_aarch64_bfmmlaqv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); +__Uint64x2_t __builtin_aarch64_bswapv2di_uu(__Uint64x2_t); +__Uint32x2_t __builtin_aarch64_bswapv2si_uu(__Uint32x2_t); +__Uint16x4_t __builtin_aarch64_bswapv4hi_uu(__Uint16x4_t); +__Uint32x4_t __builtin_aarch64_bswapv4si_uu(__Uint32x4_t); +__Uint16x8_t __builtin_aarch64_bswapv8hi_uu(__Uint16x8_t); +long unsigned int __builtin_aarch64_cmeqdf_uss(double, double); +unsigned int __builtin_aarch64_cmeqsf_uss(float, float); +__Uint64x2_t __builtin_aarch64_cmeqv2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_cmeqv2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_cmeqv4sf_uss(__Float32x4_t, __Float32x4_t); +long unsigned int __builtin_aarch64_cmgedf_uss(double, double); +unsigned int __builtin_aarch64_cmgesf_uss(float, float); +__Uint64x2_t __builtin_aarch64_cmgev2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_cmgev2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_cmgev4sf_uss(__Float32x4_t, __Float32x4_t); +long unsigned int __builtin_aarch64_cmgtdf_uss(double, double); +unsigned int __builtin_aarch64_cmgtsf_uss(float, float); +__Uint64x2_t __builtin_aarch64_cmgtv2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_cmgtv2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_cmgtv4sf_uss(__Float32x4_t, __Float32x4_t); +long unsigned int __builtin_aarch64_cmledf_uss(double, double); +unsigned int __builtin_aarch64_cmlesf_uss(float, float); +__Uint64x2_t __builtin_aarch64_cmlev2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_cmlev2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_cmlev4sf_uss(__Float32x4_t, __Float32x4_t); +long unsigned int __builtin_aarch64_cmltdf_uss(double, double); +unsigned int __builtin_aarch64_cmltsf_uss(float, float); +__Uint64x2_t __builtin_aarch64_cmltv2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_cmltv2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_cmltv4sf_uss(__Float32x4_t, __Float32x4_t); +__Bfloat16x8_t __builtin_aarch64_combinev4bf(__Bfloat16x4_t, __Bfloat16x4_t); +__Int32x2_t __builtin_aarch64_ctzv2si(__Int32x2_t); +__Int32x4_t __builtin_aarch64_ctzv4si(__Int32x4_t); +long unsigned int __builtin_aarch64_facgedf_uss(double, double); +unsigned int __builtin_aarch64_facgesf_uss(float, float); +__Uint64x2_t __builtin_aarch64_facgev2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_facgev2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_facgev4sf_uss(__Float32x4_t, __Float32x4_t); +long unsigned int __builtin_aarch64_facgtdf_uss(double, double); +unsigned int __builtin_aarch64_facgtsf_uss(float, float); +__Uint64x2_t __builtin_aarch64_facgtv2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_facgtv2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_facgtv4sf_uss(__Float32x4_t, __Float32x4_t); +long unsigned int __builtin_aarch64_facledf_uss(double, double); +unsigned int __builtin_aarch64_faclesf_uss(float, float); +__Uint64x2_t __builtin_aarch64_faclev2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_faclev2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_faclev4sf_uss(__Float32x4_t, __Float32x4_t); +long unsigned int __builtin_aarch64_facltdf_uss(double, double); +unsigned int __builtin_aarch64_facltsf_uss(float, float); +__Uint64x2_t __builtin_aarch64_facltv2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_facltv2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_facltv4sf_uss(__Float32x4_t, __Float32x4_t); +__Float64x2_t __builtin_aarch64_fcmla_lane0v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); +__Float64x2_t __builtin_aarch64_fcmla_lane180v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); +__Float64x2_t __builtin_aarch64_fcmla_lane270v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); +__Float64x2_t __builtin_aarch64_fcmla_lane90v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); +long int __builtin_aarch64_fix_truncdfdi(double); +int __builtin_aarch64_fix_truncdfsi(double); +long int __builtin_aarch64_fix_truncsfdi(float); +int __builtin_aarch64_fix_truncsfsi(float); +long unsigned int __builtin_aarch64_fixuns_truncdfdi_us(double); +unsigned int __builtin_aarch64_fixuns_truncdfsi_us(double); +long unsigned int __builtin_aarch64_fixuns_truncsfdi_us(float); +unsigned int __builtin_aarch64_fixuns_truncsfsi_us(float); +float __builtin_aarch64_fmaxsf(float, float); +float __builtin_aarch64_fminsf(float, float); +__Float64x2_t __builtin_aarch64_fnmav2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fnmav2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); +__Float32x4_t __builtin_aarch64_fnmav4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); +double __builtin_aarch64_frint32xdf(double); +float __builtin_aarch64_frint32xsf(float); +__Float64x2_t __builtin_aarch64_frint32xv2df(__Float64x2_t); +__Float32x2_t __builtin_aarch64_frint32xv2sf(__Float32x2_t); +__Float32x4_t __builtin_aarch64_frint32xv4sf(__Float32x4_t); +double __builtin_aarch64_frint32zdf(double); +float __builtin_aarch64_frint32zsf(float); +__Float64x2_t __builtin_aarch64_frint32zv2df(__Float64x2_t); +__Float32x2_t __builtin_aarch64_frint32zv2sf(__Float32x2_t); +__Float32x4_t __builtin_aarch64_frint32zv4sf(__Float32x4_t); +double __builtin_aarch64_frint64xdf(double); +float __builtin_aarch64_frint64xsf(float); +__Float64x2_t __builtin_aarch64_frint64xv2df(__Float64x2_t); +__Float32x2_t __builtin_aarch64_frint64xv2sf(__Float32x2_t); +__Float32x4_t __builtin_aarch64_frint64xv4sf(__Float32x4_t); +double __builtin_aarch64_frint64zdf(double); +float __builtin_aarch64_frint64zsf(float); +__Float64x2_t __builtin_aarch64_frint64zv2df(__Float64x2_t); +__Float32x2_t __builtin_aarch64_frint64zv2sf(__Float32x2_t); +__Float32x4_t __builtin_aarch64_frint64zv4sf(__Float32x4_t); +__Bfloat16x4_t __builtin_aarch64_get_dregciv4bf(__builtin_aarch64_simd_ci, int); +__Bfloat16x4_t __builtin_aarch64_get_dregoiv4bf(__builtin_aarch64_simd_oi, int); +__Bfloat16x4_t __builtin_aarch64_get_dregxiv4bf(__builtin_aarch64_simd_xi, int); +__Bfloat16x8_t __builtin_aarch64_get_qregciv8bf(__builtin_aarch64_simd_ci, int); +__Bfloat16x8_t __builtin_aarch64_get_qregoiv8bf(__builtin_aarch64_simd_oi, int); +__Bfloat16x8_t __builtin_aarch64_get_qregxiv8bf(__builtin_aarch64_simd_xi, int); +__Int64x2_t __builtin_aarch64_intrinsic_vec_smult_lo_v2si(__Int32x2_t, __Int32x2_t); +__Int32x4_t __builtin_aarch64_intrinsic_vec_smult_lo_v4hi(__Int16x4_t, __Int16x4_t); +__Int16x8_t __builtin_aarch64_intrinsic_vec_smult_lo_v8qi(__Int8x8_t, __Int8x8_t); +__Uint64x2_t __builtin_aarch64_intrinsic_vec_umult_lo_v2si_uuu(__Uint32x2_t, __Uint32x2_t); +__Uint32x4_t __builtin_aarch64_intrinsic_vec_umult_lo_v4hi_uuu(__Uint16x4_t, __Uint16x4_t); +__Uint16x8_t __builtin_aarch64_intrinsic_vec_umult_lo_v8qi_uuu(__Uint8x8_t, __Uint8x8_t); +int __builtin_aarch64_jcvtzs(double); +void __builtin_aarch64_ld1v2di_sp(long int*, __Poly64_t); +__Bfloat16x4_t __builtin_aarch64_ld1v4bf(const __bf16*); +__Bfloat16x8_t __builtin_aarch64_ld1v8bf(const __bf16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4bf(const __bf16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8bf(const __bf16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4bf(const __bf16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8bf(const __bf16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4df(const double*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4di(const long int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v16qi(const signed char*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2df(const double*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2di(const long int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2sf(const float*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2si(const int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4bf(const __bf16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4hf(const __fp16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4hi(const short int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4sf(const float*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4si(const int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8bf(const __bf16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8hf(const __fp16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8hi(const short int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8qi(const signed char*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4bf(const __bf16*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8bf(const __bf16*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4bf(const __bf16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8bf(const __bf16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4bf(const __bf16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8bf(const __bf16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4bf(const __bf16*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8bf(const __bf16*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4bf(const __bf16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8bf(const __bf16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4bf(const __bf16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8bf(const __bf16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4bf(const __bf16*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8bf(const __bf16*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4bf(const __bf16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8bf(const __bf16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4bf(const __bf16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8bf(const __bf16*); +double __builtin_aarch64_negdf(double); +float __builtin_aarch64_negsf(float); +__Float64x2_t __builtin_aarch64_negv2df(__Float64x2_t); +__Float32x2_t __builtin_aarch64_negv2sf(__Float32x2_t); +__Float16x4_t __builtin_aarch64_negv4hf(__Float16x4_t); +__Float32x4_t __builtin_aarch64_negv4sf(__Float32x4_t); +__Float16x8_t __builtin_aarch64_negv8hf(__Float16x8_t); +void* __builtin_aarch64_pacia1716(void*, long unsigned int); +void* __builtin_aarch64_pacib1716(void*, long unsigned int); +int __builtin_aarch64_rndr(long unsigned int*); +int __builtin_aarch64_rndrrs(long unsigned int*); +double __builtin_aarch64_rsqrt_df(double); +float __builtin_aarch64_rsqrt_sf(float); +__Float64x2_t __builtin_aarch64_rsqrt_v2df(__Float64x2_t); +__Float32x2_t __builtin_aarch64_rsqrt_v2sf(__Float32x2_t); +__Float32x4_t __builtin_aarch64_rsqrt_v4sf(__Float32x4_t); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv8bf(__builtin_aarch64_simd_ci, __Bfloat16x8_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv8bf(__builtin_aarch64_simd_oi, __Bfloat16x8_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv8bf(__builtin_aarch64_simd_xi, __Bfloat16x8_t, int); +__Bfloat16x4_t __builtin_aarch64_simd_bslv4bf_suss(__Uint16x4_t, __Bfloat16x4_t, __Bfloat16x4_t); +__Bfloat16x8_t __builtin_aarch64_simd_bslv8bf_suss(__Uint16x8_t, __Bfloat16x8_t, __Bfloat16x8_t); +__Int32x4_t __builtin_aarch64_simd_smmlav16qi(__Int32x4_t, __Int8x16_t, __Int8x16_t); +__Uint32x4_t __builtin_aarch64_simd_ummlav16qi_uuuu(__Uint32x4_t, __Uint8x16_t, __Uint8x16_t); +__Int32x4_t __builtin_aarch64_simd_usmmlav16qi_ssus(__Int32x4_t, __Uint8x16_t, __Int8x16_t); +void __builtin_aarch64_st1v4bf(__bf16*, __Bfloat16x4_t); +void __builtin_aarch64_st1v8bf(__bf16*, __Bfloat16x8_t); +void __builtin_aarch64_st1x2v4bf(__bf16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v8bf(__bf16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x3v4bf(__bf16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v8bf(__bf16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x4df(double*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4di(long int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v16qi(signed char*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v2df(double*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v2di(long int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v2sf(float*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v2si(int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v4bf(__bf16*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v4hf(__fp16*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v4hi(short int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v4sf(float*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v4si(int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v8bf(__bf16*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v8hf(__fp16*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v8hi(short int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v8qi(signed char*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st2_lanev4bf(__bf16*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev8bf(__bf16*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2v4bf(__bf16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v8bf(__bf16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st3_lanev4bf(__bf16*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev8bf(__bf16*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3v4bf(__bf16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v8bf(__bf16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st4_lanev4bf(__bf16*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev8bf(__bf16*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4v4bf(__bf16*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v8bf(__bf16*, __builtin_aarch64_simd_xi); +__Int32x4_t __builtin_aarch64_sudot_laneqv16qi_sssus(__Int32x4_t, __Int8x16_t, __Uint8x16_t, int); +__Int32x2_t __builtin_aarch64_sudot_laneqv8qi_sssus(__Int32x2_t, __Int8x8_t, __Uint8x16_t, int); +__Int32x4_t __builtin_aarch64_sudot_lanev16qi_sssus(__Int32x4_t, __Int8x16_t, __Uint8x8_t, int); +__Int32x2_t __builtin_aarch64_sudot_lanev8qi_sssus(__Int32x2_t, __Int8x8_t, __Uint8x8_t, int); +__Int8x16_t __builtin_aarch64_trn1v16qi(__Int8x16_t, __Int8x16_t); +__Float64x2_t __builtin_aarch64_trn1v2df(__Float64x2_t, __Float64x2_t); +__Int64x2_t __builtin_aarch64_trn1v2di(__Int64x2_t, __Int64x2_t); +__Float32x2_t __builtin_aarch64_trn1v2sf(__Float32x2_t, __Float32x2_t); +__Int32x2_t __builtin_aarch64_trn1v2si(__Int32x2_t, __Int32x2_t); +__Int16x4_t __builtin_aarch64_trn1v4hi(__Int16x4_t, __Int16x4_t); +__Float32x4_t __builtin_aarch64_trn1v4sf(__Float32x4_t, __Float32x4_t); +__Int32x4_t __builtin_aarch64_trn1v4si(__Int32x4_t, __Int32x4_t); +__Int16x8_t __builtin_aarch64_trn1v8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_trn1v8qi(__Int8x8_t, __Int8x8_t); +__Int8x16_t __builtin_aarch64_trn2v16qi(__Int8x16_t, __Int8x16_t); +__Float64x2_t __builtin_aarch64_trn2v2df(__Float64x2_t, __Float64x2_t); +__Int64x2_t __builtin_aarch64_trn2v2di(__Int64x2_t, __Int64x2_t); +__Float32x2_t __builtin_aarch64_trn2v2sf(__Float32x2_t, __Float32x2_t); +__Int32x2_t __builtin_aarch64_trn2v2si(__Int32x2_t, __Int32x2_t); +__Int16x4_t __builtin_aarch64_trn2v4hi(__Int16x4_t, __Int16x4_t); +__Float32x4_t __builtin_aarch64_trn2v4sf(__Float32x4_t, __Float32x4_t); +__Int32x4_t __builtin_aarch64_trn2v4si(__Int32x4_t, __Int32x4_t); +__Int16x8_t __builtin_aarch64_trn2v8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_trn2v8qi(__Int8x8_t, __Int8x8_t); +__Int32x4_t __builtin_aarch64_usdot_laneqv16qi_ssuss(__Int32x4_t, __Uint8x16_t, __Int8x16_t, int); +__Int32x2_t __builtin_aarch64_usdot_laneqv8qi_ssuss(__Int32x2_t, __Uint8x8_t, __Int8x16_t, int); +__Int32x4_t __builtin_aarch64_usdot_lanev16qi_ssuss(__Int32x4_t, __Uint8x16_t, __Int8x8_t, int); +__Int32x2_t __builtin_aarch64_usdot_lanev8qi_ssuss(__Int32x2_t, __Uint8x8_t, __Int8x8_t, int); +__Int32x4_t __builtin_aarch64_usdotv16qi_ssus(__Int32x4_t, __Uint8x16_t, __Int8x16_t); +__Int32x2_t __builtin_aarch64_usdotv8qi_ssus(__Int32x2_t, __Uint8x8_t, __Int8x8_t); +__Int8x16_t __builtin_aarch64_uzp1v16qi(__Int8x16_t, __Int8x16_t); +__Float64x2_t __builtin_aarch64_uzp1v2df(__Float64x2_t, __Float64x2_t); +__Int64x2_t __builtin_aarch64_uzp1v2di(__Int64x2_t, __Int64x2_t); +__Float32x2_t __builtin_aarch64_uzp1v2sf(__Float32x2_t, __Float32x2_t); +__Int32x2_t __builtin_aarch64_uzp1v2si(__Int32x2_t, __Int32x2_t); +__Int16x4_t __builtin_aarch64_uzp1v4hi(__Int16x4_t, __Int16x4_t); +__Float32x4_t __builtin_aarch64_uzp1v4sf(__Float32x4_t, __Float32x4_t); +__Int32x4_t __builtin_aarch64_uzp1v4si(__Int32x4_t, __Int32x4_t); +__Int16x8_t __builtin_aarch64_uzp1v8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_uzp1v8qi(__Int8x8_t, __Int8x8_t); +__Int8x16_t __builtin_aarch64_uzp2v16qi(__Int8x16_t, __Int8x16_t); +__Float64x2_t __builtin_aarch64_uzp2v2df(__Float64x2_t, __Float64x2_t); +__Int64x2_t __builtin_aarch64_uzp2v2di(__Int64x2_t, __Int64x2_t); +__Float32x2_t __builtin_aarch64_uzp2v2sf(__Float32x2_t, __Float32x2_t); +__Int32x2_t __builtin_aarch64_uzp2v2si(__Int32x2_t, __Int32x2_t); +__Int16x4_t __builtin_aarch64_uzp2v4hi(__Int16x4_t, __Int16x4_t); +__Float32x4_t __builtin_aarch64_uzp2v4sf(__Float32x4_t, __Float32x4_t); +__Int32x4_t __builtin_aarch64_uzp2v4si(__Int32x4_t, __Int32x4_t); +__Int16x8_t __builtin_aarch64_uzp2v8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_uzp2v8qi(__Int8x8_t, __Int8x8_t); +__Int64x2_t __builtin_aarch64_vec_smlal_laneq_v2si(__Int64x2_t, __Int32x2_t, __Int32x4_t, int); +__Int32x4_t __builtin_aarch64_vec_smlal_laneq_v4hi(__Int32x4_t, __Int16x4_t, __Int16x8_t, int); +__Int64x2_t __builtin_aarch64_vec_smlal_lane_v2si(__Int64x2_t, __Int32x2_t, __Int32x2_t, int); +__Int32x4_t __builtin_aarch64_vec_smlal_lane_v4hi(__Int32x4_t, __Int16x4_t, __Int16x4_t, int); +__Int64x2_t __builtin_aarch64_vec_smult_laneq_v2si(__Int32x2_t, __Int32x4_t, int); +__Int32x4_t __builtin_aarch64_vec_smult_laneq_v4hi(__Int16x4_t, __Int16x8_t, int); +__Int64x2_t __builtin_aarch64_vec_smult_lane_v2si(__Int32x2_t, __Int32x2_t, int); +__Int32x4_t __builtin_aarch64_vec_smult_lane_v4hi(__Int16x4_t, __Int16x4_t, int); +__Uint64x2_t __builtin_aarch64_vec_umlal_laneq_v2si_uuuus(__Uint64x2_t, __Uint32x2_t, __Uint32x4_t, int); +__Uint32x4_t __builtin_aarch64_vec_umlal_laneq_v4hi_uuuus(__Uint32x4_t, __Uint16x4_t, __Uint16x8_t, int); +__Uint64x2_t __builtin_aarch64_vec_umlal_lane_v2si_uuuus(__Uint64x2_t, __Uint32x2_t, __Uint32x2_t, int); +__Uint32x4_t __builtin_aarch64_vec_umlal_lane_v4hi_uuuus(__Uint32x4_t, __Uint16x4_t, __Uint16x4_t, int); +__Uint64x2_t __builtin_aarch64_vec_umult_laneq_v2si_uuus(__Uint32x2_t, __Uint32x4_t, int); +__Uint32x4_t __builtin_aarch64_vec_umult_laneq_v4hi_uuus(__Uint16x4_t, __Uint16x8_t, int); +__Uint64x2_t __builtin_aarch64_vec_umult_lane_v2si_uuus(__Uint32x2_t, __Uint32x2_t, int); +__Uint32x4_t __builtin_aarch64_vec_umult_lane_v4hi_uuus(__Uint16x4_t, __Uint16x4_t, int); +__Int16x8_t __builtin_aarch64_vec_widen_smult_hi_v16qi(__Int8x16_t, __Int8x16_t); +__Int64x2_t __builtin_aarch64_vec_widen_smult_hi_v4si(__Int32x4_t, __Int32x4_t); +__Int32x4_t __builtin_aarch64_vec_widen_smult_hi_v8hi(__Int16x8_t, __Int16x8_t); +__Uint16x8_t __builtin_aarch64_vec_widen_umult_hi_v16qi_uuu(__Uint8x16_t, __Uint8x16_t); +__Uint64x2_t __builtin_aarch64_vec_widen_umult_hi_v4si_uuu(__Uint32x4_t, __Uint32x4_t); +__Uint32x4_t __builtin_aarch64_vec_widen_umult_hi_v8hi_uuu(__Uint16x8_t, __Uint16x8_t); +void* __builtin_aarch64_xpaclri(void*); +__Int8x16_t __builtin_aarch64_zip1v16qi(__Int8x16_t, __Int8x16_t); +__Float64x2_t __builtin_aarch64_zip1v2df(__Float64x2_t, __Float64x2_t); +__Int64x2_t __builtin_aarch64_zip1v2di(__Int64x2_t, __Int64x2_t); +__Float32x2_t __builtin_aarch64_zip1v2sf(__Float32x2_t, __Float32x2_t); +__Int32x2_t __builtin_aarch64_zip1v2si(__Int32x2_t, __Int32x2_t); +__Int16x4_t __builtin_aarch64_zip1v4hi(__Int16x4_t, __Int16x4_t); +__Float32x4_t __builtin_aarch64_zip1v4sf(__Float32x4_t, __Float32x4_t); +__Int32x4_t __builtin_aarch64_zip1v4si(__Int32x4_t, __Int32x4_t); +__Int16x8_t __builtin_aarch64_zip1v8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_zip1v8qi(__Int8x8_t, __Int8x8_t); +__Int8x16_t __builtin_aarch64_zip2v16qi(__Int8x16_t, __Int8x16_t); +__Float64x2_t __builtin_aarch64_zip2v2df(__Float64x2_t, __Float64x2_t); +__Int64x2_t __builtin_aarch64_zip2v2di(__Int64x2_t, __Int64x2_t); +__Float32x2_t __builtin_aarch64_zip2v2sf(__Float32x2_t, __Float32x2_t); +__Int32x2_t __builtin_aarch64_zip2v2si(__Int32x2_t, __Int32x2_t); +__Int16x4_t __builtin_aarch64_zip2v4hi(__Int16x4_t, __Int16x4_t); +__Float32x4_t __builtin_aarch64_zip2v4sf(__Float32x4_t, __Float32x4_t); +__Int32x4_t __builtin_aarch64_zip2v4si(__Int32x4_t, __Int32x4_t); +__Int16x8_t __builtin_aarch64_zip2v8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_zip2v8qi(__Int8x8_t, __Int8x8_t); + +// -march=armv8.5-a+memtag +void* __builtin_aarch64_memtag_get_tag(void*); +long unsigned int __builtin_aarch64_memtag_gmi(void*, long unsigned int); +void* __builtin_aarch64_memtag_inc_tag(void*, unsigned int); +void* __builtin_aarch64_memtag_irg(void*, long unsigned int); +void __builtin_aarch64_memtag_set_tag(void*); +long int __builtin_aarch64_memtag_subp(void*, void*); +// -march=armv8.5-a+tme +void __builtin_aarch64_tcancel(long unsigned int); +void __builtin_aarch64_tcommit(void); +long unsigned int __builtin_aarch64_tstart(void); +long unsigned int __builtin_aarch64_ttest(void); + +#endif + +#ifdef __IWMMXT__ +typedef unsigned long long __mmx_m64; +typedef int __mmx_v2si __attribute__ ((vector_size (8))); +typedef short __mmx_v4hi __attribute__ ((vector_size (8))); + +#ifdef __ANDROID__ +typedef char __mmx_v8qi __attribute__ ((vector_size (8))); +__mmx_m64 __builtin_arm_wsadb (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wsadh (__mmx_v4hi __A, __mmx_v4hi __B); +void __builtin_arm_setwcx(int x, int y); +int __builtin_arm_getwcx(int x); +#else +typedef signed char __mmx_v8qi __attribute__ ((vector_size (8))); +__mmx_m64 __builtin_arm_wsadb (__mmx_v2si __A, __mmx_v8qi __B, __mmx_v8qi __C); +__mmx_m64 __builtin_arm_wsadh (__mmx_v2si __A, __mmx_v4hi __B, __mmx_v4hi __C); +#endif // __ANDROID__ + +__mmx_m64 __builtin_arm_walign (__mmx_v8qi __a, __mmx_v8qi __b, int __C); +__mmx_m64 __builtin_arm_wpackhss (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wpackwss (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wpackdss (long long __m1, long long __m2); +__mmx_m64 __builtin_arm_wpackhus (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wpackwus (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wpackdus (long long __m1, long long __m2); +__mmx_m64 __builtin_arm_wunpckihb (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wunpckihh (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wunpckihw (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wunpckilb (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wunpckilh (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wunpckilw (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wunpckelsb (__mmx_v8qi __m1); +__mmx_m64 __builtin_arm_wunpckelsh (__mmx_v4hi __m1); +__mmx_m64 __builtin_arm_wunpckelsw (__mmx_v2si __m1); +__mmx_m64 __builtin_arm_wunpckehsb (__mmx_v8qi __m1); +__mmx_m64 __builtin_arm_wunpckehsh (__mmx_v4hi __m1); +__mmx_m64 __builtin_arm_wunpckehsw (__mmx_v2si __m1); +__mmx_m64 __builtin_arm_wunpckelub (__mmx_v8qi __m1); +__mmx_m64 __builtin_arm_wunpckeluh (__mmx_v4hi __m1); +__mmx_m64 __builtin_arm_wunpckeluw (__mmx_v2si __m1); +__mmx_m64 __builtin_arm_wunpckehub (__mmx_v8qi __m1); +__mmx_m64 __builtin_arm_wunpckehuh (__mmx_v4hi __m1); +__mmx_m64 __builtin_arm_wunpckehuw (__mmx_v2si __m1); +__mmx_m64 __builtin_arm_waddb (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_waddh (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_waddw (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_waddbss (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_waddhss (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_waddwss (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_waddbus (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_waddhus (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_waddwus (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wsubb (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wsubh (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wsubw (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wsubbss (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wsubhss (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wsubwss (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wsubbus (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wsubhus (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wsubwus (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wmadds (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wmaddu (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wmulsm (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wmulum (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wmulul (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wsllh (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wsllhi (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wsllw (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wsllwi (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wslld (int __m, int __count); +__mmx_m64 __builtin_arm_wslldi (int __m, int __count); +__mmx_m64 __builtin_arm_wsrah (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wsrahi (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wsraw (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wsrawi (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wsrad (int __m, int __count); +__mmx_m64 __builtin_arm_wsradi (int __m, int __count); +__mmx_m64 __builtin_arm_wsrlh (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wsrlhi (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wsrlw (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wsrlwi (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wsrld (int __m, int __count); +__mmx_m64 __builtin_arm_wsrldi (int __m, int __count); +__mmx_m64 __builtin_arm_wrorh (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wrorhi (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wrorw (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wrorwi (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wrord (int __m, int __count); +__mmx_m64 __builtin_arm_wrordi (int __m, int __count); +__mmx_m64 __builtin_arm_wand (int __m1, int __m2); +__mmx_m64 __builtin_arm_wandn (int __m2, int __m1); +__mmx_m64 __builtin_arm_wor (int __m1, int __m2); +__mmx_m64 __builtin_arm_wxor (int __m1, int __m2); +__mmx_m64 __builtin_arm_wcmpeqb (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wcmpgtsb (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wcmpgtub (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wcmpeqh (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wcmpgtsh (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wcmpgtuh (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wcmpeqw (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wcmpgtsw (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wcmpgtuw (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wmacu (int __A, __mmx_v4hi __B, __mmx_v4hi __C); +__mmx_m64 __builtin_arm_wmacs (int __A, __mmx_v4hi __B, __mmx_v4hi __C); +__mmx_m64 __builtin_arm_wmacuz (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wmacsz (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_waccb (__mmx_v8qi __A); +__mmx_m64 __builtin_arm_wacch (__mmx_v4hi __A); +__mmx_m64 __builtin_arm_waccw (__mmx_v2si __A); +__mmx_m64 __builtin_arm_tmia (int __A, int __B, int __C); +__mmx_m64 __builtin_arm_tmiaph (int __A, int __B, int __C); +__mmx_m64 __builtin_arm_tmiabb (int __A, int __B, int __C); +__mmx_m64 __builtin_arm_tmiabt (int __A, int __B, int __C); +__mmx_m64 __builtin_arm_tmiatb (int __A, int __B, int __C); +__mmx_m64 __builtin_arm_tmiatt (int __A, int __B, int __C); +__mmx_m64 __builtin_arm_wmaxsb (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wmaxsh (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wmaxsw (__mmx_v2si __A, __mmx_v2si __B); +__mmx_m64 __builtin_arm_wmaxub (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wmaxuh (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wmaxuw (__mmx_v2si __A, __mmx_v2si __B); +__mmx_m64 __builtin_arm_wminsb (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wminsh (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wminsw (__mmx_v2si __A, __mmx_v2si __B); +__mmx_m64 __builtin_arm_wminub (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wminuh (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wminuw (__mmx_v2si __A, __mmx_v2si __B); +__mmx_m64 __builtin_arm_tmovmskb (__mmx_v8qi __A); +__mmx_m64 __builtin_arm_tmovmskh (__mmx_v4hi __A); +__mmx_m64 __builtin_arm_tmovmskw (__mmx_v2si __A); +__mmx_m64 __builtin_arm_wavg2br (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wavg2hr (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wavg2b (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wavg2h (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wsadbz (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wsadhz (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wsadbz (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wsadhz (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wzero (); +__mmx_m64 __builtin_arm_setwcgr0 (int __value); +__mmx_m64 __builtin_arm_setwcgr1 (int __value); +__mmx_m64 __builtin_arm_setwcgr2 (int __value); +__mmx_m64 __builtin_arm_setwcgr3 (int __value); +__mmx_m64 __builtin_arm_getwcgr0 (); +__mmx_m64 __builtin_arm_getwcgr1 (); +__mmx_m64 __builtin_arm_getwcgr2 (); +__mmx_m64 __builtin_arm_getwcgr3 (); +__mmx_m64 __builtin_arm_wabsb (__mmx_v8qi m1); +__mmx_m64 __builtin_arm_wabsh (__mmx_v4hi __m1); +__mmx_m64 __builtin_arm_wabsw (__mmx_v2si __m1); +__mmx_m64 __builtin_arm_waddsubhx (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wabsdiffb (__mmx_v8qi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_wabsdiffh (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wabsdiffw (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wavg4 (__mmx_v8qi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_wavg4r (__mmx_v8qi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_wmaddsx (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wmaddux (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wmaddsn (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wmaddun (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wmulwsm (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wmulwum (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wmulsmr (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wmulwsmr (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wmulumr (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wmulwumr (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wmulwl (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wqmulm (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wqmulwm (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wqmulmr (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wqmulwmr (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wsubaddhx (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_waddbhusl (__mmx_v4hi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_waddbhusm (__mmx_v4hi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_walignr0 (__mmx_v8qi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_walignr1 (__mmx_v8qi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_walignr2 (__mmx_v8qi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_walignr3 (__mmx_v8qi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_tbcstb (signed char value); +__mmx_m64 __builtin_arm_tbcsth (short value); +__mmx_m64 __builtin_arm_tbcstw (int value); +int __builtin_arm_textrmsb(__mmx_v8qi, int); +int __builtin_arm_textrmsh(__mmx_v4hi, int); +int __builtin_arm_textrmsw(__mmx_v2si, int); +int __builtin_arm_textrmub(__mmx_v8qi, int); +int __builtin_arm_textrmuh(___mmx_v4hi, int); +int __builtin_arm_textrmuw(__mmx_v2si, int); +__mmx_v8qi __builtin_arm_tinsrb(__mmx_v8qi, int, int); +___mmx_v4hi __builtin_arm_tinsrh(___mmx_v4hi, int, int); +__mmx_v2si __builtin_arm_tinsrw(__mmx_v2si, int, int); +___mmx_v4hi __builtin_arm_wshufh(___mmx_v4hi, int); +#endif // __IWMMX__ + +#ifdef __IWMMXT2__ //enable with -march=iwmmxt2 +long long unsigned int __builtin_arm_wmerge(long long unsigned int, long long unsigned int, int); +long long unsigned int __builtin_arm_wmiabb(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiabbn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiabt(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiabtn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiatb(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiatbn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiatt(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiattn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiawbb(long long unsigned int, __mmx_v2si, __mmx_v2si); +long long unsigned int __builtin_arm_wmiawbbn(long long unsigned int, __mmx_v2si, __mmx_v2si); +long long unsigned int __builtin_arm_wmiawbt(long long unsigned int, __mmx_v2si, __mmx_v2si); +long long unsigned int __builtin_arm_wmiawbtn(long long unsigned int, __mmx_v2si, __mmx_v2si); +long long unsigned int __builtin_arm_wmiawtb(long long unsigned int, __mmx_v2si, __mmx_v2si); +long long unsigned int __builtin_arm_wmiawtbn(long long unsigned int, __mmx_v2si, __mmx_v2si); +long long unsigned int __builtin_arm_wmiawtt(long long unsigned int, __mmx_v2si, __mmx_v2si); +long long unsigned int __builtin_arm_wmiawttn(long long unsigned int, __mmx_v2si, __mmx_v2si); +__mmx_v2si __builtin_arm_wqmiabb(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +__mmx_v2si __builtin_arm_wqmiabbn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +__mmx_v2si __builtin_arm_wqmiabt(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +__mmx_v2si __builtin_arm_wqmiabtn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +__mmx_v2si __builtin_arm_wqmiatb(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +__mmx_v2si __builtin_arm_wqmiatbn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +__mmx_v2si __builtin_arm_wqmiatt(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +__mmx_v2si __builtin_arm_wqmiattn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +#endif + +#ifdef __ARM_FP16_ARGS // arm-eabi -mfp16-format=ieee or aarch64 +typedef float cov_fp16 __attribute__((mode(HF))); + +cov_fp16 __builtin_ceilf16(cov_fp16); +cov_fp16 __builtin_copysignf16(cov_fp16, cov_fp16); +cov_fp16 __builtin_fabsf16(cov_fp16); +cov_fp16 __builtin_floorf16(cov_fp16); +cov_fp16 __builtin_fmaf16(cov_fp16, cov_fp16, cov_fp16); +cov_fp16 __builtin_fmaxf16(cov_fp16, cov_fp16); +cov_fp16 __builtin_fminf16(cov_fp16, cov_fp16); +cov_fp16 __builtin_nanf16(const char*); +cov_fp16 __builtin_nansf16(const char*); +cov_fp16 __builtin_nearbyintf16(cov_fp16); +cov_fp16 __builtin_rintf16(cov_fp16); +cov_fp16 __builtin_roundevenf16(cov_fp16); +cov_fp16 __builtin_roundf16(cov_fp16); +cov_fp16 __builtin_sqrtf16(cov_fp16); +cov_fp16 __builtin_truncf16(cov_fp16); +cov_fp16 __builtin_huge_valf16(void); +cov_fp16 __builtin_inff16(void); +#endif + +#ifdef __coverity_cplusplus +} +#endif +/* + Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. + The information contained in this file is the proprietary and confidential + information of Synopsys, Inc. and its licensors, and is supplied subject to, + and may be used only by Synopsys customers in accordance with the terms and + conditions of a previously executed license agreement between Synopsys and + that customer. +*/ + + +#define __COVERITY_GCC_VERSION_AT_LEAST(maj, min) \ + ((__GNUC__ > (maj)) || (__GNUC__ == (maj) && __GNUC_MINOR__ >= (min))) + +#if __COVERITY_GCC_VERSION_AT_LEAST(4, 9) +// Starting with GCC 4.9, instruction set intrinsics are always visible +// regardless of whether or not the instruction set is enabled. +#define __COVERITY_GCC49_INTRINSICS 1 +#else // GCC <4.9 +#define __COVERITY_GCC49_INTRINSICS 0 +#endif + +#ifdef __IA64__ +typedef __coverity___fpreg long double __fpreg; +#endif + + +#ifdef __coverity_cplusplus +extern "C" { +#endif + +#if defined(__SIZEOF_FLOAT128__) && defined(__coverity_cplusplus) +#define cov_f128_t __float128 +#else +#define cov_f128_t long double +#endif + +// The following macros are used in the Linux Kernel +#if defined(__linux__) && defined(__KERNEL__) +#nodef BUG_ON(x) do { if (x) __coverity_panic__(); } while (0) +#nodef WARN_ON(x) ({ int result = !!(x); if (result) __coverity_panic__(); result; }) +#nodef BUG() __coverity_panic__() +void __coverity_panic__(); +#endif // Linux kernel + +#nodef setjmp +int setjmp(void *); + +#ifndef __COVERITY_NO_STRING_NODEFS__ +// Function list obtained from "cstring"+memrchr+stpcopy (from bits/string.h) + +#nodef memcpy +void *memcpy(void *, const void *, __COVERITY_SIZE_TYPE__); + +#nodef memmove +void *memmove(void *, const void *, __COVERITY_SIZE_TYPE__); + +#nodef strcpy +char *strcpy(char *, const char *); + +#nodef strncpy +char *strncpy(char *, const char *, __COVERITY_SIZE_TYPE__); + +#nodef strcat +char *strcat(char *, const char *); + +#nodef strncat +char *strncat(char *, const char *, __COVERITY_SIZE_TYPE__); + +#nodef memcmp +int memcmp(const void *, const void *, __COVERITY_SIZE_TYPE__ n); + +#nodef strcmp +int strcmp(const char *, const char *); + +#nodef strcoll +int strcoll(const char *, const char *); + +#nodef strncmp +int strncmp(const char *, const char *, __COVERITY_SIZE_TYPE__); + +#nodef strxfrm +__COVERITY_SIZE_TYPE__ +strxfrm(char *, const char *, __COVERITY_SIZE_TYPE__); + +#nodef memchr +void *memchr(const void *, int, __COVERITY_SIZE_TYPE__); + +#nodef strchr +char *strchr(const char *, int); + +#nodef strcspn +__COVERITY_SIZE_TYPE__ strcspn(const char *, const char *); + +#nodef strpbrk +char *strpbrk(const char *, const char *); + +#nodef strrchr +char *strrchr(const char *, int); + +#nodef strspn +__COVERITY_SIZE_TYPE__ strspn(const char *, const char *); + +#nodef strstr +char *strstr(const char *, const char *); + +#nodef strtok +char *strtok(char *, const char *); + +#nodef memset +void *memset(void *, int, __COVERITY_SIZE_TYPE__); + +#nodef strlen +__COVERITY_SIZE_TYPE__ strlen(const char *); + +#nodef strerror +char *strerror(int); + +#nodef memrchr +void *memrchr(const void *, int, __COVERITY_SIZE_TYPE__); + +#nodef stpcpy +char *stpcpy(char *, const char *); + +#nodef strdup +char *strdup(const char *); +#endif // __COVERITY_NO_STRING_NODEFS__ + +#define __builtin_expect_with_probability(expr, value, probability) (expr) +#define __builtin_speculation_safe_value(t1, t2) (t1) + +#ifndef __coverity_cplusplus +#if __COVERITY_GCC_VERSION_AT_LEAST(7, 0) +typedef float __coverity_float _Float32; +typedef double __coverity_floatx _Float32x; +typedef double __coverity_float _Float64; +typedef long double _Float64x; +typedef long double _Float128; +#endif /* GCC >= 7.0 */ +#endif /* __coverity_cplusplus */ + +#ifdef __coverity_cplusplus +} +#endif +#if __COVERITY_GCC_VERSION_AT_LEAST(4, 0) +typedef float __coverity_decimal _Decimal32; +typedef double __coverity_decimal _Decimal64; +typedef long double __coverity_decimal _Decimal128; + +_Decimal32 __builtin_nand32(const char*); +_Decimal32 __builtin_infd32(); +_Decimal64 __builtin_infd64(); +_Decimal64 __builtin_nand64(const char*); +_Decimal128 __builtin_infd128(); +_Decimal128 __builtin_nand128(const char*); +_Decimal128 __builtin_fabsd128(_Decimal128); +_Decimal32 __builtin_fabsd32(_Decimal32); +_Decimal64 __builtin_fabsd64(_Decimal64); +int __builtin_finited128(_Decimal128); +int __builtin_finited32(_Decimal32); +int __builtin_finited64(_Decimal64); +int __builtin_isinfd128(_Decimal128); +int __builtin_isinfd32(_Decimal32); +int __builtin_isinfd64(_Decimal64); +int __builtin_isnand128(_Decimal128); +int __builtin_isnand32(_Decimal32); +int __builtin_isnand64(_Decimal64); +int __builtin_signbitd128(_Decimal128); +int __builtin_signbitd32(_Decimal32); +int __builtin_signbitd64(_Decimal64); +_Decimal128 __builtin_nansd128(const char*); +_Decimal32 __builtin_nansd32(const char*); +_Decimal64 __builtin_nansd64(const char*); +#endif /* GCC >= 4.0 */ + +#ifdef __COVERITY_CILKPLUS +#define _Cilk_spawn +#define _Cilk_sync +#define _Cilk_for for +#endif /* __cilk */ + +#if __COVERITY_GCC_VERSION_AT_LEAST(8, 0) +/* + * The following macros are used to implement __builtin_tgmath. This GCC + * intrinsic is used to support type generic math operations in C modes. These + * can be disabled by defining __COVERITY_DISABLE_TGTMATH. + */ +#if !defined(__COVERITY_DISABLE_TGTMATH) && !defined(__coverity_cplusplus) +#define __coverity_count_args(...) __coverity_count_args_n(-,##__VA_ARGS__,9,8,7,6,5,4,3,2,1,0) +#define __coverity_count_args_n(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, count, ...) count +#define __coverity_cat(x, ...) __coverity_cat_n(x, __VA_ARGS__) +#define __coverity_cat_n(x, ...) x ## __VA_ARGS__ + +#define __builtin_tgmath(...) \ + __coverity_cat(__coverity_tgmath_,__coverity_count_args(__VA_ARGS__))(__VA_ARGS__) + +#define __coverity_tgmath_4(...) __coverity_tgmath_real(__VA_ARGS__) +#define __coverity_tgmath_5(...) __coverity_tgmath_real(__VA_ARGS__) +#define __coverity_tgmath_6(...) __coverity_tgmath_real(__VA_ARGS__) +#define __coverity_tgmath_7(...) __coverity_tgmath_cplx(__VA_ARGS__) +#define __coverity_tgmath_8(...) __coverity_tgmath_cplx(__VA_ARGS__) +#define __coverity_tgmath_9(...) __coverity_tgmath_cplx(__VA_ARGS__) + +#define __coverity_tgmath_real(rf, r, rl, arg0, ...) \ + _Generic((arg0), \ + float: (rf)(arg0, ## __VA_ARGS__), \ + long double: (rl)(arg0, ## __VA_ARGS__), \ + default: (r)(arg0, ## __VA_ARGS__)) +#define __coverity_tgmath_cplx(rf, r, rl, cf, c, cl, arg0, ...) \ + _Generic((arg0), \ + float: (rf)(arg0, ## __VA_ARGS__), \ + long double: (rl)(arg0, ## __VA_ARGS__), \ + __complex__ float: (cf)(arg0, ## __VA_ARGS__), \ + __complex__ long double: (cl)(arg0, ## __VA_ARGS__), \ + __complex__ double: (c)(arg0, ## __VA_ARGS__), \ + default: (r)(arg0, ## __VA_ARGS__)) +#endif /* !__COVERITY_DISABLE_TGTMATH_DECLS && !__coverity_cplusplus */ +#endif /* GCC 8+ */ +/* + Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. + The information contained in this file is the proprietary and confidential + information of Synopsys, Inc. and its licensors, and is supplied subject to, + and may be used only by Synopsys customers in accordance with the terms and + conditions of a previously executed license agreement between Synopsys and + that customer. +*/ + +/* + * These declarations are needed for GCC's transactional memory support. They + * are not supported intrinsically by cov-emit. + */ + +// -fgnu-tm -mavx +void __builtin__ITM_abortTransaction(int); +unsigned int __builtin__ITM_beginTransaction(unsigned int, ...); +void* __builtin__ITM_calloc(long unsigned int, long unsigned int); +void __builtin__ITM_changeTransactionMode(int); +void __builtin__ITM_commitTransactionEH(void*); +void __builtin__ITM_free(void*); +void* __builtin__ITM_getTMCloneOrIrrevocable(void*); +void* __builtin__ITM_getTMCloneSafe(void*); +void __builtin__ITM_LB(volatile void*, long unsigned int); +void __builtin__ITM_LD(volatile void*); +void __builtin__ITM_LE(volatile void*); +void __builtin__ITM_LF(volatile void*); +void __builtin__ITM_LM128(const void*); +void __builtin__ITM_LM256(const void*); +void __builtin__ITM_LM64(const void*); +void __builtin__ITM_LU1(volatile void*); +void __builtin__ITM_LU2(volatile void*); +void __builtin__ITM_LU4(volatile void*); +void __builtin__ITM_LU8(volatile void*); +void* __builtin__ITM_malloc(long unsigned int); +void __builtin__ITM_memcpyRnWt(void*, const void*, long unsigned int); +void __builtin__ITM_memcpyRtWn(void*, const void*, long unsigned int); +void __builtin__ITM_memcpyRtWt(void*, const void*, long unsigned int); +void __builtin__ITM_memmoveRtWt(void*, const void*, long unsigned int); +void __builtin__ITM_memsetW(void*, int, long unsigned int); +double __builtin__ITM_RaRD(double*); +long double __builtin__ITM_RaRE(volatile void*); +float __builtin__ITM_RaRF(volatile void*); +__edg_vector_type__(float,4) __builtin__ITM_RaRM128(const __edg_vector_type__(float,4)*); +__edg_vector_type__(float,8) __builtin__ITM_RaRM256(const __edg_vector_type__(float,8)*); +__edg_vector_type__(int,2) __builtin__ITM_RaRM64(const __edg_vector_type__(int,2)*); +unsigned char __builtin__ITM_RaRU1(volatile void*); +short unsigned int __builtin__ITM_RaRU2(volatile void*); +unsigned int __builtin__ITM_RaRU4(volatile void*); +long unsigned int __builtin__ITM_RaRU8(volatile void*); +double __builtin__ITM_RaWD(double*); +long double __builtin__ITM_RaWE(volatile void*); +float __builtin__ITM_RaWF(volatile void*); +__edg_vector_type__(float,4) __builtin__ITM_RaWM128(const __edg_vector_type__(float,4)*); +__edg_vector_type__(float,8) __builtin__ITM_RaWM256(const __edg_vector_type__(float,8)*); +__edg_vector_type__(int,2) __builtin__ITM_RaWM64(const __edg_vector_type__(int,2)*); +unsigned char __builtin__ITM_RaWU1(volatile void*); +short unsigned int __builtin__ITM_RaWU2(volatile void*); +unsigned int __builtin__ITM_RaWU4(volatile void*); +long unsigned int __builtin__ITM_RaWU8(volatile void*); +double __builtin__ITM_RD(double*); +long double __builtin__ITM_RE(volatile void*); +float __builtin__ITM_RF(volatile void*); +double __builtin__ITM_RfWD(double*); +long double __builtin__ITM_RfWE(volatile void*); +float __builtin__ITM_RfWF(volatile void*); +__edg_vector_type__(float,4) __builtin__ITM_RfWM128(const __edg_vector_type__(float,4)*); +__edg_vector_type__(float,8) __builtin__ITM_RfWM256(const __edg_vector_type__(float,8)*); +__edg_vector_type__(int,2) __builtin__ITM_RfWM64(const __edg_vector_type__(int,2)*); +unsigned char __builtin__ITM_RfWU1(volatile void*); +short unsigned int __builtin__ITM_RfWU2(volatile void*); +unsigned int __builtin__ITM_RfWU4(volatile void*); +long unsigned int __builtin__ITM_RfWU8(volatile void*); +__edg_vector_type__(float,4) __builtin__ITM_RM128(const __edg_vector_type__(float,4)*); +__edg_vector_type__(float,8) __builtin__ITM_RM256(const __edg_vector_type__(float,8)*); +__edg_vector_type__(int,2) __builtin__ITM_RM64(const __edg_vector_type__(int,2)*); +unsigned char __builtin__ITM_RU1(volatile void*); +short unsigned int __builtin__ITM_RU2(volatile void*); +unsigned int __builtin__ITM_RU4(volatile void*); +long unsigned int __builtin__ITM_RU8(volatile void*); +void __builtin__ITM_WaRD(volatile void*, double); +void __builtin__ITM_WaRE(volatile void*, long double); +void __builtin__ITM_WaRF(volatile void*, float); +void __builtin__ITM_WaRM128(__edg_vector_type__(float,4)*, __edg_vector_type__(float,4)); +void __builtin__ITM_WaRM256(__edg_vector_type__(float,8)*, __edg_vector_type__(float,8)); +void __builtin__ITM_WaRM64(__edg_vector_type__(int,2)*, __edg_vector_type__(int,2)); +void __builtin__ITM_WaRU1(volatile void*, unsigned char); +void __builtin__ITM_WaRU2(volatile void*, short unsigned int); +void __builtin__ITM_WaRU4(volatile void*, unsigned int); +void __builtin__ITM_WaRU8(volatile void*, long unsigned int); +void __builtin__ITM_WaWD(volatile void*, double); +void __builtin__ITM_WaWE(volatile void*, long double); +void __builtin__ITM_WaWF(volatile void*, float); +void __builtin__ITM_WaWM128(__edg_vector_type__(float,4)*, __edg_vector_type__(float,4)); +void __builtin__ITM_WaWM256(__edg_vector_type__(float,8)*, __edg_vector_type__(float,8)); +void __builtin__ITM_WaWM64(__edg_vector_type__(int,2)*, __edg_vector_type__(int,2)); +void __builtin__ITM_WaWU1(volatile void*, unsigned char); +void __builtin__ITM_WaWU2(volatile void*, short unsigned int); +void __builtin__ITM_WaWU4(volatile void*, unsigned int); +void __builtin__ITM_WaWU8(volatile void*, long unsigned int); +void __builtin__ITM_WD(volatile void*, double); +void __builtin__ITM_WE(volatile void*, long double); +void __builtin__ITM_WF(volatile void*, float); +void __builtin__ITM_WM128(__edg_vector_type__(float,4)*, __edg_vector_type__(float,4)); +void __builtin__ITM_WM256(__edg_vector_type__(float,8)*, __edg_vector_type__(float,8)); +void __builtin__ITM_WM64(__edg_vector_type__(int,2)*, __edg_vector_type__(int,2)); +void __builtin__ITM_WU1(volatile void*, unsigned char); +void __builtin__ITM_WU2(volatile void*, short unsigned int); +void __builtin__ITM_WU4(volatile void*, unsigned int); +void __builtin__ITM_WU8(volatile void*, long unsigned int); +void __builtin__ITM_commitTransaction(void); + +/* + Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. + The information contained in this file is the proprietary and confidential + information of Synopsys, Inc. and its licensors, and is supplied subject to, + and may be used only by Synopsys customers in accordance with the terms and + conditions of a previously executed license agreement between Synopsys and + that customer. +*/ + +/* + * These declarations are needed for GCC's OpenMP/OpenACC support. They are not + * supported intrinsically by cov-emit. + */ + +#ifdef _OPENMP +int __builtin_acc_get_device_type(void); +void __builtin_GOACC_data_end(void); +void __builtin_GOMP_atomic_end(void); +void __builtin_GOMP_atomic_start(void); +void __builtin_GOMP_barrier(void); +__edg_bool_type__ __builtin_GOMP_barrier_cancel(void); +void __builtin_GOMP_critical_end(void); +void __builtin_GOMP_critical_start(void); +void __builtin_GOMP_loop_end(void); +__edg_bool_type__ __builtin_GOMP_loop_end_cancel(void); +void __builtin_GOMP_loop_end_nowait(void); +void __builtin_GOMP_ordered_end(void); +void __builtin_GOMP_ordered_start(void); +void __builtin_GOMP_sections_end(void); +__edg_bool_type__ __builtin_GOMP_sections_end_cancel(void); +void __builtin_GOMP_sections_end_nowait(void); +unsigned int __builtin_GOMP_sections_next(void); +void* __builtin_GOMP_single_copy_start(void); +__edg_bool_type__ __builtin_GOMP_single_start(void); +void __builtin_GOMP_target_end_data(void); +void __builtin_GOMP_taskgroup_end(void); +void __builtin_GOMP_taskgroup_start(void); +void __builtin_GOMP_taskwait(void); +void __builtin_GOMP_taskyield(void); +int __builtin_omp_get_num_teams(void); +int __builtin_omp_get_num_threads(void); +int __builtin_omp_get_team_num(void); +int __builtin_omp_get_thread_num(void); +void __builtin_GOACC_data_start(int, long unsigned int, void*, void*, void*); +void __builtin_GOACC_declare(int, long unsigned int, void*, void*, void*); +void __builtin_GOACC_enter_exit_data(int, long unsigned int, void*, void*, void*, int, int, ...); +void __builtin_GOACC_parallel_keyed(int, void (*)(void*), long unsigned int, void*, void*, void*, ...); +int __builtin_goacc_parlevel_id(int); +int __builtin_goacc_parlevel_size(int); +void __builtin_GOACC_update(int, long unsigned int, void*, void*, void*, int, int, ...); +void __builtin_GOACC_wait(int, int, ...); +__edg_bool_type__ __builtin_GOMP_cancel(int, __edg_bool_type__); +__edg_bool_type__ __builtin_GOMP_cancellation_point(int); +void __builtin_GOMP_critical_name_end(void**); +void __builtin_GOMP_critical_name_start(void**); +void __builtin_GOMP_doacross_post(void*); +void __builtin_GOMP_doacross_ull_post(void*); +void __builtin_GOMP_doacross_ull_wait(long long unsigned int, ...); +void __builtin_GOMP_doacross_wait(long int, ...); +__edg_bool_type__ __builtin_GOMP_loop_doacross_dynamic_start(unsigned int, long int*, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_doacross_guided_start(unsigned int, long int*, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_doacross_runtime_start(unsigned int, long int*, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_doacross_start(unsigned int, long int*, long int, long int, long int*, long int*, void*, void*); +__edg_bool_type__ __builtin_GOMP_loop_doacross_static_start(unsigned int, long int*, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_dynamic_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_dynamic_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_guided_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_guided_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_maybe_nonmonotonic_runtime_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_maybe_nonmonotonic_runtime_start(long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_dynamic_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_dynamic_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_guided_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_guided_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_runtime_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_runtime_start(long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_dynamic_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_dynamic_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_guided_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_guided_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_runtime_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_runtime_start(long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_start(long int, long int, long int, long int, long int, long int*, long int*, void*, void*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_static_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_static_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_runtime_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_runtime_start(long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_start(long int, long int, long int, long int, long int, long int*, long int*, void*, void*); +__edg_bool_type__ __builtin_GOMP_loop_static_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_static_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_dynamic_start(unsigned int, long long unsigned int*, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_guided_start(unsigned int, long long unsigned int*, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_runtime_start(unsigned int, long long unsigned int*, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_start(unsigned int, long long unsigned int*, long int, long long unsigned int, long long unsigned int*, long long unsigned int*, void*, void*); +__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_static_start(unsigned int, long long unsigned int*, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_dynamic_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_dynamic_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_guided_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_guided_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_maybe_nonmonotonic_runtime_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_maybe_nonmonotonic_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_dynamic_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_dynamic_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_guided_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_guided_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_runtime_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_dynamic_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_dynamic_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_guided_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_guided_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_runtime_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long int, long long unsigned int, long long unsigned int*, long long unsigned int*, void*, void*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_static_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_static_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_runtime_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long int, long long unsigned int, long long unsigned int*, long long unsigned int*, void*, void*); +__edg_bool_type__ __builtin_GOMP_loop_ull_static_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_static_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +void __builtin_GOMP_offload_register_ver(int, void*, int, void*); +void __builtin_GOMP_offload_unregister_ver(int, void*, int, void*); +void __builtin_GOMP_parallel(void (*)(void*), void*, unsigned int, unsigned int); +void __builtin_GOMP_parallel_loop_dynamic(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); +void __builtin_GOMP_parallel_loop_guided(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); +void __builtin_GOMP_parallel_loop_maybe_nonmonotonic_runtime(void (*)(void*), void*, unsigned int, long int, long int, long int, unsigned int); +void __builtin_GOMP_parallel_loop_nonmonotonic_dynamic(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); +void __builtin_GOMP_parallel_loop_nonmonotonic_guided(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); +void __builtin_GOMP_parallel_loop_nonmonotonic_runtime(void (*)(void*), void*, unsigned int, long int, long int, long int, unsigned int); +void __builtin_GOMP_parallel_loop_runtime(void (*)(void*), void*, unsigned int, long int, long int, long int, unsigned int); +void __builtin_GOMP_parallel_loop_static(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); +unsigned int __builtin_GOMP_parallel_reductions(void (*)(void*), void*, unsigned int, unsigned int); +void __builtin_GOMP_parallel_sections(void (*)(void*), void*, unsigned int, unsigned int, unsigned int); +unsigned int __builtin_GOMP_sections2_start(unsigned int, void*, void*); +unsigned int __builtin_GOMP_sections_start(unsigned int); +void __builtin_GOMP_single_copy_end(void*); +void __builtin_GOMP_target_data_ext(int, long unsigned int, void*, void*, void*); +void __builtin_GOMP_target_enter_exit_data(int, long unsigned int, void*, void*, void*, unsigned int, void*); +void __builtin_GOMP_target_ext(int, void (*)(void*), long unsigned int, void*, void*, void*, unsigned int, void*, void*); +void __builtin_GOMP_target_update_ext(int, long unsigned int, void*, void*, void*, unsigned int, void*); +#if __COVERITY_GCC_VERSION_AT_LEAST(6, 0) +void __builtin_GOMP_task(void (*)(void*), void*, void (*)(void*, void*), long int, long int, __edg_bool_type__, unsigned int, void*, int); +#endif +void __builtin_GOMP_taskgroup_reduction_register(void*); +void __builtin_GOMP_taskgroup_reduction_unregister(void*); +void __builtin_GOMP_taskloop(void (*)(void*), void*, void (*)(void*, void*), long int, long int, unsigned int, long int, int, long int, long int, long int); +void __builtin_GOMP_taskloop_ull(void (*)(void*), void*, void (*)(void*, void*), long int, long int, unsigned int, long int, int, long long unsigned int, long long unsigned int, long long unsigned int); +void __builtin_GOMP_task_reduction_remap(long unsigned int, long unsigned int, void*); +void __builtin_GOMP_taskwait_depend(void*); +void __builtin_GOMP_teams(unsigned int, unsigned int); +void __builtin_GOMP_teams_reg(void (*)(void*), void*, unsigned int, unsigned int, unsigned int); +void __builtin_GOMP_workshare_task_reduction_unregister(__edg_bool_type__); +void* __builtin_GOMP_alloc(long unsigned int, long unsigned int, long int); +void __builtin_GOMP_free(void*, long int); + +#if __COVERITY_GCC_VERSION_AT_LEAST(12, 0) +void __builtin_GOACC_barrier(); +void __builtin_GOACC_enter_data(int, long unsigned int, void*, void*, void*, int, int, ...); +void __builtin_GOACC_exit_data(int, long unsigned int, void*, void*, void*, int, int, ...); +void __builtin_GOACC_single_copy_end(void*); +void* __builtin_GOACC_single_copy_start(); +__cov_bool __builtin_GOACC_single_start(); +void __builtin_GOMP_error(const void*, long unsigned int); +void __builtin_GOMP_scope_start(void*); +__cov_bool __builtin_GOMP_teams4(unsigned int, unsigned int, unsigned int, __cov_bool); +void __builtin_GOMP_warning(const void*, long unsigned int); +#endif /* GCC >= 12.0 */ +#endif /* _OPENMP */ +/* Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. */ +#ifdef __coverity_cplusplus +extern "C" { +#endif + +#ifdef __PPC__ + +typedef int __attribute__((vector_size(8))) __ev64_opaque__; +typedef int __ppc_v2i __attribute__ ((__vector_size__ (8))); + +int __builtin_spe_brinc(int, int); +__ppc_v2i __builtin_spe_evabs(__ppc_v2i); +__ppc_v2i __builtin_spe_evaddiw(__ppc_v2i, char); +__ppc_v2i __builtin_spe_evaddsmiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evaddssiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evaddumiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evaddusiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evaddw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evand(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evandc(__ppc_v2i, __ppc_v2i); +int __builtin_spe_evcmpeq(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evcmpgts(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evcmpgtu(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evcmplts(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evcmpltu(int, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evcntlsw(__ppc_v2i); +__ppc_v2i __builtin_spe_evcntlzw(__ppc_v2i); +__ppc_v2i __builtin_spe_evdivws(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evdivwu(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_eveqv(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evextsb(__ppc_v2i); +__ppc_v2i __builtin_spe_evextsh(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsabs(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsadd(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evfscfsf(__ppc_v2i); +__ppc_v2i __builtin_spe_evfscfsi(__ppc_v2i); +__ppc_v2i __builtin_spe_evfscfuf(__ppc_v2i); +__ppc_v2i __builtin_spe_evfscfui(__ppc_v2i); +int __builtin_spe_evfscmpeq(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evfscmpgt(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evfscmplt(int, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evfsctsf(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsctsi(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsctsiz(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsctuf(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsctui(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsctuiz(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsdiv(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evfsmul(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evfsnabs(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsneg(__ppc_v2i); +__ppc_v2i __builtin_spe_evfssub(__ppc_v2i, __ppc_v2i); +int __builtin_spe_evfststeq(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evfststgt(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evfststlt(int, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evldd(__ppc_v2i*, int); +__ppc_v2i __builtin_spe_evlddx(__ppc_v2i*, int); +__ppc_v2i __builtin_spe_evldh(__ppc_v2i*, int); +__ppc_v2i __builtin_spe_evldhx(__ppc_v2i*, int); +__ppc_v2i __builtin_spe_evldw(__ppc_v2i*, int); +__ppc_v2i __builtin_spe_evldwx(__ppc_v2i*, int); +__ppc_v2i __builtin_spe_evlhhesplat(short unsigned int*, int); +__ppc_v2i __builtin_spe_evlhhesplatx(short unsigned int*, int); +__ppc_v2i __builtin_spe_evlhhossplat(short unsigned int*, int); +__ppc_v2i __builtin_spe_evlhhossplatx(short unsigned int*, int); +__ppc_v2i __builtin_spe_evlhhousplat(short unsigned int*, int); +__ppc_v2i __builtin_spe_evlhhousplatx(short unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhe(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhex(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhos(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhosx(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhou(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhoux(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhsplat(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhsplatx(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwwsplat(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwwsplatx(unsigned int*, int); +__ppc_v2i __builtin_spe_evmergehi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmergehilo(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmergelo(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmergelohi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhegsmfaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhegsmfan(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhegsmiaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhegsmian(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhegumiaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhegumian(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmfaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmfanw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhessf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhessfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhessfaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhessfanw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhessiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhessianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmheumi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmheumia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmheumiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmheumianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmheusiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmheusianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhogsmfaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhogsmfan(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhogsmiaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhogsmian(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhogumiaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhogumian(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmfaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmfanw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhossf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhossfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhossfaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhossfanw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhossiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhossianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhoumi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhoumia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhoumiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhoumianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhousiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhousianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmra(__ppc_v2i); +__ppc_v2i __builtin_spe_evmwhsmf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwhsmfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwhsmi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwhsmia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwhssf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwhssfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwhumi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwhumia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlsmiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlsmianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlssiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlssianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlumi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlumia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlumiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlumianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlusiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlusianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmfaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmfan(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmiaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmian(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwssf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwssfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwssfaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwssfan(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwumi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwumia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwumiaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwumian(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evnand(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evneg(__ppc_v2i); +__ppc_v2i __builtin_spe_evnor(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evor(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evorc(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evrlw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evrlwi(__ppc_v2i, char); +__ppc_v2i __builtin_spe_evrndw(__ppc_v2i); +__ppc_v2i __builtin_spe_evsel_eq(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_fseq(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_fsgt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_fslt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_fststeq(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_fststgt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_fststlt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_gts(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_gtu(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_lts(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_ltu(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evslw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evslwi(__ppc_v2i, char); +__ppc_v2i __builtin_spe_evsplatfi(signed char); +__ppc_v2i __builtin_spe_evsplati(signed char); +__ppc_v2i __builtin_spe_evsrwis(__ppc_v2i, char); +__ppc_v2i __builtin_spe_evsrwiu(__ppc_v2i, char); +__ppc_v2i __builtin_spe_evsrws(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsrwu(__ppc_v2i, __ppc_v2i); +void __builtin_spe_evstdd(__ppc_v2i, __ppc_v2i*, char); +void __builtin_spe_evstddx(__ppc_v2i, __ppc_v2i*, int); +void __builtin_spe_evstdh(__ppc_v2i, __ppc_v2i*, char); +void __builtin_spe_evstdhx(__ppc_v2i, __ppc_v2i*, int); +void __builtin_spe_evstdw(__ppc_v2i, __ppc_v2i*, char); +void __builtin_spe_evstdwx(__ppc_v2i, __ppc_v2i*, int); +void __builtin_spe_evstwhe(__ppc_v2i, unsigned int*, char); +void __builtin_spe_evstwhex(__ppc_v2i, unsigned int*, int); +void __builtin_spe_evstwho(__ppc_v2i, unsigned int*, char); +void __builtin_spe_evstwhox(__ppc_v2i, unsigned int*, int); +void __builtin_spe_evstwwe(__ppc_v2i, unsigned int*, char); +void __builtin_spe_evstwwex(__ppc_v2i, unsigned int*, int); +void __builtin_spe_evstwwo(__ppc_v2i, unsigned int*, char); +void __builtin_spe_evstwwox(__ppc_v2i, unsigned int*, int); +__ppc_v2i __builtin_spe_evsubfsmiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evsubfssiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evsubfumiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evsubfusiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evsubfw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsubifw(__ppc_v2i, char); +__ppc_v2i __builtin_spe_evxor(__ppc_v2i, __ppc_v2i); +int __builtin_spe_mfspefscr(); +void __builtin_spe_mtspefscr(int); + +__ppc_v2i __builtin_spe2_evaddwss(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evaddhss(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evsubfwss(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evsubfhss(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evsatsdsw(__ppc_v2i); +__ppc_v2i __internal_ev_mwhssfanw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evmwhssfanw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evmwhssfaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evdotpwcssf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evdotphihcssf(__ppc_v2i, __ppc_v2i); + +#endif + +#ifdef __coverity_cplusplus +} +#endif + +#ifdef __COVERITY_ALTIVEC__ +/* Declarations of AltiVec PPU built-in intrinsic functions. */ +/* Many of these are overloaded, so they can't be declared in C. For those + * that have operator equivalents those equivalents are used in C instead, + * otherwise a generic version with no parameter types is declared. + */ + +typedef vector int __coverity_generic_altivec_vector; + +#ifdef __coverity_cplusplus +extern vector signed char __builtin_vec_abs (vector signed char a1); +extern vector signed short __builtin_vec_abs (vector signed short a1); +extern vector signed int __builtin_vec_abs (vector signed int a1); +extern vector float __builtin_vec_abs (vector float a1); + +extern vector signed char __builtin_vec_abss (vector signed char a1); +extern vector signed short __builtin_vec_abss (vector signed short a1); +#else +__coverity_generic_altivec_vector __builtin_vec_abs(); +__coverity_generic_altivec_vector __builtin_vec_abss(); +#endif + +#ifdef __coverity_cplusplus + extern vector unsigned int __builtin_vec_vslw (vector unsigned int a1, vector unsigned int a2); +#else +__coverity_generic_altivec_vector __builtin_vec_vslw (); +#endif + +#ifdef __coverity_cplusplus +extern int __builtin_vec_vcmpgt_p(int, vector signed char a1, vector signed char a2); +extern int __builtin_vec_vcmpgt_p(int, vector unsigned char a1, vector unsigned char a2); +extern int __builtin_vec_vcmpgt_p(int, vector signed short a1, vector signed short a2); +extern int __builtin_vec_vcmpgt_p(int, vector unsigned short a1, vector unsigned short a2); +extern int __builtin_vec_vcmpgt_p(int, vector signed int a1, vector signed int a2); +extern int __builtin_vec_vcmpgt_p(int, vector unsigned int a1, vector unsigned int a2); +extern int __builtin_vec_vcmpgt_p(int, vector signed char a1, vector signed char a2); +extern int __builtin_vec_vcmpgt_p(int, vector float a1, vector float a2); +#else +int __builtin_vec_vcmpgt_p(); +#endif + +#ifdef __coverity_cplusplus +extern vector signed char __builtin_vec_add (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_add (vector signed char a1, vector unsigned char a2); + +extern vector unsigned char __builtin_vec_add (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_add (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_add (vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_vec_add (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_add (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_add (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_add (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_add (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_add (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_add (vector unsigned int a1, vector unsigned int a2); +extern vector float __builtin_vec_add (vector float a1, vector float a2); +#else +# define __builtin_vec_add(a, b) ((a) + (b)) +#endif + +extern vector unsigned int __builtin_vec_addc (vector unsigned int a1, vector unsigned int a2); + +#ifdef __coverity_cplusplus +extern vector unsigned char __builtin_vec_adds (vector signed char a1, + vector unsigned char a2); +extern vector unsigned char __builtin_vec_adds (vector unsigned char a1, + vector signed char a2); +extern vector unsigned char __builtin_vec_adds (vector unsigned char a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_adds (vector signed char a1, vector signed char a2); +extern vector unsigned short __builtin_vec_adds (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_adds (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_adds (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_adds (vector signed short a1, vector signed short a2); + +extern vector unsigned int __builtin_vec_adds (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_adds (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_adds (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_adds (vector signed int a1, vector signed int a2); +#else +__coverity_generic_altivec_vector __builtin_vec_adds (); +#endif + +#ifdef __coverity_cplusplus +extern vector float __builtin_vec_and (vector float a1, vector float a2); +extern vector float __builtin_vec_and (vector float a1, vector signed int a2); +extern vector float __builtin_vec_and (vector signed int a1, vector float a2); +extern vector signed int __builtin_vec_and (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_and (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_and (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_and (vector unsigned int a1, vector unsigned int a2); +extern vector signed short __builtin_vec_and (vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_vec_and (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_and (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_and (vector unsigned short a1, + vector unsigned short a2); +extern vector signed char __builtin_vec_and (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_and (vector signed char a1, vector unsigned char a2); + +extern vector unsigned char __builtin_vec_and (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_and (vector unsigned char a1, + vector unsigned char a2); +#else +# define __builtin_vec_and(a, b) ((a) & (b)) +#endif + +#ifdef __coverity_cplusplus +extern vector float __builtin_vec_andc (vector float a1, vector float a2); +extern vector float __builtin_vec_andc (vector float a1, vector signed int a2); +extern vector float __builtin_vec_andc (vector signed int a1, vector float a2); +extern vector signed int __builtin_vec_andc (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_andc (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_andc (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_andc (vector unsigned int a1, vector unsigned int a2); + +extern vector signed short __builtin_vec_andc (vector signed short a1, vector signed short a2); + +extern vector unsigned short __builtin_vec_andc (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_andc (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_andc (vector unsigned short a1, + vector unsigned short a2); +extern vector signed char __builtin_vec_andc (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_andc (vector signed char a1, + vector unsigned char a2); +extern vector unsigned char __builtin_vec_andc (vector unsigned char a1, + vector signed char a2); +extern vector unsigned char __builtin_vec_andc (vector unsigned char a1, + vector unsigned char a2); +#else +__coverity_generic_altivec_vector __builtin_vec_andc (); +#endif + +#ifdef __coverity_cplusplus +extern vector unsigned char __builtin_vec_avg (vector unsigned char a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_avg (vector signed char a1, vector signed char a2); +extern vector unsigned short __builtin_vec_avg (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_avg (vector signed short a1, vector signed short a2); +extern vector unsigned int __builtin_vec_avg (vector unsigned int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_avg (vector signed int a1, vector signed int a2); +#else +__coverity_generic_altivec_vector __builtin_vec_avg (); +#endif + +extern vector float __builtin_vec_ceil (vector float a1); + +extern vector signed int __builtin_vec_cmpb (vector float a1, vector float a2); + +#ifdef __coverity_cplusplus +extern vector signed char __builtin_vec_cmpeq (vector signed char a1, vector signed char a2); +extern vector signed char __builtin_vec_cmpeq (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_cmpeq (vector signed short a1, + vector signed short a2); +extern vector signed short __builtin_vec_cmpeq (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_cmpeq (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_cmpeq (vector unsigned int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_cmpeq (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_cmpge (vector float a1, vector float a2); + +extern vector signed char __builtin_vec_cmpgt (vector unsigned char a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_cmpgt (vector signed char a1, vector signed char a2); +extern vector signed short __builtin_vec_cmpgt (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_cmpgt (vector signed short a1, + vector signed short a2); +extern vector signed int __builtin_vec_cmpgt (vector unsigned int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_cmpgt (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_cmpgt (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_cmple (vector float a1, vector float a2); + +extern vector signed char __builtin_vec_cmplt (vector unsigned char a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_cmplt (vector signed char a1, vector signed char a2); +extern vector signed short __builtin_vec_cmplt (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_cmplt (vector signed short a1, + vector signed short a2); +extern vector signed int __builtin_vec_cmplt (vector unsigned int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_cmplt (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_cmplt (vector float a1, vector float a2); +#else +__coverity_generic_altivec_vector __builtin_vec_cmpeq (); +__coverity_generic_altivec_vector __builtin_vec_cmpge (); +__coverity_generic_altivec_vector __builtin_vec_cmpgt (); +__coverity_generic_altivec_vector __builtin_vec_cmple (); +__coverity_generic_altivec_vector __builtin_vec_cmplt (); +#endif + +#ifdef __coverity_cplusplus +extern vector float __builtin_vec_ctf (vector unsigned int a1, const char a2); +extern vector float __builtin_vec_ctf (vector signed int a1, const char a2); +#else +extern vector float __builtin_vec_ctf (); +#endif + +extern vector signed int __builtin_vec_cts (vector float a1, const char a2); + +extern vector unsigned int __builtin_vec_ctu (vector float a1, const char a2); + +extern void __builtin_vec_dss (const char a1); + +extern void __builtin_vec_dssall (void); + +extern void __builtin_vec_dst (const void * a1, int a2, const char a3); + +extern void __builtin_vec_dstst (const void * a1, int a2, const char a3); + +extern void __builtin_vec_dststt (const void * a1, int a2, const char a3); + +extern void __builtin_vec_dstt (const void * a1, int a2, const char a3); + +#ifdef __coverity_cplusplus +extern vector float __builtin_vec_expte (vector float a1, vector float a2); +extern vector float __builtin_vec_expte (vector float a1); + +extern vector float __builtin_vec_floor (vector float a1, vector float a2); +extern vector float __builtin_vec_floor (vector float a1); +#else +__coverity_generic_altivec_vector __builtin_vec_expte(); +__coverity_generic_altivec_vector __builtin_vec_floor(); +#endif + +#ifdef __coverity_cplusplus +extern vector float __builtin_vec_ld (int a1, vector float * a2); +extern vector float __builtin_vec_ld (int a1, float * a2); +extern vector signed int __builtin_vec_ld (int a1, int * a2); +extern vector signed int __builtin_vec_ld (int a1, vector signed int * a2); +extern vector unsigned int __builtin_vec_ld (int a1, vector unsigned int * a2); +extern vector unsigned int __builtin_vec_ld (int a1, unsigned int * a2); +extern vector signed short __builtin_vec_ld (int a1, short * a2, vector signed short * a3); +extern vector unsigned short __builtin_vec_ld (int a1, unsigned short * a2, + vector unsigned short * a3); +extern vector signed char __builtin_vec_ld (int a1, signed char * a2); +extern vector signed char __builtin_vec_ld (int a1, vector signed char * a2); +extern vector unsigned char __builtin_vec_ld (int a1, unsigned char * a2); +extern vector unsigned char __builtin_vec_ld (int a1, vector unsigned char * a2); + +extern vector signed char __builtin_vec_lde (int a1, signed char * a2); +extern vector unsigned char __builtin_vec_lde (int a1, unsigned char * a2); +extern vector signed short __builtin_vec_lde (int a1, short * a2); +extern vector unsigned short __builtin_vec_lde (int a1, unsigned short * a2); +extern vector float __builtin_vec_lde (int a1, float * a2); +extern vector signed int __builtin_vec_lde (int a1, int * a2); +extern vector unsigned int __builtin_vec_lde (int a1, unsigned int * a2); + +extern vector float __builtin_vec_ldl (int a1, float * a2); +extern vector float __builtin_vec_ldl (int a1, vector float * a2); +extern vector signed int __builtin_vec_ldl (int a1, vector signed int * a2); +extern vector signed int __builtin_vec_ldl (int a1, int * a2); +extern vector unsigned int __builtin_vec_ldl (int a1, unsigned int * a2); +extern vector unsigned int __builtin_vec_ldl (int a1, vector unsigned int * a2); +extern vector signed short __builtin_vec_ldl (int a1, vector signed short * a2); +extern vector signed short __builtin_vec_ldl (int a1, short * a2); +extern vector unsigned short __builtin_vec_ldl (int a1, vector unsigned short * a2); +extern vector unsigned short __builtin_vec_ldl (int a1, unsigned short * a2); +extern vector signed char __builtin_vec_ldl (int a1, vector signed char * a2); +extern vector signed char __builtin_vec_ldl (int a1, signed char * a2); +extern vector unsigned char __builtin_vec_ldl (int a1, vector unsigned char * a2); +extern vector unsigned char __builtin_vec_ldl (int a1, unsigned char * a2); +#else +__coverity_generic_altivec_vector __builtin_vec_ld (); +__coverity_generic_altivec_vector __builtin_vec_lde (); +__coverity_generic_altivec_vector __builtin_vec_ldl (); +#endif + +extern vector float __builtin_vec_loge (vector float a1); + +extern vector unsigned char __builtin_vec_lvsl (int a1, const void * a2, int * a3); + +extern vector unsigned char __builtin_vec_lvsr (int a1, const void * a2, int * a3); + +extern vector float __builtin_vec_madd (vector float a1, vector float a2, vector float a3); + +extern vector signed short __builtin_vec_madds (vector signed short a1, vector signed short a2, + vector signed short a3); + +#ifdef __coverity_cplusplus +extern vector unsigned char __builtin_vec_max (vector signed char a1, vector unsigned char a2); + +extern vector unsigned char __builtin_vec_max (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_max (vector unsigned char a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_max (vector signed char a1, vector signed char a2); +extern vector unsigned short __builtin_vec_max (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_max (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_max (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_max (vector signed short a1, vector signed short a2); +extern vector unsigned int __builtin_vec_max (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_max (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_max (vector unsigned int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_max (vector signed int a1, vector signed int a2); +extern vector float __builtin_vec_max (vector float a1, vector float a2); + +extern vector signed char __builtin_vec_mergeh (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_mergeh (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_mergeh (vector signed short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_mergeh (vector unsigned short a1, + vector unsigned short a2); +extern vector float __builtin_vec_mergeh (vector float a1, vector float a2); +extern vector signed int __builtin_vec_mergeh (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_mergeh (vector unsigned int a1, + vector unsigned int a2); + +extern vector signed char __builtin_vec_mergel (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_mergel (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_mergel (vector signed short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_mergel (vector unsigned short a1, + vector unsigned short a2); +extern vector float __builtin_vec_mergel (vector float a1, vector float a2); +extern vector signed int __builtin_vec_mergel (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_mergel (vector unsigned int a1, + vector unsigned int a2); +#else +__coverity_generic_altivec_vector __builtin_vec_max (); +__coverity_generic_altivec_vector __builtin_vec_mergeh (); +__coverity_generic_altivec_vector __builtin_vec_mergel (); +#endif + +extern vector unsigned short __builtin_vec_mfvscr (void); + +#ifdef __coverity_cplusplus +extern vector unsigned char __builtin_vec_min (vector signed char a1, vector unsigned char a2); + +extern vector unsigned char __builtin_vec_min (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_min (vector unsigned char a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_min (vector signed char a1, vector signed char a2); +extern vector unsigned short __builtin_vec_min (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_min (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_min (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_min (vector signed short a1, vector signed short a2); +extern vector unsigned int __builtin_vec_min (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_min (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_min (vector unsigned int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_min (vector signed int a1, vector signed int a2); +extern vector float __builtin_vec_min (vector float a1, vector float a2); + +extern vector signed short __builtin_vec_mladd (vector signed short a1, vector signed short a2, + vector signed short a3); +extern vector signed short __builtin_vec_mladd (vector signed short a1, + vector unsigned short a2, + vector unsigned short a3); +extern vector signed short __builtin_vec_mladd (vector unsigned short a1, + vector signed short a2, + vector signed short a3); +extern vector unsigned short __builtin_vec_mladd (vector unsigned short a1, + vector unsigned short a2, + vector unsigned short a3); +#else +__coverity_generic_altivec_vector __builtin_vec_min (); +__coverity_generic_altivec_vector __builtin_vec_mladd (); +#endif + +extern vector signed short __builtin_vec_mradds (vector signed short a1, + vector signed short a2, + vector signed short a3); + +#ifdef __coverity_cplusplus +extern vector unsigned int __builtin_vec_msum (vector unsigned char a1, + vector unsigned char a2, + vector unsigned int a3); +extern vector signed int __builtin_vec_msum (vector signed char a1, vector unsigned char a2, + vector signed int a3); +extern vector unsigned int __builtin_vec_msum (vector unsigned short a1, + vector unsigned short a2, + vector unsigned int a3); +extern vector signed int __builtin_vec_msum (vector signed short a1, vector signed short a2, + vector signed int a3); + +extern vector unsigned int __builtin_vec_msums (vector unsigned short a1, + vector unsigned short a2, + vector unsigned int a3); +extern vector signed int __builtin_vec_msums (vector signed short a1, vector signed short a2, + vector signed int a3); + +extern void __builtin_vec_mtvscr (vector signed int a1); +extern void __builtin_vec_mtvscr (vector unsigned int a1); +extern void __builtin_vec_mtvscr (vector signed short a1); +extern void __builtin_vec_mtvscr (vector unsigned short a1); +extern void __builtin_vec_mtvscr (vector signed char a1); +extern void __builtin_vec_mtvscr (vector unsigned char a1); + +extern vector unsigned short __builtin_vec_mule (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_mule (vector signed char a1, vector signed char a2); +extern vector unsigned int __builtin_vec_mule (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_mule (vector signed short a1, vector signed short a2); + +extern vector unsigned short __builtin_vec_mulo (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_mulo (vector signed char a1, vector signed char a2); +extern vector unsigned int __builtin_vec_mulo (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_mulo (vector signed short a1, vector signed short a2); +#else +__coverity_generic_altivec_vector __builtin_vec_msum (); +__coverity_generic_altivec_vector __builtin_vec_msums (); +extern void __builtin_vec_mtvscr (); +__coverity_generic_altivec_vector __builtin_vec_mule (); +__coverity_generic_altivec_vector __builtin_vec_mulo (); +#endif + +extern vector float __builtin_vec_nmsub (vector float a1, vector float a2, vector float a3); + +#ifdef __coverity_cplusplus +extern vector float __builtin_vec_nor (vector float a1, vector float a2); +extern vector signed int __builtin_vec_nor (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_nor (vector unsigned int a1, vector unsigned int a2); +extern vector signed short __builtin_vec_nor (vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_vec_nor (vector unsigned short a1, + vector unsigned short a2); +extern vector signed char __builtin_vec_nor (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_nor (vector unsigned char a1, + vector unsigned char a2); + +extern vector float __builtin_vec_or (vector float a1, vector float a2); +extern vector float __builtin_vec_or (vector float a1, vector signed int a2); +extern vector float __builtin_vec_or (vector signed int a1, vector float a2); +extern vector signed int __builtin_vec_or (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_or (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_or (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_or (vector unsigned int a1, vector unsigned int a2); +extern vector signed short __builtin_vec_or (vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_vec_or (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_or (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_or (vector unsigned short a1, + vector unsigned short a2); +extern vector signed char __builtin_vec_or (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_or (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_or (vector unsigned char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_or (vector unsigned char a1, + vector unsigned char a2); + +extern vector signed char __builtin_vec_pack (vector signed short a1, vector signed short a2); +extern vector unsigned char __builtin_vec_pack (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_pack (vector signed int a1, vector signed int a2); +extern vector unsigned short __builtin_vec_pack (vector unsigned int a1, + vector unsigned int a2); +#else +# define __builtin_vec_nor(a, b) (~((a) | (b))) +# define __builtin_vec_or(a, b) ((a) | (b)) +__coverity_generic_altivec_vector __builtin_vec_pack (); +#endif + +extern vector signed short __builtin_vec_packpx (vector unsigned int a1, + vector unsigned int a2); + +#ifdef __coverity_cplusplus +extern vector unsigned char __builtin_vec_packs (vector unsigned short a1, + vector unsigned short a2); +extern vector signed char __builtin_vec_packs (vector signed short a1, vector signed short a2); + +extern vector unsigned short __builtin_vec_packs (vector unsigned int a1, + vector unsigned int a2); +extern vector signed short __builtin_vec_packs (vector signed int a1, vector signed int a2); + +extern vector unsigned char __builtin_vec_packsu (vector unsigned short a1, + vector unsigned short a2); +extern vector unsigned char __builtin_vec_packsu (vector signed short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_packsu (vector unsigned int a1, + vector unsigned int a2); +extern vector unsigned short __builtin_vec_packsu (vector signed int a1, vector signed int a2); + +extern vector float __builtin_vec_perm (vector float a1, vector float a2, + vector unsigned char a3); +extern vector signed int __builtin_vec_perm (vector signed int a1, vector signed int a2, + vector unsigned char a3); +extern vector unsigned int __builtin_vec_perm (vector unsigned int a1, vector unsigned int a2, + vector unsigned char a3); +extern vector signed short __builtin_vec_perm (vector signed short a1, vector signed short a2, + vector unsigned char a3); +extern vector unsigned short __builtin_vec_perm (vector unsigned short a1, + vector unsigned short a2, + vector unsigned char a3); +extern vector signed char __builtin_vec_perm (vector signed char a1, vector signed char a2, + vector unsigned char a3); +extern vector unsigned char __builtin_vec_perm (vector unsigned char a1, + vector unsigned char a2, + vector unsigned char a3); +#else +__coverity_generic_altivec_vector __builtin_vec_packs (); +__coverity_generic_altivec_vector __builtin_vec_packsu (); +__coverity_generic_altivec_vector __builtin_vec_perm (); +#endif + +extern vector float __builtin_vec_re (vector float a1); + +#ifdef __coverity_cplusplus +extern vector signed char __builtin_vec_rl (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_rl (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_rl (vector signed short a1, vector unsigned short a2); + +extern vector unsigned short __builtin_vec_rl (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_rl (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_rl (vector unsigned int a1, vector unsigned int a2); +#else +__coverity_generic_altivec_vector __builtin_vec_rl (); +#endif + +extern vector float __builtin_vec_round (vector float a1); + +extern vector float __builtin_vec_rsqrte (vector float a1); + +#ifdef __coverity_cplusplus +extern vector float __builtin_vec_sel (vector float a1, vector float a2, vector signed int a3); +extern vector float __builtin_vec_sel (vector float a1, vector float a2, vector unsigned int a3); +extern vector signed int __builtin_vec_sel (vector signed int a1, vector signed int a2, + vector signed int a3); +extern vector signed int __builtin_vec_sel (vector signed int a1, vector signed int a2, + vector unsigned int a3); +extern vector unsigned int __builtin_vec_sel (vector unsigned int a1, vector unsigned int a2, + vector signed int a3); +extern vector unsigned int __builtin_vec_sel (vector unsigned int a1, vector unsigned int a2, + vector unsigned int a3); +extern vector signed short __builtin_vec_sel (vector signed short a1, vector signed short a2, + vector signed short a3); +extern vector signed short __builtin_vec_sel (vector signed short a1, vector signed short a2, + vector unsigned short a3); +extern vector unsigned short __builtin_vec_sel (vector unsigned short a1, + vector unsigned short a2, + vector signed short a3); +extern vector unsigned short __builtin_vec_sel (vector unsigned short a1, + vector unsigned short a2, + vector unsigned short a3); +extern vector signed char __builtin_vec_sel (vector signed char a1, vector signed char a2, + vector signed char a3); +extern vector signed char __builtin_vec_sel (vector signed char a1, vector signed char a2, + vector unsigned char a3); +extern vector unsigned char __builtin_vec_sel (vector unsigned char a1, + vector unsigned char a2, + vector signed char a3); +extern vector unsigned char __builtin_vec_sel (vector unsigned char a1, + vector unsigned char a2, + vector unsigned char a3); + +extern vector signed char __builtin_vec_sl (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_sl (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_sl (vector signed short a1, vector unsigned short a2); + +extern vector unsigned short __builtin_vec_sl (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_sl (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_sl (vector unsigned int a1, vector unsigned int a2); + +extern vector float __builtin_vec_sld (vector float a1, vector float a2, const char a3); +extern vector signed int __builtin_vec_sld (vector signed int a1, vector signed int a2, + const char a3); +extern vector unsigned int __builtin_vec_sld (vector unsigned int a1, vector unsigned int a2, + const char a3); +extern vector signed short __builtin_vec_sld (vector signed short a1, vector signed short a2, + const char a3); +extern vector unsigned short __builtin_vec_sld (vector unsigned short a1, + vector unsigned short a2, const char a3); +extern vector signed char __builtin_vec_sld (vector signed char a1, vector signed char a2, + const char a3); +extern vector unsigned char __builtin_vec_sld (vector unsigned char a1, + vector unsigned char a2, + const char a3); + +extern vector signed int __builtin_vec_sll (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_sll (vector signed int a1, vector unsigned short a2); +extern vector signed int __builtin_vec_sll (vector signed int a1, vector unsigned char a2); +extern vector unsigned int __builtin_vec_sll (vector unsigned int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_sll (vector unsigned int a1, + vector unsigned short a2); +extern vector unsigned int __builtin_vec_sll (vector unsigned int a1, vector unsigned char a2); + +extern vector signed short __builtin_vec_sll (vector signed short a1, vector unsigned int a2); +extern vector signed short __builtin_vec_sll (vector signed short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_sll (vector signed short a1, vector unsigned char a2); + +extern vector unsigned short __builtin_vec_sll (vector unsigned short a1, + vector unsigned int a2); +extern vector unsigned short __builtin_vec_sll (vector unsigned short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_sll (vector unsigned short a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_sll (vector signed char a1, vector unsigned int a2); +extern vector signed char __builtin_vec_sll (vector signed char a1, vector unsigned short a2); +extern vector signed char __builtin_vec_sll (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_sll (vector unsigned char a1, + vector unsigned int a2); +extern vector unsigned char __builtin_vec_sll (vector unsigned char a1, + vector unsigned short a2); +extern vector unsigned char __builtin_vec_sll (vector unsigned char a1, + vector unsigned char a2); + +extern vector float __builtin_vec_slo (vector float a1, vector signed char a2); +extern vector float __builtin_vec_slo (vector float a1, vector unsigned char a2); +extern vector signed int __builtin_vec_slo (vector signed int a1, vector signed char a2); +extern vector signed int __builtin_vec_slo (vector signed int a1, vector unsigned char a2); +extern vector unsigned int __builtin_vec_slo (vector unsigned int a1, vector signed char a2); +extern vector unsigned int __builtin_vec_slo (vector unsigned int a1, vector unsigned char a2); + +extern vector signed short __builtin_vec_slo (vector signed short a1, vector signed char a2); +extern vector signed short __builtin_vec_slo (vector signed short a1, vector unsigned char a2); + +extern vector unsigned short __builtin_vec_slo (vector unsigned short a1, + vector signed char a2); +extern vector unsigned short __builtin_vec_slo (vector unsigned short a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_slo (vector signed char a1, vector signed char a2); +extern vector signed char __builtin_vec_slo (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_slo (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_slo (vector unsigned char a1, + vector unsigned char a2); + +extern vector signed char __builtin_vec_splat (vector signed char a1, const char a2); +extern vector unsigned char __builtin_vec_splat (vector unsigned char a1, const char a2); +extern vector signed short __builtin_vec_splat (vector signed short a1, const char a2); +extern vector unsigned short __builtin_vec_splat (vector unsigned short a1, const char a2); +extern vector float __builtin_vec_splat (vector float a1, const char a2); +extern vector signed int __builtin_vec_splat (vector signed int a1, const char a2); +extern vector unsigned int __builtin_vec_splat (vector unsigned int a1, const char a2); +#else +# define __builtin_vec_sl(a, b) ((a) << (b)) +__coverity_generic_altivec_vector __builtin_vec_sel (); +__coverity_generic_altivec_vector __builtin_vec_sel (); +__coverity_generic_altivec_vector __builtin_vec_sld (); +__coverity_generic_altivec_vector __builtin_vec_sll (); +__coverity_generic_altivec_vector __builtin_vec_slo (); +#endif + +extern vector signed char __builtin_vec_splat_s8 (const char a1); + +extern vector signed short __builtin_vec_splat_s16 (const char a1); + +extern vector signed int __builtin_vec_splat_s32 (const char a1); + +extern vector unsigned char __builtin_vec_splat_u8 (const char a1); + +extern vector unsigned short __builtin_vec_splat_u16 (const char a1); + +extern vector unsigned int __builtin_vec_splat_u32 (const char a1); + +#ifdef __coverity_cplusplus +extern vector signed char __builtin_vec_sr (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_sr (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_sr (vector signed short a1, vector unsigned short a2); + +extern vector unsigned short __builtin_vec_sr (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_sr (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_sr (vector unsigned int a1, vector unsigned int a2); + +extern vector signed char __builtin_vec_sra (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_sra (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_sra (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_sra (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_sra (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_sra (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_srl (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_srl (vector signed int a1, vector unsigned short a2); +extern vector signed int __builtin_vec_srl (vector signed int a1, vector unsigned char a2); +extern vector unsigned int __builtin_vec_srl (vector unsigned int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_srl (vector unsigned int a1, + vector unsigned short a2); +extern vector unsigned int __builtin_vec_srl (vector unsigned int a1, vector unsigned char a2); + +extern vector signed short __builtin_vec_srl (vector signed short a1, vector unsigned int a2); +extern vector signed short __builtin_vec_srl (vector signed short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_srl (vector signed short a1, vector unsigned char a2); + +extern vector unsigned short __builtin_vec_srl (vector unsigned short a1, + vector unsigned int a2); +extern vector unsigned short __builtin_vec_srl (vector unsigned short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_srl (vector unsigned short a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_srl (vector signed char a1, vector unsigned int a2); +extern vector signed char __builtin_vec_srl (vector signed char a1, vector unsigned short a2); +extern vector signed char __builtin_vec_srl (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_srl (vector unsigned char a1, + vector unsigned int a2); +extern vector unsigned char __builtin_vec_srl (vector unsigned char a1, + vector unsigned short a2); +extern vector unsigned char __builtin_vec_srl (vector unsigned char a1, + vector unsigned char a2); + +extern vector float __builtin_vec_sro (vector float a1, vector signed char a2); +extern vector float __builtin_vec_sro (vector float a1, vector unsigned char a2); +extern vector signed int __builtin_vec_sro (vector signed int a1, vector signed char a2); +extern vector signed int __builtin_vec_sro (vector signed int a1, vector unsigned char a2); +extern vector unsigned int __builtin_vec_sro (vector unsigned int a1, vector signed char a2); +extern vector unsigned int __builtin_vec_sro (vector unsigned int a1, vector unsigned char a2); + +extern vector signed short __builtin_vec_sro (vector signed short a1, vector signed char a2); +extern vector signed short __builtin_vec_sro (vector signed short a1, vector unsigned char a2); + +extern vector unsigned short __builtin_vec_sro (vector unsigned short a1, + vector signed char a2); +extern vector unsigned short __builtin_vec_sro (vector unsigned short a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_sro (vector signed char a1, vector signed char a2); +extern vector signed char __builtin_vec_sro (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_sro (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_sro (vector unsigned char a1, + vector unsigned char a2); + +extern void __builtin_vec_st (vector float a1, int a2, const void * a3); +extern void __builtin_vec_st (vector signed int a1, int a2, const void * a3); +extern void __builtin_vec_st (vector unsigned int a1, int a2, const void * a3); +extern void __builtin_vec_st (vector signed short a1, int a2, const void * a3); +extern void __builtin_vec_st (vector unsigned short a1, int a2, const void * a3); +extern void __builtin_vec_st (vector signed char a1, int a2, const void * a3); +extern void __builtin_vec_st (vector unsigned char a1, int a2, const void * a3); + +extern void __builtin_vec_ste (vector signed char a1, int a2, const void * a3); +extern void __builtin_vec_ste (vector unsigned char a1, int a2, unsigned char * a3); +extern void __builtin_vec_ste (vector signed short a1, int a2, const void * a3); +extern void __builtin_vec_ste (vector unsigned short a1, int a2, const void * a3); +extern void __builtin_vec_ste (vector signed int a1, int a2, const void * a3); +extern void __builtin_vec_ste (vector unsigned int a1, int a2, unsigned int * a3); +extern void __builtin_vec_ste (vector float a1, int a2, float * a3); + +extern void __builtin_vec_stl (vector float a1, int a2, const void * a3); +extern void __builtin_vec_stl (vector signed int a1, int a2, const void * a3); +extern void __builtin_vec_stl (vector unsigned int a1, int a2, const void * a3); +extern void __builtin_vec_stl (vector signed short a1, int a2, const void * a3); +extern void __builtin_vec_stl (vector unsigned short a1, int a2, const void * a3); +extern void __builtin_vec_stl (vector signed char a1, int a2, const void * a3); +extern void __builtin_vec_stl (vector unsigned char a1, int a2, const void * a3); + +extern vector signed char __builtin_vec_sub (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_sub (vector signed char a1, vector unsigned char a2); + +extern vector unsigned char __builtin_vec_sub (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_sub (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_sub (vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_vec_sub (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_sub (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_sub (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_sub (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_sub (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_sub (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_sub (vector unsigned int a1, vector unsigned int a2); +extern vector float __builtin_vec_sub (vector float a1, vector float a2); + +extern vector unsigned int __builtin_vec_subc (vector unsigned int a1, vector unsigned int a2); + +extern vector unsigned char __builtin_vec_subs (vector signed char a1, + vector unsigned char a2); +extern vector unsigned char __builtin_vec_subs (vector unsigned char a1, + vector signed char a2); +extern vector unsigned char __builtin_vec_subs (vector unsigned char a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_subs (vector signed char a1, vector signed char a2); +extern vector unsigned short __builtin_vec_subs (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_subs (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_subs (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_subs (vector signed short a1, vector signed short a2); + +extern vector unsigned int __builtin_vec_subs (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_subs (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_subs (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_subs (vector signed int a1, vector signed int a2); + +extern vector unsigned int __builtin_vec_sum4s (vector unsigned char a1, + vector unsigned int a2); +extern vector signed int __builtin_vec_sum4s (vector signed char a1, vector signed int a2); +extern vector signed int __builtin_vec_sum4s (vector signed short a1, vector signed int a2); +#else +# define __builtin_vec_sr(a, b) ((a) >> (b)) +# define __builtin_vec_sub(a, b) ((a) - (b)) +__coverity_generic_altivec_vector __builtin_vec_sra (); +__coverity_generic_altivec_vector __builtin_vec_srl (); +__coverity_generic_altivec_vector __builtin_vec_sro (); +extern void __builtin_vec_st (); +extern void __builtin_vec_ste (); +extern void __builtin_vec_stl (); +__coverity_generic_altivec_vector __builtin_vec_subc (); +__coverity_generic_altivec_vector __builtin_vec_subs (); +__coverity_generic_altivec_vector __builtin_vec_sum4s (); +#endif + +extern vector signed int __builtin_vec_sum2s (vector signed int a1, vector signed int a2); + +extern vector signed int __builtin_vec_sums (vector signed int a1, vector signed int a2); + +extern vector float __builtin_vec_trunc (vector float a1); + +#ifdef __coverity_cplusplus +extern vector signed short __builtin_vec_unpackh (vector signed char a1); +extern vector unsigned int __builtin_vec_unpackh (vector unsigned short a1); +extern vector signed int __builtin_vec_unpackh (vector signed short a1); + +extern vector signed short __builtin_vec_unpackl (vector signed char a1); +extern vector unsigned int __builtin_vec_unpackl (vector unsigned short a1); +extern vector signed int __builtin_vec_unpackl (vector signed short a1); + +extern vector float __builtin_vec_xor (vector float a1, vector float a2); +extern vector float __builtin_vec_xor (vector float a1, vector signed int a2); +extern vector float __builtin_vec_xor (vector signed int a1, vector float a2); +extern vector signed int __builtin_vec_xor (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_xor (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_xor (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_xor (vector unsigned int a1, vector unsigned int a2); +extern vector signed short __builtin_vec_xor (vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_vec_xor (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_xor (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_xor (vector unsigned short a1, + vector unsigned short a2); +extern vector signed char __builtin_vec_xor (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_xor (vector signed char a1, vector unsigned char a2); + +extern vector unsigned char __builtin_vec_xor (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_xor (vector unsigned char a1, + vector unsigned char a2); + +extern vector signed int __builtin_vec_all_eq (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_all_eq (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_all_eq (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_all_eq (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_all_eq (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_eq (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_all_eq (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_all_eq (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_eq (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_all_eq (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_eq (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_eq (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_all_eq (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_ge (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_all_ge (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_all_ge (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_all_ge (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_all_ge (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_ge (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_all_ge (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_ge (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_all_ge (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_all_ge (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_ge (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_all_ge (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_ge (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_gt (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_all_gt (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_all_gt (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_all_gt (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_all_gt (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_gt (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_all_gt (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_gt (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_all_gt (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_all_gt (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_gt (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_all_gt (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_gt (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_in (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_le (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_all_le (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_all_le (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_all_le (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_all_le (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_le (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_all_le (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_le (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_all_le (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_all_le (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_le (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_all_le (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_le (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_lt (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_all_lt (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_all_lt (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_all_lt (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_all_lt (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_lt (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_all_lt (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_lt (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_all_lt (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_all_lt (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_lt (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_all_lt (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_lt (vector float a1, vector float a2); +#else +__coverity_generic_altivec_vector __builtin_vec_unpackh (); +__coverity_generic_altivec_vector __builtin_vec_unpackl (); +#define __builtin_vec_xor(a1, a2) ((a1) ^ (a2)) +__coverity_generic_altivec_vector __builtin_vec_all_eq (); +__coverity_generic_altivec_vector __builtin_vec_all_ge (); +__coverity_generic_altivec_vector __builtin_vec_all_gt (); +__coverity_generic_altivec_vector __builtin_vec_all_le (); +__coverity_generic_altivec_vector __builtin_vec_all_lt (); +#endif + +extern vector signed int __builtin_vec_all_nan (vector float a1); + +#ifdef __coverity_cplusplus +extern vector signed int __builtin_vec_all_ne (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_all_ne (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_all_ne (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_all_ne (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_all_ne (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_ne (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_all_ne (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_all_ne (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_ne (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_all_ne (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_ne (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_ne (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_all_ne (vector float a1, vector float a2); + +#else +__coverity_generic_altivec_vector __builtin_vec_all_ne (); +#endif + +extern vector signed int __builtin_vec_all_nge (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_ngt (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_nle (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_nlt (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_numeric (vector float a1); + +#ifdef __coverity_cplusplus +extern vector signed int __builtin_vec_any_eq (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_any_eq (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_any_eq (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_any_eq (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_any_eq (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_eq (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_any_eq (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_any_eq (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_eq (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_any_eq (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_eq (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_eq (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_any_eq (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_ge (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_any_ge (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_any_ge (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_any_ge (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_any_ge (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_ge (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_any_ge (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_ge (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_any_ge (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_any_ge (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_ge (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_any_ge (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_ge (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_gt (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_any_gt (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_any_gt (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_any_gt (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_any_gt (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_gt (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_any_gt (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_gt (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_any_gt (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_any_gt (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_gt (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_any_gt (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_gt (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_le (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_any_le (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_any_le (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_any_le (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_any_le (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_le (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_any_le (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_le (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_any_le (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_any_le (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_le (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_any_le (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_le (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_lt (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_any_lt (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_any_lt (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_any_lt (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_any_lt (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_lt (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_any_lt (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_lt (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_any_lt (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_any_lt (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_lt (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_any_lt (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_lt (vector float a1, vector float a2); +#else +__coverity_generic_altivec_vector __builtin_vec_any_eq (); +__coverity_generic_altivec_vector __builtin_vec_any_ge (); +__coverity_generic_altivec_vector __builtin_vec_any_gt (); +__coverity_generic_altivec_vector __builtin_vec_any_le (); +__coverity_generic_altivec_vector __builtin_vec_any_lt (); +#endif + +extern vector signed int __builtin_vec_any_nan (vector float a1); + +#ifdef __coverity_cplusplus +extern vector signed int __builtin_vec_any_ne (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_any_ne (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_any_ne (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_any_ne (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_any_ne (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_ne (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_any_ne (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_any_ne (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_ne (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_any_ne (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_ne (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_ne (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_any_ne (vector float a1, vector float a2); +#else +__coverity_generic_altivec_vector __builtin_vec_any_ne (); +#endif + +extern vector signed int __builtin_vec_any_nge (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_ngt (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_nle (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_nlt (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_numeric (vector float a1); + +extern vector signed int __builtin_vec_any_out (vector float a1, vector float a2); + +# ifndef OFFSET_T +# ifdef _ARCH_PPC64 +# define OFFSET_T long +# else +# define OFFSET_T int +# endif +# endif + +extern int __builtin_altivec_vcmpbfp_p(int a1, vector float a2, vector float a3); +extern int __builtin_altivec_vcmpeqfp_p(int a1, vector float a2, vector float a3); +extern int __builtin_altivec_vcmpeqfp_p(int, vector float a1, vector float a2); +extern int __builtin_altivec_vcmpequb_p(int a1, vector signed char a2, vector signed char a3); +extern int __builtin_altivec_vcmpequh_p(int a1, vector signed short a2, vector signed short a3); +extern int __builtin_altivec_vcmpequw_p(int a1, vector signed int a2, vector signed int a3); +extern int __builtin_altivec_vcmpgefp_p(int a1, vector float a2, vector float a3); +extern int __builtin_altivec_vcmpgtfp_p(int a1, vector float a2, vector float a3); +extern int __builtin_altivec_vcmpgtsb_p(int a1, vector signed char a2, vector signed char a3); +extern int __builtin_altivec_vcmpgtsh_p(int a1, vector signed short a2, vector signed short a3); +extern int __builtin_altivec_vcmpgtsw_p(int a1, vector signed int a2, vector signed int a3); +extern int __builtin_altivec_vcmpgtub_p(int a1, vector signed char a2, vector signed char a3); +extern int __builtin_altivec_vcmpgtuh_p(int a1, vector signed short a2, vector signed short a3); +extern int __builtin_altivec_vcmpgtuw_p(int a1, vector signed int a2, vector signed int a3); +extern vector bool char __builtin_altivec_lvx(OFFSET_T a1, const void * a2); +extern vector bool char __builtin_altivec_lvxl(OFFSET_T a1, const void * a2); +extern vector bool char __builtin_altivec_vand(vector signed int a1, vector signed int a2); +extern vector bool char __builtin_altivec_vandc(vector signed int a1, vector signed int a2); +extern vector bool char __builtin_altivec_vcmpequb(vector signed char a1, vector signed char a2); +extern vector bool char __builtin_altivec_vcmpgtsb(vector signed char a1, vector signed char a2); +extern vector bool char __builtin_altivec_vcmpgtub(vector signed char a1, vector signed char a2); +extern vector bool char __builtin_altivec_vmrghb(vector signed char a1, vector signed char a2); +extern vector bool char __builtin_altivec_vmrglb(vector signed char a1, vector signed char a2); +extern vector bool char __builtin_altivec_vnor(vector signed int a1, vector signed int a2); +extern vector bool char __builtin_altivec_vor(vector signed int a1, vector signed int a2); +extern vector bool char __builtin_altivec_vperm_4si(vector signed int a1, vector signed int a2, vector signed char a3); +extern vector bool char __builtin_altivec_vpkuhum(vector signed short a1, vector signed short a2); +extern vector bool char __builtin_altivec_vsel_4si(vector signed int a1, vector signed int a2, vector signed int a3); +extern vector bool char __builtin_altivec_vsl(vector signed int a1, vector signed int a2); +extern vector bool char __builtin_altivec_vsldoi_4si(vector signed int a1, vector signed int a2, const int a3); +extern vector bool char __builtin_altivec_vsldoi_4sf(vector float a1, vector float a2, const int a3); +extern vector bool char __builtin_altivec_vspltb(vector signed char a1, const int a2); +extern vector bool char __builtin_altivec_vsr(vector signed int a1, vector signed int a2); +extern vector bool char __builtin_altivec_vxor(vector signed int a1, vector signed int a2); +extern vector bool int __builtin_altivec_vcmpeqfp(vector float a1, vector float a2); +extern vector bool int __builtin_altivec_vcmpequw(vector signed int a1, vector signed int a2); +extern vector bool int __builtin_altivec_vcmpgefp(vector float a1, vector float a2); +extern vector bool int __builtin_altivec_vcmpgtfp(vector float a1, vector float a2); +extern vector bool int __builtin_altivec_vcmpgtsw(vector signed int a1, vector signed int a2); +extern vector bool int __builtin_altivec_vcmpgtuw(vector signed int a1, vector signed int a2); +extern vector bool int __builtin_altivec_vmrghw(vector signed int a1, vector signed int a2); +extern vector bool int __builtin_altivec_vmrglw(vector signed int a1, vector signed int a2); +extern vector bool int __builtin_altivec_vspltw(vector signed int a1, const int a2); +extern vector bool int __builtin_altivec_vupkhsh(vector signed short a1); +extern vector bool int __builtin_altivec_vupklsh(vector signed short a1); +extern vector bool short __builtin_altivec_vcmpequh(vector signed short a1, vector signed short a2); +extern vector bool short __builtin_altivec_vcmpgtsh(vector signed short a1, vector signed short a2); +extern vector bool short __builtin_altivec_vcmpgtuh(vector signed short a1, vector signed short a2); +extern vector bool short __builtin_altivec_vmrghh(vector signed short a1, vector signed short a2); +extern vector bool short __builtin_altivec_vmrglh(vector signed short a1, vector signed short a2); +extern vector bool short __builtin_altivec_vpkuwum(vector signed int a1, vector signed int a2); +extern vector bool short __builtin_altivec_vsplth(vector signed short a1, const int a2); +extern vector bool short __builtin_altivec_vupkhsb(vector signed char a1); +extern vector bool short __builtin_altivec_vupklsb(vector signed char a1); +extern vector float __builtin_altivec_abs_v4sf(vector float a1); +extern vector float __builtin_altivec_lvewx(OFFSET_T a1, const void * a2); +extern vector float __builtin_altivec_vaddfp(vector float a1, vector float a2); +extern vector float __builtin_altivec_vcfsx(vector signed int a1, const int a2); +extern vector float __builtin_altivec_vcfux(vector signed int a1, const int a2); +extern vector float __builtin_altivec_vexptefp(vector float a1); +extern vector float __builtin_altivec_vlogefp(vector float a1); +extern vector float __builtin_altivec_vmaddfp(vector float a1, vector float a2, vector float a3); +extern vector float __builtin_altivec_vmaxfp(vector float a1, vector float a2); +extern vector float __builtin_altivec_vminfp(vector float a1, vector float a2); +extern vector float __builtin_altivec_vnmsubfp(vector float a1, vector float a2, vector float a3); +extern vector float __builtin_altivec_vrefp(vector float a1); +extern vector float __builtin_altivec_vrfim(vector float a1); +extern vector float __builtin_altivec_vrfin(vector float a1); +extern vector float __builtin_altivec_vrfip(vector float a1); +extern vector float __builtin_altivec_vrfiz(vector float a1); +extern vector float __builtin_altivec_vrsqrtefp(vector float a1); +extern vector float __builtin_altivec_vslo(vector signed int a1, vector signed int a2); +extern vector float __builtin_altivec_vsro(vector signed int a1, vector signed int a2); +extern vector float __builtin_altivec_vsubfp(vector float a1, vector float a2); +extern vector pixel __builtin_altivec_vpkpx(vector signed int a1, vector signed int a2); +extern vector signed char __builtin_altivec_abs_v16qi(vector signed char a1); +extern vector signed char __builtin_altivec_abss_v16qi(vector signed char a1); +extern vector signed char __builtin_altivec_lvebx(OFFSET_T a1, const void * a2); +extern vector signed char __builtin_altivec_vaddsbs(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vaddubm(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vavgsb(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vmaxsb(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vminsb(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vpkshss(vector signed short a1, vector signed short a2); +extern vector signed char __builtin_altivec_vrlb(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vslb(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vspltisb(const int a1); +extern vector signed char __builtin_altivec_vsrab(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vsrb(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vsubsbs(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vsububm(vector signed char a1, vector signed char a2); +extern vector signed int __builtin_altivec_abs_v4si(vector signed int a1); +extern vector signed int __builtin_altivec_abss_v4si(vector signed int a1); +extern vector signed int __builtin_altivec_vaddsws(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vadduwm(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vavgsw(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vcmpbfp(vector float a1, vector float a2); +extern vector signed int __builtin_altivec_vctsxs(vector float a1, const int a2); +extern vector signed int __builtin_altivec_vmaxsw(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vminsw(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vmsummbm(vector signed char a1, vector signed char a2, vector signed int a3); +extern vector signed int __builtin_altivec_vmsumshm(vector signed short a1, vector signed short a2, vector signed int a3); +extern vector signed int __builtin_altivec_vmsumshs(vector signed short a1, vector signed short a2, vector signed int a3); +extern vector signed int __builtin_altivec_vmulesh(vector signed short a1, vector signed short a2); +extern vector signed int __builtin_altivec_vmulosh(vector signed short a1, vector signed short a2); +extern vector signed int __builtin_altivec_vrlw(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vslw(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vspltisw(const int a1); +extern vector signed int __builtin_altivec_vsraw(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vsrw(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vsubsws(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vsubuwm(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vsum2sws(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vsum4sbs(vector signed char a1, vector signed int a2); +extern vector signed int __builtin_altivec_vsum4shs(vector signed short a1, vector signed int a2); +extern vector signed int __builtin_altivec_vsumsws(vector signed int a1, vector signed int a2); +extern vector signed short __builtin_altivec_abs_v8hi(vector signed short a1); +extern vector signed short __builtin_altivec_abss_v8hi(vector signed short a1); +extern vector signed short __builtin_altivec_lvehx(OFFSET_T a1, const void * a2); +extern vector signed short __builtin_altivec_vaddshs(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vadduhm(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vavgsh(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vmaxsh(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vmhaddshs(vector signed short a1, vector signed short a2, vector signed short a3); +extern vector signed short __builtin_altivec_vmhraddshs(vector signed short a1, vector signed short a2, vector signed short a3); +extern vector signed short __builtin_altivec_vminsh(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vmladduhm(vector signed short a1, vector signed short a2, vector signed short a3); +extern vector signed short __builtin_altivec_vmulesb(vector signed char a1, vector signed char a2); +extern vector signed short __builtin_altivec_vmuleub(vector signed char a1, vector signed char a2); +extern vector signed short __builtin_altivec_vmulosb(vector signed char a1, vector signed char a2); +extern vector signed short __builtin_altivec_vpkswss(vector signed int a1, vector signed int a2); +extern vector signed short __builtin_altivec_vrlh(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vslh(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vspltish(const int a1); +extern vector signed short __builtin_altivec_vsrah(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vsrh(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vsubshs(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vsubuhm(vector signed short a1, vector signed short a2); +extern vector unsigned char __builtin_altivec_lvlx(OFFSET_T a1, const void * a2); +extern vector unsigned char __builtin_altivec_lvlxl(OFFSET_T a1, const void * a2); +extern vector unsigned char __builtin_altivec_lvrx(OFFSET_T a1, const void * a2); +extern vector unsigned char __builtin_altivec_lvrxl(OFFSET_T a1, const void * a2); +extern vector unsigned char __builtin_altivec_lvsl(OFFSET_T a1, const void * a2); +extern vector unsigned char __builtin_altivec_lvsr(OFFSET_T a1, const void * a2); +extern vector unsigned char __builtin_altivec_vaddubs(vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_altivec_vavgub(vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_altivec_vmaxub(vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_altivec_vminub(vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_altivec_vpkshus(vector signed short a1, vector signed short a2); +extern vector unsigned char __builtin_altivec_vpkuhus(vector signed short a1, vector signed short a2); +extern vector unsigned char __builtin_altivec_vsububs(vector signed char a1, vector signed char a2); +extern vector unsigned int __builtin_altivec_vaddcuw(vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vadduws(vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vavguw(vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vctuxs(vector float a1, const int a2); +extern vector unsigned int __builtin_altivec_vmaxuw(vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vminuw(vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vmsumubm(vector signed char a1, vector signed char a2, vector signed int a3); +extern vector unsigned int __builtin_altivec_vmsumuhm(vector signed short a1, vector signed short a2, vector signed int a3); +extern vector unsigned int __builtin_altivec_vmsumuhs(vector signed short a1, vector signed short a2, vector signed int a3); +extern vector unsigned int __builtin_altivec_vmuleuh(vector signed short a1, vector signed short a2); +extern vector unsigned int __builtin_altivec_vmulouh(vector signed short a1, vector signed short a2); +extern vector unsigned int __builtin_altivec_vsubcuw(vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vsubuws(vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vsum4ubs(vector signed char a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vupkhpx(vector signed short a1); +extern vector unsigned int __builtin_altivec_vupklpx(vector signed short a1); +extern vector unsigned short __builtin_altivec_mfvscr(); +extern vector unsigned short __builtin_altivec_vadduhs(vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_altivec_vavguh(vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_altivec_vmaxuh(vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_altivec_vminuh(vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_altivec_vmuloub(vector signed char a1, vector signed char a2); +extern vector unsigned short __builtin_altivec_vpkswus(vector signed int a1, vector signed int a2); +extern vector unsigned short __builtin_altivec_vpkuwus(vector signed int a1, vector signed int a2); +extern vector unsigned short __builtin_altivec_vsubuhs(vector signed short a1, vector signed short a2); +extern void __builtin_altivec_dss(int a1); +extern void __builtin_altivec_dssall(); +extern void __builtin_altivec_dst(const void *a1, OFFSET_T a2, const int a3); +extern void __builtin_altivec_dstst(const void *a1, OFFSET_T a2, const int a3); +extern void __builtin_altivec_dststt(const void *a1, OFFSET_T a2, const int a3); +extern void __builtin_altivec_dstt(const void *a1, OFFSET_T a2, const int a3); +extern void __builtin_altivec_mtvscr(vector signed int a1); +#ifdef __coverity_cplusplus +extern void __builtin_altivec_stvebx(vector signed char a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvehx(vector signed short a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvewx(vector signed int a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvlx(vector signed char a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvlxl(vector signed char a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvrx(vector signed char a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvrxl(vector signed char a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvx(vector signed int a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvxl(vector signed int a1, OFFSET_T a2, const void * a3); +extern vector bool char __builtin_altivec_vsel_4sf(vector float a1, vector float a2, vector float a3); +extern vector bool char __builtin_altivec_vsel_4sf(vector float a1, vector float a2, vector signed int a3); +#else +extern void __builtin_altivec_stvebx(); +extern void __builtin_altivec_stvehx(); +extern void __builtin_altivec_stvewx(); +extern void __builtin_altivec_stvlx(); +extern void __builtin_altivec_stvlxl(); +extern void __builtin_altivec_stvrx(); +extern void __builtin_altivec_stvrxl(); +extern void __builtin_altivec_stvx(); +extern void __builtin_altivec_stvxl(); +extern __coverity_generic_altivec_vector __builtin_altivec_vsel_4sf(); +#endif +#endif /* __ALTIVEC__ */ +/* + Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. + The information contained in this file is the proprietary and confidential + information of Synopsys, Inc. and its licensors, and is supplied subject to, + and may be used only by Synopsys customers in accordance with the terms and + conditions of a previously executed license agreement between Synopsys and + that customer. +*/ + +/* + * These declarations are used to implement various sanitizer modes. They are + * not supported intrinsically by cov-emit. + */ + +// -fsanitize-coverage=trace-cmp +void __asan_after_dynamic_init(void); +void __asan_handle_no_return(void); +void __asan_init(void); +void __asan_version_mismatch_check_v8(void); +void __builtin___asan_after_dynamic_init(void); +void __builtin___asan_handle_no_return(void); +void __builtin___asan_init(void); +void __builtin___asan_version_mismatch_check_v8(void); +void __builtin___sanitizer_cov_trace_pc(void); +void __builtin___tsan_init(void); +void __sanitizer_cov_trace_pc(void); +void __tsan_init(void); +void __asan_alloca_poison(void*, long int); +void __asan_allocas_unpoison(void*, long int); +void __asan_before_dynamic_init(const void*); +void __asan_load1(void*); +void __asan_load16(void*); +void __asan_load16_noabort(void*); +void __asan_load1_noabort(void*); +void __asan_load2(void*); +void __asan_load2_noabort(void*); +void __asan_load4(void*); +void __asan_load4_noabort(void*); +void __asan_load8(void*); +void __asan_load8_noabort(void*); +void __asan_loadN(void*, long int); +void __asan_loadN_noabort(void*, long int); +void __asan_poison_stack_memory(void*, long int); +void __asan_register_globals(void*, long int); +void __asan_report_load1(void*); +void __asan_report_load16(void*); +void __asan_report_load16_noabort(void*); +void __asan_report_load1_noabort(void*); +void __asan_report_load2(void*); +void __asan_report_load2_noabort(void*); +void __asan_report_load4(void*); +void __asan_report_load4_noabort(void*); +void __asan_report_load8(void*); +void __asan_report_load8_noabort(void*); +void __asan_report_load_n(void*, long int); +void __asan_report_load_n_noabort(void*, long int); +void __asan_report_store1(void*); +void __asan_report_store16(void*); +void __asan_report_store16_noabort(void*); +void __asan_report_store1_noabort(void*); +void __asan_report_store2(void*); +void __asan_report_store2_noabort(void*); +void __asan_report_store4(void*); +void __asan_report_store4_noabort(void*); +void __asan_report_store8(void*); +void __asan_report_store8_noabort(void*); +void __asan_report_store_n(void*, long int); +void __asan_report_store_n_noabort(void*, long int); +void __asan_store1(void*); +void __asan_store16(void*); +void __asan_store16_noabort(void*); +void __asan_store1_noabort(void*); +void __asan_store2(void*); +void __asan_store2_noabort(void*); +void __asan_store4(void*); +void __asan_store4_noabort(void*); +void __asan_store8(void*); +void __asan_store8_noabort(void*); +void __asan_storeN(void*, long int); +void __asan_storeN_noabort(void*, long int); +void __asan_unpoison_stack_memory(void*, long int); +void __asan_unregister_globals(void*, long int); +void __builtin___asan_alloca_poison(void*, long int); +void __builtin___asan_allocas_unpoison(void*, long int); +void __builtin___asan_before_dynamic_init(const void*); +void __builtin___asan_load1(void*); +void __builtin___asan_load16(void*); +void __builtin___asan_load16_noabort(void*); +void __builtin___asan_load1_noabort(void*); +void __builtin___asan_load2(void*); +void __builtin___asan_load2_noabort(void*); +void __builtin___asan_load4(void*); +void __builtin___asan_load4_noabort(void*); +void __builtin___asan_load8(void*); +void __builtin___asan_load8_noabort(void*); +void __builtin___asan_loadN(void*, long int); +void __builtin___asan_loadN_noabort(void*, long int); +void __builtin___asan_poison_stack_memory(void*, long int); +void __builtin___asan_register_globals(void*, long int); +void __builtin___asan_report_load1(void*); +void __builtin___asan_report_load16(void*); +void __builtin___asan_report_load16_noabort(void*); +void __builtin___asan_report_load1_noabort(void*); +void __builtin___asan_report_load2(void*); +void __builtin___asan_report_load2_noabort(void*); +void __builtin___asan_report_load4(void*); +void __builtin___asan_report_load4_noabort(void*); +void __builtin___asan_report_load8(void*); +void __builtin___asan_report_load8_noabort(void*); +void __builtin___asan_report_load_n(void*, long int); +void __builtin___asan_report_load_n_noabort(void*, long int); +void __builtin___asan_report_store1(void*); +void __builtin___asan_report_store16(void*); +void __builtin___asan_report_store16_noabort(void*); +void __builtin___asan_report_store1_noabort(void*); +void __builtin___asan_report_store2(void*); +void __builtin___asan_report_store2_noabort(void*); +void __builtin___asan_report_store4(void*); +void __builtin___asan_report_store4_noabort(void*); +void __builtin___asan_report_store8(void*); +void __builtin___sanitizer_cov_trace_cmp2(short unsigned int, short unsigned int); +void __builtin___sanitizer_cov_trace_cmp4(unsigned int, unsigned int); +void __builtin___sanitizer_cov_trace_cmp8(long unsigned int, long unsigned int); +void __builtin___sanitizer_cov_trace_cmpd(double, double); +void __builtin___sanitizer_cov_trace_cmpf(float, float); +void __builtin___sanitizer_cov_trace_const_cmp1(unsigned char, unsigned char); +void __builtin___sanitizer_cov_trace_const_cmp2(short unsigned int, short unsigned int); +void __builtin___sanitizer_cov_trace_const_cmp4(unsigned int, unsigned int); +void __builtin___sanitizer_cov_trace_const_cmp8(long unsigned int, long unsigned int); +void __builtin___sanitizer_cov_trace_switch(long unsigned int, void*); +void __builtin___sanitizer_ptr_cmp(void*, long int); +void __builtin___sanitizer_ptr_sub(void*, long int); + +void __builtin___hwasan_handle_longjmp(const void*); +void __builtin___hwasan_load1(void*); +void __builtin___hwasan_load16(void*); +void __builtin___hwasan_load16_noabort(void*); +void __builtin___hwasan_load1_noabort(void*); +void __builtin___hwasan_load2(void*); +void __builtin___hwasan_load2_noabort(void*); +void __builtin___hwasan_load4(void*); +void __builtin___hwasan_load4_noabort(void*); +void __builtin___hwasan_load8(void*); +void __builtin___hwasan_load8_noabort(void*); +void __builtin___hwasan_loadN(void*, long int); +void __builtin___hwasan_loadN_noabort(void*, long int); +void __builtin___hwasan_store1(void*); +void __builtin___hwasan_store16(void*); +void __builtin___hwasan_store16_noabort(void*); +void __builtin___hwasan_store1_noabort(void*); +void __builtin___hwasan_store2(void*); +void __builtin___hwasan_store2_noabort(void*); +void __builtin___hwasan_store4(void*); +void __builtin___hwasan_store4_noabort(void*); +void __builtin___hwasan_store8(void*); +void __builtin___hwasan_store8_noabort(void*); +void __builtin___hwasan_storeN(void*, long int); +void __builtin___hwasan_storeN_noabort(void*, long int); +void __builtin___hwasan_tag_memory(void*, unsigned char, long int); +void __builtin___hwasan_tag_mismatch4(void*); +void* __builtin___hwasan_tag_pointer(const void*, unsigned char); +void __builtin___tsan_volatile_read1(void*); +void __builtin___tsan_volatile_read16(void*); +void __builtin___tsan_volatile_read2(void*); +void __builtin___tsan_volatile_read4(void*); +void __builtin___tsan_volatile_read8(void*); +void __builtin___tsan_volatile_write1(void*); +void __builtin___tsan_volatile_write16(void*); +void __builtin___tsan_volatile_write2(void*); +void __builtin___tsan_volatile_write4(void*); +void __builtin___tsan_volatile_write8(void*); +void __hwasan_handle_longjmp(const void*); +void __hwasan_load1(void*); +void __hwasan_load16(void*); +void __hwasan_load16_noabort(void*); +void __hwasan_load1_noabort(void*); +void __hwasan_load2(void*); +void __hwasan_load2_noabort(void*); +void __hwasan_load4(void*); +void __hwasan_load4_noabort(void*); +void __hwasan_load8(void*); +void __hwasan_load8_noabort(void*); +void __hwasan_loadN(void*, long int); +void __hwasan_loadN_noabort(void*, long int); +void __hwasan_store1(void*); +void __hwasan_store16(void*); +void __hwasan_store16_noabort(void*); +void __hwasan_store1_noabort(void*); +void __hwasan_store2(void*); +void __hwasan_store2_noabort(void*); +void __hwasan_store4(void*); +void __hwasan_store4_noabort(void*); +void __hwasan_store8(void*); +void __hwasan_store8_noabort(void*); +void __hwasan_storeN(void*, long int); +void __hwasan_storeN_noabort(void*, long int); +void __hwasan_tag_memory(void*, unsigned char, long int); +void __hwasan_tag_mismatch4(void*); +void* __hwasan_tag_pointer(const void*, unsigned char); +void __tsan_volatile_read1(void*); +void __tsan_volatile_read16(void*); +void __tsan_volatile_read2(void*); +void __tsan_volatile_read4(void*); +void __tsan_volatile_read8(void*); +void __tsan_volatile_write1(void*); +void __tsan_volatile_write16(void*); +void __tsan_volatile_write2(void*); +void __tsan_volatile_write4(void*); +void __tsan_volatile_write8(void*); +void __builtin___hwasan_init(void); +void __hwasan_init(void); + +#if defined(__SIZEOF_INT128__) +__edg_bool_type__ __builtin___tsan_atomic128_compare_exchange_strong(volatile void*, void*, __int128 unsigned, int, int); +__edg_bool_type__ __builtin___tsan_atomic128_compare_exchange_weak(volatile void*, void*, __int128 unsigned, int, int); +__int128 unsigned __builtin___tsan_atomic128_exchange(volatile void*, __int128 unsigned, int); +__int128 unsigned __builtin___tsan_atomic128_fetch_add(volatile void*, __int128 unsigned, int); +__int128 unsigned __builtin___tsan_atomic128_fetch_and(volatile void*, __int128 unsigned, int); +__int128 unsigned __builtin___tsan_atomic128_fetch_nand(volatile void*, __int128 unsigned, int); +__int128 unsigned __builtin___tsan_atomic128_fetch_or(volatile void*, __int128 unsigned, int); +__int128 unsigned __builtin___tsan_atomic128_fetch_sub(volatile void*, __int128 unsigned, int); +__int128 unsigned __builtin___tsan_atomic128_fetch_xor(volatile void*, __int128 unsigned, int); +__int128 unsigned __builtin___tsan_atomic128_load(const volatile void*, int); +void __builtin___tsan_atomic128_store(volatile void*, __int128 unsigned, int); +__edg_bool_type__ __tsan_atomic128_compare_exchange_strong(volatile void*, void*, __int128 unsigned, int, int); +__edg_bool_type__ __tsan_atomic128_compare_exchange_weak(volatile void*, void*, __int128 unsigned, int, int); +__int128 unsigned __tsan_atomic128_exchange(volatile void*, __int128 unsigned, int); +__int128 unsigned __tsan_atomic128_fetch_add(volatile void*, __int128 unsigned, int); +__int128 unsigned __tsan_atomic128_fetch_and(volatile void*, __int128 unsigned, int); +__int128 unsigned __tsan_atomic128_fetch_nand(volatile void*, __int128 unsigned, int); +__int128 unsigned __tsan_atomic128_fetch_or(volatile void*, __int128 unsigned, int); +__int128 unsigned __tsan_atomic128_fetch_sub(volatile void*, __int128 unsigned, int); +__int128 unsigned __tsan_atomic128_fetch_xor(volatile void*, __int128 unsigned, int); +__int128 unsigned __tsan_atomic128_load(const volatile void*, int); +void __tsan_atomic128_store(volatile void*, __int128 unsigned, int); + +__int128 unsigned __builtin_bswap128(__int128 unsigned); +#endif /* defined(__SIZEOF_INT128__) */ + +__edg_bool_type__ __builtin___tsan_atomic16_compare_exchange_strong(volatile void*, void*, short unsigned int, int, int); +__edg_bool_type__ __builtin___tsan_atomic16_compare_exchange_weak(volatile void*, void*, short unsigned int, int, int); +short unsigned int __builtin___tsan_atomic16_exchange(volatile void*, short unsigned int, int); +short unsigned int __builtin___tsan_atomic16_fetch_add(volatile void*, short unsigned int, int); +short unsigned int __builtin___tsan_atomic16_fetch_and(volatile void*, short unsigned int, int); +short unsigned int __builtin___tsan_atomic16_fetch_nand(volatile void*, short unsigned int, int); +short unsigned int __builtin___tsan_atomic16_fetch_or(volatile void*, short unsigned int, int); +short unsigned int __builtin___tsan_atomic16_fetch_sub(volatile void*, short unsigned int, int); +short unsigned int __builtin___tsan_atomic16_fetch_xor(volatile void*, short unsigned int, int); +short unsigned int __builtin___tsan_atomic16_load(const volatile void*, int); +void __builtin___tsan_atomic16_store(volatile void*, short unsigned int, int); +__edg_bool_type__ __builtin___tsan_atomic32_compare_exchange_strong(volatile void*, void*, unsigned int, int, int); +__edg_bool_type__ __builtin___tsan_atomic32_compare_exchange_weak(volatile void*, void*, unsigned int, int, int); +unsigned int __builtin___tsan_atomic32_exchange(volatile void*, unsigned int, int); +unsigned int __builtin___tsan_atomic32_fetch_add(volatile void*, unsigned int, int); +unsigned int __builtin___tsan_atomic32_fetch_and(volatile void*, unsigned int, int); +unsigned int __builtin___tsan_atomic32_fetch_nand(volatile void*, unsigned int, int); +unsigned int __builtin___tsan_atomic32_fetch_or(volatile void*, unsigned int, int); +unsigned int __builtin___tsan_atomic32_fetch_sub(volatile void*, unsigned int, int); +unsigned int __builtin___tsan_atomic32_fetch_xor(volatile void*, unsigned int, int); +unsigned int __builtin___tsan_atomic32_load(const volatile void*, int); +void __builtin___tsan_atomic32_store(volatile void*, unsigned int, int); +__edg_bool_type__ __builtin___tsan_atomic64_compare_exchange_strong(volatile void*, void*, long unsigned int, int, int); +__edg_bool_type__ __builtin___tsan_atomic64_compare_exchange_weak(volatile void*, void*, long unsigned int, int, int); +long unsigned int __builtin___tsan_atomic64_exchange(volatile void*, long unsigned int, int); +long unsigned int __builtin___tsan_atomic64_fetch_add(volatile void*, long unsigned int, int); +long unsigned int __builtin___tsan_atomic64_fetch_and(volatile void*, long unsigned int, int); +long unsigned int __builtin___tsan_atomic64_fetch_nand(volatile void*, long unsigned int, int); +long unsigned int __builtin___tsan_atomic64_fetch_or(volatile void*, long unsigned int, int); +long unsigned int __builtin___tsan_atomic64_fetch_sub(volatile void*, long unsigned int, int); +long unsigned int __builtin___tsan_atomic64_fetch_xor(volatile void*, long unsigned int, int); +long unsigned int __builtin___tsan_atomic64_load(const volatile void*, int); +void __builtin___tsan_atomic64_store(volatile void*, long unsigned int, int); +__edg_bool_type__ __builtin___tsan_atomic8_compare_exchange_strong(volatile void*, void*, unsigned char, int, int); +__edg_bool_type__ __builtin___tsan_atomic8_compare_exchange_weak(volatile void*, void*, unsigned char, int, int); +unsigned char __builtin___tsan_atomic8_exchange(volatile void*, unsigned char, int); +unsigned char __builtin___tsan_atomic8_fetch_add(volatile void*, unsigned char, int); +unsigned char __builtin___tsan_atomic8_fetch_and(volatile void*, unsigned char, int); +unsigned char __builtin___tsan_atomic8_fetch_nand(volatile void*, unsigned char, int); +unsigned char __builtin___tsan_atomic8_fetch_or(volatile void*, unsigned char, int); +unsigned char __builtin___tsan_atomic8_fetch_sub(volatile void*, unsigned char, int); +unsigned char __builtin___tsan_atomic8_fetch_xor(volatile void*, unsigned char, int); +unsigned char __builtin___tsan_atomic8_load(const volatile void*, int); +void __builtin___tsan_atomic8_store(volatile void*, unsigned char, int); +void __builtin___tsan_atomic_signal_fence(int); +void __builtin___tsan_atomic_thread_fence(int); +void __builtin___tsan_func_entry(void*); +void __builtin___tsan_func_exit(void*); +void __builtin___tsan_read1(void*); +void __builtin___tsan_read16(void*); +void __builtin___tsan_read2(void*); +void __builtin___tsan_read4(void*); +void __builtin___tsan_read8(void*); +void __builtin___tsan_read_range(void*, long int); +#if __COVERITY_GCC_VERSION_AT_LEAST(5, 1) +void __builtin___tsan_vptr_update(void*, void*); +void __tsan_vptr_update(void*, void*); +#else +void __tsan_vptr_update(void*); +void __builtin___tsan_vptr_update(void*); +#endif +void __builtin___tsan_write1(void*); +void __builtin___tsan_write16(void*); +void __builtin___tsan_write2(void*); +void __builtin___tsan_write4(void*); +void __builtin___tsan_write8(void*); +void __builtin___tsan_write_range(void*, long int); +void __builtin___ubsan_handle_add_overflow(void*, void*, void*); +void __builtin___ubsan_handle_add_overflow_abort(void*, void*, void*); +void __builtin___ubsan_handle_builtin_unreachable(void*); +void __builtin___ubsan_handle_divrem_overflow(void*, void*, void*); +void __builtin___ubsan_handle_divrem_overflow_abort(void*, void*, void*); +void __builtin___ubsan_handle_dynamic_type_cache_miss(void*, void*, void*); +void __builtin___ubsan_handle_dynamic_type_cache_miss_abort(void*, void*, void*); +void __builtin___ubsan_handle_float_cast_overflow(void*, void*); +void __builtin___ubsan_handle_float_cast_overflow_abort(void*, void*); +void __builtin___ubsan_handle_invalid_builtin(void*); +void __builtin___ubsan_handle_invalid_builtin_abort(void*); +void __builtin___ubsan_handle_load_invalid_value(void*, void*); +void __builtin___ubsan_handle_load_invalid_value_abort(void*, void*); +void __builtin___ubsan_handle_missing_return(void*); +void __builtin___ubsan_handle_mul_overflow(void*, void*, void*); +void __builtin___ubsan_handle_mul_overflow_abort(void*, void*, void*); +void __builtin___ubsan_handle_negate_overflow(void*, void*); +void __builtin___ubsan_handle_negate_overflow_abort(void*, void*); +#if __COVERITY_GCC_VERSION_AT_LEAST(6, 0) +void __builtin___ubsan_handle_nonnull_arg(void*); +void __builtin___ubsan_handle_nonnull_arg_abort(void*); +void __ubsan_handle_nonnull_arg(void*); +void __ubsan_handle_nonnull_arg_abort(void*); +#else +void __ubsan_handle_nonnull_arg(void*, int); +void __ubsan_handle_nonnull_arg_abort(void*, int); +void __builtin___ubsan_handle_nonnull_arg(void*, int); +void __builtin___ubsan_handle_nonnull_arg_abort(void*, int); +#endif +void __builtin___ubsan_handle_nonnull_return_v1(void*, void*); +void __builtin___ubsan_handle_nonnull_return_v1_abort(void*, void*); +void __builtin___ubsan_handle_out_of_bounds(void*, void*); +void __builtin___ubsan_handle_out_of_bounds_abort(void*, void*); +void __builtin___ubsan_handle_pointer_overflow(void*, void*, void*); +void __builtin___ubsan_handle_pointer_overflow_abort(void*, void*, void*); +void __builtin___ubsan_handle_shift_out_of_bounds(void*, void*, void*); +void __builtin___ubsan_handle_shift_out_of_bounds_abort(void*, void*, void*); +void __builtin___ubsan_handle_sub_overflow(void*, void*, void*); +void __builtin___ubsan_handle_sub_overflow_abort(void*, void*, void*); +void __builtin___ubsan_handle_type_mismatch_v1(void*, void*); +void __builtin___ubsan_handle_type_mismatch_v1_abort(void*, void*); +void __builtin___ubsan_handle_vla_bound_not_positive(void*, void*); +void __builtin___ubsan_handle_vla_bound_not_positive_abort(void*, void*); +void __sanitizer_cov_trace_cmp1(unsigned char, unsigned char); +void __sanitizer_cov_trace_cmp2(short unsigned int, short unsigned int); +void __sanitizer_cov_trace_cmp4(unsigned int, unsigned int); +void __sanitizer_cov_trace_cmp8(long unsigned int, long unsigned int); +void __sanitizer_cov_trace_cmpd(double, double); +void __sanitizer_cov_trace_cmpf(float, float); +void __sanitizer_cov_trace_const_cmp1(unsigned char, unsigned char); +void __sanitizer_cov_trace_const_cmp2(short unsigned int, short unsigned int); +void __sanitizer_cov_trace_const_cmp4(unsigned int, unsigned int); +void __sanitizer_cov_trace_const_cmp8(long unsigned int, long unsigned int); +void __sanitizer_cov_trace_switch(long unsigned int, void*); +void __sanitizer_ptr_cmp(void*, long int); +void __sanitizer_ptr_sub(void*, long int); +__edg_bool_type__ __tsan_atomic16_compare_exchange_strong(volatile void*, void*, short unsigned int, int, int); +__edg_bool_type__ __tsan_atomic16_compare_exchange_weak(volatile void*, void*, short unsigned int, int, int); +short unsigned int __tsan_atomic16_exchange(volatile void*, short unsigned int, int); +short unsigned int __tsan_atomic16_fetch_add(volatile void*, short unsigned int, int); +short unsigned int __tsan_atomic16_fetch_and(volatile void*, short unsigned int, int); +short unsigned int __tsan_atomic16_fetch_nand(volatile void*, short unsigned int, int); +short unsigned int __tsan_atomic16_fetch_or(volatile void*, short unsigned int, int); +short unsigned int __tsan_atomic16_fetch_sub(volatile void*, short unsigned int, int); +short unsigned int __tsan_atomic16_fetch_xor(volatile void*, short unsigned int, int); +short unsigned int __tsan_atomic16_load(const volatile void*, int); +void __tsan_atomic16_store(volatile void*, short unsigned int, int); +__edg_bool_type__ __tsan_atomic32_compare_exchange_strong(volatile void*, void*, unsigned int, int, int); +__edg_bool_type__ __tsan_atomic32_compare_exchange_weak(volatile void*, void*, unsigned int, int, int); +unsigned int __tsan_atomic32_exchange(volatile void*, unsigned int, int); +unsigned int __tsan_atomic32_fetch_add(volatile void*, unsigned int, int); +unsigned int __tsan_atomic32_fetch_and(volatile void*, unsigned int, int); +unsigned int __tsan_atomic32_fetch_nand(volatile void*, unsigned int, int); +unsigned int __tsan_atomic32_fetch_or(volatile void*, unsigned int, int); +unsigned int __tsan_atomic32_fetch_sub(volatile void*, unsigned int, int); +unsigned int __tsan_atomic32_fetch_xor(volatile void*, unsigned int, int); +unsigned int __tsan_atomic32_load(const volatile void*, int); +void __tsan_atomic32_store(volatile void*, unsigned int, int); +__edg_bool_type__ __tsan_atomic64_compare_exchange_strong(volatile void*, void*, long unsigned int, int, int); +__edg_bool_type__ __tsan_atomic64_compare_exchange_weak(volatile void*, void*, long unsigned int, int, int); +long unsigned int __tsan_atomic64_exchange(volatile void*, long unsigned int, int); +long unsigned int __tsan_atomic64_fetch_add(volatile void*, long unsigned int, int); +long unsigned int __tsan_atomic64_fetch_and(volatile void*, long unsigned int, int); +long unsigned int __tsan_atomic64_fetch_nand(volatile void*, long unsigned int, int); +long unsigned int __tsan_atomic64_fetch_or(volatile void*, long unsigned int, int); +long unsigned int __tsan_atomic64_fetch_sub(volatile void*, long unsigned int, int); +long unsigned int __tsan_atomic64_fetch_xor(volatile void*, long unsigned int, int); +long unsigned int __tsan_atomic64_load(const volatile void*, int); +void __tsan_atomic64_store(volatile void*, long unsigned int, int); +__edg_bool_type__ __tsan_atomic8_compare_exchange_strong(volatile void*, void*, unsigned char, int, int); +__edg_bool_type__ __tsan_atomic8_compare_exchange_weak(volatile void*, void*, unsigned char, int, int); +unsigned char __tsan_atomic8_exchange(volatile void*, unsigned char, int); +unsigned char __tsan_atomic8_fetch_add(volatile void*, unsigned char, int); +unsigned char __tsan_atomic8_fetch_and(volatile void*, unsigned char, int); +unsigned char __tsan_atomic8_fetch_nand(volatile void*, unsigned char, int); +unsigned char __tsan_atomic8_fetch_or(volatile void*, unsigned char, int); +unsigned char __tsan_atomic8_fetch_sub(volatile void*, unsigned char, int); +unsigned char __tsan_atomic8_fetch_xor(volatile void*, unsigned char, int); +unsigned char __tsan_atomic8_load(const volatile void*, int); +void __tsan_atomic8_store(volatile void*, unsigned char, int); +void __tsan_atomic_signal_fence(int); +void __tsan_atomic_thread_fence(int); +void __tsan_func_entry(void*); +void __tsan_func_exit(void*); +void __tsan_read1(void*); +void __tsan_read16(void*); +void __tsan_read2(void*); +void __tsan_read4(void*); +void __tsan_read8(void*); +void __tsan_read_range(void*, long int); +void __tsan_write1(void*); +void __tsan_write16(void*); +void __tsan_write2(void*); +void __tsan_write4(void*); +void __tsan_write8(void*); +void __tsan_write_range(void*, long int); +void __ubsan_handle_add_overflow(void*, void*, void*); +void __ubsan_handle_add_overflow_abort(void*, void*, void*); +void __ubsan_handle_builtin_unreachable(void*); +void __ubsan_handle_divrem_overflow(void*, void*, void*); +void __ubsan_handle_divrem_overflow_abort(void*, void*, void*); +void __ubsan_handle_dynamic_type_cache_miss(void*, void*, void*); +void __ubsan_handle_dynamic_type_cache_miss_abort(void*, void*, void*); +void __ubsan_handle_float_cast_overflow(void*, void*); +void __ubsan_handle_float_cast_overflow_abort(void*, void*); +void __ubsan_handle_invalid_builtin(void*); +void __ubsan_handle_invalid_builtin_abort(void*); +void __ubsan_handle_load_invalid_value(void*, void*); +void __ubsan_handle_load_invalid_value_abort(void*, void*); +void __ubsan_handle_missing_return(void*); +void __ubsan_handle_mul_overflow(void*, void*, void*); +void __ubsan_handle_mul_overflow_abort(void*, void*, void*); +void __ubsan_handle_negate_overflow(void*, void*); +void __ubsan_handle_negate_overflow_abort(void*, void*); +void __ubsan_handle_nonnull_return_v1(void*, void*); +void __ubsan_handle_nonnull_return_v1_abort(void*, void*); +void __ubsan_handle_out_of_bounds(void*, void*); +void __ubsan_handle_out_of_bounds_abort(void*, void*); +void __ubsan_handle_pointer_overflow(void*, void*, void*); +void __ubsan_handle_pointer_overflow_abort(void*, void*, void*); +void __ubsan_handle_shift_out_of_bounds(void*, void*, void*); +void __ubsan_handle_shift_out_of_bounds_abort(void*, void*, void*); +void __ubsan_handle_sub_overflow(void*, void*, void*); +void __ubsan_handle_sub_overflow_abort(void*, void*, void*); +void __ubsan_handle_type_mismatch_v1(void*, void*); +void __ubsan_handle_type_mismatch_v1_abort(void*, void*); +void __ubsan_handle_vla_bound_not_positive(void*, void*); +void __ubsan_handle_vla_bound_not_positive_abort(void*, void*); + +/* Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. */ + +/* + * These declarations are used to support Windows targets. They are not + * supported intrinsically by cov-emit. + */ + +#if __COVERITY_GCC_VERSION_AT_LEAST(4, 4) +#define __builtin_ms_va_list __builtin_va_list +#define __builtin_ms_va_copy __builtin_va_copy +#define __builtin_ms_va_start __builtin_va_start +#define __builtin_ms_va_end __builtin_va_end + +#define __builtin_sysv_va_list __builtin_va_list +#define __builtin_sysv_va_copy __builtin_va_copy +#define __builtin_sysv_va_start __builtin_va_start +#define __builtin_sysv_va_end __builtin_va_end + +#define __ms_va_copy(__d,__s) __builtin_ms_va_copy(__d,__s) +#define __ms_va_start(__v,__l) __builtin_ms_va_start(__v,__l) +#define __ms_va_arg(__v,__l) __builtin_va_arg(__v,__l) +#define __ms_va_end(__v) __builtin_ms_va_end(__v) + +#define __sysv_va_copy(__d,__s) __builtin_sysv_va_copy(__d,__s) +#define __sysv_va_start(__v,__l) __builtin_sysv_va_start(__v,__l) +#define __sysv_va_arg(__v,__l) __builtin_va_arg(__v,__l) +#define __sysv_va_end(__v) __builtin_sysv_va_end(__v) +#endif /* GCC >= 4.4 */ + +#pragma builtin end +#endif /* COVERITY_COMPAT_4a622ee35a6c29d94c1d6dbcfdfbe3b3 */ +#endif /* __COVERITY__ */ diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity-macro-compat.h b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity-macro-compat.h new file mode 100644 index 000000000..0a9ae4486 --- /dev/null +++ b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity-macro-compat.h @@ -0,0 +1,1333 @@ + +#if !(defined(__SSP_STRONG__) || defined(__coverity_undefine___SSP_STRONG__)) +#define __SSP_STRONG__ 3 +#endif +#if !(defined(__DBL_MIN_EXP__) || defined(__coverity_undefine___DBL_MIN_EXP__)) +#define __DBL_MIN_EXP__ (-1021) +#endif +#if !(defined(__FLT32X_MAX_EXP__) || defined(__coverity_undefine___FLT32X_MAX_EXP__)) +#define __FLT32X_MAX_EXP__ 1024 +#endif +#if !(defined(__cpp_attributes) || defined(__coverity_undefine___cpp_attributes)) +#define __cpp_attributes 200809 +#endif +#if !(defined(__UINT_LEAST16_MAX__) || defined(__coverity_undefine___UINT_LEAST16_MAX__)) +#define __UINT_LEAST16_MAX__ 0xffff +#endif +#if !(defined(__ATOMIC_ACQUIRE) || defined(__coverity_undefine___ATOMIC_ACQUIRE)) +#define __ATOMIC_ACQUIRE 2 +#endif +#if !(defined(__FLT128_MAX_10_EXP__) || defined(__coverity_undefine___FLT128_MAX_10_EXP__)) +#define __FLT128_MAX_10_EXP__ 4932 +#endif +#if !(defined(__FLT_MIN__) || defined(__coverity_undefine___FLT_MIN__)) +#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F +#endif +#if !(defined(__GCC_IEC_559_COMPLEX) || defined(__coverity_undefine___GCC_IEC_559_COMPLEX)) +#define __GCC_IEC_559_COMPLEX 2 +#endif +#if !(defined(__cpp_aggregate_nsdmi) || defined(__coverity_undefine___cpp_aggregate_nsdmi)) +#define __cpp_aggregate_nsdmi 201304 +#endif +#if !(defined(__UINT_LEAST8_TYPE__) || defined(__coverity_undefine___UINT_LEAST8_TYPE__)) +#define __UINT_LEAST8_TYPE__ unsigned char +#endif +#if !(defined(__SIZEOF_FLOAT80__) || defined(__coverity_undefine___SIZEOF_FLOAT80__)) +#define __SIZEOF_FLOAT80__ 16 +#endif +#if !(defined(__INTMAX_C) || defined(__coverity_undefine___INTMAX_C)) +#define __INTMAX_C(c) c ## L +#endif +#if !(defined(__CHAR_BIT__) || defined(__coverity_undefine___CHAR_BIT__)) +#define __CHAR_BIT__ 8 +#endif +#if !(defined(__UINT8_MAX__) || defined(__coverity_undefine___UINT8_MAX__)) +#define __UINT8_MAX__ 0xff +#endif +#if !(defined(__WINT_MAX__) || defined(__coverity_undefine___WINT_MAX__)) +#define __WINT_MAX__ 0xffffffffU +#endif +#if !(defined(__FLT32_MIN_EXP__) || defined(__coverity_undefine___FLT32_MIN_EXP__)) +#define __FLT32_MIN_EXP__ (-125) +#endif +#if !(defined(__cpp_static_assert) || defined(__coverity_undefine___cpp_static_assert)) +#define __cpp_static_assert 200410 +#endif +#if !(defined(__ORDER_LITTLE_ENDIAN__) || defined(__coverity_undefine___ORDER_LITTLE_ENDIAN__)) +#define __ORDER_LITTLE_ENDIAN__ 1234 +#endif +#if !(defined(__SIZE_MAX__) || defined(__coverity_undefine___SIZE_MAX__)) +#define __SIZE_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__WCHAR_MAX__) || defined(__coverity_undefine___WCHAR_MAX__)) +#define __WCHAR_MAX__ 0x7fffffff +#endif +#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_1)) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +#endif +#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_2)) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +#endif +#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4)) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +#endif +#if !(defined(__DBL_DENORM_MIN__) || defined(__coverity_undefine___DBL_DENORM_MIN__)) +#define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L) +#endif +#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_8)) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 +#endif +#if !(defined(__GCC_ATOMIC_CHAR_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_CHAR_LOCK_FREE)) +#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 +#endif +#if !(defined(__GCC_IEC_559) || defined(__coverity_undefine___GCC_IEC_559)) +#define __GCC_IEC_559 2 +#endif +#if !(defined(__FLT32X_DECIMAL_DIG__) || defined(__coverity_undefine___FLT32X_DECIMAL_DIG__)) +#define __FLT32X_DECIMAL_DIG__ 17 +#endif +#if !(defined(__FLT_EVAL_METHOD__) || defined(__coverity_undefine___FLT_EVAL_METHOD__)) +#define __FLT_EVAL_METHOD__ 0 +#endif +#if !(defined(__unix__) || defined(__coverity_undefine___unix__)) +#define __unix__ 1 +#endif +#if !(defined(__cpp_binary_literals) || defined(__coverity_undefine___cpp_binary_literals)) +#define __cpp_binary_literals 201304 +#endif +#if !(defined(__FLT64_DECIMAL_DIG__) || defined(__coverity_undefine___FLT64_DECIMAL_DIG__)) +#define __FLT64_DECIMAL_DIG__ 17 +#endif +#if !(defined(__CET__) || defined(__coverity_undefine___CET__)) +#define __CET__ 3 +#endif +#if !(defined(__GCC_ATOMIC_CHAR32_T_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_CHAR32_T_LOCK_FREE)) +#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 +#endif +#if !(defined(__x86_64) || defined(__coverity_undefine___x86_64)) +#define __x86_64 1 +#endif +#if !(defined(__cpp_variadic_templates) || defined(__coverity_undefine___cpp_variadic_templates)) +#define __cpp_variadic_templates 200704 +#endif +#if !(defined(__UINT_FAST64_MAX__) || defined(__coverity_undefine___UINT_FAST64_MAX__)) +#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__SIG_ATOMIC_TYPE__) || defined(__coverity_undefine___SIG_ATOMIC_TYPE__)) +#define __SIG_ATOMIC_TYPE__ int +#endif +#if !(defined(__DBL_MIN_10_EXP__) || defined(__coverity_undefine___DBL_MIN_10_EXP__)) +#define __DBL_MIN_10_EXP__ (-307) +#endif +#if !(defined(__FINITE_MATH_ONLY__) || defined(__coverity_undefine___FINITE_MATH_ONLY__)) +#define __FINITE_MATH_ONLY__ 0 +#endif +#if !(defined(__cpp_variable_templates) || defined(__coverity_undefine___cpp_variable_templates)) +#define __cpp_variable_templates 201304 +#endif +#if !(defined(__GNUC_PATCHLEVEL__) || defined(__coverity_undefine___GNUC_PATCHLEVEL__)) +#define __GNUC_PATCHLEVEL__ 0 +#endif +#if !(defined(__FLT32_HAS_DENORM__) || defined(__coverity_undefine___FLT32_HAS_DENORM__)) +#define __FLT32_HAS_DENORM__ 1 +#endif +#if !(defined(__UINT_FAST8_MAX__) || defined(__coverity_undefine___UINT_FAST8_MAX__)) +#define __UINT_FAST8_MAX__ 0xff +#endif +#if !(defined(__cpp_rvalue_reference) || defined(__coverity_undefine___cpp_rvalue_reference)) +#define __cpp_rvalue_reference 200610 +#endif +#if !(defined(__DEC64_MAX_EXP__) || defined(__coverity_undefine___DEC64_MAX_EXP__)) +#define __DEC64_MAX_EXP__ 385 +#endif +#if !(defined(__INT8_C) || defined(__coverity_undefine___INT8_C)) +#define __INT8_C(c) c +#endif +#if !(defined(__INT_LEAST8_WIDTH__) || defined(__coverity_undefine___INT_LEAST8_WIDTH__)) +#define __INT_LEAST8_WIDTH__ 8 +#endif +#if !(defined(__UINT_LEAST64_MAX__) || defined(__coverity_undefine___UINT_LEAST64_MAX__)) +#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__SHRT_MAX__) || defined(__coverity_undefine___SHRT_MAX__)) +#define __SHRT_MAX__ 0x7fff +#endif +#if !(defined(__LDBL_MAX__) || defined(__coverity_undefine___LDBL_MAX__)) +#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L +#endif +#if !(defined(__FLT64X_MAX_10_EXP__) || defined(__coverity_undefine___FLT64X_MAX_10_EXP__)) +#define __FLT64X_MAX_10_EXP__ 4932 +#endif +#if !(defined(__UINT_LEAST8_MAX__) || defined(__coverity_undefine___UINT_LEAST8_MAX__)) +#define __UINT_LEAST8_MAX__ 0xff +#endif +#if !(defined(__GCC_ATOMIC_BOOL_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_BOOL_LOCK_FREE)) +#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 +#endif +#if !(defined(__FLT128_DENORM_MIN__) || defined(__coverity_undefine___FLT128_DENORM_MIN__)) +#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128 +#endif +#if !(defined(__UINTMAX_TYPE__) || defined(__coverity_undefine___UINTMAX_TYPE__)) +#define __UINTMAX_TYPE__ long unsigned int +#endif +#if !(defined(__linux) || defined(__coverity_undefine___linux)) +#define __linux 1 +#endif +#if !(defined(__DEC32_EPSILON__) || defined(__coverity_undefine___DEC32_EPSILON__)) +#define __DEC32_EPSILON__ 1E-6DF +#endif +#if !(defined(__FLT_EVAL_METHOD_TS_18661_3__) || defined(__coverity_undefine___FLT_EVAL_METHOD_TS_18661_3__)) +#define __FLT_EVAL_METHOD_TS_18661_3__ 0 +#endif +#if !(defined(__unix) || defined(__coverity_undefine___unix)) +#define __unix 1 +#endif +#if !(defined(__UINT32_MAX__) || defined(__coverity_undefine___UINT32_MAX__)) +#define __UINT32_MAX__ 0xffffffffU +#endif +#if !(defined(__GXX_EXPERIMENTAL_CXX0X__) || defined(__coverity_undefine___GXX_EXPERIMENTAL_CXX0X__)) +#define __GXX_EXPERIMENTAL_CXX0X__ 1 +#endif +#if !(defined(__LDBL_MAX_EXP__) || defined(__coverity_undefine___LDBL_MAX_EXP__)) +#define __LDBL_MAX_EXP__ 16384 +#endif +#if !(defined(__FLT128_MIN_EXP__) || defined(__coverity_undefine___FLT128_MIN_EXP__)) +#define __FLT128_MIN_EXP__ (-16381) +#endif +#if !(defined(__WINT_MIN__) || defined(__coverity_undefine___WINT_MIN__)) +#define __WINT_MIN__ 0U +#endif +#if !(defined(__linux__) || defined(__coverity_undefine___linux__)) +#define __linux__ 1 +#endif +#if !(defined(__FLT128_MIN_10_EXP__) || defined(__coverity_undefine___FLT128_MIN_10_EXP__)) +#define __FLT128_MIN_10_EXP__ (-4931) +#endif +#if !(defined(__INT_LEAST16_WIDTH__) || defined(__coverity_undefine___INT_LEAST16_WIDTH__)) +#define __INT_LEAST16_WIDTH__ 16 +#endif +#if !(defined(__SCHAR_MAX__) || defined(__coverity_undefine___SCHAR_MAX__)) +#define __SCHAR_MAX__ 0x7f +#endif +#if !(defined(__FLT128_MANT_DIG__) || defined(__coverity_undefine___FLT128_MANT_DIG__)) +#define __FLT128_MANT_DIG__ 113 +#endif +#if !(defined(__WCHAR_MIN__) || defined(__coverity_undefine___WCHAR_MIN__)) +#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) +#endif +#if !(defined(__INT64_C) || defined(__coverity_undefine___INT64_C)) +#define __INT64_C(c) c ## L +#endif +#if !(defined(__DBL_DIG__) || defined(__coverity_undefine___DBL_DIG__)) +#define __DBL_DIG__ 15 +#endif +#if !(defined(__GCC_ATOMIC_POINTER_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_POINTER_LOCK_FREE)) +#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 +#endif +#if !(defined(__FLT64X_MANT_DIG__) || defined(__coverity_undefine___FLT64X_MANT_DIG__)) +#define __FLT64X_MANT_DIG__ 64 +#endif +#if !(defined(__SIZEOF_INT__) || defined(__coverity_undefine___SIZEOF_INT__)) +#define __SIZEOF_INT__ 4 +#endif +#if !(defined(__SIZEOF_POINTER__) || defined(__coverity_undefine___SIZEOF_POINTER__)) +#define __SIZEOF_POINTER__ 8 +#endif +#if !(defined(__GCC_ATOMIC_CHAR16_T_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_CHAR16_T_LOCK_FREE)) +#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 +#endif +#if !(defined(__USER_LABEL_PREFIX__) || defined(__coverity_undefine___USER_LABEL_PREFIX__)) +#define __USER_LABEL_PREFIX__ +#endif +#if !(defined(__FLT64X_EPSILON__) || defined(__coverity_undefine___FLT64X_EPSILON__)) +#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x +#endif +#if !(defined(__STDC_HOSTED__) || defined(__coverity_undefine___STDC_HOSTED__)) +#define __STDC_HOSTED__ 1 +#endif +#if !(defined(__LDBL_HAS_INFINITY__) || defined(__coverity_undefine___LDBL_HAS_INFINITY__)) +#define __LDBL_HAS_INFINITY__ 1 +#endif +#if !(defined(__FLT32_DIG__) || defined(__coverity_undefine___FLT32_DIG__)) +#define __FLT32_DIG__ 6 +#endif +#if !(defined(__FLT_EPSILON__) || defined(__coverity_undefine___FLT_EPSILON__)) +#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F +#endif +#if !(defined(__GXX_WEAK__) || defined(__coverity_undefine___GXX_WEAK__)) +#define __GXX_WEAK__ 1 +#endif +#if !(defined(__SHRT_WIDTH__) || defined(__coverity_undefine___SHRT_WIDTH__)) +#define __SHRT_WIDTH__ 16 +#endif +#if !(defined(__LDBL_MIN__) || defined(__coverity_undefine___LDBL_MIN__)) +#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L +#endif +#if !(defined(__DEC32_MAX__) || defined(__coverity_undefine___DEC32_MAX__)) +#define __DEC32_MAX__ 9.999999E96DF +#endif +#if !(defined(__cpp_threadsafe_static_init) || defined(__coverity_undefine___cpp_threadsafe_static_init)) +#define __cpp_threadsafe_static_init 200806 +#endif +#if !(defined(__FLT64X_DENORM_MIN__) || defined(__coverity_undefine___FLT64X_DENORM_MIN__)) +#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x +#endif +#if !(defined(__FLT32X_HAS_INFINITY__) || defined(__coverity_undefine___FLT32X_HAS_INFINITY__)) +#define __FLT32X_HAS_INFINITY__ 1 +#endif +#if !(defined(__INT32_MAX__) || defined(__coverity_undefine___INT32_MAX__)) +#define __INT32_MAX__ 0x7fffffff +#endif +#if !(defined(__INT_WIDTH__) || defined(__coverity_undefine___INT_WIDTH__)) +#define __INT_WIDTH__ 32 +#endif +#if !(defined(__SIZEOF_LONG__) || defined(__coverity_undefine___SIZEOF_LONG__)) +#define __SIZEOF_LONG__ 8 +#endif +#if !(defined(__STDC_IEC_559__) || defined(__coverity_undefine___STDC_IEC_559__)) +#define __STDC_IEC_559__ 1 +#endif +#if !(defined(__STDC_ISO_10646__) || defined(__coverity_undefine___STDC_ISO_10646__)) +#define __STDC_ISO_10646__ 201706L +#endif +#if !(defined(__UINT16_C) || defined(__coverity_undefine___UINT16_C)) +#define __UINT16_C(c) c +#endif +#if !(defined(__PTRDIFF_WIDTH__) || defined(__coverity_undefine___PTRDIFF_WIDTH__)) +#define __PTRDIFF_WIDTH__ 64 +#endif +#if !(defined(__DECIMAL_DIG__) || defined(__coverity_undefine___DECIMAL_DIG__)) +#define __DECIMAL_DIG__ 21 +#endif +#if !(defined(__FLT64_EPSILON__) || defined(__coverity_undefine___FLT64_EPSILON__)) +#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64 +#endif +#if !(defined(__gnu_linux__) || defined(__coverity_undefine___gnu_linux__)) +#define __gnu_linux__ 1 +#endif +#if !(defined(__INTMAX_WIDTH__) || defined(__coverity_undefine___INTMAX_WIDTH__)) +#define __INTMAX_WIDTH__ 64 +#endif +#if !(defined(__FLT64_MIN_EXP__) || defined(__coverity_undefine___FLT64_MIN_EXP__)) +#define __FLT64_MIN_EXP__ (-1021) +#endif +#if !(defined(__FLT64X_MIN_10_EXP__) || defined(__coverity_undefine___FLT64X_MIN_10_EXP__)) +#define __FLT64X_MIN_10_EXP__ (-4931) +#endif +#if !(defined(__LDBL_HAS_QUIET_NAN__) || defined(__coverity_undefine___LDBL_HAS_QUIET_NAN__)) +#define __LDBL_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__FLT64_MANT_DIG__) || defined(__coverity_undefine___FLT64_MANT_DIG__)) +#define __FLT64_MANT_DIG__ 53 +#endif +#if !(defined(__GNUC__) || defined(__coverity_undefine___GNUC__)) +#define __GNUC__ 9 +#endif +#if !(defined(__GXX_RTTI) || defined(__coverity_undefine___GXX_RTTI)) +#define __GXX_RTTI 1 +#endif +#if !(defined(__pie__) || defined(__coverity_undefine___pie__)) +#define __pie__ 2 +#endif +#if !(defined(__MMX__) || defined(__coverity_undefine___MMX__)) +#define __MMX__ 1 +#endif +#if !(defined(__cpp_delegating_constructors) || defined(__coverity_undefine___cpp_delegating_constructors)) +#define __cpp_delegating_constructors 200604 +#endif +#if !(defined(__FLT_HAS_DENORM__) || defined(__coverity_undefine___FLT_HAS_DENORM__)) +#define __FLT_HAS_DENORM__ 1 +#endif +#if !(defined(__SIZEOF_LONG_DOUBLE__) || defined(__coverity_undefine___SIZEOF_LONG_DOUBLE__)) +#define __SIZEOF_LONG_DOUBLE__ 16 +#endif +#if !(defined(__BIGGEST_ALIGNMENT__) || defined(__coverity_undefine___BIGGEST_ALIGNMENT__)) +#define __BIGGEST_ALIGNMENT__ 16 +#endif +#if !(defined(__STDC_UTF_16__) || defined(__coverity_undefine___STDC_UTF_16__)) +#define __STDC_UTF_16__ 1 +#endif +#if !(defined(__FLT64_MAX_10_EXP__) || defined(__coverity_undefine___FLT64_MAX_10_EXP__)) +#define __FLT64_MAX_10_EXP__ 308 +#endif +#if !(defined(__FLT32_HAS_INFINITY__) || defined(__coverity_undefine___FLT32_HAS_INFINITY__)) +#define __FLT32_HAS_INFINITY__ 1 +#endif +#if !(defined(__DBL_MAX__) || defined(__coverity_undefine___DBL_MAX__)) +#define __DBL_MAX__ double(1.79769313486231570814527423731704357e+308L) +#endif +#if !(defined(__cpp_raw_strings) || defined(__coverity_undefine___cpp_raw_strings)) +#define __cpp_raw_strings 200710 +#endif +#if !(defined(__INT_FAST32_MAX__) || defined(__coverity_undefine___INT_FAST32_MAX__)) +#define __INT_FAST32_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__DBL_HAS_INFINITY__) || defined(__coverity_undefine___DBL_HAS_INFINITY__)) +#define __DBL_HAS_INFINITY__ 1 +#endif +#if !(defined(__HAVE_SPECULATION_SAFE_VALUE) || defined(__coverity_undefine___HAVE_SPECULATION_SAFE_VALUE)) +#define __HAVE_SPECULATION_SAFE_VALUE 1 +#endif +#if !(defined(__DEC32_MIN_EXP__) || defined(__coverity_undefine___DEC32_MIN_EXP__)) +#define __DEC32_MIN_EXP__ (-94) +#endif +#if !(defined(__INTPTR_WIDTH__) || defined(__coverity_undefine___INTPTR_WIDTH__)) +#define __INTPTR_WIDTH__ 64 +#endif +#if !(defined(__FLT32X_HAS_DENORM__) || defined(__coverity_undefine___FLT32X_HAS_DENORM__)) +#define __FLT32X_HAS_DENORM__ 1 +#endif +#if !(defined(__INT_FAST16_TYPE__) || defined(__coverity_undefine___INT_FAST16_TYPE__)) +#define __INT_FAST16_TYPE__ long int +#endif +#if !(defined(__LDBL_HAS_DENORM__) || defined(__coverity_undefine___LDBL_HAS_DENORM__)) +#define __LDBL_HAS_DENORM__ 1 +#endif +#if !(defined(__cplusplus) || defined(__coverity_undefine___cplusplus)) +#define __cplusplus 201402L +#endif +#if !(defined(__cpp_ref_qualifiers) || defined(__coverity_undefine___cpp_ref_qualifiers)) +#define __cpp_ref_qualifiers 200710 +#endif +#if !(defined(__DEC128_MAX__) || defined(__coverity_undefine___DEC128_MAX__)) +#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL +#endif +#if !(defined(__INT_LEAST32_MAX__) || defined(__coverity_undefine___INT_LEAST32_MAX__)) +#define __INT_LEAST32_MAX__ 0x7fffffff +#endif +#if !(defined(__DEC32_MIN__) || defined(__coverity_undefine___DEC32_MIN__)) +#define __DEC32_MIN__ 1E-95DF +#endif +#if !(defined(__DEPRECATED) || defined(__coverity_undefine___DEPRECATED)) +#define __DEPRECATED 1 +#endif +#if !(defined(__cpp_rvalue_references) || defined(__coverity_undefine___cpp_rvalue_references)) +#define __cpp_rvalue_references 200610 +#endif +#if !(defined(__DBL_MAX_EXP__) || defined(__coverity_undefine___DBL_MAX_EXP__)) +#define __DBL_MAX_EXP__ 1024 +#endif +#if !(defined(__WCHAR_WIDTH__) || defined(__coverity_undefine___WCHAR_WIDTH__)) +#define __WCHAR_WIDTH__ 32 +#endif +#if !(defined(__FLT32_MAX__) || defined(__coverity_undefine___FLT32_MAX__)) +#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32 +#endif +#if !(defined(__DEC128_EPSILON__) || defined(__coverity_undefine___DEC128_EPSILON__)) +#define __DEC128_EPSILON__ 1E-33DL +#endif +#if !(defined(__SSE2_MATH__) || defined(__coverity_undefine___SSE2_MATH__)) +#define __SSE2_MATH__ 1 +#endif +#if !(defined(__ATOMIC_HLE_RELEASE) || defined(__coverity_undefine___ATOMIC_HLE_RELEASE)) +#define __ATOMIC_HLE_RELEASE 131072 +#endif +#if !(defined(__PTRDIFF_MAX__) || defined(__coverity_undefine___PTRDIFF_MAX__)) +#define __PTRDIFF_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__amd64) || defined(__coverity_undefine___amd64)) +#define __amd64 1 +#endif +#if !(defined(__ATOMIC_HLE_ACQUIRE) || defined(__coverity_undefine___ATOMIC_HLE_ACQUIRE)) +#define __ATOMIC_HLE_ACQUIRE 65536 +#endif +#if !(defined(__FLT32_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT32_HAS_QUIET_NAN__)) +#define __FLT32_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__GNUG__) || defined(__coverity_undefine___GNUG__)) +#define __GNUG__ 9 +#endif +#if !(defined(__LONG_LONG_MAX__) || defined(__coverity_undefine___LONG_LONG_MAX__)) +#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL +#endif +#if !(defined(__SIZEOF_SIZE_T__) || defined(__coverity_undefine___SIZEOF_SIZE_T__)) +#define __SIZEOF_SIZE_T__ 8 +#endif +#if !(defined(__cpp_nsdmi) || defined(__coverity_undefine___cpp_nsdmi)) +#define __cpp_nsdmi 200809 +#endif +#if !(defined(__FLT64X_MIN_EXP__) || defined(__coverity_undefine___FLT64X_MIN_EXP__)) +#define __FLT64X_MIN_EXP__ (-16381) +#endif +#if !(defined(__SIZEOF_WINT_T__) || defined(__coverity_undefine___SIZEOF_WINT_T__)) +#define __SIZEOF_WINT_T__ 4 +#endif +#if !(defined(__LONG_LONG_WIDTH__) || defined(__coverity_undefine___LONG_LONG_WIDTH__)) +#define __LONG_LONG_WIDTH__ 64 +#endif +#if !(defined(__cpp_initializer_lists) || defined(__coverity_undefine___cpp_initializer_lists)) +#define __cpp_initializer_lists 200806 +#endif +#if !(defined(__FLT32_MAX_EXP__) || defined(__coverity_undefine___FLT32_MAX_EXP__)) +#define __FLT32_MAX_EXP__ 128 +#endif +#if !(defined(__cpp_hex_float) || defined(__coverity_undefine___cpp_hex_float)) +#define __cpp_hex_float 201603 +#endif +#if !(defined(__GCC_HAVE_DWARF2_CFI_ASM) || defined(__coverity_undefine___GCC_HAVE_DWARF2_CFI_ASM)) +#define __GCC_HAVE_DWARF2_CFI_ASM 1 +#endif +#if !(defined(__GXX_ABI_VERSION) || defined(__coverity_undefine___GXX_ABI_VERSION)) +#define __GXX_ABI_VERSION 1013 +#endif +#if !(defined(__FLT128_HAS_INFINITY__) || defined(__coverity_undefine___FLT128_HAS_INFINITY__)) +#define __FLT128_HAS_INFINITY__ 1 +#endif +#if !(defined(__FLT_MIN_EXP__) || defined(__coverity_undefine___FLT_MIN_EXP__)) +#define __FLT_MIN_EXP__ (-125) +#endif +#if !(defined(__cpp_lambdas) || defined(__coverity_undefine___cpp_lambdas)) +#define __cpp_lambdas 200907 +#endif +#if !(defined(__FLT64X_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT64X_HAS_QUIET_NAN__)) +#define __FLT64X_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__INT_FAST64_TYPE__) || defined(__coverity_undefine___INT_FAST64_TYPE__)) +#define __INT_FAST64_TYPE__ long int +#endif +#if !(defined(__FLT64_DENORM_MIN__) || defined(__coverity_undefine___FLT64_DENORM_MIN__)) +#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64 +#endif +#if !(defined(__DBL_MIN__) || defined(__coverity_undefine___DBL_MIN__)) +#define __DBL_MIN__ double(2.22507385850720138309023271733240406e-308L) +#endif +#if !(defined(__PIE__) || defined(__coverity_undefine___PIE__)) +#define __PIE__ 2 +#endif +#if !(defined(__LP64__) || defined(__coverity_undefine___LP64__)) +#define __LP64__ 1 +#endif +#if !(defined(__FLT32X_EPSILON__) || defined(__coverity_undefine___FLT32X_EPSILON__)) +#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x +#endif +#if !(defined(__DECIMAL_BID_FORMAT__) || defined(__coverity_undefine___DECIMAL_BID_FORMAT__)) +#define __DECIMAL_BID_FORMAT__ 1 +#endif +#if !(defined(__FLT64_MIN_10_EXP__) || defined(__coverity_undefine___FLT64_MIN_10_EXP__)) +#define __FLT64_MIN_10_EXP__ (-307) +#endif +#if !(defined(__FLT64X_DECIMAL_DIG__) || defined(__coverity_undefine___FLT64X_DECIMAL_DIG__)) +#define __FLT64X_DECIMAL_DIG__ 21 +#endif +#if !(defined(__DEC128_MIN__) || defined(__coverity_undefine___DEC128_MIN__)) +#define __DEC128_MIN__ 1E-6143DL +#endif +#if !(defined(__REGISTER_PREFIX__) || defined(__coverity_undefine___REGISTER_PREFIX__)) +#define __REGISTER_PREFIX__ +#endif +#if !(defined(__UINT16_MAX__) || defined(__coverity_undefine___UINT16_MAX__)) +#define __UINT16_MAX__ 0xffff +#endif +#if !(defined(__FLT32_MIN__) || defined(__coverity_undefine___FLT32_MIN__)) +#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32 +#endif +#if !(defined(__UINT8_TYPE__) || defined(__coverity_undefine___UINT8_TYPE__)) +#define __UINT8_TYPE__ unsigned char +#endif +#if !(defined(__FLT_MANT_DIG__) || defined(__coverity_undefine___FLT_MANT_DIG__)) +#define __FLT_MANT_DIG__ 24 +#endif +#if !(defined(__LDBL_DECIMAL_DIG__) || defined(__coverity_undefine___LDBL_DECIMAL_DIG__)) +#define __LDBL_DECIMAL_DIG__ 21 +#endif +#if !(defined(__VERSION__) || defined(__coverity_undefine___VERSION__)) +#define __VERSION__ "9.4.0" +#endif +#if !(defined(__UINT64_C) || defined(__coverity_undefine___UINT64_C)) +#define __UINT64_C(c) c ## UL +#endif +#if !(defined(__cpp_unicode_characters) || defined(__coverity_undefine___cpp_unicode_characters)) +#define __cpp_unicode_characters 200704 +#endif +#if !(defined(_STDC_PREDEF_H) || defined(__coverity_undefine__STDC_PREDEF_H)) +#define _STDC_PREDEF_H 1 +#endif +#if !(defined(__cpp_decltype_auto) || defined(__coverity_undefine___cpp_decltype_auto)) +#define __cpp_decltype_auto 201304 +#endif +#if !(defined(__GCC_ATOMIC_INT_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_INT_LOCK_FREE)) +#define __GCC_ATOMIC_INT_LOCK_FREE 2 +#endif +#if !(defined(__FLT128_MAX_EXP__) || defined(__coverity_undefine___FLT128_MAX_EXP__)) +#define __FLT128_MAX_EXP__ 16384 +#endif +#if !(defined(__FLT32_MANT_DIG__) || defined(__coverity_undefine___FLT32_MANT_DIG__)) +#define __FLT32_MANT_DIG__ 24 +#endif +#if !(defined(__FLOAT_WORD_ORDER__) || defined(__coverity_undefine___FLOAT_WORD_ORDER__)) +#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ +#endif +#if !(defined(__STDC_IEC_559_COMPLEX__) || defined(__coverity_undefine___STDC_IEC_559_COMPLEX__)) +#define __STDC_IEC_559_COMPLEX__ 1 +#endif +#if !(defined(__FLT128_HAS_DENORM__) || defined(__coverity_undefine___FLT128_HAS_DENORM__)) +#define __FLT128_HAS_DENORM__ 1 +#endif +#if !(defined(__FLT128_DIG__) || defined(__coverity_undefine___FLT128_DIG__)) +#define __FLT128_DIG__ 33 +#endif +#if !(defined(__SCHAR_WIDTH__) || defined(__coverity_undefine___SCHAR_WIDTH__)) +#define __SCHAR_WIDTH__ 8 +#endif +#if !(defined(__INT32_C) || defined(__coverity_undefine___INT32_C)) +#define __INT32_C(c) c +#endif +#if !(defined(__DEC64_EPSILON__) || defined(__coverity_undefine___DEC64_EPSILON__)) +#define __DEC64_EPSILON__ 1E-15DD +#endif +#if !(defined(__ORDER_PDP_ENDIAN__) || defined(__coverity_undefine___ORDER_PDP_ENDIAN__)) +#define __ORDER_PDP_ENDIAN__ 3412 +#endif +#if !(defined(__DEC128_MIN_EXP__) || defined(__coverity_undefine___DEC128_MIN_EXP__)) +#define __DEC128_MIN_EXP__ (-6142) +#endif +#if !(defined(__FLT32_MAX_10_EXP__) || defined(__coverity_undefine___FLT32_MAX_10_EXP__)) +#define __FLT32_MAX_10_EXP__ 38 +#endif +#if !(defined(__INT_FAST32_TYPE__) || defined(__coverity_undefine___INT_FAST32_TYPE__)) +#define __INT_FAST32_TYPE__ long int +#endif +#if !(defined(__UINT_LEAST16_TYPE__) || defined(__coverity_undefine___UINT_LEAST16_TYPE__)) +#define __UINT_LEAST16_TYPE__ short unsigned int +#endif +#if !(defined(__FLT64X_HAS_INFINITY__) || defined(__coverity_undefine___FLT64X_HAS_INFINITY__)) +#define __FLT64X_HAS_INFINITY__ 1 +#endif +#if !(defined(unix) || defined(__coverity_undefine_unix)) +#define unix 1 +#endif +#if !(defined(__DBL_HAS_DENORM__) || defined(__coverity_undefine___DBL_HAS_DENORM__)) +#define __DBL_HAS_DENORM__ 1 +#endif +#if !(defined(__INT16_MAX__) || defined(__coverity_undefine___INT16_MAX__)) +#define __INT16_MAX__ 0x7fff +#endif +#if !(defined(__cpp_rtti) || defined(__coverity_undefine___cpp_rtti)) +#define __cpp_rtti 199711 +#endif +#if !(defined(__SIZE_TYPE__) || defined(__coverity_undefine___SIZE_TYPE__)) +#define __SIZE_TYPE__ long unsigned int +#endif +#if !(defined(__UINT64_MAX__) || defined(__coverity_undefine___UINT64_MAX__)) +#define __UINT64_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__FLT64X_DIG__) || defined(__coverity_undefine___FLT64X_DIG__)) +#define __FLT64X_DIG__ 18 +#endif +#if !(defined(__INT8_TYPE__) || defined(__coverity_undefine___INT8_TYPE__)) +#define __INT8_TYPE__ signed char +#endif +#if !(defined(__cpp_digit_separators) || defined(__coverity_undefine___cpp_digit_separators)) +#define __cpp_digit_separators 201309 +#endif +#if !(defined(__ELF__) || defined(__coverity_undefine___ELF__)) +#define __ELF__ 1 +#endif +#if !(defined(__GCC_ASM_FLAG_OUTPUTS__) || defined(__coverity_undefine___GCC_ASM_FLAG_OUTPUTS__)) +#define __GCC_ASM_FLAG_OUTPUTS__ 1 +#endif +#if !(defined(__FLT_RADIX__) || defined(__coverity_undefine___FLT_RADIX__)) +#define __FLT_RADIX__ 2 +#endif +#if !(defined(__INT_LEAST16_TYPE__) || defined(__coverity_undefine___INT_LEAST16_TYPE__)) +#define __INT_LEAST16_TYPE__ short int +#endif +#if !(defined(__LDBL_EPSILON__) || defined(__coverity_undefine___LDBL_EPSILON__)) +#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L +#endif +#if !(defined(__UINTMAX_C) || defined(__coverity_undefine___UINTMAX_C)) +#define __UINTMAX_C(c) c ## UL +#endif +#if !(defined(__GLIBCXX_BITSIZE_INT_N_0) || defined(__coverity_undefine___GLIBCXX_BITSIZE_INT_N_0)) +#define __GLIBCXX_BITSIZE_INT_N_0 128 +#endif +#if !(defined(__k8) || defined(__coverity_undefine___k8)) +#define __k8 1 +#endif +#if !(defined(__SIG_ATOMIC_MAX__) || defined(__coverity_undefine___SIG_ATOMIC_MAX__)) +#define __SIG_ATOMIC_MAX__ 0x7fffffff +#endif +#if !(defined(__GCC_ATOMIC_WCHAR_T_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_WCHAR_T_LOCK_FREE)) +#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 +#endif +#if !(defined(__SIZEOF_PTRDIFF_T__) || defined(__coverity_undefine___SIZEOF_PTRDIFF_T__)) +#define __SIZEOF_PTRDIFF_T__ 8 +#endif +#if !(defined(__FLT32X_MANT_DIG__) || defined(__coverity_undefine___FLT32X_MANT_DIG__)) +#define __FLT32X_MANT_DIG__ 53 +#endif +#if !(defined(__x86_64__) || defined(__coverity_undefine___x86_64__)) +#define __x86_64__ 1 +#endif +#if !(defined(__FLT32X_MIN_EXP__) || defined(__coverity_undefine___FLT32X_MIN_EXP__)) +#define __FLT32X_MIN_EXP__ (-1021) +#endif +#if !(defined(__DEC32_SUBNORMAL_MIN__) || defined(__coverity_undefine___DEC32_SUBNORMAL_MIN__)) +#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF +#endif +#if !(defined(__INT_FAST16_MAX__) || defined(__coverity_undefine___INT_FAST16_MAX__)) +#define __INT_FAST16_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__FLT64_DIG__) || defined(__coverity_undefine___FLT64_DIG__)) +#define __FLT64_DIG__ 15 +#endif +#if !(defined(__UINT_FAST32_MAX__) || defined(__coverity_undefine___UINT_FAST32_MAX__)) +#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__UINT_LEAST64_TYPE__) || defined(__coverity_undefine___UINT_LEAST64_TYPE__)) +#define __UINT_LEAST64_TYPE__ long unsigned int +#endif +#if !(defined(__FLT_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT_HAS_QUIET_NAN__)) +#define __FLT_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__FLT_MAX_10_EXP__) || defined(__coverity_undefine___FLT_MAX_10_EXP__)) +#define __FLT_MAX_10_EXP__ 38 +#endif +#if !(defined(__LONG_MAX__) || defined(__coverity_undefine___LONG_MAX__)) +#define __LONG_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__FLT64X_HAS_DENORM__) || defined(__coverity_undefine___FLT64X_HAS_DENORM__)) +#define __FLT64X_HAS_DENORM__ 1 +#endif +#if !(defined(__DEC128_SUBNORMAL_MIN__) || defined(__coverity_undefine___DEC128_SUBNORMAL_MIN__)) +#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL +#endif +#if !(defined(__FLT_HAS_INFINITY__) || defined(__coverity_undefine___FLT_HAS_INFINITY__)) +#define __FLT_HAS_INFINITY__ 1 +#endif +#if !(defined(__cpp_unicode_literals) || defined(__coverity_undefine___cpp_unicode_literals)) +#define __cpp_unicode_literals 200710 +#endif +#if !(defined(__UINT_FAST16_TYPE__) || defined(__coverity_undefine___UINT_FAST16_TYPE__)) +#define __UINT_FAST16_TYPE__ long unsigned int +#endif +#if !(defined(__DEC64_MAX__) || defined(__coverity_undefine___DEC64_MAX__)) +#define __DEC64_MAX__ 9.999999999999999E384DD +#endif +#if !(defined(__INT_FAST32_WIDTH__) || defined(__coverity_undefine___INT_FAST32_WIDTH__)) +#define __INT_FAST32_WIDTH__ 64 +#endif +#if !(defined(__CHAR16_TYPE__) || defined(__coverity_undefine___CHAR16_TYPE__)) +#define __CHAR16_TYPE__ short unsigned int +#endif +#if !(defined(__PRAGMA_REDEFINE_EXTNAME) || defined(__coverity_undefine___PRAGMA_REDEFINE_EXTNAME)) +#define __PRAGMA_REDEFINE_EXTNAME 1 +#endif +#if !(defined(__SIZE_WIDTH__) || defined(__coverity_undefine___SIZE_WIDTH__)) +#define __SIZE_WIDTH__ 64 +#endif +#if !(defined(__SEG_FS) || defined(__coverity_undefine___SEG_FS)) +#define __SEG_FS 1 +#endif +#if !(defined(__INT_LEAST16_MAX__) || defined(__coverity_undefine___INT_LEAST16_MAX__)) +#define __INT_LEAST16_MAX__ 0x7fff +#endif +#if !(defined(__DEC64_MANT_DIG__) || defined(__coverity_undefine___DEC64_MANT_DIG__)) +#define __DEC64_MANT_DIG__ 16 +#endif +#if !(defined(__INT64_MAX__) || defined(__coverity_undefine___INT64_MAX__)) +#define __INT64_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__UINT_LEAST32_MAX__) || defined(__coverity_undefine___UINT_LEAST32_MAX__)) +#define __UINT_LEAST32_MAX__ 0xffffffffU +#endif +#if !(defined(__SEG_GS) || defined(__coverity_undefine___SEG_GS)) +#define __SEG_GS 1 +#endif +#if !(defined(__FLT32_DENORM_MIN__) || defined(__coverity_undefine___FLT32_DENORM_MIN__)) +#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32 +#endif +#if !(defined(__GCC_ATOMIC_LONG_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_LONG_LOCK_FREE)) +#define __GCC_ATOMIC_LONG_LOCK_FREE 2 +#endif +#if !(defined(__SIG_ATOMIC_WIDTH__) || defined(__coverity_undefine___SIG_ATOMIC_WIDTH__)) +#define __SIG_ATOMIC_WIDTH__ 32 +#endif +#if !(defined(__INT_LEAST64_TYPE__) || defined(__coverity_undefine___INT_LEAST64_TYPE__)) +#define __INT_LEAST64_TYPE__ long int +#endif +#if !(defined(__INT16_TYPE__) || defined(__coverity_undefine___INT16_TYPE__)) +#define __INT16_TYPE__ short int +#endif +#if !(defined(__INT_LEAST8_TYPE__) || defined(__coverity_undefine___INT_LEAST8_TYPE__)) +#define __INT_LEAST8_TYPE__ signed char +#endif +#if !(defined(__DEC32_MAX_EXP__) || defined(__coverity_undefine___DEC32_MAX_EXP__)) +#define __DEC32_MAX_EXP__ 97 +#endif +#if !(defined(__INT_FAST8_MAX__) || defined(__coverity_undefine___INT_FAST8_MAX__)) +#define __INT_FAST8_MAX__ 0x7f +#endif +#if !(defined(__FLT128_MAX__) || defined(__coverity_undefine___FLT128_MAX__)) +#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128 +#endif +#if !(defined(__INTPTR_MAX__) || defined(__coverity_undefine___INTPTR_MAX__)) +#define __INTPTR_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__cpp_sized_deallocation) || defined(__coverity_undefine___cpp_sized_deallocation)) +#define __cpp_sized_deallocation 201309 +#endif +#if !(defined(linux) || defined(__coverity_undefine_linux)) +#define linux 1 +#endif +#if !(defined(__cpp_range_based_for) || defined(__coverity_undefine___cpp_range_based_for)) +#define __cpp_range_based_for 200907 +#endif +#if !(defined(__FLT64_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT64_HAS_QUIET_NAN__)) +#define __FLT64_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__FLT32_MIN_10_EXP__) || defined(__coverity_undefine___FLT32_MIN_10_EXP__)) +#define __FLT32_MIN_10_EXP__ (-37) +#endif +#if !(defined(__SSE2__) || defined(__coverity_undefine___SSE2__)) +#define __SSE2__ 1 +#endif +#if !(defined(__EXCEPTIONS) || defined(__coverity_undefine___EXCEPTIONS)) +#define __EXCEPTIONS 1 +#endif +#if !(defined(__LDBL_MANT_DIG__) || defined(__coverity_undefine___LDBL_MANT_DIG__)) +#define __LDBL_MANT_DIG__ 64 +#endif +#if !(defined(__DBL_HAS_QUIET_NAN__) || defined(__coverity_undefine___DBL_HAS_QUIET_NAN__)) +#define __DBL_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__FLT64_HAS_INFINITY__) || defined(__coverity_undefine___FLT64_HAS_INFINITY__)) +#define __FLT64_HAS_INFINITY__ 1 +#endif +#if !(defined(__FLT64X_MAX__) || defined(__coverity_undefine___FLT64X_MAX__)) +#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x +#endif +#if !(defined(__SIG_ATOMIC_MIN__) || defined(__coverity_undefine___SIG_ATOMIC_MIN__)) +#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) +#endif +#if !(defined(__code_model_small__) || defined(__coverity_undefine___code_model_small__)) +#define __code_model_small__ 1 +#endif +#if !(defined(__cpp_return_type_deduction) || defined(__coverity_undefine___cpp_return_type_deduction)) +#define __cpp_return_type_deduction 201304 +#endif +#if !(defined(__k8__) || defined(__coverity_undefine___k8__)) +#define __k8__ 1 +#endif +#if !(defined(__INTPTR_TYPE__) || defined(__coverity_undefine___INTPTR_TYPE__)) +#define __INTPTR_TYPE__ long int +#endif +#if !(defined(__UINT16_TYPE__) || defined(__coverity_undefine___UINT16_TYPE__)) +#define __UINT16_TYPE__ short unsigned int +#endif +#if !(defined(__WCHAR_TYPE__) || defined(__coverity_undefine___WCHAR_TYPE__)) +#define __WCHAR_TYPE__ int +#endif +#if !(defined(__SIZEOF_FLOAT__) || defined(__coverity_undefine___SIZEOF_FLOAT__)) +#define __SIZEOF_FLOAT__ 4 +#endif +#if !(defined(__pic__) || defined(__coverity_undefine___pic__)) +#define __pic__ 2 +#endif +#if !(defined(__UINTPTR_MAX__) || defined(__coverity_undefine___UINTPTR_MAX__)) +#define __UINTPTR_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__INT_FAST64_WIDTH__) || defined(__coverity_undefine___INT_FAST64_WIDTH__)) +#define __INT_FAST64_WIDTH__ 64 +#endif +#if !(defined(__DEC64_MIN_EXP__) || defined(__coverity_undefine___DEC64_MIN_EXP__)) +#define __DEC64_MIN_EXP__ (-382) +#endif +#if !(defined(__cpp_decltype) || defined(__coverity_undefine___cpp_decltype)) +#define __cpp_decltype 200707 +#endif +#if !(defined(__FLT32_DECIMAL_DIG__) || defined(__coverity_undefine___FLT32_DECIMAL_DIG__)) +#define __FLT32_DECIMAL_DIG__ 9 +#endif +#if !(defined(__INT_FAST64_MAX__) || defined(__coverity_undefine___INT_FAST64_MAX__)) +#define __INT_FAST64_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__GCC_ATOMIC_TEST_AND_SET_TRUEVAL) || defined(__coverity_undefine___GCC_ATOMIC_TEST_AND_SET_TRUEVAL)) +#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 +#endif +#if !(defined(__FLT_DIG__) || defined(__coverity_undefine___FLT_DIG__)) +#define __FLT_DIG__ 6 +#endif +#if !(defined(__FLT64X_MAX_EXP__) || defined(__coverity_undefine___FLT64X_MAX_EXP__)) +#define __FLT64X_MAX_EXP__ 16384 +#endif +#if !(defined(__UINT_FAST64_TYPE__) || defined(__coverity_undefine___UINT_FAST64_TYPE__)) +#define __UINT_FAST64_TYPE__ long unsigned int +#endif +#if !(defined(__INT_MAX__) || defined(__coverity_undefine___INT_MAX__)) +#define __INT_MAX__ 0x7fffffff +#endif +#if !(defined(__amd64__) || defined(__coverity_undefine___amd64__)) +#define __amd64__ 1 +#endif +#if !(defined(__INT64_TYPE__) || defined(__coverity_undefine___INT64_TYPE__)) +#define __INT64_TYPE__ long int +#endif +#if !(defined(__FLT_MAX_EXP__) || defined(__coverity_undefine___FLT_MAX_EXP__)) +#define __FLT_MAX_EXP__ 128 +#endif +#if !(defined(__ORDER_BIG_ENDIAN__) || defined(__coverity_undefine___ORDER_BIG_ENDIAN__)) +#define __ORDER_BIG_ENDIAN__ 4321 +#endif +#if !(defined(__DBL_MANT_DIG__) || defined(__coverity_undefine___DBL_MANT_DIG__)) +#define __DBL_MANT_DIG__ 53 +#endif +#if !(defined(__cpp_inheriting_constructors) || defined(__coverity_undefine___cpp_inheriting_constructors)) +#define __cpp_inheriting_constructors 201511 +#endif +#if !(defined(__SIZEOF_FLOAT128__) || defined(__coverity_undefine___SIZEOF_FLOAT128__)) +#define __SIZEOF_FLOAT128__ 16 +#endif +#if !(defined(__INT_LEAST64_MAX__) || defined(__coverity_undefine___INT_LEAST64_MAX__)) +#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__DEC64_MIN__) || defined(__coverity_undefine___DEC64_MIN__)) +#define __DEC64_MIN__ 1E-383DD +#endif +#if !(defined(__WINT_TYPE__) || defined(__coverity_undefine___WINT_TYPE__)) +#define __WINT_TYPE__ unsigned int +#endif +#if !(defined(__UINT_LEAST32_TYPE__) || defined(__coverity_undefine___UINT_LEAST32_TYPE__)) +#define __UINT_LEAST32_TYPE__ unsigned int +#endif +#if !(defined(__SIZEOF_SHORT__) || defined(__coverity_undefine___SIZEOF_SHORT__)) +#define __SIZEOF_SHORT__ 2 +#endif +#if !(defined(__SSE__) || defined(__coverity_undefine___SSE__)) +#define __SSE__ 1 +#endif +#if !(defined(__LDBL_MIN_EXP__) || defined(__coverity_undefine___LDBL_MIN_EXP__)) +#define __LDBL_MIN_EXP__ (-16381) +#endif +#if !(defined(__FLT64_MAX__) || defined(__coverity_undefine___FLT64_MAX__)) +#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64 +#endif +#if !(defined(__WINT_WIDTH__) || defined(__coverity_undefine___WINT_WIDTH__)) +#define __WINT_WIDTH__ 32 +#endif +#if !(defined(__INT_LEAST8_MAX__) || defined(__coverity_undefine___INT_LEAST8_MAX__)) +#define __INT_LEAST8_MAX__ 0x7f +#endif +#if !(defined(__FLT32X_MAX_10_EXP__) || defined(__coverity_undefine___FLT32X_MAX_10_EXP__)) +#define __FLT32X_MAX_10_EXP__ 308 +#endif +#if !(defined(__SIZEOF_INT128__) || defined(__coverity_undefine___SIZEOF_INT128__)) +#define __SIZEOF_INT128__ 16 +#endif +#if !(defined(__LDBL_MAX_10_EXP__) || defined(__coverity_undefine___LDBL_MAX_10_EXP__)) +#define __LDBL_MAX_10_EXP__ 4932 +#endif +#if !(defined(__ATOMIC_RELAXED) || defined(__coverity_undefine___ATOMIC_RELAXED)) +#define __ATOMIC_RELAXED 0 +#endif +#if !(defined(__DBL_EPSILON__) || defined(__coverity_undefine___DBL_EPSILON__)) +#define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L) +#endif +#if !(defined(__FLT128_MIN__) || defined(__coverity_undefine___FLT128_MIN__)) +#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128 +#endif +#if !(defined(_LP64) || defined(__coverity_undefine__LP64)) +#define _LP64 1 +#endif +#if !(defined(__UINT8_C) || defined(__coverity_undefine___UINT8_C)) +#define __UINT8_C(c) c +#endif +#if !(defined(__FLT64_MAX_EXP__) || defined(__coverity_undefine___FLT64_MAX_EXP__)) +#define __FLT64_MAX_EXP__ 1024 +#endif +#if !(defined(__INT_LEAST32_TYPE__) || defined(__coverity_undefine___INT_LEAST32_TYPE__)) +#define __INT_LEAST32_TYPE__ int +#endif +#if !(defined(__SIZEOF_WCHAR_T__) || defined(__coverity_undefine___SIZEOF_WCHAR_T__)) +#define __SIZEOF_WCHAR_T__ 4 +#endif +#if !(defined(__FLT128_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT128_HAS_QUIET_NAN__)) +#define __FLT128_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__INT_FAST8_TYPE__) || defined(__coverity_undefine___INT_FAST8_TYPE__)) +#define __INT_FAST8_TYPE__ signed char +#endif +#if !(defined(__FLT64X_MIN__) || defined(__coverity_undefine___FLT64X_MIN__)) +#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x +#endif +#if !(defined(__GNUC_STDC_INLINE__) || defined(__coverity_undefine___GNUC_STDC_INLINE__)) +#define __GNUC_STDC_INLINE__ 1 +#endif +#if !(defined(__FLT64_HAS_DENORM__) || defined(__coverity_undefine___FLT64_HAS_DENORM__)) +#define __FLT64_HAS_DENORM__ 1 +#endif +#if !(defined(__FLT32_EPSILON__) || defined(__coverity_undefine___FLT32_EPSILON__)) +#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32 +#endif +#if !(defined(__DBL_DECIMAL_DIG__) || defined(__coverity_undefine___DBL_DECIMAL_DIG__)) +#define __DBL_DECIMAL_DIG__ 17 +#endif +#if !(defined(__STDC_UTF_32__) || defined(__coverity_undefine___STDC_UTF_32__)) +#define __STDC_UTF_32__ 1 +#endif +#if !(defined(__INT_FAST8_WIDTH__) || defined(__coverity_undefine___INT_FAST8_WIDTH__)) +#define __INT_FAST8_WIDTH__ 8 +#endif +#if !(defined(__FXSR__) || defined(__coverity_undefine___FXSR__)) +#define __FXSR__ 1 +#endif +#if !(defined(__DEC_EVAL_METHOD__) || defined(__coverity_undefine___DEC_EVAL_METHOD__)) +#define __DEC_EVAL_METHOD__ 2 +#endif +#if !(defined(__FLT32X_MAX__) || defined(__coverity_undefine___FLT32X_MAX__)) +#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x +#endif +#if !(defined(__cpp_runtime_arrays) || defined(__coverity_undefine___cpp_runtime_arrays)) +#define __cpp_runtime_arrays 198712 +#endif +#if !(defined(__UINT64_TYPE__) || defined(__coverity_undefine___UINT64_TYPE__)) +#define __UINT64_TYPE__ long unsigned int +#endif +#if !(defined(__UINT32_C) || defined(__coverity_undefine___UINT32_C)) +#define __UINT32_C(c) c ## U +#endif +#if !(defined(__INTMAX_MAX__) || defined(__coverity_undefine___INTMAX_MAX__)) +#define __INTMAX_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__cpp_alias_templates) || defined(__coverity_undefine___cpp_alias_templates)) +#define __cpp_alias_templates 200704 +#endif +#if !(defined(__BYTE_ORDER__) || defined(__coverity_undefine___BYTE_ORDER__)) +#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +#endif +#if !(defined(__FLT_DENORM_MIN__) || defined(__coverity_undefine___FLT_DENORM_MIN__)) +#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F +#endif +#if !(defined(__INT8_MAX__) || defined(__coverity_undefine___INT8_MAX__)) +#define __INT8_MAX__ 0x7f +#endif +#if !(defined(__LONG_WIDTH__) || defined(__coverity_undefine___LONG_WIDTH__)) +#define __LONG_WIDTH__ 64 +#endif +#if !(defined(__PIC__) || defined(__coverity_undefine___PIC__)) +#define __PIC__ 2 +#endif +#if !(defined(__UINT_FAST32_TYPE__) || defined(__coverity_undefine___UINT_FAST32_TYPE__)) +#define __UINT_FAST32_TYPE__ long unsigned int +#endif +#if !(defined(__CHAR32_TYPE__) || defined(__coverity_undefine___CHAR32_TYPE__)) +#define __CHAR32_TYPE__ unsigned int +#endif +#if !(defined(__FLT_MAX__) || defined(__coverity_undefine___FLT_MAX__)) +#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F +#endif +#if !(defined(__cpp_constexpr) || defined(__coverity_undefine___cpp_constexpr)) +#define __cpp_constexpr 201304 +#endif +#if !(defined(__INT32_TYPE__) || defined(__coverity_undefine___INT32_TYPE__)) +#define __INT32_TYPE__ int +#endif +#if !(defined(__SIZEOF_DOUBLE__) || defined(__coverity_undefine___SIZEOF_DOUBLE__)) +#define __SIZEOF_DOUBLE__ 8 +#endif +#if !(defined(__cpp_exceptions) || defined(__coverity_undefine___cpp_exceptions)) +#define __cpp_exceptions 199711 +#endif +#if !(defined(__FLT_MIN_10_EXP__) || defined(__coverity_undefine___FLT_MIN_10_EXP__)) +#define __FLT_MIN_10_EXP__ (-37) +#endif +#if !(defined(__FLT64_MIN__) || defined(__coverity_undefine___FLT64_MIN__)) +#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64 +#endif +#if !(defined(__INT_LEAST32_WIDTH__) || defined(__coverity_undefine___INT_LEAST32_WIDTH__)) +#define __INT_LEAST32_WIDTH__ 32 +#endif +#if !(defined(__INTMAX_TYPE__) || defined(__coverity_undefine___INTMAX_TYPE__)) +#define __INTMAX_TYPE__ long int +#endif +#if !(defined(__DEC128_MAX_EXP__) || defined(__coverity_undefine___DEC128_MAX_EXP__)) +#define __DEC128_MAX_EXP__ 6145 +#endif +#if !(defined(__FLT32X_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT32X_HAS_QUIET_NAN__)) +#define __FLT32X_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__ATOMIC_CONSUME) || defined(__coverity_undefine___ATOMIC_CONSUME)) +#define __ATOMIC_CONSUME 1 +#endif +#if !(defined(__GNUC_MINOR__) || defined(__coverity_undefine___GNUC_MINOR__)) +#define __GNUC_MINOR__ 4 +#endif +#if !(defined(__GLIBCXX_TYPE_INT_N_0) || defined(__coverity_undefine___GLIBCXX_TYPE_INT_N_0)) +#define __GLIBCXX_TYPE_INT_N_0 __int128 +#endif +#if !(defined(__INT_FAST16_WIDTH__) || defined(__coverity_undefine___INT_FAST16_WIDTH__)) +#define __INT_FAST16_WIDTH__ 64 +#endif +#if !(defined(__UINTMAX_MAX__) || defined(__coverity_undefine___UINTMAX_MAX__)) +#define __UINTMAX_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__DEC32_MANT_DIG__) || defined(__coverity_undefine___DEC32_MANT_DIG__)) +#define __DEC32_MANT_DIG__ 7 +#endif +#if !(defined(__FLT32X_DENORM_MIN__) || defined(__coverity_undefine___FLT32X_DENORM_MIN__)) +#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x +#endif +#if !(defined(__DBL_MAX_10_EXP__) || defined(__coverity_undefine___DBL_MAX_10_EXP__)) +#define __DBL_MAX_10_EXP__ 308 +#endif +#if !(defined(__LDBL_DENORM_MIN__) || defined(__coverity_undefine___LDBL_DENORM_MIN__)) +#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L +#endif +#if !(defined(__INT16_C) || defined(__coverity_undefine___INT16_C)) +#define __INT16_C(c) c +#endif +#if !(defined(__cpp_generic_lambdas) || defined(__coverity_undefine___cpp_generic_lambdas)) +#define __cpp_generic_lambdas 201304 +#endif +#if !(defined(__STDC__) || defined(__coverity_undefine___STDC__)) +#define __STDC__ 1 +#endif +#if !(defined(__FLT32X_DIG__) || defined(__coverity_undefine___FLT32X_DIG__)) +#define __FLT32X_DIG__ 15 +#endif +#if !(defined(__PTRDIFF_TYPE__) || defined(__coverity_undefine___PTRDIFF_TYPE__)) +#define __PTRDIFF_TYPE__ long int +#endif +#if !(defined(__ATOMIC_SEQ_CST) || defined(__coverity_undefine___ATOMIC_SEQ_CST)) +#define __ATOMIC_SEQ_CST 5 +#endif +#if !(defined(__UINT32_TYPE__) || defined(__coverity_undefine___UINT32_TYPE__)) +#define __UINT32_TYPE__ unsigned int +#endif +#if !(defined(__FLT32X_MIN_10_EXP__) || defined(__coverity_undefine___FLT32X_MIN_10_EXP__)) +#define __FLT32X_MIN_10_EXP__ (-307) +#endif +#if !(defined(__UINTPTR_TYPE__) || defined(__coverity_undefine___UINTPTR_TYPE__)) +#define __UINTPTR_TYPE__ long unsigned int +#endif +#if !(defined(__DEC64_SUBNORMAL_MIN__) || defined(__coverity_undefine___DEC64_SUBNORMAL_MIN__)) +#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD +#endif +#if !(defined(__DEC128_MANT_DIG__) || defined(__coverity_undefine___DEC128_MANT_DIG__)) +#define __DEC128_MANT_DIG__ 34 +#endif +#if !(defined(__LDBL_MIN_10_EXP__) || defined(__coverity_undefine___LDBL_MIN_10_EXP__)) +#define __LDBL_MIN_10_EXP__ (-4931) +#endif +#if !(defined(__FLT128_EPSILON__) || defined(__coverity_undefine___FLT128_EPSILON__)) +#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128 +#endif +#if !(defined(__SSE_MATH__) || defined(__coverity_undefine___SSE_MATH__)) +#define __SSE_MATH__ 1 +#endif +#if !(defined(__SIZEOF_LONG_LONG__) || defined(__coverity_undefine___SIZEOF_LONG_LONG__)) +#define __SIZEOF_LONG_LONG__ 8 +#endif +#if !(defined(__cpp_user_defined_literals) || defined(__coverity_undefine___cpp_user_defined_literals)) +#define __cpp_user_defined_literals 200809 +#endif +#if !(defined(__FLT128_DECIMAL_DIG__) || defined(__coverity_undefine___FLT128_DECIMAL_DIG__)) +#define __FLT128_DECIMAL_DIG__ 36 +#endif +#if !(defined(__GCC_ATOMIC_LLONG_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_LLONG_LOCK_FREE)) +#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 +#endif +#if !(defined(__FLT32X_MIN__) || defined(__coverity_undefine___FLT32X_MIN__)) +#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x +#endif +#if !(defined(__LDBL_DIG__) || defined(__coverity_undefine___LDBL_DIG__)) +#define __LDBL_DIG__ 18 +#endif +#if !(defined(__FLT_DECIMAL_DIG__) || defined(__coverity_undefine___FLT_DECIMAL_DIG__)) +#define __FLT_DECIMAL_DIG__ 9 +#endif +#if !(defined(__UINT_FAST16_MAX__) || defined(__coverity_undefine___UINT_FAST16_MAX__)) +#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__GCC_ATOMIC_SHORT_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_SHORT_LOCK_FREE)) +#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 +#endif +#if !(defined(__INT_LEAST64_WIDTH__) || defined(__coverity_undefine___INT_LEAST64_WIDTH__)) +#define __INT_LEAST64_WIDTH__ 64 +#endif +#if !(defined(__UINT_FAST8_TYPE__) || defined(__coverity_undefine___UINT_FAST8_TYPE__)) +#define __UINT_FAST8_TYPE__ unsigned char +#endif +#if !(defined(_GNU_SOURCE) || defined(__coverity_undefine__GNU_SOURCE)) +#define _GNU_SOURCE 1 +#endif +#if !(defined(__cpp_init_captures) || defined(__coverity_undefine___cpp_init_captures)) +#define __cpp_init_captures 201304 +#endif +#if !(defined(__ATOMIC_ACQ_REL) || defined(__coverity_undefine___ATOMIC_ACQ_REL)) +#define __ATOMIC_ACQ_REL 4 +#endif +#if !(defined(__ATOMIC_RELEASE) || defined(__coverity_undefine___ATOMIC_RELEASE)) +#define __ATOMIC_RELEASE 3 +#endif +#if !(defined(__CET__) || defined(__coverity_undefine___CET__)) +#define __CET__ 3 +#endif +#if !(defined(__DEPRECATED) || defined(__coverity_undefine___DEPRECATED)) +#define __DEPRECATED 1 +#endif +#if !(defined(__EXCEPTIONS) || defined(__coverity_undefine___EXCEPTIONS)) +#define __EXCEPTIONS 1 +#endif +#if !(defined(__FINITE_MATH_ONLY__) || defined(__coverity_undefine___FINITE_MATH_ONLY__)) +#define __FINITE_MATH_ONLY__ 0 +#endif +#if !(defined(__GCC_HAVE_DWARF2_CFI_ASM) || defined(__coverity_undefine___GCC_HAVE_DWARF2_CFI_ASM)) +#define __GCC_HAVE_DWARF2_CFI_ASM 1 +#endif +#if !(defined(__GCC_IEC_559_COMPLEX) || defined(__coverity_undefine___GCC_IEC_559_COMPLEX)) +#define __GCC_IEC_559_COMPLEX 2 +#endif +#if !(defined(__GNUG__) || defined(__coverity_undefine___GNUG__)) +#define __GNUG__ 9 +#endif +#if !(defined(__GXX_RTTI) || defined(__coverity_undefine___GXX_RTTI)) +#define __GXX_RTTI 1 +#endif +#if !(defined(__GXX_WEAK__) || defined(__coverity_undefine___GXX_WEAK__)) +#define __GXX_WEAK__ 1 +#endif +#if !(defined(__INCLUDE_LEVEL__) || defined(__coverity_undefine___INCLUDE_LEVEL__)) +#define __INCLUDE_LEVEL__ 0 +#endif +#if !(defined(__PIC__) || defined(__coverity_undefine___PIC__)) +#define __PIC__ 2 +#endif +#if !(defined(__PIE__) || defined(__coverity_undefine___PIE__)) +#define __PIE__ 2 +#endif +#if !(defined(__PTRDIFF_TYPE__) || defined(__coverity_undefine___PTRDIFF_TYPE__)) +#define __PTRDIFF_TYPE__ long int +#endif +#if !(defined(__REGISTER_PREFIX__) || defined(__coverity_undefine___REGISTER_PREFIX__)) +#define __REGISTER_PREFIX__ +#endif +#if !(defined(__SIZE_TYPE__) || defined(__coverity_undefine___SIZE_TYPE__)) +#define __SIZE_TYPE__ long unsigned int +#endif +#if !(defined(__SSP_STRONG__) || defined(__coverity_undefine___SSP_STRONG__)) +#define __SSP_STRONG__ 3 +#endif +#if !(defined(__STDC_IEC_559_COMPLEX__) || defined(__coverity_undefine___STDC_IEC_559_COMPLEX__)) +#define __STDC_IEC_559_COMPLEX__ +#endif +#if !(defined(__STDC_IEC_559__) || defined(__coverity_undefine___STDC_IEC_559__)) +#define __STDC_IEC_559__ +#endif +#if !(defined(__STDC__) || defined(__coverity_undefine___STDC__)) +#define __STDC__ 1 +#endif +#if !(defined(__USER_LABEL_PREFIX__) || defined(__coverity_undefine___USER_LABEL_PREFIX__)) +#define __USER_LABEL_PREFIX__ +#endif +#if !(defined(__VERSION__) || defined(__coverity_undefine___VERSION__)) +#define __VERSION__ "9.4.0" +#endif +#if !(defined(__cplusplus) || defined(__coverity_undefine___cplusplus)) +#define __cplusplus 201402L +#endif +#if !(defined(__cpp_aggregate_nsdmi) || defined(__coverity_undefine___cpp_aggregate_nsdmi)) +#define __cpp_aggregate_nsdmi 201304 +#endif +#if !(defined(__cpp_alias_templates) || defined(__coverity_undefine___cpp_alias_templates)) +#define __cpp_alias_templates 200704 +#endif +#if !(defined(__cpp_attributes) || defined(__coverity_undefine___cpp_attributes)) +#define __cpp_attributes 200809 +#endif +#if !(defined(__cpp_binary_literals) || defined(__coverity_undefine___cpp_binary_literals)) +#define __cpp_binary_literals 201304 +#endif +#if !(defined(__cpp_constexpr) || defined(__coverity_undefine___cpp_constexpr)) +#define __cpp_constexpr 201304 +#endif +#if !(defined(__cpp_decltype) || defined(__coverity_undefine___cpp_decltype)) +#define __cpp_decltype 200707 +#endif +#if !(defined(__cpp_decltype_auto) || defined(__coverity_undefine___cpp_decltype_auto)) +#define __cpp_decltype_auto 201304 +#endif +#if !(defined(__cpp_delegating_constructors) || defined(__coverity_undefine___cpp_delegating_constructors)) +#define __cpp_delegating_constructors 200604 +#endif +#if !(defined(__cpp_exceptions) || defined(__coverity_undefine___cpp_exceptions)) +#define __cpp_exceptions 199711 +#endif +#if !(defined(__cpp_generic_lambdas) || defined(__coverity_undefine___cpp_generic_lambdas)) +#define __cpp_generic_lambdas 201304 +#endif +#if !(defined(__cpp_hex_float) || defined(__coverity_undefine___cpp_hex_float)) +#define __cpp_hex_float 201603 +#endif +#if !(defined(__cpp_inheriting_constructors) || defined(__coverity_undefine___cpp_inheriting_constructors)) +#define __cpp_inheriting_constructors 201511 +#endif +#if !(defined(__cpp_init_captures) || defined(__coverity_undefine___cpp_init_captures)) +#define __cpp_init_captures 201304 +#endif +#if !(defined(__cpp_initializer_lists) || defined(__coverity_undefine___cpp_initializer_lists)) +#define __cpp_initializer_lists 200806 +#endif +#if !(defined(__cpp_lambdas) || defined(__coverity_undefine___cpp_lambdas)) +#define __cpp_lambdas 200907 +#endif +#if !(defined(__cpp_nsdmi) || defined(__coverity_undefine___cpp_nsdmi)) +#define __cpp_nsdmi 200809 +#endif +#if !(defined(__cpp_range_based_for) || defined(__coverity_undefine___cpp_range_based_for)) +#define __cpp_range_based_for 200907 +#endif +#if !(defined(__cpp_raw_strings) || defined(__coverity_undefine___cpp_raw_strings)) +#define __cpp_raw_strings 200710 +#endif +#if !(defined(__cpp_ref_qualifiers) || defined(__coverity_undefine___cpp_ref_qualifiers)) +#define __cpp_ref_qualifiers 200710 +#endif +#if !(defined(__cpp_return_type_deduction) || defined(__coverity_undefine___cpp_return_type_deduction)) +#define __cpp_return_type_deduction 201304 +#endif +#if !(defined(__cpp_rtti) || defined(__coverity_undefine___cpp_rtti)) +#define __cpp_rtti 199711 +#endif +#if !(defined(__cpp_runtime_arrays) || defined(__coverity_undefine___cpp_runtime_arrays)) +#define __cpp_runtime_arrays 198712 +#endif +#if !(defined(__cpp_rvalue_reference) || defined(__coverity_undefine___cpp_rvalue_reference)) +#define __cpp_rvalue_reference 200610 +#endif +#if !(defined(__cpp_rvalue_references) || defined(__coverity_undefine___cpp_rvalue_references)) +#define __cpp_rvalue_references 200610 +#endif +#if !(defined(__cpp_sized_deallocation) || defined(__coverity_undefine___cpp_sized_deallocation)) +#define __cpp_sized_deallocation 201309 +#endif +#if !(defined(__cpp_static_assert) || defined(__coverity_undefine___cpp_static_assert)) +#define __cpp_static_assert 200410 +#endif +#if !(defined(__cpp_threadsafe_static_init) || defined(__coverity_undefine___cpp_threadsafe_static_init)) +#define __cpp_threadsafe_static_init 200806 +#endif +#if !(defined(__cpp_unicode_characters) || defined(__coverity_undefine___cpp_unicode_characters)) +#define __cpp_unicode_characters 200704 +#endif +#if !(defined(__cpp_unicode_literals) || defined(__coverity_undefine___cpp_unicode_literals)) +#define __cpp_unicode_literals 200710 +#endif +#if !(defined(__cpp_user_defined_literals) || defined(__coverity_undefine___cpp_user_defined_literals)) +#define __cpp_user_defined_literals 200809 +#endif +#if !(defined(__cpp_variable_templates) || defined(__coverity_undefine___cpp_variable_templates)) +#define __cpp_variable_templates 201304 +#endif +#if !(defined(__cpp_variadic_templates) || defined(__coverity_undefine___cpp_variadic_templates)) +#define __cpp_variadic_templates 200704 +#endif +#if !(defined(__pic__) || defined(__coverity_undefine___pic__)) +#define __pic__ 2 +#endif +#if !(defined(__pie__) || defined(__coverity_undefine___pie__)) +#define __pie__ 2 +#endif +#if !(defined(__unix__) || defined(__coverity_undefine___unix__)) +#define __unix__ 1 +#endif diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity_config.xml b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity_config.xml new file mode 100644 index 000000000..74ee81bd6 --- /dev/null +++ b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity_config.xml @@ -0,0 +1,168 @@ + + + + + + + 1 + + + + cc + gcc + gcc-9 + x86_64-linux-gnu-gcc-9 + /usr/bin + g++ + C++ + cov-emit + GNU C++ Compiler + g++cc + gnu + -std=gnu90 + g++-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 + 9.4.0 + true + true + all + + + g++-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 + g++-cc-.* + + /usr/include/c++/9 + /usr/include/x86_64-linux-gnu/c++/9 + /usr/include/c++/9/backward + /usr/lib/gcc/x86_64-linux-gnu/9/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include + -E + -v + -dM + -E + -o.+ + -c + -Werror + -o + -xc++ + -E + -U__BLOCKS__ + -C + - + 2 + $CONFIGDIR$/coverity-compiler-compat.h + $CONFIGDIR$/coverity-macro-compat.h + --add_type_modifier=__coverity___fpreg + --add_type_modifier=__coverity_decimal + --add_type_modifier=__coverity_float + --add_type_modifier=__coverity_floatx + --no_predefined_feature_test_macros + --no_stdarg_builtin + --enable_128bit_int + --no_predefined_cplusplus + -w + --no_predefines + --comp_ver + 9.4.0 + --size_t_type=m + --ptrdiff_t_type=l + --type_sizes=w4xl8i4s2e16d8f4P8 + --type_alignments=w4xl8i4s2e16d8f4P8 + --char_bit_size=8 + --gnu_carriage_return_line_terminator + --wchar_t_keyword + --no_multiline_string + --no_trigraphs + --ignore_calling_convention + --enable_80bit_float + --enable_128bit_float + --macro_stack_pragmas + --exceptions + --arg_dependent_overload + --inline_keyword + --has_include_macro + --has_include_next_macro + --has_cpp_attribute_macro + --no_predefines + conftest\.c{1,2}$ + conftest\.cpp$ + cgo-cc-input-[0-9]+\.(c|cc|cpp|cxx) + $CONFIGDIR$/../user_nodefs.h + + gcc + + + /usr/lib/gcc/x86_64-linux-gnu/9/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/ + /lib/x86_64-linux-gnu/9/ + /lib/x86_64-linux-gnu/ + /lib/../lib/ + /usr/lib/x86_64-linux-gnu/9/ + /usr/lib/x86_64-linux-gnu/ + /usr/lib/../lib/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../ + /lib/ + /usr/lib/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o + /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o + /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 + /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so + /lib/x86_64-linux-gnu/libc.so.6 + /usr/lib/x86_64-linux-gnu/libc_nonshared.a + /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 + /usr/lib/x86_64-linux-gnu/libc_nonshared.a + /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 + /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 + /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o + + + -coverity_c_suffixes_are_cxx + + + + + CPLUS_INCLUDE_PATH + --c++ + + + + + + @(.*) + --coverity_resp_file=$1 + + + + + + gnu_pre_translate + + + + + CPATH + true + + + + + + + 74dcbc851f07efc12a994173d38d61db + + diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/configure-log.txt b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/configure-log.txt new file mode 100644 index 000000000..766918647 --- /dev/null +++ b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/configure-log.txt @@ -0,0 +1,4096 @@ +Getting compiler identification output with: /usr/bin/cc -std=gnu90 --version /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c +int main() {} + +**** END source file *** +pipe_command: /usr/bin/cc -std=gnu90 --version /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c +pipe_commands starting: /usr/bin/cc -std=gnu90 --version /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c +**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.output +cc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 +Copyright (C) 2019 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + +**** END FILE output *** +**** BEGIN FILE error: + +**** END FILE error *** +**** Compiler identification output begin **** +cc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 +Copyright (C) 2019 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + +**** Compiler identification output end **** +**** BEGIN PROBE run_test_sanity **** +[STATUS] g++cc-config-0: Running sanity tests on native compiler +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/simple.c +int x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/simple.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/simple.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c +#x +int a b c d; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c:1:2: error: invalid preprocessing directive #x + 1 | #x + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c:2:7: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘b’ + 2 | int a b c d; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c:2:7: error: unknown type name ‘b’ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/stddef.c +#include +struct mystruct { + int field1; + int field2; +} var; +size_t sz = sizeof(struct mystruct); +ptrdiff_t pd; +void func() { + pd = &var.field1 - &var.field2; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/stddef.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/stddef.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE run_test_sanity **** +**** BEGIN PROBE get_version_switch_output **** +Version switch: -E -v +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c +int main() {} + +**** END source file *** +pipe_command: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c +**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/version_output +# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c" +# 1 "" +# 1 "" +# 31 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 32 "" 2 +# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c" +int main() {} + +**** END FILE output *** +**** BEGIN FILE error: +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +OFFLOAD_TARGET_NAMES=nvptx-none:hsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) +COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' + /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -E -quiet -v -imultiarch x86_64-linux-gnu /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/lib/gcc/x86_64-linux-gnu/9/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' + +**** END FILE error *** +**** END PROBE get_version_switch_output **** +Version string before regex: # 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c" # 1 "" # 1 "" # 31 "" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 32 "" 2 # 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c" int main() {} Using built-in specs. COLLECT_GCC=/usr/bin/cc OFFLOAD_TARGET_NAMES=nvptx-none:hsa OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -E -quiet -v -imultiarch x86_64-linux-gnu /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/x86_64-linux-gnu/9/include /usr/local/include /usr/include/x86_64-linux-gnu /usr/include End of search list. COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' +Attempting to match the following regex: .*g[c+][c+] version 2\.9.* \(2.96.*\).* +Attempting to match the following regex: .*g[c+][c+][^\s]* [^\s]+ (\d+\.\d+(\.\d+)?) \(.*\).* +Match found. Version string after regex: 9.4.0 +Attempting to match the following regex: .*g[c+][c+][^\s]* \([^)]*\) (\d+\.\d+(\.\d+)?).* +Attempting to match the following regex: .*(?:cc|\+\+)(?:-[^\h]+)?(?:\.exe)?\h+(?:.*?\h+)?(\d+\.\d+(\.\d+)?).* +Attempting to match the following regex: .*[^0-9.](\d+\.\d+\.\d+).* +Compiler version found: 9.4.0 +**** BEGIN PROBE run_type_size_and_alignment_tests **** +**** BEGIN PROBE probe_helpful_compiler_info **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.c +int *i; unsigned long *c; void foo() { c = i; } + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.c: In function ‘foo’: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.c:1:42: warning: assignment to ‘long unsigned int *’ from incompatible pointer type ‘int *’ [-Wincompatible-pointer-types] + 1 | int *i; unsigned long *c; void foo() { c = i; } + | ^ + +**** END FILE stderr *** +Test succeded +Native compiler allows sloppy assigns. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.c + int x[((int)sizeof (int *)) - 13000]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.c:1:6: error: size of array ‘x’ is negative + 1 | int x[((int)sizeof (int *)) - 13000]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/zero_size_array.c + int x[0]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/zero_size_array.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/zero_size_array.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +Native compiler minimum array index is 0. +**** END PROBE probe_helpful_compiler_info **** +**** BEGIN PROBE Detecting size_t **** +Detecting size_t. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.c +size_t * s; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.c:1:1: error: unknown type name ‘size_t’ + 1 | size_t * s; + | ^~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.c:1:1: note: ‘size_t’ is defined in header ‘’; did you forget to ‘#include ’? + +++ |+#include + 1 | size_t * s; + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type2.c +#include +size_t * s; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type2.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type2.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_sloppy_typedef.c +#include +typedef void ***size_t; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_sloppy_typedef.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_sloppy_typedef.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_sloppy_typedef.c:2:17: error: conflicting types for ‘size_t’ + 2 | typedef void ***size_t; + | ^~~~~~ +In file included from /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_sloppy_typedef.c:1: +/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h:209:23: note: previous declaration of ‘size_t’ was here + 209 | typedef __SIZE_TYPE__ size_t; + | ^~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.c +#include +typedef unsigned int size_t;size_t x; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.c:2:22: error: conflicting types for ‘size_t’ + 2 | typedef unsigned int size_t;size_t x; + | ^~~~~~ +In file included from /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.c:1: +/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h:209:23: note: previous declaration of ‘size_t’ was here + 209 | typedef __SIZE_TYPE__ size_t; + | ^~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_long.c +#include +typedef unsigned long size_t;size_t x; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_long.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_long.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE Detecting size_t **** +**** BEGIN PROBE Detecting ptrdiff_t **** +Detecting ptrdiff_t. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.c +ptrdiff_t * s; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.c:1:1: error: unknown type name ‘ptrdiff_t’ + 1 | ptrdiff_t * s; + | ^~~~~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.c:1:1: note: ‘ptrdiff_t’ is defined in header ‘’; did you forget to ‘#include ’? + +++ |+#include + 1 | ptrdiff_t * s; + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type2.c +#include +ptrdiff_t * s; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type2.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type2.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_sloppy_typedef.c +#include +typedef void ***ptrdiff_t; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_sloppy_typedef.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_sloppy_typedef.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_sloppy_typedef.c:2:17: error: conflicting types for ‘ptrdiff_t’ + 2 | typedef void ***ptrdiff_t; + | ^~~~~~~~~ +In file included from /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_sloppy_typedef.c:1: +/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h:143:26: note: previous declaration of ‘ptrdiff_t’ was here + 143 | typedef __PTRDIFF_TYPE__ ptrdiff_t; + | ^~~~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.c +#include +typedef int ptrdiff_t;ptrdiff_t x; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.c:2:13: error: conflicting types for ‘ptrdiff_t’ + 2 | typedef int ptrdiff_t;ptrdiff_t x; + | ^~~~~~~~~ +In file included from /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.c:1: +/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h:143:26: note: previous declaration of ‘ptrdiff_t’ was here + 143 | typedef __PTRDIFF_TYPE__ ptrdiff_t; + | ^~~~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_long.c +#include +typedef long ptrdiff_t;ptrdiff_t x; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_long.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_long.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE Detecting ptrdiff_t **** +**** BEGIN PROBE add_appropriate_type_size_and_alignment_switch **** +[STATUS] g++cc-config-0: Detecting size and alignment of fundamental types. +Detecting size and alignment of wchar_t +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.c +wchar_t x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.c:1:1: error: unknown type name ‘wchar_t’ + 1 | wchar_t x; + | ^~~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.c:1:1: note: ‘wchar_t’ is defined in header ‘’; did you forget to ‘#include ’? + +++ |+#include + 1 | wchar_t x; + +**** END FILE stderr *** +Test failed +**** END PROBE run_type_size_test **** +Detecting size and alignment of long long +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_long.c +long long x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_long.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_long.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_size_8.c +int x [((int)sizeof (long long)) -8]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_size_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_size_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_align_8.c +struct X { char a; long long b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +long long b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_align_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_align_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +Detecting size and alignment of long +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long.c +long x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_size_8.c +int x [((int)sizeof (long)) -8]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_size_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_size_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_align_8.c +struct X { char a; long b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +long b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_align_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_align_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +Detecting size and alignment of int +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int.c +int x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.c +int x [((int)sizeof (int)) -8]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (int)) -8]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.c +int x [((int)sizeof (int)) -7]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (int)) -7]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.c +int x [((int)sizeof (int)) -6]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (int)) -6]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.c +int x [((int)sizeof (int)) -5]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (int)) -5]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_4.c +int x [((int)sizeof (int)) -4]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_4.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_4.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.c +struct X { char a; int b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +int b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.c:12:5: error: size of array ‘x’ is negative + 12 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.c +struct X { char a; int b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +int b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.c:11:5: error: size of array ‘x’ is negative + 11 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.c +struct X { char a; int b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +int b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.c:10:5: error: size of array ‘x’ is negative + 10 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.c +struct X { char a; int b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +int b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.c:9:5: error: size of array ‘x’ is negative + 9 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_4.c +struct X { char a; int b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +int b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_4.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_4.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +Detecting size and alignment of short +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_short.c +short x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_short.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_short.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.c +int x [((int)sizeof (short)) -4]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (short)) -4]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.c +int x [((int)sizeof (short)) -3]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (short)) -3]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_2.c +int x [((int)sizeof (short)) -2]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_2.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_2.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.c +struct X { char a; short b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +short b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.c:8:5: error: size of array ‘x’ is negative + 8 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.c +struct X { char a; short b; }; +struct Y { +char a1; +char a2; +char a3; +short b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.c:7:5: error: size of array ‘x’ is negative + 7 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_2.c +struct X { char a; short b; }; +struct Y { +char a1; +char a2; +short b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_2.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_2.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +Detecting size and alignment of long double +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_double.c +long double x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_double.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_double.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_size_16.c +int x [((int)sizeof (long double)) -16]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_size_16.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_size_16.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_align_16.c +struct X { char a; long double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +char a11; +char a12; +char a13; +char a14; +char a15; +char a16; +long double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_align_16.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_align_16.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +Detecting size and alignment of double +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_double.c +double x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_double.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_double.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.c +int x [((int)sizeof (double)) -16]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -16]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.c +int x [((int)sizeof (double)) -15]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -15]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.c +int x [((int)sizeof (double)) -14]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -14]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.c +int x [((int)sizeof (double)) -13]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -13]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.c +int x [((int)sizeof (double)) -12]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -12]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.c +int x [((int)sizeof (double)) -11]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -11]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.c +int x [((int)sizeof (double)) -10]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -10]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.c +int x [((int)sizeof (double)) -9]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -9]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_8.c +int x [((int)sizeof (double)) -8]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.c +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +char a11; +char a12; +char a13; +char a14; +char a15; +char a16; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.c:20:5: error: size of array ‘x’ is negative + 20 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.c +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +char a11; +char a12; +char a13; +char a14; +char a15; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.c:19:5: error: size of array ‘x’ is negative + 19 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.c +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +char a11; +char a12; +char a13; +char a14; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.c:18:5: error: size of array ‘x’ is negative + 18 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.c +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +char a11; +char a12; +char a13; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.c:17:5: error: size of array ‘x’ is negative + 17 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.c +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +char a11; +char a12; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.c:16:5: error: size of array ‘x’ is negative + 16 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.c +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +char a11; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.c:15:5: error: size of array ‘x’ is negative + 15 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.c +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.c:14:5: error: size of array ‘x’ is negative + 14 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.c +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.c:13:5: error: size of array ‘x’ is negative + 13 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_8.c +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +Detecting size and alignment of float +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_float.c +float x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_float.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_float.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.c +int x [((int)sizeof (float)) -8]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (float)) -8]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.c +int x [((int)sizeof (float)) -7]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (float)) -7]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.c +int x [((int)sizeof (float)) -6]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (float)) -6]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.c +int x [((int)sizeof (float)) -5]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (float)) -5]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_4.c +int x [((int)sizeof (float)) -4]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_4.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_4.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.c +struct X { char a; float b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +float b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.c:12:5: error: size of array ‘x’ is negative + 12 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.c +struct X { char a; float b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +float b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.c:11:5: error: size of array ‘x’ is negative + 11 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.c +struct X { char a; float b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +float b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.c:10:5: error: size of array ‘x’ is negative + 10 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.c +struct X { char a; float b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +float b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.c:9:5: error: size of array ‘x’ is negative + 9 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_4.c +struct X { char a; float b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +float b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_4.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_4.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +Detecting size and alignment of int * +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int__ptr_.c +int * x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int__ptr_.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int__ptr_.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__size_8.c +int x [((int)sizeof (int *)) -8]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__size_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__size_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__align_8.c +struct X { char a; int * b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +int * b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__align_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__align_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE add_appropriate_type_size_and_alignment_switch **** +**** BEGIN PROBE run_char_bit_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_1.c +#define N 1 +#define SHIFT(VALUE,AMOUNT) \ + ((VALUE) << ((AMOUNT) >= 63 ? 7 : 0) \ + << ((AMOUNT) >= 56 ? 7 : 0) \ + << ((AMOUNT) >= 49 ? 7 : 0) \ + << ((AMOUNT) >= 42 ? 7 : 0) \ + << ((AMOUNT) >= 35 ? 7 : 0) \ + << ((AMOUNT) >= 28 ? 7 : 0) \ + << ((AMOUNT) >= 21 ? 7 : 0) \ + << ((AMOUNT) >= 14 ? 7 : 0) \ + << ((AMOUNT) >= 7 ? 7 : 0) \ + << ((AMOUNT) % 7)) +typedef unsigned char UC; +void foo() { + static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_1.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_1.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.c +#define N 9 +#define SHIFT(VALUE,AMOUNT) \ + ((VALUE) << ((AMOUNT) >= 63 ? 7 : 0) \ + << ((AMOUNT) >= 56 ? 7 : 0) \ + << ((AMOUNT) >= 49 ? 7 : 0) \ + << ((AMOUNT) >= 42 ? 7 : 0) \ + << ((AMOUNT) >= 35 ? 7 : 0) \ + << ((AMOUNT) >= 28 ? 7 : 0) \ + << ((AMOUNT) >= 21 ? 7 : 0) \ + << ((AMOUNT) >= 14 ? 7 : 0) \ + << ((AMOUNT) >= 7 ? 7 : 0) \ + << ((AMOUNT) % 7)) +typedef unsigned char UC; +void foo() { + static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.c: In function ‘foo’: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.c:15:14: error: size of array ‘check_char_bit’ is negative + 15 | static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; + | ^~~~~~~~~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_8.c +#define N 8 +#define SHIFT(VALUE,AMOUNT) \ + ((VALUE) << ((AMOUNT) >= 63 ? 7 : 0) \ + << ((AMOUNT) >= 56 ? 7 : 0) \ + << ((AMOUNT) >= 49 ? 7 : 0) \ + << ((AMOUNT) >= 42 ? 7 : 0) \ + << ((AMOUNT) >= 35 ? 7 : 0) \ + << ((AMOUNT) >= 28 ? 7 : 0) \ + << ((AMOUNT) >= 21 ? 7 : 0) \ + << ((AMOUNT) >= 14 ? 7 : 0) \ + << ((AMOUNT) >= 7 ? 7 : 0) \ + << ((AMOUNT) % 7)) +typedef unsigned char UC; +void foo() { + static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE run_char_bit_size_test **** +**** END PROBE run_type_size_and_alignment_tests **** +**** BEGIN PROBE add_appropriate_restrict_switch_if_needed **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.c +int * restrict i; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.c:1:16: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘i’ + 1 | int * restrict i; + | ^ + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_restrict_switch_if_needed **** +**** BEGIN PROBE add_appropriate_cr_term_switch_if_needed **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/cr_term.c +int i; #define foo \ bar void foo() { }; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/cr_term.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/cr_term.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE add_appropriate_cr_term_switch_if_needed **** +**** BEGIN PROBE add_enable_declspec_switch_if_needed **** +__declspec macro definition test. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.c +#ifndef __declspec +#error __declspec not defined +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.c:2:2: error: #error __declspec not defined + 2 | #error __declspec not defined + | ^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec2.c + +void __declspec(int x) { + x = 1; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec2.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec2.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE add_enable_declspec_switch_if_needed **** +**** BEGIN PROBE add_appropriate_wchar_t_type_switch **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c +void f() { + static const unsigned short invalid_wcs[] = L"Invalid wide format string."; + static const unsigned short prefix[] = L"+\0-\0 \0000x\0000X"; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c: In function ‘f’: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c:2:47: error: cannot initialize array of ‘short unsigned int’ from a string literal with type array of ‘int’ + 2 | static const unsigned short invalid_wcs[] = L"Invalid wide format string."; + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c:3:42: error: cannot initialize array of ‘short unsigned int’ from a string literal with type array of ‘int’ + 3 | static const unsigned short prefix[] = L"+\0-\0 \0000x\0000X"; + | ^~~~~~~~~~~~~~~~~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c +void f() { + static const short invalid_wcs[] = L"Invalid wide format string."; + static const short prefix[] = L"+\0-\0 \0000x\0000X"; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c: In function ‘f’: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c:2:38: error: array of inappropriate type initialized from string constant + 2 | static const short invalid_wcs[] = L"Invalid wide format string."; + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c:3:33: error: array of inappropriate type initialized from string constant + 3 | static const short prefix[] = L"+\0-\0 \0000x\0000X"; + | ^~~~~~~~~~~~~~~~~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c +void f() { + static const unsigned int invalid_wcs[] = L"Invalid wide format string."; + static const unsigned int prefix[] = L"+\0-\0 \0000x\0000X"; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c: In function ‘f’: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c:2:45: error: cannot initialize array of ‘unsigned int’ from a string literal with type array of ‘int’ + 2 | static const unsigned int invalid_wcs[] = L"Invalid wide format string."; + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c:3:40: error: cannot initialize array of ‘unsigned int’ from a string literal with type array of ‘int’ + 3 | static const unsigned int prefix[] = L"+\0-\0 \0000x\0000X"; + | ^~~~~~~~~~~~~~~~~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typei.c +void f() { + static const int invalid_wcs[] = L"Invalid wide format string."; + static const int prefix[] = L"+\0-\0 \0000x\0000X"; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typei.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typei.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE add_appropriate_wchar_t_type_switch **** +**** BEGIN PROBE add_multiline_string_switch_if_needed **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c +char* str = "Hello +World"; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:1:13: warning: missing terminating " character + 1 | char* str = "Hello + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:1:13: error: missing terminating " character + 1 | char* str = "Hello + | ^~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:2:6: warning: missing terminating " character + 2 | World"; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:2:6: error: missing terminating " character + 2 | World"; + | ^~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:2:1: error: ‘World’ undeclared here (not in a function) + 2 | World"; + | ^~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:2:1: error: expected ‘,’ or ‘;’ at end of input + +**** END FILE stderr *** +Test failed +**** END PROBE add_multiline_string_switch_if_needed **** +**** BEGIN PROBE add_appropriate_trigraphs_switch **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c +char x ??( 3 ??) = "Hi"; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c:1:8: warning: trigraph ??( ignored, use -trigraphs to enable [-Wtrigraphs] + 1 | char x ??( 3 ??) = "Hi"; + | +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c:1:8: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘?’ token + 1 | char x ??( 3 ??) = "Hi"; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c:1:14: warning: trigraph ??) ignored, use -trigraphs to enable [-Wtrigraphs] + 1 | char x ??( 3 ??) = "Hi"; + | + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_trigraphs_switch **** +**** BEGIN PROBE run_x86_calling_conventions_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.c +void foo(void) __attribute__((__stdcall__)); + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.c:1:1: warning: ‘stdcall’ attribute ignored [-Wattributes] + 1 | void foo(void) __attribute__((__stdcall__)); + | ^~~~ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.c +void f(void) ; +void (*p)() __attribute__((__stdcall__)) = &f; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.c:2:1: warning: ‘stdcall’ attribute ignored [-Wattributes] + 2 | void (*p)() __attribute__((__stdcall__)) = &f; + | ^~~~ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.c +void f(void) ; +void (*p)() __attribute__((__cdecl__)) = &f; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.c:2:1: warning: ‘cdecl’ attribute ignored [-Wattributes] + 2 | void (*p)() __attribute__((__cdecl__)) = &f; + | ^~~~ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.c +void f(void) ; +void (*p)() __attribute__((__fastcall__)) = &f; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.c:2:1: warning: ‘fastcall’ attribute ignored [-Wattributes] + 2 | void (*p)() __attribute__((__fastcall__)) = &f; + | ^~~~ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.c +void f(void) ; +void (*p)() __attribute__((__vectorcall__)) = &f; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.c:2:1: warning: ‘vectorcall’ attribute directive ignored [-Wattributes] + 2 | void (*p)() __attribute__((__vectorcall__)) = &f; + | ^~~~ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.c +void f(void) ; +void (*p)() __attribute__((__thiscall__)) = &f; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.c:2:1: warning: ‘thiscall’ attribute ignored [-Wattributes] + 2 | void (*p)() __attribute__((__thiscall__)) = &f; + | ^~~~ + +**** END FILE stderr *** +Test succeded +**** END PROBE run_x86_calling_conventions_test **** +**** BEGIN PROBE add_appropriate_altivec_switch_if_needed **** +Detecting whether AltiVec is supported. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.c +__vector unsigned int a; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.c:1:9: error: expected ‘;’ before ‘unsigned’ + 1 | __vector unsigned int a; + | ^~~~~~~~~ + | ; + +**** END FILE stderr *** +Test failed +AltiVec is implicitly disabled. +**** END PROBE add_appropriate_altivec_switch_if_needed **** +**** BEGIN PROBE add_appropriate_c_version_switch **** +Detecting which C mode is in use. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c11.c +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L +int using_c11; +#else +#error "Not c11" +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c11.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c11.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c11.c:4:2: error: #error "Not c11" + 4 | #error "Not c11" + | ^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c99.c +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +int using_c99; +#else +#error "Not c99" +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c99.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c99.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c99.c:4:2: error: #error "Not c99" + 4 | #error "Not c99" + | ^~~~~ + +**** END FILE stderr *** +Test failed +c99 mode appears to be disabled. +**** END PROBE add_appropriate_c_version_switch **** +**** BEGIN PROBE add_float80_and_128_switch_if_needed **** +Detecting whether __float80 and __float128 are supported. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float80.c +__float80 x; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float80.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float80.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +float80 appears to be enabled. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float128.c +__float128 x; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float128.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float128.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +float128 appears to be enabled. +**** END PROBE add_float80_and_128_switch_if_needed **** +**** BEGIN PROBE add_appropriate__Bool_switch **** +Detecting whether _Bool keyword is in use. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_Bool.c +#ifdef _Bool +#undef _Bool +#endif + +_Bool foo; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_Bool.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_Bool.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +_Bool keyword appears to be in use. +**** END PROBE add_appropriate__Bool_switch **** +**** BEGIN PROBE add_appropriate_macro_stack_pragma_switch **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_sanity.c +#define TEST 1 +#pragma push_macro("TEST") +#pragma pop_macro("TEST") + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_sanity.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_sanity.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_pragmas.c +#define TEST 1 +#pragma push_macro("TEST") +#undef TEST +#define TEST -1 +#pragma pop_macro("TEST") +int arr[TEST]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_pragmas.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_pragmas.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.c +#define TEST -1 +#pragma push_macro("TEST") +#undef TEST +#define TEST 1 +#pragma pop_macro("TEST") +int arr[TEST]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.c:6:5: error: size of array ‘arr’ is negative + 6 | int arr[TEST]; + | ^~~ + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_macro_stack_pragma_switch **** +**** BEGIN PROBE add_appropriate_arg_dependent_overload_switch **** +Detecting whether --arg_dependent_overload is needed. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c +typedef unsigned short FIXED_FLOAT16; +typedef unsigned int FIXED_FLOAT32; + +namespace Y { +typedef struct _VECTOR3F { } VECTOR3F; + +float InnerProduct(const _VECTOR3F& v1, const _VECTOR3F& v2); +} + +namespace fxutil { + FIXED_FLOAT32 InnerProduct(const FIXED_FLOAT32& v1, const FIXED_FLOAT32& v2); + FIXED_FLOAT32 InnerProduct(const FIXED_FLOAT16& v1, const FIXED_FLOAT16& v2); +} + +namespace X { + float Sqrt(float f); + float Sqrt(FIXED_FLOAT32 f); +} +using namespace X; + +void f(Y::VECTOR3F &scale) +{ + using fxutil::InnerProduct; + Sqrt(InnerProduct(scale,scale)); +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:4:1: error: unknown type name ‘namespace’ + 4 | namespace Y { + | ^~~~~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:4:13: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token + 4 | namespace Y { + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:10:1: error: unknown type name ‘namespace’ + 10 | namespace fxutil { + | ^~~~~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:10:18: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token + 10 | namespace fxutil { + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:15:1: error: unknown type name ‘namespace’ + 15 | namespace X { + | ^~~~~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:15:13: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token + 15 | namespace X { + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:19:1: error: unknown type name ‘using’ + 19 | using namespace X; + | ^~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:19:17: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘X’ + 19 | using namespace X; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:21:9: error: expected ‘)’ before ‘:’ token + 21 | void f(Y::VECTOR3F &scale) + | ^ + | ) + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_arg_dependent_overload_switch **** +**** BEGIN PROBE add_appropriate_vector_intrinsics_switch **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector bool int x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector bool int x) {f1(x);} + | ^~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c:1:102: error: unknown type name ‘__vector’ + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector bool int x) {f1(x);} + | ^~~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector __bool int x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector __bool int x) {f1(x);} + | ^~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c:1:102: error: unknown type name ‘__vector’ + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector __bool int x) {f1(x);} + | ^~~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector bool int x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector bool int x) {f1(x);} + | ^~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c:1:102: error: unknown type name ‘vector’ + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector bool int x) {f1(x);} + | ^~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector __bool int x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector __bool int x) {f1(x);} + | ^~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c:1:102: error: unknown type name ‘vector’ + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector __bool int x) {f1(x);} + | ^~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector pixel x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector pixel x) {f1(x);} + | ^~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c:1:105: error: unknown type name ‘__vector’ + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector pixel x) {f1(x);} + | ^~~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector __pixel x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector __pixel x) {f1(x);} + | ^~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c:1:105: error: unknown type name ‘__vector’ + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector __pixel x) {f1(x);} + | ^~~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector pixel x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector pixel x) {f1(x);} + | ^~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c:1:105: error: unknown type name ‘vector’ + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector pixel x) {f1(x);} + | ^~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector __pixel x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector __pixel x) {f1(x);} + | ^~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c:1:105: error: unknown type name ‘vector’ + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector __pixel x) {f1(x);} + | ^~~~~~ + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_vector_intrinsics_switch **** +**** BEGIN PROBE set_appropriate_target_platform **** +**** BEGIN PROBE get_macros **** +compiler_prober_t::make_abs_preproc_command + cmd: /usr/bin/cc -std=gnu90 +/usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c +#ifdef __MINGW64__ +__coverity_macro __MINGW64__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __MINGW32__ +__coverity_macro __MINGW32__ +#else +__the_symbol_is_not_defined__ +#endif + +**** END source file *** +pipe_command: /usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c +**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/pp_out +# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" +# 1 "" +# 1 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 1 "" 2 +# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + +**** END FILE output *** +**** BEGIN FILE error: + +**** END FILE error *** +**** END PROBE get_macros **** +[WARNING] Failed to infer target platform of compiler using macro probes. Falling back on default value. +**** END PROBE set_appropriate_target_platform **** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c -print-sysroot +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c -print-sysroot +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.c +int inline = 0; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.c:1:12: error: expected identifier or ‘(’ before ‘=’ token + 1 | int inline = 0; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/inline_keyword.c +inline void foo() { } + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/inline_keyword.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/inline_keyword.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN PROBE add_appropriate_has_include_switch **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_pos.c +#ifdef __has_include +# if __has_include("whatever") +# endif +#else +#error +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_pos.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_pos.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.c +#ifdef __has_include +#error +#else +#define __has_include int foo(void) +__has_include; +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.c:2:2: error: #error + 2 | #error + | ^~~~~ + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_has_include_switch **** +**** BEGIN PROBE add_appropriate_has_include_next_switch **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_pos.c +#ifdef __has_include_next +# if __has_include_next("whatever") +# endif +#else +#error +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_pos.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_pos.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.c +#ifdef __has_include_next +#error +#else +#define __has_include_next int foo(void) +__has_include_next; +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.c:2:2: error: #error + 2 | #error + | ^~~~~ + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_has_include_next_switch **** +**** BEGIN PROBE add_appropriate_has_cpp_attribute_switch **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_pos.c +#ifdef __has_cpp_attribute +# if __has_cpp_attribute(whatever) +# endif +#else +#error +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_pos.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_pos.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.c +#ifdef __has_cpp_attribute +#error +#else +#define __has_cpp_attribute int foo(void) +__has_cpp_attribute; +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.c:2:2: error: #error + 2 | #error + | ^~~~~ + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_has_cpp_attribute_switch **** +run_comp_tests: no defined custom tests +**** BEGIN PROBE get_standard_includes **** +Dryrun command: /usr/bin/cc -std=gnu90 -xc -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c + +**** END source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c +**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.output +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +OFFLOAD_TARGET_NAMES=nvptx-none:hsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) +COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' + /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -E -quiet -v -imultiarch x86_64-linux-gnu /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/lib/gcc/x86_64-linux-gnu/9/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' + +**** END FILE output *** +**** BEGIN FILE error: +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +OFFLOAD_TARGET_NAMES=nvptx-none:hsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) +COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' + /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -E -quiet -v -imultiarch x86_64-linux-gnu /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/lib/gcc/x86_64-linux-gnu/9/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' + +**** END FILE error *** +Dryrun gcc found sys include path: /usr/lib/gcc/x86_64-linux-gnu/9/include +Dryrun gcc found sys include path: /usr/local/include +Dryrun gcc found sys include path: /usr/include/x86_64-linux-gnu +Dryrun gcc found sys include path: /usr/include +Dryrun gcc headers found: 4 +**** END PROBE get_standard_includes **** +compiler_prober_t::make_abs_preproc_command + cmd: /usr/bin/cc -std=gnu90 +/usr/bin/cc -std=gnu90 -xc -dM -E /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c + + +**** END source file *** +pipe_command: /usr/bin/cc -std=gnu90 -xc -dM -E /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -dM -E /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c +**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.output +#define __SSP_STRONG__ 3 +#define __DBL_MIN_EXP__ (-1021) +#define __FLT32X_MAX_EXP__ 1024 +#define __UINT_LEAST16_MAX__ 0xffff +#define __ATOMIC_ACQUIRE 2 +#define __FLT128_MAX_10_EXP__ 4932 +#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F +#define __GCC_IEC_559_COMPLEX 2 +#define __UINT_LEAST8_TYPE__ unsigned char +#define __SIZEOF_FLOAT80__ 16 +#define __INTMAX_C(c) c ## L +#define __CHAR_BIT__ 8 +#define __UINT8_MAX__ 0xff +#define __WINT_MAX__ 0xffffffffU +#define __FLT32_MIN_EXP__ (-125) +#define __ORDER_LITTLE_ENDIAN__ 1234 +#define __SIZE_MAX__ 0xffffffffffffffffUL +#define __WCHAR_MAX__ 0x7fffffff +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +#define __DBL_DENORM_MIN__ ((double)4.94065645841246544176568792868221372e-324L) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 +#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 +#define __GCC_IEC_559 2 +#define __FLT32X_DECIMAL_DIG__ 17 +#define __FLT_EVAL_METHOD__ 0 +#define __unix__ 1 +#define __FLT64_DECIMAL_DIG__ 17 +#define __CET__ 3 +#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 +#define __x86_64 1 +#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL +#define __SIG_ATOMIC_TYPE__ int +#define __DBL_MIN_10_EXP__ (-307) +#define __FINITE_MATH_ONLY__ 0 +#define __GNUC_PATCHLEVEL__ 0 +#define __FLT32_HAS_DENORM__ 1 +#define __UINT_FAST8_MAX__ 0xff +#define __has_include(STR) __has_include__(STR) +#define __DEC64_MAX_EXP__ 385 +#define __INT8_C(c) c +#define __INT_LEAST8_WIDTH__ 8 +#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL +#define __SHRT_MAX__ 0x7fff +#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L +#define __FLT64X_MAX_10_EXP__ 4932 +#define __UINT_LEAST8_MAX__ 0xff +#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 +#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128 +#define __UINTMAX_TYPE__ long unsigned int +#define __linux 1 +#define __DEC32_EPSILON__ 1E-6DF +#define __FLT_EVAL_METHOD_TS_18661_3__ 0 +#define __unix 1 +#define __UINT32_MAX__ 0xffffffffU +#define __LDBL_MAX_EXP__ 16384 +#define __FLT128_MIN_EXP__ (-16381) +#define __WINT_MIN__ 0U +#define __linux__ 1 +#define __FLT128_MIN_10_EXP__ (-4931) +#define __INT_LEAST16_WIDTH__ 16 +#define __SCHAR_MAX__ 0x7f +#define __FLT128_MANT_DIG__ 113 +#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) +#define __INT64_C(c) c ## L +#define __DBL_DIG__ 15 +#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 +#define __FLT64X_MANT_DIG__ 64 +#define __SIZEOF_INT__ 4 +#define __SIZEOF_POINTER__ 8 +#define __USER_LABEL_PREFIX__ +#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x +#define __STDC_HOSTED__ 1 +#define __LDBL_HAS_INFINITY__ 1 +#define __FLT32_DIG__ 6 +#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F +#define __SHRT_WIDTH__ 16 +#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L +#define __DEC32_MAX__ 9.999999E96DF +#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x +#define __FLT32X_HAS_INFINITY__ 1 +#define __INT32_MAX__ 0x7fffffff +#define __INT_WIDTH__ 32 +#define __SIZEOF_LONG__ 8 +#define __STDC_IEC_559__ 1 +#define __STDC_ISO_10646__ 201706L +#define __UINT16_C(c) c +#define __PTRDIFF_WIDTH__ 64 +#define __DECIMAL_DIG__ 21 +#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64 +#define __gnu_linux__ 1 +#define __INTMAX_WIDTH__ 64 +#define __has_include_next(STR) __has_include_next__(STR) +#define __FLT64X_MIN_10_EXP__ (-4931) +#define __LDBL_HAS_QUIET_NAN__ 1 +#define __FLT64_MANT_DIG__ 53 +#define __GNUC__ 9 +#define __pie__ 2 +#define __MMX__ 1 +#define __FLT_HAS_DENORM__ 1 +#define __SIZEOF_LONG_DOUBLE__ 16 +#define __BIGGEST_ALIGNMENT__ 16 +#define __FLT64_MAX_10_EXP__ 308 +#define __DBL_MAX__ ((double)1.79769313486231570814527423731704357e+308L) +#define __INT_FAST32_MAX__ 0x7fffffffffffffffL +#define __DBL_HAS_INFINITY__ 1 +#define __HAVE_SPECULATION_SAFE_VALUE 1 +#define __DEC32_MIN_EXP__ (-94) +#define __INTPTR_WIDTH__ 64 +#define __FLT32X_HAS_DENORM__ 1 +#define __INT_FAST16_TYPE__ long int +#define __LDBL_HAS_DENORM__ 1 +#define __FLT128_HAS_INFINITY__ 1 +#define __DEC128_MAX__ 9.99999999999999999999999999 + + + + 1 +#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x +#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) +#define __code_model_small__ 1 +#define __k8__ 1 +#define __INTPTR_TYPE__ long int +#define __UINT16_TYPE__ short unsigned int +#define __WCHAR_TYPE__ int +#define __SIZEOF_FLOAT__ 4 +#define __pic__ 2 +#define __UINTPTR_MAX__ 0xffffffffffffffffUL +#define __INT_FAST64_WIDTH__ 64 +#define __DEC64_MIN_EXP__ (-382) +#define __FLT32_DECIMAL_DIG__ 9 +#define __INT_FAST64_MAX__ 0x7fffffffffffffffL +#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 +#define __FLT_DIG__ 6 +#define __FLT32_HAS_INFINITY__ 1 +#define __FLT64X_MAX_EXP__ 16384 +#define __UINT_FAST64_TYPE__ long unsigned int +#define __INT_MAX__ 0x7fffffff +#define __amd64__ 1 +#define __INT64_TYPE__ long int +#define __FLT_MAX_EXP__ 128 +#define __ORDER_BIG_ENDIAN__ 4321 +#define __DBL_MANT_DIG__ 53 +#define __SIZEOF_FLOAT128__ 16 +#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL +#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 +#define __DEC64_MIN__ 1E-383DD +#define __WINT_TYPE__ unsigned int +#define __UINT_LEAST32_TYPE__ unsigned int +#define __SIZEOF_SHORT__ 2 +#define __SSE__ 1 +#define __LDBL_MIN_EXP__ (-16381) +#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64 +#define __WINT_WIDTH__ 32 +#define __INT_LEAST8_MAX__ 0x7f +#define __FLT32X_MAX_10_EXP__ 308 +#define __SIZEOF_INT128__ 16 +#define __LDBL_MAX_10_EXP__ 4932 +#define __ATOMIC_RELAXED 0 +#define __DBL_EPSILON__ ((double)2.22044604925031308084726333618164062e-16L) +#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128 +#define _LP64 1 +#define __UINT8_C(c) c +#define __FLT64_MAX_EXP__ 1024 +#define __INT_LEAST32_TYPE__ int +#define __SIZEOF_WCHAR_T__ 4 +#define __UINT64_TYPE__ long unsigned int +#define __FLT128_HAS_QUIET_NAN__ 1 +#define __INT_FAST8_TYPE__ signed char +#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x +#define __FLT64_HAS_DENORM__ 1 +#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32 +#define __DBL_DECIMAL_DIG__ 17 +#define __INT_FAST8_WIDTH__ 8 +#define __FXSR__ 1 +#define __DEC_EVAL_METHOD__ 2 +#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x +#define __UINT32_C(c) c ## U +#define __INTMAX_MAX__ 0x7fffffffffffffffL +#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F +#define __INT8_MAX__ 0x7f +#define __LONG_WIDTH__ 64 +#define __PIC__ 2 +#define __UINT_FAST32_TYPE__ long unsigned int +#define __CHAR32_TYPE__ unsigned int +#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F +#define __INT32_TYPE__ int +#define __SIZEOF_DOUBLE__ 8 +#define __FLT_MIN_10_EXP__ (-37) +#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64 +#define __INT_LEAST32_WIDTH__ 32 +#define __INTMAX_TYPE__ long int +#define __DEC128_MAX_EXP__ 6145 +#define __FLT32X_HAS_QUIET_NAN__ 1 +#define __ATOMIC_CONSUME 1 +#define __GNUC_MINOR__ 4 +#define __INT_FAST16_WIDTH__ 64 +#define __UINTMAX_MAX__ 0xffffffffffffffffUL +#define __DEC32_MANT_DIG__ 7 +#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x +#define __DBL_MAX_10_EXP__ 308 +#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L +#define __INT16_C(c) c +#define __STDC__ 1 +#define __PTRDIFF_TYPE__ long int +#define __ATOMIC_SEQ_CST 5 +#define __UINT32_TYPE__ unsigned int +#define __FLT32X_MIN_10_EXP__ (-307) +#define __UINTPTR_TYPE__ long unsigned int +#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD +#define __DEC128_MANT_DIG__ 34 +#define __LDBL_MIN_10_EXP__ (-4931) +#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128 +#define __SIZEOF_LONG_LONG__ 8 +#define __FLT128_DECIMAL_DIG__ 36 +#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 +#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x +#define __LDBL_DIG__ 18 +#define __FLT_DECIMAL_DIG__ 9 +#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL +#define __GNUC_GNU_INLINE__ 1 +#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 +#define __INT_LEAST64_WIDTH__ 64 +#define __UINT_FAST8_TYPE__ unsigned char +#define __ATOMIC_ACQ_REL 4 +#define __ATOMIC_RELEASE 3 + +**** END FILE output *** +**** BEGIN FILE error: + +**** END FILE error *** +Skipping looking for macros in standard headers. The header scan probe has been disabled by the no header scan option. +**** BEGIN PROBE get_macros **** +[STATUS] g++cc-config-0: Retrieving values for macros +compiler_prober_t::make_abs_preproc_command + cmd: /usr/bin/cc -std=gnu90 +/usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c +#ifdef _REENTRANT +__coverity_macro _REENTRANT +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __CET__ +__coverity_macro __CET__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __CHAR_UNSIGNED__ +__coverity_macro __CHAR_UNSIGNED__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __DEPRECATED +__coverity_macro __DEPRECATED +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __EXCEPTIONS +__coverity_macro __EXCEPTIONS +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FAST_MATH__ +__coverity_macro __FAST_MATH__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FINITE_MATH_ONLY__ +__coverity_macro __FINITE_MATH_ONLY__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMA +__coverity_macro __FP_FAST_FMA +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF +__coverity_macro __FP_FAST_FMAF +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF128 +__coverity_macro __FP_FAST_FMAF128 +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF128X +__coverity_macro __FP_FAST_FMAF128X +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF16 +__coverity_macro __FP_FAST_FMAF16 +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF32 +__coverity_macro __FP_FAST_FMAF32 +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF32X +__coverity_macro __FP_FAST_FMAF32X +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF64 +__coverity_macro __FP_FAST_FMAF64 +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF64X +__coverity_macro __FP_FAST_FMAF64X +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAL +__coverity_macro __FP_FAST_FMAL +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __GCC_HAVE_DWARF2_CFI_ASM +__coverity_macro __GCC_HAVE_DWARF2_CFI_ASM +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 +__coverity_macro __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __GCC_IEC_559_COMPLEX +__coverity_macro __GCC_IEC_559_COMPLEX +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __GNUG__ +__coverity_macro __GNUG__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __GXX_RTTI +__coverity_macro __GXX_RTTI +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __GXX_WEAK__ +__coverity_macro __GXX_WEAK__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __INCLUDE_LEVEL__ +__coverity_macro __INCLUDE_LEVEL__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __NO_MATH_ERRNO__ +__coverity_macro __NO_MATH_ERRNO__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __PIC__ +__coverity_macro __PIC__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __PIE__ +__coverity_macro __PIE__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __PTRDIFF_TYPE__ +__coverity_macro __PTRDIFF_TYPE__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __REGISTER_PREFIX__ +__coverity_macro __REGISTER_PREFIX__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __SANITIZE_ADDRESS__ +__coverity_macro __SANITIZE_ADDRESS__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __SANITIZE_THREAD__ +__coverity_macro __SANITIZE_THREAD__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __SIZE_TYPE__ +__coverity_macro __SIZE_TYPE__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __SSP_ALL__ +__coverity_macro __SSP_ALL__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __SSP_EXPLICIT__ +__coverity_macro __SSP_EXPLICIT__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __SSP_STRONG__ +__coverity_macro __SSP_STRONG__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __SSP__ +__coverity_macro __SSP__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __STDCPP_DEFAULT_NEW_ALIGNMENT__ +__coverity_macro __STDCPP_DEFAULT_NEW_ALIGNMENT__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __STDC_IEC_559_COMPLEX__ +__coverity_macro __STDC_IEC_559_COMPLEX__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __STDC_IEC_559__ +__coverity_macro __STDC_IEC_559__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __STDC_VERSION__ +__coverity_macro __STDC_VERSION__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __STDC__ +__coverity_macro __STDC__ +#else +__the_symbol_is_not_define + + + +ariables +__coverity_macro __cpp_inline_variables +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_lambdas +__coverity_macro __cpp_lambdas +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_modules +__coverity_macro __cpp_modules +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_namespace_attributes +__coverity_macro __cpp_namespace_attributes +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_nested_namespace_definitions +__coverity_macro __cpp_nested_namespace_definitions +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_noexcept_function_type +__coverity_macro __cpp_noexcept_function_type +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_nontype_template_args +__coverity_macro __cpp_nontype_template_args +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_nontype_template_parameter_auto +__coverity_macro __cpp_nontype_template_parameter_auto +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_nontype_template_parameter_class +__coverity_macro __cpp_nontype_template_parameter_class +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_nsdmi +__coverity_macro __cpp_nsdmi +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_range_based_for +__coverity_macro __cpp_range_based_for +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_raw_strings +__coverity_macro __cpp_raw_strings +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_ref_qualifiers +__coverity_macro __cpp_ref_qualifiers +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_return_type_deduction +__coverity_macro __cpp_return_type_deduction +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_rtti +__coverity_macro __cpp_rtti +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_runtime_arrays +__coverity_macro __cpp_runtime_arrays +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_rvalue_reference +__coverity_macro __cpp_rvalue_reference +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_rvalue_references +__coverity_macro __cpp_rvalue_references +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_size_t_suffix +__coverity_macro __cpp_size_t_suffix +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_sized_deallocation +__coverity_macro __cpp_sized_deallocation +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_static_assert +__coverity_macro __cpp_static_assert +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_structured_bindings +__coverity_macro __cpp_structured_bindings +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_template_template_args +__coverity_macro __cpp_template_template_args +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_threadsafe_static_init +__coverity_macro __cpp_threadsafe_static_init +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_transactional_memory +__coverity_macro __cpp_transactional_memory +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_unicode_characters +__coverity_macro __cpp_unicode_characters +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_unicode_literals +__coverity_macro __cpp_unicode_literals +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_user_defined_literals +__coverity_macro __cpp_user_defined_literals +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_using_enum +__coverity_macro __cpp_using_enum +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_variable_templates +__coverity_macro __cpp_variable_templates +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_variadic_templates +__coverity_macro __cpp_variadic_templates +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_variadic_using +__coverity_macro __cpp_variadic_using +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __pic__ +__coverity_macro __pic__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __pie__ +__coverity_macro __pie__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __private_extern__ +__coverity_macro __private_extern__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __unix__ +__coverity_macro __unix__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __vax__ +__coverity_macro __vax__ +#else +__the_symbol_is_not_defined__ +#endif + +**** END source file *** +pipe_command: /usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c +**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/pp_out +# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" +# 1 "" +# 1 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 1 "" 2 +# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 3 + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 0 + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 1 + + + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 2 + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 0 + + + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 2 + + + + +__coverity_macro 2 + + + + +__coverity_macro long int + + + + +__coverity_macro + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro long unsigned int + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 3 + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro +# 187 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" 3 4 + 1 + + + + + +# 192 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" +__coverity_macro +# 192 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" 3 4 + 1 + + + + + + + +# 199 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" +__the_symbol_is_not_defined__ + + +__coverity_macro 1 + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro + + + + +__coverity_macro "9.4.0" + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 2 + + + + +__coverity_macro 2 + + + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 1 + + + + + + +__the_symbol_is_not_defined__ + +**** END FILE output *** +**** BEGIN FILE error: + +**** END FILE error *** +**** END PROBE get_macros **** +Failed to find header /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/templates/gnu/cc.h +[STATUS] g++cc-config-0: Running config probes +**** BEGIN PROBE run_linker_config_probe **** +Running command "/usr/bin/cc -std=gnu90 -print-search-dirs". +pipe_command: /usr/bin/cc -std=gnu90 -print-search-dirs +pipe_commands starting: /usr/bin/cc -std=gnu90 -print-search-dirs +**** BEGIN OUTPUT run_linker_config_probe **** +install: /usr/lib/gcc/x86_64-linux-gnu/9/ +programs: =/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/ +libraries: =/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/9/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/9/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ +**** END OUTPUT run_linker_config_probe **** +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/'. +**** Found library search path '/lib/x86_64-linux-gnu/9/'. +**** Found library search path '/lib/x86_64-linux-gnu/'. +**** Found library search path '/lib/../lib/'. +**** Found library search path '/usr/lib/x86_64-linux-gnu/9/'. +**** Found library search path '/usr/lib/x86_64-linux-gnu/'. +**** Found library search path '/usr/lib/../lib/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../'. +**** Found library search path '/lib/'. +**** Found library search path '/usr/lib/'. +**** END PROBE run_linker_config_probe **** +**** BEGIN PROBE run_linker_config_probe **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c +int main() {} +**** END FILE source file *** +Running command "/usr/bin/cc -std=gnu90 -Wl,--trace test.c". +pipe_command: /usr/bin/cc -std=gnu90 -Wl,--trace test.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -Wl,--trace test.c +**** BEGIN OUTPUT run_linker_config_probe **** +/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o +/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o +/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o +/tmp/ccdvAW1g.o +/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +/usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so +/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 +/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so +/lib/x86_64-linux-gnu/libc.so.6 +/usr/lib/x86_64-linux-gnu/libc_nonshared.a +/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 +/usr/lib/x86_64-linux-gnu/libc_nonshared.a +/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 +/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +/usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so +/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 +/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o +/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o +**** END OUTPUT run_linker_config_probe **** +[WARNING]: expecting first line to be a mode line but got: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o +[WARNING]: /tmp/ccdvAW1g.o eliminated because it does not exist in the file system. +**** END PROBE run_linker_config_probe **** diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity-compiler-compat.h b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity-compiler-compat.h new file mode 100644 index 000000000..02b721e89 --- /dev/null +++ b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity-compiler-compat.h @@ -0,0 +1,8645 @@ + +#if __COVERITY__ +#if !defined(COVERITY_COMPAT_78500a2f2d31ccbe7af41d295f2190b8) +#define COVERITY_COMPAT_78500a2f2d31ccbe7af41d295f2190b8 +#pragma builtin begin + +/* + Copyright (c) 2020 Synopsys, Inc. All rights reserved worldwide. + The information contained in this file is the proprietary and confidential + information of Synopsys, Inc. and its licensors, and is supplied subject to, + and may be used only by Synopsys customers in accordance with the terms and + conditions of a previously executed license agreement between Synopsys and + that customer. +*/ + + +/* DO NOT MODIFY THE CONTENTS OF THIS FILE */ +/* Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. */ +#ifdef __coverity_cplusplus +extern "C" { +#endif + +#if defined(__arm__) || defined(__ARM_NEON__) || defined(__aarch64__) + +// Type aliases common to several targets + +typedef char __simd128_int8_t __attribute__((__vector_size__(16))); +typedef short __simd128_int16_t __attribute__((__vector_size__(16))); +typedef int __simd128_int32_t __attribute__((__vector_size__(16))); +typedef long long __simd128_int64_t __attribute__((__vector_size__(16))); +typedef unsigned char __simd128_uint8_t __attribute__((__vector_size__(16))); +typedef unsigned short __simd128_uint16_t __attribute__((__vector_size__(16))); +typedef unsigned int __simd128_uint32_t __attribute__((__vector_size__(16))); +typedef unsigned long long __simd128_uint64_t __attribute__((__vector_size__(16))); +typedef float cov_fp16_t __attribute__((mode(HF))); +typedef float __simd128_float32_t __attribute__((__vector_size__(16))); +typedef cov_fp16_t __simd128_float16_t __attribute__((__vector_size__(16))); +typedef int __builtin_neon_oi __attribute__ ((__vector_size__(32))); +typedef int __builtin_neon_xi __attribute__ ((__vector_size__(64))); +typedef cov_fp16_t __bf16; + +#endif // defined(__arm__) || defined(__ARM_NEON__) || defined(__aarch64__) + + +#ifdef __arm__ + +void __builtin_cxa_end_cleanup(); +void __builtin_arm_cdp(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); +void __builtin_arm_cdp2(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); +unsigned int __builtin_arm_crc32b(unsigned int, unsigned char); +unsigned int __builtin_arm_crc32cb(unsigned int, unsigned char); +unsigned int __builtin_arm_crc32ch(unsigned int, short unsigned int); +unsigned int __builtin_arm_crc32cw(unsigned int, unsigned int); +unsigned int __builtin_arm_crc32h(unsigned int, short unsigned int); +unsigned int __builtin_arm_crc32w(unsigned int, unsigned int); +void __builtin_arm_ldc(unsigned int, unsigned int, const void*); +void __builtin_arm_ldc2(unsigned int, unsigned int, const void*); +void __builtin_arm_ldc2l(unsigned int, unsigned int, const void*); +void __builtin_arm_ldcl(unsigned int, unsigned int, const void*); +void __builtin_arm_mcr(unsigned int, unsigned int, int, unsigned int, unsigned int, unsigned int); +void __builtin_arm_mcr2(unsigned int, unsigned int, int, unsigned int, unsigned int, unsigned int); +void __builtin_arm_mcrr(unsigned int, unsigned int, long long int, unsigned int); +void __builtin_arm_mcrr2(unsigned int, unsigned int, long long int, unsigned int); +int __builtin_arm_mrc(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); +int __builtin_arm_mrc2(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); +long long int __builtin_arm_mrrc(unsigned int, unsigned int, unsigned int); +long long int __builtin_arm_mrrc2(unsigned int, unsigned int, unsigned int); +void __builtin_arm_stc(unsigned int, unsigned int, void*); +void __builtin_arm_stc2(unsigned int, unsigned int, void*); +void __builtin_arm_stc2l(unsigned int, unsigned int, void*); +void __builtin_arm_stcl(unsigned int, unsigned int, void*); +void* __builtin___emutls_get_address(void*); +void __builtin___emutls_register_common(void*, unsigned int, unsigned int, void*); +unsigned int __builtin_arm_get_fpscr (); +void __builtin_arm_set_fpscr (unsigned int); + +int __builtin_arm_saturation_occurred(void); +int __builtin_arm_qadd(int, int); +int __builtin_arm_qadd16(int, int); +int __builtin_arm_qadd8(int, int); +int __builtin_arm_qasx(int, int); +int __builtin_arm_qsax(int, int); +int __builtin_arm_qsub(int, int); +int __builtin_arm_qsub16(int, int); +int __builtin_arm_qsub8(int, int); +int __builtin_arm_sadd16(int, int); +int __builtin_arm_sadd8(int, int); +int __builtin_arm_sasx(int, int); +unsigned int __builtin_arm_sel(unsigned int, unsigned int); +void __builtin_arm_set_saturation(int); +int __builtin_arm_shadd16(int, int); +int __builtin_arm_shadd8(int, int); +int __builtin_arm_shasx(int, int); +int __builtin_arm_shsax(int, int); +int __builtin_arm_shsub16(int, int); +int __builtin_arm_shsub8(int, int); +int __builtin_arm_smlabb(int, int, int); +int __builtin_arm_smlad(int, int, int); +int __builtin_arm_smladx(int, int, int); +long long int __builtin_arm_smlald(int, int, long long int); +long long int __builtin_arm_smlaldx(int, int, long long int); +int __builtin_arm_smlatb(int, int, int); +int __builtin_arm_smlatt(int, int, int); +int __builtin_arm_smlawb(int, int, int); +int __builtin_arm_smlawt(int, int, int); +int __builtin_arm_smlsd(int, int, int); +int __builtin_arm_smlsdx(int, int, int); +long long int __builtin_arm_smlsld(int, int, long long int); +long long int __builtin_arm_smlsldx(int, int, long long int); +int __builtin_arm_smuad(int, int); +int __builtin_arm_smuadx(int, int); +int __builtin_arm_smusd(int, int); +int __builtin_arm_smusdx(int, int); +unsigned int __builtin_arm_ssat(int, unsigned int); +unsigned int __builtin_arm_ssat16(int, unsigned int); +int __builtin_arm_ssax(int, int); +int __builtin_arm_ssub16(int, int); +int __builtin_arm_ssub8(int, int); +int __builtin_arm_sxtab16(int, int); +int __builtin_arm_sxtb16(int); +unsigned int __builtin_arm_uadd16(unsigned int, unsigned int); +unsigned int __builtin_arm_uadd8(unsigned int, unsigned int); +unsigned int __builtin_arm_uasx(unsigned int, unsigned int); +unsigned int __builtin_arm_uhadd16(unsigned int, unsigned int); +unsigned int __builtin_arm_uhadd8(unsigned int, unsigned int); +unsigned int __builtin_arm_uhasx(unsigned int, unsigned int); +unsigned int __builtin_arm_uhsax(unsigned int, unsigned int); +unsigned int __builtin_arm_uhsub16(unsigned int, unsigned int); +unsigned int __builtin_arm_uhsub8(unsigned int, unsigned int); +unsigned int __builtin_arm_uqadd16(unsigned int, unsigned int); +unsigned int __builtin_arm_uqadd8(unsigned int, unsigned int); +unsigned int __builtin_arm_uqasx(unsigned int, unsigned int); +unsigned int __builtin_arm_uqsax(unsigned int, unsigned int); +unsigned int __builtin_arm_uqsub16(unsigned int, unsigned int); +unsigned int __builtin_arm_uqsub8(unsigned int, unsigned int); +unsigned int __builtin_arm_usad8(unsigned int, unsigned int); +unsigned int __builtin_arm_usada8(unsigned int, unsigned int, unsigned int); +unsigned int __builtin_arm_usat(int, unsigned int); +unsigned int __builtin_arm_usat16(int, unsigned int); +unsigned int __builtin_arm_usax(unsigned int, unsigned int); +unsigned int __builtin_arm_usub16(unsigned int, unsigned int); +unsigned int __builtin_arm_usub8(unsigned int, unsigned int); +unsigned int __builtin_arm_uxtab16(unsigned int, unsigned int); +unsigned int __builtin_arm_uxtb16(unsigned int); +void __builtin_sat_imm_check(int, int, int); +void* __emutls_get_address(void*); +void __emutls_register_common(void*, unsigned int, unsigned int, void*); +__bf16 __divbc3(__bf16, __bf16, __bf16, __bf16); +__bf16 __mulbc3(__bf16, __bf16, __bf16, __bf16); + +// -mfp16-format=ieee +__bf16 __divhc3(__bf16, __bf16, __bf16, __bf16); +__bf16 __mulhc3(__bf16, __bf16, __bf16, __bf16); + +// -march=armv8-m.main+cdecp0 +long long int __builtin_arm_cx1adi(int, long long int, unsigned int); +int __builtin_arm_cx1asi(int, int, unsigned int); +long long int __builtin_arm_cx1di(int, unsigned int); +int __builtin_arm_cx1si(int, unsigned int); +long long int __builtin_arm_cx2adi(int, long long int, int, unsigned int); +int __builtin_arm_cx2asi(int, int, int, unsigned int); +long long int __builtin_arm_cx2di(int, int, unsigned int); +int __builtin_arm_cx2si(int, int, unsigned int); +long long int __builtin_arm_cx3adi(int, long long int, int, int, unsigned int); +int __builtin_arm_cx3asi(int, int, int, int, unsigned int); +long long int __builtin_arm_cx3di(int, int, int, unsigned int); +int __builtin_arm_cx3si(int, int, int, unsigned int); + +// -mfloat-abi=hard -march=armv8.1-m.main+mve+cdecp0 +long long int __builtin_arm_vcx1adi(int, long long int, unsigned int); +int __builtin_arm_vcx1asi(int, int, unsigned int); +long long int __builtin_arm_vcx1di(int, unsigned int); +__simd128_int8_t __builtin_arm_vcx1qa_p_v16qi(int, __simd128_int8_t, unsigned int, short unsigned int); +__simd128_int8_t __builtin_arm_vcx1qav16qi(int, __simd128_int8_t, unsigned int); +__simd128_int8_t __builtin_arm_vcx1q_p_v16qi(int, __simd128_int8_t, unsigned int, short unsigned int); +__simd128_int8_t __builtin_arm_vcx1qv16qi(int, unsigned int); +int __builtin_arm_vcx1si(int, unsigned int); +long long int __builtin_arm_vcx2adi(int, long long int, long long int, unsigned int); +int __builtin_arm_vcx2asi(int, int, int, unsigned int); +long long int __builtin_arm_vcx2di(int, long long int, unsigned int); +__simd128_int8_t __builtin_arm_vcx2qa_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); +__simd128_int8_t __builtin_arm_vcx2qav16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int); +__simd128_int8_t __builtin_arm_vcx2q_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); +__simd128_int8_t __builtin_arm_vcx2qv16qi(int, __simd128_int8_t, unsigned int); +int __builtin_arm_vcx2si(int, int, unsigned int); +long long int __builtin_arm_vcx3adi(int, long long int, long long int, long long int, unsigned int); +int __builtin_arm_vcx3asi(int, int, int, int, unsigned int); +long long int __builtin_arm_vcx3di(int, long long int, long long int, unsigned int); +__simd128_int8_t __builtin_arm_vcx3qa_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); +__simd128_int8_t __builtin_arm_vcx3qav16qi(int, __simd128_int8_t, __simd128_int8_t, __simd128_int8_t, unsigned int); +__simd128_int8_t __builtin_arm_vcx3q_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); +__simd128_int8_t __builtin_arm_vcx3qv16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int); +int __builtin_arm_vcx3si(int, int, int, unsigned int); + +// -march=armv8.1-m.main+mve -mfloat-abi=hard +int __builtin_arm_get_fpscr_nzcvqc(void); +void __builtin_arm_set_fpscr_nzcvqc(int); +long long int __builtin_mve_sqrshrl_sat48_di(long long int, int); +long long int __builtin_mve_sqrshrl_sat64_di(long long int, int); +int __builtin_mve_sqrshr_si(int, int); +long long unsigned int __builtin_mve_sqshll_di(long long unsigned int, const int); +unsigned int __builtin_mve_sqshl_si(long long unsigned int, const int); +long long unsigned int __builtin_mve_srshrl_di(long long unsigned int, const int); +unsigned int __builtin_mve_srshr_si(long long unsigned int, const int); +long long unsigned int __builtin_mve_uqrshll_sat48_di(long long unsigned int, int); +long long unsigned int __builtin_mve_uqrshll_sat64_di(long long unsigned int, int); +unsigned int __builtin_mve_uqrshl_si(unsigned int, int); +long long unsigned int __builtin_mve_uqshll_di(long long unsigned int, const int); +unsigned int __builtin_mve_uqshl_si(unsigned int, const int); +long long unsigned int __builtin_mve_urshrl_di(long long unsigned int, const int); +unsigned int __builtin_mve_urshr_si(unsigned int, const int); +unsigned int __builtin_mve_vabavq_p_sv16qi(unsigned int, __simd128_int8_t, __simd128_int8_t, short unsigned int); +unsigned int __builtin_mve_vabavq_p_sv4si(unsigned int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +unsigned int __builtin_mve_vabavq_p_sv8hi(unsigned int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +unsigned int __builtin_mve_vabavq_p_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +unsigned int __builtin_mve_vabavq_p_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +unsigned int __builtin_mve_vabavq_p_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +unsigned int __builtin_mve_vabavq_sv16qi(unsigned int, __simd128_int8_t, __simd128_int8_t); +unsigned int __builtin_mve_vabavq_sv4si(unsigned int, __simd128_int32_t, __simd128_int32_t); +unsigned int __builtin_mve_vabavq_sv8hi(unsigned int, __simd128_int16_t, __simd128_int16_t); +unsigned int __builtin_mve_vabavq_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t); +unsigned int __builtin_mve_vabavq_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t); +unsigned int __builtin_mve_vabavq_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vabdq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vabdq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vabdq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vabdq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vabdq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vabdq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vabdq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vabdq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vabdq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vabdq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vabdq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vabdq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vabdq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vabdq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vabdq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vabdq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vabsq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vabsq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vabsq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vabsq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vabsq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vabsq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vabsq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vabsq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vabsq_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vabsq_sv8hi(__simd128_int16_t); +__simd128_int32_t __builtin_mve_vadciq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vadciq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vadciq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_uint32_t __builtin_mve_vadciq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_int32_t __builtin_mve_vadcq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vadcq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vadcq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_uint32_t __builtin_mve_vadcq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +long long int __builtin_mve_vaddlvaq_p_sv4si(long long int, __simd128_int32_t, short unsigned int); +long long unsigned int __builtin_mve_vaddlvaq_p_uv4si(long long unsigned int, __simd128_uint32_t, short unsigned int); +long long int __builtin_mve_vaddlvaq_sv4si(long long int, __simd128_int32_t); +long long unsigned int __builtin_mve_vaddlvaq_uv4si(long long unsigned int, __simd128_uint32_t); +long long int __builtin_mve_vaddlvq_p_sv4si(__simd128_int32_t, short unsigned int); +long long unsigned int __builtin_mve_vaddlvq_p_uv4si(__simd128_uint32_t, short unsigned int); +long long int __builtin_mve_vaddlvq_sv4si(__simd128_int32_t); +long long unsigned int __builtin_mve_vaddlvq_uv4si(__simd128_uint32_t); +__simd128_float32_t __builtin_mve_vaddq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vaddq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vaddq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); +__simd128_float16_t __builtin_mve_vaddq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); +__simd128_int8_t __builtin_mve_vaddq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vaddq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vaddq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vaddq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vaddq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vaddq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vaddq_n_fv4sf(__simd128_float32_t, float); +__simd128_float16_t __builtin_mve_vaddq_n_fv8hf(__simd128_float16_t, __bf16); +__simd128_int8_t __builtin_mve_vaddq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vaddq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vaddq_n_sv8hi(__simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vaddq_n_uv16qi(__simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vaddq_n_uv4si(__simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vaddq_n_uv8hi(__simd128_uint16_t, short unsigned int); +int __builtin_mve_vaddvaq_p_sv16qi(int, __simd128_int8_t, short unsigned int); +int __builtin_mve_vaddvaq_p_sv4si(int, __simd128_int32_t, short unsigned int); +int __builtin_mve_vaddvaq_p_sv8hi(int, __simd128_int16_t, short unsigned int); +unsigned int __builtin_mve_vaddvaq_p_uv16qi(unsigned int, __simd128_uint8_t, short unsigned int); +unsigned int __builtin_mve_vaddvaq_p_uv4si(unsigned int, __simd128_uint32_t, short unsigned int); +unsigned int __builtin_mve_vaddvaq_p_uv8hi(unsigned int, __simd128_uint16_t, short unsigned int); +int __builtin_mve_vaddvaq_sv16qi(int, __simd128_int8_t); +int __builtin_mve_vaddvaq_sv4si(int, __simd128_int32_t); +int __builtin_mve_vaddvaq_sv8hi(int, __simd128_int16_t); +unsigned int __builtin_mve_vaddvaq_uv16qi(unsigned int, __simd128_uint8_t); +unsigned int __builtin_mve_vaddvaq_uv4si(unsigned int, __simd128_uint32_t); +unsigned int __builtin_mve_vaddvaq_uv8hi(unsigned int, __simd128_uint16_t); +int __builtin_mve_vaddvq_p_sv16qi(__simd128_int8_t, short unsigned int); +int __builtin_mve_vaddvq_p_sv4si(__simd128_int32_t, short unsigned int); +int __builtin_mve_vaddvq_p_sv8hi(__simd128_int16_t, short unsigned int); +unsigned int __builtin_mve_vaddvq_p_uv16qi(__simd128_uint8_t, short unsigned int); +unsigned int __builtin_mve_vaddvq_p_uv4si(__simd128_uint32_t, short unsigned int); +unsigned int __builtin_mve_vaddvq_p_uv8hi(__simd128_uint16_t, short unsigned int); +int __builtin_mve_vaddvq_sv16qi(__simd128_int8_t); +int __builtin_mve_vaddvq_sv4si(__simd128_int32_t); +int __builtin_mve_vaddvq_sv8hi(__simd128_int16_t); +unsigned int __builtin_mve_vaddvq_uv16qi(__simd128_uint8_t); +unsigned int __builtin_mve_vaddvq_uv4si(__simd128_uint32_t); +unsigned int __builtin_mve_vaddvq_uv8hi(__simd128_uint16_t); +__simd128_float32_t __builtin_mve_vandq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vandq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vandq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vandq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vandq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vandq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vandq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vandq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vandq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vandq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vandq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vandq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vandq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vandq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vandq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vandq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vbicq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vbicq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vbicq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vbicq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vbicq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vbicq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vbicq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vbicq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vbicq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vbicq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vbicq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vbicq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vbicq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vbicq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vbicq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vbicq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint32_t __builtin_mve_vbicq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vbicq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vbicq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vbicq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vbicq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vbicq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vbicq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vbicq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vbrsrq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, int, short unsigned int); +__simd128_float16_t __builtin_mve_vbrsrq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vbrsrq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vbrsrq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vbrsrq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vbrsrq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vbrsrq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vbrsrq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_float32_t __builtin_mve_vbrsrq_n_fv4sf(__simd128_float32_t, int); +__simd128_float16_t __builtin_mve_vbrsrq_n_fv8hf(__simd128_float16_t, int); +__simd128_int8_t __builtin_mve_vbrsrq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vbrsrq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vbrsrq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vbrsrq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vbrsrq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vbrsrq_n_uv8hi(__simd128_uint16_t, int); +__simd128_float32_t __builtin_mve_vcaddq_rot270_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcaddq_rot270_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcaddq_rot270_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcaddq_rot270_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vcaddq_rot270_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcaddq_rot270_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vcaddq_rot270_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vcaddq_rot270_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vcaddq_rot270_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vcaddq_rot270_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vcaddq_rot270_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vcaddq_rot270_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vcaddq_rot270_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vcaddq_rot270_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vcaddq_rot270_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vcaddq_rot270_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vcaddq_rot90_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcaddq_rot90_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcaddq_rot90_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcaddq_rot90_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vcaddq_rot90_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcaddq_rot90_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vcaddq_rot90_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vcaddq_rot90_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vcaddq_rot90_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vcaddq_rot90_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vcaddq_rot90_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vcaddq_rot90_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vcaddq_rot90_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vcaddq_rot90_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vcaddq_rot90_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vcaddq_rot90_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_int8_t __builtin_mve_vclsq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vclsq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vclsq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vclsq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vclsq_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vclsq_sv8hi(__simd128_int16_t); +__simd128_int8_t __builtin_mve_vclzq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vclzq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vclzq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vclzq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vclzq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vclzq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vclzq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vclzq_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vclzq_sv8hi(__simd128_int16_t); +__simd128_uint8_t __builtin_mve_vclzq_uv16qi(__simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vclzq_uv4si(__simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vclzq_uv8hi(__simd128_uint16_t); +__simd128_float32_t __builtin_mve_vcmlaq_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmlaq_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmlaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmlaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcmlaq_rot180_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmlaq_rot180_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmlaq_rot180_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmlaq_rot180_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcmlaq_rot270_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmlaq_rot270_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmlaq_rot270_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmlaq_rot270_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcmlaq_rot90_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmlaq_rot90_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmlaq_rot90_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmlaq_rot90_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_n_uv16qi(__simd128_uint8_t, unsigned char); +short unsigned int __builtin_mve_vcmpcsq_n_uv4si(__simd128_uint32_t, unsigned int); +short unsigned int __builtin_mve_vcmpcsq_n_uv8hi(__simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +short unsigned int __builtin_mve_vcmpcsq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +short unsigned int __builtin_mve_vcmpcsq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +short unsigned int __builtin_mve_vcmpeqq_fv4sf(__simd128_float32_t, __simd128_float32_t); +short unsigned int __builtin_mve_vcmpeqq_fv8hf(__simd128_float16_t, __simd128_float16_t); +short unsigned int __builtin_mve_vcmpeqq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_n_fv4sf(__simd128_float32_t, float); +short unsigned int __builtin_mve_vcmpeqq_n_fv8hf(__simd128_float16_t, __bf16); +short unsigned int __builtin_mve_vcmpeqq_n_sv16qi(__simd128_int8_t, signed char); +short unsigned int __builtin_mve_vcmpeqq_n_sv4si(__simd128_int32_t, int); +short unsigned int __builtin_mve_vcmpeqq_n_sv8hi(__simd128_int16_t, short int); +short unsigned int __builtin_mve_vcmpeqq_n_uv16qi(__simd128_uint8_t, unsigned char); +short unsigned int __builtin_mve_vcmpeqq_n_uv4si(__simd128_uint32_t, unsigned int); +short unsigned int __builtin_mve_vcmpeqq_n_uv8hi(__simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_sv16qi(__simd128_int8_t, __simd128_int8_t); +short unsigned int __builtin_mve_vcmpeqq_sv4si(__simd128_int32_t, __simd128_int32_t); +short unsigned int __builtin_mve_vcmpeqq_sv8hi(__simd128_int16_t, __simd128_int16_t); +short unsigned int __builtin_mve_vcmpeqq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +short unsigned int __builtin_mve_vcmpeqq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +short unsigned int __builtin_mve_vcmpeqq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +short unsigned int __builtin_mve_vcmpgeq_fv4sf(__simd128_float32_t, __simd128_float32_t); +short unsigned int __builtin_mve_vcmpgeq_fv8hf(__simd128_float16_t, __simd128_float16_t); +short unsigned int __builtin_mve_vcmpgeq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_n_fv4sf(__simd128_float32_t, float); +short unsigned int __builtin_mve_vcmpgeq_n_fv8hf(__simd128_float16_t, __bf16); +short unsigned int __builtin_mve_vcmpgeq_n_sv16qi(__simd128_int8_t, signed char); +short unsigned int __builtin_mve_vcmpgeq_n_sv4si(__simd128_int32_t, int); +short unsigned int __builtin_mve_vcmpgeq_n_sv8hi(__simd128_int16_t, short int); +short unsigned int __builtin_mve_vcmpgeq_sv16qi(__simd128_int8_t, __simd128_int8_t); +short unsigned int __builtin_mve_vcmpgeq_sv4si(__simd128_int32_t, __simd128_int32_t); +short unsigned int __builtin_mve_vcmpgeq_sv8hi(__simd128_int16_t, __simd128_int16_t); +short unsigned int __builtin_mve_vcmpgtq_fv4sf(__simd128_float32_t, __simd128_float32_t); +short unsigned int __builtin_mve_vcmpgtq_fv8hf(__simd128_float16_t, __simd128_float16_t); +short unsigned int __builtin_mve_vcmpgtq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_n_fv4sf(__simd128_float32_t, float); +short unsigned int __builtin_mve_vcmpgtq_n_fv8hf(__simd128_float16_t, __bf16); +short unsigned int __builtin_mve_vcmpgtq_n_sv16qi(__simd128_int8_t, signed char); +short unsigned int __builtin_mve_vcmpgtq_n_sv4si(__simd128_int32_t, int); +short unsigned int __builtin_mve_vcmpgtq_n_sv8hi(__simd128_int16_t, short int); +short unsigned int __builtin_mve_vcmpgtq_sv16qi(__simd128_int8_t, __simd128_int8_t); +short unsigned int __builtin_mve_vcmpgtq_sv4si(__simd128_int32_t, __simd128_int32_t); +short unsigned int __builtin_mve_vcmpgtq_sv8hi(__simd128_int16_t, __simd128_int16_t); +short unsigned int __builtin_mve_vcmphiq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); +short unsigned int __builtin_mve_vcmphiq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmphiq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmphiq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +short unsigned int __builtin_mve_vcmphiq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +short unsigned int __builtin_mve_vcmphiq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmphiq_n_uv16qi(__simd128_uint8_t, unsigned char); +short unsigned int __builtin_mve_vcmphiq_n_uv4si(__simd128_uint32_t, unsigned int); +short unsigned int __builtin_mve_vcmphiq_n_uv8hi(__simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmphiq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +short unsigned int __builtin_mve_vcmphiq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +short unsigned int __builtin_mve_vcmphiq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +short unsigned int __builtin_mve_vcmpleq_fv4sf(__simd128_float32_t, __simd128_float32_t); +short unsigned int __builtin_mve_vcmpleq_fv8hf(__simd128_float16_t, __simd128_float16_t); +short unsigned int __builtin_mve_vcmpleq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_n_fv4sf(__simd128_float32_t, float); +short unsigned int __builtin_mve_vcmpleq_n_fv8hf(__simd128_float16_t, __bf16); +short unsigned int __builtin_mve_vcmpleq_n_sv16qi(__simd128_int8_t, signed char); +short unsigned int __builtin_mve_vcmpleq_n_sv4si(__simd128_int32_t, int); +short unsigned int __builtin_mve_vcmpleq_n_sv8hi(__simd128_int16_t, short int); +short unsigned int __builtin_mve_vcmpleq_sv16qi(__simd128_int8_t, __simd128_int8_t); +short unsigned int __builtin_mve_vcmpleq_sv4si(__simd128_int32_t, __simd128_int32_t); +short unsigned int __builtin_mve_vcmpleq_sv8hi(__simd128_int16_t, __simd128_int16_t); +short unsigned int __builtin_mve_vcmpltq_fv4sf(__simd128_float32_t, __simd128_float32_t); +short unsigned int __builtin_mve_vcmpltq_fv8hf(__simd128_float16_t, __simd128_float16_t); +short unsigned int __builtin_mve_vcmpltq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_n_fv4sf(__simd128_float32_t, float); +short unsigned int __builtin_mve_vcmpltq_n_fv8hf(__simd128_float16_t, __bf16); +short unsigned int __builtin_mve_vcmpltq_n_sv16qi(__simd128_int8_t, signed char); +short unsigned int __builtin_mve_vcmpltq_n_sv4si(__simd128_int32_t, int); +short unsigned int __builtin_mve_vcmpltq_n_sv8hi(__simd128_int16_t, short int); +short unsigned int __builtin_mve_vcmpltq_sv16qi(__simd128_int8_t, __simd128_int8_t); +short unsigned int __builtin_mve_vcmpltq_sv4si(__simd128_int32_t, __simd128_int32_t); +short unsigned int __builtin_mve_vcmpltq_sv8hi(__simd128_int16_t, __simd128_int16_t); +short unsigned int __builtin_mve_vcmpneq_fv4sf(__simd128_float32_t, __simd128_float32_t); +short unsigned int __builtin_mve_vcmpneq_fv8hf(__simd128_float16_t, __simd128_float16_t); +short unsigned int __builtin_mve_vcmpneq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_n_fv4sf(__simd128_float32_t, float); +short unsigned int __builtin_mve_vcmpneq_n_fv8hf(__simd128_float16_t, __bf16); +short unsigned int __builtin_mve_vcmpneq_n_sv16qi(__simd128_int8_t, signed char); +short unsigned int __builtin_mve_vcmpneq_n_sv4si(__simd128_int32_t, int); +short unsigned int __builtin_mve_vcmpneq_n_sv8hi(__simd128_int16_t, short int); +short unsigned int __builtin_mve_vcmpneq_n_uv16qi(__simd128_uint8_t, unsigned char); +short unsigned int __builtin_mve_vcmpneq_n_uv4si(__simd128_uint32_t, unsigned int); +short unsigned int __builtin_mve_vcmpneq_n_uv8hi(__simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_sv16qi(__simd128_int8_t, __simd128_int8_t); +short unsigned int __builtin_mve_vcmpneq_sv4si(__simd128_int32_t, __simd128_int32_t); +short unsigned int __builtin_mve_vcmpneq_sv8hi(__simd128_int16_t, __simd128_int16_t); +short unsigned int __builtin_mve_vcmpneq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +short unsigned int __builtin_mve_vcmpneq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +short unsigned int __builtin_mve_vcmpneq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vcmulq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmulq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmulq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmulq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcmulq_rot180_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmulq_rot180_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmulq_rot180_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmulq_rot180_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcmulq_rot270_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmulq_rot270_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmulq_rot270_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmulq_rot270_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcmulq_rot90_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmulq_rot90_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmulq_rot90_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmulq_rot90_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcreateq_fv4sf(long long unsigned int, long long unsigned int); +__simd128_float16_t __builtin_mve_vcreateq_fv8hf(long long unsigned int, long long unsigned int); +__simd128_int8_t __builtin_mve_vcreateq_sv16qi(long long unsigned int, long long unsigned int); +__simd128_int64_t __builtin_mve_vcreateq_sv2di(long long unsigned int, long long unsigned int); +__simd128_int32_t __builtin_mve_vcreateq_sv4si(long long unsigned int, long long unsigned int); +__simd128_int16_t __builtin_mve_vcreateq_sv8hi(long long unsigned int, long long unsigned int); +__simd128_uint8_t __builtin_mve_vcreateq_uv16qi(long long unsigned int, long long unsigned int); +__simd128_uint64_t __builtin_mve_vcreateq_uv2di(long long unsigned int, long long unsigned int); +__simd128_uint32_t __builtin_mve_vcreateq_uv4si(long long unsigned int, long long unsigned int); +__simd128_uint16_t __builtin_mve_vcreateq_uv8hi(long long unsigned int, long long unsigned int); +short unsigned int __builtin_mve_vctp16qhi(unsigned int); +short unsigned int __builtin_mve_vctp16q_mhi(unsigned int, short unsigned int); +short unsigned int __builtin_mve_vctp32qhi(unsigned int); +short unsigned int __builtin_mve_vctp32q_mhi(unsigned int, short unsigned int); +short unsigned int __builtin_mve_vctp64qhi(unsigned int); +short unsigned int __builtin_mve_vctp64q_mhi(unsigned int, short unsigned int); +short unsigned int __builtin_mve_vctp8qhi(unsigned int); +short unsigned int __builtin_mve_vctp8q_mhi(unsigned int, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtaq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vcvtaq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vcvtaq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vcvtaq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtaq_sv4si(__simd128_float32_t); +__simd128_int16_t __builtin_mve_vcvtaq_sv8hi(__simd128_float16_t); +__simd128_uint32_t __builtin_mve_vcvtaq_uv4si(__simd128_float32_t); +__simd128_uint16_t __builtin_mve_vcvtaq_uv8hi(__simd128_float16_t); +__simd128_float16_t __builtin_mve_vcvtbq_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t); +__simd128_float32_t __builtin_mve_vcvtbq_f32_f16v4sf(__simd128_float16_t); +__simd128_float16_t __builtin_mve_vcvtbq_m_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcvtbq_m_f32_f16v4sf(__simd128_float32_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtmq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vcvtmq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vcvtmq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vcvtmq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtmq_sv4si(__simd128_float32_t); +__simd128_int16_t __builtin_mve_vcvtmq_sv8hi(__simd128_float16_t); +__simd128_uint32_t __builtin_mve_vcvtmq_uv4si(__simd128_float32_t); +__simd128_uint16_t __builtin_mve_vcvtmq_uv8hi(__simd128_float16_t); +__simd128_int32_t __builtin_mve_vcvtnq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vcvtnq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vcvtnq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vcvtnq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtnq_sv4si(__simd128_float32_t); +__simd128_int16_t __builtin_mve_vcvtnq_sv8hi(__simd128_float16_t); +__simd128_uint32_t __builtin_mve_vcvtnq_uv4si(__simd128_float32_t); +__simd128_uint16_t __builtin_mve_vcvtnq_uv8hi(__simd128_float16_t); +__simd128_int32_t __builtin_mve_vcvtpq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vcvtpq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vcvtpq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vcvtpq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtpq_sv4si(__simd128_float32_t); +__simd128_int16_t __builtin_mve_vcvtpq_sv8hi(__simd128_float16_t); +__simd128_uint32_t __builtin_mve_vcvtpq_uv4si(__simd128_float32_t); +__simd128_uint16_t __builtin_mve_vcvtpq_uv8hi(__simd128_float16_t); +__simd128_int32_t __builtin_mve_vcvtq_from_f_sv4si(__simd128_float32_t); +__simd128_int16_t __builtin_mve_vcvtq_from_f_sv8hi(__simd128_float16_t); +__simd128_uint32_t __builtin_mve_vcvtq_from_f_uv4si(__simd128_float32_t); +__simd128_uint16_t __builtin_mve_vcvtq_from_f_uv8hi(__simd128_float16_t); +__simd128_int32_t __builtin_mve_vcvtq_m_from_f_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vcvtq_m_from_f_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vcvtq_m_from_f_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vcvtq_m_from_f_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtq_m_n_from_f_sv4si(__simd128_int32_t, __simd128_float32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vcvtq_m_n_from_f_sv8hi(__simd128_int16_t, __simd128_float16_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vcvtq_m_n_from_f_uv4si(__simd128_uint32_t, __simd128_float32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vcvtq_m_n_from_f_uv8hi(__simd128_uint16_t, __simd128_float16_t, int, short unsigned int); +__simd128_float32_t __builtin_mve_vcvtq_m_n_to_f_sv4sf(__simd128_float32_t, __simd128_int32_t, int, short unsigned int); +__simd128_float16_t __builtin_mve_vcvtq_m_n_to_f_sv8hf(__simd128_float16_t, __simd128_int16_t, int, short unsigned int); +__simd128_float32_t __builtin_mve_vcvtq_m_n_to_f_uv4sf(__simd128_float32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_float16_t __builtin_mve_vcvtq_m_n_to_f_uv8hf(__simd128_float16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_float32_t __builtin_mve_vcvtq_m_to_f_sv4sf(__simd128_float32_t, __simd128_int32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcvtq_m_to_f_sv8hf(__simd128_float16_t, __simd128_int16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcvtq_m_to_f_uv4sf(__simd128_float32_t, __simd128_uint32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcvtq_m_to_f_uv8hf(__simd128_float16_t, __simd128_uint16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtq_n_from_f_sv4si(__simd128_float32_t, int); +__simd128_int16_t __builtin_mve_vcvtq_n_from_f_sv8hi(__simd128_float16_t, int); +__simd128_uint32_t __builtin_mve_vcvtq_n_from_f_uv4si(__simd128_float32_t, int); +__simd128_uint16_t __builtin_mve_vcvtq_n_from_f_uv8hi(__simd128_float16_t, int); +__simd128_float32_t __builtin_mve_vcvtq_n_to_f_sv4sf(__simd128_int32_t, int); +__simd128_float16_t __builtin_mve_vcvtq_n_to_f_sv8hf(__simd128_int16_t, int); +__simd128_float32_t __builtin_mve_vcvtq_n_to_f_uv4sf(__simd128_uint32_t, int); +__simd128_float16_t __builtin_mve_vcvtq_n_to_f_uv8hf(__simd128_uint16_t, int); +__simd128_float32_t __builtin_mve_vcvtq_to_f_sv4sf(__simd128_int32_t); +__simd128_float16_t __builtin_mve_vcvtq_to_f_sv8hf(__simd128_int16_t); +__simd128_float32_t __builtin_mve_vcvtq_to_f_uv4sf(__simd128_uint32_t); +__simd128_float16_t __builtin_mve_vcvtq_to_f_uv8hf(__simd128_uint16_t); +__simd128_float16_t __builtin_mve_vcvttq_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t); +__simd128_float32_t __builtin_mve_vcvttq_f32_f16v4sf(__simd128_float16_t); +__simd128_float16_t __builtin_mve_vcvttq_m_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcvttq_m_f32_f16v4sf(__simd128_float32_t, __simd128_float16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vddupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vddupq_m_n_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vddupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vddupq_n_uv16qi(unsigned int, int); +__simd128_uint32_t __builtin_mve_vddupq_n_uv4si(unsigned int, int); +__simd128_uint16_t __builtin_mve_vddupq_n_uv8hi(unsigned int, int); +__simd128_float32_t __builtin_mve_vdupq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); +__simd128_float16_t __builtin_mve_vdupq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); +__simd128_int8_t __builtin_mve_vdupq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vdupq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vdupq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vdupq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vdupq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vdupq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_float32_t __builtin_mve_vdupq_n_fv4sf(float); +__simd128_float16_t __builtin_mve_vdupq_n_fv8hf(__bf16); +__simd128_int8_t __builtin_mve_vdupq_n_sv16qi(signed char); +__simd128_int32_t __builtin_mve_vdupq_n_sv4si(int); +__simd128_int16_t __builtin_mve_vdupq_n_sv8hi(short int); +__simd128_uint8_t __builtin_mve_vdupq_n_uv16qi(unsigned char); +__simd128_uint32_t __builtin_mve_vdupq_n_uv4si(unsigned int); +__simd128_uint16_t __builtin_mve_vdupq_n_uv8hi(short unsigned int); +__simd128_uint8_t __builtin_mve_vdwdupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vdwdupq_m_n_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vdwdupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); +unsigned int __builtin_mve_vdwdupq_m_wb_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); +unsigned int __builtin_mve_vdwdupq_m_wb_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); +unsigned int __builtin_mve_vdwdupq_m_wb_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vdwdupq_n_uv16qi(unsigned int, long long unsigned int, int); +__simd128_uint32_t __builtin_mve_vdwdupq_n_uv4si(unsigned int, long long unsigned int, int); +__simd128_uint16_t __builtin_mve_vdwdupq_n_uv8hi(unsigned int, long long unsigned int, int); +unsigned int __builtin_mve_vdwdupq_wb_uv16qi(unsigned int, long long unsigned int, int); +unsigned int __builtin_mve_vdwdupq_wb_uv4si(unsigned int, long long unsigned int, int); +unsigned int __builtin_mve_vdwdupq_wb_uv8hi(unsigned int, long long unsigned int, int); +__simd128_float32_t __builtin_mve_veorq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_veorq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_veorq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_veorq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_veorq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_veorq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_veorq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_veorq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_veorq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_veorq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_veorq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_veorq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_veorq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_veorq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_veorq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_veorq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vfmaq_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vfmaq_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vfmaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vfmaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vfmaq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); +__simd128_float16_t __builtin_mve_vfmaq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); +__simd128_float32_t __builtin_mve_vfmaq_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float); +__simd128_float16_t __builtin_mve_vfmaq_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16); +__simd128_float32_t __builtin_mve_vfmasq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); +__simd128_float16_t __builtin_mve_vfmasq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); +__simd128_float32_t __builtin_mve_vfmasq_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float); +__simd128_float16_t __builtin_mve_vfmasq_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16); +__simd128_float32_t __builtin_mve_vfmsq_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vfmsq_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vfmsq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vfmsq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vhaddq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vhaddq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vhaddq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vhaddq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vhaddq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vhaddq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vhaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vhaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vhaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vhaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vhaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vhaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vhaddq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vhaddq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vhaddq_n_sv8hi(__simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vhaddq_n_uv16qi(__simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vhaddq_n_uv4si(__simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vhaddq_n_uv8hi(__simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vhaddq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vhaddq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vhaddq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vhaddq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vhaddq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vhaddq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_int8_t __builtin_mve_vhcaddq_rot270_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vhcaddq_rot270_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vhcaddq_rot270_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vhcaddq_rot270_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vhcaddq_rot270_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vhcaddq_rot270_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vhcaddq_rot90_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vhcaddq_rot90_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vhcaddq_rot90_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vhcaddq_rot90_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vhcaddq_rot90_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vhcaddq_rot90_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vhsubq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vhsubq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vhsubq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vhsubq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vhsubq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vhsubq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vhsubq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vhsubq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vhsubq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vhsubq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vhsubq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vhsubq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vhsubq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vhsubq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vhsubq_n_sv8hi(__simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vhsubq_n_uv16qi(__simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vhsubq_n_uv4si(__simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vhsubq_n_uv8hi(__simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vhsubq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vhsubq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vhsubq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vhsubq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vhsubq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vhsubq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_uint8_t __builtin_mve_vidupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vidupq_m_n_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vidupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vidupq_n_uv16qi(unsigned int, int); +__simd128_uint32_t __builtin_mve_vidupq_n_uv4si(unsigned int, int); +__simd128_uint16_t __builtin_mve_vidupq_n_uv8hi(unsigned int, int); +__simd128_uint8_t __builtin_mve_viwdupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); +__simd128_uint32_t __builtin_mve_viwdupq_m_n_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); +__simd128_uint16_t __builtin_mve_viwdupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); +unsigned int __builtin_mve_viwdupq_m_wb_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); +unsigned int __builtin_mve_viwdupq_m_wb_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); +unsigned int __builtin_mve_viwdupq_m_wb_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); +__simd128_uint8_t __builtin_mve_viwdupq_n_uv16qi(unsigned int, long long unsigned int, int); +__simd128_uint32_t __builtin_mve_viwdupq_n_uv4si(unsigned int, long long unsigned int, int); +__simd128_uint16_t __builtin_mve_viwdupq_n_uv8hi(unsigned int, long long unsigned int, int); +unsigned int __builtin_mve_viwdupq_wb_uv16qi(unsigned int, long long unsigned int, int); +unsigned int __builtin_mve_viwdupq_wb_uv4si(unsigned int, long long unsigned int, int); +unsigned int __builtin_mve_viwdupq_wb_uv8hi(unsigned int, long long unsigned int, int); +__simd128_float32_t __builtin_mve_vld1q_fv4sf(int*); +__simd128_float16_t __builtin_mve_vld1q_fv8hf(short int*); +__simd128_int8_t __builtin_mve_vld1q_sv16qi(signed char*); +__simd128_int32_t __builtin_mve_vld1q_sv4si(int*); +__simd128_int16_t __builtin_mve_vld1q_sv8hi(short int*); +__simd128_uint8_t __builtin_mve_vld1q_uv16qi(signed char*); +__simd128_uint32_t __builtin_mve_vld1q_uv4si(int*); +__simd128_uint16_t __builtin_mve_vld1q_uv8hi(short int*); +__builtin_neon_oi __builtin_mve_vld2qv16qi(const signed char*); +__builtin_neon_oi __builtin_mve_vld2qv4sf(const float*); +__builtin_neon_oi __builtin_mve_vld2qv4si(const int*); +__builtin_neon_oi __builtin_mve_vld2qv8hf(const __bf16*); +__builtin_neon_oi __builtin_mve_vld2qv8hi(const short int*); +__builtin_neon_xi __builtin_mve_vld4qv16qi(const signed char*); +__builtin_neon_xi __builtin_mve_vld4qv4sf(const float*); +__builtin_neon_xi __builtin_mve_vld4qv4si(const int*); +__builtin_neon_xi __builtin_mve_vld4qv8hf(const __bf16*); +__builtin_neon_xi __builtin_mve_vld4qv8hi(const short int*); +__simd128_int8_t __builtin_mve_vldrbq_gather_offset_sv16qi(signed char*, __simd128_uint8_t); +__simd128_int32_t __builtin_mve_vldrbq_gather_offset_sv4si(signed char*, __simd128_uint32_t); +__simd128_int16_t __builtin_mve_vldrbq_gather_offset_sv8hi(signed char*, __simd128_uint16_t); +__simd128_uint8_t __builtin_mve_vldrbq_gather_offset_uv16qi(signed char*, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vldrbq_gather_offset_uv4si(signed char*, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vldrbq_gather_offset_uv8hi(signed char*, __simd128_uint16_t); +__simd128_int8_t __builtin_mve_vldrbq_gather_offset_z_sv16qi(signed char*, __simd128_uint8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vldrbq_gather_offset_z_sv4si(signed char*, __simd128_uint32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vldrbq_gather_offset_z_sv8hi(signed char*, __simd128_uint16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vldrbq_gather_offset_z_uv16qi(signed char*, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrbq_gather_offset_z_uv4si(signed char*, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vldrbq_gather_offset_z_uv8hi(signed char*, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vldrbq_sv16qi(signed char*); +__simd128_int32_t __builtin_mve_vldrbq_sv4si(signed char*); +__simd128_int16_t __builtin_mve_vldrbq_sv8hi(signed char*); +__simd128_uint8_t __builtin_mve_vldrbq_uv16qi(signed char*); +__simd128_uint32_t __builtin_mve_vldrbq_uv4si(signed char*); +__simd128_uint16_t __builtin_mve_vldrbq_uv8hi(signed char*); +__simd128_int8_t __builtin_mve_vldrbq_z_sv16qi(signed char*, short unsigned int); +__simd128_int32_t __builtin_mve_vldrbq_z_sv4si(signed char*, short unsigned int); +__simd128_int16_t __builtin_mve_vldrbq_z_sv8hi(signed char*, short unsigned int); +__simd128_uint8_t __builtin_mve_vldrbq_z_uv16qi(signed char*, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrbq_z_uv4si(signed char*, short unsigned int); +__simd128_uint16_t __builtin_mve_vldrbq_z_uv8hi(signed char*, short unsigned int); +__simd128_int64_t __builtin_mve_vldrdq_gather_base_nowb_sv2di(__simd128_uint64_t, int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_nowb_uv2di(__simd128_uint64_t, int); +__simd128_int64_t __builtin_mve_vldrdq_gather_base_nowb_z_sv2di(__simd128_uint64_t, int, short unsigned int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_nowb_z_uv2di(__simd128_uint64_t, int, short unsigned int); +__simd128_int64_t __builtin_mve_vldrdq_gather_base_sv2di(__simd128_uint64_t, int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_uv2di(__simd128_uint64_t, int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_sv2di(__simd128_uint64_t, int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_uv2di(__simd128_uint64_t, int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_z_sv2di(__simd128_uint64_t, int, short unsigned int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_z_uv2di(__simd128_uint64_t, int, short unsigned int); +__simd128_int64_t __builtin_mve_vldrdq_gather_base_z_sv2di(__simd128_uint64_t, int, short unsigned int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_z_uv2di(__simd128_uint64_t, int, short unsigned int); +__simd128_int64_t __builtin_mve_vldrdq_gather_offset_sv2di(long long int*, __simd128_uint64_t); +__simd128_uint64_t __builtin_mve_vldrdq_gather_offset_uv2di(long long int*, __simd128_uint64_t); +__simd128_int64_t __builtin_mve_vldrdq_gather_offset_z_sv2di(long long int*, __simd128_uint64_t, short unsigned int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_offset_z_uv2di(long long int*, __simd128_uint64_t, short unsigned int); +__simd128_int64_t __builtin_mve_vldrdq_gather_shifted_offset_sv2di(long long int*, __simd128_uint64_t); +__simd128_uint64_t __builtin_mve_vldrdq_gather_shifted_offset_uv2di(long long int*, __simd128_uint64_t); +__simd128_int64_t __builtin_mve_vldrdq_gather_shifted_offset_z_sv2di(long long int*, __simd128_uint64_t, short unsigned int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_shifted_offset_z_uv2di(long long int*, __simd128_uint64_t, short unsigned int); +__simd128_float16_t __builtin_mve_vldrhq_fv8hf(short int*); +__simd128_float16_t __builtin_mve_vldrhq_gather_offset_fv8hf(short int*, __simd128_uint16_t); +__simd128_int32_t __builtin_mve_vldrhq_gather_offset_sv4si(short int*, __simd128_uint32_t); +__simd128_int16_t __builtin_mve_vldrhq_gather_offset_sv8hi(short int*, __simd128_uint16_t); +__simd128_uint32_t __builtin_mve_vldrhq_gather_offset_uv4si(short int*, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vldrhq_gather_offset_uv8hi(short int*, __simd128_uint16_t); +__simd128_float16_t __builtin_mve_vldrhq_gather_offset_z_fv8hf(short int*, __simd128_uint16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vldrhq_gather_offset_z_sv4si(short int*, __simd128_uint32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vldrhq_gather_offset_z_sv8hi(short int*, __simd128_uint16_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrhq_gather_offset_z_uv4si(short int*, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vldrhq_gather_offset_z_uv8hi(short int*, __simd128_uint16_t, short unsigned int); +__simd128_float16_t __builtin_mve_vldrhq_gather_shifted_offset_fv8hf(short int*, __simd128_uint16_t); +__simd128_int32_t __builtin_mve_vldrhq_gather_shifted_offset_sv4si(short int*, __simd128_uint32_t); +__simd128_int16_t __builtin_mve_vldrhq_gather_shifted_offset_sv8hi(short int*, __simd128_uint16_t); +__simd128_uint32_t __builtin_mve_vldrhq_gather_shifted_offset_uv4si(short int*, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vldrhq_gather_shifted_offset_uv8hi(short int*, __simd128_uint16_t); +__simd128_float16_t __builtin_mve_vldrhq_gather_shifted_offset_z_fv8hf(short int*, __simd128_uint16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vldrhq_gather_shifted_offset_z_sv4si(short int*, __simd128_uint32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vldrhq_gather_shifted_offset_z_sv8hi(short int*, __simd128_uint16_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrhq_gather_shifted_offset_z_uv4si(short int*, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vldrhq_gather_shifted_offset_z_uv8hi(short int*, __simd128_uint16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vldrhq_sv4si(short int*); +__simd128_int16_t __builtin_mve_vldrhq_sv8hi(short int*); +__simd128_uint32_t __builtin_mve_vldrhq_uv4si(short int*); +__simd128_uint16_t __builtin_mve_vldrhq_uv8hi(short int*); +__simd128_float16_t __builtin_mve_vldrhq_z_fv8hf(short int*, short unsigned int); +__simd128_int32_t __builtin_mve_vldrhq_z_sv4si(short int*, short unsigned int); +__simd128_int16_t __builtin_mve_vldrhq_z_sv8hi(short int*, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrhq_z_uv4si(short int*, short unsigned int); +__simd128_uint16_t __builtin_mve_vldrhq_z_uv8hi(short int*, short unsigned int); +__simd128_float32_t __builtin_mve_vldrwq_fv4sf(int*); +__simd128_float32_t __builtin_mve_vldrwq_gather_base_fv4sf(__simd128_uint32_t, int); +__simd128_float32_t __builtin_mve_vldrwq_gather_base_nowb_fv4sf(__simd128_uint32_t, int); +__simd128_int32_t __builtin_mve_vldrwq_gather_base_nowb_sv4si(__simd128_uint32_t, int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_nowb_uv4si(__simd128_uint32_t, int); +__simd128_float32_t __builtin_mve_vldrwq_gather_base_nowb_z_fv4sf(__simd128_uint32_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vldrwq_gather_base_nowb_z_sv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_nowb_z_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vldrwq_gather_base_sv4si(__simd128_uint32_t, int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_uv4si(__simd128_uint32_t, int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_fv4sf(__simd128_uint32_t, int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_sv4si(__simd128_uint32_t, int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_uv4si(__simd128_uint32_t, int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_z_fv4sf(__simd128_uint32_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_z_sv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_z_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_float32_t __builtin_mve_vldrwq_gather_base_z_fv4sf(__simd128_uint32_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vldrwq_gather_base_z_sv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_z_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_float32_t __builtin_mve_vldrwq_gather_offset_fv4sf(int*, __simd128_uint32_t); +__simd128_int32_t __builtin_mve_vldrwq_gather_offset_sv4si(int*, __simd128_uint32_t); +__simd128_uint32_t __builtin_mve_vldrwq_gather_offset_uv4si(int*, __simd128_uint32_t); +__simd128_float32_t __builtin_mve_vldrwq_gather_offset_z_fv4sf(int*, __simd128_uint32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vldrwq_gather_offset_z_sv4si(int*, __simd128_uint32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_offset_z_uv4si(int*, __simd128_uint32_t, short unsigned int); +__simd128_float32_t __builtin_mve_vldrwq_gather_shifted_offset_fv4sf(int*, __simd128_uint32_t); +__simd128_int32_t __builtin_mve_vldrwq_gather_shifted_offset_sv4si(int*, __simd128_uint32_t); +__simd128_uint32_t __builtin_mve_vldrwq_gather_shifted_offset_uv4si(int*, __simd128_uint32_t); +__simd128_float32_t __builtin_mve_vldrwq_gather_shifted_offset_z_fv4sf(int*, __simd128_uint32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vldrwq_gather_shifted_offset_z_sv4si(int*, __simd128_uint32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_shifted_offset_z_uv4si(int*, __simd128_uint32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vldrwq_sv4si(int*); +__simd128_uint32_t __builtin_mve_vldrwq_uv4si(int*); +__simd128_float32_t __builtin_mve_vldrwq_z_fv4sf(int*, short unsigned int); +__simd128_int32_t __builtin_mve_vldrwq_z_sv4si(int*, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrwq_z_uv4si(int*, short unsigned int); +__simd128_uint8_t __builtin_mve_vmaxaq_m_sv16qi(__simd128_uint8_t, __simd128_int8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmaxaq_m_sv4si(__simd128_uint32_t, __simd128_int32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmaxaq_m_sv8hi(__simd128_uint16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vmaxaq_sv16qi(__simd128_uint8_t, __simd128_int8_t); +__simd128_uint32_t __builtin_mve_vmaxaq_sv4si(__simd128_uint32_t, __simd128_int32_t); +__simd128_uint16_t __builtin_mve_vmaxaq_sv8hi(__simd128_uint16_t, __simd128_int16_t); +unsigned char __builtin_mve_vmaxavq_p_sv16qi(unsigned char, __simd128_int8_t, short unsigned int); +unsigned int __builtin_mve_vmaxavq_p_sv4si(unsigned int, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vmaxavq_p_sv8hi(short unsigned int, __simd128_int16_t, short unsigned int); +unsigned char __builtin_mve_vmaxavq_sv16qi(unsigned char, __simd128_int8_t); +unsigned int __builtin_mve_vmaxavq_sv4si(unsigned int, __simd128_int32_t); +short unsigned int __builtin_mve_vmaxavq_sv8hi(short unsigned int, __simd128_int16_t); +__simd128_float32_t __builtin_mve_vmaxnmaq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vmaxnmaq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vmaxnmaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vmaxnmaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +float __builtin_mve_vmaxnmavq_fv4sf(float, __simd128_float32_t); +__bf16 __builtin_mve_vmaxnmavq_fv8hf(__bf16, __simd128_float16_t); +float __builtin_mve_vmaxnmavq_p_fv4sf(float, __simd128_float32_t, short unsigned int); +__bf16 __builtin_mve_vmaxnmavq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vmaxnmq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vmaxnmq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vmaxnmq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vmaxnmq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +float __builtin_mve_vmaxnmvq_fv4sf(float, __simd128_float32_t); +__bf16 __builtin_mve_vmaxnmvq_fv8hf(__bf16, __simd128_float16_t); +float __builtin_mve_vmaxnmvq_p_fv4sf(float, __simd128_float32_t, short unsigned int); +__bf16 __builtin_mve_vmaxnmvq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vmaxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmaxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmaxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vmaxq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmaxq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmaxq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vmaxq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vmaxq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vmaxq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vmaxq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmaxq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vmaxq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +signed char __builtin_mve_vmaxvq_p_sv16qi(signed char, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmaxvq_p_sv4si(int, __simd128_int32_t, short unsigned int); +short int __builtin_mve_vmaxvq_p_sv8hi(short int, __simd128_int16_t, short unsigned int); +unsigned char __builtin_mve_vmaxvq_p_uv16qi(unsigned char, __simd128_uint8_t, short unsigned int); +unsigned int __builtin_mve_vmaxvq_p_uv4si(unsigned int, __simd128_uint32_t, short unsigned int); +short unsigned int __builtin_mve_vmaxvq_p_uv8hi(short unsigned int, __simd128_uint16_t, short unsigned int); +signed char __builtin_mve_vmaxvq_sv16qi(signed char, __simd128_int8_t); +int __builtin_mve_vmaxvq_sv4si(int, __simd128_int32_t); +short int __builtin_mve_vmaxvq_sv8hi(short int, __simd128_int16_t); +unsigned char __builtin_mve_vmaxvq_uv16qi(unsigned char, __simd128_uint8_t); +unsigned int __builtin_mve_vmaxvq_uv4si(unsigned int, __simd128_uint32_t); +short unsigned int __builtin_mve_vmaxvq_uv8hi(short unsigned int, __simd128_uint16_t); +__simd128_uint8_t __builtin_mve_vminaq_m_sv16qi(__simd128_uint8_t, __simd128_int8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vminaq_m_sv4si(__simd128_uint32_t, __simd128_int32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vminaq_m_sv8hi(__simd128_uint16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vminaq_sv16qi(__simd128_uint8_t, __simd128_int8_t); +__simd128_uint32_t __builtin_mve_vminaq_sv4si(__simd128_uint32_t, __simd128_int32_t); +__simd128_uint16_t __builtin_mve_vminaq_sv8hi(__simd128_uint16_t, __simd128_int16_t); +unsigned char __builtin_mve_vminavq_p_sv16qi(unsigned char, __simd128_int8_t, short unsigned int); +unsigned int __builtin_mve_vminavq_p_sv4si(unsigned int, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vminavq_p_sv8hi(short unsigned int, __simd128_int16_t, short unsigned int); +unsigned char __builtin_mve_vminavq_sv16qi(unsigned char, __simd128_int8_t); +unsigned int __builtin_mve_vminavq_sv4si(unsigned int, __simd128_int32_t); +short unsigned int __builtin_mve_vminavq_sv8hi(short unsigned int, __simd128_int16_t); +__simd128_float32_t __builtin_mve_vminnmaq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vminnmaq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vminnmaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vminnmaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +float __builtin_mve_vminnmavq_fv4sf(float, __simd128_float32_t); +__bf16 __builtin_mve_vminnmavq_fv8hf(__bf16, __simd128_float16_t); +float __builtin_mve_vminnmavq_p_fv4sf(float, __simd128_float32_t, short unsigned int); +__bf16 __builtin_mve_vminnmavq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vminnmq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vminnmq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vminnmq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vminnmq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +float __builtin_mve_vminnmvq_fv4sf(float, __simd128_float32_t); +__bf16 __builtin_mve_vminnmvq_fv8hf(__bf16, __simd128_float16_t); +float __builtin_mve_vminnmvq_p_fv4sf(float, __simd128_float32_t, short unsigned int); +__bf16 __builtin_mve_vminnmvq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vminq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vminq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vminq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vminq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vminq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vminq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vminq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vminq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vminq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vminq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vminq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vminq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +signed char __builtin_mve_vminvq_p_sv16qi(signed char, __simd128_int8_t, short unsigned int); +int __builtin_mve_vminvq_p_sv4si(int, __simd128_int32_t, short unsigned int); +short int __builtin_mve_vminvq_p_sv8hi(short int, __simd128_int16_t, short unsigned int); +unsigned char __builtin_mve_vminvq_p_uv16qi(unsigned char, __simd128_uint8_t, short unsigned int); +unsigned int __builtin_mve_vminvq_p_uv4si(unsigned int, __simd128_uint32_t, short unsigned int); +short unsigned int __builtin_mve_vminvq_p_uv8hi(short unsigned int, __simd128_uint16_t, short unsigned int); +signed char __builtin_mve_vminvq_sv16qi(signed char, __simd128_int8_t); +int __builtin_mve_vminvq_sv4si(int, __simd128_int32_t); +short int __builtin_mve_vminvq_sv8hi(short int, __simd128_int16_t); +unsigned char __builtin_mve_vminvq_uv16qi(unsigned char, __simd128_uint8_t); +unsigned int __builtin_mve_vminvq_uv4si(unsigned int, __simd128_uint32_t); +short unsigned int __builtin_mve_vminvq_uv8hi(short unsigned int, __simd128_uint16_t); +int __builtin_mve_vmladavaq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmladavaq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmladavaq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +unsigned int __builtin_mve_vmladavaq_p_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +unsigned int __builtin_mve_vmladavaq_p_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +unsigned int __builtin_mve_vmladavaq_p_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +int __builtin_mve_vmladavaq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmladavaq_sv4si(int, __simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmladavaq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); +unsigned int __builtin_mve_vmladavaq_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t); +unsigned int __builtin_mve_vmladavaq_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t); +unsigned int __builtin_mve_vmladavaq_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t); +int __builtin_mve_vmladavaxq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmladavaxq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmladavaxq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +int __builtin_mve_vmladavaxq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmladavaxq_sv4si(int, __simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmladavaxq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); +int __builtin_mve_vmladavq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmladavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmladavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +unsigned int __builtin_mve_vmladavq_p_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +unsigned int __builtin_mve_vmladavq_p_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +unsigned int __builtin_mve_vmladavq_p_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +int __builtin_mve_vmladavq_sv16qi(__simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmladavq_sv4si(__simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmladavq_sv8hi(__simd128_int16_t, __simd128_int16_t); +unsigned int __builtin_mve_vmladavq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +unsigned int __builtin_mve_vmladavq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +unsigned int __builtin_mve_vmladavq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +int __builtin_mve_vmladavxq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmladavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmladavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +int __builtin_mve_vmladavxq_sv16qi(__simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmladavxq_sv4si(__simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmladavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); +long long int __builtin_mve_vmlaldavaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlaldavaq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +long long unsigned int __builtin_mve_vmlaldavaq_p_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +long long unsigned int __builtin_mve_vmlaldavaq_p_uv8hi(long long unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +long long int __builtin_mve_vmlaldavaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlaldavaq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); +long long unsigned int __builtin_mve_vmlaldavaq_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t); +long long unsigned int __builtin_mve_vmlaldavaq_uv8hi(long long unsigned int, __simd128_uint16_t, __simd128_uint16_t); +long long int __builtin_mve_vmlaldavaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlaldavaxq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +long long unsigned int __builtin_mve_vmlaldavaxq_p_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +long long unsigned int __builtin_mve_vmlaldavaxq_p_uv8hi(long long unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +long long int __builtin_mve_vmlaldavaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlaldavaxq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); +long long int __builtin_mve_vmlaldavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlaldavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +long long unsigned int __builtin_mve_vmlaldavq_p_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +long long unsigned int __builtin_mve_vmlaldavq_p_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +long long int __builtin_mve_vmlaldavq_sv4si(__simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlaldavq_sv8hi(__simd128_int16_t, __simd128_int16_t); +long long unsigned int __builtin_mve_vmlaldavq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +long long unsigned int __builtin_mve_vmlaldavq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +long long int __builtin_mve_vmlaldavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlaldavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +long long int __builtin_mve_vmlaldavxq_sv4si(__simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlaldavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vmlaq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vmlaq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vmlaq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vmlaq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vmlaq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vmlaq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vmlaq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vmlaq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vmlaq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vmlaq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vmlaq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vmlaq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vmlasq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vmlasq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vmlasq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vmlasq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vmlasq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vmlasq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vmlasq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vmlasq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vmlasq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vmlasq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vmlasq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vmlasq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +int __builtin_mve_vmlsdavaq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmlsdavaq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmlsdavaq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +int __builtin_mve_vmlsdavaq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmlsdavaq_sv4si(int, __simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmlsdavaq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); +int __builtin_mve_vmlsdavaxq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmlsdavaxq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmlsdavaxq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +int __builtin_mve_vmlsdavaxq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmlsdavaxq_sv4si(int, __simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmlsdavaxq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); +int __builtin_mve_vmlsdavq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmlsdavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmlsdavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +int __builtin_mve_vmlsdavq_sv16qi(__simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmlsdavq_sv4si(__simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmlsdavq_sv8hi(__simd128_int16_t, __simd128_int16_t); +int __builtin_mve_vmlsdavxq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmlsdavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmlsdavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +int __builtin_mve_vmlsdavxq_sv16qi(__simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmlsdavxq_sv4si(__simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmlsdavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); +long long int __builtin_mve_vmlsldavaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlsldavaq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +long long int __builtin_mve_vmlsldavaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlsldavaq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); +long long int __builtin_mve_vmlsldavaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlsldavaxq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +long long int __builtin_mve_vmlsldavaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlsldavaxq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); +long long int __builtin_mve_vmlsldavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlsldavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +long long int __builtin_mve_vmlsldavq_sv4si(__simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlsldavq_sv8hi(__simd128_int16_t, __simd128_int16_t); +long long int __builtin_mve_vmlsldavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlsldavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +long long int __builtin_mve_vmlsldavxq_sv4si(__simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlsldavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_mve_vmovlbq_m_sv16qi(__simd128_int16_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmovlbq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmovlbq_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmovlbq_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmovlbq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vmovlbq_sv8hi(__simd128_int16_t); +__simd128_uint16_t __builtin_mve_vmovlbq_uv16qi(__simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmovlbq_uv8hi(__simd128_uint16_t); +__simd128_int16_t __builtin_mve_vmovltq_m_sv16qi(__simd128_int16_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmovltq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmovltq_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmovltq_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmovltq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vmovltq_sv8hi(__simd128_int16_t); +__simd128_uint16_t __builtin_mve_vmovltq_uv16qi(__simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmovltq_uv8hi(__simd128_uint16_t); +__simd128_int16_t __builtin_mve_vmovnbq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); +__simd128_int8_t __builtin_mve_vmovnbq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmovnbq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vmovnbq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmovnbq_sv4si(__simd128_int16_t, __simd128_int32_t); +__simd128_int8_t __builtin_mve_vmovnbq_sv8hi(__simd128_int8_t, __simd128_int16_t); +__simd128_uint16_t __builtin_mve_vmovnbq_uv4si(__simd128_uint16_t, __simd128_uint32_t); +__simd128_uint8_t __builtin_mve_vmovnbq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); +__simd128_int16_t __builtin_mve_vmovntq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); +__simd128_int8_t __builtin_mve_vmovntq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmovntq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vmovntq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmovntq_sv4si(__simd128_int16_t, __simd128_int32_t); +__simd128_int8_t __builtin_mve_vmovntq_sv8hi(__simd128_int8_t, __simd128_int16_t); +__simd128_uint16_t __builtin_mve_vmovntq_uv4si(__simd128_uint16_t, __simd128_uint32_t); +__simd128_uint8_t __builtin_mve_vmovntq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); +__simd128_int8_t __builtin_mve_vmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vmulhq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmulhq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmulhq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vmulhq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmulhq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vmulhq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_int16_t __builtin_mve_vmullbq_int_m_sv16qi(__simd128_int16_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int64_t __builtin_mve_vmullbq_int_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmullbq_int_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmullbq_int_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint64_t __builtin_mve_vmullbq_int_m_uv4si(__simd128_uint64_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmullbq_int_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmullbq_int_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int64_t __builtin_mve_vmullbq_int_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int32_t __builtin_mve_vmullbq_int_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint16_t __builtin_mve_vmullbq_int_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint64_t __builtin_mve_vmullbq_int_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_mve_vmullbq_int_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_uint16_t __builtin_mve_vmullbq_poly_m_pv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmullbq_poly_m_pv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmullbq_poly_pv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmullbq_poly_pv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_int16_t __builtin_mve_vmulltq_int_m_sv16qi(__simd128_int16_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int64_t __builtin_mve_vmulltq_int_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmulltq_int_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmulltq_int_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint64_t __builtin_mve_vmulltq_int_m_uv4si(__simd128_uint64_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmulltq_int_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmulltq_int_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int64_t __builtin_mve_vmulltq_int_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int32_t __builtin_mve_vmulltq_int_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint16_t __builtin_mve_vmulltq_int_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint64_t __builtin_mve_vmulltq_int_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_mve_vmulltq_int_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_uint16_t __builtin_mve_vmulltq_poly_m_pv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmulltq_poly_m_pv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmulltq_poly_pv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmulltq_poly_pv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vmulq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vmulq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vmulq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vmulq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vmulq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); +__simd128_float16_t __builtin_mve_vmulq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); +__simd128_int8_t __builtin_mve_vmulq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vmulq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vmulq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vmulq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vmulq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vmulq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vmulq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmulq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmulq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vmulq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmulq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmulq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vmulq_n_fv4sf(__simd128_float32_t, float); +__simd128_float16_t __builtin_mve_vmulq_n_fv8hf(__simd128_float16_t, __bf16); +__simd128_int8_t __builtin_mve_vmulq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vmulq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vmulq_n_sv8hi(__simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vmulq_n_uv16qi(__simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vmulq_n_uv4si(__simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vmulq_n_uv8hi(__simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vmulq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vmulq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vmulq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vmulq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmulq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vmulq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_int32_t __builtin_mve_vmvnq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vmvnq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vmvnq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vmvnq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vmvnq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmvnq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmvnq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vmvnq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmvnq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmvnq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmvnq_n_sv4si(short int); +__simd128_int16_t __builtin_mve_vmvnq_n_sv8hi(short int); +__simd128_uint32_t __builtin_mve_vmvnq_n_uv4si(short int); +__simd128_uint16_t __builtin_mve_vmvnq_n_uv8hi(short int); +__simd128_int8_t __builtin_mve_vmvnq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vmvnq_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vmvnq_sv8hi(__simd128_int16_t); +__simd128_uint8_t __builtin_mve_vmvnq_uv16qi(__simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmvnq_uv4si(__simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vmvnq_uv8hi(__simd128_uint16_t); +__simd128_float32_t __builtin_mve_vnegq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vnegq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vnegq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vnegq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vnegq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vnegq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vnegq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vnegq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vnegq_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vnegq_sv8hi(__simd128_int16_t); +__simd128_float32_t __builtin_mve_vornq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vornq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vornq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vornq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vornq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vornq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vornq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vornq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vornq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vornq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vornq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vornq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vornq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vornq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vornq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vornq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vorrq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vorrq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vorrq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vorrq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vorrq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vorrq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vorrq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vorrq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vorrq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vorrq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vorrq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vorrq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vorrq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vorrq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vorrq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vorrq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint32_t __builtin_mve_vorrq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vorrq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vorrq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vorrq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vorrq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vorrq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vorrq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vorrq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +short unsigned int __builtin_mve_vpnothi(short unsigned int); +__simd128_float32_t __builtin_mve_vpselq_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vpselq_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vpselq_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int64_t __builtin_mve_vpselq_sv2di(__simd128_int64_t, __simd128_int64_t, short unsigned int); +__simd128_int32_t __builtin_mve_vpselq_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vpselq_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vpselq_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint64_t __builtin_mve_vpselq_uv2di(__simd128_uint64_t, __simd128_uint64_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vpselq_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vpselq_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqabsq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqabsq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqabsq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqabsq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vqabsq_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vqabsq_sv8hi(__simd128_int16_t); +__simd128_int8_t __builtin_mve_vqaddq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vqaddq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqaddq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqaddq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vqaddq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqaddq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vqaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vqaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqaddq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vqaddq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqaddq_n_sv8hi(__simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vqaddq_n_uv16qi(__simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vqaddq_n_uv4si(__simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vqaddq_n_uv8hi(__simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqaddq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqaddq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqaddq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vqaddq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vqaddq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vqaddq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_int8_t __builtin_mve_vqdmladhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmladhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqdmladhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmladhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqdmladhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqdmladhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqdmladhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmladhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqdmladhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmladhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqdmladhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqdmladhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqdmlahq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmlahq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqdmlahq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmlahq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vqdmlahq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqdmlahq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vqdmlahq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vqdmlahq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vqdmlahq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmlsdhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmlsdhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqdmlsdhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmlsdhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqdmlsdhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqdmlsdhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqdmlsdhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmlsdhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqdmlsdhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmlsdhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqdmlsdhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqdmlsdhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqdmulhq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmulhq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqdmulhq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqdmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmulhq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vqdmulhq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqdmulhq_n_sv8hi(__simd128_int16_t, short int); +__simd128_int8_t __builtin_mve_vqdmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqdmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqdmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int64_t __builtin_mve_vqdmullbq_m_n_sv4si(__simd128_int64_t, __simd128_int32_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmullbq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, short int, short unsigned int); +__simd128_int64_t __builtin_mve_vqdmullbq_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmullbq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int64_t __builtin_mve_vqdmullbq_n_sv4si(__simd128_int32_t, int); +__simd128_int32_t __builtin_mve_vqdmullbq_n_sv8hi(__simd128_int16_t, short int); +__simd128_int64_t __builtin_mve_vqdmullbq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int32_t __builtin_mve_vqdmullbq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int64_t __builtin_mve_vqdmulltq_m_n_sv4si(__simd128_int64_t, __simd128_int32_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmulltq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, short int, short unsigned int); +__simd128_int64_t __builtin_mve_vqdmulltq_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmulltq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int64_t __builtin_mve_vqdmulltq_n_sv4si(__simd128_int32_t, int); +__simd128_int32_t __builtin_mve_vqdmulltq_n_sv8hi(__simd128_int16_t, short int); +__simd128_int64_t __builtin_mve_vqdmulltq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int32_t __builtin_mve_vqdmulltq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_mve_vqmovnbq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqmovnbq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqmovnbq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqmovnbq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqmovnbq_sv4si(__simd128_int16_t, __simd128_int32_t); +__simd128_int8_t __builtin_mve_vqmovnbq_sv8hi(__simd128_int8_t, __simd128_int16_t); +__simd128_uint16_t __builtin_mve_vqmovnbq_uv4si(__simd128_uint16_t, __simd128_uint32_t); +__simd128_uint8_t __builtin_mve_vqmovnbq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); +__simd128_int16_t __builtin_mve_vqmovntq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqmovntq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqmovntq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqmovntq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqmovntq_sv4si(__simd128_int16_t, __simd128_int32_t); +__simd128_int8_t __builtin_mve_vqmovntq_sv8hi(__simd128_int8_t, __simd128_int16_t); +__simd128_uint16_t __builtin_mve_vqmovntq_uv4si(__simd128_uint16_t, __simd128_uint32_t); +__simd128_uint8_t __builtin_mve_vqmovntq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); +__simd128_uint16_t __builtin_mve_vqmovunbq_m_sv4si(__simd128_uint16_t, __simd128_int32_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqmovunbq_m_sv8hi(__simd128_uint8_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqmovunbq_sv4si(__simd128_uint16_t, __simd128_int32_t); +__simd128_uint8_t __builtin_mve_vqmovunbq_sv8hi(__simd128_uint8_t, __simd128_int16_t); +__simd128_uint16_t __builtin_mve_vqmovuntq_m_sv4si(__simd128_uint16_t, __simd128_int32_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqmovuntq_m_sv8hi(__simd128_uint8_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqmovuntq_sv4si(__simd128_uint16_t, __simd128_int32_t); +__simd128_uint8_t __builtin_mve_vqmovuntq_sv8hi(__simd128_uint8_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqnegq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqnegq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqnegq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqnegq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vqnegq_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vqnegq_sv8hi(__simd128_int16_t); +__simd128_int8_t __builtin_mve_vqrdmladhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmladhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmladhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmladhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqrdmladhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqrdmladhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqrdmladhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmladhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmladhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmladhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqrdmladhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqrdmladhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqrdmlahq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmlahq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmlahq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmlahq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vqrdmlahq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqrdmlahq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vqrdmlahq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vqrdmlahq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vqrdmlahq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmlashq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmlashq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmlashq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmlashq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vqrdmlashq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqrdmlashq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vqrdmlashq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vqrdmlashq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vqrdmlashq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmlsdhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmlsdhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmlsdhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmlsdhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqrdmlsdhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqrdmlsdhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqrdmlsdhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmlsdhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmlsdhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmlsdhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqrdmlsdhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqrdmlsdhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqrdmulhq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmulhq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmulhq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmulhq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vqrdmulhq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqrdmulhq_n_sv8hi(__simd128_int16_t, short int); +__simd128_int8_t __builtin_mve_vqrdmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqrdmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqrdmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqrshlq_m_n_sv16qi(__simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vqrshlq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqrshlq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqrshlq_m_n_uv16qi(__simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vqrshlq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqrshlq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vqrshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqrshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqrshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqrshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vqrshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqrshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrshlq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vqrshlq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqrshlq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vqrshlq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vqrshlq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vqrshlq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vqrshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqrshlq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqrshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vqrshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); +__simd128_uint32_t __builtin_mve_vqrshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); +__simd128_uint16_t __builtin_mve_vqrshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); +__simd128_int16_t __builtin_mve_vqrshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vqrshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqrshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqrshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqrshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vqrshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vqrshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vqrshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_int16_t __builtin_mve_vqrshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vqrshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqrshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqrshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqrshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vqrshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vqrshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vqrshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_uint16_t __builtin_mve_vqrshrunbq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqrshrunbq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqrshrunbq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); +__simd128_uint8_t __builtin_mve_vqrshrunbq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vqrshruntq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqrshruntq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqrshruntq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); +__simd128_uint8_t __builtin_mve_vqrshruntq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); +__simd128_int8_t __builtin_mve_vqshlq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vqshlq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqshlq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshlq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vqshlq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshlq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vqshlq_m_r_sv16qi(__simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vqshlq_m_r_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqshlq_m_r_sv8hi(__simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshlq_m_r_uv16qi(__simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vqshlq_m_r_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshlq_m_r_uv8hi(__simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vqshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vqshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqshlq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vqshlq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqshlq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vqshlq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vqshlq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vqshlq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vqshlq_r_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vqshlq_r_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqshlq_r_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vqshlq_r_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vqshlq_r_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vqshlq_r_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vqshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqshlq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vqshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); +__simd128_uint32_t __builtin_mve_vqshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); +__simd128_uint16_t __builtin_mve_vqshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vqshluq_m_n_sv16qi(__simd128_uint8_t, __simd128_int8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vqshluq_m_n_sv4si(__simd128_uint32_t, __simd128_int32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshluq_m_n_sv8hi(__simd128_uint16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshluq_n_sv16qi(__simd128_int8_t, int); +__simd128_uint32_t __builtin_mve_vqshluq_n_sv4si(__simd128_int32_t, int); +__simd128_uint16_t __builtin_mve_vqshluq_n_sv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_mve_vqshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vqshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vqshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vqshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vqshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_int16_t __builtin_mve_vqshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vqshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vqshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vqshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vqshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_uint16_t __builtin_mve_vqshrunbq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshrunbq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshrunbq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); +__simd128_uint8_t __builtin_mve_vqshrunbq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vqshruntq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshruntq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshruntq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); +__simd128_uint8_t __builtin_mve_vqshruntq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); +__simd128_int8_t __builtin_mve_vqsubq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vqsubq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqsubq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqsubq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vqsubq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqsubq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vqsubq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqsubq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqsubq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqsubq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vqsubq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqsubq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqsubq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vqsubq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqsubq_n_sv8hi(__simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vqsubq_n_uv16qi(__simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vqsubq_n_uv4si(__simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vqsubq_n_uv8hi(__simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqsubq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqsubq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqsubq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vqsubq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vqsubq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vqsubq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_int8_t __builtin_mve_vrev16q_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vrev16q_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrev16q_sv16qi(__simd128_int8_t); +__simd128_uint8_t __builtin_mve_vrev16q_uv16qi(__simd128_uint8_t); +__simd128_float16_t __builtin_mve_vrev32q_fv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_mve_vrev32q_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrev32q_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int16_t __builtin_mve_vrev32q_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vrev32q_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vrev32q_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrev32q_sv16qi(__simd128_int8_t); +__simd128_int16_t __builtin_mve_vrev32q_sv8hi(__simd128_int16_t); +__simd128_uint8_t __builtin_mve_vrev32q_uv16qi(__simd128_uint8_t); +__simd128_uint16_t __builtin_mve_vrev32q_uv8hi(__simd128_uint16_t); +__simd128_float32_t __builtin_mve_vrev64q_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vrev64q_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vrev64q_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vrev64q_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrev64q_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vrev64q_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vrev64q_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vrev64q_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vrev64q_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vrev64q_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrev64q_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vrev64q_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vrev64q_sv8hi(__simd128_int16_t); +__simd128_uint8_t __builtin_mve_vrev64q_uv16qi(__simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vrev64q_uv4si(__simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vrev64q_uv8hi(__simd128_uint16_t); +__simd128_int8_t __builtin_mve_vrhaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vrhaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vrhaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vrhaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vrhaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vrhaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrhaddq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vrhaddq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vrhaddq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vrhaddq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vrhaddq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vrhaddq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +long long int __builtin_mve_vrmlaldavhaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long unsigned int __builtin_mve_vrmlaldavhaq_p_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +long long int __builtin_mve_vrmlaldavhaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long unsigned int __builtin_mve_vrmlaldavhaq_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t); +long long int __builtin_mve_vrmlaldavhaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vrmlaldavhaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vrmlaldavhq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long unsigned int __builtin_mve_vrmlaldavhq_p_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +long long int __builtin_mve_vrmlaldavhq_sv4si(__simd128_int32_t, __simd128_int32_t); +long long unsigned int __builtin_mve_vrmlaldavhq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +long long int __builtin_mve_vrmlaldavhxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vrmlaldavhxq_sv4si(__simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vrmlsldavhaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vrmlsldavhaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vrmlsldavhaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vrmlsldavhaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vrmlsldavhq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vrmlsldavhq_sv4si(__simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vrmlsldavhxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vrmlsldavhxq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int8_t __builtin_mve_vrmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vrmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vrmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vrmulhq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vrmulhq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vrmulhq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vrmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vrmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vrmulhq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vrmulhq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vrmulhq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vrndaq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vrndaq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vrndaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vrndaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vrndmq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vrndmq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vrndmq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vrndmq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vrndnq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vrndnq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vrndnq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vrndnq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vrndpq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vrndpq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vrndpq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vrndpq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vrndq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vrndq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vrndq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vrndq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vrndxq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vrndxq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vrndxq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vrndxq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrshlq_m_n_sv16qi(__simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vrshlq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vrshlq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vrshlq_m_n_uv16qi(__simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vrshlq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vrshlq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vrshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vrshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vrshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vrshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vrshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vrshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrshlq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vrshlq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vrshlq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vrshlq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vrshlq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vrshlq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vrshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vrshlq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vrshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vrshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); +__simd128_uint32_t __builtin_mve_vrshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); +__simd128_uint16_t __builtin_mve_vrshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); +__simd128_int16_t __builtin_mve_vrshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vrshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vrshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vrshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vrshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vrshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vrshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vrshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_int16_t __builtin_mve_vrshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vrshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vrshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vrshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vrshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vrshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vrshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vrshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vrshrq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vrshrq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vrshrq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vrshrq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vrshrq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vrshrq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vrshrq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vrshrq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vrshrq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vrshrq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vrshrq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vrshrq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int32_t __builtin_mve_vsbciq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vsbciq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vsbciq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_uint32_t __builtin_mve_vsbciq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_int32_t __builtin_mve_vsbcq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vsbcq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vsbcq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_uint32_t __builtin_mve_vsbcq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +unsigned int __builtin_mve_vshlcq_carry_sv16qi(__simd128_int8_t, unsigned int, int); +unsigned int __builtin_mve_vshlcq_carry_sv4si(__simd128_int32_t, unsigned int, int); +unsigned int __builtin_mve_vshlcq_carry_sv8hi(__simd128_int16_t, unsigned int, int); +unsigned int __builtin_mve_vshlcq_carry_uv16qi(__simd128_uint8_t, unsigned int, int); +unsigned int __builtin_mve_vshlcq_carry_uv4si(__simd128_uint32_t, unsigned int, int); +unsigned int __builtin_mve_vshlcq_carry_uv8hi(__simd128_uint16_t, unsigned int, int); +int __builtin_mve_vshlcq_m_carry_sv16qi(__simd128_int8_t, unsigned int, int, short unsigned int); +int __builtin_mve_vshlcq_m_carry_sv4si(__simd128_int32_t, unsigned int, int, short unsigned int); +int __builtin_mve_vshlcq_m_carry_sv8hi(__simd128_int16_t, unsigned int, int, short unsigned int); +unsigned int __builtin_mve_vshlcq_m_carry_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); +unsigned int __builtin_mve_vshlcq_m_carry_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); +unsigned int __builtin_mve_vshlcq_m_carry_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); +__simd128_int8_t __builtin_mve_vshlcq_m_vec_sv16qi(__simd128_int8_t, unsigned int, int, short unsigned int); +__simd128_int32_t __builtin_mve_vshlcq_m_vec_sv4si(__simd128_int32_t, unsigned int, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshlcq_m_vec_sv8hi(__simd128_int16_t, unsigned int, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vshlcq_m_vec_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vshlcq_m_vec_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshlcq_m_vec_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); +__simd128_int8_t __builtin_mve_vshlcq_vec_sv16qi(__simd128_int8_t, unsigned int, int); +__simd128_int32_t __builtin_mve_vshlcq_vec_sv4si(__simd128_int32_t, unsigned int, int); +__simd128_int16_t __builtin_mve_vshlcq_vec_sv8hi(__simd128_int16_t, unsigned int, int); +__simd128_uint8_t __builtin_mve_vshlcq_vec_uv16qi(__simd128_uint8_t, unsigned int, int); +__simd128_uint32_t __builtin_mve_vshlcq_vec_uv4si(__simd128_uint32_t, unsigned int, int); +__simd128_uint16_t __builtin_mve_vshlcq_vec_uv8hi(__simd128_uint16_t, unsigned int, int); +__simd128_int16_t __builtin_mve_vshllbq_m_n_sv16qi(__simd128_int16_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vshllbq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshllbq_m_n_uv16qi(__simd128_uint16_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vshllbq_m_n_uv8hi(__simd128_uint32_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshllbq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vshllbq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vshllbq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vshllbq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int16_t __builtin_mve_vshlltq_m_n_sv16qi(__simd128_int16_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vshlltq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshlltq_m_n_uv16qi(__simd128_uint16_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vshlltq_m_n_uv8hi(__simd128_uint32_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshlltq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vshlltq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vshlltq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vshlltq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vshlq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vshlq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshlq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vshlq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vshlq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshlq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vshlq_m_r_sv16qi(__simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vshlq_m_r_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshlq_m_r_sv8hi(__simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vshlq_m_r_uv16qi(__simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vshlq_m_r_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshlq_m_r_uv8hi(__simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vshlq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vshlq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vshlq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vshlq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vshlq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vshlq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vshlq_r_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vshlq_r_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vshlq_r_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vshlq_r_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vshlq_r_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vshlq_r_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vshlq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); +__simd128_uint32_t __builtin_mve_vshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); +__simd128_uint16_t __builtin_mve_vshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); +__simd128_int16_t __builtin_mve_vshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_int16_t __builtin_mve_vshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vshrq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vshrq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshrq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vshrq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vshrq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshrq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vshrq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vshrq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vshrq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vshrq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vshrq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vshrq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vsliq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vsliq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vsliq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vsliq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vsliq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vsliq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vsliq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vsliq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vsliq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vsliq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vsliq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vsliq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vsriq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vsriq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vsriq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vsriq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vsriq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vsriq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vsriq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vsriq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vsriq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vsriq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vsriq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vsriq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int); +void __builtin_mve_vst1q_fv4sf(int*, __simd128_float32_t); +void __builtin_mve_vst1q_fv8hf(short int*, __simd128_float16_t); +void __builtin_mve_vst1q_sv16qi(signed char*, __simd128_int8_t); +void __builtin_mve_vst1q_sv4si(int*, __simd128_int32_t); +void __builtin_mve_vst1q_sv8hi(short int*, __simd128_int16_t); +void __builtin_mve_vst1q_uv16qi(signed char*, __simd128_uint8_t); +void __builtin_mve_vst1q_uv4si(int*, __simd128_uint32_t); +void __builtin_mve_vst1q_uv8hi(short int*, __simd128_uint16_t); +void __builtin_mve_vst2qv16qi(signed char*, __builtin_neon_oi); +void __builtin_mve_vst2qv4sf(float*, __builtin_neon_oi); +void __builtin_mve_vst2qv4si(int*, __builtin_neon_oi); +void __builtin_mve_vst2qv8hf(__bf16*, __builtin_neon_oi); +void __builtin_mve_vst2qv8hi(short int*, __builtin_neon_oi); +void __builtin_mve_vst4qv16qi(signed char*, __builtin_neon_xi); +void __builtin_mve_vst4qv4sf(float*, __builtin_neon_xi); +void __builtin_mve_vst4qv4si(int*, __builtin_neon_xi); +void __builtin_mve_vst4qv8hf(__bf16*, __builtin_neon_xi); +void __builtin_mve_vst4qv8hi(short int*, __builtin_neon_xi); +void __builtin_mve_vstrbq_p_sv16qi(signed char*, __simd128_int8_t, short unsigned int); +void __builtin_mve_vstrbq_p_sv4si(signed char*, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrbq_p_sv8hi(signed char*, __simd128_int16_t, short unsigned int); +void __builtin_mve_vstrbq_p_uv16qi(signed char*, __simd128_uint8_t, short unsigned int); +void __builtin_mve_vstrbq_p_uv4si(signed char*, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrbq_p_uv8hi(signed char*, __simd128_uint16_t, short unsigned int); +void __builtin_mve_vstrbq_scatter_offset_p_sv16qi(signed char*, __simd128_uint8_t, __simd128_int8_t, short unsigned int); +void __builtin_mve_vstrbq_scatter_offset_p_sv4si(signed char*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrbq_scatter_offset_p_sv8hi(signed char*, __simd128_uint16_t, __simd128_int16_t, short unsigned int); +void __builtin_mve_vstrbq_scatter_offset_p_uv16qi(signed char*, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +void __builtin_mve_vstrbq_scatter_offset_p_uv4si(signed char*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrbq_scatter_offset_p_uv8hi(signed char*, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +void __builtin_mve_vstrbq_scatter_offset_sv16qi(signed char*, __simd128_uint8_t, __simd128_int8_t); +void __builtin_mve_vstrbq_scatter_offset_sv4si(signed char*, __simd128_uint32_t, __simd128_int32_t); +void __builtin_mve_vstrbq_scatter_offset_sv8hi(signed char*, __simd128_uint16_t, __simd128_int16_t); +void __builtin_mve_vstrbq_scatter_offset_uv16qi(signed char*, __simd128_uint8_t, __simd128_uint8_t); +void __builtin_mve_vstrbq_scatter_offset_uv4si(signed char*, __simd128_uint32_t, __simd128_uint32_t); +void __builtin_mve_vstrbq_scatter_offset_uv8hi(signed char*, __simd128_uint16_t, __simd128_uint16_t); +void __builtin_mve_vstrbq_sv16qi(signed char*, __simd128_int8_t); +void __builtin_mve_vstrbq_sv4si(signed char*, __simd128_int32_t); +void __builtin_mve_vstrbq_sv8hi(signed char*, __simd128_int16_t); +void __builtin_mve_vstrbq_uv16qi(signed char*, __simd128_uint8_t); +void __builtin_mve_vstrbq_uv4si(signed char*, __simd128_uint32_t); +void __builtin_mve_vstrbq_uv8hi(signed char*, __simd128_uint16_t); +void __builtin_mve_vstrdq_scatter_base_p_sv2di(__simd128_uint64_t, int, __simd128_int64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_base_p_uv2di(__simd128_uint64_t, int, __simd128_uint64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_base_sv2di(__simd128_uint64_t, int, __simd128_int64_t); +void __builtin_mve_vstrdq_scatter_base_uv2di(__simd128_uint64_t, int, __simd128_uint64_t); +void __builtin_mve_vstrdq_scatter_base_wb_add_sv2di(__simd128_uint64_t, const int, __simd128_uint64_t); +void __builtin_mve_vstrdq_scatter_base_wb_add_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t); +void __builtin_mve_vstrdq_scatter_base_wb_p_add_sv2di(__simd128_uint64_t, const int, __simd128_uint64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_base_wb_p_add_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_base_wb_p_sv2di(__simd128_uint64_t, const int, __simd128_int64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_base_wb_p_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_base_wb_sv2di(__simd128_uint64_t, const int, __simd128_int64_t); +void __builtin_mve_vstrdq_scatter_base_wb_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t); +void __builtin_mve_vstrdq_scatter_offset_p_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_offset_p_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_offset_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t); +void __builtin_mve_vstrdq_scatter_offset_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t); +void __builtin_mve_vstrdq_scatter_shifted_offset_p_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_shifted_offset_p_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_shifted_offset_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t); +void __builtin_mve_vstrdq_scatter_shifted_offset_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t); +void __builtin_mve_vstrhq_fv8hf(short int*, __simd128_float16_t); +void __builtin_mve_vstrhq_p_fv8hf(short int*, __simd128_float16_t, short unsigned int); +void __builtin_mve_vstrhq_p_sv4si(short int*, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrhq_p_sv8hi(short int*, __simd128_int16_t, short unsigned int); +void __builtin_mve_vstrhq_p_uv4si(short int*, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrhq_p_uv8hi(short int*, __simd128_uint16_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_offset_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t); +void __builtin_mve_vstrhq_scatter_offset_p_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_offset_p_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_offset_p_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_offset_p_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_offset_p_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_offset_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t); +void __builtin_mve_vstrhq_scatter_offset_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t); +void __builtin_mve_vstrhq_scatter_offset_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t); +void __builtin_mve_vstrhq_scatter_offset_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t); +void __builtin_mve_vstrhq_scatter_shifted_offset_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t); +void __builtin_mve_vstrhq_scatter_shifted_offset_p_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_shifted_offset_p_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_shifted_offset_p_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_shifted_offset_p_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_shifted_offset_p_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_shifted_offset_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t); +void __builtin_mve_vstrhq_scatter_shifted_offset_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t); +void __builtin_mve_vstrhq_scatter_shifted_offset_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t); +void __builtin_mve_vstrhq_scatter_shifted_offset_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t); +void __builtin_mve_vstrhq_sv4si(short int*, __simd128_int32_t); +void __builtin_mve_vstrhq_sv8hi(short int*, __simd128_int16_t); +void __builtin_mve_vstrhq_uv4si(short int*, __simd128_uint32_t); +void __builtin_mve_vstrhq_uv8hi(short int*, __simd128_uint16_t); +void __builtin_mve_vstrwq_fv4sf(int*, __simd128_float32_t); +void __builtin_mve_vstrwq_p_fv4sf(int*, __simd128_float32_t, short unsigned int); +void __builtin_mve_vstrwq_p_sv4si(int*, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrwq_p_uv4si(int*, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_fv4sf(__simd128_uint32_t, int, __simd128_float32_t); +void __builtin_mve_vstrwq_scatter_base_p_fv4sf(__simd128_uint32_t, int, __simd128_float32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_p_sv4si(__simd128_uint32_t, int, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_p_uv4si(__simd128_uint32_t, int, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_sv4si(__simd128_uint32_t, int, __simd128_int32_t); +void __builtin_mve_vstrwq_scatter_base_uv4si(__simd128_uint32_t, int, __simd128_uint32_t); +void __builtin_mve_vstrwq_scatter_base_wb_add_fv4sf(__simd128_uint32_t, const int, __simd128_uint32_t); +void __builtin_mve_vstrwq_scatter_base_wb_add_sv4si(__simd128_uint32_t, const int, __simd128_uint32_t); +void __builtin_mve_vstrwq_scatter_base_wb_add_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t); +void __builtin_mve_vstrwq_scatter_base_wb_fv4sf(__simd128_uint32_t, const int, __simd128_float32_t); +void __builtin_mve_vstrwq_scatter_base_wb_p_add_fv4sf(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_wb_p_add_sv4si(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_wb_p_add_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_wb_p_fv4sf(__simd128_uint32_t, const int, __simd128_float32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_wb_p_sv4si(__simd128_uint32_t, const int, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_wb_p_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_wb_sv4si(__simd128_uint32_t, const int, __simd128_int32_t); +void __builtin_mve_vstrwq_scatter_base_wb_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t); +void __builtin_mve_vstrwq_scatter_offset_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t); +void __builtin_mve_vstrwq_scatter_offset_p_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_offset_p_sv4si(int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_offset_p_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_offset_sv4si(int*, __simd128_uint32_t, __simd128_int32_t); +void __builtin_mve_vstrwq_scatter_offset_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t); +void __builtin_mve_vstrwq_scatter_shifted_offset_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t); +void __builtin_mve_vstrwq_scatter_shifted_offset_p_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_shifted_offset_p_sv4si(int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_shifted_offset_p_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_shifted_offset_sv4si(int*, __simd128_uint32_t, __simd128_int32_t); +void __builtin_mve_vstrwq_scatter_shifted_offset_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t); +void __builtin_mve_vstrwq_sv4si(int*, __simd128_int32_t); +void __builtin_mve_vstrwq_uv4si(int*, __simd128_uint32_t); +__simd128_float32_t __builtin_mve_vsubq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vsubq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vsubq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vsubq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vsubq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); +__simd128_float16_t __builtin_mve_vsubq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); +__simd128_int8_t __builtin_mve_vsubq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vsubq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vsubq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vsubq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vsubq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vsubq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vsubq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vsubq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vsubq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vsubq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vsubq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vsubq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vsubq_n_fv4sf(__simd128_float32_t, float); +__simd128_float16_t __builtin_mve_vsubq_n_fv8hf(__simd128_float16_t, __bf16); +__simd128_int8_t __builtin_mve_vsubq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vsubq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vsubq_n_sv8hi(__simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vsubq_n_uv16qi(__simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vsubq_n_uv4si(__simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vsubq_n_uv8hi(__simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vsubq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vsubq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vsubq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vsubq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vsubq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vsubq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); + +#endif // __arm__ + +#ifdef __ARM_FEATURE_CMSE //eg, __ARM_FEATURE_CMSE is defined when passing -mcpu=cortex-m23 -mcmse +unsigned int __builtin_arm_cmse_nonsecure_caller(); +#endif + +#ifdef __ARM_NEON__ +typedef signed char __builtin_neon_qi; +typedef short int __builtin_neon_hi; +typedef int __builtin_neon_si; +typedef long long int __builtin_neon_di; +typedef int __builtin_neon_ti __attribute__((mode(TI))); +typedef unsigned int __builtin_neon_uti __attribute__((mode(TI))); +typedef unsigned char __builtin_neon_uqi; +typedef short unsigned int __builtin_neon_uhi; +typedef unsigned int __builtin_neon_usi; +typedef unsigned long long __builtin_neon_udi; +typedef int __builtin_neon_ei __attribute__ ((__vector_size__(32))); +typedef int __builtin_neon_ci __attribute__ ((__vector_size__(64))); +typedef int __builtin_neon_poly8 __attribute__((mode(QI))); +typedef int __builtin_neon_poly16 __attribute__((mode(HI))); +typedef float __builtin_neon_sf; +typedef float __builtin_neon_hf; +typedef unsigned long long __builtin_neon_poly64; +typedef unsigned int __builtin_neon_poly128 __attribute__((mode(TI))); + +typedef char __simd64_int8_t __attribute__((__vector_size__(8))); +typedef short __simd64_int16_t __attribute__((__vector_size__(8))); +typedef int __simd64_int32_t __attribute__((__vector_size__(8))); +typedef unsigned char __simd64_uint8_t __attribute__((__vector_size__(8))); +typedef unsigned short __simd64_uint16_t __attribute__((__vector_size__(8))); +typedef unsigned int __simd64_uint32_t __attribute__((__vector_size__(8))); + +#ifdef __ARM_FEATURE_FP16_SCALAR_ARITHMETIC +typedef cov_fp16_t __fp16; +#endif +typedef cov_fp16_t __simd64_float16_t __attribute__((__vector_size__(8))); +typedef float __simd64_float32_t __attribute__((__vector_size__(8))); + +typedef signed char __simd64_poly8_t __attribute__((__vector_size__(8))); +typedef short __simd64_poly16_t __attribute__((__vector_size__(8))); +typedef signed char __simd128_poly8_t __attribute__((__vector_size__(16))); +typedef short __simd128_poly16_t __attribute__((__vector_size__(16))); +typedef __bf16 __simd128_bfloat16_t __attribute__((__vector_size__(16))); +typedef __bf16 __simd64_bfloat16_t __attribute__((__vector_size__(8))); + +__simd128_uint8_t __builtin_arm_crypto_aesd(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint8_t __builtin_arm_crypto_aese(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint8_t __builtin_arm_crypto_aesimc(__simd128_uint8_t); +__simd128_uint8_t __builtin_arm_crypto_aesmc(__simd128_uint8_t); +__simd128_uint32_t __builtin_arm_crypto_sha1c(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha1h(__simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha1m(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha1p(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha1su0(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha1su1(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha256h(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha256h2(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha256su0(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha256su1(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); +__builtin_neon_uti __builtin_arm_crypto_vmullp64(long long unsigned int, long long unsigned int); +void __builtin_arm_lane_check(int, int); + +__builtin_neon_ci __builtin_neon_vld3_lanev4sf (const __builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); +__builtin_neon_ci __builtin_neon_vld3_lanev4si (const __builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); +__builtin_neon_ci __builtin_neon_vld3_lanev8hf(const cov_fp16_t*, __builtin_neon_ci, int); +__builtin_neon_ci __builtin_neon_vld3_lanev8hi (const __builtin_neon_hi * __a, __builtin_neon_ci __b, const int __c); +__builtin_neon_ci __builtin_neon_vld3v16qi (const __builtin_neon_qi * __a); +__builtin_neon_ci __builtin_neon_vld3v4sf (const __builtin_neon_sf * __a); +__builtin_neon_ci __builtin_neon_vld3v4si (const __builtin_neon_si * __a); +__builtin_neon_ci __builtin_neon_vld3v8hf(const cov_fp16_t*); +__builtin_neon_ci __builtin_neon_vld3v8hi (const __builtin_neon_hi * __a); +__builtin_neon_ci __builtin_neon_vld4_lanev4sf (const __builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); +__builtin_neon_ci __builtin_neon_vld4_lanev4si (const __builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); +__builtin_neon_ci __builtin_neon_vld4_lanev8hi (const __builtin_neon_hi * __a, __builtin_neon_ci __b, const int __c); +__builtin_neon_ci __builtin_neon_vld4v16qi (const __builtin_neon_qi * __a); +__builtin_neon_ci __builtin_neon_vld4v4sf (const __builtin_neon_sf * __a); +__builtin_neon_ci __builtin_neon_vld4v4si (const __builtin_neon_si * __a); +__builtin_neon_ci __builtin_neon_vld4v8hi (const __builtin_neon_hi * __a); +__builtin_neon_ei __builtin_neon_vld3di (const __builtin_neon_di * __a); +__builtin_neon_ei __builtin_neon_vld3_dupdi (const __builtin_neon_di * __a); +__builtin_neon_ei __builtin_neon_vld3_dupv2sf (const __builtin_neon_sf * __a); +__builtin_neon_ei __builtin_neon_vld3_dupv2si (const __builtin_neon_si * __a); +__builtin_neon_ei __builtin_neon_vld3_dupv4hf(const cov_fp16_t*); +__builtin_neon_ei __builtin_neon_vld3_dupv4hi (const __builtin_neon_hi * __a); +__builtin_neon_ei __builtin_neon_vld3_dupv8qi (const __builtin_neon_qi * __a); +__builtin_neon_ei __builtin_neon_vld3_lanev2sf (const __builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld3_lanev2si (const __builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld3_lanev4hf(const cov_fp16_t*, __builtin_neon_ei, int); +__builtin_neon_ei __builtin_neon_vld3_lanev4hi (const __builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld3_lanev8qi (const __builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld3v2sf (const __builtin_neon_sf * __a); +__builtin_neon_ei __builtin_neon_vld3v2si (const __builtin_neon_si * __a); +__builtin_neon_ei __builtin_neon_vld3v4hf(const cov_fp16_t*); +__builtin_neon_ei __builtin_neon_vld3v4hi (const __builtin_neon_hi * __a); +__builtin_neon_ei __builtin_neon_vld3v8qi (const __builtin_neon_qi * __a); +__builtin_neon_ei __builtin_neon_vld4di (const __builtin_neon_di * __a); +__builtin_neon_ei __builtin_neon_vld4_dupdi (const __builtin_neon_di * __a); +__builtin_neon_ei __builtin_neon_vld4_dupv2sf (const __builtin_neon_sf * __a); +__builtin_neon_ei __builtin_neon_vld4_dupv2si (const __builtin_neon_si * __a); +__builtin_neon_ei __builtin_neon_vld4_dupv4hi (const __builtin_neon_hi * __a); +__builtin_neon_ei __builtin_neon_vld4_dupv8qi (const __builtin_neon_qi * __a); +__builtin_neon_ei __builtin_neon_vld4_lanev2sf (const __builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld4_lanev2si (const __builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld4_lanev4hi (const __builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld4_lanev8qi (const __builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld4v2sf (const __builtin_neon_sf * __a); +__builtin_neon_ei __builtin_neon_vld4v2si (const __builtin_neon_si * __a); +__builtin_neon_ei __builtin_neon_vld4v4hi (const __builtin_neon_hi * __a); +__builtin_neon_ei __builtin_neon_vld4v8qi (const __builtin_neon_qi * __a); +__builtin_neon_oi __builtin_neon_vld2_lanev4sf (const __builtin_neon_sf * __a, __builtin_neon_oi __b, const int __c); +__builtin_neon_oi __builtin_neon_vld2_lanev4si (const __builtin_neon_si * __a, __builtin_neon_oi __b, const int __c); +__builtin_neon_oi __builtin_neon_vld2_lanev8hf(const cov_fp16_t*, __builtin_neon_oi, int); +__builtin_neon_oi __builtin_neon_vld2_lanev8hi (const __builtin_neon_hi * __a, __builtin_neon_oi __b, const int __c); +__builtin_neon_oi __builtin_neon_vld2v16qi (const __builtin_neon_qi * __a); +__builtin_neon_oi __builtin_neon_vld2v4sf (const __builtin_neon_sf * __a); +__builtin_neon_oi __builtin_neon_vld2v4si (const __builtin_neon_si * __a); +__builtin_neon_oi __builtin_neon_vld2v8hf(const cov_fp16_t*); +__builtin_neon_oi __builtin_neon_vld2v8hi (const __builtin_neon_hi * __a); +__builtin_neon_oi __builtin_neon_vld4_dupv4hf(const cov_fp16_t*); +__builtin_neon_oi __builtin_neon_vld4_lanev4hf(const cov_fp16_t*, __builtin_neon_oi, int); +__builtin_neon_oi __builtin_neon_vld4v4hf(const cov_fp16_t*); +__builtin_neon_ti __builtin_neon_vld2di (const __builtin_neon_di * __a); +__builtin_neon_ti __builtin_neon_vld2_dupdi (const __builtin_neon_di * __a); +__builtin_neon_ti __builtin_neon_vld2_dupv2sf (const __builtin_neon_sf * __a); +__builtin_neon_ti __builtin_neon_vld2_dupv2si (const __builtin_neon_si * __a); +__builtin_neon_ti __builtin_neon_vld2_dupv4hf(const cov_fp16_t*); +__builtin_neon_ti __builtin_neon_vld2_dupv4hi (const __builtin_neon_hi * __a); +__builtin_neon_ti __builtin_neon_vld2_dupv8qi (const __builtin_neon_qi * __a); +__builtin_neon_ti __builtin_neon_vld2_lanev2sf (const __builtin_neon_sf * __a, float __b, const int __c); +__builtin_neon_ti __builtin_neon_vld2_lanev2si (const __builtin_neon_si * __a, int __b, const int __c); +__builtin_neon_ti __builtin_neon_vld2_lanev4hf(const cov_fp16_t*, __builtin_neon_ti, int); +__builtin_neon_ti __builtin_neon_vld2_lanev4hi (const __builtin_neon_hi * __a, int __b, const int __c); +__builtin_neon_ti __builtin_neon_vld2_lanev8qi (const __builtin_neon_qi * __a, int __b, const int __c); +__builtin_neon_ti __builtin_neon_vld2v2sf (const __builtin_neon_sf * __a); +__builtin_neon_ti __builtin_neon_vld2v2si (const __builtin_neon_si * __a); +__builtin_neon_ti __builtin_neon_vld2v4hf(const cov_fp16_t*); +__builtin_neon_ti __builtin_neon_vld2v4hi (const __builtin_neon_hi * __a); +__builtin_neon_ti __builtin_neon_vld2v8qi (const __builtin_neon_qi * __a); +__builtin_neon_uti __builtin_arm_crypto_vmullp64(long long unsigned int, long long unsigned int); +__builtin_neon_xi __builtin_neon_vld4_lanev8hf(const cov_fp16_t*, __builtin_neon_xi, int); +__builtin_neon_xi __builtin_neon_vld4v8hf(const cov_fp16_t*); +cov_fp16_t __builtin_neon_vabshf(cov_fp16_t); +cov_fp16_t __builtin_neon_vcvthshf(int); +cov_fp16_t __builtin_neon_vcvths_nhf(int, int); +cov_fp16_t __builtin_neon_vcvthuhf(int); +cov_fp16_t __builtin_neon_vcvthu_nhf(int, int); +cov_fp16_t __builtin_neon_vfmahf(cov_fp16_t, cov_fp16_t, cov_fp16_t); +cov_fp16_t __builtin_neon_vfmshf(cov_fp16_t, cov_fp16_t, cov_fp16_t); +cov_fp16_t __builtin_neon_vmaxnmhf(cov_fp16_t, cov_fp16_t); +cov_fp16_t __builtin_neon_vminnmhf(cov_fp16_t, cov_fp16_t); +cov_fp16_t __builtin_neon_vrndahf(cov_fp16_t); +cov_fp16_t __builtin_neon_vrndhf(cov_fp16_t); +cov_fp16_t __builtin_neon_vrndihf(cov_fp16_t); +cov_fp16_t __builtin_neon_vrndmhf(cov_fp16_t); +cov_fp16_t __builtin_neon_vrndnhf(cov_fp16_t); +cov_fp16_t __builtin_neon_vrndphf(cov_fp16_t); +cov_fp16_t __builtin_neon_vrndxhf(cov_fp16_t); +cov_fp16_t __builtin_neon_vsqrthf(cov_fp16_t); +float __builtin_neon_vget_lanev2sf (__simd64_float32_t __a, const int __b); +float __builtin_neon_vget_lanev4sf (__simd128_float32_t __a, const int __b); +int __builtin_neon_vbsldi (int __a, int __b, int __c); +int __builtin_neon_vcreatedi (__builtin_neon_di __a); +int __builtin_neon_vcvtahssi(cov_fp16_t); +int __builtin_neon_vcvtahusi(cov_fp16_t); +int __builtin_neon_vcvths_nsi(cov_fp16_t, int); +int __builtin_neon_vcvthssi(cov_fp16_t); +int __builtin_neon_vcvthu_nsi(cov_fp16_t, int); +int __builtin_neon_vcvthusi(cov_fp16_t); +int __builtin_neon_vcvtmhssi(cov_fp16_t); +int __builtin_neon_vcvtmhusi(cov_fp16_t); +int __builtin_neon_vcvtnhssi(cov_fp16_t); +int __builtin_neon_vcvtnhusi(cov_fp16_t); +int __builtin_neon_vcvtphssi(cov_fp16_t); +int __builtin_neon_vcvtphusi(cov_fp16_t); +int __builtin_neon_vdup_lanedi (int __a, const int __b); +int __builtin_neon_vdup_ndi (__builtin_neon_di __a); +int __builtin_neon_vextdi (int __a, int __b, const int __c); +int __builtin_neon_vget_lanedi (int __a, const int __b); +int __builtin_neon_vget_laneuv16qi(__simd128_int8_t, int); +int __builtin_neon_vget_laneuv4hi(__simd64_int16_t, int); +int __builtin_neon_vget_laneuv8hi(__simd128_int16_t, int); +int __builtin_neon_vget_laneuv8qi(__simd64_int8_t, int); +int __builtin_neon_vget_lanev16qi(__simd128_int8_t, int); +int __builtin_neon_vget_lanev2si (__simd64_int32_t __a, const int __b); +int __builtin_neon_vget_lanev4hi(__simd64_int16_t, int); +int __builtin_neon_vget_lanev4si (__simd128_int32_t __a, const int __b); +int __builtin_neon_vget_lanev8hi(__simd128_int16_t, int); +int __builtin_neon_vget_lanev8qi(__simd64_int8_t, int); +int __builtin_neon_vld1di (const __builtin_neon_di * __a); +int __builtin_neon_vld1_dupdi (const __builtin_neon_di * __a); +int __builtin_neon_vld1_lanedi (const __builtin_neon_di* __a, int __b, const int __c); +int __builtin_neon_vpadalsv2si (int __a, __simd64_int32_t __b); +int __builtin_neon_vpaddlsv2si (__simd64_int32_t __a); +int __builtin_neon_vqaddsdi (int __a, int __b); +int __builtin_neon_vqrshlsdi (int __a, int __b); +int __builtin_neon_vqshlsdi (int __a, int __b); +int __builtin_neon_vqshl_s_ndi (int __a, const int __b); +int __builtin_neon_vqsubsdi (int __a, int __b); +int __builtin_neon_vqsubudi (int __a, int __b); +int __builtin_neon_vreinterpretdidi (int __a); +int __builtin_neon_vreinterpretdiv2sf (__simd64_float32_t __a); +int __builtin_neon_vreinterpretdiv2si (__simd64_int32_t __a); +int __builtin_neon_vreinterpretdiv4hi (__simd64_int32_t __a); +int __builtin_neon_vreinterpretdiv8qi (__simd64_int32_t __a); +int __builtin_neon_vrshlsdi (int __a, int __b); +int __builtin_neon_vrshrs_ndi (int __a, const int __b); +int __builtin_neon_vrsras_ndi (int __a, int __b, const int __c); +int __builtin_neon_vset_lanedi (__builtin_neon_di __a, int __b, const int __c); +int __builtin_neon_vshl_ndi (int __a, const int __b); +int __builtin_neon_vshlsdi (int __a, int __b); +int __builtin_neon_vshrs_ndi (int __a, const int __b); +int __builtin_neon_vsli_ndi (int __a, int __b, const int __c); +int __builtin_neon_vsras_ndi (int __a, int __b, const int __c); +int __builtin_neon_vsri_ndi (int __a, int __b, const int __c); +int __builtin_neon_vst1_lanedi (__builtin_neon_di * __a, int __b, const int __c); +void __builtin_neon_vst2di(long long int*, __builtin_neon_ti); +int __builtin_neon_vst2_lanev2sf (__builtin_neon_sf * __a, float __b, const int __c); +int __builtin_neon_vst2_lanev2si (__builtin_neon_si * __a, int __b, const int __c); +int __builtin_neon_vst2_lanev4hi (__builtin_neon_hi * __a, int __b, const int __c); +int __builtin_neon_vst2_lanev4sf (__builtin_neon_sf * __a, __builtin_neon_oi __b, const int __c); +int __builtin_neon_vst2_lanev4si (__builtin_neon_si * __a, __builtin_neon_oi __b, const int __c); +int __builtin_neon_vst2_lanev8hi (__builtin_neon_hi* __a, __builtin_neon_oi __b, const int __c); +int __builtin_neon_vst2_lanev8qi (__builtin_neon_qi * __a, int __b, const int __c); +void __builtin_neon_vst2v16qi(signed char*, __builtin_neon_oi); +void __builtin_neon_vst2v2sf(float*, __builtin_neon_ti); +void __builtin_neon_vst2v2si(int*, __builtin_neon_ti); +void __builtin_neon_vst2v4hi(short int*, __builtin_neon_ti); +void __builtin_neon_vst2v4sf(float*, __builtin_neon_oi); +void __builtin_neon_vst2v4si(int*, __builtin_neon_oi); +void __builtin_neon_vst2v8hi(short int*, __builtin_neon_oi); +void __builtin_neon_vst2v8qi(signed char*, __builtin_neon_ti); +void __builtin_neon_vst3di(long long int*, __builtin_neon_ei); +int __builtin_neon_vst3_lanev2sf (__builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); +int __builtin_neon_vst3_lanev2si (__builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); +int __builtin_neon_vst3_lanev4hi (__builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); +int __builtin_neon_vst3_lanev4sf (__builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); +int __builtin_neon_vst3_lanev4si (__builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); +int __builtin_neon_vst3_lanev8hi (__builtin_neon_hi* __a, __builtin_neon_ci __b, const int __c); +int __builtin_neon_vst3_lanev8qi (__builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); +void __builtin_neon_vst3v16qi(signed char*, __builtin_neon_ci); +void __builtin_neon_vst3v2sf(float*, __builtin_neon_ei); +void __builtin_neon_vst3v2si(int*, __builtin_neon_ei); +void __builtin_neon_vst3v4hi(short int*, __builtin_neon_ei); +void __builtin_neon_vst3v4sf(float*, __builtin_neon_ci); +void __builtin_neon_vst3v4si(int*, __builtin_neon_ci); +void __builtin_neon_vst3v8hi(short int*, __builtin_neon_ci); +void __builtin_neon_vst3v8qi(signed char*, __builtin_neon_ei); +void __builtin_neon_vst4di(long long int*, __builtin_neon_oi); +int __builtin_neon_vst4_lanev2sf (__builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); +int __builtin_neon_vst4_lanev2si (__builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); +int __builtin_neon_vst4_lanev4hi (__builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); +int __builtin_neon_vst4_lanev4sf (__builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); +int __builtin_neon_vst4_lanev4si (__builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); +int __builtin_neon_vst4_lanev8hi (__builtin_neon_hi* __a, __builtin_neon_ci __b, const int __c); +int __builtin_neon_vst4_lanev8qi (__builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); +void __builtin_neon_vst4v16qi(signed char*, __builtin_neon_xi); +void __builtin_neon_vst4v2sf(float*, __builtin_neon_oi); +void __builtin_neon_vst4v2si(int*, __builtin_neon_oi); +void __builtin_neon_vst4v4hi(short int*, __builtin_neon_oi); +void __builtin_neon_vst4v4sf(float*, __builtin_neon_xi); +void __builtin_neon_vst4v4si(int*, __builtin_neon_xi); +void __builtin_neon_vst4v8hi(short int*, __builtin_neon_xi); +void __builtin_neon_vst4v8qi(signed char*, __builtin_neon_oi); +long long int __builtin_neon_vget_highv2di(__simd128_int64_t); +long long int __builtin_neon_vget_lanev2di(__simd128_int64_t, int); +long long int __builtin_neon_vget_lowv2di(__simd128_int64_t); +__simd128_float16_t __builtin_neon_vabdv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vabsv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vaddv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vbslv8hf(__simd128_int16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vcadd90v8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vcmla0v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vcmla180v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vcmla270v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vcmla90v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vcmla_lane0v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float16_t __builtin_neon_vcmla_lane180v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float16_t __builtin_neon_vcmla_lane270v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float16_t __builtin_neon_vcmla_lane90v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float16_t __builtin_neon_vcmlaq_lane0v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float16_t __builtin_neon_vcmlaq_lane180v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float16_t __builtin_neon_vcmlaq_lane270v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float16_t __builtin_neon_vcmlaq_lane90v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float16_t __builtin_neon_vcombinev4hf(__simd64_float16_t, __simd64_float16_t); +__simd128_float16_t __builtin_neon_vcvts_nv8hi(__simd128_int16_t, int); +__simd128_float16_t __builtin_neon_vcvtsv8hi(__simd128_int16_t); +__simd128_float16_t __builtin_neon_vcvtu_nv8hi(__simd128_int16_t, int); +__simd128_float16_t __builtin_neon_vcvtuv8hi(__simd128_int16_t); +__simd128_float16_t __builtin_neon_vdup_lanev8hf(__simd64_float16_t, int); +__simd128_float16_t __builtin_neon_vdup_nv8hf(cov_fp16_t); +__simd128_float16_t __builtin_neon_vextv8hf(__simd128_float16_t, __simd128_float16_t, int); +__simd128_float16_t __builtin_neon_vfmav8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vfmsv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vld1v8hf(const cov_fp16_t*); +__simd128_float16_t __builtin_neon_vmaxfv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vmaxnmv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vminfv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vminnmv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vmulfv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vmul_lanev8hf(__simd128_float16_t, __simd64_float16_t, int); +__simd128_float16_t __builtin_neon_vmul_nv8hf(__simd128_float16_t, cov_fp16_t); +__simd128_float16_t __builtin_neon_vnegv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrecpev8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrecpsv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vrndav8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrndmv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrndnv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrndpv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrndv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrndxv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrsqrtev8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrsqrtsv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vsubv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_neon_vabdfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_float32_t __builtin_neon_vabsv4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vaddv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_float32_t __builtin_neon_vbslv4sf (__simd128_int32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); +__simd128_float32_t __builtin_neon_vcadd90v4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vcmla0v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vcmla180v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vcmla270v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vcmla90v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vcmla_lane0v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); +__simd128_float32_t __builtin_neon_vcmla_lane180v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); +__simd128_float32_t __builtin_neon_vcmla_lane270v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); +__simd128_float32_t __builtin_neon_vcmla_lane90v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); +__simd128_float32_t __builtin_neon_vcmlaq_lane0v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); +__simd128_float32_t __builtin_neon_vcmlaq_lane180v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); +__simd128_float32_t __builtin_neon_vcmlaq_lane270v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); +__simd128_float32_t __builtin_neon_vcmlaq_lane90v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); +__simd128_float32_t __builtin_neon_vcombinev2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd128_float32_t __builtin_neon_vcvts_nv4si (__simd128_int32_t __a, const int __b); +__simd128_float32_t __builtin_neon_vcvtsv4si (__simd128_int32_t __a); +__simd128_float32_t __builtin_neon_vcvtu_nv4si (__simd128_int32_t __a, const int __b); +__simd128_float32_t __builtin_neon_vcvtuv4si (__simd128_int32_t __a); +__simd128_float32_t __builtin_neon_vcvtv4sfv4hf(__simd64_float16_t); +__simd128_float32_t __builtin_neon_vdup_lanev4sf (__simd64_float32_t __a, const int __b); +__simd128_float32_t __builtin_neon_vdup_nv4sf (__builtin_neon_sf __a); +__simd128_float32_t __builtin_neon_vextv4sf (__simd128_float32_t __a, __simd128_float32_t __b, const int __c); +__simd128_float32_t __builtin_neon_vfmal_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_neon_vfmal_lane_highv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float32_t __builtin_neon_vfmal_lane_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float32_t __builtin_neon_vfmal_lane_lowv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float32_t __builtin_neon_vfmal_lane_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float32_t __builtin_neon_vfmal_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_neon_vfmav4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); +__simd128_float32_t __builtin_neon_vfmsl_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_neon_vfmsl_lane_highv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float32_t __builtin_neon_vfmsl_lane_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float32_t __builtin_neon_vfmsl_lane_lowv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float32_t __builtin_neon_vfmsl_lane_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float32_t __builtin_neon_vfmsl_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_neon_vfmsv4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); +__simd128_float32_t __builtin_neon_vld1_dupv4sf (const __builtin_neon_sf * __a); +__simd128_float32_t __builtin_neon_vld1_lanev4sf (const float * __a, __simd128_float32_t __b, const int __c); +__simd128_float32_t __builtin_neon_vld1v4sf (const __builtin_neon_sf * __a); +__simd128_float32_t __builtin_neon_vmaxfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_float32_t __builtin_neon_vmaxnmv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vminfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_float32_t __builtin_neon_vminnmv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vmla_lanev4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd64_float32_t __c, const int __d); +__simd128_float32_t __builtin_neon_vmla_nv4sf (__simd128_float32_t __a, __simd128_float32_t __b, float __c); +__simd128_float32_t __builtin_neon_vmlav4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); +__simd128_float32_t __builtin_neon_vmls_lanev4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd64_float32_t __c, const int __d); +__simd128_float32_t __builtin_neon_vmls_nv4sf (__simd128_float32_t __a, __simd128_float32_t __b, float __c); +__simd128_float32_t __builtin_neon_vmlsv4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); +__simd128_float32_t __builtin_neon_vmulfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_float32_t __builtin_neon_vmul_lanev4sf (__simd128_float32_t __a, __simd64_float32_t __b, const int __c); +__simd128_float32_t __builtin_neon_vmul_nv4sf (__simd128_float32_t __a, float __b); +__simd128_float32_t __builtin_neon_vnegv4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrecpev4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrecpsv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_float32_t __builtin_neon_vreinterpretv4sfti (__builtin_neon_ti __a); +__simd128_float32_t __builtin_neon_vreinterpretv4sfv16qi (__simd128_int32_t __a); +__simd128_float32_t __builtin_neon_vreinterpretv4sfv2di (__simd128_int32_t __a); +__simd128_float32_t __builtin_neon_vreinterpretv4sfv4si (__simd128_int32_t __a); +__simd128_float32_t __builtin_neon_vreinterpretv4sfv8hi (__simd128_int32_t __a); +__simd128_float32_t __builtin_neon_vrintav4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrintmv4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrintnv4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrintpv4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrintxv4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrintzv4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrsqrtev4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrsqrtsv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_float32_t __builtin_neon_vset_lanev4sf (float __a, __simd128_float32_t __b, const int __c); +void __builtin_neon_vst1_lanev4sf(float*, __simd128_float32_t, int); +void __builtin_neon_vst1v4sf(float*, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vsubv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_int16_t __builtin_neon_vabalsv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vabaluv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vabasv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vabauv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vabdlsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vabdluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vabdsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vabduv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vabsv8hi(__simd128_int16_t); +__simd128_int16_t __builtin_neon_vaddlsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vaddluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vaddwsv8qi(__simd128_int16_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vaddwuv8qi(__simd128_int16_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vbslv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vcagev8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vcagtv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vcalev8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vcaltv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vceqv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vceqv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vceqzv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcgeuv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vcgev8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vcgev8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vcgezv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcgtuv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vcgtv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vcgtv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vcgtzv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vclev8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vclezv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vclsv8hi(__simd128_int16_t); +__simd128_int16_t __builtin_neon_vcltv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vcltzv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vclzv8hi(__simd128_int16_t); +__simd128_int16_t __builtin_neon_vcombinev4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int16_t __builtin_neon_vcvtasv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtauv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtmsv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtmuv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtnsv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtnuv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtpsv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtpuv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvts_nv8hf(__simd128_float16_t, int); +__simd128_int16_t __builtin_neon_vcvtsv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtu_nv8hf(__simd128_float16_t, int); +__simd128_int16_t __builtin_neon_vcvtuv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vdup_lanev8hi(__simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vextv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vhaddsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vhadduv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vhsubsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vhsubuv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vld1_lanev8hi(const short int*, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vmaxsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vmaxuv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vminsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vminuv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vmla_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vmlalsv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vmlaluv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vmla_nv8hi(__simd128_int16_t, __simd128_int16_t, short int); +__simd128_int16_t __builtin_neon_vmlav8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vmls_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vmlslsv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vmlsluv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vmls_nv8hi(__simd128_int16_t, __simd128_int16_t, short int); +__simd128_int16_t __builtin_neon_vmlsv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vmovlsv8qi(__simd64_int8_t); +__simd128_int16_t __builtin_neon_vmovluv8qi(__simd64_int8_t); +__simd128_int16_t __builtin_neon_vmul_lanev8hi(__simd128_int16_t, __simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vmullpv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vmullsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vmulluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vmul_nv8hi(__simd128_int16_t, short int); +__simd128_int16_t __builtin_neon_vmvnv8hi(__simd128_int16_t); +__simd128_int16_t __builtin_neon_vnegv8hi(__simd128_int16_t); +__simd128_int16_t __builtin_neon_vpadalsv16qi(__simd128_int16_t, __simd128_int8_t); +__simd128_int16_t __builtin_neon_vpadaluv16qi(__simd128_int16_t, __simd128_int8_t); +__simd128_int16_t __builtin_neon_vpaddlsv16qi(__simd128_int8_t); +__simd128_int16_t __builtin_neon_vpaddluv16qi(__simd128_int8_t); +__simd128_int16_t __builtin_neon_vqabsv8hi(__simd128_int16_t); +__simd128_int16_t __builtin_neon_vqaddsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqadduv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqdmulh_lanev8hi(__simd128_int16_t, __simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vqdmulh_nv8hi(__simd128_int16_t, short int); +__simd128_int16_t __builtin_neon_vqdmulhv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqnegv8hi(__simd128_int16_t); +__simd128_int16_t __builtin_neon_vqrdmlah_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vqrdmlahv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqrdmlsh_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vqrdmlshv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqrdmulh_lanev8hi(__simd128_int16_t, __simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vqrdmulh_nv8hi(__simd128_int16_t, short int); +__simd128_int16_t __builtin_neon_vqrdmulhv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqrshlsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqrshluv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqshl_s_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vqshlsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqshl_u_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vqshlu_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vqshluv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqsubsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqsubuv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vrhaddsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vrhadduv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vrshlsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vrshluv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vrshrs_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vrshru_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vrsras_nv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vrsrau_nv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vset_lanev8hi(short int, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vshlls_nv8qi(__simd64_int8_t, int); +__simd128_int16_t __builtin_neon_vshllu_nv8qi(__simd64_int8_t, int); +__simd128_int16_t __builtin_neon_vshl_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vshlsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vshluv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vshrs_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vshru_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vsli_nv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vsras_nv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vsrau_nv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vsri_nv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vsublsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vsubluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vsubwsv8qi(__simd128_int16_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vsubwuv8qi(__simd128_int16_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vtstv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int32_t __builtin_neon_sdot_lanev16qi(__simd128_int32_t, __simd128_int8_t, __simd64_int8_t, int); +__simd128_int32_t __builtin_neon_sdotv16qi(__simd128_int32_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_neon_vabalsv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vabaluv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vabasv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); +__simd128_int32_t __builtin_neon_vabauv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); +__simd128_int32_t __builtin_neon_vabdlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vabdlsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vabdluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vabdluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vabdsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vabduv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vabsv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vaddlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vaddlsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vaddluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vaddluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vaddwsv4hi(__simd128_int32_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vaddwuv4hi(__simd128_int32_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vbslv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); +__simd128_int32_t __builtin_neon_vcagev4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_int32_t __builtin_neon_vcagtv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_int32_t __builtin_neon_vceqv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_int32_t __builtin_neon_vceqv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vcgeuv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vcgev4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_int32_t __builtin_neon_vcgev4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vcgtuv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vcgtv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_int32_t __builtin_neon_vcgtv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vclsv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vclzv4si (__simd128_int32_t __a); +__simd128_int64_t __builtin_neon_vcombinedi (long long int __a, long long int __b); +__simd128_int32_t __builtin_neon_vcombinev2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vcvts_nv4sf (__simd128_float32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vcvtsv4sf (__simd128_float32_t __a); +__simd128_int32_t __builtin_neon_vcvtu_nv4sf (__simd128_float32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vcvtuv4sf (__simd128_float32_t __a); +__simd128_int32_t __builtin_neon_vdup_lanev2di (int __a, const int __b); +__simd128_int32_t __builtin_neon_vdup_lanev4si (__simd64_int32_t __a, const int __b); +__simd128_int8_t __builtin_neon_vdup_nv16qi(signed char); +__simd128_int64_t __builtin_neon_vdup_nv2di(long long int); +__simd128_int32_t __builtin_neon_vdup_nv4si (__builtin_neon_si __a); +__simd128_int16_t __builtin_neon_vdup_nv8hi(short int); +__simd128_int32_t __builtin_neon_vextv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vhaddsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vhadduv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vhsubsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vhsubuv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int8_t __builtin_neon_vld1_dupv16qi(const signed char*); +__simd128_int64_t __builtin_neon_vld1_dupv2di(const long long int*); +__simd128_int32_t __builtin_neon_vld1_dupv4si (const __builtin_neon_si * __a); +__simd128_int16_t __builtin_neon_vld1_dupv8hi(const short int*); +__simd128_int32_t __builtin_neon_vld1_lanev4si (const int * __a, __simd128_int32_t __b, const int __c); +__simd128_int8_t __builtin_neon_vld1v16qi(const signed char*); +__simd128_int64_t __builtin_neon_vld1v2di(const long long int*); +__simd128_int32_t __builtin_neon_vld1v4si (const __builtin_neon_si * __a); +__simd128_int16_t __builtin_neon_vld1v8hi(const short int*); +__simd128_int32_t __builtin_neon_vmaxsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vmaxuv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vminsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vminuv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vmla_lanev4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd64_int32_t __c, const int __d); +__simd128_int32_t __builtin_neon_vmlals_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vmlals_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vmlalsv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vmlalu_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vmlalu_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vmlaluv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vmla_nv4si (__simd128_int32_t __a, __simd128_int32_t __a, int __c); +__simd128_int32_t __builtin_neon_vmlav4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); +__simd128_int32_t __builtin_neon_vmls_lanev4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd64_int32_t __c, const int __d); +__simd128_int32_t __builtin_neon_vmlsls_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vmlsls_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vmlslsv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vmlslu_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vmlslu_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vmlsluv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vmls_nv4si (__simd128_int32_t __a, __simd128_int32_t __a, int __c); +__simd128_int32_t __builtin_neon_vmlsv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); +__simd128_int32_t __builtin_neon_vmovlsv2si (__simd64_int32_t __a); +__simd128_int32_t __builtin_neon_vmovlsv4hi(__simd64_int16_t); +__simd128_int32_t __builtin_neon_vmovluv2si (__simd64_int32_t __a); +__simd128_int32_t __builtin_neon_vmovluv4hi(__simd64_int16_t); +__simd128_int32_t __builtin_neon_vmul_lanev4si (__simd128_int32_t __a, __simd64_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vmulls_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vmulls_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vmulls_nv2si (__simd64_int32_t __a, int __b); +__simd128_int32_t __builtin_neon_vmulls_nv4hi(__simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vmullsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vmullsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vmullu_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vmullu_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vmullu_nv2si (__simd64_int32_t __a, __builtin_neon_si __b); +__simd128_int32_t __builtin_neon_vmullu_nv4hi(__simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vmulluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vmulluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vmul_nv4si (__simd128_int32_t __a, int __b); +__simd128_int32_t __builtin_neon_vmvnv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vnegv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vpadalsv8hi(__simd128_int32_t, __simd128_int16_t); +__simd128_int32_t __builtin_neon_vpadaluv8hi(__simd128_int32_t, __simd128_int16_t); +__simd128_int32_t __builtin_neon_vpaddlsv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vpaddlsv8hi(__simd128_int16_t); +__simd128_int32_t __builtin_neon_vpaddluv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vpaddluv8hi(__simd128_int16_t); +__simd128_int32_t __builtin_neon_vqabsv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vqaddsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqadduv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqdmlal_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vqdmlal_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vqdmlalv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vqdmlsl_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vqdmlsl_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vqdmlslv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vqdmulh_lanev4si (__simd128_int32_t __a, __simd64_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vqdmulh_nv4si (__simd128_int32_t __a, int __b); +__simd128_int32_t __builtin_neon_vqdmulhv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqdmull_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vqdmull_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vqdmull_nv2si (__simd64_int32_t __a, int __b); +__simd128_int32_t __builtin_neon_vqdmull_nv4hi(__simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vqdmullv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vqdmullv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vqnegv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vqrdmlah_lanev4si(__simd128_int32_t, __simd128_int32_t, __simd64_int32_t, int); +__simd128_int32_t __builtin_neon_vqrdmlahv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int32_t __builtin_neon_vqrdmlsh_lanev4si(__simd128_int32_t, __simd128_int32_t, __simd64_int32_t, int); +__simd128_int32_t __builtin_neon_vqrdmlshv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int32_t __builtin_neon_vqrdmulh_lanev4si (__simd128_int32_t __a, __simd64_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vqrdmulh_nv4si (__simd128_int32_t __a, int __b); +__simd128_int32_t __builtin_neon_vqrdmulhv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqrshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqrshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqshl_s_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vqshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqshl_u_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vqshlu_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vqshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqsubsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqsubuv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vrecpev4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterprettiv16qi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterprettiv2di (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterprettiv4sf (__simd128_float32_t __a); +__simd128_int32_t __builtin_neon_vreinterprettiv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterprettiv8hi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv16qiti (__builtin_neon_ti __a); +__simd128_int32_t __builtin_neon_vreinterpretv16qiv16qi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv16qiv2di (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv16qiv4sf (__simd128_float32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv16qiv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv16qiv8hi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv2diti (__builtin_neon_ti __a); +__simd128_int32_t __builtin_neon_vreinterpretv2div16qi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv2div2di (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv2div4sf (__simd128_float32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv2div4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv2div8hi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv4siti (__builtin_neon_ti __a); +__simd128_int32_t __builtin_neon_vreinterpretv4siv16qi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv4siv2di (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv4siv4sf (__simd128_float32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv4siv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv4siv8hi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv8hiti (__builtin_neon_ti __a); +__simd128_int32_t __builtin_neon_vreinterpretv8hiv16qi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv8hiv2di (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv8hiv4sf (__simd128_float32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv8hiv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv8hiv8hi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vrhaddsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vrhadduv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vrshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vrshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vrshrs_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vrshru_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vrsqrtev4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vrsras_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vrsrau_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vset_lanev4si (int __a, __simd128_int32_t __a, const int __c); +__simd128_int32_t __builtin_neon_vshlls_nv2si (__simd64_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vshlls_nv4hi(__simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vshllu_nv2si (__simd64_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vshllu_nv4hi(__simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vshl_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vshrs_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vshru_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vsli_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vsras_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vsrau_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vsri_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); +void __builtin_neon_vst1_lanev4si(int*, __simd128_int32_t, int); +void __builtin_neon_vst1v4si(int*, __simd128_int32_t); +__simd128_int32_t __builtin_neon_vsublsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vsublsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vsubluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vsubluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vsubwsv4hi(__simd128_int32_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vsubwuv4hi(__simd128_int32_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vtstv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int64_t __builtin_neon_vabalsv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vabaluv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vaddwsv2si(__simd128_int64_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vaddwuv2si(__simd128_int64_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vbslv2di(__simd128_int64_t, __simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vextv2di(__simd128_int64_t, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vld1_lanev2di(const long long int*, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vmlals_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlals_nv2si(__simd128_int64_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlalsv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vmlalu_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlalu_nv2si(__simd128_int64_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlaluv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vmlsls_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlsls_nv2si(__simd128_int64_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlslsv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vmlslu_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlslu_nv2si(__simd128_int64_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlsluv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vpadalsv4si(__simd128_int64_t, __simd128_int32_t); +__simd128_int64_t __builtin_neon_vpadaluv4si(__simd128_int64_t, __simd128_int32_t); +__simd128_int64_t __builtin_neon_vqaddsv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vqadduv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vqdmlal_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vqdmlal_nv2si(__simd128_int64_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vqdmlalv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vqdmlsl_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vqdmlsl_nv2si(__simd128_int64_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vqdmlslv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vqrshlsv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vqrshluv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vqshl_s_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vqshlsv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vqshl_u_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vqshlu_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vqshluv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vqsubsv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vqsubuv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vrshlsv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vrshluv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vrshrs_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vrshru_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vrsras_nv2di(__simd128_int64_t, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vrsrau_nv2di(__simd128_int64_t, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vset_lanev2di(long long int, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vshl_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vshlsv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vshluv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vshrs_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vshru_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vsli_nv2di(__simd128_int64_t, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vsras_nv2di(__simd128_int64_t, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vsrau_nv2di(__simd128_int64_t, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vsri_nv2di(__simd128_int64_t, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vsubwsv2si(__simd128_int64_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vsubwuv2si(__simd128_int64_t, __simd64_int32_t); +__simd128_int8_t __builtin_neon_vabasv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vabauv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vabdsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vabduv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vabsv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vbslv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vceqv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vcgeuv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vcgev16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vcgtuv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vcgtv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vclsv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vclzv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vcntv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vcombinev8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int8_t __builtin_neon_vdup_lanev16qi(__simd64_int8_t, int); +__simd128_int8_t __builtin_neon_vextv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vhaddsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vhadduv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vhsubsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vhsubuv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vld1_lanev16qi(const signed char*, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vmaxsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vmaxuv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vminsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vminuv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vmlav16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vmlsv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vmulpv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vmvnv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vnegv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vqabsv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vqaddsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vqadduv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vqnegv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vqrshlsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vqrshluv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vqshl_s_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vqshlsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vqshl_u_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vqshlu_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vqshluv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vqsubsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vqsubuv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vrhaddsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vrhadduv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vrshlsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vrshluv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vrshrs_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vrshru_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vrsras_nv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vrsrau_nv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vset_lanev16qi(signed char, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vshl_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vshlsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vshluv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vshrs_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vshru_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vsli_nv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vsras_nv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vsrau_nv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vsri_nv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vtstv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_uint32_t __builtin_neon_udot_lanev16qi_uuuus(__simd128_uint32_t, __simd128_uint8_t, __simd64_uint8_t, int); +__simd128_uint32_t __builtin_neon_udotv16qi_uuuu(__simd128_uint32_t, __simd128_uint8_t, __simd128_uint8_t); +__simd64_float16_t __builtin_neon_vabdv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vabsv4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vaddv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vbslv4hf(__simd64_int16_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vcadd90v4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vcmla0v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vcmla180v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vcmla270v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vcmla90v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vcmla_lane0v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float16_t __builtin_neon_vcmla_lane180v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float16_t __builtin_neon_vcmla_lane270v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float16_t __builtin_neon_vcmla_lane90v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float16_t __builtin_neon_vcmla_laneq0v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float16_t __builtin_neon_vcmla_laneq180v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float16_t __builtin_neon_vcmla_laneq270v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float16_t __builtin_neon_vcmla_laneq90v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float16_t __builtin_neon_vcvts_nv4hi(__simd64_int16_t, int); +__simd64_float16_t __builtin_neon_vcvtsv4hi(__simd64_int16_t); +__simd64_float16_t __builtin_neon_vcvtu_nv4hi(__simd64_int16_t, int); +__simd64_float16_t __builtin_neon_vcvtuv4hi(__simd64_int16_t); +__simd64_float16_t __builtin_neon_vdup_lanev4hf(__simd64_float16_t, int); +__simd64_float16_t __builtin_neon_vdup_nv4hf(cov_fp16_t); +__simd64_float16_t __builtin_neon_vextv4hf(__simd64_float16_t, __simd64_float16_t, int); +__simd64_float16_t __builtin_neon_vfmav4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vfmsv4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vget_highv8hf(__simd128_float16_t); +__simd64_float16_t __builtin_neon_vget_lowv8hf(__simd128_float16_t); +__simd64_float16_t __builtin_neon_vld1v4hf(const cov_fp16_t*); +__simd64_float16_t __builtin_neon_vmaxfv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vmaxnmv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vminfv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vminnmv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vmulfv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vmul_lanev4hf(__simd64_float16_t, __simd64_float16_t, int); +__simd64_float16_t __builtin_neon_vmul_nv4hf(__simd64_float16_t, cov_fp16_t); +__simd64_float16_t __builtin_neon_vnegv4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vpaddv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vpmaxfv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vpminfv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vrecpev4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrecpsv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vrndav4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrndmv4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrndnv4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrndpv4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrndv4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrndxv4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrsqrtev4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrsqrtsv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vsubv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float32_t __builtin_neon_vabdfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vabsv2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vaddv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vbslv2sf (__simd64_int32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); +__simd64_float32_t __builtin_neon_vcadd90v2sf(__simd64_float32_t, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vcmla0v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vcmla180v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vcmla270v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vcmla90v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vcmla_lane0v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); +__simd64_float32_t __builtin_neon_vcmla_lane180v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); +__simd64_float32_t __builtin_neon_vcmla_lane270v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); +__simd64_float32_t __builtin_neon_vcmla_lane90v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); +__simd64_float32_t __builtin_neon_vcmla_laneq0v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); +__simd64_float32_t __builtin_neon_vcmla_laneq180v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); +__simd64_float32_t __builtin_neon_vcmla_laneq270v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); +__simd64_float32_t __builtin_neon_vcmla_laneq90v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); +__simd64_float32_t __builtin_neon_vcreatev2sf (__builtin_neon_di __a); +__simd64_float32_t __builtin_neon_vcvts_nv2si (__simd64_int32_t __a, const int __b); +__simd64_float32_t __builtin_neon_vcvtsv2si (__simd64_int32_t __a); +__simd64_float32_t __builtin_neon_vcvtu_nv2si (__simd64_int32_t __a, const int __b); +__simd64_float32_t __builtin_neon_vcvtuv2si (__simd64_int32_t __a); +__simd64_float16_t __builtin_neon_vcvtv4hfv4sf(__simd128_float32_t); +__simd64_float32_t __builtin_neon_vdup_lanev2sf (__simd64_float32_t __a, const int __b); +__simd64_float32_t __builtin_neon_vdup_nv2sf (__builtin_neon_sf __a); +__simd64_float32_t __builtin_neon_vextv2sf (__simd64_float32_t __a, __simd64_float32_t __b, const int __c); +__simd64_float32_t __builtin_neon_vfmal_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float32_t __builtin_neon_vfmal_lane_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float32_t __builtin_neon_vfmal_lane_highv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float32_t __builtin_neon_vfmal_lane_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float32_t __builtin_neon_vfmal_lane_lowv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float32_t __builtin_neon_vfmal_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float32_t __builtin_neon_vfmav2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); +__simd64_float32_t __builtin_neon_vfmsl_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float32_t __builtin_neon_vfmsl_lane_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float32_t __builtin_neon_vfmsl_lane_highv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float32_t __builtin_neon_vfmsl_lane_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float32_t __builtin_neon_vfmsl_lane_lowv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float32_t __builtin_neon_vfmsl_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float32_t __builtin_neon_vfmsv2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); +__simd64_float32_t __builtin_neon_vget_highv4sf (__simd128_float32_t __a); +__simd64_float32_t __builtin_neon_vget_lowv4sf (__simd128_float32_t __a); +__simd64_float32_t __builtin_neon_vld1_dupv2sf (const __builtin_neon_sf * __a); +__simd64_float32_t __builtin_neon_vld1_lanev2sf (const float * __a, __simd64_float32_t __b, const int __c); +__simd64_float32_t __builtin_neon_vld1v2sf (const __builtin_neon_sf * __a); +__simd64_float32_t __builtin_neon_vmaxfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vmaxnmv2sf(__simd64_float32_t, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vminfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vminnmv2sf(__simd64_float32_t, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vmla_lanev2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c, const int __d); +__simd64_float32_t __builtin_neon_vmla_nv2sf (__simd64_float32_t __a, __simd64_float32_t __b, float __c); +__simd64_float32_t __builtin_neon_vmlav2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); +__simd64_float32_t __builtin_neon_vmls_lanev2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c, const int __d); +__simd64_float32_t __builtin_neon_vmls_nv2sf (__simd64_float32_t __a, __simd64_float32_t __b, float __c); +__simd64_float32_t __builtin_neon_vmlsv2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); +__simd64_float32_t __builtin_neon_vmulfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vmul_lanev2sf (__simd64_float32_t __a, __simd64_float32_t __b, const int __c); +__simd64_float32_t __builtin_neon_vmul_nv2sf (__simd64_float32_t __a, float __b); +__simd64_float32_t __builtin_neon_vnegv2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vpaddv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vpmaxfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vpminfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vrecpev2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrecpsv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vrintav2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrintmv2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrintnv2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrintpv2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrintxv2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrintzv2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrsqrtev2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrsqrtsv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vset_lanev2sf (float __a, __simd64_float32_t __b, const int __c); +void __builtin_neon_vst1_lanev2sf(float*, __simd64_float32_t, int); +void __builtin_neon_vst1v2sf(float*, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vsubv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_int16_t __builtin_neon_vabasv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vabauv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vabdsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vabduv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vabsv4hi(__simd64_int16_t); +__simd64_int16_t __builtin_neon_vbslv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vcagev4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vcagtv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vcalev4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vcaltv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vceqv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vceqv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vceqzv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcgeuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vcgev4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vcgev4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vcgezv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcgtuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vcgtv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vcgtv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vcgtzv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vclev4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vclezv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vclsv4hi(__simd64_int16_t); +__simd64_int16_t __builtin_neon_vcltv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vcltzv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vclzv4hi(__simd64_int16_t); +__simd64_int16_t __builtin_neon_vcvtasv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtauv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtmsv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtmuv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtnsv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtnuv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtpsv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtpuv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvts_nv4hf(__simd64_float16_t, int); +__simd64_int16_t __builtin_neon_vcvtsv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtu_nv4hf(__simd64_float16_t, int); +__simd64_int16_t __builtin_neon_vcvtuv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vdup_lanev4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vextv4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vget_highv8hi(__simd128_int16_t); +__simd64_int16_t __builtin_neon_vget_lowv8hi(__simd128_int16_t); +__simd64_int16_t __builtin_neon_vhaddsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vhadduv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vhsubsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vhsubuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vld1_lanev4hi(const short int*, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vmaxsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vmaxuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vminsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vminuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vmla_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vmla_nv4hi(__simd64_int16_t, __simd64_int16_t, short int); +__simd64_int16_t __builtin_neon_vmlav4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vmls_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vmls_nv4hi(__simd64_int16_t, __simd64_int16_t, short int); +__simd64_int16_t __builtin_neon_vmlsv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vmul_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vmul_nv4hi(__simd64_int16_t, short int); +__simd64_int16_t __builtin_neon_vmvnv4hi(__simd64_int16_t); +__simd64_int16_t __builtin_neon_vnegv4hi(__simd64_int16_t); +__simd64_int16_t __builtin_neon_vpadalsv8qi(__simd64_int16_t, __simd64_int8_t); +__simd64_int16_t __builtin_neon_vpadaluv8qi(__simd64_int16_t, __simd64_int8_t); +__simd64_int16_t __builtin_neon_vpaddlsv8qi(__simd64_int8_t); +__simd64_int16_t __builtin_neon_vpaddluv8qi(__simd64_int8_t); +__simd64_int16_t __builtin_neon_vpaddv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vpmaxsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vpmaxuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vpminsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vpminuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqabsv4hi(__simd64_int16_t); +__simd64_int16_t __builtin_neon_vqaddsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqadduv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqdmulh_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vqdmulh_nv4hi(__simd64_int16_t, short int); +__simd64_int16_t __builtin_neon_vqdmulhv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqnegv4hi(__simd64_int16_t); +__simd64_int16_t __builtin_neon_vqrdmlah_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vqrdmlahv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqrdmlsh_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vqrdmlshv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqrdmulh_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vqrdmulh_nv4hi(__simd64_int16_t, short int); +__simd64_int16_t __builtin_neon_vqrdmulhv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqrshlsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqrshluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqshl_s_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vqshlsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqshl_u_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vqshlu_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vqshluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqsubsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqsubuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vrhaddsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vrhadduv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vrshlsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vrshluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vrshrs_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vrshru_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vrsras_nv4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vrsrau_nv4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vset_lanev4hi(short int, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vshl_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vshlsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vshluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vshrs_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vshru_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vsli_nv4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vsras_nv4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vsrau_nv4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vsri_nv4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vtstv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int32_t __builtin_neon_sdot_lanev8qi(__simd64_int32_t, __simd64_int8_t, __simd64_int8_t, int); +__simd64_int32_t __builtin_neon_sdotv8qi(__simd64_int32_t, __simd64_int8_t, __simd64_int8_t); +__simd64_int32_t __builtin_neon_vabasv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); +__simd64_int32_t __builtin_neon_vabauv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); +__simd64_int32_t __builtin_neon_vabdsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vabduv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vabsv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vaddhnv2di(__simd128_int64_t, __simd128_int64_t); +__simd64_int32_t __builtin_neon_vaddhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd64_int32_t __builtin_neon_vbslv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); +__simd64_int32_t __builtin_neon_vcagev2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_int32_t __builtin_neon_vcagtv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_int32_t __builtin_neon_vceqv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_int32_t __builtin_neon_vceqv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vcgeuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vcgev2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_int32_t __builtin_neon_vcgev2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vcgtuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vcgtv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_int32_t __builtin_neon_vcgtv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vclsv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vclzv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vcreatev2si (__builtin_neon_di __a); +__simd64_int16_t __builtin_neon_vcreatev4hi(long long int); +__simd64_int8_t __builtin_neon_vcreatev8qi(long long int); +__simd64_int32_t __builtin_neon_vcvts_nv2sf (__simd64_float32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vcvtsv2sf (__simd64_float32_t __a); +__simd64_int32_t __builtin_neon_vcvtu_nv2sf (__simd64_float32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vcvtuv2sf (__simd64_float32_t __a); +__simd64_int32_t __builtin_neon_vdup_lanev2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vdup_nv2si (__builtin_neon_si __a); +__simd64_int16_t __builtin_neon_vdup_nv4hi (__builtin_neon_hi __a); +__simd64_int8_t __builtin_neon_vdup_nv8qi(signed char); +__simd64_int32_t __builtin_neon_vextv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vget_highv4si (__simd128_int32_t __a); +__simd64_int32_t __builtin_neon_vget_lowv4si (__simd128_int32_t __a); +__simd64_int32_t __builtin_neon_vhaddsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vhadduv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vhsubsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vhsubuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vld1_dupv2si (const __builtin_neon_si * __a); +__simd64_int16_t __builtin_neon_vld1_dupv4hi(const short int*); +__simd64_int8_t __builtin_neon_vld1_dupv8qi(const signed char*); +__simd64_int32_t __builtin_neon_vld1_lanev2si (const int * __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vld1v2si (const __builtin_neon_si * __a); +__simd64_int16_t __builtin_neon_vld1v4hi(const short int*); +__simd64_int8_t __builtin_neon_vld1v8qi(const signed char*); +__simd64_int32_t __builtin_neon_vmaxsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vmaxuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vminsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vminuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vmla_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c, const int __d); +__simd64_int32_t __builtin_neon_vmla_nv2si (__simd64_int32_t __a, __simd64_int32_t __a, int __c); +__simd64_int32_t __builtin_neon_vmlav2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); +__simd64_int32_t __builtin_neon_vmls_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c, const int __d); +__simd64_int32_t __builtin_neon_vmls_nv2si (__simd64_int32_t __a, __simd64_int32_t __a, int __c); +__simd64_int32_t __builtin_neon_vmlsv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); +__simd64_int32_t __builtin_neon_vmovnv2di(__simd128_int64_t); +__simd64_int32_t __builtin_neon_vmovnv4si (__simd128_int32_t __a); +__simd64_int32_t __builtin_neon_vmul_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vmul_nv2si (__simd64_int32_t __a, int __b); +__simd64_int32_t __builtin_neon_vmvnv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vnegv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vpadalsv4hi(__simd64_int32_t, __simd64_int16_t); +__simd64_int32_t __builtin_neon_vpadaluv4hi(__simd64_int32_t, __simd64_int16_t); +__simd64_int32_t __builtin_neon_vpaddlsv4hi(__simd64_int16_t); +__simd64_int32_t __builtin_neon_vpaddluv4hi(__simd64_int16_t); +__simd64_int32_t __builtin_neon_vpaddv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vpmaxsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vpmaxuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vpminsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vpminuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqabsv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vqaddsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqadduv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqdmulh_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vqdmulh_nv2si (__simd64_int32_t __a, int __b); +__simd64_int32_t __builtin_neon_vqdmulhv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqmovnsv2di(__simd128_int64_t); +__simd64_int32_t __builtin_neon_vqmovnsv4si (__simd128_int32_t __a); +__simd64_int32_t __builtin_neon_vqmovnuv2di(__simd128_int64_t); +__simd64_int32_t __builtin_neon_vqmovnuv4si (__simd128_int32_t __a); +__simd64_int32_t __builtin_neon_vqmovunv2di(__simd128_int64_t); +__simd64_int32_t __builtin_neon_vqmovunv4si (__simd128_int32_t __a); +__simd64_int32_t __builtin_neon_vqnegv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vqrdmlah_lanev2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t, int); +__simd64_int32_t __builtin_neon_vqrdmlahv2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t); +__simd64_int32_t __builtin_neon_vqrdmlsh_lanev2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t, int); +__simd64_int32_t __builtin_neon_vqrdmlshv2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t); +__simd64_int32_t __builtin_neon_vqrdmulh_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vqrdmulh_nv2si (__simd64_int32_t __a, int __b); +__simd64_int32_t __builtin_neon_vqrdmulhv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqrshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqrshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqrshrns_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vqrshrns_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqrshrnu_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vqrshrnu_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqrshrun_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vqrshrun_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqshl_s_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqshl_u_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqshlu_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqshrns_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vqshrns_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqshrnu_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vqshrnu_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqshrun_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vqshrun_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqsubsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqsubuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vraddhnv2di(__simd128_int64_t, __simd128_int64_t); +__simd64_int32_t __builtin_neon_vraddhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd64_int32_t __builtin_neon_vrecpev2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2sfdi (int __a); +__simd64_int32_t __builtin_neon_vreinterpretv2sfv2sf (__simd64_float32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2sfv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2sfv4hi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2sfv8qi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2sidi (int __a); +__simd64_int32_t __builtin_neon_vreinterpretv2siv2sf (__simd64_float32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2siv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2siv4hi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2siv8qi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv4hidi (int __a); +__simd64_int32_t __builtin_neon_vreinterpretv4hiv2sf (__simd64_float32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv4hiv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv4hiv4hi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv4hiv8qi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv8qidi (int __a); +__simd64_int32_t __builtin_neon_vreinterpretv8qiv2sf (__simd64_float32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv8qiv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv8qiv4hi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv8qiv8qi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vrhaddsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vrhadduv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vrshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vrshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vrshrn_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vrshrn_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vrshrs_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vrshru_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vrsqrtev2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vrsras_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vrsrau_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vrsubhnv2di(__simd128_int64_t, __simd128_int64_t); +__simd64_int32_t __builtin_neon_vrsubhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd64_int32_t __builtin_neon_vset_lanev2si (int __a, __simd64_int32_t __a, const int __c); +__simd64_int32_t __builtin_neon_vshl_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vshrn_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vshrn_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vshrs_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vshru_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vsli_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vsras_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vsrau_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vsri_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +void __builtin_neon_vst1di(long long int*, long long int); +void __builtin_neon_vst1_lanev2si(int*, __simd64_int32_t, int); +void __builtin_neon_vst1v2si(int*, __simd64_int32_t); +__simd64_int32_t __builtin_neon_vsubhnv2di(__simd128_int64_t, __simd128_int64_t); +__simd64_int32_t __builtin_neon_vsubhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd64_int32_t __builtin_neon_vtstv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int8_t __builtin_neon_vabasv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vabauv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vabdsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vabduv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vabsv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vaddhnv8hi(__simd128_int16_t, __simd128_int16_t); +__simd64_int8_t __builtin_neon_vbslv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vceqv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vcgeuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vcgev8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vcgtuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vcgtv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vclsv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vclzv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vcntv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vdup_lanev8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vextv8qi(__simd64_int8_t, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vget_highv16qi(__simd128_int8_t); +__simd64_int8_t __builtin_neon_vget_lowv16qi(__simd128_int8_t); +__simd64_int8_t __builtin_neon_vhaddsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vhadduv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vhsubsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vhsubuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vld1_lanev8qi(const signed char*, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vmaxsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vmaxuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vminsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vminuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vmlav8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vmlsv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vmovnv8hi(__simd128_int16_t); +__simd64_int8_t __builtin_neon_vmulpv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vmvnv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vnegv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vpaddv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vpmaxsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vpmaxuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vpminsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vpminuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqabsv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vqaddsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqadduv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqmovnsv8hi(__simd128_int16_t); +__simd64_int8_t __builtin_neon_vqmovnuv8hi(__simd128_int16_t); +__simd64_int8_t __builtin_neon_vqmovunv8hi(__simd128_int16_t); +__simd64_int8_t __builtin_neon_vqnegv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vqrshlsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqrshluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqrshrns_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vqrshrnu_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vqrshrun_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vqshl_s_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vqshlsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqshl_u_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vqshlu_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vqshluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqshrns_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vqshrnu_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vqshrun_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vqsubsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqsubuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vraddhnv8hi(__simd128_int16_t, __simd128_int16_t); +__simd64_int8_t __builtin_neon_vrhaddsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vrhadduv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vrshlsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vrshluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vrshrn_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vrshrs_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vrshru_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vrsras_nv8qi(__simd64_int8_t, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vrsrau_nv8qi(__simd64_int8_t, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vrsubhnv8hi(__simd128_int16_t, __simd128_int16_t); +__simd64_int8_t __builtin_neon_vset_lanev8qi(signed char, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vshl_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vshlsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vshluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vshrn_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vshrs_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vshru_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vsli_nv8qi(__simd64_int8_t, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vsras_nv8qi(__simd64_int8_t, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vsrau_nv8qi(__simd64_int8_t, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vsri_nv8qi(__simd64_int8_t, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vsubhnv8hi(__simd128_int16_t, __simd128_int16_t); +__simd64_int8_t __builtin_neon_vtbl1v8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtbl2v8qi(__builtin_neon_ti, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtbl3v8qi(__builtin_neon_ei, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtbl4v8qi(__builtin_neon_oi, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtbx1v8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtbx2v8qi(__simd64_int8_t, __builtin_neon_ti, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtbx3v8qi(__simd64_int8_t, __builtin_neon_ei, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtbx4v8qi(__simd64_int8_t, __builtin_neon_oi, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtstv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_uint32_t __builtin_neon_udot_lanev8qi_uuuus(__simd64_uint32_t, __simd64_uint8_t, __simd64_uint8_t, int); +__simd64_uint32_t __builtin_neon_udotv8qi_uuuu(__simd64_uint32_t, __simd64_uint8_t, __simd64_uint8_t); +unsigned int __builtin_neon_vget_laneuv2si (__simd64_int32_t __a, const int __b); +unsigned int __builtin_neon_vget_laneuv4si (__simd128_int32_t __a, const int __b); +unsigned int __builtin_neon_vpadaluv2si (int __a, __simd64_int32_t __b); +unsigned int __builtin_neon_vpaddluv2si (__simd64_int32_t __a); +unsigned int __builtin_neon_vqaddudi (int __a, int __b); +unsigned int __builtin_neon_vqrshludi (int __a, int __b); +unsigned int __builtin_neon_vqshludi (int __a, int __b); +unsigned int __builtin_neon_vqshl_u_ndi (int __a, const int __b); +unsigned int __builtin_neon_vqshlu_ndi (int __a, const int __b); +unsigned int __builtin_neon_vrshludi (int __a, int __b); +unsigned int __builtin_neon_vrshru_ndi (int __a, const int __b); +unsigned int __builtin_neon_vrsrau_ndi (int __a, int __b, const int __c); +unsigned int __builtin_neon_vshludi (int __a, int __b); +unsigned int __builtin_neon_vshru_ndi (int __a, const int __b); +unsigned int __builtin_neon_vsrau_ndi (int __a, int __b, const int __c); +void __builtin_neon_vst1_lanev16qi(signed char*, __simd128_int8_t, int); +void __builtin_neon_vst1_lanev2di(long long int*, __simd128_int64_t, int); +void __builtin_neon_vst1_lanev4hf(cov_fp16_t*, __simd64_float16_t, int); +void __builtin_neon_vst1_lanev4hi(short int*, __simd64_int16_t, int); +void __builtin_neon_vst1_lanev8hf(cov_fp16_t*, __simd128_float16_t, int); +void __builtin_neon_vst1_lanev8hi(short int*, __simd128_int16_t, int); +void __builtin_neon_vst1_lanev8qi(signed char*, __simd64_int8_t, int); +void __builtin_neon_vst1v16qi(signed char*, __simd128_int8_t); +void __builtin_neon_vst1v2di(long long int*, __simd128_int64_t); +void __builtin_neon_vst1v4hf(cov_fp16_t*, __simd64_float16_t); +void __builtin_neon_vst1v4hi(short int*, __simd64_int16_t); +void __builtin_neon_vst1v8hf(cov_fp16_t*, __simd128_float16_t); +void __builtin_neon_vst1v8hi(short int*, __simd128_int16_t); +void __builtin_neon_vst1v8qi(signed char*, __simd64_int8_t); +void __builtin_neon_vst2_lanev4hf(cov_fp16_t*, __builtin_neon_ti, int); +void __builtin_neon_vst2_lanev8hf(cov_fp16_t*, __builtin_neon_oi, int); +void __builtin_neon_vst2v4hf(cov_fp16_t*, __builtin_neon_ti); +void __builtin_neon_vst2v8hf(cov_fp16_t*, __builtin_neon_oi); +void __builtin_neon_vst3_lanev4hf(cov_fp16_t*, __builtin_neon_ei, int); +void __builtin_neon_vst3_lanev8hf(cov_fp16_t*, __builtin_neon_ci, int); +void __builtin_neon_vst3v4hf(cov_fp16_t*, __builtin_neon_ei); +void __builtin_neon_vst3v8hf(cov_fp16_t*, __builtin_neon_ci); +void __builtin_neon_vst4_lanev4hf(cov_fp16_t*, __builtin_neon_oi, int); +void __builtin_neon_vst4_lanev8hf(cov_fp16_t*, __builtin_neon_xi, int); +void __builtin_neon_vst4v4hf(cov_fp16_t*, __builtin_neon_oi); +void __builtin_neon_vst4v8hf(cov_fp16_t*, __builtin_neon_xi); + +// -mfpu=vfpv2 -mfloat-abi=hard -mfpu=neon +__simd128_uint64_t __builtin_neon_bswapv2di_uu(__simd128_uint64_t); +__simd64_uint32_t __builtin_neon_bswapv2si_uu(__simd64_uint32_t); +__simd64_uint16_t __builtin_neon_bswapv4hi_uu(__simd64_uint16_t); +__simd128_uint32_t __builtin_neon_bswapv4si_uu(__simd128_uint32_t); +__simd128_uint16_t __builtin_neon_bswapv8hi_uu(__simd128_uint16_t); +__simd64_float32_t __builtin_neon_copysignfv2sf(__simd64_float32_t); +__simd128_float32_t __builtin_neon_copysignfv4sf(__simd128_float32_t); +__simd128_int32_t __builtin_neon_smmlav16qi(__simd128_int32_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_neon_sudot_lanev16qi_sssus(__simd128_int32_t, __simd128_int8_t, __simd64_uint8_t, int); +__simd64_int32_t __builtin_neon_sudot_lanev8qi_sssus(__simd64_int32_t, __simd64_int8_t, __simd64_uint8_t, int); +__simd128_uint32_t __builtin_neon_ummlav16qi_uuuu(__simd128_uint32_t, __simd128_uint8_t, __simd128_uint8_t); +__simd128_int32_t __builtin_neon_usdot_lanev16qi_ssuss(__simd128_int32_t, __simd128_uint8_t, __simd64_int8_t, int); +__simd64_int32_t __builtin_neon_usdot_lanev8qi_ssuss(__simd64_int32_t, __simd64_uint8_t, __simd64_int8_t, int); +__simd64_int32_t __builtin_neon_usdotv8qi_ssus(__simd64_int32_t, __simd64_uint8_t, __simd64_int8_t); +__simd128_int32_t __builtin_neon_usmmlav16qi_ssus(__simd128_int32_t, __simd128_uint8_t, __simd128_int8_t); +float __builtin_neon_vbfcvtbf(__bf16); +__simd128_float32_t __builtin_neon_vbfcvt_highv8bf(__simd128_bfloat16_t); +__bf16 __builtin_neon_vbfcvtsf(float); +__simd128_float32_t __builtin_neon_vbfcvtv4bf(__simd64_bfloat16_t); +__simd128_bfloat16_t __builtin_neon_vbfcvtv4sf_highv8bf(__simd128_bfloat16_t, __simd128_float32_t); +__simd64_bfloat16_t __builtin_neon_vbfcvtv4sfv4bf(__simd128_float32_t); +__simd128_bfloat16_t __builtin_neon_vbfcvtv4sfv8bf(__simd128_float32_t); +__simd128_float32_t __builtin_neon_vbfcvtv8bf(__simd128_bfloat16_t); +__simd64_float32_t __builtin_neon_vbfdot_lanev4bfv2sf(__simd64_float32_t, __simd64_bfloat16_t, __simd64_bfloat16_t, int); +__simd128_float32_t __builtin_neon_vbfdot_lanev4bfv4sf(__simd128_float32_t, __simd128_bfloat16_t, __simd64_bfloat16_t, int); +__simd64_float32_t __builtin_neon_vbfdot_lanev8bfv2sf(__simd64_float32_t, __simd64_bfloat16_t, __simd128_bfloat16_t, int); +__simd128_float32_t __builtin_neon_vbfdot_lanev8bfv4sf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t, int); +__simd64_float32_t __builtin_neon_vbfdotv2sf(__simd64_float32_t, __simd64_bfloat16_t, __simd64_bfloat16_t); +__simd128_float32_t __builtin_neon_vbfdotv4sf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); +__simd64_float32_t __builtin_neon_vcadd270v2sf(__simd64_float32_t, __simd64_float32_t); +__simd64_float16_t __builtin_neon_vcadd270v4hf(__simd64_float16_t, __simd64_float16_t); +__simd128_float32_t __builtin_neon_vcadd270v4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_neon_vcadd270v8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_bfloat16_t __builtin_neon_vcombinev4bf(__simd64_bfloat16_t, __simd64_bfloat16_t); +__simd64_int32_t __builtin_neon_vcvtauv2sfv2si(__simd64_float32_t); +__simd128_int32_t __builtin_neon_vcvtauv4sfv4si(__simd128_float32_t); +__simd64_int32_t __builtin_neon_vcvtav2sfv2si(__simd64_float32_t); +__simd128_int32_t __builtin_neon_vcvtav4sfv4si(__simd128_float32_t); +__simd64_int32_t __builtin_neon_vcvtmuv2sfv2si(__simd64_float32_t); +__simd128_int32_t __builtin_neon_vcvtmuv4sfv4si(__simd128_float32_t); +__simd64_int32_t __builtin_neon_vcvtmv2sfv2si(__simd64_float32_t); +__simd128_int32_t __builtin_neon_vcvtmv4sfv4si(__simd128_float32_t); +__simd64_int32_t __builtin_neon_vcvtpuv2sfv2si(__simd64_float32_t); +__simd128_int32_t __builtin_neon_vcvtpuv4sfv4si(__simd128_float32_t); +__simd64_int32_t __builtin_neon_vcvtpv2sfv2si(__simd64_float32_t); +__simd128_int32_t __builtin_neon_vcvtpv4sfv4si(__simd128_float32_t); +__simd64_bfloat16_t __builtin_neon_vdup_lanev4bf(__simd64_bfloat16_t, int); +__simd128_bfloat16_t __builtin_neon_vdup_lanev8bf(__simd64_bfloat16_t, int); +__simd64_bfloat16_t __builtin_neon_vdup_nv4bf(__bf16); +__simd128_bfloat16_t __builtin_neon_vdup_nv8bf(__bf16); +__simd128_float32_t __builtin_neon_vfmab_laneqv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t, int); +__simd128_float32_t __builtin_neon_vfmab_lanev8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd64_bfloat16_t, int); +__simd128_float32_t __builtin_neon_vfmabv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); +__simd128_float32_t __builtin_neon_vfmat_laneqv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t, int); +__simd128_float32_t __builtin_neon_vfmat_lanev8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd64_bfloat16_t, int); +__simd128_float32_t __builtin_neon_vfmatv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); +__simd64_bfloat16_t __builtin_neon_vget_highv8bf(__simd128_bfloat16_t); +__simd64_bfloat16_t __builtin_neon_vget_lowv8bf(__simd128_bfloat16_t); +__builtin_neon_ti __builtin_neon_vld2_dupv4bf(const __bf16*); +__builtin_neon_oi __builtin_neon_vld2_dupv8bf(const __bf16*); +__builtin_neon_ti __builtin_neon_vld2v4bf(const __bf16*); +__builtin_neon_oi __builtin_neon_vld2v8bf(const __bf16*); +__builtin_neon_ei __builtin_neon_vld3_dupv4bf(const __bf16*); +__builtin_neon_ci __builtin_neon_vld3_dupv8bf(const __bf16*); +__builtin_neon_ei __builtin_neon_vld3v4bf(const __bf16*); +__builtin_neon_ci __builtin_neon_vld3v8bf(const __bf16*); +__builtin_neon_oi __builtin_neon_vld4_dupv4bf(const __bf16*); +__builtin_neon_xi __builtin_neon_vld4_dupv8bf(const __bf16*); +__builtin_neon_oi __builtin_neon_vld4v4bf(const __bf16*); +__builtin_neon_xi __builtin_neon_vld4v8bf(const __bf16*); +__simd128_float32_t __builtin_neon_vmmlav8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); +__simd128_int64_t __builtin_neon_vmullpv2si(__simd64_int32_t, __simd64_int32_t); +__simd128_int32_t __builtin_neon_vmullpv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int8_t __builtin_neon_vrev16v16qi(__simd128_int8_t); +__simd64_int8_t __builtin_neon_vrev16v8qi(__simd64_int8_t); +__simd128_int8_t __builtin_neon_vrev32v16qi(__simd128_int8_t); +__simd64_int16_t __builtin_neon_vrev32v4hi(__simd64_int16_t); +__simd128_int16_t __builtin_neon_vrev32v8hi(__simd128_int16_t); +__simd64_int8_t __builtin_neon_vrev32v8qi(__simd64_int8_t); +__simd128_int8_t __builtin_neon_vrev64v16qi(__simd128_int8_t); +__simd64_float32_t __builtin_neon_vrev64v2sf(__simd64_float32_t); +__simd64_int32_t __builtin_neon_vrev64v2si(__simd64_int32_t); +__simd64_int16_t __builtin_neon_vrev64v4hi(__simd64_int16_t); +__simd128_float32_t __builtin_neon_vrev64v4sf(__simd128_float32_t); +__simd128_int32_t __builtin_neon_vrev64v4si(__simd128_int32_t); +__simd128_int16_t __builtin_neon_vrev64v8hi(__simd128_int16_t); +__simd64_int8_t __builtin_neon_vrev64v8qi(__simd64_int8_t); +void __builtin_neon_vst2v4bf(__bf16*, __builtin_neon_ti); +void __builtin_neon_vst2v8bf(__bf16*, __builtin_neon_oi); +void __builtin_neon_vst3v4bf(__bf16*, __builtin_neon_ei); +void __builtin_neon_vst3v8bf(__bf16*, __builtin_neon_ci); +void __builtin_neon_vst4v4bf(__bf16*, __builtin_neon_oi); +void __builtin_neon_vst4v8bf(__bf16*, __builtin_neon_xi); + +#endif // __ARM_NEON__ + +/* aarch64 support */ +#ifdef __aarch64__ +typedef int __builtin_aarch64_simd_qi __attribute__((mode(QI))); +typedef int __builtin_aarch64_simd_hi __attribute__((mode(HI))); +typedef int __builtin_aarch64_simd_si __attribute__((mode(SI))); +typedef int __builtin_aarch64_simd_di __attribute__((mode(DI))); +typedef float __builtin_aarch64_simd_bf __attribute__((mode(BF))); +typedef int __builtin_aarch64_simd_poly8 __attribute__((mode(QI))); +typedef int __builtin_aarch64_simd_poly16 __attribute__((mode(HI))); +typedef int __builtin_aarch64_simd_poly64 __attribute__ ((mode (DI))); +typedef unsigned int __builtin_aarch64_simd_poly128 __attribute__ ((mode (TI))); +typedef float __builtin_aarch64_simd_df __attribute__ ((mode (DF))); +typedef float __builtin_aarch64_simd_sf __attribute__ ((mode (SF))); +typedef unsigned int __builtin_aarch64_simd_udi __attribute__((mode(DI))); +typedef unsigned int __builtin_aarch64_simd_uqi __attribute__((mode(QI))); +typedef unsigned int __builtin_aarch64_simd_uhi __attribute__((mode(HI))); +typedef unsigned int __builtin_aarch64_simd_usi __attribute__((mode(SI))); +typedef float __builtin_aarch64_simd_hf __attribute__((mode(HF))); +typedef __builtin_aarch64_simd_hf __fp16; +typedef int __Poly64_t __attribute__((mode(DI))); +typedef __coverity_decimal long long __Poly64x1_t __attribute__((vector_size (8))); +typedef int __Poly128_t __attribute__((mode(TI))); + +unsigned int __builtin_aarch64_get_fpcr(); +void __builtin_aarch64_set_fpcr(unsigned int); +unsigned int __builtin_aarch64_get_fpsr(); +void __builtin_aarch64_set_fpsr(unsigned int); +//CMPCPP-6477 +typedef char __Int8x8_t __attribute__ ((vector_size (8))); +typedef short __Int16x4_t __attribute__ ((vector_size (8))); +typedef int __Int32x2_t __attribute__ ((vector_size (8))); +typedef long __Int64x1_t __attribute__((vector_size (8))); +typedef __coverity_float __fp16 __Float16x4_t __attribute__((vector_size (8))); +typedef float __Float32x2_t __attribute__((vector_size (8))); +typedef __coverity_decimal unsigned char __Poly8x8_t __attribute__((vector_size (8))); +typedef __coverity_decimal short __Poly16x4_t __attribute__((vector_size (8))); +typedef unsigned char __Uint8x8_t __attribute__((vector_size (8))); +typedef unsigned short __Uint16x4_t __attribute__((vector_size (8))); +typedef unsigned int __Uint32x2_t __attribute__((vector_size (8))); +typedef double __Float64x1_t __attribute__((vector_size (8))); +typedef unsigned long __Uint64x1_t __attribute__((vector_size (8))); +typedef char __Int8x16_t __attribute__((vector_size (16))); +typedef short __Int16x8_t __attribute__((vector_size (16))); +typedef int __Int32x4_t __attribute__((vector_size (16))); +typedef long __Int64x2_t __attribute__((vector_size (16))); +typedef __coverity_float __fp16 __Float16x8_t __attribute__((vector_size (16))); +typedef __coverity_float __bf16 __Bfloat16x8_t __attribute__((vector_size (16))); +typedef __coverity_float __bf16 __Bfloat16x4_t __attribute__((vector_size (8))); +typedef float __Float32x4_t __attribute__((vector_size (16))); +typedef double __Float64x2_t __attribute__((vector_size (16))); +typedef __coverity_decimal unsigned char __Poly8x16_t __attribute__((vector_size (16))); +typedef __coverity_decimal unsigned short __Poly16x8_t __attribute__((vector_size (16))); +typedef __coverity_decimal long __Poly64x2_t __attribute__((vector_size (16))); +typedef unsigned char __Uint8x16_t __attribute__((vector_size (16))); +typedef unsigned short __Uint16x8_t __attribute__((vector_size (16))); +typedef unsigned int __Uint32x4_t __attribute__((vector_size (16))); +typedef unsigned long __Uint64x2_t __attribute__((vector_size (16))); +typedef unsigned char __Poly8_t; +typedef unsigned short __Poly16_t; + +typedef int __builtin_aarch64_simd_oi __attribute__((mode(OI))); +typedef int __builtin_aarch64_simd_ci __attribute__((mode(CI))); +typedef int __builtin_aarch64_simd_xi __attribute__((mode(XI))); + +__Int8x8_t __builtin_aarch64_tbl3v8qi(__builtin_aarch64_simd_oi, __Int8x8_t); +__Float32x2_t __builtin_aarch64_absv2sf(__Float32x2_t); +__Int8x8_t __builtin_aarch64_absv8qi(__Int8x8_t); +__Int16x4_t __builtin_aarch64_absv4hi(__Int16x4_t); +__Int32x2_t __builtin_aarch64_absv2si(__Int32x2_t); +int __builtin_aarch64_absdi(int); +__Float32x4_t __builtin_aarch64_absv4sf(__Float32x4_t); +__Float64x2_t __builtin_aarch64_absv2df(__Float64x2_t); +__Int8x16_t __builtin_aarch64_absv16qi(__Int8x16_t); +int __builtin_aarch64_im_lane_boundsi(int, int, int); +__Int64x1_t __builtin_aarch64_get_dregoidi(__builtin_aarch64_simd_oi, int); +float __builtin_aarch64_get_dregoidf(__builtin_aarch64_simd_oi, int); +__Int8x8_t __builtin_aarch64_get_dregoiv8qi(__builtin_aarch64_simd_oi, int); +__Int16x4_t __builtin_aarch64_get_dregoiv4hi(__builtin_aarch64_simd_oi, int); +__Int32x2_t __builtin_aarch64_get_dregoiv2si(__builtin_aarch64_simd_oi, int); +__Float16x4_t __builtin_aarch64_get_dregoiv4hf(__builtin_aarch64_simd_oi, int); +__Float32x2_t __builtin_aarch64_get_dregoiv2sf(__builtin_aarch64_simd_oi, int); +__Int8x16_t __builtin_aarch64_get_qregoiv16qi(__builtin_aarch64_simd_oi, const int); +__Int16x8_t __builtin_aarch64_get_qregoiv8hi(__builtin_aarch64_simd_oi, const int); +__Int32x4_t __builtin_aarch64_get_qregoiv4si(__builtin_aarch64_simd_oi, const int); +__Int64x2_t __builtin_aarch64_get_qregoiv2di(__builtin_aarch64_simd_oi, const int); +__Float16x8_t __builtin_aarch64_get_qregoiv8hf(__builtin_aarch64_simd_oi, const int); +__Float32x4_t __builtin_aarch64_get_qregoiv4sf(__builtin_aarch64_simd_oi, const int); +__Float64x2_t __builtin_aarch64_get_qregoiv2df(__builtin_aarch64_simd_oi, const int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv8hf(__builtin_aarch64_simd_oi, __Float16x8_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv4sf(__builtin_aarch64_simd_oi, __Float32x4_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv2df(__builtin_aarch64_simd_oi, __Float64x2_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv16qi(__builtin_aarch64_simd_oi, __Int8x16_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv8hi(__builtin_aarch64_simd_oi, __Int16x8_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv4si(__builtin_aarch64_simd_oi, __Int32x4_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv2di(__builtin_aarch64_simd_oi, __Int64x2_t, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3di(const __builtin_aarch64_simd_di*); +__Int64x1_t __builtin_aarch64_get_dregcidi(__builtin_aarch64_simd_ci, int); +float __builtin_aarch64_get_dregcidf(__builtin_aarch64_simd_ci, int); +__Int8x8_t __builtin_aarch64_get_dregciv8qi(__builtin_aarch64_simd_ci, int); +__Int16x4_t __builtin_aarch64_get_dregciv4hi(__builtin_aarch64_simd_ci, int); +__Int32x2_t __builtin_aarch64_get_dregciv2si(__builtin_aarch64_simd_ci, int); +__Float16x4_t __builtin_aarch64_get_dregciv4hf(__builtin_aarch64_simd_ci, int); +__Float32x2_t __builtin_aarch64_get_dregciv2sf(__builtin_aarch64_simd_ci, int); +__Int8x16_t __builtin_aarch64_get_qregciv16qi(__builtin_aarch64_simd_ci, const int); +__Int16x8_t __builtin_aarch64_get_qregciv8hi(__builtin_aarch64_simd_ci, const int); +__Int32x4_t __builtin_aarch64_get_qregciv4si(__builtin_aarch64_simd_ci, const int); +__Int64x2_t __builtin_aarch64_get_qregciv2di(__builtin_aarch64_simd_ci, const int); +__Float16x8_t __builtin_aarch64_get_qregciv8hf(__builtin_aarch64_simd_ci, const int); +__Float32x4_t __builtin_aarch64_get_qregciv4sf(__builtin_aarch64_simd_ci, const int); +__Float64x2_t __builtin_aarch64_get_qregciv2df(__builtin_aarch64_simd_ci, const int); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv8hf(__builtin_aarch64_simd_ci, __Float16x8_t, int); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv4sf(__builtin_aarch64_simd_ci, __Float32x4_t, int); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv2df(__builtin_aarch64_simd_ci, __Float64x2_t, int); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv16qi(__builtin_aarch64_simd_ci, __Int8x16_t, int); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv8hi(__builtin_aarch64_simd_ci, __Int16x8_t, int); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv4si(__builtin_aarch64_simd_ci, __Int32x4_t, int); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv2di(__builtin_aarch64_simd_ci, __Int64x2_t, int); +__Int64x1_t __builtin_aarch64_get_dregxidi(__builtin_aarch64_simd_xi, int); +float __builtin_aarch64_get_dregxidf(__builtin_aarch64_simd_xi, int); +__Int8x8_t __builtin_aarch64_get_dregxiv8qi(__builtin_aarch64_simd_xi, int); +__Int16x4_t __builtin_aarch64_get_dregxiv4hi(__builtin_aarch64_simd_xi, int); +__Int32x2_t __builtin_aarch64_get_dregxiv2si(__builtin_aarch64_simd_xi, int); +__Float16x4_t __builtin_aarch64_get_dregxiv4hf(__builtin_aarch64_simd_xi, int); +__Float32x2_t __builtin_aarch64_get_dregxiv2sf(__builtin_aarch64_simd_xi, int); +__Int8x16_t __builtin_aarch64_get_qregxiv16qi(__builtin_aarch64_simd_xi, const int); +__Int16x8_t __builtin_aarch64_get_qregxiv8hi(__builtin_aarch64_simd_xi, const int); +__Int32x4_t __builtin_aarch64_get_qregxiv4si(__builtin_aarch64_simd_xi, const int); +__Int64x2_t __builtin_aarch64_get_qregxiv2di(__builtin_aarch64_simd_xi, const int); +__Float16x8_t __builtin_aarch64_get_qregxiv8hf(__builtin_aarch64_simd_xi, const int); +__Float32x4_t __builtin_aarch64_get_qregxiv4sf(__builtin_aarch64_simd_xi, const int); +__Float64x2_t __builtin_aarch64_get_qregxiv2df(__builtin_aarch64_simd_xi, const int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv8hf(__builtin_aarch64_simd_xi, __Float16x8_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv4sf(__builtin_aarch64_simd_xi, __Float32x4_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv2df(__builtin_aarch64_simd_xi, __Float64x2_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv16qi(__builtin_aarch64_simd_xi, __Int8x16_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv8hi(__builtin_aarch64_simd_xi, __Int16x8_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv4si(__builtin_aarch64_simd_xi, __Int32x4_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv2di(__builtin_aarch64_simd_xi, __Int64x2_t, int); +__Int32x4_t __builtin_aarch64_saddlv4hi(__Int16x4_t, __Int16x4_t); +__Int16x8_t __builtin_aarch64_saddlv8qi(__Int8x8_t, __Int8x8_t); +__Uint16x8_t __builtin_aarch64_uaddlv8qi(__Int8x8_t, __Int8x8_t); +__Int16x8_t __builtin_aarch64_saddl2v16qi(__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_uaddl2v16qi(__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_saddwv8qi(__Int16x8_t, __Int8x8_t); +__Uint16x8_t __builtin_aarch64_uaddwv8qi(__Int16x8_t, __Int8x8_t); +__Int16x8_t __builtin_aarch64_saddw2v16qi(__Int16x8_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_uaddw2v16qi(__Int16x8_t, __Int8x16_t); +__Int8x8_t __builtin_aarch64_shaddv8qi(__Int8x8_t, __Int8x8_t); +__Uint8x8_t __builtin_aarch64_uhaddv8qi(__Int8x8_t, __Int8x8_t); +__Int8x16_t __builtin_aarch64_shaddv16qi(__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_shaddv8hi(__Int16x8_t, __Int16x8_t); +__Uint8x16_t __builtin_aarch64_uhaddv16qi(__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_uhaddv8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_srhaddv8qi(__Int8x8_t, __Int8x8_t); +__Uint8x8_t __builtin_aarch64_urhaddv8qi(__Int8x8_t, __Int8x8_t); +__Int8x16_t __builtin_aarch64_srhaddv16qi(__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_srhaddv8hi(__Int16x8_t, __Int16x8_t); +__Uint8x16_t __builtin_aarch64_urhaddv16qi(__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_urhaddv8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_addhnv8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_raddhnv8hi(__Int16x8_t, __Int16x8_t); +__Int8x16_t __builtin_aarch64_addhn2v8hi(__Int8x8_t, __Int16x8_t, __Int16x8_t); +__Int16x8_t __builtin_aarch64_addhn2v4si(__Int16x4_t, __Int32x4_t, __Int32x4_t); +__Int8x16_t __builtin_aarch64_raddhn2v8hi(__Int8x8_t, __Int16x8_t, __Int16x8_t); +__Int16x8_t __builtin_aarch64_raddhn2v4si(__Int16x4_t, __Int32x4_t, __Int32x4_t); +__Poly8x8_t __builtin_aarch64_pmulv8qi(__Int8x8_t, __Int8x8_t); +__Poly8x16_t __builtin_aarch64_pmulv16qi(__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_ssublv8qi(__Int8x8_t, __Int8x8_t); +__Uint16x8_t __builtin_aarch64_usublv8qi(__Int8x8_t, __Int8x8_t); +__Float32x2_t __builtin_aarch64_smax_nanpv2sf(__Float32x2_t, __Float32x2_t); +__Int64x2_t __builtin_aarch64_saddlv2si(__Int32x2_t, __Int32x2_t); +__Uint32x4_t __builtin_aarch64_uaddlv4hi (__Int16x4_t, __Int16x4_t); +__Uint64x2_t __builtin_aarch64_uaddlv2si (__Int32x2_t, __Int32x2_t); +__Int32x4_t __builtin_aarch64_saddl2v8hi (__Int16x8_t, __Int16x8_t); +__Int64x2_t __builtin_aarch64_saddl2v4si (__Int32x4_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_uaddl2v8hi (__Int16x8_t, __Int16x8_t); +__Uint64x2_t __builtin_aarch64_uaddl2v4si (__Int32x4_t, __Int32x4_t); +__Int32x4_t __builtin_aarch64_saddwv4hi (__Int32x4_t, __Int16x4_t); +__Int64x2_t __builtin_aarch64_saddwv2si (__Int64x2_t, __Int32x2_t); +__Uint32x4_t __builtin_aarch64_uaddwv4hi (__Int32x4_t, __Int16x4_t); +__Uint64x2_t __builtin_aarch64_uaddwv2si (__Int64x2_t, __Int32x2_t); +__Int32x4_t __builtin_aarch64_saddw2v8hi (__Int32x4_t, __Int16x8_t); +__Int64x2_t __builtin_aarch64_saddw2v4si (__Int64x2_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_uaddw2v8hi (__Int32x4_t, __Int16x8_t); +__Uint64x2_t __builtin_aarch64_uaddw2v4si (__Int64x2_t, __Int32x4_t); +__Int16x4_t __builtin_aarch64_shaddv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_shaddv2si (__Int32x2_t, __Int32x2_t); +__Uint16x4_t __builtin_aarch64_uhaddv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_uhaddv2si (__Int32x2_t, __Int32x2_t); +__Int32x4_t __builtin_aarch64_shaddv4si (__Int32x4_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_uhaddv4si (__Int32x4_t, __Int32x4_t); +__Int16x4_t __builtin_aarch64_srhaddv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_srhaddv2si (__Int32x2_t, __Int32x2_t); +__Uint16x4_t __builtin_aarch64_urhaddv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_urhaddv2si (__Int32x2_t, __Int32x2_t); +__Int32x4_t __builtin_aarch64_srhaddv4si (__Int32x4_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_urhaddv4si (__Int32x4_t, __Int32x4_t); +__Int16x4_t __builtin_aarch64_addhnv4si (__Int32x4_t, __Int32x4_t); +__Int32x2_t __builtin_aarch64_addhnv2di (__Int64x2_t, __Int64x2_t); +__Uint32x2_t __builtin_aarch64_addhnv2di (__Int64x2_t, __Int64x2_t); +__Int16x4_t __builtin_aarch64_raddhnv4si (__Int32x4_t, __Int32x4_t); +__Int32x2_t __builtin_aarch64_raddhnv2di (__Int64x2_t, __Int64x2_t); +__Uint16x4_t __builtin_aarch64_raddhnv4si (__Int32x4_t, __Int32x4_t); +__Uint32x2_t __builtin_aarch64_raddhnv2di (__Int64x2_t, __Int64x2_t); +__Int32x4_t __builtin_aarch64_addhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Uint32x4_t __builtin_aarch64_addhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Int32x4_t __builtin_aarch64_raddhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Uint32x4_t __builtin_aarch64_raddhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Int32x4_t __builtin_aarch64_ssublv4hi (__Int16x4_t, __Int16x4_t); +__Int64x2_t __builtin_aarch64_ssublv2si (__Int32x2_t, __Int32x2_t); +__Uint32x4_t __builtin_aarch64_usublv4hi (__Int16x4_t, __Int16x4_t); +__Uint64x2_t __builtin_aarch64_usublv2si (__Int32x2_t, __Int32x2_t); +__Int16x8_t __builtin_aarch64_ssubl2v16qi (__Int8x16_t, __Int8x16_t); +__Int32x4_t __builtin_aarch64_ssubl2v8hi (__Int16x8_t, __Int16x8_t); +__Int64x2_t __builtin_aarch64_ssubl2v4si (__Int32x4_t, __Int32x4_t); +__Uint16x8_t __builtin_aarch64_usubl2v16qi (__Int8x16_t, __Int8x16_t); +__Uint32x4_t __builtin_aarch64_usubl2v8hi (__Int16x8_t, __Int16x8_t); +__Uint64x2_t __builtin_aarch64_usubl2v4si (__Int32x4_t, __Int32x4_t); +__Int16x8_t __builtin_aarch64_ssubwv8qi (__Int16x8_t, __Int8x8_t); +__Int32x4_t __builtin_aarch64_ssubwv4hi (__Int32x4_t, __Int16x4_t); +__Int64x2_t __builtin_aarch64_ssubwv2si (__Int64x2_t, __Int32x2_t); +__Uint16x8_t __builtin_aarch64_usubwv8qi (__Int16x8_t, __Int8x8_t); +__Uint32x4_t __builtin_aarch64_usubwv4hi (__Int32x4_t, __Int16x4_t); +__Uint64x2_t __builtin_aarch64_usubwv2si (__Int64x2_t, __Int32x2_t); +__Int16x8_t __builtin_aarch64_ssubw2v16qi (__Int16x8_t, __Int8x16_t); +__Int32x4_t __builtin_aarch64_ssubw2v8hi (__Int32x4_t, __Int16x8_t); +__Int64x2_t __builtin_aarch64_ssubw2v4si (__Int64x2_t, __Int32x4_t); +__Uint16x8_t __builtin_aarch64_usubw2v16qi (__Int16x8_t, __Int8x16_t); +__Uint32x4_t __builtin_aarch64_usubw2v8hi (__Int32x4_t, __Int16x8_t); +__Uint64x2_t __builtin_aarch64_usubw2v4si (__Int64x2_t, __Int32x4_t); +__Int8x8_t __builtin_aarch64_sqaddv8qi (__Int8x8_t, __Int8x8_t); +__Int16x4_t __builtin_aarch64_sqaddv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_sqaddv2si (__Int32x2_t, __Int32x2_t); +__Int8x8_t __builtin_aarch64_shsubv8qi (__Int8x8_t, __Int8x8_t); +__Int16x4_t __builtin_aarch64_shsubv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_shsubv2si (__Int32x2_t, __Int32x2_t); +__Uint8x8_t __builtin_aarch64_uhsubv8qi (__Int8x8_t, __Int8x8_t); +__Uint16x4_t __builtin_aarch64_uhsubv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_uhsubv2si (__Int32x2_t, __Int32x2_t); +__Int8x16_t __builtin_aarch64_shsubv16qi (__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_shsubv8hi (__Int16x8_t, __Int16x8_t); +__Int32x4_t __builtin_aarch64_shsubv4si (__Int32x4_t, __Int32x4_t); +__Uint8x16_t __builtin_aarch64_uhsubv16qi (__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_uhsubv8hi (__Int16x8_t, __Int16x8_t); +__Uint32x4_t __builtin_aarch64_uhsubv4si (__Int32x4_t, __Int32x4_t); +__Int8x8_t __builtin_aarch64_subhnv8hi (__Int16x8_t, __Int16x8_t); +__Int16x4_t __builtin_aarch64_subhnv4si (__Int32x4_t, __Int32x4_t); +__Int32x2_t __builtin_aarch64_subhnv2di (__Int64x2_t, __Int64x2_t); +__Uint8x8_t __builtin_aarch64_subhnv8hi (__Int16x8_t, __Int16x8_t); +__Uint16x4_t __builtin_aarch64_subhnv4si (__Int32x4_t, __Int32x4_t); +__Uint32x2_t __builtin_aarch64_subhnv2di (__Int64x2_t, __Int64x2_t); +__Int8x8_t __builtin_aarch64_rsubhnv8hi (__Int16x8_t, __Int16x8_t); +__Int16x4_t __builtin_aarch64_rsubhnv4si (__Int32x4_t, __Int32x4_t); +__Int32x2_t __builtin_aarch64_rsubhnv2di (__Int64x2_t, __Int64x2_t); +__Uint8x8_t __builtin_aarch64_rsubhnv8hi (__Int16x8_t, __Int16x8_t); +__Uint16x4_t __builtin_aarch64_rsubhnv4si (__Int32x4_t, __Int32x4_t); +__Uint32x2_t __builtin_aarch64_rsubhnv2di (__Int64x2_t, __Int64x2_t); +__Int8x16_t __builtin_aarch64_rsubhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); +__Int16x8_t __builtin_aarch64_rsubhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); +__Int32x4_t __builtin_aarch64_rsubhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Uint8x16_t __builtin_aarch64_rsubhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); +__Uint16x8_t __builtin_aarch64_rsubhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_rsubhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Int8x16_t __builtin_aarch64_subhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); +__Int16x8_t __builtin_aarch64_subhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); +__Int32x4_t __builtin_aarch64_subhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Uint8x16_t __builtin_aarch64_subhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); +__Uint16x8_t __builtin_aarch64_subhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_subhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Int8x16_t __builtin_aarch64_sqaddv16qi (__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_sqaddv8hi (__Int16x8_t, __Int16x8_t); +__Int32x4_t __builtin_aarch64_sqaddv4si (__Int32x4_t, __Int32x4_t); +__Int64x2_t __builtin_aarch64_sqaddv2di (__Int64x2_t, __Int64x2_t); +__Int8x8_t __builtin_aarch64_sqsubv8qi (__Int8x8_t, __Int8x8_t); +__Int16x4_t __builtin_aarch64_sqsubv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_sqsubv2si (__Int32x2_t, __Int32x2_t); +__Int8x16_t __builtin_aarch64_sqsubv16qi (__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_sqsubv8hi (__Int16x8_t, __Int16x8_t); +__Int32x4_t __builtin_aarch64_sqsubv4si (__Int32x4_t, __Int32x4_t); +__Int64x2_t __builtin_aarch64_sqsubv2di (__Int64x2_t, __Int64x2_t); +__Int8x8_t __builtin_aarch64_sqnegv8qi (__Int8x8_t); +__Int16x4_t __builtin_aarch64_sqnegv4hi (__Int16x4_t); +__Int32x2_t __builtin_aarch64_sqnegv2si (__Int32x2_t); +__Int8x16_t __builtin_aarch64_sqnegv16qi (__Int8x16_t); +__Int16x8_t __builtin_aarch64_sqnegv8hi (__Int16x8_t); +__Int32x4_t __builtin_aarch64_sqnegv4si (__Int32x4_t); +__Int8x8_t __builtin_aarch64_sqabsv8qi (__Int8x8_t); +__Int16x4_t __builtin_aarch64_sqabsv4hi (__Int16x4_t); +__Int32x2_t __builtin_aarch64_sqabsv2si (__Int32x2_t); +__Int8x16_t __builtin_aarch64_sqabsv16qi (__Int8x16_t); +__Int16x8_t __builtin_aarch64_sqabsv8hi (__Int16x8_t); +__Int32x4_t __builtin_aarch64_sqabsv4si (__Int32x4_t); +__Int16x4_t __builtin_aarch64_sqdmulhv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_sqdmulhv2si (__Int32x2_t, __Int32x2_t); +__Int16x8_t __builtin_aarch64_sqdmulhv8hi (__Int16x8_t, __Int16x8_t); +__Int32x4_t __builtin_aarch64_sqdmulhv4si (__Int32x4_t, __Int32x4_t); +__Int16x4_t __builtin_aarch64_sqrdmulhv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_sqrdmulhv2si (__Int32x2_t, __Int32x2_t); +__Int16x8_t __builtin_aarch64_sqrdmulhv8hi (__Int16x8_t, __Int16x8_t); +__Int32x4_t __builtin_aarch64_sqrdmulhv4si (__Int32x4_t, __Int32x4_t); +__Int8x16_t __builtin_aarch64_combinev8qi (__Int8x8_t, __Int8x8_t); +__Int16x8_t __builtin_aarch64_combinev4hi (__Int16x4_t, __Int16x4_t); +__Int32x4_t __builtin_aarch64_combinev2si (__Int32x2_t, __Int32x2_t); +__Float32x4_t __builtin_aarch64_combinev2sf (__Float32x2_t, __Float32x2_t); +__Uint8x16_t __builtin_aarch64_combinev8qi (__Int8x8_t, __Int8x8_t); +__Uint16x8_t __builtin_aarch64_combinev4hi (__Int16x4_t, __Int16x4_t); +__Uint32x4_t __builtin_aarch64_combinev2si (__Int32x2_t, __Int32x2_t); +__Poly8x16_t __builtin_aarch64_combinev8qi (__Int8x8_t, __Int8x8_t); +__Poly16x8_t __builtin_aarch64_combinev4hi (__Int16x4_t, __Int16x4_t); +__Uint8x8_t __builtin_aarch64_clzv8qi (__Int8x8_t); +__Uint16x4_t __builtin_aarch64_clzv4hi (__Int16x4_t); +__Uint32x2_t __builtin_aarch64_clzv2si (__Int32x2_t); +__Uint8x16_t __builtin_aarch64_clzv16qi (__Int8x16_t); +__Uint16x8_t __builtin_aarch64_clzv8hi (__Int16x8_t); +__Uint32x4_t __builtin_aarch64_clzv4si (__Int32x4_t); +__Poly8x8_t __builtin_aarch64_popcountv8qi (__Int8x8_t); +__Uint8x8_t __builtin_aarch64_popcountv8qi (__Int8x8_t); +__Poly8x16_t __builtin_aarch64_popcountv16qi (__Int8x16_t); +__Uint8x16_t __builtin_aarch64_popcountv16qi (__Int8x16_t); +__Uint8x8_t __builtin_aarch64_umaxv8qi (__Int8x8_t, __Int8x8_t); +__Uint16x4_t __builtin_aarch64_umaxv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_umaxv2si (__Int32x2_t, __Int32x2_t); +__Uint8x16_t __builtin_aarch64_umaxv16qi (__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_umaxv8hi (__Int16x8_t, __Int16x8_t); +__Uint32x4_t __builtin_aarch64_umaxv4si (__Int32x4_t, __Int32x4_t); +__Uint8x8_t __builtin_aarch64_umaxpv8qi (__Int8x8_t, __Int8x8_t); +__Uint16x4_t __builtin_aarch64_umaxpv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_umaxpv2si (__Int32x2_t, __Int32x2_t); +__Uint8x16_t __builtin_aarch64_umaxpv16qi (__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_umaxpv8hi (__Int16x8_t, __Int16x8_t); +__Uint32x4_t __builtin_aarch64_umaxpv4si (__Int32x4_t, __Int32x4_t); +__Uint8x8_t __builtin_aarch64_uminpv8qi (__Int8x8_t, __Int8x8_t); +__Uint16x4_t __builtin_aarch64_uminpv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_uminpv2si (__Int32x2_t, __Int32x2_t); +__Uint8x16_t __builtin_aarch64_uminpv16qi (__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_uminpv8hi (__Int16x8_t, __Int16x8_t); +__Uint32x4_t __builtin_aarch64_uminpv4si (__Int32x4_t, __Int32x4_t); +__Uint8x8_t __builtin_aarch64_uminv8qi (__Int8x8_t, __Int8x8_t); +__Uint16x4_t __builtin_aarch64_uminv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_uminv2si (__Int32x2_t, __Int32x2_t); +__Uint8x16_t __builtin_aarch64_uminv16qi (__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_uminv8hi (__Int16x8_t, __Int16x8_t); +__Uint32x4_t __builtin_aarch64_uminv4si (__Int32x4_t, __Int32x4_t); +__Uint8x8_t __builtin_aarch64_addpv8qi (__Int8x8_t, __Int8x8_t); +__Uint16x4_t __builtin_aarch64_addpv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_addpv2si (__Int32x2_t, __Int32x2_t); +__Int64x2_t __builtin_aarch64_sqabsv2di (__Int64x2_t); +__Int8x8_t __builtin_aarch64_sqmovnv8hi (__Int16x8_t); +__Int16x4_t __builtin_aarch64_sqmovnv4si (__Int32x4_t); +__Int32x2_t __builtin_aarch64_sqmovnv2di (__Int64x2_t); +__Uint8x8_t __builtin_aarch64_uqmovnv8hi (__Int16x8_t); +__Uint16x4_t __builtin_aarch64_uqmovnv4si (__Int32x4_t); +__Uint32x2_t __builtin_aarch64_uqmovnv2di (__Int64x2_t); +__Uint8x8_t __builtin_aarch64_sqmovunv8hi (__Int16x8_t); +__Uint16x4_t __builtin_aarch64_sqmovunv4si (__Int32x4_t); +__Uint32x2_t __builtin_aarch64_sqmovunv2di (__Int64x2_t); +__Int64x2_t __builtin_aarch64_sqnegv2di (__Int64x2_t); +__Int8x8_t __builtin_aarch64_sqrshrn_nv8hi (__Int16x8_t, const int); +__Int16x4_t __builtin_aarch64_sqrshrn_nv4si (__Int32x4_t, const int); +__Int32x2_t __builtin_aarch64_sqrshrn_nv2di (__Int64x2_t, const int); +__Uint8x8_t __builtin_aarch64_sqrshrun_nv8hi (__Int16x8_t, const int); +__Uint16x4_t __builtin_aarch64_sqrshrun_nv4si (__Int32x4_t, const int); +__Uint32x2_t __builtin_aarch64_sqrshrun_nv2di (__Int64x2_t, const int); +__Int8x8_t __builtin_aarch64_sqshl_nv8qi (__Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_sqshl_nv4hi (__Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_sqshl_nv2si (__Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_sqshl_nv16qi (__Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_sqshl_nv8hi (__Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_sqshl_nv4si (__Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_sqshl_nv2di (__Int64x2_t, const int); +__Int8x8_t __builtin_aarch64_sqshrn_nv8hi (__Int16x8_t, const int); +__Int16x4_t __builtin_aarch64_sqshrn_nv4si (__Int32x4_t, const int); +__Int32x2_t __builtin_aarch64_sqshrn_nv2di (__Int64x2_t, const int); +__Uint8x8_t __builtin_aarch64_sqshrun_nv8hi (__Int16x8_t, const int); +__Uint16x4_t __builtin_aarch64_sqshrun_nv4si (__Int32x4_t, const int); +__Uint32x2_t __builtin_aarch64_sqshrun_nv2di (__Int64x2_t, const int); +__Poly8x8_t __builtin_aarch64_rbitv8qi (__Int8x8_t); +__Uint8x8_t __builtin_aarch64_rbitv8qi (__Int8x8_t); +__Poly8x16_t __builtin_aarch64_rbitv16qi (__Int8x16_t); +__Uint8x16_t __builtin_aarch64_rbitv16qi (__Int8x16_t); +__Uint32x2_t __builtin_aarch64_urecpev2si (__Int32x2_t); +__Uint32x4_t __builtin_aarch64_urecpev4si (__Int32x4_t); +__Int8x8_t __builtin_aarch64_srshlv8qi (__Int8x8_t, __Int8x8_t); +__Int16x4_t __builtin_aarch64_srshlv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_srshlv2si (__Int32x2_t, __Int32x2_t); +__Int8x16_t __builtin_aarch64_srshlv16qi (__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_srshlv8hi (__Int16x8_t, __Int16x8_t); +__Int32x4_t __builtin_aarch64_srshlv4si (__Int32x4_t, __Int32x4_t); +__Int64x2_t __builtin_aarch64_srshlv2di (__Int64x2_t, __Int64x2_t); +__Int8x8_t __builtin_aarch64_srshr_nv8qi (__Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_srshr_nv4hi (__Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_srshr_nv2si (__Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_srshr_nv16qi (__Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_srshr_nv8hi (__Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_srshr_nv4si (__Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_srshr_nv2di (__Int64x2_t, const int); +__Int8x8_t __builtin_aarch64_srsra_nv8qi (__Int8x8_t, __Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_srsra_nv4hi (__Int16x4_t, __Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_srsra_nv2si (__Int32x2_t, __Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_srsra_nv16qi (__Int8x16_t, __Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_srsra_nv8hi (__Int16x8_t, __Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_srsra_nv4si (__Int32x4_t, __Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_srsra_nv2di (__Int64x2_t, __Int64x2_t, const int); +__Int8x8_t __builtin_aarch64_ashlv8qi (__Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_ashlv4hi (__Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_ashlv2si (__Int32x2_t, const int); +__Uint8x8_t __builtin_aarch64_ashlv8qi (__Int8x8_t, const int); +__Uint16x4_t __builtin_aarch64_ashlv4hi (__Int16x4_t, const int); +__Uint32x2_t __builtin_aarch64_ashlv2si (__Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_ashlv16qi (__Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_ashlv8hi (__Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_ashlv4si (__Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_ashlv2di (__Int64x2_t, const int); +__Uint8x16_t __builtin_aarch64_ashlv16qi (__Int8x16_t, const int); +__Uint16x8_t __builtin_aarch64_ashlv8hi (__Int16x8_t, const int); +__Uint32x4_t __builtin_aarch64_ashlv4si (__Int32x4_t, const int); +__Uint64x2_t __builtin_aarch64_ashlv2di (__Int64x2_t, const int); +__Uint16x8_t __builtin_aarch64_ushll2_nv16qi (__Int8x16_t, const int); +__Uint32x4_t __builtin_aarch64_ushll2_nv8hi (__Int16x8_t, const int); +__Uint64x2_t __builtin_aarch64_ushll2_nv4si (__Int32x4_t, const int); +__Int8x8_t __builtin_aarch64_ashrv8qi (__Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_ashrv4hi (__Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_ashrv2si (__Int32x2_t, const int); +__Uint8x8_t __builtin_aarch64_lshrv8qi (__Int8x8_t, const int); +__Uint16x4_t __builtin_aarch64_lshrv4hi (__Int16x4_t, const int); +__Uint32x2_t __builtin_aarch64_lshrv2si (__Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_ashrv16qi (__Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_ashrv8hi (__Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_ashrv4si (__Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_ashrv2di (__Int64x2_t, const int); +__Uint8x16_t __builtin_aarch64_lshrv16qi (__Int8x16_t, const int); +__Uint16x8_t __builtin_aarch64_lshrv8hi (__Int16x8_t, const int); +__Int8x8_t __builtin_aarch64_ssli_nv8qi (__Int8x8_t, __Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_ssli_nv4hi (__Int16x4_t, __Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_ssli_nv2si (__Int32x2_t, __Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_ssli_nv16qi (__Int8x16_t, __Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_ssli_nv8hi (__Int16x8_t, __Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_ssli_nv4si (__Int32x4_t, __Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_ssli_nv2di (__Int64x2_t, __Int64x2_t, const int); +__Int8x8_t __builtin_aarch64_ssra_nv8qi (__Int8x8_t, __Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_ssra_nv4hi (__Int16x4_t, __Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_ssra_nv2si (__Int32x2_t, __Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_ssra_nv16qi (__Int8x16_t, __Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_ssra_nv8hi (__Int16x8_t, __Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_ssra_nv4si (__Int32x4_t, __Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_ssra_nv2di (__Int64x2_t, __Int64x2_t, const int); +__Int8x8_t __builtin_aarch64_ssri_nv8qi (__Int8x8_t, __Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_ssri_nv4hi (__Int16x4_t, __Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_ssri_nv2si (__Int32x2_t, __Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_ssri_nv16qi (__Int8x16_t, __Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_ssri_nv8hi (__Int16x8_t, __Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_ssri_nv4si (__Int32x4_t, __Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_ssri_nv2di (__Int64x2_t, __Int64x2_t, const int); +__Uint8x8_t __builtin_aarch64_uqaddv8qi_uuu (__Uint8x8_t, __Uint8x8_t); +__Uint32x2_t __builtin_aarch64_uqaddv2si_uuu (__Uint32x2_t, __Uint32x2_t); +__Uint8x16_t __builtin_aarch64_uqaddv16qi_uuu (__Uint8x16_t, __Uint8x16_t); +__Uint16x8_t __builtin_aarch64_uqaddv8hi_uuu (__Uint16x8_t, __Uint16x8_t); +__Uint32x4_t __builtin_aarch64_uqaddv4si_uuu (__Uint32x4_t, __Uint32x4_t); +__Uint64x2_t __builtin_aarch64_uqaddv2di_uuu (__Uint64x2_t, __Uint64x2_t); +__Uint8x8_t __builtin_aarch64_uqsubv8qi_uuu (__Uint8x8_t, __Uint8x8_t); +__Uint16x4_t __builtin_aarch64_uqsubv4hi_uuu (__Uint16x4_t, __Uint16x4_t); +__Uint32x2_t __builtin_aarch64_uqsubv2si_uuu (__Uint32x2_t, __Uint32x2_t); +__Uint8x16_t __builtin_aarch64_uqsubv16qi_uuu (__Uint8x16_t, __Uint8x16_t); +__Uint16x8_t __builtin_aarch64_uqsubv8hi_uuu (__Uint16x8_t, __Uint16x8_t); +__Uint32x4_t __builtin_aarch64_uqsubv4si_uuu (__Uint32x4_t, __Uint32x4_t); +__Uint64x2_t __builtin_aarch64_uqsubv2di_uuu (__Uint64x2_t, __Uint64x2_t); +__Float16x8_t __builtin_aarch64_combinev4hf (__Float16x4_t, __Float16x4_t); +__Uint16x4_t __builtin_aarch64_uqaddv4hi_uuu(__Uint16x4_t, __Uint16x4_t); +__Int16x4_t __builtin_aarch64_sqdmulh_laneqv4hi(__Int16x4_t, __Int16x8_t, const int); +__Int32x2_t __builtin_aarch64_sqdmulh_laneqv2si(__Int32x2_t, __Int32x4_t, const int); +__Int16x8_t __builtin_aarch64_sqdmulh_laneqv8hi(__Int16x8_t, __Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_sqdmulh_laneqv4si(__Int32x4_t, __Int32x4_t, const int); +__Int16x4_t __builtin_aarch64_sqrdmulh_laneqv4hi(__Int16x4_t, __Int16x8_t, const int); +__Int32x2_t __builtin_aarch64_sqrdmulh_laneqv2si(__Int32x2_t, __Int32x4_t, const int); +__Int16x8_t __builtin_aarch64_sqrdmulh_laneqv8hi(__Int16x8_t, __Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_sqrdmulh_laneqv4si(__Int32x4_t, __Int32x4_t, const int); +__Uint16x4_t __builtin_aarch64_uqaddv4hi_uuu (__Uint16x4_t __a, __Uint16x4_t __b); +__Int64x2_t __builtin_aarch64_combinedi (long int, long int); +__Float64x2_t __builtin_aarch64_combinedf (float , float); +__Int16x4_t __builtin_aarch64_sqdmulh_laneqv4hi (__Int16x4_t __a, __Int16x8_t __b, const int __c); +__Int32x2_t __builtin_aarch64_sqdmulh_laneqv2si (__Int32x2_t __a, __Int32x4_t __b, const int __c); +__Int16x8_t __builtin_aarch64_sqdmulh_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, const int __c); +__Int32x4_t __builtin_aarch64_sqdmulh_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, const int __c); +__Int16x4_t __builtin_aarch64_sqrdmulh_laneqv4hi (__Int16x4_t __a, __Int16x8_t __b, const int __c); +__Int32x2_t __builtin_aarch64_sqrdmulh_laneqv2si (__Int32x2_t __a, __Int32x4_t __b, const int __c); +__Int16x8_t __builtin_aarch64_sqrdmulh_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, const int __c); +__Int32x4_t __builtin_aarch64_sqrdmulh_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, const int __c); +__Int8x8_t __builtin_aarch64_absv8qi (__Int8x8_t __a); +__Int16x4_t __builtin_aarch64_absv4hi (__Int16x4_t __a); +__Int32x2_t __builtin_aarch64_absv2si (__Int32x2_t __a); +__Float32x4_t __builtin_aarch64_absv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_absv2df (__Float64x2_t __a); +__Int8x16_t __builtin_aarch64_absv16qi (__Int8x16_t __a); +__Int16x8_t __builtin_aarch64_absv8hi (__Int16x8_t __a); +__Int32x4_t __builtin_aarch64_absv4si (__Int32x4_t __a); +__Int64x2_t __builtin_aarch64_absv2di (__Int64x2_t __a); +__Float32x2_t __builtin_aarch64_simd_bslv2sf_suss (__Uint32x2_t __a, __Float32x2_t __b, __Float32x2_t __c); +__Poly8x8_t __builtin_aarch64_simd_bslv8qi_pupp (__Uint8x8_t __a, __Poly8x8_t __b, __Poly8x8_t __c); +__Poly16x4_t __builtin_aarch64_simd_bslv4hi_pupp (__Uint16x4_t __a, __Poly16x4_t __b, __Poly16x4_t __c); +__Int8x8_t __builtin_aarch64_simd_bslv8qi_suss (__Uint8x8_t __a, __Int8x8_t __b, __Int8x8_t __c); +__Int16x4_t __builtin_aarch64_simd_bslv4hi_suss (__Uint16x4_t __a, __Int16x4_t __b, __Int16x4_t __c); +__Int32x2_t __builtin_aarch64_simd_bslv2si_suss (__Uint32x2_t __a, __Int32x2_t __b, __Int32x2_t __c); +__Uint8x8_t __builtin_aarch64_simd_bslv8qi_uuuu (__Uint8x8_t __a, __Uint8x8_t __b, __Uint8x8_t __c); +__Uint16x4_t __builtin_aarch64_simd_bslv4hi_uuuu (__Uint16x4_t __a, __Uint16x4_t __b, __Uint16x4_t __c); +__Uint32x2_t __builtin_aarch64_simd_bslv2si_uuuu (__Uint32x2_t __a, __Uint32x2_t __b, __Uint32x2_t __c); +__Float32x4_t __builtin_aarch64_simd_bslv4sf_suss (__Uint32x4_t __a, __Float32x4_t __b, __Float32x4_t __c); +__Float64x2_t __builtin_aarch64_simd_bslv2df_suss (__Uint64x2_t __a, __Float64x2_t __b, __Float64x2_t __c); +__Poly8x16_t __builtin_aarch64_simd_bslv16qi_pupp (__Uint8x16_t __a, __Poly8x16_t __b, __Poly8x16_t __c); +__Poly16x8_t __builtin_aarch64_simd_bslv8hi_pupp (__Uint16x8_t __a, __Poly16x8_t __b, __Poly16x8_t __c); +__Int8x16_t __builtin_aarch64_simd_bslv16qi_suss (__Uint8x16_t __a, __Int8x16_t __b, __Int8x16_t __c); +__Int16x8_t __builtin_aarch64_simd_bslv8hi_suss (__Uint16x8_t __a, __Int16x8_t __b, __Int16x8_t __c); +__Int32x4_t __builtin_aarch64_simd_bslv4si_suss (__Uint32x4_t __a, __Int32x4_t __b, __Int32x4_t __c); +__Int64x2_t __builtin_aarch64_simd_bslv2di_suss (__Uint64x2_t __a, __Int64x2_t __b, __Int64x2_t __c); +__Uint8x16_t __builtin_aarch64_simd_bslv16qi_uuuu (__Uint8x16_t __a, __Uint8x16_t __b, __Uint8x16_t __c); +__Uint16x8_t __builtin_aarch64_simd_bslv8hi_uuuu (__Uint16x8_t __a, __Uint16x8_t __b, __Uint16x8_t __c); +__Uint32x4_t __builtin_aarch64_simd_bslv4si_uuuu (__Uint32x4_t __a, __Uint32x4_t __b, __Uint32x4_t __c); +__Uint64x2_t __builtin_aarch64_simd_bslv2di_uuuu (__Uint64x2_t __a, __Uint64x2_t __b, __Uint64x2_t __c); +__Int16x4_t __builtin_aarch64_sqrdmlahv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c); +__Int32x2_t __builtin_aarch64_sqrdmlahv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c); +__Int16x8_t __builtin_aarch64_sqrdmlahv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c); +__Int32x4_t __builtin_aarch64_sqrdmlahv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c); +__Int16x4_t __builtin_aarch64_sqrdmlshv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c); +__Int32x2_t __builtin_aarch64_sqrdmlshv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c); +__Int16x8_t __builtin_aarch64_sqrdmlshv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c); +__Int32x4_t __builtin_aarch64_sqrdmlshv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c); +__Int16x4_t __builtin_aarch64_sqrdmlah_laneqv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x8_t __c, const int __d); +__Int32x2_t __builtin_aarch64_sqrdmlah_laneqv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x4_t __c, const int __d); +__Int16x8_t __builtin_aarch64_sqrdmlah_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c, const int __d); +__Int32x4_t __builtin_aarch64_sqrdmlah_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c, const int __d); +__Int16x4_t __builtin_aarch64_sqrdmlsh_laneqv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x8_t __c, const int __d); +__Int32x2_t __builtin_aarch64_sqrdmlsh_laneqv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x4_t __c, const int __d); +__Int16x8_t __builtin_aarch64_sqrdmlsh_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c, const int __d); +__Int32x4_t __builtin_aarch64_sqrdmlsh_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c, const int __d); +__Int16x4_t __builtin_aarch64_sqrdmlah_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c, const int __d); +__Int32x2_t __builtin_aarch64_sqrdmlah_lanev2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c, const int __d); +__Int16x8_t __builtin_aarch64_sqrdmlah_lanev8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x4_t __c, const int __d); +__Int32x4_t __builtin_aarch64_sqrdmlah_lanev4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x2_t __c, const int __d); +__Int16x4_t __builtin_aarch64_sqrdmlsh_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c, const int __d); +__Int32x2_t __builtin_aarch64_sqrdmlsh_lanev2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c, const int __d); +__Int16x8_t __builtin_aarch64_sqrdmlsh_lanev8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x4_t __c, const int __d); +__Int32x4_t __builtin_aarch64_sqrdmlsh_lanev4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x2_t __c, const int __d); +__Uint8x16_t __builtin_aarch64_crypto_aesev16qi_uuu (__Uint8x16_t data, __Uint8x16_t key); +__Uint8x16_t __builtin_aarch64_crypto_aesdv16qi_uuu (__Uint8x16_t data, __Uint8x16_t key); +__Uint8x16_t __builtin_aarch64_crypto_aesmcv16qi_uu (__Uint8x16_t data); +__Uint8x16_t __builtin_aarch64_crypto_aesimcv16qi_uu (__Uint8x16_t data); +__Int8x8_t __builtin_aarch64_clrsbv8qi (__Int8x8_t __a); +__Int16x4_t __builtin_aarch64_clrsbv4hi (__Int16x4_t __a); +__Int32x2_t __builtin_aarch64_clrsbv2si (__Int32x2_t __a); +__Int8x16_t __builtin_aarch64_clrsbv16qi (__Int8x16_t __a); +__Int16x8_t __builtin_aarch64_clrsbv8hi (__Int16x8_t __a); +__Int32x4_t __builtin_aarch64_clrsbv4si (__Int32x4_t __a); +__Int8x8_t __builtin_aarch64_clzv8qi (__Int8x8_t __a); +__Int16x4_t __builtin_aarch64_clzv4hi (__Int16x4_t __a); +__Int32x2_t __builtin_aarch64_clzv2si (__Int32x2_t __a); +__Int8x16_t __builtin_aarch64_clzv16qi (__Int8x16_t __a); +__Int16x8_t __builtin_aarch64_clzv8hi (__Int16x8_t __a); +__Int32x4_t __builtin_aarch64_clzv4si (__Int32x4_t __a); +__Int8x8_t __builtin_aarch64_popcountv8qi (__Int8x8_t __a); +__Int8x16_t __builtin_aarch64_popcountv16qi (__Int8x16_t __a); +__Float16x4_t __builtin_aarch64_float_truncate_lo_v4hf (__Float32x4_t __a); +__Float16x8_t __builtin_aarch64_float_truncate_hi_v8hf (__Float16x4_t __a, __Float32x4_t __b); +__Float32x2_t __builtin_aarch64_float_truncate_lo_v2sf (__Float64x2_t __a); +__Float32x4_t __builtin_aarch64_float_truncate_hi_v4sf (__Float32x2_t __a, __Float64x2_t __b); +__Float32x4_t __builtin_aarch64_float_extend_lo_v4sf (__Float16x4_t __a); +__Float64x2_t __builtin_aarch64_float_extend_lo_v2df (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_vec_unpacks_hi_v8hf (__Float16x8_t __a); +__Float64x2_t __builtin_aarch64_vec_unpacks_hi_v4sf (__Float32x4_t __a); +__Float32x2_t __builtin_aarch64_floatv2siv2sf (__Int32x2_t __a); +__Float32x2_t __builtin_aarch64_floatunsv2siv2sf (__Int32x2_t __a); +__Float32x4_t __builtin_aarch64_floatv4siv4sf (__Int32x4_t __a); +__Float32x4_t __builtin_aarch64_floatunsv4siv4sf (__Int32x4_t __a); +__Float64x2_t __builtin_aarch64_floatv2div2df (__Int64x2_t __a); +__Float64x2_t __builtin_aarch64_floatunsv2div2df (__Int64x2_t __a); +__Int32x2_t __builtin_aarch64_lbtruncv2sfv2si (__Float32x2_t __a); +__Uint32x2_t __builtin_aarch64_lbtruncuv2sfv2si_us (__Float32x2_t __a); +__Int32x4_t __builtin_aarch64_lbtruncv4sfv4si (__Float32x4_t __a); +__Uint32x4_t __builtin_aarch64_lbtruncuv4sfv4si_us (__Float32x4_t __a); +__Int64x2_t __builtin_aarch64_lbtruncv2dfv2di (__Float64x2_t __a); +__Uint64x2_t __builtin_aarch64_lbtruncuv2dfv2di_us (__Float64x2_t __a); +__Int32x2_t __builtin_aarch64_lroundv2sfv2si (__Float32x2_t __a); +__Uint32x2_t __builtin_aarch64_lrounduv2sfv2si_us (__Float32x2_t __a); +__Int32x4_t __builtin_aarch64_lroundv4sfv4si (__Float32x4_t __a); +__Uint32x4_t __builtin_aarch64_lrounduv4sfv4si_us (__Float32x4_t __a); +__Int64x2_t __builtin_aarch64_lroundv2dfv2di (__Float64x2_t __a); +__Uint64x2_t __builtin_aarch64_lrounduv2dfv2di_us (__Float64x2_t __a); +__Int32x2_t __builtin_aarch64_lfloorv2sfv2si (__Float32x2_t __a); +__Uint32x2_t __builtin_aarch64_lflooruv2sfv2si_us (__Float32x2_t __a); +__Int32x4_t __builtin_aarch64_lfloorv4sfv4si (__Float32x4_t __a); +__Uint32x4_t __builtin_aarch64_lflooruv4sfv4si_us (__Float32x4_t __a); +__Int64x2_t __builtin_aarch64_lfloorv2dfv2di (__Float64x2_t __a); +__Uint64x2_t __builtin_aarch64_lflooruv2dfv2di_us (__Float64x2_t __a); +__Int32x2_t __builtin_aarch64_lfrintnv2sfv2si (__Float32x2_t __a); +__Uint32x2_t __builtin_aarch64_lfrintnuv2sfv2si_us (__Float32x2_t __a); +__Int32x4_t __builtin_aarch64_lfrintnv4sfv4si (__Float32x4_t __a); +__Uint32x4_t __builtin_aarch64_lfrintnuv4sfv4si_us (__Float32x4_t __a); +__Int64x2_t __builtin_aarch64_lfrintnv2dfv2di (__Float64x2_t __a); +__Uint64x2_t __builtin_aarch64_lfrintnuv2dfv2di_us (__Float64x2_t __a); +__Int32x2_t __builtin_aarch64_lceilv2sfv2si (__Float32x2_t __a); +__Uint32x2_t __builtin_aarch64_lceiluv2sfv2si_us (__Float32x2_t __a); +__Int32x4_t __builtin_aarch64_lceilv4sfv4si (__Float32x4_t __a); +__Uint32x4_t __builtin_aarch64_lceiluv4sfv4si_us (__Float32x4_t __a); +__Int64x2_t __builtin_aarch64_lceilv2dfv2di (__Float64x2_t __a); +__Uint64x2_t __builtin_aarch64_lceiluv2dfv2di_us (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_fmav2sf (__Float32x2_t __a, __Float32x2_t __b, __Float32x2_t __c); +__Float32x4_t __builtin_aarch64_fmav4sf (__Float32x4_t __a, __Float32x4_t __b, __Float32x4_t __c); +__Float64x2_t __builtin_aarch64_fmav2df (__Float64x2_t __a, __Float64x2_t __b, __Float64x2_t __c); +__Float16x4_t __builtin_aarch64_ld1v4hf (const __fp16 *__a); +__Float32x2_t __builtin_aarch64_ld1v2sf (const __builtin_aarch64_simd_sf * a); +__Int8x8_t __builtin_aarch64_ld1v8qi (const __builtin_aarch64_simd_qi * a); +__Int16x4_t __builtin_aarch64_ld1v4hi (const __builtin_aarch64_simd_hi * a); +__Int32x2_t __builtin_aarch64_ld1v2si (const __builtin_aarch64_simd_si * a); +__Float16x8_t __builtin_aarch64_ld1v8hf (const __fp16 *__a); +__Float32x4_t __builtin_aarch64_ld1v4sf (const __builtin_aarch64_simd_sf * a); +__Float64x2_t __builtin_aarch64_ld1v2df (const __builtin_aarch64_simd_df * a); +__Int8x16_t __builtin_aarch64_ld1v16qi (const __builtin_aarch64_simd_qi * a); +__Int16x8_t __builtin_aarch64_ld1v8hi (const __builtin_aarch64_simd_hi * a); +__Int32x4_t __builtin_aarch64_ld1v4si (const __builtin_aarch64_simd_si * a); +__Int64x2_t __builtin_aarch64_ld1v2di (const __builtin_aarch64_simd_di * a); +__Float32x2_t __builtin_aarch64_smax_nanv2sf (__Float32x2_t __a, __Float32x2_t __b); +__Int8x8_t __builtin_aarch64_smaxv8qi (__Int8x8_t __a, __Int8x8_t __b); +__Int16x4_t __builtin_aarch64_smaxv4hi (__Int16x4_t __a, __Int16x4_t __b); +__Int32x2_t __builtin_aarch64_smaxv2si (__Int32x2_t __a, __Int32x2_t __b); +__Float32x4_t __builtin_aarch64_smax_nanv4sf (__Float32x4_t __a, __Float32x4_t __b); +__Float64x2_t __builtin_aarch64_smax_nanv2df (__Float64x2_t __a, __Float64x2_t __b); +__Int8x16_t __builtin_aarch64_smaxv16qi (__Int8x16_t __a, __Int8x16_t __b); +__Int16x8_t __builtin_aarch64_smaxv8hi (__Int16x8_t __a, __Int16x8_t __b); +__Int32x4_t __builtin_aarch64_smaxv4si (__Int32x4_t __a, __Int32x4_t __b); +__Int8x8_t __builtin_aarch64_smaxpv8qi (__Int8x8_t a, __Int8x8_t b); +__Int16x4_t __builtin_aarch64_smaxpv4hi (__Int16x4_t a, __Int16x4_t b); +__Int32x2_t __builtin_aarch64_smaxpv2si (__Int32x2_t a, __Int32x2_t b); +__Int8x16_t __builtin_aarch64_smaxpv16qi (__Int8x16_t a, __Int8x16_t b); +__Int16x8_t __builtin_aarch64_smaxpv8hi (__Int16x8_t a, __Int16x8_t b); +__Int32x4_t __builtin_aarch64_smaxpv4si (__Int32x4_t a, __Int32x4_t b); +__Float32x4_t __builtin_aarch64_smax_nanpv4sf (__Float32x4_t a, __Float32x4_t b); +__Float64x2_t __builtin_aarch64_smax_nanpv2df (__Float64x2_t a, __Float64x2_t b); +__Float32x2_t __builtin_aarch64_smaxpv2sf (__Float32x2_t a, __Float32x2_t b); +__Float32x4_t __builtin_aarch64_smaxpv4sf (__Float32x4_t a, __Float32x4_t b); +__Float64x2_t __builtin_aarch64_smaxpv2df (__Float64x2_t a, __Float64x2_t b); +__Int8x8_t __builtin_aarch64_sminpv8qi (__Int8x8_t a, __Int8x8_t b); +__Int16x4_t __builtin_aarch64_sminpv4hi (__Int16x4_t a, __Int16x4_t b); +__Int32x2_t __builtin_aarch64_sminpv2si (__Int32x2_t a, __Int32x2_t b); +__Int8x16_t __builtin_aarch64_sminpv16qi (__Int8x16_t a, __Int8x16_t b); +__Int16x8_t __builtin_aarch64_sminpv8hi (__Int16x8_t a, __Int16x8_t b); +__Int32x4_t __builtin_aarch64_sminpv4si (__Int32x4_t a, __Int32x4_t b); +__Float32x2_t __builtin_aarch64_smin_nanpv2sf (__Float32x2_t a, __Float32x2_t b); +__Float32x4_t __builtin_aarch64_smin_nanpv4sf (__Float32x4_t a, __Float32x4_t b); +__Float64x2_t __builtin_aarch64_smin_nanpv2df (__Float64x2_t a, __Float64x2_t b); +__Float32x2_t __builtin_aarch64_sminpv2sf (__Float32x2_t a, __Float32x2_t b); +__Float32x4_t __builtin_aarch64_sminpv4sf (__Float32x4_t a, __Float32x4_t b); +__Float64x2_t __builtin_aarch64_sminpv2df (__Float64x2_t a, __Float64x2_t b); +__Float32x2_t __builtin_aarch64_smaxv2sf (__Float32x2_t __a, __Float32x2_t __b); +__Float32x4_t __builtin_aarch64_smaxv4sf (__Float32x4_t __a, __Float32x4_t __b); +__Float64x2_t __builtin_aarch64_smaxv2df (__Float64x2_t __a, __Float64x2_t __b); +__Float32x2_t __builtin_aarch64_smin_nanv2sf (__Float32x2_t __a, __Float32x2_t __b); +__Int8x8_t __builtin_aarch64_sminv8qi (__Int8x8_t __a, __Int8x8_t __b); +__Int16x4_t __builtin_aarch64_sminv4hi (__Int16x4_t __a, __Int16x4_t __b); +__Int32x2_t __builtin_aarch64_sminv2si (__Int32x2_t __a, __Int32x2_t __b); +__Float32x4_t __builtin_aarch64_smin_nanv4sf (__Float32x4_t __a, __Float32x4_t __b); +__Float64x2_t __builtin_aarch64_smin_nanv2df (__Float64x2_t __a, __Float64x2_t __b); +__Int8x16_t __builtin_aarch64_sminv16qi (__Int8x16_t __a, __Int8x16_t __b); +__Int16x8_t __builtin_aarch64_sminv8hi (__Int16x8_t __a, __Int16x8_t __b); +__Int32x4_t __builtin_aarch64_sminv4si (__Int32x4_t __a, __Int32x4_t __b); +__Float32x2_t __builtin_aarch64_sminv2sf (__Float32x2_t __a, __Float32x2_t __b); +__Float32x4_t __builtin_aarch64_sminv4sf (__Float32x4_t __a, __Float32x4_t __b); +__Float64x2_t __builtin_aarch64_sminv2df (__Float64x2_t __a, __Float64x2_t __b); +__Int8x8_t __builtin_aarch64_addpv8qi (__Int8x8_t __a, __Int8x8_t __b); +__Int16x4_t __builtin_aarch64_addpv4hi (__Int16x4_t __a, __Int16x4_t __b); +__Int32x2_t __builtin_aarch64_addpv2si (__Int32x2_t __a, __Int32x2_t __b); +__Int32x4_t __builtin_aarch64_sqdmlalv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c); +__Int32x4_t __builtin_aarch64_sqdmlal2v8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c); +__Int32x4_t __builtin_aarch64_sqdmlal2_lanev8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x4_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlal2_laneqv8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlal2_nv8hi (__Int32x4_t __a, __Int16x8_t __b, short int __c); +__Int32x4_t __builtin_aarch64_sqdmlal_lanev4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlal_laneqv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x8_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlal_nv4hi (__Int32x4_t __a, __Int16x4_t __b, short int __c); +__Int64x2_t __builtin_aarch64_sqdmlalv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c); +__Int64x2_t __builtin_aarch64_sqdmlal2v4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c); +__Int64x2_t __builtin_aarch64_sqdmlal2_lanev4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x2_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlal2_laneqv4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlal2_nv4si (__Int64x2_t __a, __Int32x4_t __b, int __c); +__Int64x2_t __builtin_aarch64_sqdmlal_lanev2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlal_laneqv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x4_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlal_nv2si (__Int64x2_t __a, __Int32x2_t __b, int __c); +__Int32x4_t __builtin_aarch64_sqdmlslv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c); +__Int32x4_t __builtin_aarch64_sqdmlsl2v8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c); +__Int32x4_t __builtin_aarch64_sqdmlsl2_lanev8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x4_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlsl2_laneqv8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlsl2_nv8hi (__Int32x4_t __a, __Int16x8_t __b, short int __c); +__Int32x4_t __builtin_aarch64_sqdmlsl_lanev4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlsl_laneqv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x8_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlsl_nv4hi (__Int32x4_t __a, __Int16x4_t __b, short int __c); +__Int64x2_t __builtin_aarch64_sqdmlslv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c); +__Int64x2_t __builtin_aarch64_sqdmlsl2v4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c); +__Int64x2_t __builtin_aarch64_sqdmlsl2_lanev4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x2_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlsl2_laneqv4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlsl2_nv4si (__Int64x2_t __a, __Int32x4_t __b, int __c); +__Int64x2_t __builtin_aarch64_sqdmlsl_lanev2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlsl_laneqv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x4_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlsl_nv2si (__Int64x2_t __a, __Int32x2_t __b, int __c); +__Int16x4_t __builtin_aarch64_sqdmulh_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, const int __c); +__Int32x2_t __builtin_aarch64_sqdmulh_lanev2si (__Int32x2_t __a, __Int32x2_t __b, const int __c); +__Int16x8_t __builtin_aarch64_sqdmulh_lanev8hi (__Int16x8_t __a, __Int16x4_t __b, const int __c); +__Int32x4_t __builtin_aarch64_sqdmulh_lanev4si (__Int32x4_t __a, __Int32x2_t __b, const int __c); +__Int32x4_t __builtin_aarch64_sqdmullv4hi (__Int16x4_t __a, __Int16x4_t __b); +__Int32x4_t __builtin_aarch64_sqdmull2v8hi (__Int16x8_t __a, __Int16x8_t __b); +__Int32x4_t __builtin_aarch64_sqdmull2_lanev8hi (__Int16x8_t __a, __Int16x4_t __b, int const __c); +__Int32x4_t __builtin_aarch64_sqdmull2_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, int const __c); +__Int32x4_t __builtin_aarch64_sqdmull2_nv8hi (__Int16x8_t __a, short int __b); +__Int32x4_t __builtin_aarch64_sqdmull_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, int const __c); +__Int32x4_t __builtin_aarch64_sqdmull_laneqv4hi (__Int16x4_t __a, __Int16x8_t __b, int const __c); +__Int32x4_t __builtin_aarch64_sqdmull_nv4hi (__Int16x4_t __a, short int __b); +__Int64x2_t __builtin_aarch64_sqdmullv2si (__Int32x2_t __a, __Int32x2_t __b); +__Int64x2_t __builtin_aarch64_sqdmull2v4si (__Int32x4_t __a, __Int32x4_t __b); +__Int64x2_t __builtin_aarch64_sqdmull2_lanev4si (__Int32x4_t __a, __Int32x2_t __b, int const __c); +__Int64x2_t __builtin_aarch64_sqdmull2_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, int const __c); +__Int64x2_t __builtin_aarch64_sqdmull2_nv4si (__Int32x4_t __a, int __b); +__Int64x2_t __builtin_aarch64_sqdmull_lanev2si (__Int32x2_t __a, __Int32x2_t __b, int const __c); +__Int64x2_t __builtin_aarch64_sqdmull_laneqv2si (__Int32x2_t __a, __Int32x4_t __b, int const __c); +__Int64x2_t __builtin_aarch64_sqdmull_nv2si (__Int32x2_t __a, int __b); +__Int16x4_t __builtin_aarch64_sqrdmulh_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, const int __c); +__Int32x2_t __builtin_aarch64_sqrdmulh_lanev2si (__Int32x2_t __a, __Int32x2_t __b, const int __c); +__Int16x8_t __builtin_aarch64_sqrdmulh_lanev8hi (__Int16x8_t __a, __Int16x4_t __b, const int __c); +__Int32x4_t __builtin_aarch64_sqrdmulh_lanev4si (__Int32x4_t __a, __Int32x2_t __b, const int __c); +__Int8x8_t __builtin_aarch64_sqrshlv8qi (__Int8x8_t __a, __Int8x8_t __b); +__Int16x4_t __builtin_aarch64_sqrshlv4hi (__Int16x4_t __a, __Int16x4_t __b); +__Int32x2_t __builtin_aarch64_sqrshlv2si (__Int32x2_t __a, __Int32x2_t __b); +__Uint8x8_t __builtin_aarch64_uqrshlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); +__Uint16x4_t __builtin_aarch64_uqrshlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); +__Uint32x2_t __builtin_aarch64_uqrshlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); +__Int8x16_t __builtin_aarch64_sqrshlv16qi (__Int8x16_t __a, __Int8x16_t __b); +__Int16x8_t __builtin_aarch64_sqrshlv8hi (__Int16x8_t __a, __Int16x8_t __b); +__Int32x4_t __builtin_aarch64_sqrshlv4si (__Int32x4_t __a, __Int32x4_t __b); +__Int64x2_t __builtin_aarch64_sqrshlv2di (__Int64x2_t __a, __Int64x2_t __b); +__Uint8x16_t __builtin_aarch64_uqrshlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); +__Uint16x8_t __builtin_aarch64_uqrshlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); +__Uint32x4_t __builtin_aarch64_uqrshlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); +__Uint64x2_t __builtin_aarch64_uqrshlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); +__Uint8x8_t __builtin_aarch64_uqrshrn_nv8hi_uus (__Uint16x8_t __a, const int __b); +__Uint16x4_t __builtin_aarch64_uqrshrn_nv4si_uus (__Uint32x4_t __a, const int __b); +__Uint32x2_t __builtin_aarch64_uqrshrn_nv2di_uus (__Uint64x2_t __a, const int __b); +__Int8x8_t __builtin_aarch64_sqshlv8qi (__Int8x8_t __a, __Int8x8_t __b); +__Int16x4_t __builtin_aarch64_sqshlv4hi (__Int16x4_t __a, __Int16x4_t __b); +__Int32x2_t __builtin_aarch64_sqshlv2si (__Int32x2_t __a, __Int32x2_t __b); +__Uint8x8_t __builtin_aarch64_uqshlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); +__Uint16x4_t __builtin_aarch64_uqshlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); +__Uint32x2_t __builtin_aarch64_uqshlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); +__Int8x16_t __builtin_aarch64_sqshlv16qi (__Int8x16_t __a, __Int8x16_t __b); +__Int16x8_t __builtin_aarch64_sqshlv8hi (__Int16x8_t __a, __Int16x8_t __b); +__Int32x4_t __builtin_aarch64_sqshlv4si (__Int32x4_t __a, __Int32x4_t __b); +__Int64x2_t __builtin_aarch64_sqshlv2di (__Int64x2_t __a, __Int64x2_t __b); +__Uint8x16_t __builtin_aarch64_uqshlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); +__Uint16x8_t __builtin_aarch64_uqshlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); +__Uint32x4_t __builtin_aarch64_uqshlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); +__Uint64x2_t __builtin_aarch64_uqshlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); +__Uint8x8_t __builtin_aarch64_uqshl_nv8qi_uus (__Uint8x8_t __a, const int __b); +__Uint16x4_t __builtin_aarch64_uqshl_nv4hi_uus (__Uint16x4_t __a, const int __b); +__Uint32x2_t __builtin_aarch64_uqshl_nv2si_uus (__Uint32x2_t __a, const int __b); +__Uint8x16_t __builtin_aarch64_uqshl_nv16qi_uus (__Uint8x16_t __a, const int __b); +__Uint16x8_t __builtin_aarch64_uqshl_nv8hi_uus (__Uint16x8_t __a, const int __b); +__Uint32x4_t __builtin_aarch64_uqshl_nv4si_uus (__Uint32x4_t __a, const int __b); +__Uint64x2_t __builtin_aarch64_uqshl_nv2di_uus (__Uint64x2_t __a, const int __b); +__Uint8x8_t __builtin_aarch64_sqshlu_nv8qi_uss (__Int8x8_t __a, const int __b); +__Uint16x4_t __builtin_aarch64_sqshlu_nv4hi_uss (__Int16x4_t __a, const int __b); +__Uint32x2_t __builtin_aarch64_sqshlu_nv2si_uss (__Int32x2_t __a, const int __b); +__Uint8x16_t __builtin_aarch64_sqshlu_nv16qi_uss (__Int8x16_t __a, const int __b); +__Uint16x8_t __builtin_aarch64_sqshlu_nv8hi_uss (__Int16x8_t __a, const int __b); +__Uint32x4_t __builtin_aarch64_sqshlu_nv4si_uss (__Int32x4_t __a, const int __b); +__Uint64x2_t __builtin_aarch64_sqshlu_nv2di_uss (__Int64x2_t __a, const int __b); +__Uint8x8_t __builtin_aarch64_uqshrn_nv8hi_uus (__Uint16x8_t __a, const int __b); +__Uint16x4_t __builtin_aarch64_uqshrn_nv4si_uus (__Uint32x4_t __a, const int __b); +__Uint32x2_t __builtin_aarch64_uqshrn_nv2di_uus (__Uint64x2_t __a, const int __b); +__Int8x8_t __builtin_aarch64_rbitv8qi (__Int8x8_t __a); +__Int8x16_t __builtin_aarch64_rbitv16qi (__Int8x16_t __a); +__Float32x2_t __builtin_aarch64_frecpev2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_frecpev4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_frecpev2df (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_frecpsv2sf (__Float32x2_t __a, __Float32x2_t __b); +__Float32x4_t __builtin_aarch64_frecpsv4sf (__Float32x4_t __a, __Float32x4_t __b); +__Float64x2_t __builtin_aarch64_frecpsv2df (__Float64x2_t __a, __Float64x2_t __b); +__Float32x2_t __builtin_aarch64_btruncv2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_btruncv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_btruncv2df (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_roundv2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_roundv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_roundv2df (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_nearbyintv2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_nearbyintv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_nearbyintv2df (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_floorv2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_floorv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_floorv2df (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_frintnv2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_frintnv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_frintnv2df (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_ceilv2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_ceilv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_ceilv2df (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_rintv2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_rintv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_rintv2df (__Float64x2_t __a); +__Uint8x8_t __builtin_aarch64_urshlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); +__Uint16x4_t __builtin_aarch64_urshlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); +__Uint32x2_t __builtin_aarch64_urshlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); +__Uint8x16_t __builtin_aarch64_urshlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); +__Uint16x8_t __builtin_aarch64_urshlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); +__Uint32x4_t __builtin_aarch64_urshlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); +__Uint64x2_t __builtin_aarch64_urshlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); +__Uint8x8_t __builtin_aarch64_urshr_nv8qi_uus (__Uint8x8_t __a, const int __b); +__Uint16x4_t __builtin_aarch64_urshr_nv4hi_uus (__Uint16x4_t __a, const int __b); +__Uint32x2_t __builtin_aarch64_urshr_nv2si_uus (__Uint32x2_t __a, const int __b); +__Uint8x16_t __builtin_aarch64_urshr_nv16qi_uus (__Uint8x16_t __a, const int __b); +__Uint16x8_t __builtin_aarch64_urshr_nv8hi_uus (__Uint16x8_t __a, const int __b); +__Uint32x4_t __builtin_aarch64_urshr_nv4si_uus (__Uint32x4_t __a, const int __b); +__Uint64x2_t __builtin_aarch64_urshr_nv2di_uus (__Uint64x2_t __a, const int __b); +__Uint8x8_t __builtin_aarch64_ursra_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); +__Uint16x4_t __builtin_aarch64_ursra_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); +__Uint32x2_t __builtin_aarch64_ursra_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); +__Uint8x16_t __builtin_aarch64_ursra_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); +__Uint16x8_t __builtin_aarch64_ursra_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); +__Uint32x4_t __builtin_aarch64_ursra_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); +__Uint64x2_t __builtin_aarch64_ursra_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); +__Uint32x4_t __builtin_aarch64_crypto_sha1cv4si_uuuu (__Uint32x4_t hash_abcd, unsigned int hash_e, __Uint32x4_t wk); +__Uint32x4_t __builtin_aarch64_crypto_sha1mv4si_uuuu (__Uint32x4_t hash_abcd, unsigned int hash_e, __Uint32x4_t wk); +__Uint32x4_t __builtin_aarch64_crypto_sha1pv4si_uuuu (__Uint32x4_t hash_abcd, unsigned int hash_e, __Uint32x4_t wk); +__Uint32x4_t __builtin_aarch64_crypto_sha1su0v4si_uuuu (__Uint32x4_t w0_3, __Uint32x4_t w4_7, __Uint32x4_t w8_11); +__Uint32x4_t __builtin_aarch64_crypto_sha1su1v4si_uuu (__Uint32x4_t tw0_3, __Uint32x4_t w12_15); +__Uint32x4_t __builtin_aarch64_crypto_sha256hv4si_uuuu (__Uint32x4_t hash_abcd, __Uint32x4_t hash_efgh, __Uint32x4_t wk); +__Uint32x4_t __builtin_aarch64_crypto_sha256h2v4si_uuuu (__Uint32x4_t hash_efgh, __Uint32x4_t hash_abcd, __Uint32x4_t wk); +__Uint32x4_t __builtin_aarch64_crypto_sha256su0v4si_uuu (__Uint32x4_t w0_3, __Uint32x4_t w4_7); +__Uint32x4_t __builtin_aarch64_crypto_sha256su1v4si_uuuu (__Uint32x4_t tw0_3, __Uint32x4_t w8_11, __Uint32x4_t w12_15); +__Poly128_t __builtin_aarch64_crypto_pmullv2di_ppp (__Poly64x2_t a, __Poly64x2_t b); +__Int8x8_t __builtin_aarch64_sshlv8qi (__Int8x8_t __a, __Int8x8_t __b); +__Int16x4_t __builtin_aarch64_sshlv4hi (__Int16x4_t __a, __Int16x4_t __b); +__Int32x2_t __builtin_aarch64_sshlv2si (__Int32x2_t __a, __Int32x2_t __b); +__Uint8x8_t __builtin_aarch64_ushlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); +__Uint16x4_t __builtin_aarch64_ushlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); +__Uint32x2_t __builtin_aarch64_ushlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); +__Int8x16_t __builtin_aarch64_sshlv16qi (__Int8x16_t __a, __Int8x16_t __b); +__Int16x8_t __builtin_aarch64_sshlv8hi (__Int16x8_t __a, __Int16x8_t __b); +__Int32x4_t __builtin_aarch64_sshlv4si (__Int32x4_t __a, __Int32x4_t __b); +__Int64x2_t __builtin_aarch64_sshlv2di (__Int64x2_t __a, __Int64x2_t __b); +__Uint8x16_t __builtin_aarch64_ushlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); +__Uint16x8_t __builtin_aarch64_ushlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); +__Uint32x4_t __builtin_aarch64_ushlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); +__Uint64x2_t __builtin_aarch64_ushlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); +__Int16x8_t __builtin_aarch64_sshll2_nv16qi (__Int8x16_t __a, const int __b); +__Int32x4_t __builtin_aarch64_sshll2_nv8hi (__Int16x8_t __a, const int __b); +__Int64x2_t __builtin_aarch64_sshll2_nv4si (__Int32x4_t __a, const int __b); +__Int16x8_t __builtin_aarch64_sshll_nv8qi (__Int8x8_t __a, const int __b); +__Int32x4_t __builtin_aarch64_sshll_nv4hi (__Int16x4_t __a, const int __b); +__Int64x2_t __builtin_aarch64_sshll_nv2si (__Int32x2_t __a, const int __b); +__Uint16x8_t __builtin_aarch64_ushll_nv8qi_uus (__Uint8x8_t __a, const int __b); +__Uint32x4_t __builtin_aarch64_ushll_nv4hi_uus (__Uint16x4_t __a, const int __b); +__Uint64x2_t __builtin_aarch64_ushll_nv2si_uus (__Uint32x2_t __a, const int __b); +__Int32x4_t __builtin_aarch64_lshrv4si (__Int32x4_t __a, const int __b); +__Int64x2_t __builtin_aarch64_lshrv2di (__Int64x2_t __a, const int __b); +__Uint8x8_t __builtin_aarch64_usli_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); +__Uint16x4_t __builtin_aarch64_usli_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); +__Uint32x2_t __builtin_aarch64_usli_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); +__Uint8x16_t __builtin_aarch64_usli_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); +__Uint16x8_t __builtin_aarch64_usli_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); +__Uint32x4_t __builtin_aarch64_usli_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); +__Uint64x2_t __builtin_aarch64_usli_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); +__Uint8x8_t __builtin_aarch64_usqaddv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); +__Uint16x4_t __builtin_aarch64_usqaddv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); +__Uint32x2_t __builtin_aarch64_usqaddv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); +__Uint8x16_t __builtin_aarch64_usqaddv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); +__Uint16x8_t __builtin_aarch64_usqaddv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); +__Uint32x4_t __builtin_aarch64_usqaddv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); +__Uint64x2_t __builtin_aarch64_usqaddv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); +__Float32x2_t __builtin_aarch64_sqrtv2sf (__Float32x2_t a); +__Float32x4_t __builtin_aarch64_sqrtv4sf (__Float32x4_t a); +__Float64x2_t __builtin_aarch64_sqrtv2df (__Float64x2_t a); +__Uint8x8_t __builtin_aarch64_usra_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); +__Uint16x4_t __builtin_aarch64_usra_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); +__Uint32x2_t __builtin_aarch64_usra_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); +__Uint8x16_t __builtin_aarch64_usra_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); +__Uint16x8_t __builtin_aarch64_usra_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); +__Uint32x4_t __builtin_aarch64_usra_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); +__Uint64x2_t __builtin_aarch64_usra_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); +__Uint8x8_t __builtin_aarch64_usri_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); +__Uint16x4_t __builtin_aarch64_usri_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); +__Uint32x2_t __builtin_aarch64_usri_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); +__Uint8x16_t __builtin_aarch64_usri_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); +__Uint16x8_t __builtin_aarch64_usri_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); +__Uint32x4_t __builtin_aarch64_usri_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); +__Uint64x2_t __builtin_aarch64_usri_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); +__Int8x8_t __builtin_aarch64_suqaddv8qi_ssu (__Int8x8_t __a, __Uint8x8_t __b); +__Int16x4_t __builtin_aarch64_suqaddv4hi_ssu (__Int16x4_t __a, __Uint16x4_t __b); +__Int32x2_t __builtin_aarch64_suqaddv2si_ssu (__Int32x2_t __a, __Uint32x2_t __b); +__Int8x16_t __builtin_aarch64_suqaddv16qi_ssu (__Int8x16_t __a, __Uint8x16_t __b); +__Int16x8_t __builtin_aarch64_suqaddv8hi_ssu (__Int16x8_t __a, __Uint16x8_t __b); +__Int32x4_t __builtin_aarch64_suqaddv4si_ssu (__Int32x4_t __a, __Uint32x4_t __b); +__Int64x2_t __builtin_aarch64_suqaddv2di_ssu (__Int64x2_t __a, __Uint64x2_t __b); +__Poly128_t __builtin_aarch64_crypto_pmulldi_ppp (__Poly64_t a, __Poly64_t b); +__Int8x8_t __builtin_aarch64_tbx4v8qi (__Int8x8_t, __builtin_aarch64_simd_oi, __Int8x8_t); +//end CMPCPP-6477 +void __builtin_aarch64_st2_lanev4hf(__fp16*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev2sf(float*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanedf(double*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev8qi(signed char*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev4hi(short int*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanedi(long int*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev2si(int*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st3_lanev4hf(__fp16*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev2sf(float*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanedf(double*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev8qi(signed char*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev4hi(short int*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanedi(long int*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev2si(int*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st4_lanev4hf(__fp16*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev2sf(float*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanedf(double*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev8qi(signed char*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev4hi(short int*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanedi(long int*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev2si(int*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4hf(const __fp16*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2sf(const float*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanedf(const double*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8qi(const signed char*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4hi(const short int*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanedi(const long int*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2si(const int*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4hf(const __fp16*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2sf(const float*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanedf(const double*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8qi(const signed char*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4hi(const short int*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanedi(const long int*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2si(const int*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4hf(const __fp16*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2sf(const float*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanedf(const double*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8qi(const signed char*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4hi(const short int*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanedi(const long int*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2si(const int*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev16qi(const signed char*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2df(const double*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2di(const long int*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4sf(const float*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4si(const int*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8hf(const __fp16*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8hi(const short int*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev16qi(const signed char*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2df(const double*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2di(const long int*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4sf(const float*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4si(const int*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8hf(const __fp16*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8hi(const short int*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev16qi(const signed char*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2df(const double*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2di(const long int*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4sf(const float*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4si(const int*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8hf(const __fp16*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8hi(const short int*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st2_lanev16qi(signed char*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev2df(double*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev2di(long int*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev4sf(float*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev4si(int*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev8hf(__fp16*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev8hi(short int*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st3_lanev16qi(signed char*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev2df(double*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev2di(long int*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev4sf(float*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev4si(int*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev8hf(__fp16*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev8hi(short int*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st4_lanev16qi(signed char*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev2df(double*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev2di(long int*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev4sf(float*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev4si(int*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev8hf(__fp16*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev8hi(short int*, __builtin_aarch64_simd_xi, int); +__fp16 __builtin_aarch64_abshf(__fp16); +__Float16x4_t __builtin_aarch64_absv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_absv8hf(__Float16x8_t); +long int __builtin_aarch64_addpdi(__Int64x2_t); +long int __builtin_aarch64_ashldi(long int, signed char); +long int __builtin_aarch64_ashr_simddi(long int, int); +__Int8x16_t __builtin_aarch64_bcaxqv16qi(__Int8x16_t, __Int8x16_t, __Int8x16_t); +__Uint8x16_t __builtin_aarch64_bcaxqv16qi_uuuu(__Uint8x16_t, __Uint8x16_t, __Uint8x16_t); +__Int64x2_t __builtin_aarch64_bcaxqv2di(__Int64x2_t, __Int64x2_t, __Int64x2_t); +__Uint64x2_t __builtin_aarch64_bcaxqv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); +__Int32x4_t __builtin_aarch64_bcaxqv4si(__Int32x4_t, __Int32x4_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_bcaxqv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); +__Int16x8_t __builtin_aarch64_bcaxqv8hi(__Int16x8_t, __Int16x8_t, __Int16x8_t); +__Uint16x8_t __builtin_aarch64_bcaxqv8hi_uuuu(__Uint16x8_t, __Uint16x8_t, __Uint16x8_t); +__fp16 __builtin_aarch64_btrunchf(__fp16); +__Float16x4_t __builtin_aarch64_btruncv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_btruncv8hf(__Float16x8_t); +__fp16 __builtin_aarch64_ceilhf(__fp16); +__Float16x4_t __builtin_aarch64_ceilv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_ceilv8hf(__Float16x8_t); +short unsigned int __builtin_aarch64_cmeqhf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_cmeqv4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_cmeqv8hf_uss(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_cmgehf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_cmgev4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_cmgev8hf_uss(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_cmgthf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_cmgtv4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_cmgtv8hf_uss(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_cmlehf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_cmlev4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_cmlev8hf_uss(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_cmlthf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_cmltv4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_cmltv8hf_uss(__Float16x8_t, __Float16x8_t); +__Poly64x2_t __builtin_aarch64_combinedi_ppp(__Poly64_t, __Poly64_t); +unsigned int __builtin_aarch64_crc32b(unsigned int, unsigned char); +unsigned int __builtin_aarch64_crc32cb(unsigned int, unsigned char); +unsigned int __builtin_aarch64_crc32ch(unsigned int, short unsigned int); +unsigned int __builtin_aarch64_crc32cw(unsigned int, unsigned int); +unsigned int __builtin_aarch64_crc32cx(unsigned int, long unsigned int); +unsigned int __builtin_aarch64_crc32h(unsigned int, short unsigned int); +unsigned int __builtin_aarch64_crc32w(unsigned int, unsigned int); +unsigned int __builtin_aarch64_crc32x(unsigned int, long unsigned int); +unsigned int __builtin_aarch64_crypto_sha1hsi_uu(unsigned int); +__Uint64x2_t __builtin_aarch64_crypto_sha512h2qv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); +__Uint64x2_t __builtin_aarch64_crypto_sha512hqv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); +__Uint64x2_t __builtin_aarch64_crypto_sha512su0qv2di_uuu(__Uint64x2_t, __Uint64x2_t); +__Uint64x2_t __builtin_aarch64_crypto_sha512su1qv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); +__Int8x16_t __builtin_aarch64_eor3qv16qi(__Int8x16_t, __Int8x16_t, __Int8x16_t); +__Uint8x16_t __builtin_aarch64_eor3qv16qi_uuuu(__Uint8x16_t, __Uint8x16_t, __Uint8x16_t); +__Int64x2_t __builtin_aarch64_eor3qv2di(__Int64x2_t, __Int64x2_t, __Int64x2_t); +__Uint64x2_t __builtin_aarch64_eor3qv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); +__Int32x4_t __builtin_aarch64_eor3qv4si(__Int32x4_t, __Int32x4_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_eor3qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); +__Int16x8_t __builtin_aarch64_eor3qv8hi(__Int16x8_t, __Int16x8_t, __Int16x8_t); +__Uint16x8_t __builtin_aarch64_eor3qv8hi_uuuu(__Uint16x8_t, __Uint16x8_t, __Uint16x8_t); +double __builtin_aarch64_fabddf(double, double); +__fp16 __builtin_aarch64_fabdhf(__fp16, __fp16); +float __builtin_aarch64_fabdsf(float, float); +__Float64x2_t __builtin_aarch64_fabdv2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fabdv2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fabdv4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fabdv4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fabdv8hf(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_facgehf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_facgev4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_facgev8hf_uss(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_facgthf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_facgtv4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_facgtv8hf_uss(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_faclehf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_faclev4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_faclev8hf_uss(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_faclthf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_facltv4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_facltv8hf_uss(__Float16x8_t, __Float16x8_t); +__Float64x2_t __builtin_aarch64_faddpv2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_faddpv2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_faddpv4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_faddpv4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_faddpv8hf(__Float16x8_t, __Float16x8_t); +__Float64x2_t __builtin_aarch64_fcadd270v2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fcadd270v2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fcadd270v4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fcadd270v4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fcadd270v8hf(__Float16x8_t, __Float16x8_t); +__Float64x2_t __builtin_aarch64_fcadd90v2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fcadd90v2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fcadd90v4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fcadd90v4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fcadd90v8hf(__Float16x8_t, __Float16x8_t); +__Float64x2_t __builtin_aarch64_fcmla0v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fcmla0v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fcmla0v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fcmla0v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fcmla0v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); +__Float64x2_t __builtin_aarch64_fcmla180v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fcmla180v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fcmla180v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fcmla180v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fcmla180v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); +__Float64x2_t __builtin_aarch64_fcmla270v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fcmla270v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fcmla270v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fcmla270v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fcmla270v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); +__Float64x2_t __builtin_aarch64_fcmla90v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fcmla90v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fcmla90v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fcmla90v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fcmla90v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); +__Float32x2_t __builtin_aarch64_fcmla_lane0v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); +__Float16x4_t __builtin_aarch64_fcmla_lane0v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fcmla_lane0v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); +__Float16x8_t __builtin_aarch64_fcmla_lane0v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fcmla_lane180v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); +__Float16x4_t __builtin_aarch64_fcmla_lane180v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fcmla_lane180v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); +__Float16x8_t __builtin_aarch64_fcmla_lane180v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fcmla_lane270v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); +__Float16x4_t __builtin_aarch64_fcmla_lane270v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fcmla_lane270v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); +__Float16x8_t __builtin_aarch64_fcmla_lane270v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fcmla_lane90v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); +__Float16x4_t __builtin_aarch64_fcmla_lane90v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fcmla_lane90v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); +__Float16x8_t __builtin_aarch64_fcmla_lane90v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fcmla_laneq0v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); +__Float16x4_t __builtin_aarch64_fcmla_laneq0v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); +__Float32x2_t __builtin_aarch64_fcmla_laneq180v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); +__Float16x4_t __builtin_aarch64_fcmla_laneq180v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); +__Float32x2_t __builtin_aarch64_fcmla_laneq270v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); +__Float16x4_t __builtin_aarch64_fcmla_laneq270v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); +__Float32x2_t __builtin_aarch64_fcmla_laneq90v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); +__Float16x4_t __builtin_aarch64_fcmla_laneq90v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); +__Float32x4_t __builtin_aarch64_fcmlaq_lane0v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); +__Float16x8_t __builtin_aarch64_fcmlaq_lane0v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fcmlaq_lane180v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); +__Float16x8_t __builtin_aarch64_fcmlaq_lane180v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fcmlaq_lane270v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); +__Float16x8_t __builtin_aarch64_fcmlaq_lane270v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fcmlaq_lane90v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); +__Float16x8_t __builtin_aarch64_fcmlaq_lane90v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); +long int __builtin_aarch64_fcvtzsdf(double, int); +short int __builtin_aarch64_fcvtzshf(__fp16, int); +long int __builtin_aarch64_fcvtzshfdi(__fp16, int); +int __builtin_aarch64_fcvtzshfsi(__fp16, int); +int __builtin_aarch64_fcvtzssf(float, int); +__Int64x2_t __builtin_aarch64_fcvtzsv2df(__Float64x2_t, int); +__Int32x2_t __builtin_aarch64_fcvtzsv2sf(__Float32x2_t, int); +__Int16x4_t __builtin_aarch64_fcvtzsv4hf(__Float16x4_t, int); +__Int32x4_t __builtin_aarch64_fcvtzsv4sf(__Float32x4_t, int); +__Int16x8_t __builtin_aarch64_fcvtzsv8hf(__Float16x8_t, int); +long unsigned int __builtin_aarch64_fcvtzudf_uss(double, int); +long unsigned int __builtin_aarch64_fcvtzuhfdi_uss(__fp16, int); +unsigned int __builtin_aarch64_fcvtzuhfsi_uss(__fp16, int); +short unsigned int __builtin_aarch64_fcvtzuhf_uss(__fp16, int); +unsigned int __builtin_aarch64_fcvtzusf_uss(float, int); +__Uint64x2_t __builtin_aarch64_fcvtzuv2df_uss(__Float64x2_t, int); +__Uint32x2_t __builtin_aarch64_fcvtzuv2sf_uss(__Float32x2_t, int); +__Uint16x4_t __builtin_aarch64_fcvtzuv4hf_uss(__Float16x4_t, int); +__Uint32x4_t __builtin_aarch64_fcvtzuv4sf_uss(__Float32x4_t, int); +__Uint16x8_t __builtin_aarch64_fcvtzuv8hf_uss(__Float16x8_t, int); +long int __builtin_aarch64_fix_trunchfdi(__fp16); +short int __builtin_aarch64_fix_trunchfhi(__fp16); +int __builtin_aarch64_fix_trunchfsi(__fp16); +long unsigned int __builtin_aarch64_fixuns_trunchfdi_us(__fp16); +short unsigned int __builtin_aarch64_fixuns_trunchfhi_us(__fp16); +unsigned int __builtin_aarch64_fixuns_trunchfsi_us(__fp16); +__fp16 __builtin_aarch64_floatdihf(long int); +__fp16 __builtin_aarch64_floathihf(short int); +__fp16 __builtin_aarch64_floatsihf(int); +__fp16 __builtin_aarch64_floatunsdihf_us(long int); +__fp16 __builtin_aarch64_floatunshihf_us(short int); +__fp16 __builtin_aarch64_floatunssihf_us(int); +__Float16x4_t __builtin_aarch64_floatunsv4hiv4hf(__Int16x4_t); +__Float16x8_t __builtin_aarch64_floatunsv8hiv8hf(__Int16x8_t); +__Float16x4_t __builtin_aarch64_floatv4hiv4hf(__Int16x4_t); +__Float16x8_t __builtin_aarch64_floatv8hiv8hf(__Int16x8_t); +__fp16 __builtin_aarch64_floorhf(__fp16); +__Float16x4_t __builtin_aarch64_floorv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_floorv8hf(__Float16x8_t); +__fp16 __builtin_aarch64_fmahf(__fp16, __fp16, __fp16); +__Float16x4_t __builtin_aarch64_fmav4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_fmav8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); +double __builtin_aarch64_fmaxdf(double, double); +__fp16 __builtin_aarch64_fmaxhf(__fp16, __fp16); +__Float64x2_t __builtin_aarch64_fmaxv2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fmaxv2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fmaxv4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fmaxv4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fmaxv8hf(__Float16x8_t, __Float16x8_t); +double __builtin_aarch64_fmindf(double, double); +__fp16 __builtin_aarch64_fminhf(__fp16, __fp16); +__Float64x2_t __builtin_aarch64_fminv2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fminv2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fminv4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fminv4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fminv8hf(__Float16x8_t, __Float16x8_t); +__Float32x2_t __builtin_aarch64_fmlal_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); +__Float32x2_t __builtin_aarch64_fmlal_lane_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); +__Float32x2_t __builtin_aarch64_fmlal_lane_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); +__Float32x2_t __builtin_aarch64_fmlal_laneq_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fmlal_laneq_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fmlal_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fmlalq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); +__Float32x4_t __builtin_aarch64_fmlalq_lane_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fmlalq_lane_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fmlalq_laneq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); +__Float32x4_t __builtin_aarch64_fmlalq_laneq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); +__Float32x4_t __builtin_aarch64_fmlalq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); +__Float32x2_t __builtin_aarch64_fmlsl_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); +__Float32x2_t __builtin_aarch64_fmlsl_lane_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); +__Float32x2_t __builtin_aarch64_fmlsl_lane_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); +__Float32x2_t __builtin_aarch64_fmlsl_laneq_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fmlsl_laneq_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fmlsl_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fmlslq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); +__Float32x4_t __builtin_aarch64_fmlslq_lane_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fmlslq_lane_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fmlslq_laneq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); +__Float32x4_t __builtin_aarch64_fmlslq_laneq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); +__Float32x4_t __builtin_aarch64_fmlslq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); +double __builtin_aarch64_fmulxdf(double, double); +__fp16 __builtin_aarch64_fmulxhf(__fp16, __fp16); +float __builtin_aarch64_fmulxsf(float, float); +__Float64x2_t __builtin_aarch64_fmulxv2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fmulxv2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fmulxv4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fmulxv4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fmulxv8hf(__Float16x8_t, __Float16x8_t); +__fp16 __builtin_aarch64_fnmahf(__fp16, __fp16, __fp16); +__Float16x4_t __builtin_aarch64_fnmav4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_fnmav8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); +double __builtin_aarch64_frecpedf(double); +__fp16 __builtin_aarch64_frecpehf(__fp16); +float __builtin_aarch64_frecpesf(float); +__Float16x4_t __builtin_aarch64_frecpev4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_frecpev8hf(__Float16x8_t); +double __builtin_aarch64_frecpsdf(double, double); +__fp16 __builtin_aarch64_frecpshf(__fp16, __fp16); +float __builtin_aarch64_frecpssf(float, float); +__Float16x4_t __builtin_aarch64_frecpsv4hf(__Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_frecpsv8hf(__Float16x8_t, __Float16x8_t); +double __builtin_aarch64_frecpxdf(double); +__fp16 __builtin_aarch64_frecpxhf(__fp16); +float __builtin_aarch64_frecpxsf(float); +double __builtin_aarch64_frintndf(double); +__fp16 __builtin_aarch64_frintnhf(__fp16); +__Float16x4_t __builtin_aarch64_frintnv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_frintnv8hf(__Float16x8_t); +__Poly64_t __builtin_aarch64_get_dregcidi_pss(__builtin_aarch64_simd_ci, int); +__Poly64_t __builtin_aarch64_get_dregoidi_pss(__builtin_aarch64_simd_oi, int); +__Poly64_t __builtin_aarch64_get_dregxidi_pss(__builtin_aarch64_simd_xi, int); +__Poly64x2_t __builtin_aarch64_get_qregciv2di_pss(__builtin_aarch64_simd_ci, int); +__Poly64x2_t __builtin_aarch64_get_qregoiv2di_pss(__builtin_aarch64_simd_oi, int); +__Poly64x2_t __builtin_aarch64_get_qregxiv2di_pss(__builtin_aarch64_simd_xi, int); +__Uint16x4_t __builtin_aarch64_lbtruncuv4hfv4hi_us(__Float16x4_t); +__Uint16x8_t __builtin_aarch64_lbtruncuv8hfv8hi_us(__Float16x8_t); +__Int16x4_t __builtin_aarch64_lbtruncv4hfv4hi(__Float16x4_t); +__Int16x8_t __builtin_aarch64_lbtruncv8hfv8hi(__Float16x8_t); +long int __builtin_aarch64_lceilhfdi(__fp16); +short int __builtin_aarch64_lceilhfhi(__fp16); +int __builtin_aarch64_lceilhfsi(__fp16); +long unsigned int __builtin_aarch64_lceiludfdi_us(double); +long unsigned int __builtin_aarch64_lceiluhfdi_us(__fp16); +short unsigned int __builtin_aarch64_lceiluhfhi_us(__fp16); +unsigned int __builtin_aarch64_lceiluhfsi_us(__fp16); +unsigned int __builtin_aarch64_lceilusfsi_us(float); +__Uint16x4_t __builtin_aarch64_lceiluv4hfv4hi_us(__Float16x4_t); +__Uint16x8_t __builtin_aarch64_lceiluv8hfv8hi_us(__Float16x8_t); +__Int16x4_t __builtin_aarch64_lceilv4hfv4hi(__Float16x4_t); +__Int16x8_t __builtin_aarch64_lceilv8hfv8hi(__Float16x8_t); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2df(const double*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2di(const long int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v16qi(const signed char*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2df(const double*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2di(const long int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2sf(const float*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2si(const int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4hf(const __fp16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4hi(const short int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4sf(const float*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4si(const int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8hf(const __fp16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8hi(const short int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8qi(const signed char*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3df(const double*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3di(const long int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v16qi(const signed char*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2df(const double*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2di(const long int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2sf(const float*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2si(const int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4hf(const __fp16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4hi(const short int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4sf(const float*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4si(const int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8hf(const __fp16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8hi(const short int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8qi(const signed char*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2df(const double*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2di(const long int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rdf(const double*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rdi(const long int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv16qi(const signed char*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2df(const double*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2di(const long int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2sf(const float*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2si(const int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4hf(const __fp16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4hi(const short int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4sf(const float*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4si(const int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8hf(const __fp16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8hi(const short int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8qi(const signed char*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v16qi(const signed char*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2df(const double*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2di(const long int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2sf(const float*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2si(const int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4hf(const __fp16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4hi(const short int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4sf(const float*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4si(const int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8hf(const __fp16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8hi(const short int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8qi(const signed char*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3df(const double*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rdf(const double*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rdi(const long int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv16qi(const signed char*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2df(const double*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2di(const long int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2sf(const float*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2si(const int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4hf(const __fp16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4hi(const short int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4sf(const float*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4si(const int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8hf(const __fp16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8hi(const short int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8qi(const signed char*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v16qi(const signed char*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2df(const double*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2di(const long int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2sf(const float*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2si(const int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4hf(const __fp16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4hi(const short int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4sf(const float*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4si(const int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8hf(const __fp16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8hi(const short int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8qi(const signed char*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4df(const double*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4di(const long int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rdf(const double*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rdi(const long int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv16qi(const signed char*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2df(const double*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2di(const long int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2sf(const float*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2si(const int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4hf(const __fp16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4hi(const short int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4sf(const float*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4si(const int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8hf(const __fp16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8hi(const short int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8qi(const signed char*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v16qi(const signed char*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2df(const double*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2di(const long int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2sf(const float*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2si(const int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4hf(const __fp16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4hi(const short int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4sf(const float*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4si(const int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8hf(const __fp16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8hi(const short int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8qi(const signed char*); +long int __builtin_aarch64_lfloorhfdi(__fp16); +short int __builtin_aarch64_lfloorhfhi(__fp16); +int __builtin_aarch64_lfloorhfsi(__fp16); +long unsigned int __builtin_aarch64_lfloorudfdi_us(double); +long unsigned int __builtin_aarch64_lflooruhfdi_us(__fp16); +short unsigned int __builtin_aarch64_lflooruhfhi_us(__fp16); +unsigned int __builtin_aarch64_lflooruhfsi_us(__fp16); +unsigned int __builtin_aarch64_lfloorusfsi_us(float); +__Uint16x4_t __builtin_aarch64_lflooruv4hfv4hi_us(__Float16x4_t); +__Uint16x8_t __builtin_aarch64_lflooruv8hfv8hi_us(__Float16x8_t); +__Int16x4_t __builtin_aarch64_lfloorv4hfv4hi(__Float16x4_t); +__Int16x8_t __builtin_aarch64_lfloorv8hfv8hi(__Float16x8_t); +long int __builtin_aarch64_lfrintndfdi(double); +long int __builtin_aarch64_lfrintnhfdi(__fp16); +short int __builtin_aarch64_lfrintnhfhi(__fp16); +int __builtin_aarch64_lfrintnhfsi(__fp16); +int __builtin_aarch64_lfrintnsfsi(float); +long unsigned int __builtin_aarch64_lfrintnudfdi_us(double); +long unsigned int __builtin_aarch64_lfrintnuhfdi_us(__fp16); +short unsigned int __builtin_aarch64_lfrintnuhfhi_us(__fp16); +unsigned int __builtin_aarch64_lfrintnuhfsi_us(__fp16); +unsigned int __builtin_aarch64_lfrintnusfsi_us(float); +__Uint16x4_t __builtin_aarch64_lfrintnuv4hfv4hi_us(__Float16x4_t); +__Uint16x8_t __builtin_aarch64_lfrintnuv8hfv8hi_us(__Float16x8_t); +__Int16x4_t __builtin_aarch64_lfrintnv4hfv4hi(__Float16x4_t); +__Int16x8_t __builtin_aarch64_lfrintnv8hfv8hi(__Float16x8_t); +long int __builtin_aarch64_lrounddfdi(double); +long int __builtin_aarch64_lroundhfdi(__fp16); +short int __builtin_aarch64_lroundhfhi(__fp16); +int __builtin_aarch64_lroundhfsi(__fp16); +int __builtin_aarch64_lroundsfsi(float); +long unsigned int __builtin_aarch64_lroundudfdi_us(double); +long unsigned int __builtin_aarch64_lrounduhfdi_us(__fp16); +short unsigned int __builtin_aarch64_lrounduhfhi_us(__fp16); +unsigned int __builtin_aarch64_lrounduhfsi_us(__fp16); +unsigned int __builtin_aarch64_lroundusfsi_us(float); +__Uint16x4_t __builtin_aarch64_lrounduv4hfv4hi_us(__Float16x4_t); +__Uint16x8_t __builtin_aarch64_lrounduv8hfv8hi_us(__Float16x8_t); +__Int16x4_t __builtin_aarch64_lroundv4hfv4hi(__Float16x4_t); +__Int16x8_t __builtin_aarch64_lroundv8hfv8hi(__Float16x8_t); +long unsigned int __builtin_aarch64_lshr_simddi_uus(long unsigned int, int); +__fp16 __builtin_aarch64_nearbyinthf(__fp16); +__Float16x4_t __builtin_aarch64_nearbyintv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_nearbyintv8hf(__Float16x8_t); +__fp16 __builtin_aarch64_neghf(__fp16); +__Int8x16_t __builtin_aarch64_qtbl3v16qi(__builtin_aarch64_simd_ci, __Int8x16_t); +__Int8x8_t __builtin_aarch64_qtbl3v8qi(__builtin_aarch64_simd_ci, __Int8x8_t); +__Int8x16_t __builtin_aarch64_qtbl4v16qi(__builtin_aarch64_simd_xi, __Int8x16_t); +__Int8x8_t __builtin_aarch64_qtbl4v8qi(__builtin_aarch64_simd_xi, __Int8x8_t); +__Int8x16_t __builtin_aarch64_qtbx3v16qi(__Int8x16_t, __builtin_aarch64_simd_ci, __Int8x16_t); +__Int8x8_t __builtin_aarch64_qtbx3v8qi(__Int8x8_t, __builtin_aarch64_simd_ci, __Int8x8_t); +__Int8x16_t __builtin_aarch64_qtbx4v16qi(__Int8x16_t, __builtin_aarch64_simd_xi, __Int8x16_t); +__Int8x8_t __builtin_aarch64_qtbx4v8qi(__Int8x8_t, __builtin_aarch64_simd_xi, __Int8x8_t); +__Uint64x2_t __builtin_aarch64_rax1qv2di_uuu(__Uint64x2_t, __Uint64x2_t); +signed char __builtin_aarch64_reduc_plus_scal_v16qi(__Int8x16_t); +double __builtin_aarch64_reduc_plus_scal_v2df(__Float64x2_t); +long int __builtin_aarch64_reduc_plus_scal_v2di(__Int64x2_t); +float __builtin_aarch64_reduc_plus_scal_v2sf(__Float32x2_t); +int __builtin_aarch64_reduc_plus_scal_v2si(__Int32x2_t); +short int __builtin_aarch64_reduc_plus_scal_v4hi(__Int16x4_t); +float __builtin_aarch64_reduc_plus_scal_v4sf(__Float32x4_t); +int __builtin_aarch64_reduc_plus_scal_v4si(__Int32x4_t); +short int __builtin_aarch64_reduc_plus_scal_v8hi(__Int16x8_t); +signed char __builtin_aarch64_reduc_plus_scal_v8qi(__Int8x8_t); +double __builtin_aarch64_reduc_smax_nan_scal_v2df(__Float64x2_t); +float __builtin_aarch64_reduc_smax_nan_scal_v2sf(__Float32x2_t); +__fp16 __builtin_aarch64_reduc_smax_nan_scal_v4hf(__Float16x4_t); +float __builtin_aarch64_reduc_smax_nan_scal_v4sf(__Float32x4_t); +__fp16 __builtin_aarch64_reduc_smax_nan_scal_v8hf(__Float16x8_t); +signed char __builtin_aarch64_reduc_smax_scal_v16qi(__Int8x16_t); +double __builtin_aarch64_reduc_smax_scal_v2df(__Float64x2_t); +float __builtin_aarch64_reduc_smax_scal_v2sf(__Float32x2_t); +int __builtin_aarch64_reduc_smax_scal_v2si(__Int32x2_t); +__fp16 __builtin_aarch64_reduc_smax_scal_v4hf(__Float16x4_t); +short int __builtin_aarch64_reduc_smax_scal_v4hi(__Int16x4_t); +float __builtin_aarch64_reduc_smax_scal_v4sf(__Float32x4_t); +int __builtin_aarch64_reduc_smax_scal_v4si(__Int32x4_t); +__fp16 __builtin_aarch64_reduc_smax_scal_v8hf(__Float16x8_t); +short int __builtin_aarch64_reduc_smax_scal_v8hi(__Int16x8_t); +signed char __builtin_aarch64_reduc_smax_scal_v8qi(__Int8x8_t); +double __builtin_aarch64_reduc_smin_nan_scal_v2df(__Float64x2_t); +float __builtin_aarch64_reduc_smin_nan_scal_v2sf(__Float32x2_t); +__fp16 __builtin_aarch64_reduc_smin_nan_scal_v4hf(__Float16x4_t); +float __builtin_aarch64_reduc_smin_nan_scal_v4sf(__Float32x4_t); +__fp16 __builtin_aarch64_reduc_smin_nan_scal_v8hf(__Float16x8_t); +signed char __builtin_aarch64_reduc_smin_scal_v16qi(__Int8x16_t); +double __builtin_aarch64_reduc_smin_scal_v2df(__Float64x2_t); +float __builtin_aarch64_reduc_smin_scal_v2sf(__Float32x2_t); +int __builtin_aarch64_reduc_smin_scal_v2si(__Int32x2_t); +__fp16 __builtin_aarch64_reduc_smin_scal_v4hf(__Float16x4_t); +short int __builtin_aarch64_reduc_smin_scal_v4hi(__Int16x4_t); +float __builtin_aarch64_reduc_smin_scal_v4sf(__Float32x4_t); +int __builtin_aarch64_reduc_smin_scal_v4si(__Int32x4_t); +__fp16 __builtin_aarch64_reduc_smin_scal_v8hf(__Float16x8_t); +short int __builtin_aarch64_reduc_smin_scal_v8hi(__Int16x8_t); +signed char __builtin_aarch64_reduc_smin_scal_v8qi(__Int8x8_t); +unsigned char __builtin_aarch64_reduc_umax_scal_v16qi_uu(__Uint8x16_t); +unsigned int __builtin_aarch64_reduc_umax_scal_v2si_uu(__Uint32x2_t); +short unsigned int __builtin_aarch64_reduc_umax_scal_v4hi_uu(__Uint16x4_t); +unsigned int __builtin_aarch64_reduc_umax_scal_v4si_uu(__Uint32x4_t); +short unsigned int __builtin_aarch64_reduc_umax_scal_v8hi_uu(__Uint16x8_t); +unsigned char __builtin_aarch64_reduc_umax_scal_v8qi_uu(__Uint8x8_t); +unsigned char __builtin_aarch64_reduc_umin_scal_v16qi_uu(__Uint8x16_t); +unsigned int __builtin_aarch64_reduc_umin_scal_v2si_uu(__Uint32x2_t); +short unsigned int __builtin_aarch64_reduc_umin_scal_v4hi_uu(__Uint16x4_t); +unsigned int __builtin_aarch64_reduc_umin_scal_v4si_uu(__Uint32x4_t); +short unsigned int __builtin_aarch64_reduc_umin_scal_v8hi_uu(__Uint16x8_t); +unsigned char __builtin_aarch64_reduc_umin_scal_v8qi_uu(__Uint8x8_t); +__fp16 __builtin_aarch64_rinthf(__fp16); +__Float16x4_t __builtin_aarch64_rintv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_rintv8hf(__Float16x8_t); +__fp16 __builtin_aarch64_roundhf(__fp16); +__Float16x4_t __builtin_aarch64_roundv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_roundv8hf(__Float16x8_t); +double __builtin_aarch64_rsqrtedf(double); +__fp16 __builtin_aarch64_rsqrtehf(__fp16); +float __builtin_aarch64_rsqrtesf(float); +__Float64x2_t __builtin_aarch64_rsqrtev2df(__Float64x2_t); +__Float32x2_t __builtin_aarch64_rsqrtev2sf(__Float32x2_t); +__Float16x4_t __builtin_aarch64_rsqrtev4hf(__Float16x4_t); +__Float32x4_t __builtin_aarch64_rsqrtev4sf(__Float32x4_t); +__Float16x8_t __builtin_aarch64_rsqrtev8hf(__Float16x8_t); +double __builtin_aarch64_rsqrtsdf(double, double); +__fp16 __builtin_aarch64_rsqrtshf(__fp16, __fp16); +float __builtin_aarch64_rsqrtssf(float, float); +__Float64x2_t __builtin_aarch64_rsqrtsv2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_rsqrtsv2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_rsqrtsv4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_rsqrtsv4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_rsqrtsv8hf(__Float16x8_t, __Float16x8_t); +double __builtin_aarch64_scvtfdi(long int, int); +__fp16 __builtin_aarch64_scvtfdihf(long int, int); +__fp16 __builtin_aarch64_scvtfhi(short int, int); +float __builtin_aarch64_scvtfsi(int, int); +__fp16 __builtin_aarch64_scvtfsihf(int, int); +__Float64x2_t __builtin_aarch64_scvtfv2di(__Int64x2_t, int); +__Float32x2_t __builtin_aarch64_scvtfv2si(__Int32x2_t, int); +__Float16x4_t __builtin_aarch64_scvtfv4hi(__Int16x4_t, int); +__Float32x4_t __builtin_aarch64_scvtfv4si(__Int32x4_t, int); +__Float16x8_t __builtin_aarch64_scvtfv8hi(__Int16x8_t, int); +__Int32x4_t __builtin_aarch64_sdot_laneqv16qi(__Int32x4_t, __Int8x16_t, __Int8x16_t, int); +__Int32x2_t __builtin_aarch64_sdot_laneqv8qi(__Int32x2_t, __Int8x8_t, __Int8x16_t, int); +__Int32x4_t __builtin_aarch64_sdot_lanev16qi(__Int32x4_t, __Int8x16_t, __Int8x8_t, int); +__Int32x2_t __builtin_aarch64_sdot_lanev8qi(__Int32x2_t, __Int8x8_t, __Int8x8_t, int); +__Int32x4_t __builtin_aarch64_sdotv16qi(__Int32x4_t, __Int8x16_t, __Int8x16_t); +__Int32x2_t __builtin_aarch64_sdotv8qi(__Int32x2_t, __Int8x8_t, __Int8x8_t); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv2di_ssps(__builtin_aarch64_simd_ci, __Poly64x2_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv2di_ssps(__builtin_aarch64_simd_oi, __Poly64x2_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv2di_ssps(__builtin_aarch64_simd_xi, __Poly64x2_t, int); +double __builtin_aarch64_simd_bsldf_suss(long unsigned int, double, double); +__Poly64_t __builtin_aarch64_simd_bsldi_pupp(long unsigned int, __Poly64_t, __Poly64_t); +long int __builtin_aarch64_simd_bsldi_suss(long unsigned int, long int, long int); +long unsigned int __builtin_aarch64_simd_bsldi_uuuu(long unsigned int, long unsigned int, long unsigned int); +__Poly64x2_t __builtin_aarch64_simd_bslv2di_pupp(__Uint64x2_t, __Poly64x2_t, __Poly64x2_t); +__Float16x4_t __builtin_aarch64_simd_bslv4hf_suss(__Uint16x4_t, __Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_simd_bslv8hf_suss(__Uint16x8_t, __Float16x8_t, __Float16x8_t); +__Uint32x4_t __builtin_aarch64_sm3partw1qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); +__Uint32x4_t __builtin_aarch64_sm3partw2qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); +__Uint32x4_t __builtin_aarch64_sm3ss1qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); +__Uint32x4_t __builtin_aarch64_sm3tt1aqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); +__Uint32x4_t __builtin_aarch64_sm3tt1bqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); +__Uint32x4_t __builtin_aarch64_sm3tt2aqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); +__Uint32x4_t __builtin_aarch64_sm3tt2bqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); +__Uint32x4_t __builtin_aarch64_sm4ekeyqv4si_uuu(__Uint32x4_t, __Uint32x4_t); +__Uint32x4_t __builtin_aarch64_sm4eqv4si_uuu(__Uint32x4_t, __Uint32x4_t); +double __builtin_aarch64_smax_nandf(double, double); +__Float16x4_t __builtin_aarch64_smax_nanpv4hf(__Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_smax_nanpv8hf(__Float16x8_t, __Float16x8_t); +__Float16x4_t __builtin_aarch64_smax_nanv4hf(__Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_smax_nanv8hf(__Float16x8_t, __Float16x8_t); +__Float16x4_t __builtin_aarch64_smaxpv4hf(__Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_smaxpv8hf(__Float16x8_t, __Float16x8_t); +double __builtin_aarch64_smin_nandf(double, double); +__Float16x4_t __builtin_aarch64_smin_nanpv4hf(__Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_smin_nanpv8hf(__Float16x8_t, __Float16x8_t); +__Float16x4_t __builtin_aarch64_smin_nanv4hf(__Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_smin_nanv8hf(__Float16x8_t, __Float16x8_t); +__Float16x4_t __builtin_aarch64_sminpv4hf(__Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_sminpv8hf(__Float16x8_t, __Float16x8_t); +long int __builtin_aarch64_sqabsdi(long int); +short int __builtin_aarch64_sqabshi(short int); +signed char __builtin_aarch64_sqabsqi(signed char); +int __builtin_aarch64_sqabssi(int); +long int __builtin_aarch64_sqadddi(long int, long int); +short int __builtin_aarch64_sqaddhi(short int, short int); +signed char __builtin_aarch64_sqaddqi(signed char, signed char); +int __builtin_aarch64_sqaddsi(int, int); +int __builtin_aarch64_sqdmlalhi(int, short int, short int); +int __builtin_aarch64_sqdmlal_lanehi(int, short int, __Int16x4_t, int); +int __builtin_aarch64_sqdmlal_laneqhi(int, short int, __Int16x8_t, int); +long int __builtin_aarch64_sqdmlal_laneqsi(long int, int, __Int32x4_t, int); +long int __builtin_aarch64_sqdmlal_lanesi(long int, int, __Int32x2_t, int); +long int __builtin_aarch64_sqdmlalsi(long int, int, int); +int __builtin_aarch64_sqdmlslhi(int, short int, short int); +int __builtin_aarch64_sqdmlsl_lanehi(int, short int, __Int16x4_t, int); +int __builtin_aarch64_sqdmlsl_laneqhi(int, short int, __Int16x8_t, int); +long int __builtin_aarch64_sqdmlsl_laneqsi(long int, int, __Int32x4_t, int); +long int __builtin_aarch64_sqdmlsl_lanesi(long int, int, __Int32x2_t, int); +long int __builtin_aarch64_sqdmlslsi(long int, int, int); +short int __builtin_aarch64_sqdmulhhi(short int, short int); +short int __builtin_aarch64_sqdmulh_lanehi(short int, __Int16x4_t, int); +short int __builtin_aarch64_sqdmulh_laneqhi(short int, __Int16x8_t, int); +int __builtin_aarch64_sqdmulh_laneqsi(int, __Int32x4_t, int); +int __builtin_aarch64_sqdmulh_lanesi(int, __Int32x2_t, int); +int __builtin_aarch64_sqdmulhsi(int, int); +int __builtin_aarch64_sqdmullhi(short int, short int); +int __builtin_aarch64_sqdmull_lanehi(short int, __Int16x4_t, int); +int __builtin_aarch64_sqdmull_laneqhi(short int, __Int16x8_t, int); +long int __builtin_aarch64_sqdmull_laneqsi(int, __Int32x4_t, int); +long int __builtin_aarch64_sqdmull_lanesi(int, __Int32x2_t, int); +long int __builtin_aarch64_sqdmullsi(int, int); +int __builtin_aarch64_sqmovndi(long int); +signed char __builtin_aarch64_sqmovnhi(short int); +short int __builtin_aarch64_sqmovnsi(int); +int __builtin_aarch64_sqmovundi(long int); +signed char __builtin_aarch64_sqmovunhi(short int); +short int __builtin_aarch64_sqmovunsi(int); +long int __builtin_aarch64_sqnegdi(long int); +short int __builtin_aarch64_sqneghi(short int); +signed char __builtin_aarch64_sqnegqi(signed char); +int __builtin_aarch64_sqnegsi(int); +short int __builtin_aarch64_sqrdmlahhi(short int, short int, short int); +short int __builtin_aarch64_sqrdmlah_lanehi(short int, short int, __Int16x4_t, int); +short int __builtin_aarch64_sqrdmlah_laneqhi(short int, short int, __Int16x8_t, int); +int __builtin_aarch64_sqrdmlah_laneqsi(int, int, __Int32x4_t, int); +int __builtin_aarch64_sqrdmlah_lanesi(int, int, __Int32x2_t, int); +int __builtin_aarch64_sqrdmlahsi(int, int, int); +short int __builtin_aarch64_sqrdmlshhi(short int, short int, short int); +short int __builtin_aarch64_sqrdmlsh_lanehi(short int, short int, __Int16x4_t, int); +short int __builtin_aarch64_sqrdmlsh_laneqhi(short int, short int, __Int16x8_t, int); +int __builtin_aarch64_sqrdmlsh_laneqsi(int, int, __Int32x4_t, int); +int __builtin_aarch64_sqrdmlsh_lanesi(int, int, __Int32x2_t, int); +int __builtin_aarch64_sqrdmlshsi(int, int, int); +short int __builtin_aarch64_sqrdmulhhi(short int, short int); +short int __builtin_aarch64_sqrdmulh_lanehi(short int, __Int16x4_t, int); +short int __builtin_aarch64_sqrdmulh_laneqhi(short int, __Int16x8_t, int); +int __builtin_aarch64_sqrdmulh_laneqsi(int, __Int32x4_t, int); +int __builtin_aarch64_sqrdmulh_lanesi(int, __Int32x2_t, int); +int __builtin_aarch64_sqrdmulhsi(int, int); +long int __builtin_aarch64_sqrshldi(long int, long int); +short int __builtin_aarch64_sqrshlhi(short int, short int); +signed char __builtin_aarch64_sqrshlqi(signed char, signed char); +int __builtin_aarch64_sqrshlsi(int, int); +int __builtin_aarch64_sqrshrn_ndi(long int, int); +signed char __builtin_aarch64_sqrshrn_nhi(short int, int); +short int __builtin_aarch64_sqrshrn_nsi(int, int); +int __builtin_aarch64_sqrshrun_ndi(long int, int); +signed char __builtin_aarch64_sqrshrun_nhi(short int, int); +short int __builtin_aarch64_sqrshrun_nsi(int, int); +double __builtin_aarch64_sqrtdf(double); +__fp16 __builtin_aarch64_sqrthf(__fp16); +__Float16x4_t __builtin_aarch64_sqrtv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_sqrtv8hf(__Float16x8_t); +long int __builtin_aarch64_sqshldi(long int, long int); +short int __builtin_aarch64_sqshlhi(short int, short int); +long int __builtin_aarch64_sqshl_ndi(long int, int); +short int __builtin_aarch64_sqshl_nhi(short int, int); +signed char __builtin_aarch64_sqshl_nqi(signed char, int); +int __builtin_aarch64_sqshl_nsi(int, int); +signed char __builtin_aarch64_sqshlqi(signed char, signed char); +int __builtin_aarch64_sqshlsi(int, int); +long unsigned int __builtin_aarch64_sqshlu_ndi_uss(long int, int); +short unsigned int __builtin_aarch64_sqshlu_nhi_uss(short int, int); +unsigned char __builtin_aarch64_sqshlu_nqi_uss(signed char, int); +unsigned int __builtin_aarch64_sqshlu_nsi_uss(int, int); +int __builtin_aarch64_sqshrn_ndi(long int, int); +signed char __builtin_aarch64_sqshrn_nhi(short int, int); +short int __builtin_aarch64_sqshrn_nsi(int, int); +int __builtin_aarch64_sqshrun_ndi(long int, int); +signed char __builtin_aarch64_sqshrun_nhi(short int, int); +short int __builtin_aarch64_sqshrun_nsi(int, int); +long int __builtin_aarch64_sqsubdi(long int, long int); +short int __builtin_aarch64_sqsubhi(short int, short int); +signed char __builtin_aarch64_sqsubqi(signed char, signed char); +int __builtin_aarch64_sqsubsi(int, int); +long int __builtin_aarch64_srshldi(long int, long int); +long int __builtin_aarch64_srshr_ndi(long int, int); +long int __builtin_aarch64_srsra_ndi(long int, long int, int); +long int __builtin_aarch64_sshldi(long int, long int); +long int __builtin_aarch64_ssli_ndi(long int, long int, int); +__Poly64_t __builtin_aarch64_ssli_ndi_ppps(__Poly64_t, __Poly64_t, int); +__Poly64x2_t __builtin_aarch64_ssli_nv2di_ppps(__Poly64x2_t, __Poly64x2_t, int); +long int __builtin_aarch64_ssra_ndi(long int, long int, int); +long int __builtin_aarch64_ssri_ndi(long int, long int, int); +void __builtin_aarch64_st1v16qi(signed char*, __Int8x16_t); +void __builtin_aarch64_st1v2df(double*, __Float64x2_t); +void __builtin_aarch64_st1v2di(long int*, __Int64x2_t); +void __builtin_aarch64_st1v2di_sp(long int*, __Poly64x2_t); +void __builtin_aarch64_st1v2sf(float*, __Float32x2_t); +void __builtin_aarch64_st1v2si(int*, __Int32x2_t); +void __builtin_aarch64_st1v4hf(__fp16*, __Float16x4_t); +void __builtin_aarch64_st1v4hi(short int*, __Int16x4_t); +void __builtin_aarch64_st1v4sf(float*, __Float32x4_t); +void __builtin_aarch64_st1v4si(int*, __Int32x4_t); +void __builtin_aarch64_st1v8hf(__fp16*, __Float16x8_t); +void __builtin_aarch64_st1v8hi(short int*, __Int16x8_t); +void __builtin_aarch64_st1v8qi(signed char*, __Int8x8_t); +void __builtin_aarch64_st1x2df(double*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2di(long int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v16qi(signed char*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v2df(double*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v2di(long int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v2sf(float*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v2si(int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v4hf(__fp16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v4hi(short int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v4sf(float*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v4si(int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v8hf(__fp16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v8hi(short int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v8qi(signed char*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x3df(double*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3di(long int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v16qi(signed char*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v2df(double*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v2di(long int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v2sf(float*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v2si(int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v4hf(__fp16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v4hi(short int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v4sf(float*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v4si(int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v8hf(__fp16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v8hi(short int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v8qi(signed char*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st2df(double*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2di(long int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v16qi(signed char*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v2df(double*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v2di(long int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v2sf(float*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v2si(int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v4hf(__fp16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v4hi(short int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v4sf(float*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v4si(int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v8hf(__fp16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v8hi(short int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v8qi(signed char*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st3df(double*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3di(long int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v16qi(signed char*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v2df(double*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v2di(long int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v2sf(float*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v2si(int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v4hf(__fp16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v4hi(short int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v4sf(float*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v4si(int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v8hf(__fp16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v8hi(short int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v8qi(signed char*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st4df(double*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4di(long int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v16qi(signed char*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v2df(double*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v2di(long int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v2sf(float*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v2si(int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v4hf(__fp16*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v4hi(short int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v4sf(float*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v4si(int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v8hf(__fp16*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v8hi(short int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v8qi(signed char*, __builtin_aarch64_simd_xi); +long int __builtin_aarch64_suqadddi_ssu(long int, long unsigned int); +short int __builtin_aarch64_suqaddhi_ssu(short int, short unsigned int); +signed char __builtin_aarch64_suqaddqi_ssu(signed char, unsigned char); +int __builtin_aarch64_suqaddsi_ssu(int, unsigned int); +__Int8x16_t __builtin_aarch64_tbl3v16qi(__builtin_aarch64_simd_oi, __Int8x16_t); +__Int8x16_t __builtin_aarch64_tbx4v16qi(__Int8x16_t, __builtin_aarch64_simd_oi, __Int8x16_t); +__fp16 __builtin_aarch64_ucvtfdihf_sus(long unsigned int, int); +double __builtin_aarch64_ucvtfdi_sus(long unsigned int, int); +__fp16 __builtin_aarch64_ucvtfhi_sus(short unsigned int, int); +__fp16 __builtin_aarch64_ucvtfsihf_sus(unsigned int, int); +float __builtin_aarch64_ucvtfsi_sus(unsigned int, int); +__Float64x2_t __builtin_aarch64_ucvtfv2di_sus(__Uint64x2_t, int); +__Float32x2_t __builtin_aarch64_ucvtfv2si_sus(__Uint32x2_t, int); +__Float16x4_t __builtin_aarch64_ucvtfv4hi_sus(__Uint16x4_t, int); +__Float32x4_t __builtin_aarch64_ucvtfv4si_sus(__Uint32x4_t, int); +__Float16x8_t __builtin_aarch64_ucvtfv8hi_sus(__Uint16x8_t, int); +__Uint32x4_t __builtin_aarch64_udot_laneqv16qi_uuuus(__Uint32x4_t, __Uint8x16_t, __Uint8x16_t, int); +__Uint32x2_t __builtin_aarch64_udot_laneqv8qi_uuuus(__Uint32x2_t, __Uint8x8_t, __Uint8x16_t, int); +__Uint32x4_t __builtin_aarch64_udot_lanev16qi_uuuus(__Uint32x4_t, __Uint8x16_t, __Uint8x8_t, int); +__Uint32x2_t __builtin_aarch64_udot_lanev8qi_uuuus(__Uint32x2_t, __Uint8x8_t, __Uint8x8_t, int); +__Uint32x4_t __builtin_aarch64_udotv16qi_uuuu(__Uint32x4_t, __Uint8x16_t, __Uint8x16_t); +__Uint32x2_t __builtin_aarch64_udotv8qi_uuuu(__Uint32x2_t, __Uint8x8_t, __Uint8x8_t); +long unsigned int __builtin_aarch64_uqadddi_uuu(long unsigned int, long unsigned int); +short unsigned int __builtin_aarch64_uqaddhi_uuu(short unsigned int, short unsigned int); +unsigned char __builtin_aarch64_uqaddqi_uuu(unsigned char, unsigned char); +unsigned int __builtin_aarch64_uqaddsi_uuu(unsigned int, unsigned int); +int __builtin_aarch64_uqmovndi(long int); +signed char __builtin_aarch64_uqmovnhi(short int); +short int __builtin_aarch64_uqmovnsi(int); +long unsigned int __builtin_aarch64_uqrshldi_uus(long unsigned int, long int); +short unsigned int __builtin_aarch64_uqrshlhi_uus(short unsigned int, short int); +unsigned char __builtin_aarch64_uqrshlqi_uus(unsigned char, signed char); +unsigned int __builtin_aarch64_uqrshlsi_uus(unsigned int, int); +unsigned int __builtin_aarch64_uqrshrn_ndi_uus(long unsigned int, int); +unsigned char __builtin_aarch64_uqrshrn_nhi_uus(short unsigned int, int); +short unsigned int __builtin_aarch64_uqrshrn_nsi_uus(unsigned int, int); +long unsigned int __builtin_aarch64_uqshldi_uus(long unsigned int, long int); +short unsigned int __builtin_aarch64_uqshlhi_uus(short unsigned int, short int); +long unsigned int __builtin_aarch64_uqshl_ndi_uus(long unsigned int, int); +short unsigned int __builtin_aarch64_uqshl_nhi_uus(short unsigned int, int); +unsigned char __builtin_aarch64_uqshl_nqi_uus(unsigned char, int); +unsigned int __builtin_aarch64_uqshl_nsi_uus(unsigned int, int); +unsigned char __builtin_aarch64_uqshlqi_uus(unsigned char, signed char); +unsigned int __builtin_aarch64_uqshlsi_uus(unsigned int, int); +unsigned int __builtin_aarch64_uqshrn_ndi_uus(long unsigned int, int); +unsigned char __builtin_aarch64_uqshrn_nhi_uus(short unsigned int, int); +short unsigned int __builtin_aarch64_uqshrn_nsi_uus(unsigned int, int); +long unsigned int __builtin_aarch64_uqsubdi_uuu(long unsigned int, long unsigned int); +short unsigned int __builtin_aarch64_uqsubhi_uuu(short unsigned int, short unsigned int); +unsigned char __builtin_aarch64_uqsubqi_uuu(unsigned char, unsigned char); +unsigned int __builtin_aarch64_uqsubsi_uuu(unsigned int, unsigned int); +long unsigned int __builtin_aarch64_urshldi_uus(long unsigned int, long int); +long unsigned int __builtin_aarch64_urshr_ndi_uus(long unsigned int, int); +long unsigned int __builtin_aarch64_ursra_ndi_uuus(long unsigned int, long unsigned int, int); +long unsigned int __builtin_aarch64_ushldi_uus(long unsigned int, long int); +long unsigned int __builtin_aarch64_usli_ndi_uuus(long unsigned int, long unsigned int, int); +long unsigned int __builtin_aarch64_usqadddi_uus(long unsigned int, long int); +short unsigned int __builtin_aarch64_usqaddhi_uus(short unsigned int, short int); +unsigned char __builtin_aarch64_usqaddqi_uus(unsigned char, signed char); +unsigned int __builtin_aarch64_usqaddsi_uus(unsigned int, int); +long unsigned int __builtin_aarch64_usra_ndi_uuus(long unsigned int, long unsigned int, int); +long unsigned int __builtin_aarch64_usri_ndi_uuus(long unsigned int, long unsigned int, int); +__Uint64x2_t __builtin_aarch64_xarqv2di_uuus(__Uint64x2_t, __Uint64x2_t, int); + +void* __builtin_aarch64_autia1716(void*, long unsigned int); +void* __builtin_aarch64_autib1716(void*, long unsigned int); +__bf16 __builtin_aarch64_bfcvtbf(float); +__Bfloat16x8_t __builtin_aarch64_bfcvtn2v8bf(__Bfloat16x8_t, __Float32x4_t); +__Bfloat16x8_t __builtin_aarch64_bfcvtn_qv8bf(__Float32x4_t); +__Bfloat16x4_t __builtin_aarch64_bfcvtnv4bf(__Float32x4_t); +__Float32x2_t __builtin_aarch64_bfdot_laneqv2sf(__Float32x2_t, __Bfloat16x4_t, __Bfloat16x8_t, int); +__Float32x4_t __builtin_aarch64_bfdot_laneqv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t, int); +__Float32x2_t __builtin_aarch64_bfdot_lanev2sf(__Float32x2_t, __Bfloat16x4_t, __Bfloat16x4_t, int); +__Float32x4_t __builtin_aarch64_bfdot_lanev4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x4_t, int); +__Float32x2_t __builtin_aarch64_bfdotv2sf(__Float32x2_t, __Bfloat16x4_t, __Bfloat16x4_t); +__Float32x4_t __builtin_aarch64_bfdotv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); +__Float32x4_t __builtin_aarch64_bfmlalb_lane_qv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t, int); +__Float32x4_t __builtin_aarch64_bfmlalb_lanev4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x4_t, int); +__Float32x4_t __builtin_aarch64_bfmlalbv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); +__Float32x4_t __builtin_aarch64_bfmlalt_lane_qv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t, int); +__Float32x4_t __builtin_aarch64_bfmlalt_lanev4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x4_t, int); +__Float32x4_t __builtin_aarch64_bfmlaltv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); +__Float32x4_t __builtin_aarch64_bfmmlaqv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); +__Uint64x2_t __builtin_aarch64_bswapv2di_uu(__Uint64x2_t); +__Uint32x2_t __builtin_aarch64_bswapv2si_uu(__Uint32x2_t); +__Uint16x4_t __builtin_aarch64_bswapv4hi_uu(__Uint16x4_t); +__Uint32x4_t __builtin_aarch64_bswapv4si_uu(__Uint32x4_t); +__Uint16x8_t __builtin_aarch64_bswapv8hi_uu(__Uint16x8_t); +long unsigned int __builtin_aarch64_cmeqdf_uss(double, double); +unsigned int __builtin_aarch64_cmeqsf_uss(float, float); +__Uint64x2_t __builtin_aarch64_cmeqv2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_cmeqv2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_cmeqv4sf_uss(__Float32x4_t, __Float32x4_t); +long unsigned int __builtin_aarch64_cmgedf_uss(double, double); +unsigned int __builtin_aarch64_cmgesf_uss(float, float); +__Uint64x2_t __builtin_aarch64_cmgev2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_cmgev2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_cmgev4sf_uss(__Float32x4_t, __Float32x4_t); +long unsigned int __builtin_aarch64_cmgtdf_uss(double, double); +unsigned int __builtin_aarch64_cmgtsf_uss(float, float); +__Uint64x2_t __builtin_aarch64_cmgtv2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_cmgtv2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_cmgtv4sf_uss(__Float32x4_t, __Float32x4_t); +long unsigned int __builtin_aarch64_cmledf_uss(double, double); +unsigned int __builtin_aarch64_cmlesf_uss(float, float); +__Uint64x2_t __builtin_aarch64_cmlev2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_cmlev2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_cmlev4sf_uss(__Float32x4_t, __Float32x4_t); +long unsigned int __builtin_aarch64_cmltdf_uss(double, double); +unsigned int __builtin_aarch64_cmltsf_uss(float, float); +__Uint64x2_t __builtin_aarch64_cmltv2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_cmltv2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_cmltv4sf_uss(__Float32x4_t, __Float32x4_t); +__Bfloat16x8_t __builtin_aarch64_combinev4bf(__Bfloat16x4_t, __Bfloat16x4_t); +__Int32x2_t __builtin_aarch64_ctzv2si(__Int32x2_t); +__Int32x4_t __builtin_aarch64_ctzv4si(__Int32x4_t); +long unsigned int __builtin_aarch64_facgedf_uss(double, double); +unsigned int __builtin_aarch64_facgesf_uss(float, float); +__Uint64x2_t __builtin_aarch64_facgev2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_facgev2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_facgev4sf_uss(__Float32x4_t, __Float32x4_t); +long unsigned int __builtin_aarch64_facgtdf_uss(double, double); +unsigned int __builtin_aarch64_facgtsf_uss(float, float); +__Uint64x2_t __builtin_aarch64_facgtv2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_facgtv2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_facgtv4sf_uss(__Float32x4_t, __Float32x4_t); +long unsigned int __builtin_aarch64_facledf_uss(double, double); +unsigned int __builtin_aarch64_faclesf_uss(float, float); +__Uint64x2_t __builtin_aarch64_faclev2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_faclev2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_faclev4sf_uss(__Float32x4_t, __Float32x4_t); +long unsigned int __builtin_aarch64_facltdf_uss(double, double); +unsigned int __builtin_aarch64_facltsf_uss(float, float); +__Uint64x2_t __builtin_aarch64_facltv2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_facltv2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_facltv4sf_uss(__Float32x4_t, __Float32x4_t); +__Float64x2_t __builtin_aarch64_fcmla_lane0v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); +__Float64x2_t __builtin_aarch64_fcmla_lane180v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); +__Float64x2_t __builtin_aarch64_fcmla_lane270v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); +__Float64x2_t __builtin_aarch64_fcmla_lane90v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); +long int __builtin_aarch64_fix_truncdfdi(double); +int __builtin_aarch64_fix_truncdfsi(double); +long int __builtin_aarch64_fix_truncsfdi(float); +int __builtin_aarch64_fix_truncsfsi(float); +long unsigned int __builtin_aarch64_fixuns_truncdfdi_us(double); +unsigned int __builtin_aarch64_fixuns_truncdfsi_us(double); +long unsigned int __builtin_aarch64_fixuns_truncsfdi_us(float); +unsigned int __builtin_aarch64_fixuns_truncsfsi_us(float); +float __builtin_aarch64_fmaxsf(float, float); +float __builtin_aarch64_fminsf(float, float); +__Float64x2_t __builtin_aarch64_fnmav2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fnmav2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); +__Float32x4_t __builtin_aarch64_fnmav4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); +double __builtin_aarch64_frint32xdf(double); +float __builtin_aarch64_frint32xsf(float); +__Float64x2_t __builtin_aarch64_frint32xv2df(__Float64x2_t); +__Float32x2_t __builtin_aarch64_frint32xv2sf(__Float32x2_t); +__Float32x4_t __builtin_aarch64_frint32xv4sf(__Float32x4_t); +double __builtin_aarch64_frint32zdf(double); +float __builtin_aarch64_frint32zsf(float); +__Float64x2_t __builtin_aarch64_frint32zv2df(__Float64x2_t); +__Float32x2_t __builtin_aarch64_frint32zv2sf(__Float32x2_t); +__Float32x4_t __builtin_aarch64_frint32zv4sf(__Float32x4_t); +double __builtin_aarch64_frint64xdf(double); +float __builtin_aarch64_frint64xsf(float); +__Float64x2_t __builtin_aarch64_frint64xv2df(__Float64x2_t); +__Float32x2_t __builtin_aarch64_frint64xv2sf(__Float32x2_t); +__Float32x4_t __builtin_aarch64_frint64xv4sf(__Float32x4_t); +double __builtin_aarch64_frint64zdf(double); +float __builtin_aarch64_frint64zsf(float); +__Float64x2_t __builtin_aarch64_frint64zv2df(__Float64x2_t); +__Float32x2_t __builtin_aarch64_frint64zv2sf(__Float32x2_t); +__Float32x4_t __builtin_aarch64_frint64zv4sf(__Float32x4_t); +__Bfloat16x4_t __builtin_aarch64_get_dregciv4bf(__builtin_aarch64_simd_ci, int); +__Bfloat16x4_t __builtin_aarch64_get_dregoiv4bf(__builtin_aarch64_simd_oi, int); +__Bfloat16x4_t __builtin_aarch64_get_dregxiv4bf(__builtin_aarch64_simd_xi, int); +__Bfloat16x8_t __builtin_aarch64_get_qregciv8bf(__builtin_aarch64_simd_ci, int); +__Bfloat16x8_t __builtin_aarch64_get_qregoiv8bf(__builtin_aarch64_simd_oi, int); +__Bfloat16x8_t __builtin_aarch64_get_qregxiv8bf(__builtin_aarch64_simd_xi, int); +__Int64x2_t __builtin_aarch64_intrinsic_vec_smult_lo_v2si(__Int32x2_t, __Int32x2_t); +__Int32x4_t __builtin_aarch64_intrinsic_vec_smult_lo_v4hi(__Int16x4_t, __Int16x4_t); +__Int16x8_t __builtin_aarch64_intrinsic_vec_smult_lo_v8qi(__Int8x8_t, __Int8x8_t); +__Uint64x2_t __builtin_aarch64_intrinsic_vec_umult_lo_v2si_uuu(__Uint32x2_t, __Uint32x2_t); +__Uint32x4_t __builtin_aarch64_intrinsic_vec_umult_lo_v4hi_uuu(__Uint16x4_t, __Uint16x4_t); +__Uint16x8_t __builtin_aarch64_intrinsic_vec_umult_lo_v8qi_uuu(__Uint8x8_t, __Uint8x8_t); +int __builtin_aarch64_jcvtzs(double); +void __builtin_aarch64_ld1v2di_sp(long int*, __Poly64_t); +__Bfloat16x4_t __builtin_aarch64_ld1v4bf(const __bf16*); +__Bfloat16x8_t __builtin_aarch64_ld1v8bf(const __bf16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4bf(const __bf16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8bf(const __bf16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4bf(const __bf16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8bf(const __bf16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4df(const double*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4di(const long int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v16qi(const signed char*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2df(const double*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2di(const long int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2sf(const float*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2si(const int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4bf(const __bf16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4hf(const __fp16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4hi(const short int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4sf(const float*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4si(const int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8bf(const __bf16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8hf(const __fp16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8hi(const short int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8qi(const signed char*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4bf(const __bf16*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8bf(const __bf16*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4bf(const __bf16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8bf(const __bf16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4bf(const __bf16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8bf(const __bf16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4bf(const __bf16*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8bf(const __bf16*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4bf(const __bf16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8bf(const __bf16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4bf(const __bf16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8bf(const __bf16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4bf(const __bf16*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8bf(const __bf16*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4bf(const __bf16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8bf(const __bf16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4bf(const __bf16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8bf(const __bf16*); +double __builtin_aarch64_negdf(double); +float __builtin_aarch64_negsf(float); +__Float64x2_t __builtin_aarch64_negv2df(__Float64x2_t); +__Float32x2_t __builtin_aarch64_negv2sf(__Float32x2_t); +__Float16x4_t __builtin_aarch64_negv4hf(__Float16x4_t); +__Float32x4_t __builtin_aarch64_negv4sf(__Float32x4_t); +__Float16x8_t __builtin_aarch64_negv8hf(__Float16x8_t); +void* __builtin_aarch64_pacia1716(void*, long unsigned int); +void* __builtin_aarch64_pacib1716(void*, long unsigned int); +int __builtin_aarch64_rndr(long unsigned int*); +int __builtin_aarch64_rndrrs(long unsigned int*); +double __builtin_aarch64_rsqrt_df(double); +float __builtin_aarch64_rsqrt_sf(float); +__Float64x2_t __builtin_aarch64_rsqrt_v2df(__Float64x2_t); +__Float32x2_t __builtin_aarch64_rsqrt_v2sf(__Float32x2_t); +__Float32x4_t __builtin_aarch64_rsqrt_v4sf(__Float32x4_t); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv8bf(__builtin_aarch64_simd_ci, __Bfloat16x8_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv8bf(__builtin_aarch64_simd_oi, __Bfloat16x8_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv8bf(__builtin_aarch64_simd_xi, __Bfloat16x8_t, int); +__Bfloat16x4_t __builtin_aarch64_simd_bslv4bf_suss(__Uint16x4_t, __Bfloat16x4_t, __Bfloat16x4_t); +__Bfloat16x8_t __builtin_aarch64_simd_bslv8bf_suss(__Uint16x8_t, __Bfloat16x8_t, __Bfloat16x8_t); +__Int32x4_t __builtin_aarch64_simd_smmlav16qi(__Int32x4_t, __Int8x16_t, __Int8x16_t); +__Uint32x4_t __builtin_aarch64_simd_ummlav16qi_uuuu(__Uint32x4_t, __Uint8x16_t, __Uint8x16_t); +__Int32x4_t __builtin_aarch64_simd_usmmlav16qi_ssus(__Int32x4_t, __Uint8x16_t, __Int8x16_t); +void __builtin_aarch64_st1v4bf(__bf16*, __Bfloat16x4_t); +void __builtin_aarch64_st1v8bf(__bf16*, __Bfloat16x8_t); +void __builtin_aarch64_st1x2v4bf(__bf16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v8bf(__bf16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x3v4bf(__bf16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v8bf(__bf16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x4df(double*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4di(long int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v16qi(signed char*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v2df(double*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v2di(long int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v2sf(float*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v2si(int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v4bf(__bf16*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v4hf(__fp16*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v4hi(short int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v4sf(float*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v4si(int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v8bf(__bf16*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v8hf(__fp16*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v8hi(short int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v8qi(signed char*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st2_lanev4bf(__bf16*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev8bf(__bf16*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2v4bf(__bf16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v8bf(__bf16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st3_lanev4bf(__bf16*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev8bf(__bf16*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3v4bf(__bf16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v8bf(__bf16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st4_lanev4bf(__bf16*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev8bf(__bf16*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4v4bf(__bf16*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v8bf(__bf16*, __builtin_aarch64_simd_xi); +__Int32x4_t __builtin_aarch64_sudot_laneqv16qi_sssus(__Int32x4_t, __Int8x16_t, __Uint8x16_t, int); +__Int32x2_t __builtin_aarch64_sudot_laneqv8qi_sssus(__Int32x2_t, __Int8x8_t, __Uint8x16_t, int); +__Int32x4_t __builtin_aarch64_sudot_lanev16qi_sssus(__Int32x4_t, __Int8x16_t, __Uint8x8_t, int); +__Int32x2_t __builtin_aarch64_sudot_lanev8qi_sssus(__Int32x2_t, __Int8x8_t, __Uint8x8_t, int); +__Int8x16_t __builtin_aarch64_trn1v16qi(__Int8x16_t, __Int8x16_t); +__Float64x2_t __builtin_aarch64_trn1v2df(__Float64x2_t, __Float64x2_t); +__Int64x2_t __builtin_aarch64_trn1v2di(__Int64x2_t, __Int64x2_t); +__Float32x2_t __builtin_aarch64_trn1v2sf(__Float32x2_t, __Float32x2_t); +__Int32x2_t __builtin_aarch64_trn1v2si(__Int32x2_t, __Int32x2_t); +__Int16x4_t __builtin_aarch64_trn1v4hi(__Int16x4_t, __Int16x4_t); +__Float32x4_t __builtin_aarch64_trn1v4sf(__Float32x4_t, __Float32x4_t); +__Int32x4_t __builtin_aarch64_trn1v4si(__Int32x4_t, __Int32x4_t); +__Int16x8_t __builtin_aarch64_trn1v8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_trn1v8qi(__Int8x8_t, __Int8x8_t); +__Int8x16_t __builtin_aarch64_trn2v16qi(__Int8x16_t, __Int8x16_t); +__Float64x2_t __builtin_aarch64_trn2v2df(__Float64x2_t, __Float64x2_t); +__Int64x2_t __builtin_aarch64_trn2v2di(__Int64x2_t, __Int64x2_t); +__Float32x2_t __builtin_aarch64_trn2v2sf(__Float32x2_t, __Float32x2_t); +__Int32x2_t __builtin_aarch64_trn2v2si(__Int32x2_t, __Int32x2_t); +__Int16x4_t __builtin_aarch64_trn2v4hi(__Int16x4_t, __Int16x4_t); +__Float32x4_t __builtin_aarch64_trn2v4sf(__Float32x4_t, __Float32x4_t); +__Int32x4_t __builtin_aarch64_trn2v4si(__Int32x4_t, __Int32x4_t); +__Int16x8_t __builtin_aarch64_trn2v8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_trn2v8qi(__Int8x8_t, __Int8x8_t); +__Int32x4_t __builtin_aarch64_usdot_laneqv16qi_ssuss(__Int32x4_t, __Uint8x16_t, __Int8x16_t, int); +__Int32x2_t __builtin_aarch64_usdot_laneqv8qi_ssuss(__Int32x2_t, __Uint8x8_t, __Int8x16_t, int); +__Int32x4_t __builtin_aarch64_usdot_lanev16qi_ssuss(__Int32x4_t, __Uint8x16_t, __Int8x8_t, int); +__Int32x2_t __builtin_aarch64_usdot_lanev8qi_ssuss(__Int32x2_t, __Uint8x8_t, __Int8x8_t, int); +__Int32x4_t __builtin_aarch64_usdotv16qi_ssus(__Int32x4_t, __Uint8x16_t, __Int8x16_t); +__Int32x2_t __builtin_aarch64_usdotv8qi_ssus(__Int32x2_t, __Uint8x8_t, __Int8x8_t); +__Int8x16_t __builtin_aarch64_uzp1v16qi(__Int8x16_t, __Int8x16_t); +__Float64x2_t __builtin_aarch64_uzp1v2df(__Float64x2_t, __Float64x2_t); +__Int64x2_t __builtin_aarch64_uzp1v2di(__Int64x2_t, __Int64x2_t); +__Float32x2_t __builtin_aarch64_uzp1v2sf(__Float32x2_t, __Float32x2_t); +__Int32x2_t __builtin_aarch64_uzp1v2si(__Int32x2_t, __Int32x2_t); +__Int16x4_t __builtin_aarch64_uzp1v4hi(__Int16x4_t, __Int16x4_t); +__Float32x4_t __builtin_aarch64_uzp1v4sf(__Float32x4_t, __Float32x4_t); +__Int32x4_t __builtin_aarch64_uzp1v4si(__Int32x4_t, __Int32x4_t); +__Int16x8_t __builtin_aarch64_uzp1v8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_uzp1v8qi(__Int8x8_t, __Int8x8_t); +__Int8x16_t __builtin_aarch64_uzp2v16qi(__Int8x16_t, __Int8x16_t); +__Float64x2_t __builtin_aarch64_uzp2v2df(__Float64x2_t, __Float64x2_t); +__Int64x2_t __builtin_aarch64_uzp2v2di(__Int64x2_t, __Int64x2_t); +__Float32x2_t __builtin_aarch64_uzp2v2sf(__Float32x2_t, __Float32x2_t); +__Int32x2_t __builtin_aarch64_uzp2v2si(__Int32x2_t, __Int32x2_t); +__Int16x4_t __builtin_aarch64_uzp2v4hi(__Int16x4_t, __Int16x4_t); +__Float32x4_t __builtin_aarch64_uzp2v4sf(__Float32x4_t, __Float32x4_t); +__Int32x4_t __builtin_aarch64_uzp2v4si(__Int32x4_t, __Int32x4_t); +__Int16x8_t __builtin_aarch64_uzp2v8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_uzp2v8qi(__Int8x8_t, __Int8x8_t); +__Int64x2_t __builtin_aarch64_vec_smlal_laneq_v2si(__Int64x2_t, __Int32x2_t, __Int32x4_t, int); +__Int32x4_t __builtin_aarch64_vec_smlal_laneq_v4hi(__Int32x4_t, __Int16x4_t, __Int16x8_t, int); +__Int64x2_t __builtin_aarch64_vec_smlal_lane_v2si(__Int64x2_t, __Int32x2_t, __Int32x2_t, int); +__Int32x4_t __builtin_aarch64_vec_smlal_lane_v4hi(__Int32x4_t, __Int16x4_t, __Int16x4_t, int); +__Int64x2_t __builtin_aarch64_vec_smult_laneq_v2si(__Int32x2_t, __Int32x4_t, int); +__Int32x4_t __builtin_aarch64_vec_smult_laneq_v4hi(__Int16x4_t, __Int16x8_t, int); +__Int64x2_t __builtin_aarch64_vec_smult_lane_v2si(__Int32x2_t, __Int32x2_t, int); +__Int32x4_t __builtin_aarch64_vec_smult_lane_v4hi(__Int16x4_t, __Int16x4_t, int); +__Uint64x2_t __builtin_aarch64_vec_umlal_laneq_v2si_uuuus(__Uint64x2_t, __Uint32x2_t, __Uint32x4_t, int); +__Uint32x4_t __builtin_aarch64_vec_umlal_laneq_v4hi_uuuus(__Uint32x4_t, __Uint16x4_t, __Uint16x8_t, int); +__Uint64x2_t __builtin_aarch64_vec_umlal_lane_v2si_uuuus(__Uint64x2_t, __Uint32x2_t, __Uint32x2_t, int); +__Uint32x4_t __builtin_aarch64_vec_umlal_lane_v4hi_uuuus(__Uint32x4_t, __Uint16x4_t, __Uint16x4_t, int); +__Uint64x2_t __builtin_aarch64_vec_umult_laneq_v2si_uuus(__Uint32x2_t, __Uint32x4_t, int); +__Uint32x4_t __builtin_aarch64_vec_umult_laneq_v4hi_uuus(__Uint16x4_t, __Uint16x8_t, int); +__Uint64x2_t __builtin_aarch64_vec_umult_lane_v2si_uuus(__Uint32x2_t, __Uint32x2_t, int); +__Uint32x4_t __builtin_aarch64_vec_umult_lane_v4hi_uuus(__Uint16x4_t, __Uint16x4_t, int); +__Int16x8_t __builtin_aarch64_vec_widen_smult_hi_v16qi(__Int8x16_t, __Int8x16_t); +__Int64x2_t __builtin_aarch64_vec_widen_smult_hi_v4si(__Int32x4_t, __Int32x4_t); +__Int32x4_t __builtin_aarch64_vec_widen_smult_hi_v8hi(__Int16x8_t, __Int16x8_t); +__Uint16x8_t __builtin_aarch64_vec_widen_umult_hi_v16qi_uuu(__Uint8x16_t, __Uint8x16_t); +__Uint64x2_t __builtin_aarch64_vec_widen_umult_hi_v4si_uuu(__Uint32x4_t, __Uint32x4_t); +__Uint32x4_t __builtin_aarch64_vec_widen_umult_hi_v8hi_uuu(__Uint16x8_t, __Uint16x8_t); +void* __builtin_aarch64_xpaclri(void*); +__Int8x16_t __builtin_aarch64_zip1v16qi(__Int8x16_t, __Int8x16_t); +__Float64x2_t __builtin_aarch64_zip1v2df(__Float64x2_t, __Float64x2_t); +__Int64x2_t __builtin_aarch64_zip1v2di(__Int64x2_t, __Int64x2_t); +__Float32x2_t __builtin_aarch64_zip1v2sf(__Float32x2_t, __Float32x2_t); +__Int32x2_t __builtin_aarch64_zip1v2si(__Int32x2_t, __Int32x2_t); +__Int16x4_t __builtin_aarch64_zip1v4hi(__Int16x4_t, __Int16x4_t); +__Float32x4_t __builtin_aarch64_zip1v4sf(__Float32x4_t, __Float32x4_t); +__Int32x4_t __builtin_aarch64_zip1v4si(__Int32x4_t, __Int32x4_t); +__Int16x8_t __builtin_aarch64_zip1v8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_zip1v8qi(__Int8x8_t, __Int8x8_t); +__Int8x16_t __builtin_aarch64_zip2v16qi(__Int8x16_t, __Int8x16_t); +__Float64x2_t __builtin_aarch64_zip2v2df(__Float64x2_t, __Float64x2_t); +__Int64x2_t __builtin_aarch64_zip2v2di(__Int64x2_t, __Int64x2_t); +__Float32x2_t __builtin_aarch64_zip2v2sf(__Float32x2_t, __Float32x2_t); +__Int32x2_t __builtin_aarch64_zip2v2si(__Int32x2_t, __Int32x2_t); +__Int16x4_t __builtin_aarch64_zip2v4hi(__Int16x4_t, __Int16x4_t); +__Float32x4_t __builtin_aarch64_zip2v4sf(__Float32x4_t, __Float32x4_t); +__Int32x4_t __builtin_aarch64_zip2v4si(__Int32x4_t, __Int32x4_t); +__Int16x8_t __builtin_aarch64_zip2v8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_zip2v8qi(__Int8x8_t, __Int8x8_t); + +// -march=armv8.5-a+memtag +void* __builtin_aarch64_memtag_get_tag(void*); +long unsigned int __builtin_aarch64_memtag_gmi(void*, long unsigned int); +void* __builtin_aarch64_memtag_inc_tag(void*, unsigned int); +void* __builtin_aarch64_memtag_irg(void*, long unsigned int); +void __builtin_aarch64_memtag_set_tag(void*); +long int __builtin_aarch64_memtag_subp(void*, void*); +// -march=armv8.5-a+tme +void __builtin_aarch64_tcancel(long unsigned int); +void __builtin_aarch64_tcommit(void); +long unsigned int __builtin_aarch64_tstart(void); +long unsigned int __builtin_aarch64_ttest(void); + +#endif + +#ifdef __IWMMXT__ +typedef unsigned long long __mmx_m64; +typedef int __mmx_v2si __attribute__ ((vector_size (8))); +typedef short __mmx_v4hi __attribute__ ((vector_size (8))); + +#ifdef __ANDROID__ +typedef char __mmx_v8qi __attribute__ ((vector_size (8))); +__mmx_m64 __builtin_arm_wsadb (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wsadh (__mmx_v4hi __A, __mmx_v4hi __B); +void __builtin_arm_setwcx(int x, int y); +int __builtin_arm_getwcx(int x); +#else +typedef signed char __mmx_v8qi __attribute__ ((vector_size (8))); +__mmx_m64 __builtin_arm_wsadb (__mmx_v2si __A, __mmx_v8qi __B, __mmx_v8qi __C); +__mmx_m64 __builtin_arm_wsadh (__mmx_v2si __A, __mmx_v4hi __B, __mmx_v4hi __C); +#endif // __ANDROID__ + +__mmx_m64 __builtin_arm_walign (__mmx_v8qi __a, __mmx_v8qi __b, int __C); +__mmx_m64 __builtin_arm_wpackhss (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wpackwss (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wpackdss (long long __m1, long long __m2); +__mmx_m64 __builtin_arm_wpackhus (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wpackwus (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wpackdus (long long __m1, long long __m2); +__mmx_m64 __builtin_arm_wunpckihb (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wunpckihh (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wunpckihw (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wunpckilb (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wunpckilh (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wunpckilw (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wunpckelsb (__mmx_v8qi __m1); +__mmx_m64 __builtin_arm_wunpckelsh (__mmx_v4hi __m1); +__mmx_m64 __builtin_arm_wunpckelsw (__mmx_v2si __m1); +__mmx_m64 __builtin_arm_wunpckehsb (__mmx_v8qi __m1); +__mmx_m64 __builtin_arm_wunpckehsh (__mmx_v4hi __m1); +__mmx_m64 __builtin_arm_wunpckehsw (__mmx_v2si __m1); +__mmx_m64 __builtin_arm_wunpckelub (__mmx_v8qi __m1); +__mmx_m64 __builtin_arm_wunpckeluh (__mmx_v4hi __m1); +__mmx_m64 __builtin_arm_wunpckeluw (__mmx_v2si __m1); +__mmx_m64 __builtin_arm_wunpckehub (__mmx_v8qi __m1); +__mmx_m64 __builtin_arm_wunpckehuh (__mmx_v4hi __m1); +__mmx_m64 __builtin_arm_wunpckehuw (__mmx_v2si __m1); +__mmx_m64 __builtin_arm_waddb (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_waddh (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_waddw (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_waddbss (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_waddhss (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_waddwss (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_waddbus (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_waddhus (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_waddwus (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wsubb (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wsubh (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wsubw (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wsubbss (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wsubhss (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wsubwss (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wsubbus (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wsubhus (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wsubwus (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wmadds (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wmaddu (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wmulsm (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wmulum (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wmulul (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wsllh (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wsllhi (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wsllw (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wsllwi (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wslld (int __m, int __count); +__mmx_m64 __builtin_arm_wslldi (int __m, int __count); +__mmx_m64 __builtin_arm_wsrah (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wsrahi (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wsraw (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wsrawi (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wsrad (int __m, int __count); +__mmx_m64 __builtin_arm_wsradi (int __m, int __count); +__mmx_m64 __builtin_arm_wsrlh (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wsrlhi (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wsrlw (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wsrlwi (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wsrld (int __m, int __count); +__mmx_m64 __builtin_arm_wsrldi (int __m, int __count); +__mmx_m64 __builtin_arm_wrorh (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wrorhi (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wrorw (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wrorwi (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wrord (int __m, int __count); +__mmx_m64 __builtin_arm_wrordi (int __m, int __count); +__mmx_m64 __builtin_arm_wand (int __m1, int __m2); +__mmx_m64 __builtin_arm_wandn (int __m2, int __m1); +__mmx_m64 __builtin_arm_wor (int __m1, int __m2); +__mmx_m64 __builtin_arm_wxor (int __m1, int __m2); +__mmx_m64 __builtin_arm_wcmpeqb (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wcmpgtsb (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wcmpgtub (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wcmpeqh (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wcmpgtsh (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wcmpgtuh (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wcmpeqw (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wcmpgtsw (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wcmpgtuw (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wmacu (int __A, __mmx_v4hi __B, __mmx_v4hi __C); +__mmx_m64 __builtin_arm_wmacs (int __A, __mmx_v4hi __B, __mmx_v4hi __C); +__mmx_m64 __builtin_arm_wmacuz (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wmacsz (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_waccb (__mmx_v8qi __A); +__mmx_m64 __builtin_arm_wacch (__mmx_v4hi __A); +__mmx_m64 __builtin_arm_waccw (__mmx_v2si __A); +__mmx_m64 __builtin_arm_tmia (int __A, int __B, int __C); +__mmx_m64 __builtin_arm_tmiaph (int __A, int __B, int __C); +__mmx_m64 __builtin_arm_tmiabb (int __A, int __B, int __C); +__mmx_m64 __builtin_arm_tmiabt (int __A, int __B, int __C); +__mmx_m64 __builtin_arm_tmiatb (int __A, int __B, int __C); +__mmx_m64 __builtin_arm_tmiatt (int __A, int __B, int __C); +__mmx_m64 __builtin_arm_wmaxsb (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wmaxsh (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wmaxsw (__mmx_v2si __A, __mmx_v2si __B); +__mmx_m64 __builtin_arm_wmaxub (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wmaxuh (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wmaxuw (__mmx_v2si __A, __mmx_v2si __B); +__mmx_m64 __builtin_arm_wminsb (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wminsh (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wminsw (__mmx_v2si __A, __mmx_v2si __B); +__mmx_m64 __builtin_arm_wminub (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wminuh (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wminuw (__mmx_v2si __A, __mmx_v2si __B); +__mmx_m64 __builtin_arm_tmovmskb (__mmx_v8qi __A); +__mmx_m64 __builtin_arm_tmovmskh (__mmx_v4hi __A); +__mmx_m64 __builtin_arm_tmovmskw (__mmx_v2si __A); +__mmx_m64 __builtin_arm_wavg2br (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wavg2hr (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wavg2b (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wavg2h (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wsadbz (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wsadhz (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wsadbz (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wsadhz (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wzero (); +__mmx_m64 __builtin_arm_setwcgr0 (int __value); +__mmx_m64 __builtin_arm_setwcgr1 (int __value); +__mmx_m64 __builtin_arm_setwcgr2 (int __value); +__mmx_m64 __builtin_arm_setwcgr3 (int __value); +__mmx_m64 __builtin_arm_getwcgr0 (); +__mmx_m64 __builtin_arm_getwcgr1 (); +__mmx_m64 __builtin_arm_getwcgr2 (); +__mmx_m64 __builtin_arm_getwcgr3 (); +__mmx_m64 __builtin_arm_wabsb (__mmx_v8qi m1); +__mmx_m64 __builtin_arm_wabsh (__mmx_v4hi __m1); +__mmx_m64 __builtin_arm_wabsw (__mmx_v2si __m1); +__mmx_m64 __builtin_arm_waddsubhx (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wabsdiffb (__mmx_v8qi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_wabsdiffh (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wabsdiffw (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wavg4 (__mmx_v8qi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_wavg4r (__mmx_v8qi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_wmaddsx (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wmaddux (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wmaddsn (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wmaddun (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wmulwsm (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wmulwum (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wmulsmr (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wmulwsmr (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wmulumr (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wmulwumr (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wmulwl (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wqmulm (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wqmulwm (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wqmulmr (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wqmulwmr (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wsubaddhx (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_waddbhusl (__mmx_v4hi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_waddbhusm (__mmx_v4hi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_walignr0 (__mmx_v8qi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_walignr1 (__mmx_v8qi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_walignr2 (__mmx_v8qi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_walignr3 (__mmx_v8qi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_tbcstb (signed char value); +__mmx_m64 __builtin_arm_tbcsth (short value); +__mmx_m64 __builtin_arm_tbcstw (int value); +int __builtin_arm_textrmsb(__mmx_v8qi, int); +int __builtin_arm_textrmsh(__mmx_v4hi, int); +int __builtin_arm_textrmsw(__mmx_v2si, int); +int __builtin_arm_textrmub(__mmx_v8qi, int); +int __builtin_arm_textrmuh(___mmx_v4hi, int); +int __builtin_arm_textrmuw(__mmx_v2si, int); +__mmx_v8qi __builtin_arm_tinsrb(__mmx_v8qi, int, int); +___mmx_v4hi __builtin_arm_tinsrh(___mmx_v4hi, int, int); +__mmx_v2si __builtin_arm_tinsrw(__mmx_v2si, int, int); +___mmx_v4hi __builtin_arm_wshufh(___mmx_v4hi, int); +#endif // __IWMMX__ + +#ifdef __IWMMXT2__ //enable with -march=iwmmxt2 +long long unsigned int __builtin_arm_wmerge(long long unsigned int, long long unsigned int, int); +long long unsigned int __builtin_arm_wmiabb(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiabbn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiabt(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiabtn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiatb(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiatbn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiatt(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiattn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiawbb(long long unsigned int, __mmx_v2si, __mmx_v2si); +long long unsigned int __builtin_arm_wmiawbbn(long long unsigned int, __mmx_v2si, __mmx_v2si); +long long unsigned int __builtin_arm_wmiawbt(long long unsigned int, __mmx_v2si, __mmx_v2si); +long long unsigned int __builtin_arm_wmiawbtn(long long unsigned int, __mmx_v2si, __mmx_v2si); +long long unsigned int __builtin_arm_wmiawtb(long long unsigned int, __mmx_v2si, __mmx_v2si); +long long unsigned int __builtin_arm_wmiawtbn(long long unsigned int, __mmx_v2si, __mmx_v2si); +long long unsigned int __builtin_arm_wmiawtt(long long unsigned int, __mmx_v2si, __mmx_v2si); +long long unsigned int __builtin_arm_wmiawttn(long long unsigned int, __mmx_v2si, __mmx_v2si); +__mmx_v2si __builtin_arm_wqmiabb(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +__mmx_v2si __builtin_arm_wqmiabbn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +__mmx_v2si __builtin_arm_wqmiabt(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +__mmx_v2si __builtin_arm_wqmiabtn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +__mmx_v2si __builtin_arm_wqmiatb(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +__mmx_v2si __builtin_arm_wqmiatbn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +__mmx_v2si __builtin_arm_wqmiatt(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +__mmx_v2si __builtin_arm_wqmiattn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +#endif + +#ifdef __ARM_FP16_ARGS // arm-eabi -mfp16-format=ieee or aarch64 +typedef float cov_fp16 __attribute__((mode(HF))); + +cov_fp16 __builtin_ceilf16(cov_fp16); +cov_fp16 __builtin_copysignf16(cov_fp16, cov_fp16); +cov_fp16 __builtin_fabsf16(cov_fp16); +cov_fp16 __builtin_floorf16(cov_fp16); +cov_fp16 __builtin_fmaf16(cov_fp16, cov_fp16, cov_fp16); +cov_fp16 __builtin_fmaxf16(cov_fp16, cov_fp16); +cov_fp16 __builtin_fminf16(cov_fp16, cov_fp16); +cov_fp16 __builtin_nanf16(const char*); +cov_fp16 __builtin_nansf16(const char*); +cov_fp16 __builtin_nearbyintf16(cov_fp16); +cov_fp16 __builtin_rintf16(cov_fp16); +cov_fp16 __builtin_roundevenf16(cov_fp16); +cov_fp16 __builtin_roundf16(cov_fp16); +cov_fp16 __builtin_sqrtf16(cov_fp16); +cov_fp16 __builtin_truncf16(cov_fp16); +cov_fp16 __builtin_huge_valf16(void); +cov_fp16 __builtin_inff16(void); +#endif + +#ifdef __coverity_cplusplus +} +#endif +/* + Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. + The information contained in this file is the proprietary and confidential + information of Synopsys, Inc. and its licensors, and is supplied subject to, + and may be used only by Synopsys customers in accordance with the terms and + conditions of a previously executed license agreement between Synopsys and + that customer. +*/ + + +#define __COVERITY_GCC_VERSION_AT_LEAST(maj, min) \ + ((__GNUC__ > (maj)) || (__GNUC__ == (maj) && __GNUC_MINOR__ >= (min))) + +#if __COVERITY_GCC_VERSION_AT_LEAST(4, 9) +// Starting with GCC 4.9, instruction set intrinsics are always visible +// regardless of whether or not the instruction set is enabled. +#define __COVERITY_GCC49_INTRINSICS 1 +#else // GCC <4.9 +#define __COVERITY_GCC49_INTRINSICS 0 +#endif + +#ifdef __IA64__ +typedef __coverity___fpreg long double __fpreg; +#endif + + +#ifdef __coverity_cplusplus +extern "C" { +#endif + +#if defined(__SIZEOF_FLOAT128__) && defined(__coverity_cplusplus) +#define cov_f128_t __float128 +#else +#define cov_f128_t long double +#endif + +// The following macros are used in the Linux Kernel +#if defined(__linux__) && defined(__KERNEL__) +#nodef BUG_ON(x) do { if (x) __coverity_panic__(); } while (0) +#nodef WARN_ON(x) ({ int result = !!(x); if (result) __coverity_panic__(); result; }) +#nodef BUG() __coverity_panic__() +void __coverity_panic__(); +#endif // Linux kernel + +#nodef setjmp +int setjmp(void *); + +#ifndef __COVERITY_NO_STRING_NODEFS__ +// Function list obtained from "cstring"+memrchr+stpcopy (from bits/string.h) + +#nodef memcpy +void *memcpy(void *, const void *, __COVERITY_SIZE_TYPE__); + +#nodef memmove +void *memmove(void *, const void *, __COVERITY_SIZE_TYPE__); + +#nodef strcpy +char *strcpy(char *, const char *); + +#nodef strncpy +char *strncpy(char *, const char *, __COVERITY_SIZE_TYPE__); + +#nodef strcat +char *strcat(char *, const char *); + +#nodef strncat +char *strncat(char *, const char *, __COVERITY_SIZE_TYPE__); + +#nodef memcmp +int memcmp(const void *, const void *, __COVERITY_SIZE_TYPE__ n); + +#nodef strcmp +int strcmp(const char *, const char *); + +#nodef strcoll +int strcoll(const char *, const char *); + +#nodef strncmp +int strncmp(const char *, const char *, __COVERITY_SIZE_TYPE__); + +#nodef strxfrm +__COVERITY_SIZE_TYPE__ +strxfrm(char *, const char *, __COVERITY_SIZE_TYPE__); + +#nodef memchr +void *memchr(const void *, int, __COVERITY_SIZE_TYPE__); + +#nodef strchr +char *strchr(const char *, int); + +#nodef strcspn +__COVERITY_SIZE_TYPE__ strcspn(const char *, const char *); + +#nodef strpbrk +char *strpbrk(const char *, const char *); + +#nodef strrchr +char *strrchr(const char *, int); + +#nodef strspn +__COVERITY_SIZE_TYPE__ strspn(const char *, const char *); + +#nodef strstr +char *strstr(const char *, const char *); + +#nodef strtok +char *strtok(char *, const char *); + +#nodef memset +void *memset(void *, int, __COVERITY_SIZE_TYPE__); + +#nodef strlen +__COVERITY_SIZE_TYPE__ strlen(const char *); + +#nodef strerror +char *strerror(int); + +#nodef memrchr +void *memrchr(const void *, int, __COVERITY_SIZE_TYPE__); + +#nodef stpcpy +char *stpcpy(char *, const char *); + +#nodef strdup +char *strdup(const char *); +#endif // __COVERITY_NO_STRING_NODEFS__ + +#define __builtin_expect_with_probability(expr, value, probability) (expr) +#define __builtin_speculation_safe_value(t1, t2) (t1) + +#ifndef __coverity_cplusplus +#if __COVERITY_GCC_VERSION_AT_LEAST(7, 0) +typedef float __coverity_float _Float32; +typedef double __coverity_floatx _Float32x; +typedef double __coverity_float _Float64; +typedef long double _Float64x; +typedef long double _Float128; +#endif /* GCC >= 7.0 */ +#endif /* __coverity_cplusplus */ + +#ifdef __coverity_cplusplus +} +#endif +#if __COVERITY_GCC_VERSION_AT_LEAST(4, 0) +typedef float __coverity_decimal _Decimal32; +typedef double __coverity_decimal _Decimal64; +typedef long double __coverity_decimal _Decimal128; + +_Decimal32 __builtin_nand32(const char*); +_Decimal32 __builtin_infd32(); +_Decimal64 __builtin_infd64(); +_Decimal64 __builtin_nand64(const char*); +_Decimal128 __builtin_infd128(); +_Decimal128 __builtin_nand128(const char*); +_Decimal128 __builtin_fabsd128(_Decimal128); +_Decimal32 __builtin_fabsd32(_Decimal32); +_Decimal64 __builtin_fabsd64(_Decimal64); +int __builtin_finited128(_Decimal128); +int __builtin_finited32(_Decimal32); +int __builtin_finited64(_Decimal64); +int __builtin_isinfd128(_Decimal128); +int __builtin_isinfd32(_Decimal32); +int __builtin_isinfd64(_Decimal64); +int __builtin_isnand128(_Decimal128); +int __builtin_isnand32(_Decimal32); +int __builtin_isnand64(_Decimal64); +int __builtin_signbitd128(_Decimal128); +int __builtin_signbitd32(_Decimal32); +int __builtin_signbitd64(_Decimal64); +_Decimal128 __builtin_nansd128(const char*); +_Decimal32 __builtin_nansd32(const char*); +_Decimal64 __builtin_nansd64(const char*); +#endif /* GCC >= 4.0 */ + +#ifdef __COVERITY_CILKPLUS +#define _Cilk_spawn +#define _Cilk_sync +#define _Cilk_for for +#endif /* __cilk */ + +#if __COVERITY_GCC_VERSION_AT_LEAST(8, 0) +/* + * The following macros are used to implement __builtin_tgmath. This GCC + * intrinsic is used to support type generic math operations in C modes. These + * can be disabled by defining __COVERITY_DISABLE_TGTMATH. + */ +#if !defined(__COVERITY_DISABLE_TGTMATH) && !defined(__coverity_cplusplus) +#define __coverity_count_args(...) __coverity_count_args_n(-,##__VA_ARGS__,9,8,7,6,5,4,3,2,1,0) +#define __coverity_count_args_n(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, count, ...) count +#define __coverity_cat(x, ...) __coverity_cat_n(x, __VA_ARGS__) +#define __coverity_cat_n(x, ...) x ## __VA_ARGS__ + +#define __builtin_tgmath(...) \ + __coverity_cat(__coverity_tgmath_,__coverity_count_args(__VA_ARGS__))(__VA_ARGS__) + +#define __coverity_tgmath_4(...) __coverity_tgmath_real(__VA_ARGS__) +#define __coverity_tgmath_5(...) __coverity_tgmath_real(__VA_ARGS__) +#define __coverity_tgmath_6(...) __coverity_tgmath_real(__VA_ARGS__) +#define __coverity_tgmath_7(...) __coverity_tgmath_cplx(__VA_ARGS__) +#define __coverity_tgmath_8(...) __coverity_tgmath_cplx(__VA_ARGS__) +#define __coverity_tgmath_9(...) __coverity_tgmath_cplx(__VA_ARGS__) + +#define __coverity_tgmath_real(rf, r, rl, arg0, ...) \ + _Generic((arg0), \ + float: (rf)(arg0, ## __VA_ARGS__), \ + long double: (rl)(arg0, ## __VA_ARGS__), \ + default: (r)(arg0, ## __VA_ARGS__)) +#define __coverity_tgmath_cplx(rf, r, rl, cf, c, cl, arg0, ...) \ + _Generic((arg0), \ + float: (rf)(arg0, ## __VA_ARGS__), \ + long double: (rl)(arg0, ## __VA_ARGS__), \ + __complex__ float: (cf)(arg0, ## __VA_ARGS__), \ + __complex__ long double: (cl)(arg0, ## __VA_ARGS__), \ + __complex__ double: (c)(arg0, ## __VA_ARGS__), \ + default: (r)(arg0, ## __VA_ARGS__)) +#endif /* !__COVERITY_DISABLE_TGTMATH_DECLS && !__coverity_cplusplus */ +#endif /* GCC 8+ */ +/* + Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. + The information contained in this file is the proprietary and confidential + information of Synopsys, Inc. and its licensors, and is supplied subject to, + and may be used only by Synopsys customers in accordance with the terms and + conditions of a previously executed license agreement between Synopsys and + that customer. +*/ + +/* + * These declarations are needed for GCC's transactional memory support. They + * are not supported intrinsically by cov-emit. + */ + +// -fgnu-tm -mavx +void __builtin__ITM_abortTransaction(int); +unsigned int __builtin__ITM_beginTransaction(unsigned int, ...); +void* __builtin__ITM_calloc(long unsigned int, long unsigned int); +void __builtin__ITM_changeTransactionMode(int); +void __builtin__ITM_commitTransactionEH(void*); +void __builtin__ITM_free(void*); +void* __builtin__ITM_getTMCloneOrIrrevocable(void*); +void* __builtin__ITM_getTMCloneSafe(void*); +void __builtin__ITM_LB(volatile void*, long unsigned int); +void __builtin__ITM_LD(volatile void*); +void __builtin__ITM_LE(volatile void*); +void __builtin__ITM_LF(volatile void*); +void __builtin__ITM_LM128(const void*); +void __builtin__ITM_LM256(const void*); +void __builtin__ITM_LM64(const void*); +void __builtin__ITM_LU1(volatile void*); +void __builtin__ITM_LU2(volatile void*); +void __builtin__ITM_LU4(volatile void*); +void __builtin__ITM_LU8(volatile void*); +void* __builtin__ITM_malloc(long unsigned int); +void __builtin__ITM_memcpyRnWt(void*, const void*, long unsigned int); +void __builtin__ITM_memcpyRtWn(void*, const void*, long unsigned int); +void __builtin__ITM_memcpyRtWt(void*, const void*, long unsigned int); +void __builtin__ITM_memmoveRtWt(void*, const void*, long unsigned int); +void __builtin__ITM_memsetW(void*, int, long unsigned int); +double __builtin__ITM_RaRD(double*); +long double __builtin__ITM_RaRE(volatile void*); +float __builtin__ITM_RaRF(volatile void*); +__edg_vector_type__(float,4) __builtin__ITM_RaRM128(const __edg_vector_type__(float,4)*); +__edg_vector_type__(float,8) __builtin__ITM_RaRM256(const __edg_vector_type__(float,8)*); +__edg_vector_type__(int,2) __builtin__ITM_RaRM64(const __edg_vector_type__(int,2)*); +unsigned char __builtin__ITM_RaRU1(volatile void*); +short unsigned int __builtin__ITM_RaRU2(volatile void*); +unsigned int __builtin__ITM_RaRU4(volatile void*); +long unsigned int __builtin__ITM_RaRU8(volatile void*); +double __builtin__ITM_RaWD(double*); +long double __builtin__ITM_RaWE(volatile void*); +float __builtin__ITM_RaWF(volatile void*); +__edg_vector_type__(float,4) __builtin__ITM_RaWM128(const __edg_vector_type__(float,4)*); +__edg_vector_type__(float,8) __builtin__ITM_RaWM256(const __edg_vector_type__(float,8)*); +__edg_vector_type__(int,2) __builtin__ITM_RaWM64(const __edg_vector_type__(int,2)*); +unsigned char __builtin__ITM_RaWU1(volatile void*); +short unsigned int __builtin__ITM_RaWU2(volatile void*); +unsigned int __builtin__ITM_RaWU4(volatile void*); +long unsigned int __builtin__ITM_RaWU8(volatile void*); +double __builtin__ITM_RD(double*); +long double __builtin__ITM_RE(volatile void*); +float __builtin__ITM_RF(volatile void*); +double __builtin__ITM_RfWD(double*); +long double __builtin__ITM_RfWE(volatile void*); +float __builtin__ITM_RfWF(volatile void*); +__edg_vector_type__(float,4) __builtin__ITM_RfWM128(const __edg_vector_type__(float,4)*); +__edg_vector_type__(float,8) __builtin__ITM_RfWM256(const __edg_vector_type__(float,8)*); +__edg_vector_type__(int,2) __builtin__ITM_RfWM64(const __edg_vector_type__(int,2)*); +unsigned char __builtin__ITM_RfWU1(volatile void*); +short unsigned int __builtin__ITM_RfWU2(volatile void*); +unsigned int __builtin__ITM_RfWU4(volatile void*); +long unsigned int __builtin__ITM_RfWU8(volatile void*); +__edg_vector_type__(float,4) __builtin__ITM_RM128(const __edg_vector_type__(float,4)*); +__edg_vector_type__(float,8) __builtin__ITM_RM256(const __edg_vector_type__(float,8)*); +__edg_vector_type__(int,2) __builtin__ITM_RM64(const __edg_vector_type__(int,2)*); +unsigned char __builtin__ITM_RU1(volatile void*); +short unsigned int __builtin__ITM_RU2(volatile void*); +unsigned int __builtin__ITM_RU4(volatile void*); +long unsigned int __builtin__ITM_RU8(volatile void*); +void __builtin__ITM_WaRD(volatile void*, double); +void __builtin__ITM_WaRE(volatile void*, long double); +void __builtin__ITM_WaRF(volatile void*, float); +void __builtin__ITM_WaRM128(__edg_vector_type__(float,4)*, __edg_vector_type__(float,4)); +void __builtin__ITM_WaRM256(__edg_vector_type__(float,8)*, __edg_vector_type__(float,8)); +void __builtin__ITM_WaRM64(__edg_vector_type__(int,2)*, __edg_vector_type__(int,2)); +void __builtin__ITM_WaRU1(volatile void*, unsigned char); +void __builtin__ITM_WaRU2(volatile void*, short unsigned int); +void __builtin__ITM_WaRU4(volatile void*, unsigned int); +void __builtin__ITM_WaRU8(volatile void*, long unsigned int); +void __builtin__ITM_WaWD(volatile void*, double); +void __builtin__ITM_WaWE(volatile void*, long double); +void __builtin__ITM_WaWF(volatile void*, float); +void __builtin__ITM_WaWM128(__edg_vector_type__(float,4)*, __edg_vector_type__(float,4)); +void __builtin__ITM_WaWM256(__edg_vector_type__(float,8)*, __edg_vector_type__(float,8)); +void __builtin__ITM_WaWM64(__edg_vector_type__(int,2)*, __edg_vector_type__(int,2)); +void __builtin__ITM_WaWU1(volatile void*, unsigned char); +void __builtin__ITM_WaWU2(volatile void*, short unsigned int); +void __builtin__ITM_WaWU4(volatile void*, unsigned int); +void __builtin__ITM_WaWU8(volatile void*, long unsigned int); +void __builtin__ITM_WD(volatile void*, double); +void __builtin__ITM_WE(volatile void*, long double); +void __builtin__ITM_WF(volatile void*, float); +void __builtin__ITM_WM128(__edg_vector_type__(float,4)*, __edg_vector_type__(float,4)); +void __builtin__ITM_WM256(__edg_vector_type__(float,8)*, __edg_vector_type__(float,8)); +void __builtin__ITM_WM64(__edg_vector_type__(int,2)*, __edg_vector_type__(int,2)); +void __builtin__ITM_WU1(volatile void*, unsigned char); +void __builtin__ITM_WU2(volatile void*, short unsigned int); +void __builtin__ITM_WU4(volatile void*, unsigned int); +void __builtin__ITM_WU8(volatile void*, long unsigned int); +void __builtin__ITM_commitTransaction(void); + +/* + Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. + The information contained in this file is the proprietary and confidential + information of Synopsys, Inc. and its licensors, and is supplied subject to, + and may be used only by Synopsys customers in accordance with the terms and + conditions of a previously executed license agreement between Synopsys and + that customer. +*/ + +/* + * These declarations are needed for GCC's OpenMP/OpenACC support. They are not + * supported intrinsically by cov-emit. + */ + +#ifdef _OPENMP +int __builtin_acc_get_device_type(void); +void __builtin_GOACC_data_end(void); +void __builtin_GOMP_atomic_end(void); +void __builtin_GOMP_atomic_start(void); +void __builtin_GOMP_barrier(void); +__edg_bool_type__ __builtin_GOMP_barrier_cancel(void); +void __builtin_GOMP_critical_end(void); +void __builtin_GOMP_critical_start(void); +void __builtin_GOMP_loop_end(void); +__edg_bool_type__ __builtin_GOMP_loop_end_cancel(void); +void __builtin_GOMP_loop_end_nowait(void); +void __builtin_GOMP_ordered_end(void); +void __builtin_GOMP_ordered_start(void); +void __builtin_GOMP_sections_end(void); +__edg_bool_type__ __builtin_GOMP_sections_end_cancel(void); +void __builtin_GOMP_sections_end_nowait(void); +unsigned int __builtin_GOMP_sections_next(void); +void* __builtin_GOMP_single_copy_start(void); +__edg_bool_type__ __builtin_GOMP_single_start(void); +void __builtin_GOMP_target_end_data(void); +void __builtin_GOMP_taskgroup_end(void); +void __builtin_GOMP_taskgroup_start(void); +void __builtin_GOMP_taskwait(void); +void __builtin_GOMP_taskyield(void); +int __builtin_omp_get_num_teams(void); +int __builtin_omp_get_num_threads(void); +int __builtin_omp_get_team_num(void); +int __builtin_omp_get_thread_num(void); +void __builtin_GOACC_data_start(int, long unsigned int, void*, void*, void*); +void __builtin_GOACC_declare(int, long unsigned int, void*, void*, void*); +void __builtin_GOACC_enter_exit_data(int, long unsigned int, void*, void*, void*, int, int, ...); +void __builtin_GOACC_parallel_keyed(int, void (*)(void*), long unsigned int, void*, void*, void*, ...); +int __builtin_goacc_parlevel_id(int); +int __builtin_goacc_parlevel_size(int); +void __builtin_GOACC_update(int, long unsigned int, void*, void*, void*, int, int, ...); +void __builtin_GOACC_wait(int, int, ...); +__edg_bool_type__ __builtin_GOMP_cancel(int, __edg_bool_type__); +__edg_bool_type__ __builtin_GOMP_cancellation_point(int); +void __builtin_GOMP_critical_name_end(void**); +void __builtin_GOMP_critical_name_start(void**); +void __builtin_GOMP_doacross_post(void*); +void __builtin_GOMP_doacross_ull_post(void*); +void __builtin_GOMP_doacross_ull_wait(long long unsigned int, ...); +void __builtin_GOMP_doacross_wait(long int, ...); +__edg_bool_type__ __builtin_GOMP_loop_doacross_dynamic_start(unsigned int, long int*, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_doacross_guided_start(unsigned int, long int*, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_doacross_runtime_start(unsigned int, long int*, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_doacross_start(unsigned int, long int*, long int, long int, long int*, long int*, void*, void*); +__edg_bool_type__ __builtin_GOMP_loop_doacross_static_start(unsigned int, long int*, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_dynamic_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_dynamic_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_guided_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_guided_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_maybe_nonmonotonic_runtime_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_maybe_nonmonotonic_runtime_start(long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_dynamic_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_dynamic_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_guided_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_guided_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_runtime_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_runtime_start(long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_dynamic_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_dynamic_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_guided_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_guided_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_runtime_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_runtime_start(long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_start(long int, long int, long int, long int, long int, long int*, long int*, void*, void*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_static_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_static_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_runtime_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_runtime_start(long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_start(long int, long int, long int, long int, long int, long int*, long int*, void*, void*); +__edg_bool_type__ __builtin_GOMP_loop_static_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_static_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_dynamic_start(unsigned int, long long unsigned int*, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_guided_start(unsigned int, long long unsigned int*, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_runtime_start(unsigned int, long long unsigned int*, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_start(unsigned int, long long unsigned int*, long int, long long unsigned int, long long unsigned int*, long long unsigned int*, void*, void*); +__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_static_start(unsigned int, long long unsigned int*, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_dynamic_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_dynamic_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_guided_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_guided_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_maybe_nonmonotonic_runtime_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_maybe_nonmonotonic_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_dynamic_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_dynamic_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_guided_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_guided_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_runtime_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_dynamic_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_dynamic_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_guided_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_guided_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_runtime_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long int, long long unsigned int, long long unsigned int*, long long unsigned int*, void*, void*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_static_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_static_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_runtime_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long int, long long unsigned int, long long unsigned int*, long long unsigned int*, void*, void*); +__edg_bool_type__ __builtin_GOMP_loop_ull_static_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_static_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +void __builtin_GOMP_offload_register_ver(int, void*, int, void*); +void __builtin_GOMP_offload_unregister_ver(int, void*, int, void*); +void __builtin_GOMP_parallel(void (*)(void*), void*, unsigned int, unsigned int); +void __builtin_GOMP_parallel_loop_dynamic(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); +void __builtin_GOMP_parallel_loop_guided(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); +void __builtin_GOMP_parallel_loop_maybe_nonmonotonic_runtime(void (*)(void*), void*, unsigned int, long int, long int, long int, unsigned int); +void __builtin_GOMP_parallel_loop_nonmonotonic_dynamic(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); +void __builtin_GOMP_parallel_loop_nonmonotonic_guided(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); +void __builtin_GOMP_parallel_loop_nonmonotonic_runtime(void (*)(void*), void*, unsigned int, long int, long int, long int, unsigned int); +void __builtin_GOMP_parallel_loop_runtime(void (*)(void*), void*, unsigned int, long int, long int, long int, unsigned int); +void __builtin_GOMP_parallel_loop_static(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); +unsigned int __builtin_GOMP_parallel_reductions(void (*)(void*), void*, unsigned int, unsigned int); +void __builtin_GOMP_parallel_sections(void (*)(void*), void*, unsigned int, unsigned int, unsigned int); +unsigned int __builtin_GOMP_sections2_start(unsigned int, void*, void*); +unsigned int __builtin_GOMP_sections_start(unsigned int); +void __builtin_GOMP_single_copy_end(void*); +void __builtin_GOMP_target_data_ext(int, long unsigned int, void*, void*, void*); +void __builtin_GOMP_target_enter_exit_data(int, long unsigned int, void*, void*, void*, unsigned int, void*); +void __builtin_GOMP_target_ext(int, void (*)(void*), long unsigned int, void*, void*, void*, unsigned int, void*, void*); +void __builtin_GOMP_target_update_ext(int, long unsigned int, void*, void*, void*, unsigned int, void*); +#if __COVERITY_GCC_VERSION_AT_LEAST(6, 0) +void __builtin_GOMP_task(void (*)(void*), void*, void (*)(void*, void*), long int, long int, __edg_bool_type__, unsigned int, void*, int); +#endif +void __builtin_GOMP_taskgroup_reduction_register(void*); +void __builtin_GOMP_taskgroup_reduction_unregister(void*); +void __builtin_GOMP_taskloop(void (*)(void*), void*, void (*)(void*, void*), long int, long int, unsigned int, long int, int, long int, long int, long int); +void __builtin_GOMP_taskloop_ull(void (*)(void*), void*, void (*)(void*, void*), long int, long int, unsigned int, long int, int, long long unsigned int, long long unsigned int, long long unsigned int); +void __builtin_GOMP_task_reduction_remap(long unsigned int, long unsigned int, void*); +void __builtin_GOMP_taskwait_depend(void*); +void __builtin_GOMP_teams(unsigned int, unsigned int); +void __builtin_GOMP_teams_reg(void (*)(void*), void*, unsigned int, unsigned int, unsigned int); +void __builtin_GOMP_workshare_task_reduction_unregister(__edg_bool_type__); +void* __builtin_GOMP_alloc(long unsigned int, long unsigned int, long int); +void __builtin_GOMP_free(void*, long int); + +#if __COVERITY_GCC_VERSION_AT_LEAST(12, 0) +void __builtin_GOACC_barrier(); +void __builtin_GOACC_enter_data(int, long unsigned int, void*, void*, void*, int, int, ...); +void __builtin_GOACC_exit_data(int, long unsigned int, void*, void*, void*, int, int, ...); +void __builtin_GOACC_single_copy_end(void*); +void* __builtin_GOACC_single_copy_start(); +__cov_bool __builtin_GOACC_single_start(); +void __builtin_GOMP_error(const void*, long unsigned int); +void __builtin_GOMP_scope_start(void*); +__cov_bool __builtin_GOMP_teams4(unsigned int, unsigned int, unsigned int, __cov_bool); +void __builtin_GOMP_warning(const void*, long unsigned int); +#endif /* GCC >= 12.0 */ +#endif /* _OPENMP */ +/* Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. */ +#ifdef __coverity_cplusplus +extern "C" { +#endif + +#ifdef __PPC__ + +typedef int __attribute__((vector_size(8))) __ev64_opaque__; +typedef int __ppc_v2i __attribute__ ((__vector_size__ (8))); + +int __builtin_spe_brinc(int, int); +__ppc_v2i __builtin_spe_evabs(__ppc_v2i); +__ppc_v2i __builtin_spe_evaddiw(__ppc_v2i, char); +__ppc_v2i __builtin_spe_evaddsmiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evaddssiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evaddumiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evaddusiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evaddw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evand(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evandc(__ppc_v2i, __ppc_v2i); +int __builtin_spe_evcmpeq(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evcmpgts(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evcmpgtu(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evcmplts(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evcmpltu(int, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evcntlsw(__ppc_v2i); +__ppc_v2i __builtin_spe_evcntlzw(__ppc_v2i); +__ppc_v2i __builtin_spe_evdivws(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evdivwu(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_eveqv(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evextsb(__ppc_v2i); +__ppc_v2i __builtin_spe_evextsh(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsabs(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsadd(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evfscfsf(__ppc_v2i); +__ppc_v2i __builtin_spe_evfscfsi(__ppc_v2i); +__ppc_v2i __builtin_spe_evfscfuf(__ppc_v2i); +__ppc_v2i __builtin_spe_evfscfui(__ppc_v2i); +int __builtin_spe_evfscmpeq(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evfscmpgt(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evfscmplt(int, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evfsctsf(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsctsi(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsctsiz(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsctuf(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsctui(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsctuiz(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsdiv(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evfsmul(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evfsnabs(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsneg(__ppc_v2i); +__ppc_v2i __builtin_spe_evfssub(__ppc_v2i, __ppc_v2i); +int __builtin_spe_evfststeq(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evfststgt(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evfststlt(int, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evldd(__ppc_v2i*, int); +__ppc_v2i __builtin_spe_evlddx(__ppc_v2i*, int); +__ppc_v2i __builtin_spe_evldh(__ppc_v2i*, int); +__ppc_v2i __builtin_spe_evldhx(__ppc_v2i*, int); +__ppc_v2i __builtin_spe_evldw(__ppc_v2i*, int); +__ppc_v2i __builtin_spe_evldwx(__ppc_v2i*, int); +__ppc_v2i __builtin_spe_evlhhesplat(short unsigned int*, int); +__ppc_v2i __builtin_spe_evlhhesplatx(short unsigned int*, int); +__ppc_v2i __builtin_spe_evlhhossplat(short unsigned int*, int); +__ppc_v2i __builtin_spe_evlhhossplatx(short unsigned int*, int); +__ppc_v2i __builtin_spe_evlhhousplat(short unsigned int*, int); +__ppc_v2i __builtin_spe_evlhhousplatx(short unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhe(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhex(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhos(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhosx(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhou(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhoux(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhsplat(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhsplatx(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwwsplat(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwwsplatx(unsigned int*, int); +__ppc_v2i __builtin_spe_evmergehi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmergehilo(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmergelo(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmergelohi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhegsmfaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhegsmfan(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhegsmiaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhegsmian(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhegumiaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhegumian(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmfaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmfanw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhessf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhessfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhessfaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhessfanw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhessiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhessianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmheumi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmheumia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmheumiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmheumianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmheusiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmheusianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhogsmfaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhogsmfan(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhogsmiaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhogsmian(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhogumiaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhogumian(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmfaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmfanw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhossf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhossfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhossfaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhossfanw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhossiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhossianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhoumi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhoumia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhoumiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhoumianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhousiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhousianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmra(__ppc_v2i); +__ppc_v2i __builtin_spe_evmwhsmf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwhsmfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwhsmi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwhsmia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwhssf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwhssfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwhumi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwhumia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlsmiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlsmianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlssiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlssianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlumi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlumia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlumiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlumianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlusiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlusianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmfaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmfan(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmiaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmian(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwssf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwssfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwssfaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwssfan(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwumi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwumia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwumiaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwumian(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evnand(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evneg(__ppc_v2i); +__ppc_v2i __builtin_spe_evnor(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evor(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evorc(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evrlw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evrlwi(__ppc_v2i, char); +__ppc_v2i __builtin_spe_evrndw(__ppc_v2i); +__ppc_v2i __builtin_spe_evsel_eq(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_fseq(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_fsgt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_fslt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_fststeq(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_fststgt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_fststlt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_gts(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_gtu(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_lts(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_ltu(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evslw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evslwi(__ppc_v2i, char); +__ppc_v2i __builtin_spe_evsplatfi(signed char); +__ppc_v2i __builtin_spe_evsplati(signed char); +__ppc_v2i __builtin_spe_evsrwis(__ppc_v2i, char); +__ppc_v2i __builtin_spe_evsrwiu(__ppc_v2i, char); +__ppc_v2i __builtin_spe_evsrws(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsrwu(__ppc_v2i, __ppc_v2i); +void __builtin_spe_evstdd(__ppc_v2i, __ppc_v2i*, char); +void __builtin_spe_evstddx(__ppc_v2i, __ppc_v2i*, int); +void __builtin_spe_evstdh(__ppc_v2i, __ppc_v2i*, char); +void __builtin_spe_evstdhx(__ppc_v2i, __ppc_v2i*, int); +void __builtin_spe_evstdw(__ppc_v2i, __ppc_v2i*, char); +void __builtin_spe_evstdwx(__ppc_v2i, __ppc_v2i*, int); +void __builtin_spe_evstwhe(__ppc_v2i, unsigned int*, char); +void __builtin_spe_evstwhex(__ppc_v2i, unsigned int*, int); +void __builtin_spe_evstwho(__ppc_v2i, unsigned int*, char); +void __builtin_spe_evstwhox(__ppc_v2i, unsigned int*, int); +void __builtin_spe_evstwwe(__ppc_v2i, unsigned int*, char); +void __builtin_spe_evstwwex(__ppc_v2i, unsigned int*, int); +void __builtin_spe_evstwwo(__ppc_v2i, unsigned int*, char); +void __builtin_spe_evstwwox(__ppc_v2i, unsigned int*, int); +__ppc_v2i __builtin_spe_evsubfsmiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evsubfssiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evsubfumiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evsubfusiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evsubfw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsubifw(__ppc_v2i, char); +__ppc_v2i __builtin_spe_evxor(__ppc_v2i, __ppc_v2i); +int __builtin_spe_mfspefscr(); +void __builtin_spe_mtspefscr(int); + +__ppc_v2i __builtin_spe2_evaddwss(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evaddhss(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evsubfwss(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evsubfhss(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evsatsdsw(__ppc_v2i); +__ppc_v2i __internal_ev_mwhssfanw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evmwhssfanw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evmwhssfaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evdotpwcssf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evdotphihcssf(__ppc_v2i, __ppc_v2i); + +#endif + +#ifdef __coverity_cplusplus +} +#endif + +#ifdef __COVERITY_ALTIVEC__ +/* Declarations of AltiVec PPU built-in intrinsic functions. */ +/* Many of these are overloaded, so they can't be declared in C. For those + * that have operator equivalents those equivalents are used in C instead, + * otherwise a generic version with no parameter types is declared. + */ + +typedef vector int __coverity_generic_altivec_vector; + +#ifdef __coverity_cplusplus +extern vector signed char __builtin_vec_abs (vector signed char a1); +extern vector signed short __builtin_vec_abs (vector signed short a1); +extern vector signed int __builtin_vec_abs (vector signed int a1); +extern vector float __builtin_vec_abs (vector float a1); + +extern vector signed char __builtin_vec_abss (vector signed char a1); +extern vector signed short __builtin_vec_abss (vector signed short a1); +#else +__coverity_generic_altivec_vector __builtin_vec_abs(); +__coverity_generic_altivec_vector __builtin_vec_abss(); +#endif + +#ifdef __coverity_cplusplus + extern vector unsigned int __builtin_vec_vslw (vector unsigned int a1, vector unsigned int a2); +#else +__coverity_generic_altivec_vector __builtin_vec_vslw (); +#endif + +#ifdef __coverity_cplusplus +extern int __builtin_vec_vcmpgt_p(int, vector signed char a1, vector signed char a2); +extern int __builtin_vec_vcmpgt_p(int, vector unsigned char a1, vector unsigned char a2); +extern int __builtin_vec_vcmpgt_p(int, vector signed short a1, vector signed short a2); +extern int __builtin_vec_vcmpgt_p(int, vector unsigned short a1, vector unsigned short a2); +extern int __builtin_vec_vcmpgt_p(int, vector signed int a1, vector signed int a2); +extern int __builtin_vec_vcmpgt_p(int, vector unsigned int a1, vector unsigned int a2); +extern int __builtin_vec_vcmpgt_p(int, vector signed char a1, vector signed char a2); +extern int __builtin_vec_vcmpgt_p(int, vector float a1, vector float a2); +#else +int __builtin_vec_vcmpgt_p(); +#endif + +#ifdef __coverity_cplusplus +extern vector signed char __builtin_vec_add (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_add (vector signed char a1, vector unsigned char a2); + +extern vector unsigned char __builtin_vec_add (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_add (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_add (vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_vec_add (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_add (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_add (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_add (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_add (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_add (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_add (vector unsigned int a1, vector unsigned int a2); +extern vector float __builtin_vec_add (vector float a1, vector float a2); +#else +# define __builtin_vec_add(a, b) ((a) + (b)) +#endif + +extern vector unsigned int __builtin_vec_addc (vector unsigned int a1, vector unsigned int a2); + +#ifdef __coverity_cplusplus +extern vector unsigned char __builtin_vec_adds (vector signed char a1, + vector unsigned char a2); +extern vector unsigned char __builtin_vec_adds (vector unsigned char a1, + vector signed char a2); +extern vector unsigned char __builtin_vec_adds (vector unsigned char a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_adds (vector signed char a1, vector signed char a2); +extern vector unsigned short __builtin_vec_adds (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_adds (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_adds (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_adds (vector signed short a1, vector signed short a2); + +extern vector unsigned int __builtin_vec_adds (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_adds (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_adds (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_adds (vector signed int a1, vector signed int a2); +#else +__coverity_generic_altivec_vector __builtin_vec_adds (); +#endif + +#ifdef __coverity_cplusplus +extern vector float __builtin_vec_and (vector float a1, vector float a2); +extern vector float __builtin_vec_and (vector float a1, vector signed int a2); +extern vector float __builtin_vec_and (vector signed int a1, vector float a2); +extern vector signed int __builtin_vec_and (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_and (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_and (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_and (vector unsigned int a1, vector unsigned int a2); +extern vector signed short __builtin_vec_and (vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_vec_and (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_and (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_and (vector unsigned short a1, + vector unsigned short a2); +extern vector signed char __builtin_vec_and (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_and (vector signed char a1, vector unsigned char a2); + +extern vector unsigned char __builtin_vec_and (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_and (vector unsigned char a1, + vector unsigned char a2); +#else +# define __builtin_vec_and(a, b) ((a) & (b)) +#endif + +#ifdef __coverity_cplusplus +extern vector float __builtin_vec_andc (vector float a1, vector float a2); +extern vector float __builtin_vec_andc (vector float a1, vector signed int a2); +extern vector float __builtin_vec_andc (vector signed int a1, vector float a2); +extern vector signed int __builtin_vec_andc (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_andc (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_andc (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_andc (vector unsigned int a1, vector unsigned int a2); + +extern vector signed short __builtin_vec_andc (vector signed short a1, vector signed short a2); + +extern vector unsigned short __builtin_vec_andc (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_andc (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_andc (vector unsigned short a1, + vector unsigned short a2); +extern vector signed char __builtin_vec_andc (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_andc (vector signed char a1, + vector unsigned char a2); +extern vector unsigned char __builtin_vec_andc (vector unsigned char a1, + vector signed char a2); +extern vector unsigned char __builtin_vec_andc (vector unsigned char a1, + vector unsigned char a2); +#else +__coverity_generic_altivec_vector __builtin_vec_andc (); +#endif + +#ifdef __coverity_cplusplus +extern vector unsigned char __builtin_vec_avg (vector unsigned char a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_avg (vector signed char a1, vector signed char a2); +extern vector unsigned short __builtin_vec_avg (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_avg (vector signed short a1, vector signed short a2); +extern vector unsigned int __builtin_vec_avg (vector unsigned int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_avg (vector signed int a1, vector signed int a2); +#else +__coverity_generic_altivec_vector __builtin_vec_avg (); +#endif + +extern vector float __builtin_vec_ceil (vector float a1); + +extern vector signed int __builtin_vec_cmpb (vector float a1, vector float a2); + +#ifdef __coverity_cplusplus +extern vector signed char __builtin_vec_cmpeq (vector signed char a1, vector signed char a2); +extern vector signed char __builtin_vec_cmpeq (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_cmpeq (vector signed short a1, + vector signed short a2); +extern vector signed short __builtin_vec_cmpeq (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_cmpeq (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_cmpeq (vector unsigned int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_cmpeq (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_cmpge (vector float a1, vector float a2); + +extern vector signed char __builtin_vec_cmpgt (vector unsigned char a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_cmpgt (vector signed char a1, vector signed char a2); +extern vector signed short __builtin_vec_cmpgt (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_cmpgt (vector signed short a1, + vector signed short a2); +extern vector signed int __builtin_vec_cmpgt (vector unsigned int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_cmpgt (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_cmpgt (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_cmple (vector float a1, vector float a2); + +extern vector signed char __builtin_vec_cmplt (vector unsigned char a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_cmplt (vector signed char a1, vector signed char a2); +extern vector signed short __builtin_vec_cmplt (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_cmplt (vector signed short a1, + vector signed short a2); +extern vector signed int __builtin_vec_cmplt (vector unsigned int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_cmplt (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_cmplt (vector float a1, vector float a2); +#else +__coverity_generic_altivec_vector __builtin_vec_cmpeq (); +__coverity_generic_altivec_vector __builtin_vec_cmpge (); +__coverity_generic_altivec_vector __builtin_vec_cmpgt (); +__coverity_generic_altivec_vector __builtin_vec_cmple (); +__coverity_generic_altivec_vector __builtin_vec_cmplt (); +#endif + +#ifdef __coverity_cplusplus +extern vector float __builtin_vec_ctf (vector unsigned int a1, const char a2); +extern vector float __builtin_vec_ctf (vector signed int a1, const char a2); +#else +extern vector float __builtin_vec_ctf (); +#endif + +extern vector signed int __builtin_vec_cts (vector float a1, const char a2); + +extern vector unsigned int __builtin_vec_ctu (vector float a1, const char a2); + +extern void __builtin_vec_dss (const char a1); + +extern void __builtin_vec_dssall (void); + +extern void __builtin_vec_dst (const void * a1, int a2, const char a3); + +extern void __builtin_vec_dstst (const void * a1, int a2, const char a3); + +extern void __builtin_vec_dststt (const void * a1, int a2, const char a3); + +extern void __builtin_vec_dstt (const void * a1, int a2, const char a3); + +#ifdef __coverity_cplusplus +extern vector float __builtin_vec_expte (vector float a1, vector float a2); +extern vector float __builtin_vec_expte (vector float a1); + +extern vector float __builtin_vec_floor (vector float a1, vector float a2); +extern vector float __builtin_vec_floor (vector float a1); +#else +__coverity_generic_altivec_vector __builtin_vec_expte(); +__coverity_generic_altivec_vector __builtin_vec_floor(); +#endif + +#ifdef __coverity_cplusplus +extern vector float __builtin_vec_ld (int a1, vector float * a2); +extern vector float __builtin_vec_ld (int a1, float * a2); +extern vector signed int __builtin_vec_ld (int a1, int * a2); +extern vector signed int __builtin_vec_ld (int a1, vector signed int * a2); +extern vector unsigned int __builtin_vec_ld (int a1, vector unsigned int * a2); +extern vector unsigned int __builtin_vec_ld (int a1, unsigned int * a2); +extern vector signed short __builtin_vec_ld (int a1, short * a2, vector signed short * a3); +extern vector unsigned short __builtin_vec_ld (int a1, unsigned short * a2, + vector unsigned short * a3); +extern vector signed char __builtin_vec_ld (int a1, signed char * a2); +extern vector signed char __builtin_vec_ld (int a1, vector signed char * a2); +extern vector unsigned char __builtin_vec_ld (int a1, unsigned char * a2); +extern vector unsigned char __builtin_vec_ld (int a1, vector unsigned char * a2); + +extern vector signed char __builtin_vec_lde (int a1, signed char * a2); +extern vector unsigned char __builtin_vec_lde (int a1, unsigned char * a2); +extern vector signed short __builtin_vec_lde (int a1, short * a2); +extern vector unsigned short __builtin_vec_lde (int a1, unsigned short * a2); +extern vector float __builtin_vec_lde (int a1, float * a2); +extern vector signed int __builtin_vec_lde (int a1, int * a2); +extern vector unsigned int __builtin_vec_lde (int a1, unsigned int * a2); + +extern vector float __builtin_vec_ldl (int a1, float * a2); +extern vector float __builtin_vec_ldl (int a1, vector float * a2); +extern vector signed int __builtin_vec_ldl (int a1, vector signed int * a2); +extern vector signed int __builtin_vec_ldl (int a1, int * a2); +extern vector unsigned int __builtin_vec_ldl (int a1, unsigned int * a2); +extern vector unsigned int __builtin_vec_ldl (int a1, vector unsigned int * a2); +extern vector signed short __builtin_vec_ldl (int a1, vector signed short * a2); +extern vector signed short __builtin_vec_ldl (int a1, short * a2); +extern vector unsigned short __builtin_vec_ldl (int a1, vector unsigned short * a2); +extern vector unsigned short __builtin_vec_ldl (int a1, unsigned short * a2); +extern vector signed char __builtin_vec_ldl (int a1, vector signed char * a2); +extern vector signed char __builtin_vec_ldl (int a1, signed char * a2); +extern vector unsigned char __builtin_vec_ldl (int a1, vector unsigned char * a2); +extern vector unsigned char __builtin_vec_ldl (int a1, unsigned char * a2); +#else +__coverity_generic_altivec_vector __builtin_vec_ld (); +__coverity_generic_altivec_vector __builtin_vec_lde (); +__coverity_generic_altivec_vector __builtin_vec_ldl (); +#endif + +extern vector float __builtin_vec_loge (vector float a1); + +extern vector unsigned char __builtin_vec_lvsl (int a1, const void * a2, int * a3); + +extern vector unsigned char __builtin_vec_lvsr (int a1, const void * a2, int * a3); + +extern vector float __builtin_vec_madd (vector float a1, vector float a2, vector float a3); + +extern vector signed short __builtin_vec_madds (vector signed short a1, vector signed short a2, + vector signed short a3); + +#ifdef __coverity_cplusplus +extern vector unsigned char __builtin_vec_max (vector signed char a1, vector unsigned char a2); + +extern vector unsigned char __builtin_vec_max (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_max (vector unsigned char a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_max (vector signed char a1, vector signed char a2); +extern vector unsigned short __builtin_vec_max (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_max (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_max (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_max (vector signed short a1, vector signed short a2); +extern vector unsigned int __builtin_vec_max (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_max (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_max (vector unsigned int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_max (vector signed int a1, vector signed int a2); +extern vector float __builtin_vec_max (vector float a1, vector float a2); + +extern vector signed char __builtin_vec_mergeh (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_mergeh (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_mergeh (vector signed short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_mergeh (vector unsigned short a1, + vector unsigned short a2); +extern vector float __builtin_vec_mergeh (vector float a1, vector float a2); +extern vector signed int __builtin_vec_mergeh (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_mergeh (vector unsigned int a1, + vector unsigned int a2); + +extern vector signed char __builtin_vec_mergel (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_mergel (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_mergel (vector signed short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_mergel (vector unsigned short a1, + vector unsigned short a2); +extern vector float __builtin_vec_mergel (vector float a1, vector float a2); +extern vector signed int __builtin_vec_mergel (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_mergel (vector unsigned int a1, + vector unsigned int a2); +#else +__coverity_generic_altivec_vector __builtin_vec_max (); +__coverity_generic_altivec_vector __builtin_vec_mergeh (); +__coverity_generic_altivec_vector __builtin_vec_mergel (); +#endif + +extern vector unsigned short __builtin_vec_mfvscr (void); + +#ifdef __coverity_cplusplus +extern vector unsigned char __builtin_vec_min (vector signed char a1, vector unsigned char a2); + +extern vector unsigned char __builtin_vec_min (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_min (vector unsigned char a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_min (vector signed char a1, vector signed char a2); +extern vector unsigned short __builtin_vec_min (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_min (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_min (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_min (vector signed short a1, vector signed short a2); +extern vector unsigned int __builtin_vec_min (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_min (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_min (vector unsigned int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_min (vector signed int a1, vector signed int a2); +extern vector float __builtin_vec_min (vector float a1, vector float a2); + +extern vector signed short __builtin_vec_mladd (vector signed short a1, vector signed short a2, + vector signed short a3); +extern vector signed short __builtin_vec_mladd (vector signed short a1, + vector unsigned short a2, + vector unsigned short a3); +extern vector signed short __builtin_vec_mladd (vector unsigned short a1, + vector signed short a2, + vector signed short a3); +extern vector unsigned short __builtin_vec_mladd (vector unsigned short a1, + vector unsigned short a2, + vector unsigned short a3); +#else +__coverity_generic_altivec_vector __builtin_vec_min (); +__coverity_generic_altivec_vector __builtin_vec_mladd (); +#endif + +extern vector signed short __builtin_vec_mradds (vector signed short a1, + vector signed short a2, + vector signed short a3); + +#ifdef __coverity_cplusplus +extern vector unsigned int __builtin_vec_msum (vector unsigned char a1, + vector unsigned char a2, + vector unsigned int a3); +extern vector signed int __builtin_vec_msum (vector signed char a1, vector unsigned char a2, + vector signed int a3); +extern vector unsigned int __builtin_vec_msum (vector unsigned short a1, + vector unsigned short a2, + vector unsigned int a3); +extern vector signed int __builtin_vec_msum (vector signed short a1, vector signed short a2, + vector signed int a3); + +extern vector unsigned int __builtin_vec_msums (vector unsigned short a1, + vector unsigned short a2, + vector unsigned int a3); +extern vector signed int __builtin_vec_msums (vector signed short a1, vector signed short a2, + vector signed int a3); + +extern void __builtin_vec_mtvscr (vector signed int a1); +extern void __builtin_vec_mtvscr (vector unsigned int a1); +extern void __builtin_vec_mtvscr (vector signed short a1); +extern void __builtin_vec_mtvscr (vector unsigned short a1); +extern void __builtin_vec_mtvscr (vector signed char a1); +extern void __builtin_vec_mtvscr (vector unsigned char a1); + +extern vector unsigned short __builtin_vec_mule (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_mule (vector signed char a1, vector signed char a2); +extern vector unsigned int __builtin_vec_mule (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_mule (vector signed short a1, vector signed short a2); + +extern vector unsigned short __builtin_vec_mulo (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_mulo (vector signed char a1, vector signed char a2); +extern vector unsigned int __builtin_vec_mulo (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_mulo (vector signed short a1, vector signed short a2); +#else +__coverity_generic_altivec_vector __builtin_vec_msum (); +__coverity_generic_altivec_vector __builtin_vec_msums (); +extern void __builtin_vec_mtvscr (); +__coverity_generic_altivec_vector __builtin_vec_mule (); +__coverity_generic_altivec_vector __builtin_vec_mulo (); +#endif + +extern vector float __builtin_vec_nmsub (vector float a1, vector float a2, vector float a3); + +#ifdef __coverity_cplusplus +extern vector float __builtin_vec_nor (vector float a1, vector float a2); +extern vector signed int __builtin_vec_nor (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_nor (vector unsigned int a1, vector unsigned int a2); +extern vector signed short __builtin_vec_nor (vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_vec_nor (vector unsigned short a1, + vector unsigned short a2); +extern vector signed char __builtin_vec_nor (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_nor (vector unsigned char a1, + vector unsigned char a2); + +extern vector float __builtin_vec_or (vector float a1, vector float a2); +extern vector float __builtin_vec_or (vector float a1, vector signed int a2); +extern vector float __builtin_vec_or (vector signed int a1, vector float a2); +extern vector signed int __builtin_vec_or (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_or (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_or (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_or (vector unsigned int a1, vector unsigned int a2); +extern vector signed short __builtin_vec_or (vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_vec_or (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_or (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_or (vector unsigned short a1, + vector unsigned short a2); +extern vector signed char __builtin_vec_or (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_or (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_or (vector unsigned char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_or (vector unsigned char a1, + vector unsigned char a2); + +extern vector signed char __builtin_vec_pack (vector signed short a1, vector signed short a2); +extern vector unsigned char __builtin_vec_pack (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_pack (vector signed int a1, vector signed int a2); +extern vector unsigned short __builtin_vec_pack (vector unsigned int a1, + vector unsigned int a2); +#else +# define __builtin_vec_nor(a, b) (~((a) | (b))) +# define __builtin_vec_or(a, b) ((a) | (b)) +__coverity_generic_altivec_vector __builtin_vec_pack (); +#endif + +extern vector signed short __builtin_vec_packpx (vector unsigned int a1, + vector unsigned int a2); + +#ifdef __coverity_cplusplus +extern vector unsigned char __builtin_vec_packs (vector unsigned short a1, + vector unsigned short a2); +extern vector signed char __builtin_vec_packs (vector signed short a1, vector signed short a2); + +extern vector unsigned short __builtin_vec_packs (vector unsigned int a1, + vector unsigned int a2); +extern vector signed short __builtin_vec_packs (vector signed int a1, vector signed int a2); + +extern vector unsigned char __builtin_vec_packsu (vector unsigned short a1, + vector unsigned short a2); +extern vector unsigned char __builtin_vec_packsu (vector signed short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_packsu (vector unsigned int a1, + vector unsigned int a2); +extern vector unsigned short __builtin_vec_packsu (vector signed int a1, vector signed int a2); + +extern vector float __builtin_vec_perm (vector float a1, vector float a2, + vector unsigned char a3); +extern vector signed int __builtin_vec_perm (vector signed int a1, vector signed int a2, + vector unsigned char a3); +extern vector unsigned int __builtin_vec_perm (vector unsigned int a1, vector unsigned int a2, + vector unsigned char a3); +extern vector signed short __builtin_vec_perm (vector signed short a1, vector signed short a2, + vector unsigned char a3); +extern vector unsigned short __builtin_vec_perm (vector unsigned short a1, + vector unsigned short a2, + vector unsigned char a3); +extern vector signed char __builtin_vec_perm (vector signed char a1, vector signed char a2, + vector unsigned char a3); +extern vector unsigned char __builtin_vec_perm (vector unsigned char a1, + vector unsigned char a2, + vector unsigned char a3); +#else +__coverity_generic_altivec_vector __builtin_vec_packs (); +__coverity_generic_altivec_vector __builtin_vec_packsu (); +__coverity_generic_altivec_vector __builtin_vec_perm (); +#endif + +extern vector float __builtin_vec_re (vector float a1); + +#ifdef __coverity_cplusplus +extern vector signed char __builtin_vec_rl (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_rl (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_rl (vector signed short a1, vector unsigned short a2); + +extern vector unsigned short __builtin_vec_rl (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_rl (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_rl (vector unsigned int a1, vector unsigned int a2); +#else +__coverity_generic_altivec_vector __builtin_vec_rl (); +#endif + +extern vector float __builtin_vec_round (vector float a1); + +extern vector float __builtin_vec_rsqrte (vector float a1); + +#ifdef __coverity_cplusplus +extern vector float __builtin_vec_sel (vector float a1, vector float a2, vector signed int a3); +extern vector float __builtin_vec_sel (vector float a1, vector float a2, vector unsigned int a3); +extern vector signed int __builtin_vec_sel (vector signed int a1, vector signed int a2, + vector signed int a3); +extern vector signed int __builtin_vec_sel (vector signed int a1, vector signed int a2, + vector unsigned int a3); +extern vector unsigned int __builtin_vec_sel (vector unsigned int a1, vector unsigned int a2, + vector signed int a3); +extern vector unsigned int __builtin_vec_sel (vector unsigned int a1, vector unsigned int a2, + vector unsigned int a3); +extern vector signed short __builtin_vec_sel (vector signed short a1, vector signed short a2, + vector signed short a3); +extern vector signed short __builtin_vec_sel (vector signed short a1, vector signed short a2, + vector unsigned short a3); +extern vector unsigned short __builtin_vec_sel (vector unsigned short a1, + vector unsigned short a2, + vector signed short a3); +extern vector unsigned short __builtin_vec_sel (vector unsigned short a1, + vector unsigned short a2, + vector unsigned short a3); +extern vector signed char __builtin_vec_sel (vector signed char a1, vector signed char a2, + vector signed char a3); +extern vector signed char __builtin_vec_sel (vector signed char a1, vector signed char a2, + vector unsigned char a3); +extern vector unsigned char __builtin_vec_sel (vector unsigned char a1, + vector unsigned char a2, + vector signed char a3); +extern vector unsigned char __builtin_vec_sel (vector unsigned char a1, + vector unsigned char a2, + vector unsigned char a3); + +extern vector signed char __builtin_vec_sl (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_sl (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_sl (vector signed short a1, vector unsigned short a2); + +extern vector unsigned short __builtin_vec_sl (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_sl (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_sl (vector unsigned int a1, vector unsigned int a2); + +extern vector float __builtin_vec_sld (vector float a1, vector float a2, const char a3); +extern vector signed int __builtin_vec_sld (vector signed int a1, vector signed int a2, + const char a3); +extern vector unsigned int __builtin_vec_sld (vector unsigned int a1, vector unsigned int a2, + const char a3); +extern vector signed short __builtin_vec_sld (vector signed short a1, vector signed short a2, + const char a3); +extern vector unsigned short __builtin_vec_sld (vector unsigned short a1, + vector unsigned short a2, const char a3); +extern vector signed char __builtin_vec_sld (vector signed char a1, vector signed char a2, + const char a3); +extern vector unsigned char __builtin_vec_sld (vector unsigned char a1, + vector unsigned char a2, + const char a3); + +extern vector signed int __builtin_vec_sll (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_sll (vector signed int a1, vector unsigned short a2); +extern vector signed int __builtin_vec_sll (vector signed int a1, vector unsigned char a2); +extern vector unsigned int __builtin_vec_sll (vector unsigned int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_sll (vector unsigned int a1, + vector unsigned short a2); +extern vector unsigned int __builtin_vec_sll (vector unsigned int a1, vector unsigned char a2); + +extern vector signed short __builtin_vec_sll (vector signed short a1, vector unsigned int a2); +extern vector signed short __builtin_vec_sll (vector signed short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_sll (vector signed short a1, vector unsigned char a2); + +extern vector unsigned short __builtin_vec_sll (vector unsigned short a1, + vector unsigned int a2); +extern vector unsigned short __builtin_vec_sll (vector unsigned short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_sll (vector unsigned short a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_sll (vector signed char a1, vector unsigned int a2); +extern vector signed char __builtin_vec_sll (vector signed char a1, vector unsigned short a2); +extern vector signed char __builtin_vec_sll (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_sll (vector unsigned char a1, + vector unsigned int a2); +extern vector unsigned char __builtin_vec_sll (vector unsigned char a1, + vector unsigned short a2); +extern vector unsigned char __builtin_vec_sll (vector unsigned char a1, + vector unsigned char a2); + +extern vector float __builtin_vec_slo (vector float a1, vector signed char a2); +extern vector float __builtin_vec_slo (vector float a1, vector unsigned char a2); +extern vector signed int __builtin_vec_slo (vector signed int a1, vector signed char a2); +extern vector signed int __builtin_vec_slo (vector signed int a1, vector unsigned char a2); +extern vector unsigned int __builtin_vec_slo (vector unsigned int a1, vector signed char a2); +extern vector unsigned int __builtin_vec_slo (vector unsigned int a1, vector unsigned char a2); + +extern vector signed short __builtin_vec_slo (vector signed short a1, vector signed char a2); +extern vector signed short __builtin_vec_slo (vector signed short a1, vector unsigned char a2); + +extern vector unsigned short __builtin_vec_slo (vector unsigned short a1, + vector signed char a2); +extern vector unsigned short __builtin_vec_slo (vector unsigned short a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_slo (vector signed char a1, vector signed char a2); +extern vector signed char __builtin_vec_slo (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_slo (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_slo (vector unsigned char a1, + vector unsigned char a2); + +extern vector signed char __builtin_vec_splat (vector signed char a1, const char a2); +extern vector unsigned char __builtin_vec_splat (vector unsigned char a1, const char a2); +extern vector signed short __builtin_vec_splat (vector signed short a1, const char a2); +extern vector unsigned short __builtin_vec_splat (vector unsigned short a1, const char a2); +extern vector float __builtin_vec_splat (vector float a1, const char a2); +extern vector signed int __builtin_vec_splat (vector signed int a1, const char a2); +extern vector unsigned int __builtin_vec_splat (vector unsigned int a1, const char a2); +#else +# define __builtin_vec_sl(a, b) ((a) << (b)) +__coverity_generic_altivec_vector __builtin_vec_sel (); +__coverity_generic_altivec_vector __builtin_vec_sel (); +__coverity_generic_altivec_vector __builtin_vec_sld (); +__coverity_generic_altivec_vector __builtin_vec_sll (); +__coverity_generic_altivec_vector __builtin_vec_slo (); +#endif + +extern vector signed char __builtin_vec_splat_s8 (const char a1); + +extern vector signed short __builtin_vec_splat_s16 (const char a1); + +extern vector signed int __builtin_vec_splat_s32 (const char a1); + +extern vector unsigned char __builtin_vec_splat_u8 (const char a1); + +extern vector unsigned short __builtin_vec_splat_u16 (const char a1); + +extern vector unsigned int __builtin_vec_splat_u32 (const char a1); + +#ifdef __coverity_cplusplus +extern vector signed char __builtin_vec_sr (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_sr (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_sr (vector signed short a1, vector unsigned short a2); + +extern vector unsigned short __builtin_vec_sr (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_sr (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_sr (vector unsigned int a1, vector unsigned int a2); + +extern vector signed char __builtin_vec_sra (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_sra (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_sra (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_sra (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_sra (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_sra (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_srl (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_srl (vector signed int a1, vector unsigned short a2); +extern vector signed int __builtin_vec_srl (vector signed int a1, vector unsigned char a2); +extern vector unsigned int __builtin_vec_srl (vector unsigned int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_srl (vector unsigned int a1, + vector unsigned short a2); +extern vector unsigned int __builtin_vec_srl (vector unsigned int a1, vector unsigned char a2); + +extern vector signed short __builtin_vec_srl (vector signed short a1, vector unsigned int a2); +extern vector signed short __builtin_vec_srl (vector signed short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_srl (vector signed short a1, vector unsigned char a2); + +extern vector unsigned short __builtin_vec_srl (vector unsigned short a1, + vector unsigned int a2); +extern vector unsigned short __builtin_vec_srl (vector unsigned short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_srl (vector unsigned short a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_srl (vector signed char a1, vector unsigned int a2); +extern vector signed char __builtin_vec_srl (vector signed char a1, vector unsigned short a2); +extern vector signed char __builtin_vec_srl (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_srl (vector unsigned char a1, + vector unsigned int a2); +extern vector unsigned char __builtin_vec_srl (vector unsigned char a1, + vector unsigned short a2); +extern vector unsigned char __builtin_vec_srl (vector unsigned char a1, + vector unsigned char a2); + +extern vector float __builtin_vec_sro (vector float a1, vector signed char a2); +extern vector float __builtin_vec_sro (vector float a1, vector unsigned char a2); +extern vector signed int __builtin_vec_sro (vector signed int a1, vector signed char a2); +extern vector signed int __builtin_vec_sro (vector signed int a1, vector unsigned char a2); +extern vector unsigned int __builtin_vec_sro (vector unsigned int a1, vector signed char a2); +extern vector unsigned int __builtin_vec_sro (vector unsigned int a1, vector unsigned char a2); + +extern vector signed short __builtin_vec_sro (vector signed short a1, vector signed char a2); +extern vector signed short __builtin_vec_sro (vector signed short a1, vector unsigned char a2); + +extern vector unsigned short __builtin_vec_sro (vector unsigned short a1, + vector signed char a2); +extern vector unsigned short __builtin_vec_sro (vector unsigned short a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_sro (vector signed char a1, vector signed char a2); +extern vector signed char __builtin_vec_sro (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_sro (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_sro (vector unsigned char a1, + vector unsigned char a2); + +extern void __builtin_vec_st (vector float a1, int a2, const void * a3); +extern void __builtin_vec_st (vector signed int a1, int a2, const void * a3); +extern void __builtin_vec_st (vector unsigned int a1, int a2, const void * a3); +extern void __builtin_vec_st (vector signed short a1, int a2, const void * a3); +extern void __builtin_vec_st (vector unsigned short a1, int a2, const void * a3); +extern void __builtin_vec_st (vector signed char a1, int a2, const void * a3); +extern void __builtin_vec_st (vector unsigned char a1, int a2, const void * a3); + +extern void __builtin_vec_ste (vector signed char a1, int a2, const void * a3); +extern void __builtin_vec_ste (vector unsigned char a1, int a2, unsigned char * a3); +extern void __builtin_vec_ste (vector signed short a1, int a2, const void * a3); +extern void __builtin_vec_ste (vector unsigned short a1, int a2, const void * a3); +extern void __builtin_vec_ste (vector signed int a1, int a2, const void * a3); +extern void __builtin_vec_ste (vector unsigned int a1, int a2, unsigned int * a3); +extern void __builtin_vec_ste (vector float a1, int a2, float * a3); + +extern void __builtin_vec_stl (vector float a1, int a2, const void * a3); +extern void __builtin_vec_stl (vector signed int a1, int a2, const void * a3); +extern void __builtin_vec_stl (vector unsigned int a1, int a2, const void * a3); +extern void __builtin_vec_stl (vector signed short a1, int a2, const void * a3); +extern void __builtin_vec_stl (vector unsigned short a1, int a2, const void * a3); +extern void __builtin_vec_stl (vector signed char a1, int a2, const void * a3); +extern void __builtin_vec_stl (vector unsigned char a1, int a2, const void * a3); + +extern vector signed char __builtin_vec_sub (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_sub (vector signed char a1, vector unsigned char a2); + +extern vector unsigned char __builtin_vec_sub (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_sub (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_sub (vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_vec_sub (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_sub (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_sub (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_sub (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_sub (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_sub (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_sub (vector unsigned int a1, vector unsigned int a2); +extern vector float __builtin_vec_sub (vector float a1, vector float a2); + +extern vector unsigned int __builtin_vec_subc (vector unsigned int a1, vector unsigned int a2); + +extern vector unsigned char __builtin_vec_subs (vector signed char a1, + vector unsigned char a2); +extern vector unsigned char __builtin_vec_subs (vector unsigned char a1, + vector signed char a2); +extern vector unsigned char __builtin_vec_subs (vector unsigned char a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_subs (vector signed char a1, vector signed char a2); +extern vector unsigned short __builtin_vec_subs (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_subs (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_subs (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_subs (vector signed short a1, vector signed short a2); + +extern vector unsigned int __builtin_vec_subs (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_subs (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_subs (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_subs (vector signed int a1, vector signed int a2); + +extern vector unsigned int __builtin_vec_sum4s (vector unsigned char a1, + vector unsigned int a2); +extern vector signed int __builtin_vec_sum4s (vector signed char a1, vector signed int a2); +extern vector signed int __builtin_vec_sum4s (vector signed short a1, vector signed int a2); +#else +# define __builtin_vec_sr(a, b) ((a) >> (b)) +# define __builtin_vec_sub(a, b) ((a) - (b)) +__coverity_generic_altivec_vector __builtin_vec_sra (); +__coverity_generic_altivec_vector __builtin_vec_srl (); +__coverity_generic_altivec_vector __builtin_vec_sro (); +extern void __builtin_vec_st (); +extern void __builtin_vec_ste (); +extern void __builtin_vec_stl (); +__coverity_generic_altivec_vector __builtin_vec_subc (); +__coverity_generic_altivec_vector __builtin_vec_subs (); +__coverity_generic_altivec_vector __builtin_vec_sum4s (); +#endif + +extern vector signed int __builtin_vec_sum2s (vector signed int a1, vector signed int a2); + +extern vector signed int __builtin_vec_sums (vector signed int a1, vector signed int a2); + +extern vector float __builtin_vec_trunc (vector float a1); + +#ifdef __coverity_cplusplus +extern vector signed short __builtin_vec_unpackh (vector signed char a1); +extern vector unsigned int __builtin_vec_unpackh (vector unsigned short a1); +extern vector signed int __builtin_vec_unpackh (vector signed short a1); + +extern vector signed short __builtin_vec_unpackl (vector signed char a1); +extern vector unsigned int __builtin_vec_unpackl (vector unsigned short a1); +extern vector signed int __builtin_vec_unpackl (vector signed short a1); + +extern vector float __builtin_vec_xor (vector float a1, vector float a2); +extern vector float __builtin_vec_xor (vector float a1, vector signed int a2); +extern vector float __builtin_vec_xor (vector signed int a1, vector float a2); +extern vector signed int __builtin_vec_xor (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_xor (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_xor (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_xor (vector unsigned int a1, vector unsigned int a2); +extern vector signed short __builtin_vec_xor (vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_vec_xor (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_xor (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_xor (vector unsigned short a1, + vector unsigned short a2); +extern vector signed char __builtin_vec_xor (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_xor (vector signed char a1, vector unsigned char a2); + +extern vector unsigned char __builtin_vec_xor (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_xor (vector unsigned char a1, + vector unsigned char a2); + +extern vector signed int __builtin_vec_all_eq (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_all_eq (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_all_eq (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_all_eq (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_all_eq (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_eq (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_all_eq (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_all_eq (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_eq (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_all_eq (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_eq (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_eq (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_all_eq (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_ge (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_all_ge (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_all_ge (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_all_ge (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_all_ge (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_ge (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_all_ge (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_ge (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_all_ge (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_all_ge (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_ge (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_all_ge (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_ge (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_gt (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_all_gt (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_all_gt (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_all_gt (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_all_gt (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_gt (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_all_gt (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_gt (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_all_gt (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_all_gt (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_gt (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_all_gt (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_gt (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_in (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_le (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_all_le (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_all_le (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_all_le (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_all_le (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_le (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_all_le (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_le (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_all_le (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_all_le (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_le (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_all_le (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_le (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_lt (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_all_lt (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_all_lt (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_all_lt (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_all_lt (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_lt (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_all_lt (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_lt (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_all_lt (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_all_lt (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_lt (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_all_lt (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_lt (vector float a1, vector float a2); +#else +__coverity_generic_altivec_vector __builtin_vec_unpackh (); +__coverity_generic_altivec_vector __builtin_vec_unpackl (); +#define __builtin_vec_xor(a1, a2) ((a1) ^ (a2)) +__coverity_generic_altivec_vector __builtin_vec_all_eq (); +__coverity_generic_altivec_vector __builtin_vec_all_ge (); +__coverity_generic_altivec_vector __builtin_vec_all_gt (); +__coverity_generic_altivec_vector __builtin_vec_all_le (); +__coverity_generic_altivec_vector __builtin_vec_all_lt (); +#endif + +extern vector signed int __builtin_vec_all_nan (vector float a1); + +#ifdef __coverity_cplusplus +extern vector signed int __builtin_vec_all_ne (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_all_ne (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_all_ne (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_all_ne (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_all_ne (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_ne (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_all_ne (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_all_ne (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_ne (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_all_ne (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_ne (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_ne (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_all_ne (vector float a1, vector float a2); + +#else +__coverity_generic_altivec_vector __builtin_vec_all_ne (); +#endif + +extern vector signed int __builtin_vec_all_nge (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_ngt (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_nle (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_nlt (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_numeric (vector float a1); + +#ifdef __coverity_cplusplus +extern vector signed int __builtin_vec_any_eq (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_any_eq (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_any_eq (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_any_eq (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_any_eq (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_eq (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_any_eq (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_any_eq (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_eq (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_any_eq (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_eq (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_eq (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_any_eq (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_ge (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_any_ge (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_any_ge (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_any_ge (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_any_ge (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_ge (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_any_ge (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_ge (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_any_ge (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_any_ge (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_ge (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_any_ge (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_ge (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_gt (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_any_gt (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_any_gt (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_any_gt (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_any_gt (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_gt (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_any_gt (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_gt (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_any_gt (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_any_gt (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_gt (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_any_gt (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_gt (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_le (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_any_le (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_any_le (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_any_le (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_any_le (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_le (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_any_le (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_le (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_any_le (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_any_le (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_le (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_any_le (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_le (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_lt (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_any_lt (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_any_lt (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_any_lt (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_any_lt (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_lt (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_any_lt (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_lt (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_any_lt (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_any_lt (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_lt (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_any_lt (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_lt (vector float a1, vector float a2); +#else +__coverity_generic_altivec_vector __builtin_vec_any_eq (); +__coverity_generic_altivec_vector __builtin_vec_any_ge (); +__coverity_generic_altivec_vector __builtin_vec_any_gt (); +__coverity_generic_altivec_vector __builtin_vec_any_le (); +__coverity_generic_altivec_vector __builtin_vec_any_lt (); +#endif + +extern vector signed int __builtin_vec_any_nan (vector float a1); + +#ifdef __coverity_cplusplus +extern vector signed int __builtin_vec_any_ne (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_any_ne (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_any_ne (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_any_ne (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_any_ne (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_ne (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_any_ne (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_any_ne (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_ne (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_any_ne (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_ne (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_ne (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_any_ne (vector float a1, vector float a2); +#else +__coverity_generic_altivec_vector __builtin_vec_any_ne (); +#endif + +extern vector signed int __builtin_vec_any_nge (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_ngt (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_nle (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_nlt (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_numeric (vector float a1); + +extern vector signed int __builtin_vec_any_out (vector float a1, vector float a2); + +# ifndef OFFSET_T +# ifdef _ARCH_PPC64 +# define OFFSET_T long +# else +# define OFFSET_T int +# endif +# endif + +extern int __builtin_altivec_vcmpbfp_p(int a1, vector float a2, vector float a3); +extern int __builtin_altivec_vcmpeqfp_p(int a1, vector float a2, vector float a3); +extern int __builtin_altivec_vcmpeqfp_p(int, vector float a1, vector float a2); +extern int __builtin_altivec_vcmpequb_p(int a1, vector signed char a2, vector signed char a3); +extern int __builtin_altivec_vcmpequh_p(int a1, vector signed short a2, vector signed short a3); +extern int __builtin_altivec_vcmpequw_p(int a1, vector signed int a2, vector signed int a3); +extern int __builtin_altivec_vcmpgefp_p(int a1, vector float a2, vector float a3); +extern int __builtin_altivec_vcmpgtfp_p(int a1, vector float a2, vector float a3); +extern int __builtin_altivec_vcmpgtsb_p(int a1, vector signed char a2, vector signed char a3); +extern int __builtin_altivec_vcmpgtsh_p(int a1, vector signed short a2, vector signed short a3); +extern int __builtin_altivec_vcmpgtsw_p(int a1, vector signed int a2, vector signed int a3); +extern int __builtin_altivec_vcmpgtub_p(int a1, vector signed char a2, vector signed char a3); +extern int __builtin_altivec_vcmpgtuh_p(int a1, vector signed short a2, vector signed short a3); +extern int __builtin_altivec_vcmpgtuw_p(int a1, vector signed int a2, vector signed int a3); +extern vector bool char __builtin_altivec_lvx(OFFSET_T a1, const void * a2); +extern vector bool char __builtin_altivec_lvxl(OFFSET_T a1, const void * a2); +extern vector bool char __builtin_altivec_vand(vector signed int a1, vector signed int a2); +extern vector bool char __builtin_altivec_vandc(vector signed int a1, vector signed int a2); +extern vector bool char __builtin_altivec_vcmpequb(vector signed char a1, vector signed char a2); +extern vector bool char __builtin_altivec_vcmpgtsb(vector signed char a1, vector signed char a2); +extern vector bool char __builtin_altivec_vcmpgtub(vector signed char a1, vector signed char a2); +extern vector bool char __builtin_altivec_vmrghb(vector signed char a1, vector signed char a2); +extern vector bool char __builtin_altivec_vmrglb(vector signed char a1, vector signed char a2); +extern vector bool char __builtin_altivec_vnor(vector signed int a1, vector signed int a2); +extern vector bool char __builtin_altivec_vor(vector signed int a1, vector signed int a2); +extern vector bool char __builtin_altivec_vperm_4si(vector signed int a1, vector signed int a2, vector signed char a3); +extern vector bool char __builtin_altivec_vpkuhum(vector signed short a1, vector signed short a2); +extern vector bool char __builtin_altivec_vsel_4si(vector signed int a1, vector signed int a2, vector signed int a3); +extern vector bool char __builtin_altivec_vsl(vector signed int a1, vector signed int a2); +extern vector bool char __builtin_altivec_vsldoi_4si(vector signed int a1, vector signed int a2, const int a3); +extern vector bool char __builtin_altivec_vsldoi_4sf(vector float a1, vector float a2, const int a3); +extern vector bool char __builtin_altivec_vspltb(vector signed char a1, const int a2); +extern vector bool char __builtin_altivec_vsr(vector signed int a1, vector signed int a2); +extern vector bool char __builtin_altivec_vxor(vector signed int a1, vector signed int a2); +extern vector bool int __builtin_altivec_vcmpeqfp(vector float a1, vector float a2); +extern vector bool int __builtin_altivec_vcmpequw(vector signed int a1, vector signed int a2); +extern vector bool int __builtin_altivec_vcmpgefp(vector float a1, vector float a2); +extern vector bool int __builtin_altivec_vcmpgtfp(vector float a1, vector float a2); +extern vector bool int __builtin_altivec_vcmpgtsw(vector signed int a1, vector signed int a2); +extern vector bool int __builtin_altivec_vcmpgtuw(vector signed int a1, vector signed int a2); +extern vector bool int __builtin_altivec_vmrghw(vector signed int a1, vector signed int a2); +extern vector bool int __builtin_altivec_vmrglw(vector signed int a1, vector signed int a2); +extern vector bool int __builtin_altivec_vspltw(vector signed int a1, const int a2); +extern vector bool int __builtin_altivec_vupkhsh(vector signed short a1); +extern vector bool int __builtin_altivec_vupklsh(vector signed short a1); +extern vector bool short __builtin_altivec_vcmpequh(vector signed short a1, vector signed short a2); +extern vector bool short __builtin_altivec_vcmpgtsh(vector signed short a1, vector signed short a2); +extern vector bool short __builtin_altivec_vcmpgtuh(vector signed short a1, vector signed short a2); +extern vector bool short __builtin_altivec_vmrghh(vector signed short a1, vector signed short a2); +extern vector bool short __builtin_altivec_vmrglh(vector signed short a1, vector signed short a2); +extern vector bool short __builtin_altivec_vpkuwum(vector signed int a1, vector signed int a2); +extern vector bool short __builtin_altivec_vsplth(vector signed short a1, const int a2); +extern vector bool short __builtin_altivec_vupkhsb(vector signed char a1); +extern vector bool short __builtin_altivec_vupklsb(vector signed char a1); +extern vector float __builtin_altivec_abs_v4sf(vector float a1); +extern vector float __builtin_altivec_lvewx(OFFSET_T a1, const void * a2); +extern vector float __builtin_altivec_vaddfp(vector float a1, vector float a2); +extern vector float __builtin_altivec_vcfsx(vector signed int a1, const int a2); +extern vector float __builtin_altivec_vcfux(vector signed int a1, const int a2); +extern vector float __builtin_altivec_vexptefp(vector float a1); +extern vector float __builtin_altivec_vlogefp(vector float a1); +extern vector float __builtin_altivec_vmaddfp(vector float a1, vector float a2, vector float a3); +extern vector float __builtin_altivec_vmaxfp(vector float a1, vector float a2); +extern vector float __builtin_altivec_vminfp(vector float a1, vector float a2); +extern vector float __builtin_altivec_vnmsubfp(vector float a1, vector float a2, vector float a3); +extern vector float __builtin_altivec_vrefp(vector float a1); +extern vector float __builtin_altivec_vrfim(vector float a1); +extern vector float __builtin_altivec_vrfin(vector float a1); +extern vector float __builtin_altivec_vrfip(vector float a1); +extern vector float __builtin_altivec_vrfiz(vector float a1); +extern vector float __builtin_altivec_vrsqrtefp(vector float a1); +extern vector float __builtin_altivec_vslo(vector signed int a1, vector signed int a2); +extern vector float __builtin_altivec_vsro(vector signed int a1, vector signed int a2); +extern vector float __builtin_altivec_vsubfp(vector float a1, vector float a2); +extern vector pixel __builtin_altivec_vpkpx(vector signed int a1, vector signed int a2); +extern vector signed char __builtin_altivec_abs_v16qi(vector signed char a1); +extern vector signed char __builtin_altivec_abss_v16qi(vector signed char a1); +extern vector signed char __builtin_altivec_lvebx(OFFSET_T a1, const void * a2); +extern vector signed char __builtin_altivec_vaddsbs(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vaddubm(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vavgsb(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vmaxsb(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vminsb(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vpkshss(vector signed short a1, vector signed short a2); +extern vector signed char __builtin_altivec_vrlb(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vslb(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vspltisb(const int a1); +extern vector signed char __builtin_altivec_vsrab(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vsrb(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vsubsbs(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vsububm(vector signed char a1, vector signed char a2); +extern vector signed int __builtin_altivec_abs_v4si(vector signed int a1); +extern vector signed int __builtin_altivec_abss_v4si(vector signed int a1); +extern vector signed int __builtin_altivec_vaddsws(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vadduwm(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vavgsw(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vcmpbfp(vector float a1, vector float a2); +extern vector signed int __builtin_altivec_vctsxs(vector float a1, const int a2); +extern vector signed int __builtin_altivec_vmaxsw(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vminsw(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vmsummbm(vector signed char a1, vector signed char a2, vector signed int a3); +extern vector signed int __builtin_altivec_vmsumshm(vector signed short a1, vector signed short a2, vector signed int a3); +extern vector signed int __builtin_altivec_vmsumshs(vector signed short a1, vector signed short a2, vector signed int a3); +extern vector signed int __builtin_altivec_vmulesh(vector signed short a1, vector signed short a2); +extern vector signed int __builtin_altivec_vmulosh(vector signed short a1, vector signed short a2); +extern vector signed int __builtin_altivec_vrlw(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vslw(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vspltisw(const int a1); +extern vector signed int __builtin_altivec_vsraw(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vsrw(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vsubsws(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vsubuwm(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vsum2sws(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vsum4sbs(vector signed char a1, vector signed int a2); +extern vector signed int __builtin_altivec_vsum4shs(vector signed short a1, vector signed int a2); +extern vector signed int __builtin_altivec_vsumsws(vector signed int a1, vector signed int a2); +extern vector signed short __builtin_altivec_abs_v8hi(vector signed short a1); +extern vector signed short __builtin_altivec_abss_v8hi(vector signed short a1); +extern vector signed short __builtin_altivec_lvehx(OFFSET_T a1, const void * a2); +extern vector signed short __builtin_altivec_vaddshs(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vadduhm(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vavgsh(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vmaxsh(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vmhaddshs(vector signed short a1, vector signed short a2, vector signed short a3); +extern vector signed short __builtin_altivec_vmhraddshs(vector signed short a1, vector signed short a2, vector signed short a3); +extern vector signed short __builtin_altivec_vminsh(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vmladduhm(vector signed short a1, vector signed short a2, vector signed short a3); +extern vector signed short __builtin_altivec_vmulesb(vector signed char a1, vector signed char a2); +extern vector signed short __builtin_altivec_vmuleub(vector signed char a1, vector signed char a2); +extern vector signed short __builtin_altivec_vmulosb(vector signed char a1, vector signed char a2); +extern vector signed short __builtin_altivec_vpkswss(vector signed int a1, vector signed int a2); +extern vector signed short __builtin_altivec_vrlh(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vslh(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vspltish(const int a1); +extern vector signed short __builtin_altivec_vsrah(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vsrh(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vsubshs(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vsubuhm(vector signed short a1, vector signed short a2); +extern vector unsigned char __builtin_altivec_lvlx(OFFSET_T a1, const void * a2); +extern vector unsigned char __builtin_altivec_lvlxl(OFFSET_T a1, const void * a2); +extern vector unsigned char __builtin_altivec_lvrx(OFFSET_T a1, const void * a2); +extern vector unsigned char __builtin_altivec_lvrxl(OFFSET_T a1, const void * a2); +extern vector unsigned char __builtin_altivec_lvsl(OFFSET_T a1, const void * a2); +extern vector unsigned char __builtin_altivec_lvsr(OFFSET_T a1, const void * a2); +extern vector unsigned char __builtin_altivec_vaddubs(vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_altivec_vavgub(vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_altivec_vmaxub(vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_altivec_vminub(vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_altivec_vpkshus(vector signed short a1, vector signed short a2); +extern vector unsigned char __builtin_altivec_vpkuhus(vector signed short a1, vector signed short a2); +extern vector unsigned char __builtin_altivec_vsububs(vector signed char a1, vector signed char a2); +extern vector unsigned int __builtin_altivec_vaddcuw(vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vadduws(vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vavguw(vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vctuxs(vector float a1, const int a2); +extern vector unsigned int __builtin_altivec_vmaxuw(vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vminuw(vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vmsumubm(vector signed char a1, vector signed char a2, vector signed int a3); +extern vector unsigned int __builtin_altivec_vmsumuhm(vector signed short a1, vector signed short a2, vector signed int a3); +extern vector unsigned int __builtin_altivec_vmsumuhs(vector signed short a1, vector signed short a2, vector signed int a3); +extern vector unsigned int __builtin_altivec_vmuleuh(vector signed short a1, vector signed short a2); +extern vector unsigned int __builtin_altivec_vmulouh(vector signed short a1, vector signed short a2); +extern vector unsigned int __builtin_altivec_vsubcuw(vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vsubuws(vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vsum4ubs(vector signed char a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vupkhpx(vector signed short a1); +extern vector unsigned int __builtin_altivec_vupklpx(vector signed short a1); +extern vector unsigned short __builtin_altivec_mfvscr(); +extern vector unsigned short __builtin_altivec_vadduhs(vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_altivec_vavguh(vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_altivec_vmaxuh(vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_altivec_vminuh(vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_altivec_vmuloub(vector signed char a1, vector signed char a2); +extern vector unsigned short __builtin_altivec_vpkswus(vector signed int a1, vector signed int a2); +extern vector unsigned short __builtin_altivec_vpkuwus(vector signed int a1, vector signed int a2); +extern vector unsigned short __builtin_altivec_vsubuhs(vector signed short a1, vector signed short a2); +extern void __builtin_altivec_dss(int a1); +extern void __builtin_altivec_dssall(); +extern void __builtin_altivec_dst(const void *a1, OFFSET_T a2, const int a3); +extern void __builtin_altivec_dstst(const void *a1, OFFSET_T a2, const int a3); +extern void __builtin_altivec_dststt(const void *a1, OFFSET_T a2, const int a3); +extern void __builtin_altivec_dstt(const void *a1, OFFSET_T a2, const int a3); +extern void __builtin_altivec_mtvscr(vector signed int a1); +#ifdef __coverity_cplusplus +extern void __builtin_altivec_stvebx(vector signed char a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvehx(vector signed short a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvewx(vector signed int a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvlx(vector signed char a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvlxl(vector signed char a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvrx(vector signed char a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvrxl(vector signed char a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvx(vector signed int a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvxl(vector signed int a1, OFFSET_T a2, const void * a3); +extern vector bool char __builtin_altivec_vsel_4sf(vector float a1, vector float a2, vector float a3); +extern vector bool char __builtin_altivec_vsel_4sf(vector float a1, vector float a2, vector signed int a3); +#else +extern void __builtin_altivec_stvebx(); +extern void __builtin_altivec_stvehx(); +extern void __builtin_altivec_stvewx(); +extern void __builtin_altivec_stvlx(); +extern void __builtin_altivec_stvlxl(); +extern void __builtin_altivec_stvrx(); +extern void __builtin_altivec_stvrxl(); +extern void __builtin_altivec_stvx(); +extern void __builtin_altivec_stvxl(); +extern __coverity_generic_altivec_vector __builtin_altivec_vsel_4sf(); +#endif +#endif /* __ALTIVEC__ */ +/* + Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. + The information contained in this file is the proprietary and confidential + information of Synopsys, Inc. and its licensors, and is supplied subject to, + and may be used only by Synopsys customers in accordance with the terms and + conditions of a previously executed license agreement between Synopsys and + that customer. +*/ + +/* + * These declarations are used to implement various sanitizer modes. They are + * not supported intrinsically by cov-emit. + */ + +// -fsanitize-coverage=trace-cmp +void __asan_after_dynamic_init(void); +void __asan_handle_no_return(void); +void __asan_init(void); +void __asan_version_mismatch_check_v8(void); +void __builtin___asan_after_dynamic_init(void); +void __builtin___asan_handle_no_return(void); +void __builtin___asan_init(void); +void __builtin___asan_version_mismatch_check_v8(void); +void __builtin___sanitizer_cov_trace_pc(void); +void __builtin___tsan_init(void); +void __sanitizer_cov_trace_pc(void); +void __tsan_init(void); +void __asan_alloca_poison(void*, long int); +void __asan_allocas_unpoison(void*, long int); +void __asan_before_dynamic_init(const void*); +void __asan_load1(void*); +void __asan_load16(void*); +void __asan_load16_noabort(void*); +void __asan_load1_noabort(void*); +void __asan_load2(void*); +void __asan_load2_noabort(void*); +void __asan_load4(void*); +void __asan_load4_noabort(void*); +void __asan_load8(void*); +void __asan_load8_noabort(void*); +void __asan_loadN(void*, long int); +void __asan_loadN_noabort(void*, long int); +void __asan_poison_stack_memory(void*, long int); +void __asan_register_globals(void*, long int); +void __asan_report_load1(void*); +void __asan_report_load16(void*); +void __asan_report_load16_noabort(void*); +void __asan_report_load1_noabort(void*); +void __asan_report_load2(void*); +void __asan_report_load2_noabort(void*); +void __asan_report_load4(void*); +void __asan_report_load4_noabort(void*); +void __asan_report_load8(void*); +void __asan_report_load8_noabort(void*); +void __asan_report_load_n(void*, long int); +void __asan_report_load_n_noabort(void*, long int); +void __asan_report_store1(void*); +void __asan_report_store16(void*); +void __asan_report_store16_noabort(void*); +void __asan_report_store1_noabort(void*); +void __asan_report_store2(void*); +void __asan_report_store2_noabort(void*); +void __asan_report_store4(void*); +void __asan_report_store4_noabort(void*); +void __asan_report_store8(void*); +void __asan_report_store8_noabort(void*); +void __asan_report_store_n(void*, long int); +void __asan_report_store_n_noabort(void*, long int); +void __asan_store1(void*); +void __asan_store16(void*); +void __asan_store16_noabort(void*); +void __asan_store1_noabort(void*); +void __asan_store2(void*); +void __asan_store2_noabort(void*); +void __asan_store4(void*); +void __asan_store4_noabort(void*); +void __asan_store8(void*); +void __asan_store8_noabort(void*); +void __asan_storeN(void*, long int); +void __asan_storeN_noabort(void*, long int); +void __asan_unpoison_stack_memory(void*, long int); +void __asan_unregister_globals(void*, long int); +void __builtin___asan_alloca_poison(void*, long int); +void __builtin___asan_allocas_unpoison(void*, long int); +void __builtin___asan_before_dynamic_init(const void*); +void __builtin___asan_load1(void*); +void __builtin___asan_load16(void*); +void __builtin___asan_load16_noabort(void*); +void __builtin___asan_load1_noabort(void*); +void __builtin___asan_load2(void*); +void __builtin___asan_load2_noabort(void*); +void __builtin___asan_load4(void*); +void __builtin___asan_load4_noabort(void*); +void __builtin___asan_load8(void*); +void __builtin___asan_load8_noabort(void*); +void __builtin___asan_loadN(void*, long int); +void __builtin___asan_loadN_noabort(void*, long int); +void __builtin___asan_poison_stack_memory(void*, long int); +void __builtin___asan_register_globals(void*, long int); +void __builtin___asan_report_load1(void*); +void __builtin___asan_report_load16(void*); +void __builtin___asan_report_load16_noabort(void*); +void __builtin___asan_report_load1_noabort(void*); +void __builtin___asan_report_load2(void*); +void __builtin___asan_report_load2_noabort(void*); +void __builtin___asan_report_load4(void*); +void __builtin___asan_report_load4_noabort(void*); +void __builtin___asan_report_load8(void*); +void __builtin___asan_report_load8_noabort(void*); +void __builtin___asan_report_load_n(void*, long int); +void __builtin___asan_report_load_n_noabort(void*, long int); +void __builtin___asan_report_store1(void*); +void __builtin___asan_report_store16(void*); +void __builtin___asan_report_store16_noabort(void*); +void __builtin___asan_report_store1_noabort(void*); +void __builtin___asan_report_store2(void*); +void __builtin___asan_report_store2_noabort(void*); +void __builtin___asan_report_store4(void*); +void __builtin___asan_report_store4_noabort(void*); +void __builtin___asan_report_store8(void*); +void __builtin___sanitizer_cov_trace_cmp2(short unsigned int, short unsigned int); +void __builtin___sanitizer_cov_trace_cmp4(unsigned int, unsigned int); +void __builtin___sanitizer_cov_trace_cmp8(long unsigned int, long unsigned int); +void __builtin___sanitizer_cov_trace_cmpd(double, double); +void __builtin___sanitizer_cov_trace_cmpf(float, float); +void __builtin___sanitizer_cov_trace_const_cmp1(unsigned char, unsigned char); +void __builtin___sanitizer_cov_trace_const_cmp2(short unsigned int, short unsigned int); +void __builtin___sanitizer_cov_trace_const_cmp4(unsigned int, unsigned int); +void __builtin___sanitizer_cov_trace_const_cmp8(long unsigned int, long unsigned int); +void __builtin___sanitizer_cov_trace_switch(long unsigned int, void*); +void __builtin___sanitizer_ptr_cmp(void*, long int); +void __builtin___sanitizer_ptr_sub(void*, long int); + +void __builtin___hwasan_handle_longjmp(const void*); +void __builtin___hwasan_load1(void*); +void __builtin___hwasan_load16(void*); +void __builtin___hwasan_load16_noabort(void*); +void __builtin___hwasan_load1_noabort(void*); +void __builtin___hwasan_load2(void*); +void __builtin___hwasan_load2_noabort(void*); +void __builtin___hwasan_load4(void*); +void __builtin___hwasan_load4_noabort(void*); +void __builtin___hwasan_load8(void*); +void __builtin___hwasan_load8_noabort(void*); +void __builtin___hwasan_loadN(void*, long int); +void __builtin___hwasan_loadN_noabort(void*, long int); +void __builtin___hwasan_store1(void*); +void __builtin___hwasan_store16(void*); +void __builtin___hwasan_store16_noabort(void*); +void __builtin___hwasan_store1_noabort(void*); +void __builtin___hwasan_store2(void*); +void __builtin___hwasan_store2_noabort(void*); +void __builtin___hwasan_store4(void*); +void __builtin___hwasan_store4_noabort(void*); +void __builtin___hwasan_store8(void*); +void __builtin___hwasan_store8_noabort(void*); +void __builtin___hwasan_storeN(void*, long int); +void __builtin___hwasan_storeN_noabort(void*, long int); +void __builtin___hwasan_tag_memory(void*, unsigned char, long int); +void __builtin___hwasan_tag_mismatch4(void*); +void* __builtin___hwasan_tag_pointer(const void*, unsigned char); +void __builtin___tsan_volatile_read1(void*); +void __builtin___tsan_volatile_read16(void*); +void __builtin___tsan_volatile_read2(void*); +void __builtin___tsan_volatile_read4(void*); +void __builtin___tsan_volatile_read8(void*); +void __builtin___tsan_volatile_write1(void*); +void __builtin___tsan_volatile_write16(void*); +void __builtin___tsan_volatile_write2(void*); +void __builtin___tsan_volatile_write4(void*); +void __builtin___tsan_volatile_write8(void*); +void __hwasan_handle_longjmp(const void*); +void __hwasan_load1(void*); +void __hwasan_load16(void*); +void __hwasan_load16_noabort(void*); +void __hwasan_load1_noabort(void*); +void __hwasan_load2(void*); +void __hwasan_load2_noabort(void*); +void __hwasan_load4(void*); +void __hwasan_load4_noabort(void*); +void __hwasan_load8(void*); +void __hwasan_load8_noabort(void*); +void __hwasan_loadN(void*, long int); +void __hwasan_loadN_noabort(void*, long int); +void __hwasan_store1(void*); +void __hwasan_store16(void*); +void __hwasan_store16_noabort(void*); +void __hwasan_store1_noabort(void*); +void __hwasan_store2(void*); +void __hwasan_store2_noabort(void*); +void __hwasan_store4(void*); +void __hwasan_store4_noabort(void*); +void __hwasan_store8(void*); +void __hwasan_store8_noabort(void*); +void __hwasan_storeN(void*, long int); +void __hwasan_storeN_noabort(void*, long int); +void __hwasan_tag_memory(void*, unsigned char, long int); +void __hwasan_tag_mismatch4(void*); +void* __hwasan_tag_pointer(const void*, unsigned char); +void __tsan_volatile_read1(void*); +void __tsan_volatile_read16(void*); +void __tsan_volatile_read2(void*); +void __tsan_volatile_read4(void*); +void __tsan_volatile_read8(void*); +void __tsan_volatile_write1(void*); +void __tsan_volatile_write16(void*); +void __tsan_volatile_write2(void*); +void __tsan_volatile_write4(void*); +void __tsan_volatile_write8(void*); +void __builtin___hwasan_init(void); +void __hwasan_init(void); + +#if defined(__SIZEOF_INT128__) +__edg_bool_type__ __builtin___tsan_atomic128_compare_exchange_strong(volatile void*, void*, __int128 unsigned, int, int); +__edg_bool_type__ __builtin___tsan_atomic128_compare_exchange_weak(volatile void*, void*, __int128 unsigned, int, int); +__int128 unsigned __builtin___tsan_atomic128_exchange(volatile void*, __int128 unsigned, int); +__int128 unsigned __builtin___tsan_atomic128_fetch_add(volatile void*, __int128 unsigned, int); +__int128 unsigned __builtin___tsan_atomic128_fetch_and(volatile void*, __int128 unsigned, int); +__int128 unsigned __builtin___tsan_atomic128_fetch_nand(volatile void*, __int128 unsigned, int); +__int128 unsigned __builtin___tsan_atomic128_fetch_or(volatile void*, __int128 unsigned, int); +__int128 unsigned __builtin___tsan_atomic128_fetch_sub(volatile void*, __int128 unsigned, int); +__int128 unsigned __builtin___tsan_atomic128_fetch_xor(volatile void*, __int128 unsigned, int); +__int128 unsigned __builtin___tsan_atomic128_load(const volatile void*, int); +void __builtin___tsan_atomic128_store(volatile void*, __int128 unsigned, int); +__edg_bool_type__ __tsan_atomic128_compare_exchange_strong(volatile void*, void*, __int128 unsigned, int, int); +__edg_bool_type__ __tsan_atomic128_compare_exchange_weak(volatile void*, void*, __int128 unsigned, int, int); +__int128 unsigned __tsan_atomic128_exchange(volatile void*, __int128 unsigned, int); +__int128 unsigned __tsan_atomic128_fetch_add(volatile void*, __int128 unsigned, int); +__int128 unsigned __tsan_atomic128_fetch_and(volatile void*, __int128 unsigned, int); +__int128 unsigned __tsan_atomic128_fetch_nand(volatile void*, __int128 unsigned, int); +__int128 unsigned __tsan_atomic128_fetch_or(volatile void*, __int128 unsigned, int); +__int128 unsigned __tsan_atomic128_fetch_sub(volatile void*, __int128 unsigned, int); +__int128 unsigned __tsan_atomic128_fetch_xor(volatile void*, __int128 unsigned, int); +__int128 unsigned __tsan_atomic128_load(const volatile void*, int); +void __tsan_atomic128_store(volatile void*, __int128 unsigned, int); + +__int128 unsigned __builtin_bswap128(__int128 unsigned); +#endif /* defined(__SIZEOF_INT128__) */ + +__edg_bool_type__ __builtin___tsan_atomic16_compare_exchange_strong(volatile void*, void*, short unsigned int, int, int); +__edg_bool_type__ __builtin___tsan_atomic16_compare_exchange_weak(volatile void*, void*, short unsigned int, int, int); +short unsigned int __builtin___tsan_atomic16_exchange(volatile void*, short unsigned int, int); +short unsigned int __builtin___tsan_atomic16_fetch_add(volatile void*, short unsigned int, int); +short unsigned int __builtin___tsan_atomic16_fetch_and(volatile void*, short unsigned int, int); +short unsigned int __builtin___tsan_atomic16_fetch_nand(volatile void*, short unsigned int, int); +short unsigned int __builtin___tsan_atomic16_fetch_or(volatile void*, short unsigned int, int); +short unsigned int __builtin___tsan_atomic16_fetch_sub(volatile void*, short unsigned int, int); +short unsigned int __builtin___tsan_atomic16_fetch_xor(volatile void*, short unsigned int, int); +short unsigned int __builtin___tsan_atomic16_load(const volatile void*, int); +void __builtin___tsan_atomic16_store(volatile void*, short unsigned int, int); +__edg_bool_type__ __builtin___tsan_atomic32_compare_exchange_strong(volatile void*, void*, unsigned int, int, int); +__edg_bool_type__ __builtin___tsan_atomic32_compare_exchange_weak(volatile void*, void*, unsigned int, int, int); +unsigned int __builtin___tsan_atomic32_exchange(volatile void*, unsigned int, int); +unsigned int __builtin___tsan_atomic32_fetch_add(volatile void*, unsigned int, int); +unsigned int __builtin___tsan_atomic32_fetch_and(volatile void*, unsigned int, int); +unsigned int __builtin___tsan_atomic32_fetch_nand(volatile void*, unsigned int, int); +unsigned int __builtin___tsan_atomic32_fetch_or(volatile void*, unsigned int, int); +unsigned int __builtin___tsan_atomic32_fetch_sub(volatile void*, unsigned int, int); +unsigned int __builtin___tsan_atomic32_fetch_xor(volatile void*, unsigned int, int); +unsigned int __builtin___tsan_atomic32_load(const volatile void*, int); +void __builtin___tsan_atomic32_store(volatile void*, unsigned int, int); +__edg_bool_type__ __builtin___tsan_atomic64_compare_exchange_strong(volatile void*, void*, long unsigned int, int, int); +__edg_bool_type__ __builtin___tsan_atomic64_compare_exchange_weak(volatile void*, void*, long unsigned int, int, int); +long unsigned int __builtin___tsan_atomic64_exchange(volatile void*, long unsigned int, int); +long unsigned int __builtin___tsan_atomic64_fetch_add(volatile void*, long unsigned int, int); +long unsigned int __builtin___tsan_atomic64_fetch_and(volatile void*, long unsigned int, int); +long unsigned int __builtin___tsan_atomic64_fetch_nand(volatile void*, long unsigned int, int); +long unsigned int __builtin___tsan_atomic64_fetch_or(volatile void*, long unsigned int, int); +long unsigned int __builtin___tsan_atomic64_fetch_sub(volatile void*, long unsigned int, int); +long unsigned int __builtin___tsan_atomic64_fetch_xor(volatile void*, long unsigned int, int); +long unsigned int __builtin___tsan_atomic64_load(const volatile void*, int); +void __builtin___tsan_atomic64_store(volatile void*, long unsigned int, int); +__edg_bool_type__ __builtin___tsan_atomic8_compare_exchange_strong(volatile void*, void*, unsigned char, int, int); +__edg_bool_type__ __builtin___tsan_atomic8_compare_exchange_weak(volatile void*, void*, unsigned char, int, int); +unsigned char __builtin___tsan_atomic8_exchange(volatile void*, unsigned char, int); +unsigned char __builtin___tsan_atomic8_fetch_add(volatile void*, unsigned char, int); +unsigned char __builtin___tsan_atomic8_fetch_and(volatile void*, unsigned char, int); +unsigned char __builtin___tsan_atomic8_fetch_nand(volatile void*, unsigned char, int); +unsigned char __builtin___tsan_atomic8_fetch_or(volatile void*, unsigned char, int); +unsigned char __builtin___tsan_atomic8_fetch_sub(volatile void*, unsigned char, int); +unsigned char __builtin___tsan_atomic8_fetch_xor(volatile void*, unsigned char, int); +unsigned char __builtin___tsan_atomic8_load(const volatile void*, int); +void __builtin___tsan_atomic8_store(volatile void*, unsigned char, int); +void __builtin___tsan_atomic_signal_fence(int); +void __builtin___tsan_atomic_thread_fence(int); +void __builtin___tsan_func_entry(void*); +void __builtin___tsan_func_exit(void*); +void __builtin___tsan_read1(void*); +void __builtin___tsan_read16(void*); +void __builtin___tsan_read2(void*); +void __builtin___tsan_read4(void*); +void __builtin___tsan_read8(void*); +void __builtin___tsan_read_range(void*, long int); +#if __COVERITY_GCC_VERSION_AT_LEAST(5, 1) +void __builtin___tsan_vptr_update(void*, void*); +void __tsan_vptr_update(void*, void*); +#else +void __tsan_vptr_update(void*); +void __builtin___tsan_vptr_update(void*); +#endif +void __builtin___tsan_write1(void*); +void __builtin___tsan_write16(void*); +void __builtin___tsan_write2(void*); +void __builtin___tsan_write4(void*); +void __builtin___tsan_write8(void*); +void __builtin___tsan_write_range(void*, long int); +void __builtin___ubsan_handle_add_overflow(void*, void*, void*); +void __builtin___ubsan_handle_add_overflow_abort(void*, void*, void*); +void __builtin___ubsan_handle_builtin_unreachable(void*); +void __builtin___ubsan_handle_divrem_overflow(void*, void*, void*); +void __builtin___ubsan_handle_divrem_overflow_abort(void*, void*, void*); +void __builtin___ubsan_handle_dynamic_type_cache_miss(void*, void*, void*); +void __builtin___ubsan_handle_dynamic_type_cache_miss_abort(void*, void*, void*); +void __builtin___ubsan_handle_float_cast_overflow(void*, void*); +void __builtin___ubsan_handle_float_cast_overflow_abort(void*, void*); +void __builtin___ubsan_handle_invalid_builtin(void*); +void __builtin___ubsan_handle_invalid_builtin_abort(void*); +void __builtin___ubsan_handle_load_invalid_value(void*, void*); +void __builtin___ubsan_handle_load_invalid_value_abort(void*, void*); +void __builtin___ubsan_handle_missing_return(void*); +void __builtin___ubsan_handle_mul_overflow(void*, void*, void*); +void __builtin___ubsan_handle_mul_overflow_abort(void*, void*, void*); +void __builtin___ubsan_handle_negate_overflow(void*, void*); +void __builtin___ubsan_handle_negate_overflow_abort(void*, void*); +#if __COVERITY_GCC_VERSION_AT_LEAST(6, 0) +void __builtin___ubsan_handle_nonnull_arg(void*); +void __builtin___ubsan_handle_nonnull_arg_abort(void*); +void __ubsan_handle_nonnull_arg(void*); +void __ubsan_handle_nonnull_arg_abort(void*); +#else +void __ubsan_handle_nonnull_arg(void*, int); +void __ubsan_handle_nonnull_arg_abort(void*, int); +void __builtin___ubsan_handle_nonnull_arg(void*, int); +void __builtin___ubsan_handle_nonnull_arg_abort(void*, int); +#endif +void __builtin___ubsan_handle_nonnull_return_v1(void*, void*); +void __builtin___ubsan_handle_nonnull_return_v1_abort(void*, void*); +void __builtin___ubsan_handle_out_of_bounds(void*, void*); +void __builtin___ubsan_handle_out_of_bounds_abort(void*, void*); +void __builtin___ubsan_handle_pointer_overflow(void*, void*, void*); +void __builtin___ubsan_handle_pointer_overflow_abort(void*, void*, void*); +void __builtin___ubsan_handle_shift_out_of_bounds(void*, void*, void*); +void __builtin___ubsan_handle_shift_out_of_bounds_abort(void*, void*, void*); +void __builtin___ubsan_handle_sub_overflow(void*, void*, void*); +void __builtin___ubsan_handle_sub_overflow_abort(void*, void*, void*); +void __builtin___ubsan_handle_type_mismatch_v1(void*, void*); +void __builtin___ubsan_handle_type_mismatch_v1_abort(void*, void*); +void __builtin___ubsan_handle_vla_bound_not_positive(void*, void*); +void __builtin___ubsan_handle_vla_bound_not_positive_abort(void*, void*); +void __sanitizer_cov_trace_cmp1(unsigned char, unsigned char); +void __sanitizer_cov_trace_cmp2(short unsigned int, short unsigned int); +void __sanitizer_cov_trace_cmp4(unsigned int, unsigned int); +void __sanitizer_cov_trace_cmp8(long unsigned int, long unsigned int); +void __sanitizer_cov_trace_cmpd(double, double); +void __sanitizer_cov_trace_cmpf(float, float); +void __sanitizer_cov_trace_const_cmp1(unsigned char, unsigned char); +void __sanitizer_cov_trace_const_cmp2(short unsigned int, short unsigned int); +void __sanitizer_cov_trace_const_cmp4(unsigned int, unsigned int); +void __sanitizer_cov_trace_const_cmp8(long unsigned int, long unsigned int); +void __sanitizer_cov_trace_switch(long unsigned int, void*); +void __sanitizer_ptr_cmp(void*, long int); +void __sanitizer_ptr_sub(void*, long int); +__edg_bool_type__ __tsan_atomic16_compare_exchange_strong(volatile void*, void*, short unsigned int, int, int); +__edg_bool_type__ __tsan_atomic16_compare_exchange_weak(volatile void*, void*, short unsigned int, int, int); +short unsigned int __tsan_atomic16_exchange(volatile void*, short unsigned int, int); +short unsigned int __tsan_atomic16_fetch_add(volatile void*, short unsigned int, int); +short unsigned int __tsan_atomic16_fetch_and(volatile void*, short unsigned int, int); +short unsigned int __tsan_atomic16_fetch_nand(volatile void*, short unsigned int, int); +short unsigned int __tsan_atomic16_fetch_or(volatile void*, short unsigned int, int); +short unsigned int __tsan_atomic16_fetch_sub(volatile void*, short unsigned int, int); +short unsigned int __tsan_atomic16_fetch_xor(volatile void*, short unsigned int, int); +short unsigned int __tsan_atomic16_load(const volatile void*, int); +void __tsan_atomic16_store(volatile void*, short unsigned int, int); +__edg_bool_type__ __tsan_atomic32_compare_exchange_strong(volatile void*, void*, unsigned int, int, int); +__edg_bool_type__ __tsan_atomic32_compare_exchange_weak(volatile void*, void*, unsigned int, int, int); +unsigned int __tsan_atomic32_exchange(volatile void*, unsigned int, int); +unsigned int __tsan_atomic32_fetch_add(volatile void*, unsigned int, int); +unsigned int __tsan_atomic32_fetch_and(volatile void*, unsigned int, int); +unsigned int __tsan_atomic32_fetch_nand(volatile void*, unsigned int, int); +unsigned int __tsan_atomic32_fetch_or(volatile void*, unsigned int, int); +unsigned int __tsan_atomic32_fetch_sub(volatile void*, unsigned int, int); +unsigned int __tsan_atomic32_fetch_xor(volatile void*, unsigned int, int); +unsigned int __tsan_atomic32_load(const volatile void*, int); +void __tsan_atomic32_store(volatile void*, unsigned int, int); +__edg_bool_type__ __tsan_atomic64_compare_exchange_strong(volatile void*, void*, long unsigned int, int, int); +__edg_bool_type__ __tsan_atomic64_compare_exchange_weak(volatile void*, void*, long unsigned int, int, int); +long unsigned int __tsan_atomic64_exchange(volatile void*, long unsigned int, int); +long unsigned int __tsan_atomic64_fetch_add(volatile void*, long unsigned int, int); +long unsigned int __tsan_atomic64_fetch_and(volatile void*, long unsigned int, int); +long unsigned int __tsan_atomic64_fetch_nand(volatile void*, long unsigned int, int); +long unsigned int __tsan_atomic64_fetch_or(volatile void*, long unsigned int, int); +long unsigned int __tsan_atomic64_fetch_sub(volatile void*, long unsigned int, int); +long unsigned int __tsan_atomic64_fetch_xor(volatile void*, long unsigned int, int); +long unsigned int __tsan_atomic64_load(const volatile void*, int); +void __tsan_atomic64_store(volatile void*, long unsigned int, int); +__edg_bool_type__ __tsan_atomic8_compare_exchange_strong(volatile void*, void*, unsigned char, int, int); +__edg_bool_type__ __tsan_atomic8_compare_exchange_weak(volatile void*, void*, unsigned char, int, int); +unsigned char __tsan_atomic8_exchange(volatile void*, unsigned char, int); +unsigned char __tsan_atomic8_fetch_add(volatile void*, unsigned char, int); +unsigned char __tsan_atomic8_fetch_and(volatile void*, unsigned char, int); +unsigned char __tsan_atomic8_fetch_nand(volatile void*, unsigned char, int); +unsigned char __tsan_atomic8_fetch_or(volatile void*, unsigned char, int); +unsigned char __tsan_atomic8_fetch_sub(volatile void*, unsigned char, int); +unsigned char __tsan_atomic8_fetch_xor(volatile void*, unsigned char, int); +unsigned char __tsan_atomic8_load(const volatile void*, int); +void __tsan_atomic8_store(volatile void*, unsigned char, int); +void __tsan_atomic_signal_fence(int); +void __tsan_atomic_thread_fence(int); +void __tsan_func_entry(void*); +void __tsan_func_exit(void*); +void __tsan_read1(void*); +void __tsan_read16(void*); +void __tsan_read2(void*); +void __tsan_read4(void*); +void __tsan_read8(void*); +void __tsan_read_range(void*, long int); +void __tsan_write1(void*); +void __tsan_write16(void*); +void __tsan_write2(void*); +void __tsan_write4(void*); +void __tsan_write8(void*); +void __tsan_write_range(void*, long int); +void __ubsan_handle_add_overflow(void*, void*, void*); +void __ubsan_handle_add_overflow_abort(void*, void*, void*); +void __ubsan_handle_builtin_unreachable(void*); +void __ubsan_handle_divrem_overflow(void*, void*, void*); +void __ubsan_handle_divrem_overflow_abort(void*, void*, void*); +void __ubsan_handle_dynamic_type_cache_miss(void*, void*, void*); +void __ubsan_handle_dynamic_type_cache_miss_abort(void*, void*, void*); +void __ubsan_handle_float_cast_overflow(void*, void*); +void __ubsan_handle_float_cast_overflow_abort(void*, void*); +void __ubsan_handle_invalid_builtin(void*); +void __ubsan_handle_invalid_builtin_abort(void*); +void __ubsan_handle_load_invalid_value(void*, void*); +void __ubsan_handle_load_invalid_value_abort(void*, void*); +void __ubsan_handle_missing_return(void*); +void __ubsan_handle_mul_overflow(void*, void*, void*); +void __ubsan_handle_mul_overflow_abort(void*, void*, void*); +void __ubsan_handle_negate_overflow(void*, void*); +void __ubsan_handle_negate_overflow_abort(void*, void*); +void __ubsan_handle_nonnull_return_v1(void*, void*); +void __ubsan_handle_nonnull_return_v1_abort(void*, void*); +void __ubsan_handle_out_of_bounds(void*, void*); +void __ubsan_handle_out_of_bounds_abort(void*, void*); +void __ubsan_handle_pointer_overflow(void*, void*, void*); +void __ubsan_handle_pointer_overflow_abort(void*, void*, void*); +void __ubsan_handle_shift_out_of_bounds(void*, void*, void*); +void __ubsan_handle_shift_out_of_bounds_abort(void*, void*, void*); +void __ubsan_handle_sub_overflow(void*, void*, void*); +void __ubsan_handle_sub_overflow_abort(void*, void*, void*); +void __ubsan_handle_type_mismatch_v1(void*, void*); +void __ubsan_handle_type_mismatch_v1_abort(void*, void*); +void __ubsan_handle_vla_bound_not_positive(void*, void*); +void __ubsan_handle_vla_bound_not_positive_abort(void*, void*); + +/* Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. */ + +/* + * These declarations are used to support Windows targets. They are not + * supported intrinsically by cov-emit. + */ + +#if __COVERITY_GCC_VERSION_AT_LEAST(4, 4) +#define __builtin_ms_va_list __builtin_va_list +#define __builtin_ms_va_copy __builtin_va_copy +#define __builtin_ms_va_start __builtin_va_start +#define __builtin_ms_va_end __builtin_va_end + +#define __builtin_sysv_va_list __builtin_va_list +#define __builtin_sysv_va_copy __builtin_va_copy +#define __builtin_sysv_va_start __builtin_va_start +#define __builtin_sysv_va_end __builtin_va_end + +#define __ms_va_copy(__d,__s) __builtin_ms_va_copy(__d,__s) +#define __ms_va_start(__v,__l) __builtin_ms_va_start(__v,__l) +#define __ms_va_arg(__v,__l) __builtin_va_arg(__v,__l) +#define __ms_va_end(__v) __builtin_ms_va_end(__v) + +#define __sysv_va_copy(__d,__s) __builtin_sysv_va_copy(__d,__s) +#define __sysv_va_start(__v,__l) __builtin_sysv_va_start(__v,__l) +#define __sysv_va_arg(__v,__l) __builtin_va_arg(__v,__l) +#define __sysv_va_end(__v) __builtin_sysv_va_end(__v) +#endif /* GCC >= 4.4 */ + +#pragma builtin end +#endif /* COVERITY_COMPAT_78500a2f2d31ccbe7af41d295f2190b8 */ +#endif /* __COVERITY__ */ diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity-macro-compat.h b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity-macro-compat.h new file mode 100644 index 000000000..dd0854e36 --- /dev/null +++ b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity-macro-compat.h @@ -0,0 +1,1084 @@ + +#if !(defined(__SSP_STRONG__) || defined(__coverity_undefine___SSP_STRONG__)) +#define __SSP_STRONG__ 3 +#endif +#if !(defined(__DBL_MIN_EXP__) || defined(__coverity_undefine___DBL_MIN_EXP__)) +#define __DBL_MIN_EXP__ (-1021) +#endif +#if !(defined(__FLT32X_MAX_EXP__) || defined(__coverity_undefine___FLT32X_MAX_EXP__)) +#define __FLT32X_MAX_EXP__ 1024 +#endif +#if !(defined(__UINT_LEAST16_MAX__) || defined(__coverity_undefine___UINT_LEAST16_MAX__)) +#define __UINT_LEAST16_MAX__ 0xffff +#endif +#if !(defined(__ATOMIC_ACQUIRE) || defined(__coverity_undefine___ATOMIC_ACQUIRE)) +#define __ATOMIC_ACQUIRE 2 +#endif +#if !(defined(__FLT128_MAX_10_EXP__) || defined(__coverity_undefine___FLT128_MAX_10_EXP__)) +#define __FLT128_MAX_10_EXP__ 4932 +#endif +#if !(defined(__FLT_MIN__) || defined(__coverity_undefine___FLT_MIN__)) +#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F +#endif +#if !(defined(__GCC_IEC_559_COMPLEX) || defined(__coverity_undefine___GCC_IEC_559_COMPLEX)) +#define __GCC_IEC_559_COMPLEX 2 +#endif +#if !(defined(__UINT_LEAST8_TYPE__) || defined(__coverity_undefine___UINT_LEAST8_TYPE__)) +#define __UINT_LEAST8_TYPE__ unsigned char +#endif +#if !(defined(__SIZEOF_FLOAT80__) || defined(__coverity_undefine___SIZEOF_FLOAT80__)) +#define __SIZEOF_FLOAT80__ 16 +#endif +#if !(defined(__INTMAX_C) || defined(__coverity_undefine___INTMAX_C)) +#define __INTMAX_C(c) c ## L +#endif +#if !(defined(__CHAR_BIT__) || defined(__coverity_undefine___CHAR_BIT__)) +#define __CHAR_BIT__ 8 +#endif +#if !(defined(__UINT8_MAX__) || defined(__coverity_undefine___UINT8_MAX__)) +#define __UINT8_MAX__ 0xff +#endif +#if !(defined(__WINT_MAX__) || defined(__coverity_undefine___WINT_MAX__)) +#define __WINT_MAX__ 0xffffffffU +#endif +#if !(defined(__FLT32_MIN_EXP__) || defined(__coverity_undefine___FLT32_MIN_EXP__)) +#define __FLT32_MIN_EXP__ (-125) +#endif +#if !(defined(__ORDER_LITTLE_ENDIAN__) || defined(__coverity_undefine___ORDER_LITTLE_ENDIAN__)) +#define __ORDER_LITTLE_ENDIAN__ 1234 +#endif +#if !(defined(__SIZE_MAX__) || defined(__coverity_undefine___SIZE_MAX__)) +#define __SIZE_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__WCHAR_MAX__) || defined(__coverity_undefine___WCHAR_MAX__)) +#define __WCHAR_MAX__ 0x7fffffff +#endif +#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_1)) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +#endif +#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_2)) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +#endif +#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4)) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +#endif +#if !(defined(__DBL_DENORM_MIN__) || defined(__coverity_undefine___DBL_DENORM_MIN__)) +#define __DBL_DENORM_MIN__ ((double)4.94065645841246544176568792868221372e-324L) +#endif +#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_8)) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 +#endif +#if !(defined(__GCC_ATOMIC_CHAR_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_CHAR_LOCK_FREE)) +#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 +#endif +#if !(defined(__GCC_IEC_559) || defined(__coverity_undefine___GCC_IEC_559)) +#define __GCC_IEC_559 2 +#endif +#if !(defined(__FLT32X_DECIMAL_DIG__) || defined(__coverity_undefine___FLT32X_DECIMAL_DIG__)) +#define __FLT32X_DECIMAL_DIG__ 17 +#endif +#if !(defined(__FLT_EVAL_METHOD__) || defined(__coverity_undefine___FLT_EVAL_METHOD__)) +#define __FLT_EVAL_METHOD__ 0 +#endif +#if !(defined(__unix__) || defined(__coverity_undefine___unix__)) +#define __unix__ 1 +#endif +#if !(defined(__FLT64_DECIMAL_DIG__) || defined(__coverity_undefine___FLT64_DECIMAL_DIG__)) +#define __FLT64_DECIMAL_DIG__ 17 +#endif +#if !(defined(__CET__) || defined(__coverity_undefine___CET__)) +#define __CET__ 3 +#endif +#if !(defined(__GCC_ATOMIC_CHAR32_T_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_CHAR32_T_LOCK_FREE)) +#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 +#endif +#if !(defined(__x86_64) || defined(__coverity_undefine___x86_64)) +#define __x86_64 1 +#endif +#if !(defined(__UINT_FAST64_MAX__) || defined(__coverity_undefine___UINT_FAST64_MAX__)) +#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__SIG_ATOMIC_TYPE__) || defined(__coverity_undefine___SIG_ATOMIC_TYPE__)) +#define __SIG_ATOMIC_TYPE__ int +#endif +#if !(defined(__DBL_MIN_10_EXP__) || defined(__coverity_undefine___DBL_MIN_10_EXP__)) +#define __DBL_MIN_10_EXP__ (-307) +#endif +#if !(defined(__FINITE_MATH_ONLY__) || defined(__coverity_undefine___FINITE_MATH_ONLY__)) +#define __FINITE_MATH_ONLY__ 0 +#endif +#if !(defined(__GNUC_PATCHLEVEL__) || defined(__coverity_undefine___GNUC_PATCHLEVEL__)) +#define __GNUC_PATCHLEVEL__ 0 +#endif +#if !(defined(__FLT32_HAS_DENORM__) || defined(__coverity_undefine___FLT32_HAS_DENORM__)) +#define __FLT32_HAS_DENORM__ 1 +#endif +#if !(defined(__UINT_FAST8_MAX__) || defined(__coverity_undefine___UINT_FAST8_MAX__)) +#define __UINT_FAST8_MAX__ 0xff +#endif +#if !(defined(__DEC64_MAX_EXP__) || defined(__coverity_undefine___DEC64_MAX_EXP__)) +#define __DEC64_MAX_EXP__ 385 +#endif +#if !(defined(__INT8_C) || defined(__coverity_undefine___INT8_C)) +#define __INT8_C(c) c +#endif +#if !(defined(__INT_LEAST8_WIDTH__) || defined(__coverity_undefine___INT_LEAST8_WIDTH__)) +#define __INT_LEAST8_WIDTH__ 8 +#endif +#if !(defined(__UINT_LEAST64_MAX__) || defined(__coverity_undefine___UINT_LEAST64_MAX__)) +#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__SHRT_MAX__) || defined(__coverity_undefine___SHRT_MAX__)) +#define __SHRT_MAX__ 0x7fff +#endif +#if !(defined(__LDBL_MAX__) || defined(__coverity_undefine___LDBL_MAX__)) +#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L +#endif +#if !(defined(__FLT64X_MAX_10_EXP__) || defined(__coverity_undefine___FLT64X_MAX_10_EXP__)) +#define __FLT64X_MAX_10_EXP__ 4932 +#endif +#if !(defined(__UINT_LEAST8_MAX__) || defined(__coverity_undefine___UINT_LEAST8_MAX__)) +#define __UINT_LEAST8_MAX__ 0xff +#endif +#if !(defined(__GCC_ATOMIC_BOOL_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_BOOL_LOCK_FREE)) +#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 +#endif +#if !(defined(__FLT128_DENORM_MIN__) || defined(__coverity_undefine___FLT128_DENORM_MIN__)) +#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128 +#endif +#if !(defined(__UINTMAX_TYPE__) || defined(__coverity_undefine___UINTMAX_TYPE__)) +#define __UINTMAX_TYPE__ long unsigned int +#endif +#if !(defined(__linux) || defined(__coverity_undefine___linux)) +#define __linux 1 +#endif +#if !(defined(__DEC32_EPSILON__) || defined(__coverity_undefine___DEC32_EPSILON__)) +#define __DEC32_EPSILON__ 1E-6DF +#endif +#if !(defined(__FLT_EVAL_METHOD_TS_18661_3__) || defined(__coverity_undefine___FLT_EVAL_METHOD_TS_18661_3__)) +#define __FLT_EVAL_METHOD_TS_18661_3__ 0 +#endif +#if !(defined(__unix) || defined(__coverity_undefine___unix)) +#define __unix 1 +#endif +#if !(defined(__UINT32_MAX__) || defined(__coverity_undefine___UINT32_MAX__)) +#define __UINT32_MAX__ 0xffffffffU +#endif +#if !(defined(__LDBL_MAX_EXP__) || defined(__coverity_undefine___LDBL_MAX_EXP__)) +#define __LDBL_MAX_EXP__ 16384 +#endif +#if !(defined(__FLT128_MIN_EXP__) || defined(__coverity_undefine___FLT128_MIN_EXP__)) +#define __FLT128_MIN_EXP__ (-16381) +#endif +#if !(defined(__WINT_MIN__) || defined(__coverity_undefine___WINT_MIN__)) +#define __WINT_MIN__ 0U +#endif +#if !(defined(__linux__) || defined(__coverity_undefine___linux__)) +#define __linux__ 1 +#endif +#if !(defined(__FLT128_MIN_10_EXP__) || defined(__coverity_undefine___FLT128_MIN_10_EXP__)) +#define __FLT128_MIN_10_EXP__ (-4931) +#endif +#if !(defined(__INT_LEAST16_WIDTH__) || defined(__coverity_undefine___INT_LEAST16_WIDTH__)) +#define __INT_LEAST16_WIDTH__ 16 +#endif +#if !(defined(__SCHAR_MAX__) || defined(__coverity_undefine___SCHAR_MAX__)) +#define __SCHAR_MAX__ 0x7f +#endif +#if !(defined(__FLT128_MANT_DIG__) || defined(__coverity_undefine___FLT128_MANT_DIG__)) +#define __FLT128_MANT_DIG__ 113 +#endif +#if !(defined(__WCHAR_MIN__) || defined(__coverity_undefine___WCHAR_MIN__)) +#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) +#endif +#if !(defined(__INT64_C) || defined(__coverity_undefine___INT64_C)) +#define __INT64_C(c) c ## L +#endif +#if !(defined(__DBL_DIG__) || defined(__coverity_undefine___DBL_DIG__)) +#define __DBL_DIG__ 15 +#endif +#if !(defined(__GCC_ATOMIC_POINTER_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_POINTER_LOCK_FREE)) +#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 +#endif +#if !(defined(__FLT64X_MANT_DIG__) || defined(__coverity_undefine___FLT64X_MANT_DIG__)) +#define __FLT64X_MANT_DIG__ 64 +#endif +#if !(defined(__SIZEOF_INT__) || defined(__coverity_undefine___SIZEOF_INT__)) +#define __SIZEOF_INT__ 4 +#endif +#if !(defined(__SIZEOF_POINTER__) || defined(__coverity_undefine___SIZEOF_POINTER__)) +#define __SIZEOF_POINTER__ 8 +#endif +#if !(defined(__USER_LABEL_PREFIX__) || defined(__coverity_undefine___USER_LABEL_PREFIX__)) +#define __USER_LABEL_PREFIX__ +#endif +#if !(defined(__FLT64X_EPSILON__) || defined(__coverity_undefine___FLT64X_EPSILON__)) +#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x +#endif +#if !(defined(__STDC_HOSTED__) || defined(__coverity_undefine___STDC_HOSTED__)) +#define __STDC_HOSTED__ 1 +#endif +#if !(defined(__LDBL_HAS_INFINITY__) || defined(__coverity_undefine___LDBL_HAS_INFINITY__)) +#define __LDBL_HAS_INFINITY__ 1 +#endif +#if !(defined(__FLT32_DIG__) || defined(__coverity_undefine___FLT32_DIG__)) +#define __FLT32_DIG__ 6 +#endif +#if !(defined(__FLT_EPSILON__) || defined(__coverity_undefine___FLT_EPSILON__)) +#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F +#endif +#if !(defined(__SHRT_WIDTH__) || defined(__coverity_undefine___SHRT_WIDTH__)) +#define __SHRT_WIDTH__ 16 +#endif +#if !(defined(__LDBL_MIN__) || defined(__coverity_undefine___LDBL_MIN__)) +#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L +#endif +#if !(defined(__DEC32_MAX__) || defined(__coverity_undefine___DEC32_MAX__)) +#define __DEC32_MAX__ 9.999999E96DF +#endif +#if !(defined(__FLT64X_DENORM_MIN__) || defined(__coverity_undefine___FLT64X_DENORM_MIN__)) +#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x +#endif +#if !(defined(__FLT32X_HAS_INFINITY__) || defined(__coverity_undefine___FLT32X_HAS_INFINITY__)) +#define __FLT32X_HAS_INFINITY__ 1 +#endif +#if !(defined(__INT32_MAX__) || defined(__coverity_undefine___INT32_MAX__)) +#define __INT32_MAX__ 0x7fffffff +#endif +#if !(defined(__INT_WIDTH__) || defined(__coverity_undefine___INT_WIDTH__)) +#define __INT_WIDTH__ 32 +#endif +#if !(defined(__SIZEOF_LONG__) || defined(__coverity_undefine___SIZEOF_LONG__)) +#define __SIZEOF_LONG__ 8 +#endif +#if !(defined(__STDC_IEC_559__) || defined(__coverity_undefine___STDC_IEC_559__)) +#define __STDC_IEC_559__ 1 +#endif +#if !(defined(__STDC_ISO_10646__) || defined(__coverity_undefine___STDC_ISO_10646__)) +#define __STDC_ISO_10646__ 201706L +#endif +#if !(defined(__UINT16_C) || defined(__coverity_undefine___UINT16_C)) +#define __UINT16_C(c) c +#endif +#if !(defined(__PTRDIFF_WIDTH__) || defined(__coverity_undefine___PTRDIFF_WIDTH__)) +#define __PTRDIFF_WIDTH__ 64 +#endif +#if !(defined(__DECIMAL_DIG__) || defined(__coverity_undefine___DECIMAL_DIG__)) +#define __DECIMAL_DIG__ 21 +#endif +#if !(defined(__FLT64_EPSILON__) || defined(__coverity_undefine___FLT64_EPSILON__)) +#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64 +#endif +#if !(defined(__gnu_linux__) || defined(__coverity_undefine___gnu_linux__)) +#define __gnu_linux__ 1 +#endif +#if !(defined(__INTMAX_WIDTH__) || defined(__coverity_undefine___INTMAX_WIDTH__)) +#define __INTMAX_WIDTH__ 64 +#endif +#if !(defined(__FLT64X_MIN_10_EXP__) || defined(__coverity_undefine___FLT64X_MIN_10_EXP__)) +#define __FLT64X_MIN_10_EXP__ (-4931) +#endif +#if !(defined(__LDBL_HAS_QUIET_NAN__) || defined(__coverity_undefine___LDBL_HAS_QUIET_NAN__)) +#define __LDBL_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__FLT64_MANT_DIG__) || defined(__coverity_undefine___FLT64_MANT_DIG__)) +#define __FLT64_MANT_DIG__ 53 +#endif +#if !(defined(__GNUC__) || defined(__coverity_undefine___GNUC__)) +#define __GNUC__ 9 +#endif +#if !(defined(__pie__) || defined(__coverity_undefine___pie__)) +#define __pie__ 2 +#endif +#if !(defined(__MMX__) || defined(__coverity_undefine___MMX__)) +#define __MMX__ 1 +#endif +#if !(defined(__FLT_HAS_DENORM__) || defined(__coverity_undefine___FLT_HAS_DENORM__)) +#define __FLT_HAS_DENORM__ 1 +#endif +#if !(defined(__SIZEOF_LONG_DOUBLE__) || defined(__coverity_undefine___SIZEOF_LONG_DOUBLE__)) +#define __SIZEOF_LONG_DOUBLE__ 16 +#endif +#if !(defined(__BIGGEST_ALIGNMENT__) || defined(__coverity_undefine___BIGGEST_ALIGNMENT__)) +#define __BIGGEST_ALIGNMENT__ 16 +#endif +#if !(defined(__FLT64_MAX_10_EXP__) || defined(__coverity_undefine___FLT64_MAX_10_EXP__)) +#define __FLT64_MAX_10_EXP__ 308 +#endif +#if !(defined(__DBL_MAX__) || defined(__coverity_undefine___DBL_MAX__)) +#define __DBL_MAX__ ((double)1.79769313486231570814527423731704357e+308L) +#endif +#if !(defined(__INT_FAST32_MAX__) || defined(__coverity_undefine___INT_FAST32_MAX__)) +#define __INT_FAST32_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__DBL_HAS_INFINITY__) || defined(__coverity_undefine___DBL_HAS_INFINITY__)) +#define __DBL_HAS_INFINITY__ 1 +#endif +#if !(defined(__HAVE_SPECULATION_SAFE_VALUE) || defined(__coverity_undefine___HAVE_SPECULATION_SAFE_VALUE)) +#define __HAVE_SPECULATION_SAFE_VALUE 1 +#endif +#if !(defined(__DEC32_MIN_EXP__) || defined(__coverity_undefine___DEC32_MIN_EXP__)) +#define __DEC32_MIN_EXP__ (-94) +#endif +#if !(defined(__INTPTR_WIDTH__) || defined(__coverity_undefine___INTPTR_WIDTH__)) +#define __INTPTR_WIDTH__ 64 +#endif +#if !(defined(__FLT32X_HAS_DENORM__) || defined(__coverity_undefine___FLT32X_HAS_DENORM__)) +#define __FLT32X_HAS_DENORM__ 1 +#endif +#if !(defined(__INT_FAST16_TYPE__) || defined(__coverity_undefine___INT_FAST16_TYPE__)) +#define __INT_FAST16_TYPE__ long int +#endif +#if !(defined(__LDBL_HAS_DENORM__) || defined(__coverity_undefine___LDBL_HAS_DENORM__)) +#define __LDBL_HAS_DENORM__ 1 +#endif +#if !(defined(__FLT128_HAS_INFINITY__) || defined(__coverity_undefine___FLT128_HAS_INFINITY__)) +#define __FLT128_HAS_INFINITY__ 1 +#endif +#if !(defined(__DEC128_MAX__) || defined(__coverity_undefine___DEC128_MAX__)) +#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL +#endif +#if !(defined(__INT_LEAST32_MAX__) || defined(__coverity_undefine___INT_LEAST32_MAX__)) +#define __INT_LEAST32_MAX__ 0x7fffffff +#endif +#if !(defined(__DEC32_MIN__) || defined(__coverity_undefine___DEC32_MIN__)) +#define __DEC32_MIN__ 1E-95DF +#endif +#if !(defined(__DBL_MAX_EXP__) || defined(__coverity_undefine___DBL_MAX_EXP__)) +#define __DBL_MAX_EXP__ 1024 +#endif +#if !(defined(__WCHAR_WIDTH__) || defined(__coverity_undefine___WCHAR_WIDTH__)) +#define __WCHAR_WIDTH__ 32 +#endif +#if !(defined(__FLT32_MAX__) || defined(__coverity_undefine___FLT32_MAX__)) +#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32 +#endif +#if !(defined(__DEC128_EPSILON__) || defined(__coverity_undefine___DEC128_EPSILON__)) +#define __DEC128_EPSILON__ 1E-33DL +#endif +#if !(defined(__SSE2_MATH__) || defined(__coverity_undefine___SSE2_MATH__)) +#define __SSE2_MATH__ 1 +#endif +#if !(defined(__ATOMIC_HLE_RELEASE) || defined(__coverity_undefine___ATOMIC_HLE_RELEASE)) +#define __ATOMIC_HLE_RELEASE 131072 +#endif +#if !(defined(__PTRDIFF_MAX__) || defined(__coverity_undefine___PTRDIFF_MAX__)) +#define __PTRDIFF_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__amd64) || defined(__coverity_undefine___amd64)) +#define __amd64 1 +#endif +#if !(defined(__ATOMIC_HLE_ACQUIRE) || defined(__coverity_undefine___ATOMIC_HLE_ACQUIRE)) +#define __ATOMIC_HLE_ACQUIRE 65536 +#endif +#if !(defined(__FLT32_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT32_HAS_QUIET_NAN__)) +#define __FLT32_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__LONG_LONG_MAX__) || defined(__coverity_undefine___LONG_LONG_MAX__)) +#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL +#endif +#if !(defined(__SIZEOF_SIZE_T__) || defined(__coverity_undefine___SIZEOF_SIZE_T__)) +#define __SIZEOF_SIZE_T__ 8 +#endif +#if !(defined(__FLT64X_MIN_EXP__) || defined(__coverity_undefine___FLT64X_MIN_EXP__)) +#define __FLT64X_MIN_EXP__ (-16381) +#endif +#if !(defined(__SIZEOF_WINT_T__) || defined(__coverity_undefine___SIZEOF_WINT_T__)) +#define __SIZEOF_WINT_T__ 4 +#endif +#if !(defined(__LONG_LONG_WIDTH__) || defined(__coverity_undefine___LONG_LONG_WIDTH__)) +#define __LONG_LONG_WIDTH__ 64 +#endif +#if !(defined(__FLT32_MAX_EXP__) || defined(__coverity_undefine___FLT32_MAX_EXP__)) +#define __FLT32_MAX_EXP__ 128 +#endif +#if !(defined(__GCC_HAVE_DWARF2_CFI_ASM) || defined(__coverity_undefine___GCC_HAVE_DWARF2_CFI_ASM)) +#define __GCC_HAVE_DWARF2_CFI_ASM 1 +#endif +#if !(defined(__GXX_ABI_VERSION) || defined(__coverity_undefine___GXX_ABI_VERSION)) +#define __GXX_ABI_VERSION 1013 +#endif +#if !(defined(__FLT_MIN_EXP__) || defined(__coverity_undefine___FLT_MIN_EXP__)) +#define __FLT_MIN_EXP__ (-125) +#endif +#if !(defined(__FLT64X_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT64X_HAS_QUIET_NAN__)) +#define __FLT64X_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__INT_FAST64_TYPE__) || defined(__coverity_undefine___INT_FAST64_TYPE__)) +#define __INT_FAST64_TYPE__ long int +#endif +#if !(defined(__FLT64_DENORM_MIN__) || defined(__coverity_undefine___FLT64_DENORM_MIN__)) +#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64 +#endif +#if !(defined(__DBL_MIN__) || defined(__coverity_undefine___DBL_MIN__)) +#define __DBL_MIN__ ((double)2.22507385850720138309023271733240406e-308L) +#endif +#if !(defined(__PIE__) || defined(__coverity_undefine___PIE__)) +#define __PIE__ 2 +#endif +#if !(defined(__LP64__) || defined(__coverity_undefine___LP64__)) +#define __LP64__ 1 +#endif +#if !(defined(__FLT32X_EPSILON__) || defined(__coverity_undefine___FLT32X_EPSILON__)) +#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x +#endif +#if !(defined(__DECIMAL_BID_FORMAT__) || defined(__coverity_undefine___DECIMAL_BID_FORMAT__)) +#define __DECIMAL_BID_FORMAT__ 1 +#endif +#if !(defined(__FLT64_MIN_EXP__) || defined(__coverity_undefine___FLT64_MIN_EXP__)) +#define __FLT64_MIN_EXP__ (-1021) +#endif +#if !(defined(__FLT64_MIN_10_EXP__) || defined(__coverity_undefine___FLT64_MIN_10_EXP__)) +#define __FLT64_MIN_10_EXP__ (-307) +#endif +#if !(defined(__FLT64X_DECIMAL_DIG__) || defined(__coverity_undefine___FLT64X_DECIMAL_DIG__)) +#define __FLT64X_DECIMAL_DIG__ 21 +#endif +#if !(defined(__DEC128_MIN__) || defined(__coverity_undefine___DEC128_MIN__)) +#define __DEC128_MIN__ 1E-6143DL +#endif +#if !(defined(__REGISTER_PREFIX__) || defined(__coverity_undefine___REGISTER_PREFIX__)) +#define __REGISTER_PREFIX__ +#endif +#if !(defined(__UINT16_MAX__) || defined(__coverity_undefine___UINT16_MAX__)) +#define __UINT16_MAX__ 0xffff +#endif +#if !(defined(__DBL_HAS_DENORM__) || defined(__coverity_undefine___DBL_HAS_DENORM__)) +#define __DBL_HAS_DENORM__ 1 +#endif +#if !(defined(__FLT32_MIN__) || defined(__coverity_undefine___FLT32_MIN__)) +#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32 +#endif +#if !(defined(__UINT8_TYPE__) || defined(__coverity_undefine___UINT8_TYPE__)) +#define __UINT8_TYPE__ unsigned char +#endif +#if !(defined(__FLT_MANT_DIG__) || defined(__coverity_undefine___FLT_MANT_DIG__)) +#define __FLT_MANT_DIG__ 24 +#endif +#if !(defined(__LDBL_DECIMAL_DIG__) || defined(__coverity_undefine___LDBL_DECIMAL_DIG__)) +#define __LDBL_DECIMAL_DIG__ 21 +#endif +#if !(defined(__VERSION__) || defined(__coverity_undefine___VERSION__)) +#define __VERSION__ "9.4.0" +#endif +#if !(defined(__UINT64_C) || defined(__coverity_undefine___UINT64_C)) +#define __UINT64_C(c) c ## UL +#endif +#if !(defined(_STDC_PREDEF_H) || defined(__coverity_undefine__STDC_PREDEF_H)) +#define _STDC_PREDEF_H 1 +#endif +#if !(defined(__GCC_ATOMIC_INT_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_INT_LOCK_FREE)) +#define __GCC_ATOMIC_INT_LOCK_FREE 2 +#endif +#if !(defined(__FLT128_MAX_EXP__) || defined(__coverity_undefine___FLT128_MAX_EXP__)) +#define __FLT128_MAX_EXP__ 16384 +#endif +#if !(defined(__FLT32_MANT_DIG__) || defined(__coverity_undefine___FLT32_MANT_DIG__)) +#define __FLT32_MANT_DIG__ 24 +#endif +#if !(defined(__FLOAT_WORD_ORDER__) || defined(__coverity_undefine___FLOAT_WORD_ORDER__)) +#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ +#endif +#if !(defined(__STDC_IEC_559_COMPLEX__) || defined(__coverity_undefine___STDC_IEC_559_COMPLEX__)) +#define __STDC_IEC_559_COMPLEX__ 1 +#endif +#if !(defined(__FLT128_HAS_DENORM__) || defined(__coverity_undefine___FLT128_HAS_DENORM__)) +#define __FLT128_HAS_DENORM__ 1 +#endif +#if !(defined(__FLT128_DIG__) || defined(__coverity_undefine___FLT128_DIG__)) +#define __FLT128_DIG__ 33 +#endif +#if !(defined(__SCHAR_WIDTH__) || defined(__coverity_undefine___SCHAR_WIDTH__)) +#define __SCHAR_WIDTH__ 8 +#endif +#if !(defined(__INT32_C) || defined(__coverity_undefine___INT32_C)) +#define __INT32_C(c) c +#endif +#if !(defined(__DEC64_EPSILON__) || defined(__coverity_undefine___DEC64_EPSILON__)) +#define __DEC64_EPSILON__ 1E-15DD +#endif +#if !(defined(__ORDER_PDP_ENDIAN__) || defined(__coverity_undefine___ORDER_PDP_ENDIAN__)) +#define __ORDER_PDP_ENDIAN__ 3412 +#endif +#if !(defined(__DEC128_MIN_EXP__) || defined(__coverity_undefine___DEC128_MIN_EXP__)) +#define __DEC128_MIN_EXP__ (-6142) +#endif +#if !(defined(__FLT32_MAX_10_EXP__) || defined(__coverity_undefine___FLT32_MAX_10_EXP__)) +#define __FLT32_MAX_10_EXP__ 38 +#endif +#if !(defined(__INT_FAST32_TYPE__) || defined(__coverity_undefine___INT_FAST32_TYPE__)) +#define __INT_FAST32_TYPE__ long int +#endif +#if !(defined(__UINT_LEAST16_TYPE__) || defined(__coverity_undefine___UINT_LEAST16_TYPE__)) +#define __UINT_LEAST16_TYPE__ short unsigned int +#endif +#if !(defined(__FLT64X_HAS_INFINITY__) || defined(__coverity_undefine___FLT64X_HAS_INFINITY__)) +#define __FLT64X_HAS_INFINITY__ 1 +#endif +#if !(defined(unix) || defined(__coverity_undefine_unix)) +#define unix 1 +#endif +#if !(defined(__INT16_MAX__) || defined(__coverity_undefine___INT16_MAX__)) +#define __INT16_MAX__ 0x7fff +#endif +#if !(defined(__SIZE_TYPE__) || defined(__coverity_undefine___SIZE_TYPE__)) +#define __SIZE_TYPE__ long unsigned int +#endif +#if !(defined(__UINT64_MAX__) || defined(__coverity_undefine___UINT64_MAX__)) +#define __UINT64_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__FLT64X_DIG__) || defined(__coverity_undefine___FLT64X_DIG__)) +#define __FLT64X_DIG__ 18 +#endif +#if !(defined(__INT8_TYPE__) || defined(__coverity_undefine___INT8_TYPE__)) +#define __INT8_TYPE__ signed char +#endif +#if !(defined(__ELF__) || defined(__coverity_undefine___ELF__)) +#define __ELF__ 1 +#endif +#if !(defined(__GCC_ASM_FLAG_OUTPUTS__) || defined(__coverity_undefine___GCC_ASM_FLAG_OUTPUTS__)) +#define __GCC_ASM_FLAG_OUTPUTS__ 1 +#endif +#if !(defined(__FLT_RADIX__) || defined(__coverity_undefine___FLT_RADIX__)) +#define __FLT_RADIX__ 2 +#endif +#if !(defined(__INT_LEAST16_TYPE__) || defined(__coverity_undefine___INT_LEAST16_TYPE__)) +#define __INT_LEAST16_TYPE__ short int +#endif +#if !(defined(__LDBL_EPSILON__) || defined(__coverity_undefine___LDBL_EPSILON__)) +#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L +#endif +#if !(defined(__UINTMAX_C) || defined(__coverity_undefine___UINTMAX_C)) +#define __UINTMAX_C(c) c ## UL +#endif +#if !(defined(__SSE_MATH__) || defined(__coverity_undefine___SSE_MATH__)) +#define __SSE_MATH__ 1 +#endif +#if !(defined(__k8) || defined(__coverity_undefine___k8)) +#define __k8 1 +#endif +#if !(defined(__SIG_ATOMIC_MAX__) || defined(__coverity_undefine___SIG_ATOMIC_MAX__)) +#define __SIG_ATOMIC_MAX__ 0x7fffffff +#endif +#if !(defined(__GCC_ATOMIC_WCHAR_T_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_WCHAR_T_LOCK_FREE)) +#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 +#endif +#if !(defined(__SIZEOF_PTRDIFF_T__) || defined(__coverity_undefine___SIZEOF_PTRDIFF_T__)) +#define __SIZEOF_PTRDIFF_T__ 8 +#endif +#if !(defined(__FLT32X_MANT_DIG__) || defined(__coverity_undefine___FLT32X_MANT_DIG__)) +#define __FLT32X_MANT_DIG__ 53 +#endif +#if !(defined(__x86_64__) || defined(__coverity_undefine___x86_64__)) +#define __x86_64__ 1 +#endif +#if !(defined(__FLT32X_MIN_EXP__) || defined(__coverity_undefine___FLT32X_MIN_EXP__)) +#define __FLT32X_MIN_EXP__ (-1021) +#endif +#if !(defined(__DEC32_SUBNORMAL_MIN__) || defined(__coverity_undefine___DEC32_SUBNORMAL_MIN__)) +#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF +#endif +#if !(defined(__INT_FAST16_MAX__) || defined(__coverity_undefine___INT_FAST16_MAX__)) +#define __INT_FAST16_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__FLT64_DIG__) || defined(__coverity_undefine___FLT64_DIG__)) +#define __FLT64_DIG__ 15 +#endif +#if !(defined(__UINT_FAST32_MAX__) || defined(__coverity_undefine___UINT_FAST32_MAX__)) +#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__UINT_LEAST64_TYPE__) || defined(__coverity_undefine___UINT_LEAST64_TYPE__)) +#define __UINT_LEAST64_TYPE__ long unsigned int +#endif +#if !(defined(__FLT_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT_HAS_QUIET_NAN__)) +#define __FLT_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__FLT_MAX_10_EXP__) || defined(__coverity_undefine___FLT_MAX_10_EXP__)) +#define __FLT_MAX_10_EXP__ 38 +#endif +#if !(defined(__LONG_MAX__) || defined(__coverity_undefine___LONG_MAX__)) +#define __LONG_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__FLT64X_HAS_DENORM__) || defined(__coverity_undefine___FLT64X_HAS_DENORM__)) +#define __FLT64X_HAS_DENORM__ 1 +#endif +#if !(defined(__DEC128_SUBNORMAL_MIN__) || defined(__coverity_undefine___DEC128_SUBNORMAL_MIN__)) +#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL +#endif +#if !(defined(__FLT_HAS_INFINITY__) || defined(__coverity_undefine___FLT_HAS_INFINITY__)) +#define __FLT_HAS_INFINITY__ 1 +#endif +#if !(defined(__UINT_FAST16_TYPE__) || defined(__coverity_undefine___UINT_FAST16_TYPE__)) +#define __UINT_FAST16_TYPE__ long unsigned int +#endif +#if !(defined(__DEC64_MAX__) || defined(__coverity_undefine___DEC64_MAX__)) +#define __DEC64_MAX__ 9.999999999999999E384DD +#endif +#if !(defined(__INT_FAST32_WIDTH__) || defined(__coverity_undefine___INT_FAST32_WIDTH__)) +#define __INT_FAST32_WIDTH__ 64 +#endif +#if !(defined(__CHAR16_TYPE__) || defined(__coverity_undefine___CHAR16_TYPE__)) +#define __CHAR16_TYPE__ short unsigned int +#endif +#if !(defined(__PRAGMA_REDEFINE_EXTNAME) || defined(__coverity_undefine___PRAGMA_REDEFINE_EXTNAME)) +#define __PRAGMA_REDEFINE_EXTNAME 1 +#endif +#if !(defined(__SIZE_WIDTH__) || defined(__coverity_undefine___SIZE_WIDTH__)) +#define __SIZE_WIDTH__ 64 +#endif +#if !(defined(__SEG_FS) || defined(__coverity_undefine___SEG_FS)) +#define __SEG_FS 1 +#endif +#if !(defined(__INT_LEAST16_MAX__) || defined(__coverity_undefine___INT_LEAST16_MAX__)) +#define __INT_LEAST16_MAX__ 0x7fff +#endif +#if !(defined(__DEC64_MANT_DIG__) || defined(__coverity_undefine___DEC64_MANT_DIG__)) +#define __DEC64_MANT_DIG__ 16 +#endif +#if !(defined(__INT64_MAX__) || defined(__coverity_undefine___INT64_MAX__)) +#define __INT64_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__UINT_LEAST32_MAX__) || defined(__coverity_undefine___UINT_LEAST32_MAX__)) +#define __UINT_LEAST32_MAX__ 0xffffffffU +#endif +#if !(defined(__SEG_GS) || defined(__coverity_undefine___SEG_GS)) +#define __SEG_GS 1 +#endif +#if !(defined(__FLT32_DENORM_MIN__) || defined(__coverity_undefine___FLT32_DENORM_MIN__)) +#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32 +#endif +#if !(defined(__GCC_ATOMIC_LONG_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_LONG_LOCK_FREE)) +#define __GCC_ATOMIC_LONG_LOCK_FREE 2 +#endif +#if !(defined(__SIG_ATOMIC_WIDTH__) || defined(__coverity_undefine___SIG_ATOMIC_WIDTH__)) +#define __SIG_ATOMIC_WIDTH__ 32 +#endif +#if !(defined(__INT_LEAST64_TYPE__) || defined(__coverity_undefine___INT_LEAST64_TYPE__)) +#define __INT_LEAST64_TYPE__ long int +#endif +#if !(defined(__INT16_TYPE__) || defined(__coverity_undefine___INT16_TYPE__)) +#define __INT16_TYPE__ short int +#endif +#if !(defined(__INT_LEAST8_TYPE__) || defined(__coverity_undefine___INT_LEAST8_TYPE__)) +#define __INT_LEAST8_TYPE__ signed char +#endif +#if !(defined(__DEC32_MAX_EXP__) || defined(__coverity_undefine___DEC32_MAX_EXP__)) +#define __DEC32_MAX_EXP__ 97 +#endif +#if !(defined(__INT_FAST8_MAX__) || defined(__coverity_undefine___INT_FAST8_MAX__)) +#define __INT_FAST8_MAX__ 0x7f +#endif +#if !(defined(__FLT128_MAX__) || defined(__coverity_undefine___FLT128_MAX__)) +#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128 +#endif +#if !(defined(__INTPTR_MAX__) || defined(__coverity_undefine___INTPTR_MAX__)) +#define __INTPTR_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(linux) || defined(__coverity_undefine_linux)) +#define linux 1 +#endif +#if !(defined(__FLT64_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT64_HAS_QUIET_NAN__)) +#define __FLT64_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__FLT32_MIN_10_EXP__) || defined(__coverity_undefine___FLT32_MIN_10_EXP__)) +#define __FLT32_MIN_10_EXP__ (-37) +#endif +#if !(defined(__SSE2__) || defined(__coverity_undefine___SSE2__)) +#define __SSE2__ 1 +#endif +#if !(defined(__FLT32X_DIG__) || defined(__coverity_undefine___FLT32X_DIG__)) +#define __FLT32X_DIG__ 15 +#endif +#if !(defined(__LDBL_MANT_DIG__) || defined(__coverity_undefine___LDBL_MANT_DIG__)) +#define __LDBL_MANT_DIG__ 64 +#endif +#if !(defined(__DBL_HAS_QUIET_NAN__) || defined(__coverity_undefine___DBL_HAS_QUIET_NAN__)) +#define __DBL_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__FLT64_HAS_INFINITY__) || defined(__coverity_undefine___FLT64_HAS_INFINITY__)) +#define __FLT64_HAS_INFINITY__ 1 +#endif +#if !(defined(__FLT64X_MAX__) || defined(__coverity_undefine___FLT64X_MAX__)) +#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x +#endif +#if !(defined(__SIG_ATOMIC_MIN__) || defined(__coverity_undefine___SIG_ATOMIC_MIN__)) +#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) +#endif +#if !(defined(__code_model_small__) || defined(__coverity_undefine___code_model_small__)) +#define __code_model_small__ 1 +#endif +#if !(defined(__k8__) || defined(__coverity_undefine___k8__)) +#define __k8__ 1 +#endif +#if !(defined(__INTPTR_TYPE__) || defined(__coverity_undefine___INTPTR_TYPE__)) +#define __INTPTR_TYPE__ long int +#endif +#if !(defined(__UINT16_TYPE__) || defined(__coverity_undefine___UINT16_TYPE__)) +#define __UINT16_TYPE__ short unsigned int +#endif +#if !(defined(__WCHAR_TYPE__) || defined(__coverity_undefine___WCHAR_TYPE__)) +#define __WCHAR_TYPE__ int +#endif +#if !(defined(__SIZEOF_FLOAT__) || defined(__coverity_undefine___SIZEOF_FLOAT__)) +#define __SIZEOF_FLOAT__ 4 +#endif +#if !(defined(__pic__) || defined(__coverity_undefine___pic__)) +#define __pic__ 2 +#endif +#if !(defined(__UINTPTR_MAX__) || defined(__coverity_undefine___UINTPTR_MAX__)) +#define __UINTPTR_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__INT_FAST64_WIDTH__) || defined(__coverity_undefine___INT_FAST64_WIDTH__)) +#define __INT_FAST64_WIDTH__ 64 +#endif +#if !(defined(__DEC64_MIN_EXP__) || defined(__coverity_undefine___DEC64_MIN_EXP__)) +#define __DEC64_MIN_EXP__ (-382) +#endif +#if !(defined(__FLT32_DECIMAL_DIG__) || defined(__coverity_undefine___FLT32_DECIMAL_DIG__)) +#define __FLT32_DECIMAL_DIG__ 9 +#endif +#if !(defined(__INT_FAST64_MAX__) || defined(__coverity_undefine___INT_FAST64_MAX__)) +#define __INT_FAST64_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__GCC_ATOMIC_TEST_AND_SET_TRUEVAL) || defined(__coverity_undefine___GCC_ATOMIC_TEST_AND_SET_TRUEVAL)) +#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 +#endif +#if !(defined(__FLT_DIG__) || defined(__coverity_undefine___FLT_DIG__)) +#define __FLT_DIG__ 6 +#endif +#if !(defined(__FLT32_HAS_INFINITY__) || defined(__coverity_undefine___FLT32_HAS_INFINITY__)) +#define __FLT32_HAS_INFINITY__ 1 +#endif +#if !(defined(__FLT64X_MAX_EXP__) || defined(__coverity_undefine___FLT64X_MAX_EXP__)) +#define __FLT64X_MAX_EXP__ 16384 +#endif +#if !(defined(__UINT_FAST64_TYPE__) || defined(__coverity_undefine___UINT_FAST64_TYPE__)) +#define __UINT_FAST64_TYPE__ long unsigned int +#endif +#if !(defined(__INT_MAX__) || defined(__coverity_undefine___INT_MAX__)) +#define __INT_MAX__ 0x7fffffff +#endif +#if !(defined(__amd64__) || defined(__coverity_undefine___amd64__)) +#define __amd64__ 1 +#endif +#if !(defined(__INT64_TYPE__) || defined(__coverity_undefine___INT64_TYPE__)) +#define __INT64_TYPE__ long int +#endif +#if !(defined(__FLT_MAX_EXP__) || defined(__coverity_undefine___FLT_MAX_EXP__)) +#define __FLT_MAX_EXP__ 128 +#endif +#if !(defined(__ORDER_BIG_ENDIAN__) || defined(__coverity_undefine___ORDER_BIG_ENDIAN__)) +#define __ORDER_BIG_ENDIAN__ 4321 +#endif +#if !(defined(__DBL_MANT_DIG__) || defined(__coverity_undefine___DBL_MANT_DIG__)) +#define __DBL_MANT_DIG__ 53 +#endif +#if !(defined(__SIZEOF_FLOAT128__) || defined(__coverity_undefine___SIZEOF_FLOAT128__)) +#define __SIZEOF_FLOAT128__ 16 +#endif +#if !(defined(__INT_LEAST64_MAX__) || defined(__coverity_undefine___INT_LEAST64_MAX__)) +#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__GCC_ATOMIC_CHAR16_T_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_CHAR16_T_LOCK_FREE)) +#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 +#endif +#if !(defined(__DEC64_MIN__) || defined(__coverity_undefine___DEC64_MIN__)) +#define __DEC64_MIN__ 1E-383DD +#endif +#if !(defined(__WINT_TYPE__) || defined(__coverity_undefine___WINT_TYPE__)) +#define __WINT_TYPE__ unsigned int +#endif +#if !(defined(__UINT_LEAST32_TYPE__) || defined(__coverity_undefine___UINT_LEAST32_TYPE__)) +#define __UINT_LEAST32_TYPE__ unsigned int +#endif +#if !(defined(__SIZEOF_SHORT__) || defined(__coverity_undefine___SIZEOF_SHORT__)) +#define __SIZEOF_SHORT__ 2 +#endif +#if !(defined(__SSE__) || defined(__coverity_undefine___SSE__)) +#define __SSE__ 1 +#endif +#if !(defined(__LDBL_MIN_EXP__) || defined(__coverity_undefine___LDBL_MIN_EXP__)) +#define __LDBL_MIN_EXP__ (-16381) +#endif +#if !(defined(__FLT64_MAX__) || defined(__coverity_undefine___FLT64_MAX__)) +#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64 +#endif +#if !(defined(__WINT_WIDTH__) || defined(__coverity_undefine___WINT_WIDTH__)) +#define __WINT_WIDTH__ 32 +#endif +#if !(defined(__INT_LEAST8_MAX__) || defined(__coverity_undefine___INT_LEAST8_MAX__)) +#define __INT_LEAST8_MAX__ 0x7f +#endif +#if !(defined(__FLT32X_MAX_10_EXP__) || defined(__coverity_undefine___FLT32X_MAX_10_EXP__)) +#define __FLT32X_MAX_10_EXP__ 308 +#endif +#if !(defined(__SIZEOF_INT128__) || defined(__coverity_undefine___SIZEOF_INT128__)) +#define __SIZEOF_INT128__ 16 +#endif +#if !(defined(__LDBL_MAX_10_EXP__) || defined(__coverity_undefine___LDBL_MAX_10_EXP__)) +#define __LDBL_MAX_10_EXP__ 4932 +#endif +#if !(defined(__ATOMIC_RELAXED) || defined(__coverity_undefine___ATOMIC_RELAXED)) +#define __ATOMIC_RELAXED 0 +#endif +#if !(defined(__DBL_EPSILON__) || defined(__coverity_undefine___DBL_EPSILON__)) +#define __DBL_EPSILON__ ((double)2.22044604925031308084726333618164062e-16L) +#endif +#if !(defined(__FLT128_MIN__) || defined(__coverity_undefine___FLT128_MIN__)) +#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128 +#endif +#if !(defined(_LP64) || defined(__coverity_undefine__LP64)) +#define _LP64 1 +#endif +#if !(defined(__UINT8_C) || defined(__coverity_undefine___UINT8_C)) +#define __UINT8_C(c) c +#endif +#if !(defined(__FLT64_MAX_EXP__) || defined(__coverity_undefine___FLT64_MAX_EXP__)) +#define __FLT64_MAX_EXP__ 1024 +#endif +#if !(defined(__INT_LEAST32_TYPE__) || defined(__coverity_undefine___INT_LEAST32_TYPE__)) +#define __INT_LEAST32_TYPE__ int +#endif +#if !(defined(__SIZEOF_WCHAR_T__) || defined(__coverity_undefine___SIZEOF_WCHAR_T__)) +#define __SIZEOF_WCHAR_T__ 4 +#endif +#if !(defined(__UINT64_TYPE__) || defined(__coverity_undefine___UINT64_TYPE__)) +#define __UINT64_TYPE__ long unsigned int +#endif +#if !(defined(__FLT128_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT128_HAS_QUIET_NAN__)) +#define __FLT128_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__INT_FAST8_TYPE__) || defined(__coverity_undefine___INT_FAST8_TYPE__)) +#define __INT_FAST8_TYPE__ signed char +#endif +#if !(defined(__FLT64X_MIN__) || defined(__coverity_undefine___FLT64X_MIN__)) +#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x +#endif +#if !(defined(__FLT64_HAS_DENORM__) || defined(__coverity_undefine___FLT64_HAS_DENORM__)) +#define __FLT64_HAS_DENORM__ 1 +#endif +#if !(defined(__FLT32_EPSILON__) || defined(__coverity_undefine___FLT32_EPSILON__)) +#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32 +#endif +#if !(defined(__DBL_DECIMAL_DIG__) || defined(__coverity_undefine___DBL_DECIMAL_DIG__)) +#define __DBL_DECIMAL_DIG__ 17 +#endif +#if !(defined(__INT_FAST8_WIDTH__) || defined(__coverity_undefine___INT_FAST8_WIDTH__)) +#define __INT_FAST8_WIDTH__ 8 +#endif +#if !(defined(__FXSR__) || defined(__coverity_undefine___FXSR__)) +#define __FXSR__ 1 +#endif +#if !(defined(__DEC_EVAL_METHOD__) || defined(__coverity_undefine___DEC_EVAL_METHOD__)) +#define __DEC_EVAL_METHOD__ 2 +#endif +#if !(defined(__FLT32X_MAX__) || defined(__coverity_undefine___FLT32X_MAX__)) +#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x +#endif +#if !(defined(__UINT32_C) || defined(__coverity_undefine___UINT32_C)) +#define __UINT32_C(c) c ## U +#endif +#if !(defined(__INTMAX_MAX__) || defined(__coverity_undefine___INTMAX_MAX__)) +#define __INTMAX_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__BYTE_ORDER__) || defined(__coverity_undefine___BYTE_ORDER__)) +#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +#endif +#if !(defined(__FLT_DENORM_MIN__) || defined(__coverity_undefine___FLT_DENORM_MIN__)) +#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F +#endif +#if !(defined(__INT8_MAX__) || defined(__coverity_undefine___INT8_MAX__)) +#define __INT8_MAX__ 0x7f +#endif +#if !(defined(__LONG_WIDTH__) || defined(__coverity_undefine___LONG_WIDTH__)) +#define __LONG_WIDTH__ 64 +#endif +#if !(defined(__PIC__) || defined(__coverity_undefine___PIC__)) +#define __PIC__ 2 +#endif +#if !(defined(__UINT_FAST32_TYPE__) || defined(__coverity_undefine___UINT_FAST32_TYPE__)) +#define __UINT_FAST32_TYPE__ long unsigned int +#endif +#if !(defined(__CHAR32_TYPE__) || defined(__coverity_undefine___CHAR32_TYPE__)) +#define __CHAR32_TYPE__ unsigned int +#endif +#if !(defined(__FLT_MAX__) || defined(__coverity_undefine___FLT_MAX__)) +#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F +#endif +#if !(defined(__INT32_TYPE__) || defined(__coverity_undefine___INT32_TYPE__)) +#define __INT32_TYPE__ int +#endif +#if !(defined(__SIZEOF_DOUBLE__) || defined(__coverity_undefine___SIZEOF_DOUBLE__)) +#define __SIZEOF_DOUBLE__ 8 +#endif +#if !(defined(__FLT_MIN_10_EXP__) || defined(__coverity_undefine___FLT_MIN_10_EXP__)) +#define __FLT_MIN_10_EXP__ (-37) +#endif +#if !(defined(__FLT64_MIN__) || defined(__coverity_undefine___FLT64_MIN__)) +#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64 +#endif +#if !(defined(__INT_LEAST32_WIDTH__) || defined(__coverity_undefine___INT_LEAST32_WIDTH__)) +#define __INT_LEAST32_WIDTH__ 32 +#endif +#if !(defined(__INTMAX_TYPE__) || defined(__coverity_undefine___INTMAX_TYPE__)) +#define __INTMAX_TYPE__ long int +#endif +#if !(defined(__DEC128_MAX_EXP__) || defined(__coverity_undefine___DEC128_MAX_EXP__)) +#define __DEC128_MAX_EXP__ 6145 +#endif +#if !(defined(__FLT32X_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT32X_HAS_QUIET_NAN__)) +#define __FLT32X_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__ATOMIC_CONSUME) || defined(__coverity_undefine___ATOMIC_CONSUME)) +#define __ATOMIC_CONSUME 1 +#endif +#if !(defined(__GNUC_MINOR__) || defined(__coverity_undefine___GNUC_MINOR__)) +#define __GNUC_MINOR__ 4 +#endif +#if !(defined(__INT_FAST16_WIDTH__) || defined(__coverity_undefine___INT_FAST16_WIDTH__)) +#define __INT_FAST16_WIDTH__ 64 +#endif +#if !(defined(__UINTMAX_MAX__) || defined(__coverity_undefine___UINTMAX_MAX__)) +#define __UINTMAX_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__DEC32_MANT_DIG__) || defined(__coverity_undefine___DEC32_MANT_DIG__)) +#define __DEC32_MANT_DIG__ 7 +#endif +#if !(defined(__FLT32X_DENORM_MIN__) || defined(__coverity_undefine___FLT32X_DENORM_MIN__)) +#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x +#endif +#if !(defined(__DBL_MAX_10_EXP__) || defined(__coverity_undefine___DBL_MAX_10_EXP__)) +#define __DBL_MAX_10_EXP__ 308 +#endif +#if !(defined(__LDBL_DENORM_MIN__) || defined(__coverity_undefine___LDBL_DENORM_MIN__)) +#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L +#endif +#if !(defined(__INT16_C) || defined(__coverity_undefine___INT16_C)) +#define __INT16_C(c) c +#endif +#if !(defined(__STDC__) || defined(__coverity_undefine___STDC__)) +#define __STDC__ 1 +#endif +#if !(defined(__PTRDIFF_TYPE__) || defined(__coverity_undefine___PTRDIFF_TYPE__)) +#define __PTRDIFF_TYPE__ long int +#endif +#if !(defined(__ATOMIC_SEQ_CST) || defined(__coverity_undefine___ATOMIC_SEQ_CST)) +#define __ATOMIC_SEQ_CST 5 +#endif +#if !(defined(__UINT32_TYPE__) || defined(__coverity_undefine___UINT32_TYPE__)) +#define __UINT32_TYPE__ unsigned int +#endif +#if !(defined(__FLT32X_MIN_10_EXP__) || defined(__coverity_undefine___FLT32X_MIN_10_EXP__)) +#define __FLT32X_MIN_10_EXP__ (-307) +#endif +#if !(defined(__UINTPTR_TYPE__) || defined(__coverity_undefine___UINTPTR_TYPE__)) +#define __UINTPTR_TYPE__ long unsigned int +#endif +#if !(defined(__DEC64_SUBNORMAL_MIN__) || defined(__coverity_undefine___DEC64_SUBNORMAL_MIN__)) +#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD +#endif +#if !(defined(__DEC128_MANT_DIG__) || defined(__coverity_undefine___DEC128_MANT_DIG__)) +#define __DEC128_MANT_DIG__ 34 +#endif +#if !(defined(__LDBL_MIN_10_EXP__) || defined(__coverity_undefine___LDBL_MIN_10_EXP__)) +#define __LDBL_MIN_10_EXP__ (-4931) +#endif +#if !(defined(__FLT128_EPSILON__) || defined(__coverity_undefine___FLT128_EPSILON__)) +#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128 +#endif +#if !(defined(__SIZEOF_LONG_LONG__) || defined(__coverity_undefine___SIZEOF_LONG_LONG__)) +#define __SIZEOF_LONG_LONG__ 8 +#endif +#if !(defined(__FLT128_DECIMAL_DIG__) || defined(__coverity_undefine___FLT128_DECIMAL_DIG__)) +#define __FLT128_DECIMAL_DIG__ 36 +#endif +#if !(defined(__GCC_ATOMIC_LLONG_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_LLONG_LOCK_FREE)) +#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 +#endif +#if !(defined(__FLT32X_MIN__) || defined(__coverity_undefine___FLT32X_MIN__)) +#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x +#endif +#if !(defined(__LDBL_DIG__) || defined(__coverity_undefine___LDBL_DIG__)) +#define __LDBL_DIG__ 18 +#endif +#if !(defined(__FLT_DECIMAL_DIG__) || defined(__coverity_undefine___FLT_DECIMAL_DIG__)) +#define __FLT_DECIMAL_DIG__ 9 +#endif +#if !(defined(__UINT_FAST16_MAX__) || defined(__coverity_undefine___UINT_FAST16_MAX__)) +#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__GNUC_GNU_INLINE__) || defined(__coverity_undefine___GNUC_GNU_INLINE__)) +#define __GNUC_GNU_INLINE__ 1 +#endif +#if !(defined(__GCC_ATOMIC_SHORT_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_SHORT_LOCK_FREE)) +#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 +#endif +#if !(defined(__INT_LEAST64_WIDTH__) || defined(__coverity_undefine___INT_LEAST64_WIDTH__)) +#define __INT_LEAST64_WIDTH__ 64 +#endif +#if !(defined(__UINT_FAST8_TYPE__) || defined(__coverity_undefine___UINT_FAST8_TYPE__)) +#define __UINT_FAST8_TYPE__ unsigned char +#endif +#if !(defined(__ATOMIC_ACQ_REL) || defined(__coverity_undefine___ATOMIC_ACQ_REL)) +#define __ATOMIC_ACQ_REL 4 +#endif +#if !(defined(__ATOMIC_RELEASE) || defined(__coverity_undefine___ATOMIC_RELEASE)) +#define __ATOMIC_RELEASE 3 +#endif +#if !(defined(__CET__) || defined(__coverity_undefine___CET__)) +#define __CET__ 3 +#endif +#if !(defined(__FINITE_MATH_ONLY__) || defined(__coverity_undefine___FINITE_MATH_ONLY__)) +#define __FINITE_MATH_ONLY__ 0 +#endif +#if !(defined(__GCC_HAVE_DWARF2_CFI_ASM) || defined(__coverity_undefine___GCC_HAVE_DWARF2_CFI_ASM)) +#define __GCC_HAVE_DWARF2_CFI_ASM 1 +#endif +#if !(defined(__GCC_IEC_559_COMPLEX) || defined(__coverity_undefine___GCC_IEC_559_COMPLEX)) +#define __GCC_IEC_559_COMPLEX 2 +#endif +#if !(defined(__INCLUDE_LEVEL__) || defined(__coverity_undefine___INCLUDE_LEVEL__)) +#define __INCLUDE_LEVEL__ 0 +#endif +#if !(defined(__PIC__) || defined(__coverity_undefine___PIC__)) +#define __PIC__ 2 +#endif +#if !(defined(__PIE__) || defined(__coverity_undefine___PIE__)) +#define __PIE__ 2 +#endif +#if !(defined(__PTRDIFF_TYPE__) || defined(__coverity_undefine___PTRDIFF_TYPE__)) +#define __PTRDIFF_TYPE__ long int +#endif +#if !(defined(__REGISTER_PREFIX__) || defined(__coverity_undefine___REGISTER_PREFIX__)) +#define __REGISTER_PREFIX__ +#endif +#if !(defined(__SIZE_TYPE__) || defined(__coverity_undefine___SIZE_TYPE__)) +#define __SIZE_TYPE__ long unsigned int +#endif +#if !(defined(__SSP_STRONG__) || defined(__coverity_undefine___SSP_STRONG__)) +#define __SSP_STRONG__ 3 +#endif +#if !(defined(__STDC_IEC_559_COMPLEX__) || defined(__coverity_undefine___STDC_IEC_559_COMPLEX__)) +#define __STDC_IEC_559_COMPLEX__ +#endif +#if !(defined(__STDC_IEC_559__) || defined(__coverity_undefine___STDC_IEC_559__)) +#define __STDC_IEC_559__ +#endif +#if !(defined(__STDC__) || defined(__coverity_undefine___STDC__)) +#define __STDC__ 1 +#endif +#if !(defined(__USER_LABEL_PREFIX__) || defined(__coverity_undefine___USER_LABEL_PREFIX__)) +#define __USER_LABEL_PREFIX__ +#endif +#if !(defined(__VERSION__) || defined(__coverity_undefine___VERSION__)) +#define __VERSION__ "9.4.0" +#endif +#if !(defined(__pic__) || defined(__coverity_undefine___pic__)) +#define __pic__ 2 +#endif +#if !(defined(__pie__) || defined(__coverity_undefine___pie__)) +#define __pie__ 2 +#endif +#if !(defined(__unix__) || defined(__coverity_undefine___unix__)) +#define __unix__ 1 +#endif diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity_config.xml b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity_config.xml new file mode 100644 index 000000000..4abca5ea8 --- /dev/null +++ b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity_config.xml @@ -0,0 +1,161 @@ + + + + + + + 1 + + + + cc + gcc + gcc-9 + x86_64-linux-gnu-gcc-9 + /usr/bin + g++cc + C + cov-emit + GNU C++ Compiler + gnu + -std=gnu90 + g++cc-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 + 9.4.0 + true + true + all + + + g++cc-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 + g++cc-cc-.* + + /usr/lib/gcc/x86_64-linux-gnu/9/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include + -xc + -E + -v + -xc + -dM + -E + -o.+ + -c + -Werror + -o + -E + -U__BLOCKS__ + -xc + -C + - + 2 + $CONFIGDIR$/coverity-compiler-compat.h + $CONFIGDIR$/coverity-macro-compat.h + --fixed_point + --add_type_modifier=__coverity___fpreg + --add_type_modifier=__coverity_decimal + --add_type_modifier=__coverity_float + --add_type_modifier=__coverity_floatx + --no_predefined_feature_test_macros + --no_stdarg_builtin + --enable_128bit_int + --no_predefined_cplusplus + -w + --no_predefines + --comp_ver + 9.4.0 + --size_t_type=m + --ptrdiff_t_type=l + --type_sizes=xl8i4s2e16d8f4P8 + --type_alignments=xl8i4s2e16d8f4P8 + --char_bit_size=8 + --gnu_carriage_return_line_terminator + --wchar_t_type=i + --no_multiline_string + --no_trigraphs + --ignore_calling_convention + --enable_80bit_float + --enable_128bit_float + --allow__bool + --macro_stack_pragmas + --inline_keyword + --has_include_macro + --has_include_next_macro + --has_cpp_attribute_macro + --no_predefines + conftest\.c{1,2}$ + conftest\.cpp$ + cgo-cc-input-[0-9]+\.(c|cc|cpp|cxx) + $CONFIGDIR$/../user_nodefs.h + + gcc + + + /usr/lib/gcc/x86_64-linux-gnu/9/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/ + /lib/x86_64-linux-gnu/9/ + /lib/x86_64-linux-gnu/ + /lib/../lib/ + /usr/lib/x86_64-linux-gnu/9/ + /usr/lib/x86_64-linux-gnu/ + /usr/lib/../lib/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../ + /lib/ + /usr/lib/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o + /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o + /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 + /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so + /lib/x86_64-linux-gnu/libc.so.6 + /usr/lib/x86_64-linux-gnu/libc_nonshared.a + /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 + /usr/lib/x86_64-linux-gnu/libc_nonshared.a + /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 + /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 + /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o + + + + @(.*) + --coverity_resp_file=$1 + + + + + + gnu_pre_translate + + + + + CPATH + true + + + + + C_INCLUDE_PATH + --c + + + + + + + 711f163ae15caa93f82b9002415f5467 + + diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/configure-log.txt b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/configure-log.txt new file mode 100644 index 000000000..71c1a69c0 --- /dev/null +++ b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/configure-log.txt @@ -0,0 +1,4096 @@ +Getting compiler identification output with: /usr/bin/cc -std=gnu90 --version /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c +int main() {} + +**** END source file *** +pipe_command: /usr/bin/cc -std=gnu90 --version /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c +pipe_commands starting: /usr/bin/cc -std=gnu90 --version /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c +**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.output +cc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 +Copyright (C) 2019 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + +**** END FILE output *** +**** BEGIN FILE error: + +**** END FILE error *** +**** Compiler identification output begin **** +cc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 +Copyright (C) 2019 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + +**** Compiler identification output end **** +**** BEGIN PROBE run_test_sanity **** +[STATUS] gcc-config-0: Running sanity tests on native compiler +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/simple.c +int x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/simple.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/simple.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c +#x +int a b c d; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c:1:2: error: invalid preprocessing directive #x + 1 | #x + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c:2:7: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘b’ + 2 | int a b c d; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c:2:7: error: unknown type name ‘b’ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/stddef.c +#include +struct mystruct { + int field1; + int field2; +} var; +size_t sz = sizeof(struct mystruct); +ptrdiff_t pd; +void func() { + pd = &var.field1 - &var.field2; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/stddef.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/stddef.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE run_test_sanity **** +**** BEGIN PROBE get_version_switch_output **** +Version switch: -E -v +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c +int main() {} + +**** END source file *** +pipe_command: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c +**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/version_output +# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c" +# 1 "" +# 1 "" +# 31 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 32 "" 2 +# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c" +int main() {} + +**** END FILE output *** +**** BEGIN FILE error: +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +OFFLOAD_TARGET_NAMES=nvptx-none:hsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) +COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' + /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -E -quiet -v -imultiarch x86_64-linux-gnu /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/lib/gcc/x86_64-linux-gnu/9/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' + +**** END FILE error *** +**** END PROBE get_version_switch_output **** +Version string before regex: # 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c" # 1 "" # 1 "" # 31 "" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 32 "" 2 # 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c" int main() {} Using built-in specs. COLLECT_GCC=/usr/bin/cc OFFLOAD_TARGET_NAMES=nvptx-none:hsa OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -E -quiet -v -imultiarch x86_64-linux-gnu /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/x86_64-linux-gnu/9/include /usr/local/include /usr/include/x86_64-linux-gnu /usr/include End of search list. COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' +Attempting to match the following regex: .*g[c+][c+] version 2\.9.* \(2.96.*\).* +Attempting to match the following regex: .*g[c+][c+][^\s]* [^\s]+ (\d+\.\d+(\.\d+)?) \(.*\).* +Match found. Version string after regex: 9.4.0 +Attempting to match the following regex: .*g[c+][c+][^\s]* \([^)]*\) (\d+\.\d+(\.\d+)?).* +Attempting to match the following regex: .*(?:cc|\+\+)(?:-[^\h]+)?(?:\.exe)?\h+(?:.*?\h+)?(\d+\.\d+(\.\d+)?).* +Attempting to match the following regex: .*[^0-9.](\d+\.\d+\.\d+).* +Compiler version found: 9.4.0 +**** BEGIN PROBE run_type_size_and_alignment_tests **** +**** BEGIN PROBE probe_helpful_compiler_info **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.c +int *i; unsigned long *c; void foo() { c = i; } + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.c: In function ‘foo’: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.c:1:42: warning: assignment to ‘long unsigned int *’ from incompatible pointer type ‘int *’ [-Wincompatible-pointer-types] + 1 | int *i; unsigned long *c; void foo() { c = i; } + | ^ + +**** END FILE stderr *** +Test succeded +Native compiler allows sloppy assigns. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.c + int x[((int)sizeof (int *)) - 13000]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.c:1:6: error: size of array ‘x’ is negative + 1 | int x[((int)sizeof (int *)) - 13000]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/zero_size_array.c + int x[0]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/zero_size_array.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/zero_size_array.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +Native compiler minimum array index is 0. +**** END PROBE probe_helpful_compiler_info **** +**** BEGIN PROBE Detecting size_t **** +Detecting size_t. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.c +size_t * s; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.c:1:1: error: unknown type name ‘size_t’ + 1 | size_t * s; + | ^~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.c:1:1: note: ‘size_t’ is defined in header ‘’; did you forget to ‘#include ’? + +++ |+#include + 1 | size_t * s; + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type2.c +#include +size_t * s; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type2.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type2.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_sloppy_typedef.c +#include +typedef void ***size_t; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_sloppy_typedef.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_sloppy_typedef.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_sloppy_typedef.c:2:17: error: conflicting types for ‘size_t’ + 2 | typedef void ***size_t; + | ^~~~~~ +In file included from /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_sloppy_typedef.c:1: +/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h:209:23: note: previous declaration of ‘size_t’ was here + 209 | typedef __SIZE_TYPE__ size_t; + | ^~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.c +#include +typedef unsigned int size_t;size_t x; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.c:2:22: error: conflicting types for ‘size_t’ + 2 | typedef unsigned int size_t;size_t x; + | ^~~~~~ +In file included from /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.c:1: +/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h:209:23: note: previous declaration of ‘size_t’ was here + 209 | typedef __SIZE_TYPE__ size_t; + | ^~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_long.c +#include +typedef unsigned long size_t;size_t x; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_long.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_long.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE Detecting size_t **** +**** BEGIN PROBE Detecting ptrdiff_t **** +Detecting ptrdiff_t. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.c +ptrdiff_t * s; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.c:1:1: error: unknown type name ‘ptrdiff_t’ + 1 | ptrdiff_t * s; + | ^~~~~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.c:1:1: note: ‘ptrdiff_t’ is defined in header ‘’; did you forget to ‘#include ’? + +++ |+#include + 1 | ptrdiff_t * s; + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type2.c +#include +ptrdiff_t * s; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type2.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type2.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_sloppy_typedef.c +#include +typedef void ***ptrdiff_t; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_sloppy_typedef.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_sloppy_typedef.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_sloppy_typedef.c:2:17: error: conflicting types for ‘ptrdiff_t’ + 2 | typedef void ***ptrdiff_t; + | ^~~~~~~~~ +In file included from /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_sloppy_typedef.c:1: +/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h:143:26: note: previous declaration of ‘ptrdiff_t’ was here + 143 | typedef __PTRDIFF_TYPE__ ptrdiff_t; + | ^~~~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.c +#include +typedef int ptrdiff_t;ptrdiff_t x; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.c:2:13: error: conflicting types for ‘ptrdiff_t’ + 2 | typedef int ptrdiff_t;ptrdiff_t x; + | ^~~~~~~~~ +In file included from /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.c:1: +/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h:143:26: note: previous declaration of ‘ptrdiff_t’ was here + 143 | typedef __PTRDIFF_TYPE__ ptrdiff_t; + | ^~~~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_long.c +#include +typedef long ptrdiff_t;ptrdiff_t x; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_long.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_long.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE Detecting ptrdiff_t **** +**** BEGIN PROBE add_appropriate_type_size_and_alignment_switch **** +[STATUS] gcc-config-0: Detecting size and alignment of fundamental types. +Detecting size and alignment of wchar_t +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.c +wchar_t x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.c:1:1: error: unknown type name ‘wchar_t’ + 1 | wchar_t x; + | ^~~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.c:1:1: note: ‘wchar_t’ is defined in header ‘’; did you forget to ‘#include ’? + +++ |+#include + 1 | wchar_t x; + +**** END FILE stderr *** +Test failed +**** END PROBE run_type_size_test **** +Detecting size and alignment of long long +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_long.c +long long x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_long.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_long.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_size_8.c +int x [((int)sizeof (long long)) -8]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_size_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_size_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_align_8.c +struct X { char a; long long b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +long long b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_align_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_align_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +Detecting size and alignment of long +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long.c +long x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_size_8.c +int x [((int)sizeof (long)) -8]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_size_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_size_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_align_8.c +struct X { char a; long b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +long b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_align_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_align_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +Detecting size and alignment of int +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int.c +int x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.c +int x [((int)sizeof (int)) -8]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (int)) -8]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.c +int x [((int)sizeof (int)) -7]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (int)) -7]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.c +int x [((int)sizeof (int)) -6]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (int)) -6]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.c +int x [((int)sizeof (int)) -5]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (int)) -5]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_4.c +int x [((int)sizeof (int)) -4]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_4.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_4.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.c +struct X { char a; int b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +int b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.c:12:5: error: size of array ‘x’ is negative + 12 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.c +struct X { char a; int b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +int b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.c:11:5: error: size of array ‘x’ is negative + 11 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.c +struct X { char a; int b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +int b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.c:10:5: error: size of array ‘x’ is negative + 10 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.c +struct X { char a; int b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +int b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.c:9:5: error: size of array ‘x’ is negative + 9 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_4.c +struct X { char a; int b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +int b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_4.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_4.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +Detecting size and alignment of short +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_short.c +short x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_short.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_short.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.c +int x [((int)sizeof (short)) -4]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (short)) -4]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.c +int x [((int)sizeof (short)) -3]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (short)) -3]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_2.c +int x [((int)sizeof (short)) -2]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_2.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_2.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.c +struct X { char a; short b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +short b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.c:8:5: error: size of array ‘x’ is negative + 8 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.c +struct X { char a; short b; }; +struct Y { +char a1; +char a2; +char a3; +short b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.c:7:5: error: size of array ‘x’ is negative + 7 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_2.c +struct X { char a; short b; }; +struct Y { +char a1; +char a2; +short b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_2.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_2.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +Detecting size and alignment of long double +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_double.c +long double x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_double.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_double.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_size_16.c +int x [((int)sizeof (long double)) -16]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_size_16.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_size_16.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_align_16.c +struct X { char a; long double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +char a11; +char a12; +char a13; +char a14; +char a15; +char a16; +long double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_align_16.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_align_16.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +Detecting size and alignment of double +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_double.c +double x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_double.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_double.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.c +int x [((int)sizeof (double)) -16]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -16]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.c +int x [((int)sizeof (double)) -15]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -15]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.c +int x [((int)sizeof (double)) -14]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -14]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.c +int x [((int)sizeof (double)) -13]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -13]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.c +int x [((int)sizeof (double)) -12]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -12]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.c +int x [((int)sizeof (double)) -11]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -11]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.c +int x [((int)sizeof (double)) -10]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -10]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.c +int x [((int)sizeof (double)) -9]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (double)) -9]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_8.c +int x [((int)sizeof (double)) -8]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.c +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +char a11; +char a12; +char a13; +char a14; +char a15; +char a16; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.c:20:5: error: size of array ‘x’ is negative + 20 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.c +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +char a11; +char a12; +char a13; +char a14; +char a15; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.c:19:5: error: size of array ‘x’ is negative + 19 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.c +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +char a11; +char a12; +char a13; +char a14; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.c:18:5: error: size of array ‘x’ is negative + 18 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.c +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +char a11; +char a12; +char a13; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.c:17:5: error: size of array ‘x’ is negative + 17 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.c +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +char a11; +char a12; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.c:16:5: error: size of array ‘x’ is negative + 16 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.c +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +char a11; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.c:15:5: error: size of array ‘x’ is negative + 15 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.c +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +char a10; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.c:14:5: error: size of array ‘x’ is negative + 14 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.c +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +char a9; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.c:13:5: error: size of array ‘x’ is negative + 13 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_8.c +struct X { char a; double b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +double b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +Detecting size and alignment of float +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_float.c +float x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_float.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_float.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.c +int x [((int)sizeof (float)) -8]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (float)) -8]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.c +int x [((int)sizeof (float)) -7]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (float)) -7]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.c +int x [((int)sizeof (float)) -6]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (float)) -6]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.c +int x [((int)sizeof (float)) -5]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.c:1:5: error: size of array ‘x’ is negative + 1 | int x [((int)sizeof (float)) -5]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_4.c +int x [((int)sizeof (float)) -4]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_4.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_4.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.c +struct X { char a; float b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +float b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.c:12:5: error: size of array ‘x’ is negative + 12 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.c +struct X { char a; float b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +float b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.c:11:5: error: size of array ‘x’ is negative + 11 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.c +struct X { char a; float b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +float b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.c:10:5: error: size of array ‘x’ is negative + 10 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.c +struct X { char a; float b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +float b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.c:9:5: error: size of array ‘x’ is negative + 9 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_4.c +struct X { char a; float b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +float b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_4.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_4.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +Detecting size and alignment of int * +**** BEGIN PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int__ptr_.c +int * x; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int__ptr_.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int__ptr_.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__size_8.c +int x [((int)sizeof (int *)) -8]; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__size_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__size_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE run_type_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__align_8.c +struct X { char a; int * b; }; +struct Y { +char a1; +char a2; +char a3; +char a4; +char a5; +char a6; +char a7; +char a8; +int * b; }; +int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__align_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__align_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE add_appropriate_type_size_and_alignment_switch **** +**** BEGIN PROBE run_char_bit_size_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_1.c +#define N 1 +#define SHIFT(VALUE,AMOUNT) \ + ((VALUE) << ((AMOUNT) >= 63 ? 7 : 0) \ + << ((AMOUNT) >= 56 ? 7 : 0) \ + << ((AMOUNT) >= 49 ? 7 : 0) \ + << ((AMOUNT) >= 42 ? 7 : 0) \ + << ((AMOUNT) >= 35 ? 7 : 0) \ + << ((AMOUNT) >= 28 ? 7 : 0) \ + << ((AMOUNT) >= 21 ? 7 : 0) \ + << ((AMOUNT) >= 14 ? 7 : 0) \ + << ((AMOUNT) >= 7 ? 7 : 0) \ + << ((AMOUNT) % 7)) +typedef unsigned char UC; +void foo() { + static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_1.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_1.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.c +#define N 9 +#define SHIFT(VALUE,AMOUNT) \ + ((VALUE) << ((AMOUNT) >= 63 ? 7 : 0) \ + << ((AMOUNT) >= 56 ? 7 : 0) \ + << ((AMOUNT) >= 49 ? 7 : 0) \ + << ((AMOUNT) >= 42 ? 7 : 0) \ + << ((AMOUNT) >= 35 ? 7 : 0) \ + << ((AMOUNT) >= 28 ? 7 : 0) \ + << ((AMOUNT) >= 21 ? 7 : 0) \ + << ((AMOUNT) >= 14 ? 7 : 0) \ + << ((AMOUNT) >= 7 ? 7 : 0) \ + << ((AMOUNT) % 7)) +typedef unsigned char UC; +void foo() { + static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.c: In function ‘foo’: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.c:15:14: error: size of array ‘check_char_bit’ is negative + 15 | static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; + | ^~~~~~~~~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_8.c +#define N 8 +#define SHIFT(VALUE,AMOUNT) \ + ((VALUE) << ((AMOUNT) >= 63 ? 7 : 0) \ + << ((AMOUNT) >= 56 ? 7 : 0) \ + << ((AMOUNT) >= 49 ? 7 : 0) \ + << ((AMOUNT) >= 42 ? 7 : 0) \ + << ((AMOUNT) >= 35 ? 7 : 0) \ + << ((AMOUNT) >= 28 ? 7 : 0) \ + << ((AMOUNT) >= 21 ? 7 : 0) \ + << ((AMOUNT) >= 14 ? 7 : 0) \ + << ((AMOUNT) >= 7 ? 7 : 0) \ + << ((AMOUNT) % 7)) +typedef unsigned char UC; +void foo() { + static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_8.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_8.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE run_char_bit_size_test **** +**** END PROBE run_type_size_and_alignment_tests **** +**** BEGIN PROBE add_appropriate_restrict_switch_if_needed **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.c +int * restrict i; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.c:1:16: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘i’ + 1 | int * restrict i; + | ^ + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_restrict_switch_if_needed **** +**** BEGIN PROBE add_appropriate_cr_term_switch_if_needed **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/cr_term.c +int i; #define foo \ bar void foo() { }; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/cr_term.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/cr_term.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE add_appropriate_cr_term_switch_if_needed **** +**** BEGIN PROBE add_enable_declspec_switch_if_needed **** +__declspec macro definition test. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.c +#ifndef __declspec +#error __declspec not defined +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.c:2:2: error: #error __declspec not defined + 2 | #error __declspec not defined + | ^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec2.c + +void __declspec(int x) { + x = 1; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec2.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec2.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE add_enable_declspec_switch_if_needed **** +**** BEGIN PROBE add_appropriate_wchar_t_type_switch **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c +void f() { + static const unsigned short invalid_wcs[] = L"Invalid wide format string."; + static const unsigned short prefix[] = L"+\0-\0 \0000x\0000X"; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c: In function ‘f’: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c:2:47: error: cannot initialize array of ‘short unsigned int’ from a string literal with type array of ‘int’ + 2 | static const unsigned short invalid_wcs[] = L"Invalid wide format string."; + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c:3:42: error: cannot initialize array of ‘short unsigned int’ from a string literal with type array of ‘int’ + 3 | static const unsigned short prefix[] = L"+\0-\0 \0000x\0000X"; + | ^~~~~~~~~~~~~~~~~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c +void f() { + static const short invalid_wcs[] = L"Invalid wide format string."; + static const short prefix[] = L"+\0-\0 \0000x\0000X"; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c: In function ‘f’: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c:2:38: error: array of inappropriate type initialized from string constant + 2 | static const short invalid_wcs[] = L"Invalid wide format string."; + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c:3:33: error: array of inappropriate type initialized from string constant + 3 | static const short prefix[] = L"+\0-\0 \0000x\0000X"; + | ^~~~~~~~~~~~~~~~~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c +void f() { + static const unsigned int invalid_wcs[] = L"Invalid wide format string."; + static const unsigned int prefix[] = L"+\0-\0 \0000x\0000X"; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c: In function ‘f’: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c:2:45: error: cannot initialize array of ‘unsigned int’ from a string literal with type array of ‘int’ + 2 | static const unsigned int invalid_wcs[] = L"Invalid wide format string."; + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c:3:40: error: cannot initialize array of ‘unsigned int’ from a string literal with type array of ‘int’ + 3 | static const unsigned int prefix[] = L"+\0-\0 \0000x\0000X"; + | ^~~~~~~~~~~~~~~~~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typei.c +void f() { + static const int invalid_wcs[] = L"Invalid wide format string."; + static const int prefix[] = L"+\0-\0 \0000x\0000X"; +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typei.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typei.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** END PROBE add_appropriate_wchar_t_type_switch **** +**** BEGIN PROBE add_multiline_string_switch_if_needed **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c +char* str = "Hello +World"; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:1:13: warning: missing terminating " character + 1 | char* str = "Hello + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:1:13: error: missing terminating " character + 1 | char* str = "Hello + | ^~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:2:6: warning: missing terminating " character + 2 | World"; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:2:6: error: missing terminating " character + 2 | World"; + | ^~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:2:1: error: ‘World’ undeclared here (not in a function) + 2 | World"; + | ^~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:2:1: error: expected ‘,’ or ‘;’ at end of input + +**** END FILE stderr *** +Test failed +**** END PROBE add_multiline_string_switch_if_needed **** +**** BEGIN PROBE add_appropriate_trigraphs_switch **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c +char x ??( 3 ??) = "Hi"; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c:1:8: warning: trigraph ??( ignored, use -trigraphs to enable [-Wtrigraphs] + 1 | char x ??( 3 ??) = "Hi"; + | +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c:1:8: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘?’ token + 1 | char x ??( 3 ??) = "Hi"; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c:1:14: warning: trigraph ??) ignored, use -trigraphs to enable [-Wtrigraphs] + 1 | char x ??( 3 ??) = "Hi"; + | + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_trigraphs_switch **** +**** BEGIN PROBE run_x86_calling_conventions_test **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.c +void foo(void) __attribute__((__stdcall__)); + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.c:1:1: warning: ‘stdcall’ attribute ignored [-Wattributes] + 1 | void foo(void) __attribute__((__stdcall__)); + | ^~~~ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.c +void f(void) ; +void (*p)() __attribute__((__stdcall__)) = &f; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.c:2:1: warning: ‘stdcall’ attribute ignored [-Wattributes] + 2 | void (*p)() __attribute__((__stdcall__)) = &f; + | ^~~~ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.c +void f(void) ; +void (*p)() __attribute__((__cdecl__)) = &f; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.c:2:1: warning: ‘cdecl’ attribute ignored [-Wattributes] + 2 | void (*p)() __attribute__((__cdecl__)) = &f; + | ^~~~ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.c +void f(void) ; +void (*p)() __attribute__((__fastcall__)) = &f; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.c:2:1: warning: ‘fastcall’ attribute ignored [-Wattributes] + 2 | void (*p)() __attribute__((__fastcall__)) = &f; + | ^~~~ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.c +void f(void) ; +void (*p)() __attribute__((__vectorcall__)) = &f; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.c:2:1: warning: ‘vectorcall’ attribute directive ignored [-Wattributes] + 2 | void (*p)() __attribute__((__vectorcall__)) = &f; + | ^~~~ + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.c +void f(void) ; +void (*p)() __attribute__((__thiscall__)) = &f; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.c:2:1: warning: ‘thiscall’ attribute ignored [-Wattributes] + 2 | void (*p)() __attribute__((__thiscall__)) = &f; + | ^~~~ + +**** END FILE stderr *** +Test succeded +**** END PROBE run_x86_calling_conventions_test **** +**** BEGIN PROBE add_appropriate_altivec_switch_if_needed **** +Detecting whether AltiVec is supported. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.c +__vector unsigned int a; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.c:1:9: error: expected ‘;’ before ‘unsigned’ + 1 | __vector unsigned int a; + | ^~~~~~~~~ + | ; + +**** END FILE stderr *** +Test failed +AltiVec is implicitly disabled. +**** END PROBE add_appropriate_altivec_switch_if_needed **** +**** BEGIN PROBE add_appropriate_c_version_switch **** +Detecting which C mode is in use. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c11.c +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L +int using_c11; +#else +#error "Not c11" +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c11.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c11.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c11.c:4:2: error: #error "Not c11" + 4 | #error "Not c11" + | ^~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c99.c +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +int using_c99; +#else +#error "Not c99" +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c99.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c99.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c99.c:4:2: error: #error "Not c99" + 4 | #error "Not c99" + | ^~~~~ + +**** END FILE stderr *** +Test failed +c99 mode appears to be disabled. +**** END PROBE add_appropriate_c_version_switch **** +**** BEGIN PROBE add_float80_and_128_switch_if_needed **** +Detecting whether __float80 and __float128 are supported. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float80.c +__float80 x; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float80.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float80.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +float80 appears to be enabled. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float128.c +__float128 x; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float128.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float128.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +float128 appears to be enabled. +**** END PROBE add_float80_and_128_switch_if_needed **** +**** BEGIN PROBE add_appropriate__Bool_switch **** +Detecting whether _Bool keyword is in use. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_Bool.c +#ifdef _Bool +#undef _Bool +#endif + +_Bool foo; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_Bool.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_Bool.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +_Bool keyword appears to be in use. +**** END PROBE add_appropriate__Bool_switch **** +**** BEGIN PROBE add_appropriate_macro_stack_pragma_switch **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_sanity.c +#define TEST 1 +#pragma push_macro("TEST") +#pragma pop_macro("TEST") + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_sanity.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_sanity.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_pragmas.c +#define TEST 1 +#pragma push_macro("TEST") +#undef TEST +#define TEST -1 +#pragma pop_macro("TEST") +int arr[TEST]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_pragmas.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_pragmas.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.c +#define TEST -1 +#pragma push_macro("TEST") +#undef TEST +#define TEST 1 +#pragma pop_macro("TEST") +int arr[TEST]; + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.c:6:5: error: size of array ‘arr’ is negative + 6 | int arr[TEST]; + | ^~~ + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_macro_stack_pragma_switch **** +**** BEGIN PROBE add_appropriate_arg_dependent_overload_switch **** +Detecting whether --arg_dependent_overload is needed. +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c +typedef unsigned short FIXED_FLOAT16; +typedef unsigned int FIXED_FLOAT32; + +namespace Y { +typedef struct _VECTOR3F { } VECTOR3F; + +float InnerProduct(const _VECTOR3F& v1, const _VECTOR3F& v2); +} + +namespace fxutil { + FIXED_FLOAT32 InnerProduct(const FIXED_FLOAT32& v1, const FIXED_FLOAT32& v2); + FIXED_FLOAT32 InnerProduct(const FIXED_FLOAT16& v1, const FIXED_FLOAT16& v2); +} + +namespace X { + float Sqrt(float f); + float Sqrt(FIXED_FLOAT32 f); +} +using namespace X; + +void f(Y::VECTOR3F &scale) +{ + using fxutil::InnerProduct; + Sqrt(InnerProduct(scale,scale)); +} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:4:1: error: unknown type name ‘namespace’ + 4 | namespace Y { + | ^~~~~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:4:13: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token + 4 | namespace Y { + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:10:1: error: unknown type name ‘namespace’ + 10 | namespace fxutil { + | ^~~~~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:10:18: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token + 10 | namespace fxutil { + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:15:1: error: unknown type name ‘namespace’ + 15 | namespace X { + | ^~~~~~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:15:13: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token + 15 | namespace X { + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:19:1: error: unknown type name ‘using’ + 19 | using namespace X; + | ^~~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:19:17: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘X’ + 19 | using namespace X; + | ^ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:21:9: error: expected ‘)’ before ‘:’ token + 21 | void f(Y::VECTOR3F &scale) + | ^ + | ) + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_arg_dependent_overload_switch **** +**** BEGIN PROBE add_appropriate_vector_intrinsics_switch **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector bool int x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector bool int x) {f1(x);} + | ^~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c:1:102: error: unknown type name ‘__vector’ + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector bool int x) {f1(x);} + | ^~~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector __bool int x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector __bool int x) {f1(x);} + | ^~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c:1:102: error: unknown type name ‘__vector’ + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector __bool int x) {f1(x);} + | ^~~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector bool int x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector bool int x) {f1(x);} + | ^~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c:1:102: error: unknown type name ‘vector’ + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector bool int x) {f1(x);} + | ^~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector __bool int x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector __bool int x) {f1(x);} + | ^~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c:1:102: error: unknown type name ‘vector’ + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector __bool int x) {f1(x);} + | ^~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector pixel x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector pixel x) {f1(x);} + | ^~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c:1:105: error: unknown type name ‘__vector’ + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector pixel x) {f1(x);} + | ^~~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector __pixel x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector __pixel x) {f1(x);} + | ^~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c:1:105: error: unknown type name ‘__vector’ + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector __pixel x) {f1(x);} + | ^~~~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector pixel x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector pixel x) {f1(x);} + | ^~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c:1:105: error: unknown type name ‘vector’ + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector pixel x) {f1(x);} + | ^~~~~~ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c +void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector __pixel x) {f1(x);} + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector __pixel x) {f1(x);} + | ^~~~ +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c:1:105: error: unknown type name ‘vector’ + 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector __pixel x) {f1(x);} + | ^~~~~~ + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_vector_intrinsics_switch **** +**** BEGIN PROBE set_appropriate_target_platform **** +**** BEGIN PROBE get_macros **** +compiler_prober_t::make_abs_preproc_command + cmd: /usr/bin/cc -std=gnu90 +/usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c +#ifdef __MINGW64__ +__coverity_macro __MINGW64__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __MINGW32__ +__coverity_macro __MINGW32__ +#else +__the_symbol_is_not_defined__ +#endif + +**** END source file *** +pipe_command: /usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c +**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/pp_out +# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" +# 1 "" +# 1 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 1 "" 2 +# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + +**** END FILE output *** +**** BEGIN FILE error: + +**** END FILE error *** +**** END PROBE get_macros **** +[WARNING] Failed to infer target platform of compiler using macro probes. Falling back on default value. +**** END PROBE set_appropriate_target_platform **** +pipe_command: /usr/bin/cc -std=gnu90 -c -print-sysroot +pipe_commands starting: /usr/bin/cc -std=gnu90 -c -print-sysroot +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.c +int inline = 0; + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.c:1:12: error: expected identifier or ‘(’ before ‘=’ token + 1 | int inline = 0; + | ^ + +**** END FILE stderr *** +Test failed +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/inline_keyword.c +inline void foo() { } + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/inline_keyword.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/inline_keyword.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN PROBE add_appropriate_has_include_switch **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_pos.c +#ifdef __has_include +# if __has_include("whatever") +# endif +#else +#error +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_pos.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_pos.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.c +#ifdef __has_include +#error +#else +#define __has_include int foo(void) +__has_include; +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.c:2:2: error: #error + 2 | #error + | ^~~~~ + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_has_include_switch **** +**** BEGIN PROBE add_appropriate_has_include_next_switch **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_pos.c +#ifdef __has_include_next +# if __has_include_next("whatever") +# endif +#else +#error +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_pos.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_pos.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.c +#ifdef __has_include_next +#error +#else +#define __has_include_next int foo(void) +__has_include_next; +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.c:2:2: error: #error + 2 | #error + | ^~~~~ + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_has_include_next_switch **** +**** BEGIN PROBE add_appropriate_has_cpp_attribute_switch **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_pos.c +#ifdef __has_cpp_attribute +# if __has_cpp_attribute(whatever) +# endif +#else +#error +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_pos.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_pos.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: + +**** END FILE stderr *** +Test succeded +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.c +#ifdef __has_cpp_attribute +#error +#else +#define __has_cpp_attribute int foo(void) +__has_cpp_attribute; +#endif + + +**** END FILE source file *** +pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.c +**** BEGIN FILE stdout: + +**** END FILE stdout *** +**** BEGIN FILE stderr: +/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.c:2:2: error: #error + 2 | #error + | ^~~~~ + +**** END FILE stderr *** +Test failed +**** END PROBE add_appropriate_has_cpp_attribute_switch **** +run_comp_tests: no defined custom tests +**** BEGIN PROBE get_standard_includes **** +Dryrun command: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c + +**** END source file *** +pipe_command: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c +**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.output +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +OFFLOAD_TARGET_NAMES=nvptx-none:hsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) +COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' + /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -E -quiet -v -imultiarch x86_64-linux-gnu /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/lib/gcc/x86_64-linux-gnu/9/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' + +**** END FILE output *** +**** BEGIN FILE error: +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +OFFLOAD_TARGET_NAMES=nvptx-none:hsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) +COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' + /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -E -quiet -v -imultiarch x86_64-linux-gnu /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/lib/gcc/x86_64-linux-gnu/9/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' + +**** END FILE error *** +Dryrun gcc found sys include path: /usr/lib/gcc/x86_64-linux-gnu/9/include +Dryrun gcc found sys include path: /usr/local/include +Dryrun gcc found sys include path: /usr/include/x86_64-linux-gnu +Dryrun gcc found sys include path: /usr/include +Dryrun gcc headers found: 4 +**** END PROBE get_standard_includes **** +compiler_prober_t::make_abs_preproc_command + cmd: /usr/bin/cc -std=gnu90 +/usr/bin/cc -std=gnu90 -dM -E /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c + + +**** END source file *** +pipe_command: /usr/bin/cc -std=gnu90 -dM -E /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -dM -E /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c +**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.output +#define __SSP_STRONG__ 3 +#define __DBL_MIN_EXP__ (-1021) +#define __FLT32X_MAX_EXP__ 1024 +#define __UINT_LEAST16_MAX__ 0xffff +#define __ATOMIC_ACQUIRE 2 +#define __FLT128_MAX_10_EXP__ 4932 +#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F +#define __GCC_IEC_559_COMPLEX 2 +#define __UINT_LEAST8_TYPE__ unsigned char +#define __SIZEOF_FLOAT80__ 16 +#define __INTMAX_C(c) c ## L +#define __CHAR_BIT__ 8 +#define __UINT8_MAX__ 0xff +#define __WINT_MAX__ 0xffffffffU +#define __FLT32_MIN_EXP__ (-125) +#define __ORDER_LITTLE_ENDIAN__ 1234 +#define __SIZE_MAX__ 0xffffffffffffffffUL +#define __WCHAR_MAX__ 0x7fffffff +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +#define __DBL_DENORM_MIN__ ((double)4.94065645841246544176568792868221372e-324L) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 +#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 +#define __GCC_IEC_559 2 +#define __FLT32X_DECIMAL_DIG__ 17 +#define __FLT_EVAL_METHOD__ 0 +#define __unix__ 1 +#define __FLT64_DECIMAL_DIG__ 17 +#define __CET__ 3 +#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 +#define __x86_64 1 +#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL +#define __SIG_ATOMIC_TYPE__ int +#define __DBL_MIN_10_EXP__ (-307) +#define __FINITE_MATH_ONLY__ 0 +#define __GNUC_PATCHLEVEL__ 0 +#define __FLT32_HAS_DENORM__ 1 +#define __UINT_FAST8_MAX__ 0xff +#define __has_include(STR) __has_include__(STR) +#define __DEC64_MAX_EXP__ 385 +#define __INT8_C(c) c +#define __INT_LEAST8_WIDTH__ 8 +#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL +#define __SHRT_MAX__ 0x7fff +#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L +#define __FLT64X_MAX_10_EXP__ 4932 +#define __UINT_LEAST8_MAX__ 0xff +#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 +#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128 +#define __UINTMAX_TYPE__ long unsigned int +#define __linux 1 +#define __DEC32_EPSILON__ 1E-6DF +#define __FLT_EVAL_METHOD_TS_18661_3__ 0 +#define __unix 1 +#define __UINT32_MAX__ 0xffffffffU +#define __LDBL_MAX_EXP__ 16384 +#define __FLT128_MIN_EXP__ (-16381) +#define __WINT_MIN__ 0U +#define __linux__ 1 +#define __FLT128_MIN_10_EXP__ (-4931) +#define __INT_LEAST16_WIDTH__ 16 +#define __SCHAR_MAX__ 0x7f +#define __FLT128_MANT_DIG__ 113 +#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) +#define __INT64_C(c) c ## L +#define __DBL_DIG__ 15 +#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 +#define __FLT64X_MANT_DIG__ 64 +#define __SIZEOF_INT__ 4 +#define __SIZEOF_POINTER__ 8 +#define __USER_LABEL_PREFIX__ +#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x +#define __STDC_HOSTED__ 1 +#define __LDBL_HAS_INFINITY__ 1 +#define __FLT32_DIG__ 6 +#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F +#define __SHRT_WIDTH__ 16 +#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L +#define __DEC32_MAX__ 9.999999E96DF +#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x +#define __FLT32X_HAS_INFINITY__ 1 +#define __INT32_MAX__ 0x7fffffff +#define __INT_WIDTH__ 32 +#define __SIZEOF_LONG__ 8 +#define __STDC_IEC_559__ 1 +#define __STDC_ISO_10646__ 201706L +#define __UINT16_C(c) c +#define __PTRDIFF_WIDTH__ 64 +#define __DECIMAL_DIG__ 21 +#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64 +#define __gnu_linux__ 1 +#define __INTMAX_WIDTH__ 64 +#define __has_include_next(STR) __has_include_next__(STR) +#define __FLT64X_MIN_10_EXP__ (-4931) +#define __LDBL_HAS_QUIET_NAN__ 1 +#define __FLT64_MANT_DIG__ 53 +#define __GNUC__ 9 +#define __pie__ 2 +#define __MMX__ 1 +#define __FLT_HAS_DENORM__ 1 +#define __SIZEOF_LONG_DOUBLE__ 16 +#define __BIGGEST_ALIGNMENT__ 16 +#define __FLT64_MAX_10_EXP__ 308 +#define __DBL_MAX__ ((double)1.79769313486231570814527423731704357e+308L) +#define __INT_FAST32_MAX__ 0x7fffffffffffffffL +#define __DBL_HAS_INFINITY__ 1 +#define __HAVE_SPECULATION_SAFE_VALUE 1 +#define __DEC32_MIN_EXP__ (-94) +#define __INTPTR_WIDTH__ 64 +#define __FLT32X_HAS_DENORM__ 1 +#define __INT_FAST16_TYPE__ long int +#define __LDBL_HAS_DENORM__ 1 +#define __FLT128_HAS_INFINITY__ 1 +#define __DEC128_MAX__ 9.99999999999999999999999999 + + + + 1 +#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x +#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) +#define __code_model_small__ 1 +#define __k8__ 1 +#define __INTPTR_TYPE__ long int +#define __UINT16_TYPE__ short unsigned int +#define __WCHAR_TYPE__ int +#define __SIZEOF_FLOAT__ 4 +#define __pic__ 2 +#define __UINTPTR_MAX__ 0xffffffffffffffffUL +#define __INT_FAST64_WIDTH__ 64 +#define __DEC64_MIN_EXP__ (-382) +#define __FLT32_DECIMAL_DIG__ 9 +#define __INT_FAST64_MAX__ 0x7fffffffffffffffL +#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 +#define __FLT_DIG__ 6 +#define __FLT32_HAS_INFINITY__ 1 +#define __FLT64X_MAX_EXP__ 16384 +#define __UINT_FAST64_TYPE__ long unsigned int +#define __INT_MAX__ 0x7fffffff +#define __amd64__ 1 +#define __INT64_TYPE__ long int +#define __FLT_MAX_EXP__ 128 +#define __ORDER_BIG_ENDIAN__ 4321 +#define __DBL_MANT_DIG__ 53 +#define __SIZEOF_FLOAT128__ 16 +#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL +#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 +#define __DEC64_MIN__ 1E-383DD +#define __WINT_TYPE__ unsigned int +#define __UINT_LEAST32_TYPE__ unsigned int +#define __SIZEOF_SHORT__ 2 +#define __SSE__ 1 +#define __LDBL_MIN_EXP__ (-16381) +#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64 +#define __WINT_WIDTH__ 32 +#define __INT_LEAST8_MAX__ 0x7f +#define __FLT32X_MAX_10_EXP__ 308 +#define __SIZEOF_INT128__ 16 +#define __LDBL_MAX_10_EXP__ 4932 +#define __ATOMIC_RELAXED 0 +#define __DBL_EPSILON__ ((double)2.22044604925031308084726333618164062e-16L) +#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128 +#define _LP64 1 +#define __UINT8_C(c) c +#define __FLT64_MAX_EXP__ 1024 +#define __INT_LEAST32_TYPE__ int +#define __SIZEOF_WCHAR_T__ 4 +#define __UINT64_TYPE__ long unsigned int +#define __FLT128_HAS_QUIET_NAN__ 1 +#define __INT_FAST8_TYPE__ signed char +#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x +#define __FLT64_HAS_DENORM__ 1 +#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32 +#define __DBL_DECIMAL_DIG__ 17 +#define __INT_FAST8_WIDTH__ 8 +#define __FXSR__ 1 +#define __DEC_EVAL_METHOD__ 2 +#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x +#define __UINT32_C(c) c ## U +#define __INTMAX_MAX__ 0x7fffffffffffffffL +#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F +#define __INT8_MAX__ 0x7f +#define __LONG_WIDTH__ 64 +#define __PIC__ 2 +#define __UINT_FAST32_TYPE__ long unsigned int +#define __CHAR32_TYPE__ unsigned int +#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F +#define __INT32_TYPE__ int +#define __SIZEOF_DOUBLE__ 8 +#define __FLT_MIN_10_EXP__ (-37) +#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64 +#define __INT_LEAST32_WIDTH__ 32 +#define __INTMAX_TYPE__ long int +#define __DEC128_MAX_EXP__ 6145 +#define __FLT32X_HAS_QUIET_NAN__ 1 +#define __ATOMIC_CONSUME 1 +#define __GNUC_MINOR__ 4 +#define __INT_FAST16_WIDTH__ 64 +#define __UINTMAX_MAX__ 0xffffffffffffffffUL +#define __DEC32_MANT_DIG__ 7 +#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x +#define __DBL_MAX_10_EXP__ 308 +#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L +#define __INT16_C(c) c +#define __STDC__ 1 +#define __PTRDIFF_TYPE__ long int +#define __ATOMIC_SEQ_CST 5 +#define __UINT32_TYPE__ unsigned int +#define __FLT32X_MIN_10_EXP__ (-307) +#define __UINTPTR_TYPE__ long unsigned int +#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD +#define __DEC128_MANT_DIG__ 34 +#define __LDBL_MIN_10_EXP__ (-4931) +#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128 +#define __SIZEOF_LONG_LONG__ 8 +#define __FLT128_DECIMAL_DIG__ 36 +#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 +#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x +#define __LDBL_DIG__ 18 +#define __FLT_DECIMAL_DIG__ 9 +#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL +#define __GNUC_GNU_INLINE__ 1 +#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 +#define __INT_LEAST64_WIDTH__ 64 +#define __UINT_FAST8_TYPE__ unsigned char +#define __ATOMIC_ACQ_REL 4 +#define __ATOMIC_RELEASE 3 + +**** END FILE output *** +**** BEGIN FILE error: + +**** END FILE error *** +Skipping looking for macros in standard headers. The header scan probe has been disabled by the no header scan option. +**** BEGIN PROBE get_macros **** +[STATUS] gcc-config-0: Retrieving values for macros +compiler_prober_t::make_abs_preproc_command + cmd: /usr/bin/cc -std=gnu90 +/usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c +#ifdef _REENTRANT +__coverity_macro _REENTRANT +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __CET__ +__coverity_macro __CET__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __CHAR_UNSIGNED__ +__coverity_macro __CHAR_UNSIGNED__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __DEPRECATED +__coverity_macro __DEPRECATED +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __EXCEPTIONS +__coverity_macro __EXCEPTIONS +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FAST_MATH__ +__coverity_macro __FAST_MATH__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FINITE_MATH_ONLY__ +__coverity_macro __FINITE_MATH_ONLY__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMA +__coverity_macro __FP_FAST_FMA +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF +__coverity_macro __FP_FAST_FMAF +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF128 +__coverity_macro __FP_FAST_FMAF128 +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF128X +__coverity_macro __FP_FAST_FMAF128X +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF16 +__coverity_macro __FP_FAST_FMAF16 +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF32 +__coverity_macro __FP_FAST_FMAF32 +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF32X +__coverity_macro __FP_FAST_FMAF32X +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF64 +__coverity_macro __FP_FAST_FMAF64 +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAF64X +__coverity_macro __FP_FAST_FMAF64X +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __FP_FAST_FMAL +__coverity_macro __FP_FAST_FMAL +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __GCC_HAVE_DWARF2_CFI_ASM +__coverity_macro __GCC_HAVE_DWARF2_CFI_ASM +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 +__coverity_macro __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __GCC_IEC_559_COMPLEX +__coverity_macro __GCC_IEC_559_COMPLEX +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __GNUG__ +__coverity_macro __GNUG__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __GXX_RTTI +__coverity_macro __GXX_RTTI +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __GXX_WEAK__ +__coverity_macro __GXX_WEAK__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __INCLUDE_LEVEL__ +__coverity_macro __INCLUDE_LEVEL__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __NO_MATH_ERRNO__ +__coverity_macro __NO_MATH_ERRNO__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __PIC__ +__coverity_macro __PIC__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __PIE__ +__coverity_macro __PIE__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __PTRDIFF_TYPE__ +__coverity_macro __PTRDIFF_TYPE__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __REGISTER_PREFIX__ +__coverity_macro __REGISTER_PREFIX__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __SANITIZE_ADDRESS__ +__coverity_macro __SANITIZE_ADDRESS__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __SANITIZE_THREAD__ +__coverity_macro __SANITIZE_THREAD__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __SIZE_TYPE__ +__coverity_macro __SIZE_TYPE__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __SSP_ALL__ +__coverity_macro __SSP_ALL__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __SSP_EXPLICIT__ +__coverity_macro __SSP_EXPLICIT__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __SSP_STRONG__ +__coverity_macro __SSP_STRONG__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __SSP__ +__coverity_macro __SSP__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __STDCPP_DEFAULT_NEW_ALIGNMENT__ +__coverity_macro __STDCPP_DEFAULT_NEW_ALIGNMENT__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __STDC_IEC_559_COMPLEX__ +__coverity_macro __STDC_IEC_559_COMPLEX__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __STDC_IEC_559__ +__coverity_macro __STDC_IEC_559__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __STDC_VERSION__ +__coverity_macro __STDC_VERSION__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __STDC__ +__coverity_macro __STDC__ +#else +__the_symbol_is_not_define + + + +ariables +__coverity_macro __cpp_inline_variables +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_lambdas +__coverity_macro __cpp_lambdas +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_modules +__coverity_macro __cpp_modules +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_namespace_attributes +__coverity_macro __cpp_namespace_attributes +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_nested_namespace_definitions +__coverity_macro __cpp_nested_namespace_definitions +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_noexcept_function_type +__coverity_macro __cpp_noexcept_function_type +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_nontype_template_args +__coverity_macro __cpp_nontype_template_args +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_nontype_template_parameter_auto +__coverity_macro __cpp_nontype_template_parameter_auto +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_nontype_template_parameter_class +__coverity_macro __cpp_nontype_template_parameter_class +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_nsdmi +__coverity_macro __cpp_nsdmi +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_range_based_for +__coverity_macro __cpp_range_based_for +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_raw_strings +__coverity_macro __cpp_raw_strings +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_ref_qualifiers +__coverity_macro __cpp_ref_qualifiers +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_return_type_deduction +__coverity_macro __cpp_return_type_deduction +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_rtti +__coverity_macro __cpp_rtti +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_runtime_arrays +__coverity_macro __cpp_runtime_arrays +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_rvalue_reference +__coverity_macro __cpp_rvalue_reference +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_rvalue_references +__coverity_macro __cpp_rvalue_references +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_size_t_suffix +__coverity_macro __cpp_size_t_suffix +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_sized_deallocation +__coverity_macro __cpp_sized_deallocation +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_static_assert +__coverity_macro __cpp_static_assert +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_structured_bindings +__coverity_macro __cpp_structured_bindings +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_template_template_args +__coverity_macro __cpp_template_template_args +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_threadsafe_static_init +__coverity_macro __cpp_threadsafe_static_init +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_transactional_memory +__coverity_macro __cpp_transactional_memory +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_unicode_characters +__coverity_macro __cpp_unicode_characters +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_unicode_literals +__coverity_macro __cpp_unicode_literals +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_user_defined_literals +__coverity_macro __cpp_user_defined_literals +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_using_enum +__coverity_macro __cpp_using_enum +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_variable_templates +__coverity_macro __cpp_variable_templates +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_variadic_templates +__coverity_macro __cpp_variadic_templates +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __cpp_variadic_using +__coverity_macro __cpp_variadic_using +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __pic__ +__coverity_macro __pic__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __pie__ +__coverity_macro __pie__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __private_extern__ +__coverity_macro __private_extern__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __unix__ +__coverity_macro __unix__ +#else +__the_symbol_is_not_defined__ +#endif +#ifdef __vax__ +__coverity_macro __vax__ +#else +__the_symbol_is_not_defined__ +#endif + +**** END source file *** +pipe_command: /usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c +**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/pp_out +# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" +# 1 "" +# 1 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 1 "" 2 +# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 3 + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 0 + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 1 + + + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 2 + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 0 + + + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 2 + + + + +__coverity_macro 2 + + + + +__coverity_macro long int + + + + +__coverity_macro + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro long unsigned int + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 3 + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro +# 187 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" 3 4 + 1 + + + + + +# 192 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" +__coverity_macro +# 192 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" 3 4 + 1 + + + + + + + +# 199 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" +__the_symbol_is_not_defined__ + + +__coverity_macro 1 + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro + + + + +__coverity_macro "9.4.0" + + + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 2 + + + + +__coverity_macro 2 + + + + + + +__the_symbol_is_not_defined__ + + +__coverity_macro 1 + + + + + + +__the_symbol_is_not_defined__ + +**** END FILE output *** +**** BEGIN FILE error: + +**** END FILE error *** +**** END PROBE get_macros **** +Failed to find header /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/templates/gnu/cc.h +[STATUS] gcc-config-0: Running config probes +**** BEGIN PROBE run_linker_config_probe **** +Running command "/usr/bin/cc -std=gnu90 -print-search-dirs". +pipe_command: /usr/bin/cc -std=gnu90 -print-search-dirs +pipe_commands starting: /usr/bin/cc -std=gnu90 -print-search-dirs +**** BEGIN OUTPUT run_linker_config_probe **** +install: /usr/lib/gcc/x86_64-linux-gnu/9/ +programs: =/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/ +libraries: =/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/9/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/9/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ +**** END OUTPUT run_linker_config_probe **** +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/'. +**** Found library search path '/lib/x86_64-linux-gnu/9/'. +**** Found library search path '/lib/x86_64-linux-gnu/'. +**** Found library search path '/lib/../lib/'. +**** Found library search path '/usr/lib/x86_64-linux-gnu/9/'. +**** Found library search path '/usr/lib/x86_64-linux-gnu/'. +**** Found library search path '/usr/lib/../lib/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/'. +**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../'. +**** Found library search path '/lib/'. +**** Found library search path '/usr/lib/'. +**** END PROBE run_linker_config_probe **** +**** BEGIN PROBE run_linker_config_probe **** +**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c +int main() {} +**** END FILE source file *** +Running command "/usr/bin/cc -std=gnu90 -Wl,--trace test.c". +pipe_command: /usr/bin/cc -std=gnu90 -Wl,--trace test.c +pipe_commands starting: /usr/bin/cc -std=gnu90 -Wl,--trace test.c +**** BEGIN OUTPUT run_linker_config_probe **** +/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o +/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o +/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o +/tmp/ccVzHvWI.o +/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +/usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so +/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 +/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so +/lib/x86_64-linux-gnu/libc.so.6 +/usr/lib/x86_64-linux-gnu/libc_nonshared.a +/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 +/usr/lib/x86_64-linux-gnu/libc_nonshared.a +/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 +/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +/usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so +/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 +/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a +/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o +/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o +**** END OUTPUT run_linker_config_probe **** +[WARNING]: expecting first line to be a mode line but got: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o +[WARNING]: /tmp/ccVzHvWI.o eliminated because it does not exist in the file system. +**** END PROBE run_linker_config_probe **** diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-compiler-compat.h b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-compiler-compat.h new file mode 100644 index 000000000..b46f6b7b8 --- /dev/null +++ b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-compiler-compat.h @@ -0,0 +1,8656 @@ + +#if __COVERITY__ +#if !defined(COVERITY_COMPAT_a686842b84bb52371c3dd7976b9e30b4) +#define COVERITY_COMPAT_a686842b84bb52371c3dd7976b9e30b4 +#pragma builtin begin + +/* + Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. + The information contained in this file is the proprietary and confidential + information of Synopsys, Inc. and its licensors, and is supplied subject to, + and may be used only by Synopsys customers in accordance with the terms and + conditions of a previously executed license agreement between Synopsys and + that customer. +*/ + + +/* DO NOT MODIFY THE CONTENTS OF THIS FILE */ + +#define __COVERITY_GCC_VERSION_AT_LEAST(maj, min) \ + ((__GNUC__ > (maj)) || (__GNUC__ == (maj) && __GNUC_MINOR__ >= (min))) + +#if defined(__GNUC__) +#if defined(__SPU__) || defined(__PPC__) +#if defined(__COVERITY_GCC_DIALECT_C89) || defined(__COVERITY_GCC_DIALECT_GNU89) + #undef __STDC_VERSION__ +#endif +#endif +#endif // __GNUC__ +/* Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. */ +#ifdef __coverity_cplusplus +extern "C" { +#endif + +#if defined(__arm__) || defined(__ARM_NEON__) || defined(__aarch64__) + +// Type aliases common to several targets + +typedef char __simd128_int8_t __attribute__((__vector_size__(16))); +typedef short __simd128_int16_t __attribute__((__vector_size__(16))); +typedef int __simd128_int32_t __attribute__((__vector_size__(16))); +typedef long long __simd128_int64_t __attribute__((__vector_size__(16))); +typedef unsigned char __simd128_uint8_t __attribute__((__vector_size__(16))); +typedef unsigned short __simd128_uint16_t __attribute__((__vector_size__(16))); +typedef unsigned int __simd128_uint32_t __attribute__((__vector_size__(16))); +typedef unsigned long long __simd128_uint64_t __attribute__((__vector_size__(16))); +typedef float cov_fp16_t __attribute__((mode(HF))); +typedef float __simd128_float32_t __attribute__((__vector_size__(16))); +typedef cov_fp16_t __simd128_float16_t __attribute__((__vector_size__(16))); +typedef int __builtin_neon_oi __attribute__ ((__vector_size__(32))); +typedef int __builtin_neon_xi __attribute__ ((__vector_size__(64))); +typedef cov_fp16_t __bf16; + +#endif // defined(__arm__) || defined(__ARM_NEON__) || defined(__aarch64__) + + +#ifdef __arm__ + +void __builtin_cxa_end_cleanup(); +void __builtin_arm_cdp(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); +void __builtin_arm_cdp2(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); +unsigned int __builtin_arm_crc32b(unsigned int, unsigned char); +unsigned int __builtin_arm_crc32cb(unsigned int, unsigned char); +unsigned int __builtin_arm_crc32ch(unsigned int, short unsigned int); +unsigned int __builtin_arm_crc32cw(unsigned int, unsigned int); +unsigned int __builtin_arm_crc32h(unsigned int, short unsigned int); +unsigned int __builtin_arm_crc32w(unsigned int, unsigned int); +void __builtin_arm_ldc(unsigned int, unsigned int, const void*); +void __builtin_arm_ldc2(unsigned int, unsigned int, const void*); +void __builtin_arm_ldc2l(unsigned int, unsigned int, const void*); +void __builtin_arm_ldcl(unsigned int, unsigned int, const void*); +void __builtin_arm_mcr(unsigned int, unsigned int, int, unsigned int, unsigned int, unsigned int); +void __builtin_arm_mcr2(unsigned int, unsigned int, int, unsigned int, unsigned int, unsigned int); +void __builtin_arm_mcrr(unsigned int, unsigned int, long long int, unsigned int); +void __builtin_arm_mcrr2(unsigned int, unsigned int, long long int, unsigned int); +int __builtin_arm_mrc(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); +int __builtin_arm_mrc2(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); +long long int __builtin_arm_mrrc(unsigned int, unsigned int, unsigned int); +long long int __builtin_arm_mrrc2(unsigned int, unsigned int, unsigned int); +void __builtin_arm_stc(unsigned int, unsigned int, void*); +void __builtin_arm_stc2(unsigned int, unsigned int, void*); +void __builtin_arm_stc2l(unsigned int, unsigned int, void*); +void __builtin_arm_stcl(unsigned int, unsigned int, void*); +void* __builtin___emutls_get_address(void*); +void __builtin___emutls_register_common(void*, unsigned int, unsigned int, void*); +unsigned int __builtin_arm_get_fpscr (); +void __builtin_arm_set_fpscr (unsigned int); + +int __builtin_arm_saturation_occurred(void); +int __builtin_arm_qadd(int, int); +int __builtin_arm_qadd16(int, int); +int __builtin_arm_qadd8(int, int); +int __builtin_arm_qasx(int, int); +int __builtin_arm_qsax(int, int); +int __builtin_arm_qsub(int, int); +int __builtin_arm_qsub16(int, int); +int __builtin_arm_qsub8(int, int); +int __builtin_arm_sadd16(int, int); +int __builtin_arm_sadd8(int, int); +int __builtin_arm_sasx(int, int); +unsigned int __builtin_arm_sel(unsigned int, unsigned int); +void __builtin_arm_set_saturation(int); +int __builtin_arm_shadd16(int, int); +int __builtin_arm_shadd8(int, int); +int __builtin_arm_shasx(int, int); +int __builtin_arm_shsax(int, int); +int __builtin_arm_shsub16(int, int); +int __builtin_arm_shsub8(int, int); +int __builtin_arm_smlabb(int, int, int); +int __builtin_arm_smlad(int, int, int); +int __builtin_arm_smladx(int, int, int); +long long int __builtin_arm_smlald(int, int, long long int); +long long int __builtin_arm_smlaldx(int, int, long long int); +int __builtin_arm_smlatb(int, int, int); +int __builtin_arm_smlatt(int, int, int); +int __builtin_arm_smlawb(int, int, int); +int __builtin_arm_smlawt(int, int, int); +int __builtin_arm_smlsd(int, int, int); +int __builtin_arm_smlsdx(int, int, int); +long long int __builtin_arm_smlsld(int, int, long long int); +long long int __builtin_arm_smlsldx(int, int, long long int); +int __builtin_arm_smuad(int, int); +int __builtin_arm_smuadx(int, int); +int __builtin_arm_smusd(int, int); +int __builtin_arm_smusdx(int, int); +unsigned int __builtin_arm_ssat(int, unsigned int); +unsigned int __builtin_arm_ssat16(int, unsigned int); +int __builtin_arm_ssax(int, int); +int __builtin_arm_ssub16(int, int); +int __builtin_arm_ssub8(int, int); +int __builtin_arm_sxtab16(int, int); +int __builtin_arm_sxtb16(int); +unsigned int __builtin_arm_uadd16(unsigned int, unsigned int); +unsigned int __builtin_arm_uadd8(unsigned int, unsigned int); +unsigned int __builtin_arm_uasx(unsigned int, unsigned int); +unsigned int __builtin_arm_uhadd16(unsigned int, unsigned int); +unsigned int __builtin_arm_uhadd8(unsigned int, unsigned int); +unsigned int __builtin_arm_uhasx(unsigned int, unsigned int); +unsigned int __builtin_arm_uhsax(unsigned int, unsigned int); +unsigned int __builtin_arm_uhsub16(unsigned int, unsigned int); +unsigned int __builtin_arm_uhsub8(unsigned int, unsigned int); +unsigned int __builtin_arm_uqadd16(unsigned int, unsigned int); +unsigned int __builtin_arm_uqadd8(unsigned int, unsigned int); +unsigned int __builtin_arm_uqasx(unsigned int, unsigned int); +unsigned int __builtin_arm_uqsax(unsigned int, unsigned int); +unsigned int __builtin_arm_uqsub16(unsigned int, unsigned int); +unsigned int __builtin_arm_uqsub8(unsigned int, unsigned int); +unsigned int __builtin_arm_usad8(unsigned int, unsigned int); +unsigned int __builtin_arm_usada8(unsigned int, unsigned int, unsigned int); +unsigned int __builtin_arm_usat(int, unsigned int); +unsigned int __builtin_arm_usat16(int, unsigned int); +unsigned int __builtin_arm_usax(unsigned int, unsigned int); +unsigned int __builtin_arm_usub16(unsigned int, unsigned int); +unsigned int __builtin_arm_usub8(unsigned int, unsigned int); +unsigned int __builtin_arm_uxtab16(unsigned int, unsigned int); +unsigned int __builtin_arm_uxtb16(unsigned int); +void __builtin_sat_imm_check(int, int, int); +void* __emutls_get_address(void*); +void __emutls_register_common(void*, unsigned int, unsigned int, void*); +__bf16 __divbc3(__bf16, __bf16, __bf16, __bf16); +__bf16 __mulbc3(__bf16, __bf16, __bf16, __bf16); + +// -mfp16-format=ieee +__bf16 __divhc3(__bf16, __bf16, __bf16, __bf16); +__bf16 __mulhc3(__bf16, __bf16, __bf16, __bf16); + +// -march=armv8-m.main+cdecp0 +long long int __builtin_arm_cx1adi(int, long long int, unsigned int); +int __builtin_arm_cx1asi(int, int, unsigned int); +long long int __builtin_arm_cx1di(int, unsigned int); +int __builtin_arm_cx1si(int, unsigned int); +long long int __builtin_arm_cx2adi(int, long long int, int, unsigned int); +int __builtin_arm_cx2asi(int, int, int, unsigned int); +long long int __builtin_arm_cx2di(int, int, unsigned int); +int __builtin_arm_cx2si(int, int, unsigned int); +long long int __builtin_arm_cx3adi(int, long long int, int, int, unsigned int); +int __builtin_arm_cx3asi(int, int, int, int, unsigned int); +long long int __builtin_arm_cx3di(int, int, int, unsigned int); +int __builtin_arm_cx3si(int, int, int, unsigned int); + +// -mfloat-abi=hard -march=armv8.1-m.main+mve+cdecp0 +long long int __builtin_arm_vcx1adi(int, long long int, unsigned int); +int __builtin_arm_vcx1asi(int, int, unsigned int); +long long int __builtin_arm_vcx1di(int, unsigned int); +__simd128_int8_t __builtin_arm_vcx1qa_p_v16qi(int, __simd128_int8_t, unsigned int, short unsigned int); +__simd128_int8_t __builtin_arm_vcx1qav16qi(int, __simd128_int8_t, unsigned int); +__simd128_int8_t __builtin_arm_vcx1q_p_v16qi(int, __simd128_int8_t, unsigned int, short unsigned int); +__simd128_int8_t __builtin_arm_vcx1qv16qi(int, unsigned int); +int __builtin_arm_vcx1si(int, unsigned int); +long long int __builtin_arm_vcx2adi(int, long long int, long long int, unsigned int); +int __builtin_arm_vcx2asi(int, int, int, unsigned int); +long long int __builtin_arm_vcx2di(int, long long int, unsigned int); +__simd128_int8_t __builtin_arm_vcx2qa_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); +__simd128_int8_t __builtin_arm_vcx2qav16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int); +__simd128_int8_t __builtin_arm_vcx2q_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); +__simd128_int8_t __builtin_arm_vcx2qv16qi(int, __simd128_int8_t, unsigned int); +int __builtin_arm_vcx2si(int, int, unsigned int); +long long int __builtin_arm_vcx3adi(int, long long int, long long int, long long int, unsigned int); +int __builtin_arm_vcx3asi(int, int, int, int, unsigned int); +long long int __builtin_arm_vcx3di(int, long long int, long long int, unsigned int); +__simd128_int8_t __builtin_arm_vcx3qa_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); +__simd128_int8_t __builtin_arm_vcx3qav16qi(int, __simd128_int8_t, __simd128_int8_t, __simd128_int8_t, unsigned int); +__simd128_int8_t __builtin_arm_vcx3q_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); +__simd128_int8_t __builtin_arm_vcx3qv16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int); +int __builtin_arm_vcx3si(int, int, int, unsigned int); + +// -march=armv8.1-m.main+mve -mfloat-abi=hard +int __builtin_arm_get_fpscr_nzcvqc(void); +void __builtin_arm_set_fpscr_nzcvqc(int); +long long int __builtin_mve_sqrshrl_sat48_di(long long int, int); +long long int __builtin_mve_sqrshrl_sat64_di(long long int, int); +int __builtin_mve_sqrshr_si(int, int); +long long unsigned int __builtin_mve_sqshll_di(long long unsigned int, const int); +unsigned int __builtin_mve_sqshl_si(long long unsigned int, const int); +long long unsigned int __builtin_mve_srshrl_di(long long unsigned int, const int); +unsigned int __builtin_mve_srshr_si(long long unsigned int, const int); +long long unsigned int __builtin_mve_uqrshll_sat48_di(long long unsigned int, int); +long long unsigned int __builtin_mve_uqrshll_sat64_di(long long unsigned int, int); +unsigned int __builtin_mve_uqrshl_si(unsigned int, int); +long long unsigned int __builtin_mve_uqshll_di(long long unsigned int, const int); +unsigned int __builtin_mve_uqshl_si(unsigned int, const int); +long long unsigned int __builtin_mve_urshrl_di(long long unsigned int, const int); +unsigned int __builtin_mve_urshr_si(unsigned int, const int); +unsigned int __builtin_mve_vabavq_p_sv16qi(unsigned int, __simd128_int8_t, __simd128_int8_t, short unsigned int); +unsigned int __builtin_mve_vabavq_p_sv4si(unsigned int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +unsigned int __builtin_mve_vabavq_p_sv8hi(unsigned int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +unsigned int __builtin_mve_vabavq_p_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +unsigned int __builtin_mve_vabavq_p_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +unsigned int __builtin_mve_vabavq_p_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +unsigned int __builtin_mve_vabavq_sv16qi(unsigned int, __simd128_int8_t, __simd128_int8_t); +unsigned int __builtin_mve_vabavq_sv4si(unsigned int, __simd128_int32_t, __simd128_int32_t); +unsigned int __builtin_mve_vabavq_sv8hi(unsigned int, __simd128_int16_t, __simd128_int16_t); +unsigned int __builtin_mve_vabavq_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t); +unsigned int __builtin_mve_vabavq_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t); +unsigned int __builtin_mve_vabavq_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vabdq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vabdq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vabdq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vabdq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vabdq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vabdq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vabdq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vabdq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vabdq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vabdq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vabdq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vabdq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vabdq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vabdq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vabdq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vabdq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vabsq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vabsq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vabsq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vabsq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vabsq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vabsq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vabsq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vabsq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vabsq_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vabsq_sv8hi(__simd128_int16_t); +__simd128_int32_t __builtin_mve_vadciq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vadciq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vadciq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_uint32_t __builtin_mve_vadciq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_int32_t __builtin_mve_vadcq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vadcq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vadcq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_uint32_t __builtin_mve_vadcq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +long long int __builtin_mve_vaddlvaq_p_sv4si(long long int, __simd128_int32_t, short unsigned int); +long long unsigned int __builtin_mve_vaddlvaq_p_uv4si(long long unsigned int, __simd128_uint32_t, short unsigned int); +long long int __builtin_mve_vaddlvaq_sv4si(long long int, __simd128_int32_t); +long long unsigned int __builtin_mve_vaddlvaq_uv4si(long long unsigned int, __simd128_uint32_t); +long long int __builtin_mve_vaddlvq_p_sv4si(__simd128_int32_t, short unsigned int); +long long unsigned int __builtin_mve_vaddlvq_p_uv4si(__simd128_uint32_t, short unsigned int); +long long int __builtin_mve_vaddlvq_sv4si(__simd128_int32_t); +long long unsigned int __builtin_mve_vaddlvq_uv4si(__simd128_uint32_t); +__simd128_float32_t __builtin_mve_vaddq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vaddq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vaddq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); +__simd128_float16_t __builtin_mve_vaddq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); +__simd128_int8_t __builtin_mve_vaddq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vaddq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vaddq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vaddq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vaddq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vaddq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vaddq_n_fv4sf(__simd128_float32_t, float); +__simd128_float16_t __builtin_mve_vaddq_n_fv8hf(__simd128_float16_t, __bf16); +__simd128_int8_t __builtin_mve_vaddq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vaddq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vaddq_n_sv8hi(__simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vaddq_n_uv16qi(__simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vaddq_n_uv4si(__simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vaddq_n_uv8hi(__simd128_uint16_t, short unsigned int); +int __builtin_mve_vaddvaq_p_sv16qi(int, __simd128_int8_t, short unsigned int); +int __builtin_mve_vaddvaq_p_sv4si(int, __simd128_int32_t, short unsigned int); +int __builtin_mve_vaddvaq_p_sv8hi(int, __simd128_int16_t, short unsigned int); +unsigned int __builtin_mve_vaddvaq_p_uv16qi(unsigned int, __simd128_uint8_t, short unsigned int); +unsigned int __builtin_mve_vaddvaq_p_uv4si(unsigned int, __simd128_uint32_t, short unsigned int); +unsigned int __builtin_mve_vaddvaq_p_uv8hi(unsigned int, __simd128_uint16_t, short unsigned int); +int __builtin_mve_vaddvaq_sv16qi(int, __simd128_int8_t); +int __builtin_mve_vaddvaq_sv4si(int, __simd128_int32_t); +int __builtin_mve_vaddvaq_sv8hi(int, __simd128_int16_t); +unsigned int __builtin_mve_vaddvaq_uv16qi(unsigned int, __simd128_uint8_t); +unsigned int __builtin_mve_vaddvaq_uv4si(unsigned int, __simd128_uint32_t); +unsigned int __builtin_mve_vaddvaq_uv8hi(unsigned int, __simd128_uint16_t); +int __builtin_mve_vaddvq_p_sv16qi(__simd128_int8_t, short unsigned int); +int __builtin_mve_vaddvq_p_sv4si(__simd128_int32_t, short unsigned int); +int __builtin_mve_vaddvq_p_sv8hi(__simd128_int16_t, short unsigned int); +unsigned int __builtin_mve_vaddvq_p_uv16qi(__simd128_uint8_t, short unsigned int); +unsigned int __builtin_mve_vaddvq_p_uv4si(__simd128_uint32_t, short unsigned int); +unsigned int __builtin_mve_vaddvq_p_uv8hi(__simd128_uint16_t, short unsigned int); +int __builtin_mve_vaddvq_sv16qi(__simd128_int8_t); +int __builtin_mve_vaddvq_sv4si(__simd128_int32_t); +int __builtin_mve_vaddvq_sv8hi(__simd128_int16_t); +unsigned int __builtin_mve_vaddvq_uv16qi(__simd128_uint8_t); +unsigned int __builtin_mve_vaddvq_uv4si(__simd128_uint32_t); +unsigned int __builtin_mve_vaddvq_uv8hi(__simd128_uint16_t); +__simd128_float32_t __builtin_mve_vandq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vandq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vandq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vandq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vandq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vandq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vandq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vandq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vandq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vandq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vandq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vandq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vandq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vandq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vandq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vandq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vbicq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vbicq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vbicq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vbicq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vbicq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vbicq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vbicq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vbicq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vbicq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vbicq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vbicq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vbicq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vbicq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vbicq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vbicq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vbicq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint32_t __builtin_mve_vbicq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vbicq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vbicq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vbicq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vbicq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vbicq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vbicq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vbicq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vbrsrq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, int, short unsigned int); +__simd128_float16_t __builtin_mve_vbrsrq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vbrsrq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vbrsrq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vbrsrq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vbrsrq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vbrsrq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vbrsrq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_float32_t __builtin_mve_vbrsrq_n_fv4sf(__simd128_float32_t, int); +__simd128_float16_t __builtin_mve_vbrsrq_n_fv8hf(__simd128_float16_t, int); +__simd128_int8_t __builtin_mve_vbrsrq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vbrsrq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vbrsrq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vbrsrq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vbrsrq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vbrsrq_n_uv8hi(__simd128_uint16_t, int); +__simd128_float32_t __builtin_mve_vcaddq_rot270_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcaddq_rot270_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcaddq_rot270_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcaddq_rot270_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vcaddq_rot270_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcaddq_rot270_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vcaddq_rot270_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vcaddq_rot270_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vcaddq_rot270_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vcaddq_rot270_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vcaddq_rot270_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vcaddq_rot270_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vcaddq_rot270_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vcaddq_rot270_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vcaddq_rot270_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vcaddq_rot270_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vcaddq_rot90_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcaddq_rot90_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcaddq_rot90_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcaddq_rot90_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vcaddq_rot90_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcaddq_rot90_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vcaddq_rot90_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vcaddq_rot90_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vcaddq_rot90_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vcaddq_rot90_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vcaddq_rot90_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vcaddq_rot90_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vcaddq_rot90_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vcaddq_rot90_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vcaddq_rot90_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vcaddq_rot90_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_int8_t __builtin_mve_vclsq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vclsq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vclsq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vclsq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vclsq_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vclsq_sv8hi(__simd128_int16_t); +__simd128_int8_t __builtin_mve_vclzq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vclzq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vclzq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vclzq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vclzq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vclzq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vclzq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vclzq_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vclzq_sv8hi(__simd128_int16_t); +__simd128_uint8_t __builtin_mve_vclzq_uv16qi(__simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vclzq_uv4si(__simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vclzq_uv8hi(__simd128_uint16_t); +__simd128_float32_t __builtin_mve_vcmlaq_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmlaq_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmlaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmlaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcmlaq_rot180_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmlaq_rot180_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmlaq_rot180_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmlaq_rot180_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcmlaq_rot270_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmlaq_rot270_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmlaq_rot270_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmlaq_rot270_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcmlaq_rot90_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmlaq_rot90_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmlaq_rot90_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmlaq_rot90_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_n_uv16qi(__simd128_uint8_t, unsigned char); +short unsigned int __builtin_mve_vcmpcsq_n_uv4si(__simd128_uint32_t, unsigned int); +short unsigned int __builtin_mve_vcmpcsq_n_uv8hi(__simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpcsq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +short unsigned int __builtin_mve_vcmpcsq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +short unsigned int __builtin_mve_vcmpcsq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +short unsigned int __builtin_mve_vcmpeqq_fv4sf(__simd128_float32_t, __simd128_float32_t); +short unsigned int __builtin_mve_vcmpeqq_fv8hf(__simd128_float16_t, __simd128_float16_t); +short unsigned int __builtin_mve_vcmpeqq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_n_fv4sf(__simd128_float32_t, float); +short unsigned int __builtin_mve_vcmpeqq_n_fv8hf(__simd128_float16_t, __bf16); +short unsigned int __builtin_mve_vcmpeqq_n_sv16qi(__simd128_int8_t, signed char); +short unsigned int __builtin_mve_vcmpeqq_n_sv4si(__simd128_int32_t, int); +short unsigned int __builtin_mve_vcmpeqq_n_sv8hi(__simd128_int16_t, short int); +short unsigned int __builtin_mve_vcmpeqq_n_uv16qi(__simd128_uint8_t, unsigned char); +short unsigned int __builtin_mve_vcmpeqq_n_uv4si(__simd128_uint32_t, unsigned int); +short unsigned int __builtin_mve_vcmpeqq_n_uv8hi(__simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpeqq_sv16qi(__simd128_int8_t, __simd128_int8_t); +short unsigned int __builtin_mve_vcmpeqq_sv4si(__simd128_int32_t, __simd128_int32_t); +short unsigned int __builtin_mve_vcmpeqq_sv8hi(__simd128_int16_t, __simd128_int16_t); +short unsigned int __builtin_mve_vcmpeqq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +short unsigned int __builtin_mve_vcmpeqq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +short unsigned int __builtin_mve_vcmpeqq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +short unsigned int __builtin_mve_vcmpgeq_fv4sf(__simd128_float32_t, __simd128_float32_t); +short unsigned int __builtin_mve_vcmpgeq_fv8hf(__simd128_float16_t, __simd128_float16_t); +short unsigned int __builtin_mve_vcmpgeq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgeq_n_fv4sf(__simd128_float32_t, float); +short unsigned int __builtin_mve_vcmpgeq_n_fv8hf(__simd128_float16_t, __bf16); +short unsigned int __builtin_mve_vcmpgeq_n_sv16qi(__simd128_int8_t, signed char); +short unsigned int __builtin_mve_vcmpgeq_n_sv4si(__simd128_int32_t, int); +short unsigned int __builtin_mve_vcmpgeq_n_sv8hi(__simd128_int16_t, short int); +short unsigned int __builtin_mve_vcmpgeq_sv16qi(__simd128_int8_t, __simd128_int8_t); +short unsigned int __builtin_mve_vcmpgeq_sv4si(__simd128_int32_t, __simd128_int32_t); +short unsigned int __builtin_mve_vcmpgeq_sv8hi(__simd128_int16_t, __simd128_int16_t); +short unsigned int __builtin_mve_vcmpgtq_fv4sf(__simd128_float32_t, __simd128_float32_t); +short unsigned int __builtin_mve_vcmpgtq_fv8hf(__simd128_float16_t, __simd128_float16_t); +short unsigned int __builtin_mve_vcmpgtq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpgtq_n_fv4sf(__simd128_float32_t, float); +short unsigned int __builtin_mve_vcmpgtq_n_fv8hf(__simd128_float16_t, __bf16); +short unsigned int __builtin_mve_vcmpgtq_n_sv16qi(__simd128_int8_t, signed char); +short unsigned int __builtin_mve_vcmpgtq_n_sv4si(__simd128_int32_t, int); +short unsigned int __builtin_mve_vcmpgtq_n_sv8hi(__simd128_int16_t, short int); +short unsigned int __builtin_mve_vcmpgtq_sv16qi(__simd128_int8_t, __simd128_int8_t); +short unsigned int __builtin_mve_vcmpgtq_sv4si(__simd128_int32_t, __simd128_int32_t); +short unsigned int __builtin_mve_vcmpgtq_sv8hi(__simd128_int16_t, __simd128_int16_t); +short unsigned int __builtin_mve_vcmphiq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); +short unsigned int __builtin_mve_vcmphiq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmphiq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmphiq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +short unsigned int __builtin_mve_vcmphiq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +short unsigned int __builtin_mve_vcmphiq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmphiq_n_uv16qi(__simd128_uint8_t, unsigned char); +short unsigned int __builtin_mve_vcmphiq_n_uv4si(__simd128_uint32_t, unsigned int); +short unsigned int __builtin_mve_vcmphiq_n_uv8hi(__simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmphiq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +short unsigned int __builtin_mve_vcmphiq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +short unsigned int __builtin_mve_vcmphiq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +short unsigned int __builtin_mve_vcmpleq_fv4sf(__simd128_float32_t, __simd128_float32_t); +short unsigned int __builtin_mve_vcmpleq_fv8hf(__simd128_float16_t, __simd128_float16_t); +short unsigned int __builtin_mve_vcmpleq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpleq_n_fv4sf(__simd128_float32_t, float); +short unsigned int __builtin_mve_vcmpleq_n_fv8hf(__simd128_float16_t, __bf16); +short unsigned int __builtin_mve_vcmpleq_n_sv16qi(__simd128_int8_t, signed char); +short unsigned int __builtin_mve_vcmpleq_n_sv4si(__simd128_int32_t, int); +short unsigned int __builtin_mve_vcmpleq_n_sv8hi(__simd128_int16_t, short int); +short unsigned int __builtin_mve_vcmpleq_sv16qi(__simd128_int8_t, __simd128_int8_t); +short unsigned int __builtin_mve_vcmpleq_sv4si(__simd128_int32_t, __simd128_int32_t); +short unsigned int __builtin_mve_vcmpleq_sv8hi(__simd128_int16_t, __simd128_int16_t); +short unsigned int __builtin_mve_vcmpltq_fv4sf(__simd128_float32_t, __simd128_float32_t); +short unsigned int __builtin_mve_vcmpltq_fv8hf(__simd128_float16_t, __simd128_float16_t); +short unsigned int __builtin_mve_vcmpltq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpltq_n_fv4sf(__simd128_float32_t, float); +short unsigned int __builtin_mve_vcmpltq_n_fv8hf(__simd128_float16_t, __bf16); +short unsigned int __builtin_mve_vcmpltq_n_sv16qi(__simd128_int8_t, signed char); +short unsigned int __builtin_mve_vcmpltq_n_sv4si(__simd128_int32_t, int); +short unsigned int __builtin_mve_vcmpltq_n_sv8hi(__simd128_int16_t, short int); +short unsigned int __builtin_mve_vcmpltq_sv16qi(__simd128_int8_t, __simd128_int8_t); +short unsigned int __builtin_mve_vcmpltq_sv4si(__simd128_int32_t, __simd128_int32_t); +short unsigned int __builtin_mve_vcmpltq_sv8hi(__simd128_int16_t, __simd128_int16_t); +short unsigned int __builtin_mve_vcmpneq_fv4sf(__simd128_float32_t, __simd128_float32_t); +short unsigned int __builtin_mve_vcmpneq_fv8hf(__simd128_float16_t, __simd128_float16_t); +short unsigned int __builtin_mve_vcmpneq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_n_fv4sf(__simd128_float32_t, float); +short unsigned int __builtin_mve_vcmpneq_n_fv8hf(__simd128_float16_t, __bf16); +short unsigned int __builtin_mve_vcmpneq_n_sv16qi(__simd128_int8_t, signed char); +short unsigned int __builtin_mve_vcmpneq_n_sv4si(__simd128_int32_t, int); +short unsigned int __builtin_mve_vcmpneq_n_sv8hi(__simd128_int16_t, short int); +short unsigned int __builtin_mve_vcmpneq_n_uv16qi(__simd128_uint8_t, unsigned char); +short unsigned int __builtin_mve_vcmpneq_n_uv4si(__simd128_uint32_t, unsigned int); +short unsigned int __builtin_mve_vcmpneq_n_uv8hi(__simd128_uint16_t, short unsigned int); +short unsigned int __builtin_mve_vcmpneq_sv16qi(__simd128_int8_t, __simd128_int8_t); +short unsigned int __builtin_mve_vcmpneq_sv4si(__simd128_int32_t, __simd128_int32_t); +short unsigned int __builtin_mve_vcmpneq_sv8hi(__simd128_int16_t, __simd128_int16_t); +short unsigned int __builtin_mve_vcmpneq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +short unsigned int __builtin_mve_vcmpneq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +short unsigned int __builtin_mve_vcmpneq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vcmulq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmulq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmulq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmulq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcmulq_rot180_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmulq_rot180_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmulq_rot180_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmulq_rot180_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcmulq_rot270_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmulq_rot270_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmulq_rot270_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmulq_rot270_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcmulq_rot90_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vcmulq_rot90_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vcmulq_rot90_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcmulq_rot90_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcreateq_fv4sf(long long unsigned int, long long unsigned int); +__simd128_float16_t __builtin_mve_vcreateq_fv8hf(long long unsigned int, long long unsigned int); +__simd128_int8_t __builtin_mve_vcreateq_sv16qi(long long unsigned int, long long unsigned int); +__simd128_int64_t __builtin_mve_vcreateq_sv2di(long long unsigned int, long long unsigned int); +__simd128_int32_t __builtin_mve_vcreateq_sv4si(long long unsigned int, long long unsigned int); +__simd128_int16_t __builtin_mve_vcreateq_sv8hi(long long unsigned int, long long unsigned int); +__simd128_uint8_t __builtin_mve_vcreateq_uv16qi(long long unsigned int, long long unsigned int); +__simd128_uint64_t __builtin_mve_vcreateq_uv2di(long long unsigned int, long long unsigned int); +__simd128_uint32_t __builtin_mve_vcreateq_uv4si(long long unsigned int, long long unsigned int); +__simd128_uint16_t __builtin_mve_vcreateq_uv8hi(long long unsigned int, long long unsigned int); +short unsigned int __builtin_mve_vctp16qhi(unsigned int); +short unsigned int __builtin_mve_vctp16q_mhi(unsigned int, short unsigned int); +short unsigned int __builtin_mve_vctp32qhi(unsigned int); +short unsigned int __builtin_mve_vctp32q_mhi(unsigned int, short unsigned int); +short unsigned int __builtin_mve_vctp64qhi(unsigned int); +short unsigned int __builtin_mve_vctp64q_mhi(unsigned int, short unsigned int); +short unsigned int __builtin_mve_vctp8qhi(unsigned int); +short unsigned int __builtin_mve_vctp8q_mhi(unsigned int, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtaq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vcvtaq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vcvtaq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vcvtaq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtaq_sv4si(__simd128_float32_t); +__simd128_int16_t __builtin_mve_vcvtaq_sv8hi(__simd128_float16_t); +__simd128_uint32_t __builtin_mve_vcvtaq_uv4si(__simd128_float32_t); +__simd128_uint16_t __builtin_mve_vcvtaq_uv8hi(__simd128_float16_t); +__simd128_float16_t __builtin_mve_vcvtbq_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t); +__simd128_float32_t __builtin_mve_vcvtbq_f32_f16v4sf(__simd128_float16_t); +__simd128_float16_t __builtin_mve_vcvtbq_m_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcvtbq_m_f32_f16v4sf(__simd128_float32_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtmq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vcvtmq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vcvtmq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vcvtmq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtmq_sv4si(__simd128_float32_t); +__simd128_int16_t __builtin_mve_vcvtmq_sv8hi(__simd128_float16_t); +__simd128_uint32_t __builtin_mve_vcvtmq_uv4si(__simd128_float32_t); +__simd128_uint16_t __builtin_mve_vcvtmq_uv8hi(__simd128_float16_t); +__simd128_int32_t __builtin_mve_vcvtnq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vcvtnq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vcvtnq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vcvtnq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtnq_sv4si(__simd128_float32_t); +__simd128_int16_t __builtin_mve_vcvtnq_sv8hi(__simd128_float16_t); +__simd128_uint32_t __builtin_mve_vcvtnq_uv4si(__simd128_float32_t); +__simd128_uint16_t __builtin_mve_vcvtnq_uv8hi(__simd128_float16_t); +__simd128_int32_t __builtin_mve_vcvtpq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vcvtpq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vcvtpq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vcvtpq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtpq_sv4si(__simd128_float32_t); +__simd128_int16_t __builtin_mve_vcvtpq_sv8hi(__simd128_float16_t); +__simd128_uint32_t __builtin_mve_vcvtpq_uv4si(__simd128_float32_t); +__simd128_uint16_t __builtin_mve_vcvtpq_uv8hi(__simd128_float16_t); +__simd128_int32_t __builtin_mve_vcvtq_from_f_sv4si(__simd128_float32_t); +__simd128_int16_t __builtin_mve_vcvtq_from_f_sv8hi(__simd128_float16_t); +__simd128_uint32_t __builtin_mve_vcvtq_from_f_uv4si(__simd128_float32_t); +__simd128_uint16_t __builtin_mve_vcvtq_from_f_uv8hi(__simd128_float16_t); +__simd128_int32_t __builtin_mve_vcvtq_m_from_f_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vcvtq_m_from_f_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vcvtq_m_from_f_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vcvtq_m_from_f_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtq_m_n_from_f_sv4si(__simd128_int32_t, __simd128_float32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vcvtq_m_n_from_f_sv8hi(__simd128_int16_t, __simd128_float16_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vcvtq_m_n_from_f_uv4si(__simd128_uint32_t, __simd128_float32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vcvtq_m_n_from_f_uv8hi(__simd128_uint16_t, __simd128_float16_t, int, short unsigned int); +__simd128_float32_t __builtin_mve_vcvtq_m_n_to_f_sv4sf(__simd128_float32_t, __simd128_int32_t, int, short unsigned int); +__simd128_float16_t __builtin_mve_vcvtq_m_n_to_f_sv8hf(__simd128_float16_t, __simd128_int16_t, int, short unsigned int); +__simd128_float32_t __builtin_mve_vcvtq_m_n_to_f_uv4sf(__simd128_float32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_float16_t __builtin_mve_vcvtq_m_n_to_f_uv8hf(__simd128_float16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_float32_t __builtin_mve_vcvtq_m_to_f_sv4sf(__simd128_float32_t, __simd128_int32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcvtq_m_to_f_sv8hf(__simd128_float16_t, __simd128_int16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcvtq_m_to_f_uv4sf(__simd128_float32_t, __simd128_uint32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vcvtq_m_to_f_uv8hf(__simd128_float16_t, __simd128_uint16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vcvtq_n_from_f_sv4si(__simd128_float32_t, int); +__simd128_int16_t __builtin_mve_vcvtq_n_from_f_sv8hi(__simd128_float16_t, int); +__simd128_uint32_t __builtin_mve_vcvtq_n_from_f_uv4si(__simd128_float32_t, int); +__simd128_uint16_t __builtin_mve_vcvtq_n_from_f_uv8hi(__simd128_float16_t, int); +__simd128_float32_t __builtin_mve_vcvtq_n_to_f_sv4sf(__simd128_int32_t, int); +__simd128_float16_t __builtin_mve_vcvtq_n_to_f_sv8hf(__simd128_int16_t, int); +__simd128_float32_t __builtin_mve_vcvtq_n_to_f_uv4sf(__simd128_uint32_t, int); +__simd128_float16_t __builtin_mve_vcvtq_n_to_f_uv8hf(__simd128_uint16_t, int); +__simd128_float32_t __builtin_mve_vcvtq_to_f_sv4sf(__simd128_int32_t); +__simd128_float16_t __builtin_mve_vcvtq_to_f_sv8hf(__simd128_int16_t); +__simd128_float32_t __builtin_mve_vcvtq_to_f_uv4sf(__simd128_uint32_t); +__simd128_float16_t __builtin_mve_vcvtq_to_f_uv8hf(__simd128_uint16_t); +__simd128_float16_t __builtin_mve_vcvttq_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t); +__simd128_float32_t __builtin_mve_vcvttq_f32_f16v4sf(__simd128_float16_t); +__simd128_float16_t __builtin_mve_vcvttq_m_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t, short unsigned int); +__simd128_float32_t __builtin_mve_vcvttq_m_f32_f16v4sf(__simd128_float32_t, __simd128_float16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vddupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vddupq_m_n_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vddupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vddupq_n_uv16qi(unsigned int, int); +__simd128_uint32_t __builtin_mve_vddupq_n_uv4si(unsigned int, int); +__simd128_uint16_t __builtin_mve_vddupq_n_uv8hi(unsigned int, int); +__simd128_float32_t __builtin_mve_vdupq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); +__simd128_float16_t __builtin_mve_vdupq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); +__simd128_int8_t __builtin_mve_vdupq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vdupq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vdupq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vdupq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vdupq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vdupq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_float32_t __builtin_mve_vdupq_n_fv4sf(float); +__simd128_float16_t __builtin_mve_vdupq_n_fv8hf(__bf16); +__simd128_int8_t __builtin_mve_vdupq_n_sv16qi(signed char); +__simd128_int32_t __builtin_mve_vdupq_n_sv4si(int); +__simd128_int16_t __builtin_mve_vdupq_n_sv8hi(short int); +__simd128_uint8_t __builtin_mve_vdupq_n_uv16qi(unsigned char); +__simd128_uint32_t __builtin_mve_vdupq_n_uv4si(unsigned int); +__simd128_uint16_t __builtin_mve_vdupq_n_uv8hi(short unsigned int); +__simd128_uint8_t __builtin_mve_vdwdupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vdwdupq_m_n_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vdwdupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); +unsigned int __builtin_mve_vdwdupq_m_wb_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); +unsigned int __builtin_mve_vdwdupq_m_wb_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); +unsigned int __builtin_mve_vdwdupq_m_wb_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vdwdupq_n_uv16qi(unsigned int, long long unsigned int, int); +__simd128_uint32_t __builtin_mve_vdwdupq_n_uv4si(unsigned int, long long unsigned int, int); +__simd128_uint16_t __builtin_mve_vdwdupq_n_uv8hi(unsigned int, long long unsigned int, int); +unsigned int __builtin_mve_vdwdupq_wb_uv16qi(unsigned int, long long unsigned int, int); +unsigned int __builtin_mve_vdwdupq_wb_uv4si(unsigned int, long long unsigned int, int); +unsigned int __builtin_mve_vdwdupq_wb_uv8hi(unsigned int, long long unsigned int, int); +__simd128_float32_t __builtin_mve_veorq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_veorq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_veorq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_veorq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_veorq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_veorq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_veorq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_veorq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_veorq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_veorq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_veorq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_veorq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_veorq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_veorq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_veorq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_veorq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vfmaq_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vfmaq_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vfmaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vfmaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vfmaq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); +__simd128_float16_t __builtin_mve_vfmaq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); +__simd128_float32_t __builtin_mve_vfmaq_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float); +__simd128_float16_t __builtin_mve_vfmaq_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16); +__simd128_float32_t __builtin_mve_vfmasq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); +__simd128_float16_t __builtin_mve_vfmasq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); +__simd128_float32_t __builtin_mve_vfmasq_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float); +__simd128_float16_t __builtin_mve_vfmasq_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16); +__simd128_float32_t __builtin_mve_vfmsq_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vfmsq_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vfmsq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vfmsq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vhaddq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vhaddq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vhaddq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vhaddq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vhaddq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vhaddq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vhaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vhaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vhaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vhaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vhaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vhaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vhaddq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vhaddq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vhaddq_n_sv8hi(__simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vhaddq_n_uv16qi(__simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vhaddq_n_uv4si(__simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vhaddq_n_uv8hi(__simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vhaddq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vhaddq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vhaddq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vhaddq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vhaddq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vhaddq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_int8_t __builtin_mve_vhcaddq_rot270_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vhcaddq_rot270_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vhcaddq_rot270_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vhcaddq_rot270_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vhcaddq_rot270_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vhcaddq_rot270_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vhcaddq_rot90_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vhcaddq_rot90_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vhcaddq_rot90_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vhcaddq_rot90_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vhcaddq_rot90_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vhcaddq_rot90_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vhsubq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vhsubq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vhsubq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vhsubq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vhsubq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vhsubq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vhsubq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vhsubq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vhsubq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vhsubq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vhsubq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vhsubq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vhsubq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vhsubq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vhsubq_n_sv8hi(__simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vhsubq_n_uv16qi(__simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vhsubq_n_uv4si(__simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vhsubq_n_uv8hi(__simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vhsubq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vhsubq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vhsubq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vhsubq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vhsubq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vhsubq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_uint8_t __builtin_mve_vidupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vidupq_m_n_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vidupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vidupq_n_uv16qi(unsigned int, int); +__simd128_uint32_t __builtin_mve_vidupq_n_uv4si(unsigned int, int); +__simd128_uint16_t __builtin_mve_vidupq_n_uv8hi(unsigned int, int); +__simd128_uint8_t __builtin_mve_viwdupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); +__simd128_uint32_t __builtin_mve_viwdupq_m_n_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); +__simd128_uint16_t __builtin_mve_viwdupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); +unsigned int __builtin_mve_viwdupq_m_wb_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); +unsigned int __builtin_mve_viwdupq_m_wb_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); +unsigned int __builtin_mve_viwdupq_m_wb_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); +__simd128_uint8_t __builtin_mve_viwdupq_n_uv16qi(unsigned int, long long unsigned int, int); +__simd128_uint32_t __builtin_mve_viwdupq_n_uv4si(unsigned int, long long unsigned int, int); +__simd128_uint16_t __builtin_mve_viwdupq_n_uv8hi(unsigned int, long long unsigned int, int); +unsigned int __builtin_mve_viwdupq_wb_uv16qi(unsigned int, long long unsigned int, int); +unsigned int __builtin_mve_viwdupq_wb_uv4si(unsigned int, long long unsigned int, int); +unsigned int __builtin_mve_viwdupq_wb_uv8hi(unsigned int, long long unsigned int, int); +__simd128_float32_t __builtin_mve_vld1q_fv4sf(int*); +__simd128_float16_t __builtin_mve_vld1q_fv8hf(short int*); +__simd128_int8_t __builtin_mve_vld1q_sv16qi(signed char*); +__simd128_int32_t __builtin_mve_vld1q_sv4si(int*); +__simd128_int16_t __builtin_mve_vld1q_sv8hi(short int*); +__simd128_uint8_t __builtin_mve_vld1q_uv16qi(signed char*); +__simd128_uint32_t __builtin_mve_vld1q_uv4si(int*); +__simd128_uint16_t __builtin_mve_vld1q_uv8hi(short int*); +__builtin_neon_oi __builtin_mve_vld2qv16qi(const signed char*); +__builtin_neon_oi __builtin_mve_vld2qv4sf(const float*); +__builtin_neon_oi __builtin_mve_vld2qv4si(const int*); +__builtin_neon_oi __builtin_mve_vld2qv8hf(const __bf16*); +__builtin_neon_oi __builtin_mve_vld2qv8hi(const short int*); +__builtin_neon_xi __builtin_mve_vld4qv16qi(const signed char*); +__builtin_neon_xi __builtin_mve_vld4qv4sf(const float*); +__builtin_neon_xi __builtin_mve_vld4qv4si(const int*); +__builtin_neon_xi __builtin_mve_vld4qv8hf(const __bf16*); +__builtin_neon_xi __builtin_mve_vld4qv8hi(const short int*); +__simd128_int8_t __builtin_mve_vldrbq_gather_offset_sv16qi(signed char*, __simd128_uint8_t); +__simd128_int32_t __builtin_mve_vldrbq_gather_offset_sv4si(signed char*, __simd128_uint32_t); +__simd128_int16_t __builtin_mve_vldrbq_gather_offset_sv8hi(signed char*, __simd128_uint16_t); +__simd128_uint8_t __builtin_mve_vldrbq_gather_offset_uv16qi(signed char*, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vldrbq_gather_offset_uv4si(signed char*, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vldrbq_gather_offset_uv8hi(signed char*, __simd128_uint16_t); +__simd128_int8_t __builtin_mve_vldrbq_gather_offset_z_sv16qi(signed char*, __simd128_uint8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vldrbq_gather_offset_z_sv4si(signed char*, __simd128_uint32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vldrbq_gather_offset_z_sv8hi(signed char*, __simd128_uint16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vldrbq_gather_offset_z_uv16qi(signed char*, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrbq_gather_offset_z_uv4si(signed char*, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vldrbq_gather_offset_z_uv8hi(signed char*, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vldrbq_sv16qi(signed char*); +__simd128_int32_t __builtin_mve_vldrbq_sv4si(signed char*); +__simd128_int16_t __builtin_mve_vldrbq_sv8hi(signed char*); +__simd128_uint8_t __builtin_mve_vldrbq_uv16qi(signed char*); +__simd128_uint32_t __builtin_mve_vldrbq_uv4si(signed char*); +__simd128_uint16_t __builtin_mve_vldrbq_uv8hi(signed char*); +__simd128_int8_t __builtin_mve_vldrbq_z_sv16qi(signed char*, short unsigned int); +__simd128_int32_t __builtin_mve_vldrbq_z_sv4si(signed char*, short unsigned int); +__simd128_int16_t __builtin_mve_vldrbq_z_sv8hi(signed char*, short unsigned int); +__simd128_uint8_t __builtin_mve_vldrbq_z_uv16qi(signed char*, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrbq_z_uv4si(signed char*, short unsigned int); +__simd128_uint16_t __builtin_mve_vldrbq_z_uv8hi(signed char*, short unsigned int); +__simd128_int64_t __builtin_mve_vldrdq_gather_base_nowb_sv2di(__simd128_uint64_t, int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_nowb_uv2di(__simd128_uint64_t, int); +__simd128_int64_t __builtin_mve_vldrdq_gather_base_nowb_z_sv2di(__simd128_uint64_t, int, short unsigned int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_nowb_z_uv2di(__simd128_uint64_t, int, short unsigned int); +__simd128_int64_t __builtin_mve_vldrdq_gather_base_sv2di(__simd128_uint64_t, int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_uv2di(__simd128_uint64_t, int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_sv2di(__simd128_uint64_t, int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_uv2di(__simd128_uint64_t, int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_z_sv2di(__simd128_uint64_t, int, short unsigned int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_z_uv2di(__simd128_uint64_t, int, short unsigned int); +__simd128_int64_t __builtin_mve_vldrdq_gather_base_z_sv2di(__simd128_uint64_t, int, short unsigned int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_base_z_uv2di(__simd128_uint64_t, int, short unsigned int); +__simd128_int64_t __builtin_mve_vldrdq_gather_offset_sv2di(long long int*, __simd128_uint64_t); +__simd128_uint64_t __builtin_mve_vldrdq_gather_offset_uv2di(long long int*, __simd128_uint64_t); +__simd128_int64_t __builtin_mve_vldrdq_gather_offset_z_sv2di(long long int*, __simd128_uint64_t, short unsigned int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_offset_z_uv2di(long long int*, __simd128_uint64_t, short unsigned int); +__simd128_int64_t __builtin_mve_vldrdq_gather_shifted_offset_sv2di(long long int*, __simd128_uint64_t); +__simd128_uint64_t __builtin_mve_vldrdq_gather_shifted_offset_uv2di(long long int*, __simd128_uint64_t); +__simd128_int64_t __builtin_mve_vldrdq_gather_shifted_offset_z_sv2di(long long int*, __simd128_uint64_t, short unsigned int); +__simd128_uint64_t __builtin_mve_vldrdq_gather_shifted_offset_z_uv2di(long long int*, __simd128_uint64_t, short unsigned int); +__simd128_float16_t __builtin_mve_vldrhq_fv8hf(short int*); +__simd128_float16_t __builtin_mve_vldrhq_gather_offset_fv8hf(short int*, __simd128_uint16_t); +__simd128_int32_t __builtin_mve_vldrhq_gather_offset_sv4si(short int*, __simd128_uint32_t); +__simd128_int16_t __builtin_mve_vldrhq_gather_offset_sv8hi(short int*, __simd128_uint16_t); +__simd128_uint32_t __builtin_mve_vldrhq_gather_offset_uv4si(short int*, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vldrhq_gather_offset_uv8hi(short int*, __simd128_uint16_t); +__simd128_float16_t __builtin_mve_vldrhq_gather_offset_z_fv8hf(short int*, __simd128_uint16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vldrhq_gather_offset_z_sv4si(short int*, __simd128_uint32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vldrhq_gather_offset_z_sv8hi(short int*, __simd128_uint16_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrhq_gather_offset_z_uv4si(short int*, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vldrhq_gather_offset_z_uv8hi(short int*, __simd128_uint16_t, short unsigned int); +__simd128_float16_t __builtin_mve_vldrhq_gather_shifted_offset_fv8hf(short int*, __simd128_uint16_t); +__simd128_int32_t __builtin_mve_vldrhq_gather_shifted_offset_sv4si(short int*, __simd128_uint32_t); +__simd128_int16_t __builtin_mve_vldrhq_gather_shifted_offset_sv8hi(short int*, __simd128_uint16_t); +__simd128_uint32_t __builtin_mve_vldrhq_gather_shifted_offset_uv4si(short int*, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vldrhq_gather_shifted_offset_uv8hi(short int*, __simd128_uint16_t); +__simd128_float16_t __builtin_mve_vldrhq_gather_shifted_offset_z_fv8hf(short int*, __simd128_uint16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vldrhq_gather_shifted_offset_z_sv4si(short int*, __simd128_uint32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vldrhq_gather_shifted_offset_z_sv8hi(short int*, __simd128_uint16_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrhq_gather_shifted_offset_z_uv4si(short int*, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vldrhq_gather_shifted_offset_z_uv8hi(short int*, __simd128_uint16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vldrhq_sv4si(short int*); +__simd128_int16_t __builtin_mve_vldrhq_sv8hi(short int*); +__simd128_uint32_t __builtin_mve_vldrhq_uv4si(short int*); +__simd128_uint16_t __builtin_mve_vldrhq_uv8hi(short int*); +__simd128_float16_t __builtin_mve_vldrhq_z_fv8hf(short int*, short unsigned int); +__simd128_int32_t __builtin_mve_vldrhq_z_sv4si(short int*, short unsigned int); +__simd128_int16_t __builtin_mve_vldrhq_z_sv8hi(short int*, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrhq_z_uv4si(short int*, short unsigned int); +__simd128_uint16_t __builtin_mve_vldrhq_z_uv8hi(short int*, short unsigned int); +__simd128_float32_t __builtin_mve_vldrwq_fv4sf(int*); +__simd128_float32_t __builtin_mve_vldrwq_gather_base_fv4sf(__simd128_uint32_t, int); +__simd128_float32_t __builtin_mve_vldrwq_gather_base_nowb_fv4sf(__simd128_uint32_t, int); +__simd128_int32_t __builtin_mve_vldrwq_gather_base_nowb_sv4si(__simd128_uint32_t, int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_nowb_uv4si(__simd128_uint32_t, int); +__simd128_float32_t __builtin_mve_vldrwq_gather_base_nowb_z_fv4sf(__simd128_uint32_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vldrwq_gather_base_nowb_z_sv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_nowb_z_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vldrwq_gather_base_sv4si(__simd128_uint32_t, int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_uv4si(__simd128_uint32_t, int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_fv4sf(__simd128_uint32_t, int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_sv4si(__simd128_uint32_t, int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_uv4si(__simd128_uint32_t, int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_z_fv4sf(__simd128_uint32_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_z_sv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_z_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_float32_t __builtin_mve_vldrwq_gather_base_z_fv4sf(__simd128_uint32_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vldrwq_gather_base_z_sv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_base_z_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_float32_t __builtin_mve_vldrwq_gather_offset_fv4sf(int*, __simd128_uint32_t); +__simd128_int32_t __builtin_mve_vldrwq_gather_offset_sv4si(int*, __simd128_uint32_t); +__simd128_uint32_t __builtin_mve_vldrwq_gather_offset_uv4si(int*, __simd128_uint32_t); +__simd128_float32_t __builtin_mve_vldrwq_gather_offset_z_fv4sf(int*, __simd128_uint32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vldrwq_gather_offset_z_sv4si(int*, __simd128_uint32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_offset_z_uv4si(int*, __simd128_uint32_t, short unsigned int); +__simd128_float32_t __builtin_mve_vldrwq_gather_shifted_offset_fv4sf(int*, __simd128_uint32_t); +__simd128_int32_t __builtin_mve_vldrwq_gather_shifted_offset_sv4si(int*, __simd128_uint32_t); +__simd128_uint32_t __builtin_mve_vldrwq_gather_shifted_offset_uv4si(int*, __simd128_uint32_t); +__simd128_float32_t __builtin_mve_vldrwq_gather_shifted_offset_z_fv4sf(int*, __simd128_uint32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vldrwq_gather_shifted_offset_z_sv4si(int*, __simd128_uint32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrwq_gather_shifted_offset_z_uv4si(int*, __simd128_uint32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vldrwq_sv4si(int*); +__simd128_uint32_t __builtin_mve_vldrwq_uv4si(int*); +__simd128_float32_t __builtin_mve_vldrwq_z_fv4sf(int*, short unsigned int); +__simd128_int32_t __builtin_mve_vldrwq_z_sv4si(int*, short unsigned int); +__simd128_uint32_t __builtin_mve_vldrwq_z_uv4si(int*, short unsigned int); +__simd128_uint8_t __builtin_mve_vmaxaq_m_sv16qi(__simd128_uint8_t, __simd128_int8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmaxaq_m_sv4si(__simd128_uint32_t, __simd128_int32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmaxaq_m_sv8hi(__simd128_uint16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vmaxaq_sv16qi(__simd128_uint8_t, __simd128_int8_t); +__simd128_uint32_t __builtin_mve_vmaxaq_sv4si(__simd128_uint32_t, __simd128_int32_t); +__simd128_uint16_t __builtin_mve_vmaxaq_sv8hi(__simd128_uint16_t, __simd128_int16_t); +unsigned char __builtin_mve_vmaxavq_p_sv16qi(unsigned char, __simd128_int8_t, short unsigned int); +unsigned int __builtin_mve_vmaxavq_p_sv4si(unsigned int, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vmaxavq_p_sv8hi(short unsigned int, __simd128_int16_t, short unsigned int); +unsigned char __builtin_mve_vmaxavq_sv16qi(unsigned char, __simd128_int8_t); +unsigned int __builtin_mve_vmaxavq_sv4si(unsigned int, __simd128_int32_t); +short unsigned int __builtin_mve_vmaxavq_sv8hi(short unsigned int, __simd128_int16_t); +__simd128_float32_t __builtin_mve_vmaxnmaq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vmaxnmaq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vmaxnmaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vmaxnmaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +float __builtin_mve_vmaxnmavq_fv4sf(float, __simd128_float32_t); +__bf16 __builtin_mve_vmaxnmavq_fv8hf(__bf16, __simd128_float16_t); +float __builtin_mve_vmaxnmavq_p_fv4sf(float, __simd128_float32_t, short unsigned int); +__bf16 __builtin_mve_vmaxnmavq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vmaxnmq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vmaxnmq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vmaxnmq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vmaxnmq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +float __builtin_mve_vmaxnmvq_fv4sf(float, __simd128_float32_t); +__bf16 __builtin_mve_vmaxnmvq_fv8hf(__bf16, __simd128_float16_t); +float __builtin_mve_vmaxnmvq_p_fv4sf(float, __simd128_float32_t, short unsigned int); +__bf16 __builtin_mve_vmaxnmvq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vmaxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmaxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmaxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vmaxq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmaxq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmaxq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vmaxq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vmaxq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vmaxq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vmaxq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmaxq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vmaxq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +signed char __builtin_mve_vmaxvq_p_sv16qi(signed char, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmaxvq_p_sv4si(int, __simd128_int32_t, short unsigned int); +short int __builtin_mve_vmaxvq_p_sv8hi(short int, __simd128_int16_t, short unsigned int); +unsigned char __builtin_mve_vmaxvq_p_uv16qi(unsigned char, __simd128_uint8_t, short unsigned int); +unsigned int __builtin_mve_vmaxvq_p_uv4si(unsigned int, __simd128_uint32_t, short unsigned int); +short unsigned int __builtin_mve_vmaxvq_p_uv8hi(short unsigned int, __simd128_uint16_t, short unsigned int); +signed char __builtin_mve_vmaxvq_sv16qi(signed char, __simd128_int8_t); +int __builtin_mve_vmaxvq_sv4si(int, __simd128_int32_t); +short int __builtin_mve_vmaxvq_sv8hi(short int, __simd128_int16_t); +unsigned char __builtin_mve_vmaxvq_uv16qi(unsigned char, __simd128_uint8_t); +unsigned int __builtin_mve_vmaxvq_uv4si(unsigned int, __simd128_uint32_t); +short unsigned int __builtin_mve_vmaxvq_uv8hi(short unsigned int, __simd128_uint16_t); +__simd128_uint8_t __builtin_mve_vminaq_m_sv16qi(__simd128_uint8_t, __simd128_int8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vminaq_m_sv4si(__simd128_uint32_t, __simd128_int32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vminaq_m_sv8hi(__simd128_uint16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vminaq_sv16qi(__simd128_uint8_t, __simd128_int8_t); +__simd128_uint32_t __builtin_mve_vminaq_sv4si(__simd128_uint32_t, __simd128_int32_t); +__simd128_uint16_t __builtin_mve_vminaq_sv8hi(__simd128_uint16_t, __simd128_int16_t); +unsigned char __builtin_mve_vminavq_p_sv16qi(unsigned char, __simd128_int8_t, short unsigned int); +unsigned int __builtin_mve_vminavq_p_sv4si(unsigned int, __simd128_int32_t, short unsigned int); +short unsigned int __builtin_mve_vminavq_p_sv8hi(short unsigned int, __simd128_int16_t, short unsigned int); +unsigned char __builtin_mve_vminavq_sv16qi(unsigned char, __simd128_int8_t); +unsigned int __builtin_mve_vminavq_sv4si(unsigned int, __simd128_int32_t); +short unsigned int __builtin_mve_vminavq_sv8hi(short unsigned int, __simd128_int16_t); +__simd128_float32_t __builtin_mve_vminnmaq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vminnmaq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vminnmaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vminnmaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +float __builtin_mve_vminnmavq_fv4sf(float, __simd128_float32_t); +__bf16 __builtin_mve_vminnmavq_fv8hf(__bf16, __simd128_float16_t); +float __builtin_mve_vminnmavq_p_fv4sf(float, __simd128_float32_t, short unsigned int); +__bf16 __builtin_mve_vminnmavq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vminnmq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vminnmq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vminnmq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vminnmq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +float __builtin_mve_vminnmvq_fv4sf(float, __simd128_float32_t); +__bf16 __builtin_mve_vminnmvq_fv8hf(__bf16, __simd128_float16_t); +float __builtin_mve_vminnmvq_p_fv4sf(float, __simd128_float32_t, short unsigned int); +__bf16 __builtin_mve_vminnmvq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vminq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vminq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vminq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vminq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vminq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vminq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vminq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vminq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vminq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vminq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vminq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vminq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +signed char __builtin_mve_vminvq_p_sv16qi(signed char, __simd128_int8_t, short unsigned int); +int __builtin_mve_vminvq_p_sv4si(int, __simd128_int32_t, short unsigned int); +short int __builtin_mve_vminvq_p_sv8hi(short int, __simd128_int16_t, short unsigned int); +unsigned char __builtin_mve_vminvq_p_uv16qi(unsigned char, __simd128_uint8_t, short unsigned int); +unsigned int __builtin_mve_vminvq_p_uv4si(unsigned int, __simd128_uint32_t, short unsigned int); +short unsigned int __builtin_mve_vminvq_p_uv8hi(short unsigned int, __simd128_uint16_t, short unsigned int); +signed char __builtin_mve_vminvq_sv16qi(signed char, __simd128_int8_t); +int __builtin_mve_vminvq_sv4si(int, __simd128_int32_t); +short int __builtin_mve_vminvq_sv8hi(short int, __simd128_int16_t); +unsigned char __builtin_mve_vminvq_uv16qi(unsigned char, __simd128_uint8_t); +unsigned int __builtin_mve_vminvq_uv4si(unsigned int, __simd128_uint32_t); +short unsigned int __builtin_mve_vminvq_uv8hi(short unsigned int, __simd128_uint16_t); +int __builtin_mve_vmladavaq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmladavaq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmladavaq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +unsigned int __builtin_mve_vmladavaq_p_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +unsigned int __builtin_mve_vmladavaq_p_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +unsigned int __builtin_mve_vmladavaq_p_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +int __builtin_mve_vmladavaq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmladavaq_sv4si(int, __simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmladavaq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); +unsigned int __builtin_mve_vmladavaq_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t); +unsigned int __builtin_mve_vmladavaq_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t); +unsigned int __builtin_mve_vmladavaq_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t); +int __builtin_mve_vmladavaxq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmladavaxq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmladavaxq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +int __builtin_mve_vmladavaxq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmladavaxq_sv4si(int, __simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmladavaxq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); +int __builtin_mve_vmladavq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmladavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmladavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +unsigned int __builtin_mve_vmladavq_p_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +unsigned int __builtin_mve_vmladavq_p_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +unsigned int __builtin_mve_vmladavq_p_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +int __builtin_mve_vmladavq_sv16qi(__simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmladavq_sv4si(__simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmladavq_sv8hi(__simd128_int16_t, __simd128_int16_t); +unsigned int __builtin_mve_vmladavq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +unsigned int __builtin_mve_vmladavq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +unsigned int __builtin_mve_vmladavq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +int __builtin_mve_vmladavxq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmladavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmladavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +int __builtin_mve_vmladavxq_sv16qi(__simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmladavxq_sv4si(__simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmladavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); +long long int __builtin_mve_vmlaldavaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlaldavaq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +long long unsigned int __builtin_mve_vmlaldavaq_p_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +long long unsigned int __builtin_mve_vmlaldavaq_p_uv8hi(long long unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +long long int __builtin_mve_vmlaldavaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlaldavaq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); +long long unsigned int __builtin_mve_vmlaldavaq_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t); +long long unsigned int __builtin_mve_vmlaldavaq_uv8hi(long long unsigned int, __simd128_uint16_t, __simd128_uint16_t); +long long int __builtin_mve_vmlaldavaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlaldavaxq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +long long unsigned int __builtin_mve_vmlaldavaxq_p_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +long long unsigned int __builtin_mve_vmlaldavaxq_p_uv8hi(long long unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +long long int __builtin_mve_vmlaldavaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlaldavaxq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); +long long int __builtin_mve_vmlaldavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlaldavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +long long unsigned int __builtin_mve_vmlaldavq_p_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +long long unsigned int __builtin_mve_vmlaldavq_p_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +long long int __builtin_mve_vmlaldavq_sv4si(__simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlaldavq_sv8hi(__simd128_int16_t, __simd128_int16_t); +long long unsigned int __builtin_mve_vmlaldavq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +long long unsigned int __builtin_mve_vmlaldavq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +long long int __builtin_mve_vmlaldavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlaldavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +long long int __builtin_mve_vmlaldavxq_sv4si(__simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlaldavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vmlaq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vmlaq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vmlaq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vmlaq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vmlaq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vmlaq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vmlaq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vmlaq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vmlaq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vmlaq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vmlaq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vmlaq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vmlasq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vmlasq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vmlasq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vmlasq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vmlasq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vmlasq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vmlasq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vmlasq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vmlasq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vmlasq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vmlasq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vmlasq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +int __builtin_mve_vmlsdavaq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmlsdavaq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmlsdavaq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +int __builtin_mve_vmlsdavaq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmlsdavaq_sv4si(int, __simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmlsdavaq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); +int __builtin_mve_vmlsdavaxq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmlsdavaxq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmlsdavaxq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +int __builtin_mve_vmlsdavaxq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmlsdavaxq_sv4si(int, __simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmlsdavaxq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); +int __builtin_mve_vmlsdavq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmlsdavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmlsdavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +int __builtin_mve_vmlsdavq_sv16qi(__simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmlsdavq_sv4si(__simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmlsdavq_sv8hi(__simd128_int16_t, __simd128_int16_t); +int __builtin_mve_vmlsdavxq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +int __builtin_mve_vmlsdavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +int __builtin_mve_vmlsdavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +int __builtin_mve_vmlsdavxq_sv16qi(__simd128_int8_t, __simd128_int8_t); +int __builtin_mve_vmlsdavxq_sv4si(__simd128_int32_t, __simd128_int32_t); +int __builtin_mve_vmlsdavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); +long long int __builtin_mve_vmlsldavaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlsldavaq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +long long int __builtin_mve_vmlsldavaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlsldavaq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); +long long int __builtin_mve_vmlsldavaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlsldavaxq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); +long long int __builtin_mve_vmlsldavaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlsldavaxq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); +long long int __builtin_mve_vmlsldavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlsldavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +long long int __builtin_mve_vmlsldavq_sv4si(__simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlsldavq_sv8hi(__simd128_int16_t, __simd128_int16_t); +long long int __builtin_mve_vmlsldavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vmlsldavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +long long int __builtin_mve_vmlsldavxq_sv4si(__simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vmlsldavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_mve_vmovlbq_m_sv16qi(__simd128_int16_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmovlbq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmovlbq_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmovlbq_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmovlbq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vmovlbq_sv8hi(__simd128_int16_t); +__simd128_uint16_t __builtin_mve_vmovlbq_uv16qi(__simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmovlbq_uv8hi(__simd128_uint16_t); +__simd128_int16_t __builtin_mve_vmovltq_m_sv16qi(__simd128_int16_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmovltq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmovltq_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmovltq_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmovltq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vmovltq_sv8hi(__simd128_int16_t); +__simd128_uint16_t __builtin_mve_vmovltq_uv16qi(__simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmovltq_uv8hi(__simd128_uint16_t); +__simd128_int16_t __builtin_mve_vmovnbq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); +__simd128_int8_t __builtin_mve_vmovnbq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmovnbq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vmovnbq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmovnbq_sv4si(__simd128_int16_t, __simd128_int32_t); +__simd128_int8_t __builtin_mve_vmovnbq_sv8hi(__simd128_int8_t, __simd128_int16_t); +__simd128_uint16_t __builtin_mve_vmovnbq_uv4si(__simd128_uint16_t, __simd128_uint32_t); +__simd128_uint8_t __builtin_mve_vmovnbq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); +__simd128_int16_t __builtin_mve_vmovntq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); +__simd128_int8_t __builtin_mve_vmovntq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmovntq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vmovntq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmovntq_sv4si(__simd128_int16_t, __simd128_int32_t); +__simd128_int8_t __builtin_mve_vmovntq_sv8hi(__simd128_int8_t, __simd128_int16_t); +__simd128_uint16_t __builtin_mve_vmovntq_uv4si(__simd128_uint16_t, __simd128_uint32_t); +__simd128_uint8_t __builtin_mve_vmovntq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); +__simd128_int8_t __builtin_mve_vmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vmulhq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmulhq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmulhq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vmulhq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmulhq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vmulhq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_int16_t __builtin_mve_vmullbq_int_m_sv16qi(__simd128_int16_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int64_t __builtin_mve_vmullbq_int_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmullbq_int_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmullbq_int_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint64_t __builtin_mve_vmullbq_int_m_uv4si(__simd128_uint64_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmullbq_int_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmullbq_int_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int64_t __builtin_mve_vmullbq_int_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int32_t __builtin_mve_vmullbq_int_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint16_t __builtin_mve_vmullbq_int_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint64_t __builtin_mve_vmullbq_int_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_mve_vmullbq_int_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_uint16_t __builtin_mve_vmullbq_poly_m_pv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmullbq_poly_m_pv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmullbq_poly_pv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmullbq_poly_pv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_int16_t __builtin_mve_vmulltq_int_m_sv16qi(__simd128_int16_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int64_t __builtin_mve_vmulltq_int_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmulltq_int_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmulltq_int_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint64_t __builtin_mve_vmulltq_int_m_uv4si(__simd128_uint64_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmulltq_int_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmulltq_int_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int64_t __builtin_mve_vmulltq_int_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int32_t __builtin_mve_vmulltq_int_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint16_t __builtin_mve_vmulltq_int_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint64_t __builtin_mve_vmulltq_int_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_mve_vmulltq_int_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_uint16_t __builtin_mve_vmulltq_poly_m_pv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmulltq_poly_m_pv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmulltq_poly_pv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmulltq_poly_pv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vmulq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vmulq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vmulq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vmulq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vmulq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); +__simd128_float16_t __builtin_mve_vmulq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); +__simd128_int8_t __builtin_mve_vmulq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vmulq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vmulq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vmulq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vmulq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vmulq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vmulq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmulq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmulq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vmulq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmulq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmulq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vmulq_n_fv4sf(__simd128_float32_t, float); +__simd128_float16_t __builtin_mve_vmulq_n_fv8hf(__simd128_float16_t, __bf16); +__simd128_int8_t __builtin_mve_vmulq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vmulq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vmulq_n_sv8hi(__simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vmulq_n_uv16qi(__simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vmulq_n_uv4si(__simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vmulq_n_uv8hi(__simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vmulq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vmulq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vmulq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vmulq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmulq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vmulq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_int32_t __builtin_mve_vmvnq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vmvnq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vmvnq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vmvnq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vmvnq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmvnq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vmvnq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vmvnq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vmvnq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vmvnq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vmvnq_n_sv4si(short int); +__simd128_int16_t __builtin_mve_vmvnq_n_sv8hi(short int); +__simd128_uint32_t __builtin_mve_vmvnq_n_uv4si(short int); +__simd128_uint16_t __builtin_mve_vmvnq_n_uv8hi(short int); +__simd128_int8_t __builtin_mve_vmvnq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vmvnq_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vmvnq_sv8hi(__simd128_int16_t); +__simd128_uint8_t __builtin_mve_vmvnq_uv16qi(__simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vmvnq_uv4si(__simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vmvnq_uv8hi(__simd128_uint16_t); +__simd128_float32_t __builtin_mve_vnegq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vnegq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vnegq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vnegq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vnegq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vnegq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vnegq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vnegq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vnegq_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vnegq_sv8hi(__simd128_int16_t); +__simd128_float32_t __builtin_mve_vornq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vornq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vornq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vornq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vornq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vornq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vornq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vornq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vornq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vornq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vornq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vornq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vornq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vornq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vornq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vornq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vorrq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vorrq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vorrq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vorrq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vorrq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vorrq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vorrq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vorrq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vorrq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vorrq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vorrq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vorrq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vorrq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vorrq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int32_t __builtin_mve_vorrq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vorrq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint32_t __builtin_mve_vorrq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vorrq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vorrq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vorrq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vorrq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vorrq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vorrq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vorrq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +short unsigned int __builtin_mve_vpnothi(short unsigned int); +__simd128_float32_t __builtin_mve_vpselq_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vpselq_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vpselq_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int64_t __builtin_mve_vpselq_sv2di(__simd128_int64_t, __simd128_int64_t, short unsigned int); +__simd128_int32_t __builtin_mve_vpselq_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vpselq_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vpselq_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint64_t __builtin_mve_vpselq_uv2di(__simd128_uint64_t, __simd128_uint64_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vpselq_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vpselq_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqabsq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqabsq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqabsq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqabsq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vqabsq_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vqabsq_sv8hi(__simd128_int16_t); +__simd128_int8_t __builtin_mve_vqaddq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vqaddq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqaddq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqaddq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vqaddq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqaddq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vqaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vqaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqaddq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vqaddq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqaddq_n_sv8hi(__simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vqaddq_n_uv16qi(__simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vqaddq_n_uv4si(__simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vqaddq_n_uv8hi(__simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqaddq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqaddq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqaddq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vqaddq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vqaddq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vqaddq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_int8_t __builtin_mve_vqdmladhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmladhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqdmladhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmladhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqdmladhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqdmladhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqdmladhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmladhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqdmladhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmladhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqdmladhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqdmladhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqdmlahq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmlahq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqdmlahq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmlahq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vqdmlahq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqdmlahq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vqdmlahq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vqdmlahq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vqdmlahq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmlsdhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmlsdhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqdmlsdhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmlsdhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqdmlsdhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqdmlsdhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqdmlsdhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmlsdhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqdmlsdhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmlsdhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqdmlsdhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqdmlsdhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqdmulhq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmulhq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqdmulhq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqdmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqdmulhq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vqdmulhq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqdmulhq_n_sv8hi(__simd128_int16_t, short int); +__simd128_int8_t __builtin_mve_vqdmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqdmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqdmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int64_t __builtin_mve_vqdmullbq_m_n_sv4si(__simd128_int64_t, __simd128_int32_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmullbq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, short int, short unsigned int); +__simd128_int64_t __builtin_mve_vqdmullbq_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmullbq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int64_t __builtin_mve_vqdmullbq_n_sv4si(__simd128_int32_t, int); +__simd128_int32_t __builtin_mve_vqdmullbq_n_sv8hi(__simd128_int16_t, short int); +__simd128_int64_t __builtin_mve_vqdmullbq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int32_t __builtin_mve_vqdmullbq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int64_t __builtin_mve_vqdmulltq_m_n_sv4si(__simd128_int64_t, __simd128_int32_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmulltq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, short int, short unsigned int); +__simd128_int64_t __builtin_mve_vqdmulltq_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqdmulltq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int64_t __builtin_mve_vqdmulltq_n_sv4si(__simd128_int32_t, int); +__simd128_int32_t __builtin_mve_vqdmulltq_n_sv8hi(__simd128_int16_t, short int); +__simd128_int64_t __builtin_mve_vqdmulltq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int32_t __builtin_mve_vqdmulltq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_mve_vqmovnbq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqmovnbq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqmovnbq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqmovnbq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqmovnbq_sv4si(__simd128_int16_t, __simd128_int32_t); +__simd128_int8_t __builtin_mve_vqmovnbq_sv8hi(__simd128_int8_t, __simd128_int16_t); +__simd128_uint16_t __builtin_mve_vqmovnbq_uv4si(__simd128_uint16_t, __simd128_uint32_t); +__simd128_uint8_t __builtin_mve_vqmovnbq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); +__simd128_int16_t __builtin_mve_vqmovntq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqmovntq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqmovntq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqmovntq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqmovntq_sv4si(__simd128_int16_t, __simd128_int32_t); +__simd128_int8_t __builtin_mve_vqmovntq_sv8hi(__simd128_int8_t, __simd128_int16_t); +__simd128_uint16_t __builtin_mve_vqmovntq_uv4si(__simd128_uint16_t, __simd128_uint32_t); +__simd128_uint8_t __builtin_mve_vqmovntq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); +__simd128_uint16_t __builtin_mve_vqmovunbq_m_sv4si(__simd128_uint16_t, __simd128_int32_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqmovunbq_m_sv8hi(__simd128_uint8_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqmovunbq_sv4si(__simd128_uint16_t, __simd128_int32_t); +__simd128_uint8_t __builtin_mve_vqmovunbq_sv8hi(__simd128_uint8_t, __simd128_int16_t); +__simd128_uint16_t __builtin_mve_vqmovuntq_m_sv4si(__simd128_uint16_t, __simd128_int32_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqmovuntq_m_sv8hi(__simd128_uint8_t, __simd128_int16_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqmovuntq_sv4si(__simd128_uint16_t, __simd128_int32_t); +__simd128_uint8_t __builtin_mve_vqmovuntq_sv8hi(__simd128_uint8_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqnegq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqnegq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqnegq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqnegq_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vqnegq_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vqnegq_sv8hi(__simd128_int16_t); +__simd128_int8_t __builtin_mve_vqrdmladhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmladhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmladhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmladhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqrdmladhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqrdmladhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqrdmladhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmladhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmladhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmladhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqrdmladhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqrdmladhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqrdmlahq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmlahq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmlahq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmlahq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vqrdmlahq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqrdmlahq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vqrdmlahq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vqrdmlahq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vqrdmlahq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmlashq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmlashq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmlashq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmlashq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vqrdmlashq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqrdmlashq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vqrdmlashq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vqrdmlashq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vqrdmlashq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmlsdhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmlsdhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmlsdhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmlsdhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqrdmlsdhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqrdmlsdhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqrdmlsdhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmlsdhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmlsdhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmlsdhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqrdmlsdhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqrdmlsdhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqrdmulhq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmulhq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmulhq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqrdmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqrdmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrdmulhq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vqrdmulhq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqrdmulhq_n_sv8hi(__simd128_int16_t, short int); +__simd128_int8_t __builtin_mve_vqrdmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqrdmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqrdmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int8_t __builtin_mve_vqrshlq_m_n_sv16qi(__simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vqrshlq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqrshlq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqrshlq_m_n_uv16qi(__simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vqrshlq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqrshlq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vqrshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqrshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqrshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqrshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vqrshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqrshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqrshlq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vqrshlq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqrshlq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vqrshlq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vqrshlq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vqrshlq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vqrshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqrshlq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqrshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vqrshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); +__simd128_uint32_t __builtin_mve_vqrshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); +__simd128_uint16_t __builtin_mve_vqrshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); +__simd128_int16_t __builtin_mve_vqrshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vqrshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqrshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqrshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqrshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vqrshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vqrshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vqrshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_int16_t __builtin_mve_vqrshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vqrshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqrshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqrshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqrshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vqrshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vqrshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vqrshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_uint16_t __builtin_mve_vqrshrunbq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqrshrunbq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqrshrunbq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); +__simd128_uint8_t __builtin_mve_vqrshrunbq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vqrshruntq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqrshruntq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqrshruntq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); +__simd128_uint8_t __builtin_mve_vqrshruntq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); +__simd128_int8_t __builtin_mve_vqshlq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vqshlq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqshlq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshlq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vqshlq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshlq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vqshlq_m_r_sv16qi(__simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vqshlq_m_r_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqshlq_m_r_sv8hi(__simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshlq_m_r_uv16qi(__simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vqshlq_m_r_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshlq_m_r_uv8hi(__simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vqshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vqshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqshlq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vqshlq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqshlq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vqshlq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vqshlq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vqshlq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vqshlq_r_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vqshlq_r_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqshlq_r_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vqshlq_r_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vqshlq_r_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vqshlq_r_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vqshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqshlq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vqshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); +__simd128_uint32_t __builtin_mve_vqshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); +__simd128_uint16_t __builtin_mve_vqshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vqshluq_m_n_sv16qi(__simd128_uint8_t, __simd128_int8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vqshluq_m_n_sv4si(__simd128_uint32_t, __simd128_int32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshluq_m_n_sv8hi(__simd128_uint16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshluq_n_sv16qi(__simd128_int8_t, int); +__simd128_uint32_t __builtin_mve_vqshluq_n_sv4si(__simd128_int32_t, int); +__simd128_uint16_t __builtin_mve_vqshluq_n_sv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_mve_vqshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vqshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vqshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vqshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vqshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_int16_t __builtin_mve_vqshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vqshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vqshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vqshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vqshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_uint16_t __builtin_mve_vqshrunbq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshrunbq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshrunbq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); +__simd128_uint8_t __builtin_mve_vqshrunbq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vqshruntq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqshruntq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqshruntq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); +__simd128_uint8_t __builtin_mve_vqshruntq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); +__simd128_int8_t __builtin_mve_vqsubq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vqsubq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vqsubq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vqsubq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vqsubq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vqsubq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vqsubq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vqsubq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vqsubq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vqsubq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vqsubq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vqsubq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqsubq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vqsubq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vqsubq_n_sv8hi(__simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vqsubq_n_uv16qi(__simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vqsubq_n_uv4si(__simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vqsubq_n_uv8hi(__simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vqsubq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vqsubq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vqsubq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vqsubq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vqsubq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vqsubq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_int8_t __builtin_mve_vrev16q_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vrev16q_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrev16q_sv16qi(__simd128_int8_t); +__simd128_uint8_t __builtin_mve_vrev16q_uv16qi(__simd128_uint8_t); +__simd128_float16_t __builtin_mve_vrev32q_fv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_mve_vrev32q_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrev32q_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int16_t __builtin_mve_vrev32q_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vrev32q_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vrev32q_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrev32q_sv16qi(__simd128_int8_t); +__simd128_int16_t __builtin_mve_vrev32q_sv8hi(__simd128_int16_t); +__simd128_uint8_t __builtin_mve_vrev32q_uv16qi(__simd128_uint8_t); +__simd128_uint16_t __builtin_mve_vrev32q_uv8hi(__simd128_uint16_t); +__simd128_float32_t __builtin_mve_vrev64q_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vrev64q_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vrev64q_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vrev64q_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrev64q_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vrev64q_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vrev64q_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vrev64q_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vrev64q_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vrev64q_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrev64q_sv16qi(__simd128_int8_t); +__simd128_int32_t __builtin_mve_vrev64q_sv4si(__simd128_int32_t); +__simd128_int16_t __builtin_mve_vrev64q_sv8hi(__simd128_int16_t); +__simd128_uint8_t __builtin_mve_vrev64q_uv16qi(__simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vrev64q_uv4si(__simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vrev64q_uv8hi(__simd128_uint16_t); +__simd128_int8_t __builtin_mve_vrhaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vrhaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vrhaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vrhaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vrhaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vrhaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrhaddq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vrhaddq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vrhaddq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vrhaddq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vrhaddq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vrhaddq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +long long int __builtin_mve_vrmlaldavhaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long unsigned int __builtin_mve_vrmlaldavhaq_p_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +long long int __builtin_mve_vrmlaldavhaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long unsigned int __builtin_mve_vrmlaldavhaq_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t); +long long int __builtin_mve_vrmlaldavhaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vrmlaldavhaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vrmlaldavhq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long unsigned int __builtin_mve_vrmlaldavhq_p_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); +long long int __builtin_mve_vrmlaldavhq_sv4si(__simd128_int32_t, __simd128_int32_t); +long long unsigned int __builtin_mve_vrmlaldavhq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +long long int __builtin_mve_vrmlaldavhxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vrmlaldavhxq_sv4si(__simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vrmlsldavhaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vrmlsldavhaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vrmlsldavhaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vrmlsldavhaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vrmlsldavhq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vrmlsldavhq_sv4si(__simd128_int32_t, __simd128_int32_t); +long long int __builtin_mve_vrmlsldavhxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); +long long int __builtin_mve_vrmlsldavhxq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int8_t __builtin_mve_vrmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vrmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vrmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vrmulhq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vrmulhq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vrmulhq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vrmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vrmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vrmulhq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vrmulhq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vrmulhq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); +__simd128_float32_t __builtin_mve_vrndaq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vrndaq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vrndaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vrndaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vrndmq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vrndmq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vrndmq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vrndmq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vrndnq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vrndnq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vrndnq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vrndnq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vrndpq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vrndpq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vrndpq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vrndpq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vrndq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vrndq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vrndq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vrndq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vrndxq_fv4sf(__simd128_float32_t); +__simd128_float16_t __builtin_mve_vrndxq_fv8hf(__simd128_float16_t); +__simd128_float32_t __builtin_mve_vrndxq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vrndxq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrshlq_m_n_sv16qi(__simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vrshlq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vrshlq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vrshlq_m_n_uv16qi(__simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vrshlq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vrshlq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vrshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vrshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vrshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vrshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vrshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vrshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vrshlq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vrshlq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vrshlq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vrshlq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vrshlq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vrshlq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vrshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vrshlq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vrshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vrshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); +__simd128_uint32_t __builtin_mve_vrshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); +__simd128_uint16_t __builtin_mve_vrshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); +__simd128_int16_t __builtin_mve_vrshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vrshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vrshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vrshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vrshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vrshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vrshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vrshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_int16_t __builtin_mve_vrshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vrshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vrshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vrshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vrshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vrshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vrshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vrshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vrshrq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vrshrq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vrshrq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vrshrq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vrshrq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vrshrq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vrshrq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vrshrq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vrshrq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vrshrq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vrshrq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vrshrq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int32_t __builtin_mve_vsbciq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vsbciq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vsbciq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_uint32_t __builtin_mve_vsbciq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_int32_t __builtin_mve_vsbcq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vsbcq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_int32_t __builtin_mve_vsbcq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_uint32_t __builtin_mve_vsbcq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +unsigned int __builtin_mve_vshlcq_carry_sv16qi(__simd128_int8_t, unsigned int, int); +unsigned int __builtin_mve_vshlcq_carry_sv4si(__simd128_int32_t, unsigned int, int); +unsigned int __builtin_mve_vshlcq_carry_sv8hi(__simd128_int16_t, unsigned int, int); +unsigned int __builtin_mve_vshlcq_carry_uv16qi(__simd128_uint8_t, unsigned int, int); +unsigned int __builtin_mve_vshlcq_carry_uv4si(__simd128_uint32_t, unsigned int, int); +unsigned int __builtin_mve_vshlcq_carry_uv8hi(__simd128_uint16_t, unsigned int, int); +int __builtin_mve_vshlcq_m_carry_sv16qi(__simd128_int8_t, unsigned int, int, short unsigned int); +int __builtin_mve_vshlcq_m_carry_sv4si(__simd128_int32_t, unsigned int, int, short unsigned int); +int __builtin_mve_vshlcq_m_carry_sv8hi(__simd128_int16_t, unsigned int, int, short unsigned int); +unsigned int __builtin_mve_vshlcq_m_carry_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); +unsigned int __builtin_mve_vshlcq_m_carry_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); +unsigned int __builtin_mve_vshlcq_m_carry_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); +__simd128_int8_t __builtin_mve_vshlcq_m_vec_sv16qi(__simd128_int8_t, unsigned int, int, short unsigned int); +__simd128_int32_t __builtin_mve_vshlcq_m_vec_sv4si(__simd128_int32_t, unsigned int, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshlcq_m_vec_sv8hi(__simd128_int16_t, unsigned int, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vshlcq_m_vec_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vshlcq_m_vec_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshlcq_m_vec_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); +__simd128_int8_t __builtin_mve_vshlcq_vec_sv16qi(__simd128_int8_t, unsigned int, int); +__simd128_int32_t __builtin_mve_vshlcq_vec_sv4si(__simd128_int32_t, unsigned int, int); +__simd128_int16_t __builtin_mve_vshlcq_vec_sv8hi(__simd128_int16_t, unsigned int, int); +__simd128_uint8_t __builtin_mve_vshlcq_vec_uv16qi(__simd128_uint8_t, unsigned int, int); +__simd128_uint32_t __builtin_mve_vshlcq_vec_uv4si(__simd128_uint32_t, unsigned int, int); +__simd128_uint16_t __builtin_mve_vshlcq_vec_uv8hi(__simd128_uint16_t, unsigned int, int); +__simd128_int16_t __builtin_mve_vshllbq_m_n_sv16qi(__simd128_int16_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vshllbq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshllbq_m_n_uv16qi(__simd128_uint16_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vshllbq_m_n_uv8hi(__simd128_uint32_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshllbq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vshllbq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vshllbq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vshllbq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int16_t __builtin_mve_vshlltq_m_n_sv16qi(__simd128_int16_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vshlltq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshlltq_m_n_uv16qi(__simd128_uint16_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vshlltq_m_n_uv8hi(__simd128_uint32_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshlltq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vshlltq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vshlltq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vshlltq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vshlq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vshlq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshlq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vshlq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vshlq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshlq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vshlq_m_r_sv16qi(__simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vshlq_m_r_sv4si(__simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshlq_m_r_sv8hi(__simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vshlq_m_r_uv16qi(__simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vshlq_m_r_uv4si(__simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshlq_m_r_uv8hi(__simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vshlq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vshlq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vshlq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vshlq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vshlq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vshlq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vshlq_r_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vshlq_r_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vshlq_r_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vshlq_r_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vshlq_r_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vshlq_r_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vshlq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); +__simd128_uint32_t __builtin_mve_vshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); +__simd128_uint16_t __builtin_mve_vshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); +__simd128_int16_t __builtin_mve_vshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_int16_t __builtin_mve_vshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); +__simd128_int8_t __builtin_mve_vshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); +__simd128_uint16_t __builtin_mve_vshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); +__simd128_uint8_t __builtin_mve_vshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vshrq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vshrq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vshrq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vshrq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vshrq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vshrq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vshrq_n_sv16qi(__simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vshrq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vshrq_n_sv8hi(__simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vshrq_n_uv16qi(__simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vshrq_n_uv4si(__simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vshrq_n_uv8hi(__simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vsliq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vsliq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vsliq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vsliq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vsliq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vsliq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vsliq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vsliq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vsliq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vsliq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vsliq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vsliq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int); +__simd128_int8_t __builtin_mve_vsriq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); +__simd128_int32_t __builtin_mve_vsriq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vsriq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); +__simd128_uint8_t __builtin_mve_vsriq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); +__simd128_uint32_t __builtin_mve_vsriq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); +__simd128_uint16_t __builtin_mve_vsriq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); +__simd128_int8_t __builtin_mve_vsriq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int32_t __builtin_mve_vsriq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vsriq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_uint8_t __builtin_mve_vsriq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int); +__simd128_uint32_t __builtin_mve_vsriq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int); +__simd128_uint16_t __builtin_mve_vsriq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int); +void __builtin_mve_vst1q_fv4sf(int*, __simd128_float32_t); +void __builtin_mve_vst1q_fv8hf(short int*, __simd128_float16_t); +void __builtin_mve_vst1q_sv16qi(signed char*, __simd128_int8_t); +void __builtin_mve_vst1q_sv4si(int*, __simd128_int32_t); +void __builtin_mve_vst1q_sv8hi(short int*, __simd128_int16_t); +void __builtin_mve_vst1q_uv16qi(signed char*, __simd128_uint8_t); +void __builtin_mve_vst1q_uv4si(int*, __simd128_uint32_t); +void __builtin_mve_vst1q_uv8hi(short int*, __simd128_uint16_t); +void __builtin_mve_vst2qv16qi(signed char*, __builtin_neon_oi); +void __builtin_mve_vst2qv4sf(float*, __builtin_neon_oi); +void __builtin_mve_vst2qv4si(int*, __builtin_neon_oi); +void __builtin_mve_vst2qv8hf(__bf16*, __builtin_neon_oi); +void __builtin_mve_vst2qv8hi(short int*, __builtin_neon_oi); +void __builtin_mve_vst4qv16qi(signed char*, __builtin_neon_xi); +void __builtin_mve_vst4qv4sf(float*, __builtin_neon_xi); +void __builtin_mve_vst4qv4si(int*, __builtin_neon_xi); +void __builtin_mve_vst4qv8hf(__bf16*, __builtin_neon_xi); +void __builtin_mve_vst4qv8hi(short int*, __builtin_neon_xi); +void __builtin_mve_vstrbq_p_sv16qi(signed char*, __simd128_int8_t, short unsigned int); +void __builtin_mve_vstrbq_p_sv4si(signed char*, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrbq_p_sv8hi(signed char*, __simd128_int16_t, short unsigned int); +void __builtin_mve_vstrbq_p_uv16qi(signed char*, __simd128_uint8_t, short unsigned int); +void __builtin_mve_vstrbq_p_uv4si(signed char*, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrbq_p_uv8hi(signed char*, __simd128_uint16_t, short unsigned int); +void __builtin_mve_vstrbq_scatter_offset_p_sv16qi(signed char*, __simd128_uint8_t, __simd128_int8_t, short unsigned int); +void __builtin_mve_vstrbq_scatter_offset_p_sv4si(signed char*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrbq_scatter_offset_p_sv8hi(signed char*, __simd128_uint16_t, __simd128_int16_t, short unsigned int); +void __builtin_mve_vstrbq_scatter_offset_p_uv16qi(signed char*, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +void __builtin_mve_vstrbq_scatter_offset_p_uv4si(signed char*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrbq_scatter_offset_p_uv8hi(signed char*, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +void __builtin_mve_vstrbq_scatter_offset_sv16qi(signed char*, __simd128_uint8_t, __simd128_int8_t); +void __builtin_mve_vstrbq_scatter_offset_sv4si(signed char*, __simd128_uint32_t, __simd128_int32_t); +void __builtin_mve_vstrbq_scatter_offset_sv8hi(signed char*, __simd128_uint16_t, __simd128_int16_t); +void __builtin_mve_vstrbq_scatter_offset_uv16qi(signed char*, __simd128_uint8_t, __simd128_uint8_t); +void __builtin_mve_vstrbq_scatter_offset_uv4si(signed char*, __simd128_uint32_t, __simd128_uint32_t); +void __builtin_mve_vstrbq_scatter_offset_uv8hi(signed char*, __simd128_uint16_t, __simd128_uint16_t); +void __builtin_mve_vstrbq_sv16qi(signed char*, __simd128_int8_t); +void __builtin_mve_vstrbq_sv4si(signed char*, __simd128_int32_t); +void __builtin_mve_vstrbq_sv8hi(signed char*, __simd128_int16_t); +void __builtin_mve_vstrbq_uv16qi(signed char*, __simd128_uint8_t); +void __builtin_mve_vstrbq_uv4si(signed char*, __simd128_uint32_t); +void __builtin_mve_vstrbq_uv8hi(signed char*, __simd128_uint16_t); +void __builtin_mve_vstrdq_scatter_base_p_sv2di(__simd128_uint64_t, int, __simd128_int64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_base_p_uv2di(__simd128_uint64_t, int, __simd128_uint64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_base_sv2di(__simd128_uint64_t, int, __simd128_int64_t); +void __builtin_mve_vstrdq_scatter_base_uv2di(__simd128_uint64_t, int, __simd128_uint64_t); +void __builtin_mve_vstrdq_scatter_base_wb_add_sv2di(__simd128_uint64_t, const int, __simd128_uint64_t); +void __builtin_mve_vstrdq_scatter_base_wb_add_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t); +void __builtin_mve_vstrdq_scatter_base_wb_p_add_sv2di(__simd128_uint64_t, const int, __simd128_uint64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_base_wb_p_add_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_base_wb_p_sv2di(__simd128_uint64_t, const int, __simd128_int64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_base_wb_p_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_base_wb_sv2di(__simd128_uint64_t, const int, __simd128_int64_t); +void __builtin_mve_vstrdq_scatter_base_wb_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t); +void __builtin_mve_vstrdq_scatter_offset_p_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_offset_p_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_offset_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t); +void __builtin_mve_vstrdq_scatter_offset_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t); +void __builtin_mve_vstrdq_scatter_shifted_offset_p_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_shifted_offset_p_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t, short unsigned int); +void __builtin_mve_vstrdq_scatter_shifted_offset_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t); +void __builtin_mve_vstrdq_scatter_shifted_offset_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t); +void __builtin_mve_vstrhq_fv8hf(short int*, __simd128_float16_t); +void __builtin_mve_vstrhq_p_fv8hf(short int*, __simd128_float16_t, short unsigned int); +void __builtin_mve_vstrhq_p_sv4si(short int*, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrhq_p_sv8hi(short int*, __simd128_int16_t, short unsigned int); +void __builtin_mve_vstrhq_p_uv4si(short int*, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrhq_p_uv8hi(short int*, __simd128_uint16_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_offset_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t); +void __builtin_mve_vstrhq_scatter_offset_p_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_offset_p_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_offset_p_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_offset_p_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_offset_p_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_offset_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t); +void __builtin_mve_vstrhq_scatter_offset_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t); +void __builtin_mve_vstrhq_scatter_offset_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t); +void __builtin_mve_vstrhq_scatter_offset_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t); +void __builtin_mve_vstrhq_scatter_shifted_offset_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t); +void __builtin_mve_vstrhq_scatter_shifted_offset_p_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_shifted_offset_p_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_shifted_offset_p_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_shifted_offset_p_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_shifted_offset_p_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +void __builtin_mve_vstrhq_scatter_shifted_offset_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t); +void __builtin_mve_vstrhq_scatter_shifted_offset_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t); +void __builtin_mve_vstrhq_scatter_shifted_offset_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t); +void __builtin_mve_vstrhq_scatter_shifted_offset_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t); +void __builtin_mve_vstrhq_sv4si(short int*, __simd128_int32_t); +void __builtin_mve_vstrhq_sv8hi(short int*, __simd128_int16_t); +void __builtin_mve_vstrhq_uv4si(short int*, __simd128_uint32_t); +void __builtin_mve_vstrhq_uv8hi(short int*, __simd128_uint16_t); +void __builtin_mve_vstrwq_fv4sf(int*, __simd128_float32_t); +void __builtin_mve_vstrwq_p_fv4sf(int*, __simd128_float32_t, short unsigned int); +void __builtin_mve_vstrwq_p_sv4si(int*, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrwq_p_uv4si(int*, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_fv4sf(__simd128_uint32_t, int, __simd128_float32_t); +void __builtin_mve_vstrwq_scatter_base_p_fv4sf(__simd128_uint32_t, int, __simd128_float32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_p_sv4si(__simd128_uint32_t, int, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_p_uv4si(__simd128_uint32_t, int, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_sv4si(__simd128_uint32_t, int, __simd128_int32_t); +void __builtin_mve_vstrwq_scatter_base_uv4si(__simd128_uint32_t, int, __simd128_uint32_t); +void __builtin_mve_vstrwq_scatter_base_wb_add_fv4sf(__simd128_uint32_t, const int, __simd128_uint32_t); +void __builtin_mve_vstrwq_scatter_base_wb_add_sv4si(__simd128_uint32_t, const int, __simd128_uint32_t); +void __builtin_mve_vstrwq_scatter_base_wb_add_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t); +void __builtin_mve_vstrwq_scatter_base_wb_fv4sf(__simd128_uint32_t, const int, __simd128_float32_t); +void __builtin_mve_vstrwq_scatter_base_wb_p_add_fv4sf(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_wb_p_add_sv4si(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_wb_p_add_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_wb_p_fv4sf(__simd128_uint32_t, const int, __simd128_float32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_wb_p_sv4si(__simd128_uint32_t, const int, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_wb_p_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_base_wb_sv4si(__simd128_uint32_t, const int, __simd128_int32_t); +void __builtin_mve_vstrwq_scatter_base_wb_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t); +void __builtin_mve_vstrwq_scatter_offset_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t); +void __builtin_mve_vstrwq_scatter_offset_p_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_offset_p_sv4si(int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_offset_p_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_offset_sv4si(int*, __simd128_uint32_t, __simd128_int32_t); +void __builtin_mve_vstrwq_scatter_offset_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t); +void __builtin_mve_vstrwq_scatter_shifted_offset_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t); +void __builtin_mve_vstrwq_scatter_shifted_offset_p_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_shifted_offset_p_sv4si(int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_shifted_offset_p_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +void __builtin_mve_vstrwq_scatter_shifted_offset_sv4si(int*, __simd128_uint32_t, __simd128_int32_t); +void __builtin_mve_vstrwq_scatter_shifted_offset_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t); +void __builtin_mve_vstrwq_sv4si(int*, __simd128_int32_t); +void __builtin_mve_vstrwq_uv4si(int*, __simd128_uint32_t); +__simd128_float32_t __builtin_mve_vsubq_fv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_mve_vsubq_fv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_mve_vsubq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); +__simd128_float16_t __builtin_mve_vsubq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vsubq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); +__simd128_float16_t __builtin_mve_vsubq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); +__simd128_int8_t __builtin_mve_vsubq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); +__simd128_int32_t __builtin_mve_vsubq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); +__simd128_int16_t __builtin_mve_vsubq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); +__simd128_uint8_t __builtin_mve_vsubq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); +__simd128_uint32_t __builtin_mve_vsubq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); +__simd128_uint16_t __builtin_mve_vsubq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); +__simd128_int8_t __builtin_mve_vsubq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); +__simd128_int32_t __builtin_mve_vsubq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); +__simd128_int16_t __builtin_mve_vsubq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); +__simd128_uint8_t __builtin_mve_vsubq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); +__simd128_uint32_t __builtin_mve_vsubq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); +__simd128_uint16_t __builtin_mve_vsubq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); +__simd128_float32_t __builtin_mve_vsubq_n_fv4sf(__simd128_float32_t, float); +__simd128_float16_t __builtin_mve_vsubq_n_fv8hf(__simd128_float16_t, __bf16); +__simd128_int8_t __builtin_mve_vsubq_n_sv16qi(__simd128_int8_t, signed char); +__simd128_int32_t __builtin_mve_vsubq_n_sv4si(__simd128_int32_t, int); +__simd128_int16_t __builtin_mve_vsubq_n_sv8hi(__simd128_int16_t, short int); +__simd128_uint8_t __builtin_mve_vsubq_n_uv16qi(__simd128_uint8_t, unsigned char); +__simd128_uint32_t __builtin_mve_vsubq_n_uv4si(__simd128_uint32_t, unsigned int); +__simd128_uint16_t __builtin_mve_vsubq_n_uv8hi(__simd128_uint16_t, short unsigned int); +__simd128_int8_t __builtin_mve_vsubq_sv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_mve_vsubq_sv4si(__simd128_int32_t, __simd128_int32_t); +__simd128_int16_t __builtin_mve_vsubq_sv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_uint8_t __builtin_mve_vsubq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint32_t __builtin_mve_vsubq_uv4si(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint16_t __builtin_mve_vsubq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); + +#endif // __arm__ + +#ifdef __ARM_FEATURE_CMSE //eg, __ARM_FEATURE_CMSE is defined when passing -mcpu=cortex-m23 -mcmse +unsigned int __builtin_arm_cmse_nonsecure_caller(); +#endif + +#ifdef __ARM_NEON__ +typedef signed char __builtin_neon_qi; +typedef short int __builtin_neon_hi; +typedef int __builtin_neon_si; +typedef long long int __builtin_neon_di; +typedef int __builtin_neon_ti __attribute__((mode(TI))); +typedef unsigned int __builtin_neon_uti __attribute__((mode(TI))); +typedef unsigned char __builtin_neon_uqi; +typedef short unsigned int __builtin_neon_uhi; +typedef unsigned int __builtin_neon_usi; +typedef unsigned long long __builtin_neon_udi; +typedef int __builtin_neon_ei __attribute__ ((__vector_size__(32))); +typedef int __builtin_neon_ci __attribute__ ((__vector_size__(64))); +typedef int __builtin_neon_poly8 __attribute__((mode(QI))); +typedef int __builtin_neon_poly16 __attribute__((mode(HI))); +typedef float __builtin_neon_sf; +typedef float __builtin_neon_hf; +typedef unsigned long long __builtin_neon_poly64; +typedef unsigned int __builtin_neon_poly128 __attribute__((mode(TI))); + +typedef char __simd64_int8_t __attribute__((__vector_size__(8))); +typedef short __simd64_int16_t __attribute__((__vector_size__(8))); +typedef int __simd64_int32_t __attribute__((__vector_size__(8))); +typedef unsigned char __simd64_uint8_t __attribute__((__vector_size__(8))); +typedef unsigned short __simd64_uint16_t __attribute__((__vector_size__(8))); +typedef unsigned int __simd64_uint32_t __attribute__((__vector_size__(8))); + +#ifdef __ARM_FEATURE_FP16_SCALAR_ARITHMETIC +typedef cov_fp16_t __fp16; +#endif +typedef cov_fp16_t __simd64_float16_t __attribute__((__vector_size__(8))); +typedef float __simd64_float32_t __attribute__((__vector_size__(8))); + +typedef signed char __simd64_poly8_t __attribute__((__vector_size__(8))); +typedef short __simd64_poly16_t __attribute__((__vector_size__(8))); +typedef signed char __simd128_poly8_t __attribute__((__vector_size__(16))); +typedef short __simd128_poly16_t __attribute__((__vector_size__(16))); +typedef __bf16 __simd128_bfloat16_t __attribute__((__vector_size__(16))); +typedef __bf16 __simd64_bfloat16_t __attribute__((__vector_size__(8))); + +__simd128_uint8_t __builtin_arm_crypto_aesd(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint8_t __builtin_arm_crypto_aese(__simd128_uint8_t, __simd128_uint8_t); +__simd128_uint8_t __builtin_arm_crypto_aesimc(__simd128_uint8_t); +__simd128_uint8_t __builtin_arm_crypto_aesmc(__simd128_uint8_t); +__simd128_uint32_t __builtin_arm_crypto_sha1c(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha1h(__simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha1m(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha1p(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha1su0(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha1su1(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha256h(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha256h2(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha256su0(__simd128_uint32_t, __simd128_uint32_t); +__simd128_uint32_t __builtin_arm_crypto_sha256su1(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); +__builtin_neon_uti __builtin_arm_crypto_vmullp64(long long unsigned int, long long unsigned int); +void __builtin_arm_lane_check(int, int); + +__builtin_neon_ci __builtin_neon_vld3_lanev4sf (const __builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); +__builtin_neon_ci __builtin_neon_vld3_lanev4si (const __builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); +__builtin_neon_ci __builtin_neon_vld3_lanev8hf(const cov_fp16_t*, __builtin_neon_ci, int); +__builtin_neon_ci __builtin_neon_vld3_lanev8hi (const __builtin_neon_hi * __a, __builtin_neon_ci __b, const int __c); +__builtin_neon_ci __builtin_neon_vld3v16qi (const __builtin_neon_qi * __a); +__builtin_neon_ci __builtin_neon_vld3v4sf (const __builtin_neon_sf * __a); +__builtin_neon_ci __builtin_neon_vld3v4si (const __builtin_neon_si * __a); +__builtin_neon_ci __builtin_neon_vld3v8hf(const cov_fp16_t*); +__builtin_neon_ci __builtin_neon_vld3v8hi (const __builtin_neon_hi * __a); +__builtin_neon_ci __builtin_neon_vld4_lanev4sf (const __builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); +__builtin_neon_ci __builtin_neon_vld4_lanev4si (const __builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); +__builtin_neon_ci __builtin_neon_vld4_lanev8hi (const __builtin_neon_hi * __a, __builtin_neon_ci __b, const int __c); +__builtin_neon_ci __builtin_neon_vld4v16qi (const __builtin_neon_qi * __a); +__builtin_neon_ci __builtin_neon_vld4v4sf (const __builtin_neon_sf * __a); +__builtin_neon_ci __builtin_neon_vld4v4si (const __builtin_neon_si * __a); +__builtin_neon_ci __builtin_neon_vld4v8hi (const __builtin_neon_hi * __a); +__builtin_neon_ei __builtin_neon_vld3di (const __builtin_neon_di * __a); +__builtin_neon_ei __builtin_neon_vld3_dupdi (const __builtin_neon_di * __a); +__builtin_neon_ei __builtin_neon_vld3_dupv2sf (const __builtin_neon_sf * __a); +__builtin_neon_ei __builtin_neon_vld3_dupv2si (const __builtin_neon_si * __a); +__builtin_neon_ei __builtin_neon_vld3_dupv4hf(const cov_fp16_t*); +__builtin_neon_ei __builtin_neon_vld3_dupv4hi (const __builtin_neon_hi * __a); +__builtin_neon_ei __builtin_neon_vld3_dupv8qi (const __builtin_neon_qi * __a); +__builtin_neon_ei __builtin_neon_vld3_lanev2sf (const __builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld3_lanev2si (const __builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld3_lanev4hf(const cov_fp16_t*, __builtin_neon_ei, int); +__builtin_neon_ei __builtin_neon_vld3_lanev4hi (const __builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld3_lanev8qi (const __builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld3v2sf (const __builtin_neon_sf * __a); +__builtin_neon_ei __builtin_neon_vld3v2si (const __builtin_neon_si * __a); +__builtin_neon_ei __builtin_neon_vld3v4hf(const cov_fp16_t*); +__builtin_neon_ei __builtin_neon_vld3v4hi (const __builtin_neon_hi * __a); +__builtin_neon_ei __builtin_neon_vld3v8qi (const __builtin_neon_qi * __a); +__builtin_neon_ei __builtin_neon_vld4di (const __builtin_neon_di * __a); +__builtin_neon_ei __builtin_neon_vld4_dupdi (const __builtin_neon_di * __a); +__builtin_neon_ei __builtin_neon_vld4_dupv2sf (const __builtin_neon_sf * __a); +__builtin_neon_ei __builtin_neon_vld4_dupv2si (const __builtin_neon_si * __a); +__builtin_neon_ei __builtin_neon_vld4_dupv4hi (const __builtin_neon_hi * __a); +__builtin_neon_ei __builtin_neon_vld4_dupv8qi (const __builtin_neon_qi * __a); +__builtin_neon_ei __builtin_neon_vld4_lanev2sf (const __builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld4_lanev2si (const __builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld4_lanev4hi (const __builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld4_lanev8qi (const __builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); +__builtin_neon_ei __builtin_neon_vld4v2sf (const __builtin_neon_sf * __a); +__builtin_neon_ei __builtin_neon_vld4v2si (const __builtin_neon_si * __a); +__builtin_neon_ei __builtin_neon_vld4v4hi (const __builtin_neon_hi * __a); +__builtin_neon_ei __builtin_neon_vld4v8qi (const __builtin_neon_qi * __a); +__builtin_neon_oi __builtin_neon_vld2_lanev4sf (const __builtin_neon_sf * __a, __builtin_neon_oi __b, const int __c); +__builtin_neon_oi __builtin_neon_vld2_lanev4si (const __builtin_neon_si * __a, __builtin_neon_oi __b, const int __c); +__builtin_neon_oi __builtin_neon_vld2_lanev8hf(const cov_fp16_t*, __builtin_neon_oi, int); +__builtin_neon_oi __builtin_neon_vld2_lanev8hi (const __builtin_neon_hi * __a, __builtin_neon_oi __b, const int __c); +__builtin_neon_oi __builtin_neon_vld2v16qi (const __builtin_neon_qi * __a); +__builtin_neon_oi __builtin_neon_vld2v4sf (const __builtin_neon_sf * __a); +__builtin_neon_oi __builtin_neon_vld2v4si (const __builtin_neon_si * __a); +__builtin_neon_oi __builtin_neon_vld2v8hf(const cov_fp16_t*); +__builtin_neon_oi __builtin_neon_vld2v8hi (const __builtin_neon_hi * __a); +__builtin_neon_oi __builtin_neon_vld4_dupv4hf(const cov_fp16_t*); +__builtin_neon_oi __builtin_neon_vld4_lanev4hf(const cov_fp16_t*, __builtin_neon_oi, int); +__builtin_neon_oi __builtin_neon_vld4v4hf(const cov_fp16_t*); +__builtin_neon_ti __builtin_neon_vld2di (const __builtin_neon_di * __a); +__builtin_neon_ti __builtin_neon_vld2_dupdi (const __builtin_neon_di * __a); +__builtin_neon_ti __builtin_neon_vld2_dupv2sf (const __builtin_neon_sf * __a); +__builtin_neon_ti __builtin_neon_vld2_dupv2si (const __builtin_neon_si * __a); +__builtin_neon_ti __builtin_neon_vld2_dupv4hf(const cov_fp16_t*); +__builtin_neon_ti __builtin_neon_vld2_dupv4hi (const __builtin_neon_hi * __a); +__builtin_neon_ti __builtin_neon_vld2_dupv8qi (const __builtin_neon_qi * __a); +__builtin_neon_ti __builtin_neon_vld2_lanev2sf (const __builtin_neon_sf * __a, float __b, const int __c); +__builtin_neon_ti __builtin_neon_vld2_lanev2si (const __builtin_neon_si * __a, int __b, const int __c); +__builtin_neon_ti __builtin_neon_vld2_lanev4hf(const cov_fp16_t*, __builtin_neon_ti, int); +__builtin_neon_ti __builtin_neon_vld2_lanev4hi (const __builtin_neon_hi * __a, int __b, const int __c); +__builtin_neon_ti __builtin_neon_vld2_lanev8qi (const __builtin_neon_qi * __a, int __b, const int __c); +__builtin_neon_ti __builtin_neon_vld2v2sf (const __builtin_neon_sf * __a); +__builtin_neon_ti __builtin_neon_vld2v2si (const __builtin_neon_si * __a); +__builtin_neon_ti __builtin_neon_vld2v4hf(const cov_fp16_t*); +__builtin_neon_ti __builtin_neon_vld2v4hi (const __builtin_neon_hi * __a); +__builtin_neon_ti __builtin_neon_vld2v8qi (const __builtin_neon_qi * __a); +__builtin_neon_uti __builtin_arm_crypto_vmullp64(long long unsigned int, long long unsigned int); +__builtin_neon_xi __builtin_neon_vld4_lanev8hf(const cov_fp16_t*, __builtin_neon_xi, int); +__builtin_neon_xi __builtin_neon_vld4v8hf(const cov_fp16_t*); +cov_fp16_t __builtin_neon_vabshf(cov_fp16_t); +cov_fp16_t __builtin_neon_vcvthshf(int); +cov_fp16_t __builtin_neon_vcvths_nhf(int, int); +cov_fp16_t __builtin_neon_vcvthuhf(int); +cov_fp16_t __builtin_neon_vcvthu_nhf(int, int); +cov_fp16_t __builtin_neon_vfmahf(cov_fp16_t, cov_fp16_t, cov_fp16_t); +cov_fp16_t __builtin_neon_vfmshf(cov_fp16_t, cov_fp16_t, cov_fp16_t); +cov_fp16_t __builtin_neon_vmaxnmhf(cov_fp16_t, cov_fp16_t); +cov_fp16_t __builtin_neon_vminnmhf(cov_fp16_t, cov_fp16_t); +cov_fp16_t __builtin_neon_vrndahf(cov_fp16_t); +cov_fp16_t __builtin_neon_vrndhf(cov_fp16_t); +cov_fp16_t __builtin_neon_vrndihf(cov_fp16_t); +cov_fp16_t __builtin_neon_vrndmhf(cov_fp16_t); +cov_fp16_t __builtin_neon_vrndnhf(cov_fp16_t); +cov_fp16_t __builtin_neon_vrndphf(cov_fp16_t); +cov_fp16_t __builtin_neon_vrndxhf(cov_fp16_t); +cov_fp16_t __builtin_neon_vsqrthf(cov_fp16_t); +float __builtin_neon_vget_lanev2sf (__simd64_float32_t __a, const int __b); +float __builtin_neon_vget_lanev4sf (__simd128_float32_t __a, const int __b); +int __builtin_neon_vbsldi (int __a, int __b, int __c); +int __builtin_neon_vcreatedi (__builtin_neon_di __a); +int __builtin_neon_vcvtahssi(cov_fp16_t); +int __builtin_neon_vcvtahusi(cov_fp16_t); +int __builtin_neon_vcvths_nsi(cov_fp16_t, int); +int __builtin_neon_vcvthssi(cov_fp16_t); +int __builtin_neon_vcvthu_nsi(cov_fp16_t, int); +int __builtin_neon_vcvthusi(cov_fp16_t); +int __builtin_neon_vcvtmhssi(cov_fp16_t); +int __builtin_neon_vcvtmhusi(cov_fp16_t); +int __builtin_neon_vcvtnhssi(cov_fp16_t); +int __builtin_neon_vcvtnhusi(cov_fp16_t); +int __builtin_neon_vcvtphssi(cov_fp16_t); +int __builtin_neon_vcvtphusi(cov_fp16_t); +int __builtin_neon_vdup_lanedi (int __a, const int __b); +int __builtin_neon_vdup_ndi (__builtin_neon_di __a); +int __builtin_neon_vextdi (int __a, int __b, const int __c); +int __builtin_neon_vget_lanedi (int __a, const int __b); +int __builtin_neon_vget_laneuv16qi(__simd128_int8_t, int); +int __builtin_neon_vget_laneuv4hi(__simd64_int16_t, int); +int __builtin_neon_vget_laneuv8hi(__simd128_int16_t, int); +int __builtin_neon_vget_laneuv8qi(__simd64_int8_t, int); +int __builtin_neon_vget_lanev16qi(__simd128_int8_t, int); +int __builtin_neon_vget_lanev2si (__simd64_int32_t __a, const int __b); +int __builtin_neon_vget_lanev4hi(__simd64_int16_t, int); +int __builtin_neon_vget_lanev4si (__simd128_int32_t __a, const int __b); +int __builtin_neon_vget_lanev8hi(__simd128_int16_t, int); +int __builtin_neon_vget_lanev8qi(__simd64_int8_t, int); +int __builtin_neon_vld1di (const __builtin_neon_di * __a); +int __builtin_neon_vld1_dupdi (const __builtin_neon_di * __a); +int __builtin_neon_vld1_lanedi (const __builtin_neon_di* __a, int __b, const int __c); +int __builtin_neon_vpadalsv2si (int __a, __simd64_int32_t __b); +int __builtin_neon_vpaddlsv2si (__simd64_int32_t __a); +int __builtin_neon_vqaddsdi (int __a, int __b); +int __builtin_neon_vqrshlsdi (int __a, int __b); +int __builtin_neon_vqshlsdi (int __a, int __b); +int __builtin_neon_vqshl_s_ndi (int __a, const int __b); +int __builtin_neon_vqsubsdi (int __a, int __b); +int __builtin_neon_vqsubudi (int __a, int __b); +int __builtin_neon_vreinterpretdidi (int __a); +int __builtin_neon_vreinterpretdiv2sf (__simd64_float32_t __a); +int __builtin_neon_vreinterpretdiv2si (__simd64_int32_t __a); +int __builtin_neon_vreinterpretdiv4hi (__simd64_int32_t __a); +int __builtin_neon_vreinterpretdiv8qi (__simd64_int32_t __a); +int __builtin_neon_vrshlsdi (int __a, int __b); +int __builtin_neon_vrshrs_ndi (int __a, const int __b); +int __builtin_neon_vrsras_ndi (int __a, int __b, const int __c); +int __builtin_neon_vset_lanedi (__builtin_neon_di __a, int __b, const int __c); +int __builtin_neon_vshl_ndi (int __a, const int __b); +int __builtin_neon_vshlsdi (int __a, int __b); +int __builtin_neon_vshrs_ndi (int __a, const int __b); +int __builtin_neon_vsli_ndi (int __a, int __b, const int __c); +int __builtin_neon_vsras_ndi (int __a, int __b, const int __c); +int __builtin_neon_vsri_ndi (int __a, int __b, const int __c); +int __builtin_neon_vst1_lanedi (__builtin_neon_di * __a, int __b, const int __c); +void __builtin_neon_vst2di(long long int*, __builtin_neon_ti); +int __builtin_neon_vst2_lanev2sf (__builtin_neon_sf * __a, float __b, const int __c); +int __builtin_neon_vst2_lanev2si (__builtin_neon_si * __a, int __b, const int __c); +int __builtin_neon_vst2_lanev4hi (__builtin_neon_hi * __a, int __b, const int __c); +int __builtin_neon_vst2_lanev4sf (__builtin_neon_sf * __a, __builtin_neon_oi __b, const int __c); +int __builtin_neon_vst2_lanev4si (__builtin_neon_si * __a, __builtin_neon_oi __b, const int __c); +int __builtin_neon_vst2_lanev8hi (__builtin_neon_hi* __a, __builtin_neon_oi __b, const int __c); +int __builtin_neon_vst2_lanev8qi (__builtin_neon_qi * __a, int __b, const int __c); +void __builtin_neon_vst2v16qi(signed char*, __builtin_neon_oi); +void __builtin_neon_vst2v2sf(float*, __builtin_neon_ti); +void __builtin_neon_vst2v2si(int*, __builtin_neon_ti); +void __builtin_neon_vst2v4hi(short int*, __builtin_neon_ti); +void __builtin_neon_vst2v4sf(float*, __builtin_neon_oi); +void __builtin_neon_vst2v4si(int*, __builtin_neon_oi); +void __builtin_neon_vst2v8hi(short int*, __builtin_neon_oi); +void __builtin_neon_vst2v8qi(signed char*, __builtin_neon_ti); +void __builtin_neon_vst3di(long long int*, __builtin_neon_ei); +int __builtin_neon_vst3_lanev2sf (__builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); +int __builtin_neon_vst3_lanev2si (__builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); +int __builtin_neon_vst3_lanev4hi (__builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); +int __builtin_neon_vst3_lanev4sf (__builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); +int __builtin_neon_vst3_lanev4si (__builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); +int __builtin_neon_vst3_lanev8hi (__builtin_neon_hi* __a, __builtin_neon_ci __b, const int __c); +int __builtin_neon_vst3_lanev8qi (__builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); +void __builtin_neon_vst3v16qi(signed char*, __builtin_neon_ci); +void __builtin_neon_vst3v2sf(float*, __builtin_neon_ei); +void __builtin_neon_vst3v2si(int*, __builtin_neon_ei); +void __builtin_neon_vst3v4hi(short int*, __builtin_neon_ei); +void __builtin_neon_vst3v4sf(float*, __builtin_neon_ci); +void __builtin_neon_vst3v4si(int*, __builtin_neon_ci); +void __builtin_neon_vst3v8hi(short int*, __builtin_neon_ci); +void __builtin_neon_vst3v8qi(signed char*, __builtin_neon_ei); +void __builtin_neon_vst4di(long long int*, __builtin_neon_oi); +int __builtin_neon_vst4_lanev2sf (__builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); +int __builtin_neon_vst4_lanev2si (__builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); +int __builtin_neon_vst4_lanev4hi (__builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); +int __builtin_neon_vst4_lanev4sf (__builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); +int __builtin_neon_vst4_lanev4si (__builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); +int __builtin_neon_vst4_lanev8hi (__builtin_neon_hi* __a, __builtin_neon_ci __b, const int __c); +int __builtin_neon_vst4_lanev8qi (__builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); +void __builtin_neon_vst4v16qi(signed char*, __builtin_neon_xi); +void __builtin_neon_vst4v2sf(float*, __builtin_neon_oi); +void __builtin_neon_vst4v2si(int*, __builtin_neon_oi); +void __builtin_neon_vst4v4hi(short int*, __builtin_neon_oi); +void __builtin_neon_vst4v4sf(float*, __builtin_neon_xi); +void __builtin_neon_vst4v4si(int*, __builtin_neon_xi); +void __builtin_neon_vst4v8hi(short int*, __builtin_neon_xi); +void __builtin_neon_vst4v8qi(signed char*, __builtin_neon_oi); +long long int __builtin_neon_vget_highv2di(__simd128_int64_t); +long long int __builtin_neon_vget_lanev2di(__simd128_int64_t, int); +long long int __builtin_neon_vget_lowv2di(__simd128_int64_t); +__simd128_float16_t __builtin_neon_vabdv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vabsv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vaddv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vbslv8hf(__simd128_int16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vcadd90v8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vcmla0v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vcmla180v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vcmla270v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vcmla90v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vcmla_lane0v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float16_t __builtin_neon_vcmla_lane180v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float16_t __builtin_neon_vcmla_lane270v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float16_t __builtin_neon_vcmla_lane90v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float16_t __builtin_neon_vcmlaq_lane0v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float16_t __builtin_neon_vcmlaq_lane180v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float16_t __builtin_neon_vcmlaq_lane270v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float16_t __builtin_neon_vcmlaq_lane90v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float16_t __builtin_neon_vcombinev4hf(__simd64_float16_t, __simd64_float16_t); +__simd128_float16_t __builtin_neon_vcvts_nv8hi(__simd128_int16_t, int); +__simd128_float16_t __builtin_neon_vcvtsv8hi(__simd128_int16_t); +__simd128_float16_t __builtin_neon_vcvtu_nv8hi(__simd128_int16_t, int); +__simd128_float16_t __builtin_neon_vcvtuv8hi(__simd128_int16_t); +__simd128_float16_t __builtin_neon_vdup_lanev8hf(__simd64_float16_t, int); +__simd128_float16_t __builtin_neon_vdup_nv8hf(cov_fp16_t); +__simd128_float16_t __builtin_neon_vextv8hf(__simd128_float16_t, __simd128_float16_t, int); +__simd128_float16_t __builtin_neon_vfmav8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vfmsv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vld1v8hf(const cov_fp16_t*); +__simd128_float16_t __builtin_neon_vmaxfv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vmaxnmv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vminfv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vminnmv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vmulfv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vmul_lanev8hf(__simd128_float16_t, __simd64_float16_t, int); +__simd128_float16_t __builtin_neon_vmul_nv8hf(__simd128_float16_t, cov_fp16_t); +__simd128_float16_t __builtin_neon_vnegv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrecpev8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrecpsv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vrndav8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrndmv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrndnv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrndpv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrndv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrndxv8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrsqrtev8hf(__simd128_float16_t); +__simd128_float16_t __builtin_neon_vrsqrtsv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float16_t __builtin_neon_vsubv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_neon_vabdfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_float32_t __builtin_neon_vabsv4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vaddv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_float32_t __builtin_neon_vbslv4sf (__simd128_int32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); +__simd128_float32_t __builtin_neon_vcadd90v4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vcmla0v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vcmla180v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vcmla270v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vcmla90v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vcmla_lane0v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); +__simd128_float32_t __builtin_neon_vcmla_lane180v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); +__simd128_float32_t __builtin_neon_vcmla_lane270v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); +__simd128_float32_t __builtin_neon_vcmla_lane90v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); +__simd128_float32_t __builtin_neon_vcmlaq_lane0v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); +__simd128_float32_t __builtin_neon_vcmlaq_lane180v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); +__simd128_float32_t __builtin_neon_vcmlaq_lane270v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); +__simd128_float32_t __builtin_neon_vcmlaq_lane90v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); +__simd128_float32_t __builtin_neon_vcombinev2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd128_float32_t __builtin_neon_vcvts_nv4si (__simd128_int32_t __a, const int __b); +__simd128_float32_t __builtin_neon_vcvtsv4si (__simd128_int32_t __a); +__simd128_float32_t __builtin_neon_vcvtu_nv4si (__simd128_int32_t __a, const int __b); +__simd128_float32_t __builtin_neon_vcvtuv4si (__simd128_int32_t __a); +__simd128_float32_t __builtin_neon_vcvtv4sfv4hf(__simd64_float16_t); +__simd128_float32_t __builtin_neon_vdup_lanev4sf (__simd64_float32_t __a, const int __b); +__simd128_float32_t __builtin_neon_vdup_nv4sf (__builtin_neon_sf __a); +__simd128_float32_t __builtin_neon_vextv4sf (__simd128_float32_t __a, __simd128_float32_t __b, const int __c); +__simd128_float32_t __builtin_neon_vfmal_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_neon_vfmal_lane_highv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float32_t __builtin_neon_vfmal_lane_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float32_t __builtin_neon_vfmal_lane_lowv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float32_t __builtin_neon_vfmal_lane_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float32_t __builtin_neon_vfmal_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_neon_vfmav4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); +__simd128_float32_t __builtin_neon_vfmsl_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_neon_vfmsl_lane_highv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float32_t __builtin_neon_vfmsl_lane_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float32_t __builtin_neon_vfmsl_lane_lowv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); +__simd128_float32_t __builtin_neon_vfmsl_lane_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); +__simd128_float32_t __builtin_neon_vfmsl_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); +__simd128_float32_t __builtin_neon_vfmsv4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); +__simd128_float32_t __builtin_neon_vld1_dupv4sf (const __builtin_neon_sf * __a); +__simd128_float32_t __builtin_neon_vld1_lanev4sf (const float * __a, __simd128_float32_t __b, const int __c); +__simd128_float32_t __builtin_neon_vld1v4sf (const __builtin_neon_sf * __a); +__simd128_float32_t __builtin_neon_vmaxfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_float32_t __builtin_neon_vmaxnmv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vminfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_float32_t __builtin_neon_vminnmv4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vmla_lanev4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd64_float32_t __c, const int __d); +__simd128_float32_t __builtin_neon_vmla_nv4sf (__simd128_float32_t __a, __simd128_float32_t __b, float __c); +__simd128_float32_t __builtin_neon_vmlav4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); +__simd128_float32_t __builtin_neon_vmls_lanev4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd64_float32_t __c, const int __d); +__simd128_float32_t __builtin_neon_vmls_nv4sf (__simd128_float32_t __a, __simd128_float32_t __b, float __c); +__simd128_float32_t __builtin_neon_vmlsv4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); +__simd128_float32_t __builtin_neon_vmulfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_float32_t __builtin_neon_vmul_lanev4sf (__simd128_float32_t __a, __simd64_float32_t __b, const int __c); +__simd128_float32_t __builtin_neon_vmul_nv4sf (__simd128_float32_t __a, float __b); +__simd128_float32_t __builtin_neon_vnegv4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrecpev4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrecpsv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_float32_t __builtin_neon_vreinterpretv4sfti (__builtin_neon_ti __a); +__simd128_float32_t __builtin_neon_vreinterpretv4sfv16qi (__simd128_int32_t __a); +__simd128_float32_t __builtin_neon_vreinterpretv4sfv2di (__simd128_int32_t __a); +__simd128_float32_t __builtin_neon_vreinterpretv4sfv4si (__simd128_int32_t __a); +__simd128_float32_t __builtin_neon_vreinterpretv4sfv8hi (__simd128_int32_t __a); +__simd128_float32_t __builtin_neon_vrintav4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrintmv4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrintnv4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrintpv4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrintxv4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrintzv4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrsqrtev4sf (__simd128_float32_t __a); +__simd128_float32_t __builtin_neon_vrsqrtsv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_float32_t __builtin_neon_vset_lanev4sf (float __a, __simd128_float32_t __b, const int __c); +void __builtin_neon_vst1_lanev4sf(float*, __simd128_float32_t, int); +void __builtin_neon_vst1v4sf(float*, __simd128_float32_t); +__simd128_float32_t __builtin_neon_vsubv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_int16_t __builtin_neon_vabalsv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vabaluv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vabasv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vabauv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vabdlsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vabdluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vabdsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vabduv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vabsv8hi(__simd128_int16_t); +__simd128_int16_t __builtin_neon_vaddlsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vaddluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vaddwsv8qi(__simd128_int16_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vaddwuv8qi(__simd128_int16_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vbslv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vcagev8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vcagtv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vcalev8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vcaltv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vceqv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vceqv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vceqzv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcgeuv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vcgev8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vcgev8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vcgezv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcgtuv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vcgtv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vcgtv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vcgtzv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vclev8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vclezv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vclsv8hi(__simd128_int16_t); +__simd128_int16_t __builtin_neon_vcltv8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_int16_t __builtin_neon_vcltzv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vclzv8hi(__simd128_int16_t); +__simd128_int16_t __builtin_neon_vcombinev4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int16_t __builtin_neon_vcvtasv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtauv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtmsv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtmuv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtnsv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtnuv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtpsv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtpuv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvts_nv8hf(__simd128_float16_t, int); +__simd128_int16_t __builtin_neon_vcvtsv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vcvtu_nv8hf(__simd128_float16_t, int); +__simd128_int16_t __builtin_neon_vcvtuv8hf(__simd128_float16_t); +__simd128_int16_t __builtin_neon_vdup_lanev8hi(__simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vextv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vhaddsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vhadduv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vhsubsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vhsubuv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vld1_lanev8hi(const short int*, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vmaxsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vmaxuv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vminsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vminuv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vmla_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vmlalsv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vmlaluv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vmla_nv8hi(__simd128_int16_t, __simd128_int16_t, short int); +__simd128_int16_t __builtin_neon_vmlav8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vmls_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vmlslsv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vmlsluv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vmls_nv8hi(__simd128_int16_t, __simd128_int16_t, short int); +__simd128_int16_t __builtin_neon_vmlsv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vmovlsv8qi(__simd64_int8_t); +__simd128_int16_t __builtin_neon_vmovluv8qi(__simd64_int8_t); +__simd128_int16_t __builtin_neon_vmul_lanev8hi(__simd128_int16_t, __simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vmullpv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vmullsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vmulluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vmul_nv8hi(__simd128_int16_t, short int); +__simd128_int16_t __builtin_neon_vmvnv8hi(__simd128_int16_t); +__simd128_int16_t __builtin_neon_vnegv8hi(__simd128_int16_t); +__simd128_int16_t __builtin_neon_vpadalsv16qi(__simd128_int16_t, __simd128_int8_t); +__simd128_int16_t __builtin_neon_vpadaluv16qi(__simd128_int16_t, __simd128_int8_t); +__simd128_int16_t __builtin_neon_vpaddlsv16qi(__simd128_int8_t); +__simd128_int16_t __builtin_neon_vpaddluv16qi(__simd128_int8_t); +__simd128_int16_t __builtin_neon_vqabsv8hi(__simd128_int16_t); +__simd128_int16_t __builtin_neon_vqaddsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqadduv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqdmulh_lanev8hi(__simd128_int16_t, __simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vqdmulh_nv8hi(__simd128_int16_t, short int); +__simd128_int16_t __builtin_neon_vqdmulhv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqnegv8hi(__simd128_int16_t); +__simd128_int16_t __builtin_neon_vqrdmlah_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vqrdmlahv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqrdmlsh_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vqrdmlshv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqrdmulh_lanev8hi(__simd128_int16_t, __simd64_int16_t, int); +__simd128_int16_t __builtin_neon_vqrdmulh_nv8hi(__simd128_int16_t, short int); +__simd128_int16_t __builtin_neon_vqrdmulhv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqrshlsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqrshluv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqshl_s_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vqshlsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqshl_u_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vqshlu_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vqshluv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqsubsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vqsubuv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vrhaddsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vrhadduv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vrshlsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vrshluv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vrshrs_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vrshru_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vrsras_nv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vrsrau_nv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vset_lanev8hi(short int, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vshlls_nv8qi(__simd64_int8_t, int); +__simd128_int16_t __builtin_neon_vshllu_nv8qi(__simd64_int8_t, int); +__simd128_int16_t __builtin_neon_vshl_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vshlsv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vshluv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int16_t __builtin_neon_vshrs_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vshru_nv8hi(__simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vsli_nv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vsras_nv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vsrau_nv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vsri_nv8hi(__simd128_int16_t, __simd128_int16_t, int); +__simd128_int16_t __builtin_neon_vsublsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vsubluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vsubwsv8qi(__simd128_int16_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vsubwuv8qi(__simd128_int16_t, __simd64_int8_t); +__simd128_int16_t __builtin_neon_vtstv8hi(__simd128_int16_t, __simd128_int16_t); +__simd128_int32_t __builtin_neon_sdot_lanev16qi(__simd128_int32_t, __simd128_int8_t, __simd64_int8_t, int); +__simd128_int32_t __builtin_neon_sdotv16qi(__simd128_int32_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_neon_vabalsv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vabaluv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vabasv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); +__simd128_int32_t __builtin_neon_vabauv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); +__simd128_int32_t __builtin_neon_vabdlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vabdlsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vabdluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vabdluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vabdsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vabduv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vabsv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vaddlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vaddlsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vaddluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vaddluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vaddwsv4hi(__simd128_int32_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vaddwuv4hi(__simd128_int32_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vbslv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); +__simd128_int32_t __builtin_neon_vcagev4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_int32_t __builtin_neon_vcagtv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_int32_t __builtin_neon_vceqv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_int32_t __builtin_neon_vceqv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vcgeuv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vcgev4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_int32_t __builtin_neon_vcgev4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vcgtuv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vcgtv4sf (__simd128_float32_t __a, __simd128_float32_t __b); +__simd128_int32_t __builtin_neon_vcgtv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vclsv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vclzv4si (__simd128_int32_t __a); +__simd128_int64_t __builtin_neon_vcombinedi (long long int __a, long long int __b); +__simd128_int32_t __builtin_neon_vcombinev2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vcvts_nv4sf (__simd128_float32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vcvtsv4sf (__simd128_float32_t __a); +__simd128_int32_t __builtin_neon_vcvtu_nv4sf (__simd128_float32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vcvtuv4sf (__simd128_float32_t __a); +__simd128_int32_t __builtin_neon_vdup_lanev2di (int __a, const int __b); +__simd128_int32_t __builtin_neon_vdup_lanev4si (__simd64_int32_t __a, const int __b); +__simd128_int8_t __builtin_neon_vdup_nv16qi(signed char); +__simd128_int64_t __builtin_neon_vdup_nv2di(long long int); +__simd128_int32_t __builtin_neon_vdup_nv4si (__builtin_neon_si __a); +__simd128_int16_t __builtin_neon_vdup_nv8hi(short int); +__simd128_int32_t __builtin_neon_vextv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vhaddsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vhadduv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vhsubsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vhsubuv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int8_t __builtin_neon_vld1_dupv16qi(const signed char*); +__simd128_int64_t __builtin_neon_vld1_dupv2di(const long long int*); +__simd128_int32_t __builtin_neon_vld1_dupv4si (const __builtin_neon_si * __a); +__simd128_int16_t __builtin_neon_vld1_dupv8hi(const short int*); +__simd128_int32_t __builtin_neon_vld1_lanev4si (const int * __a, __simd128_int32_t __b, const int __c); +__simd128_int8_t __builtin_neon_vld1v16qi(const signed char*); +__simd128_int64_t __builtin_neon_vld1v2di(const long long int*); +__simd128_int32_t __builtin_neon_vld1v4si (const __builtin_neon_si * __a); +__simd128_int16_t __builtin_neon_vld1v8hi(const short int*); +__simd128_int32_t __builtin_neon_vmaxsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vmaxuv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vminsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vminuv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vmla_lanev4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd64_int32_t __c, const int __d); +__simd128_int32_t __builtin_neon_vmlals_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vmlals_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vmlalsv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vmlalu_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vmlalu_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vmlaluv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vmla_nv4si (__simd128_int32_t __a, __simd128_int32_t __a, int __c); +__simd128_int32_t __builtin_neon_vmlav4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); +__simd128_int32_t __builtin_neon_vmls_lanev4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd64_int32_t __c, const int __d); +__simd128_int32_t __builtin_neon_vmlsls_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vmlsls_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vmlslsv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vmlslu_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vmlslu_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vmlsluv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vmls_nv4si (__simd128_int32_t __a, __simd128_int32_t __a, int __c); +__simd128_int32_t __builtin_neon_vmlsv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); +__simd128_int32_t __builtin_neon_vmovlsv2si (__simd64_int32_t __a); +__simd128_int32_t __builtin_neon_vmovlsv4hi(__simd64_int16_t); +__simd128_int32_t __builtin_neon_vmovluv2si (__simd64_int32_t __a); +__simd128_int32_t __builtin_neon_vmovluv4hi(__simd64_int16_t); +__simd128_int32_t __builtin_neon_vmul_lanev4si (__simd128_int32_t __a, __simd64_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vmulls_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vmulls_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vmulls_nv2si (__simd64_int32_t __a, int __b); +__simd128_int32_t __builtin_neon_vmulls_nv4hi(__simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vmullsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vmullsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vmullu_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vmullu_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vmullu_nv2si (__simd64_int32_t __a, __builtin_neon_si __b); +__simd128_int32_t __builtin_neon_vmullu_nv4hi(__simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vmulluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vmulluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vmul_nv4si (__simd128_int32_t __a, int __b); +__simd128_int32_t __builtin_neon_vmvnv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vnegv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vpadalsv8hi(__simd128_int32_t, __simd128_int16_t); +__simd128_int32_t __builtin_neon_vpadaluv8hi(__simd128_int32_t, __simd128_int16_t); +__simd128_int32_t __builtin_neon_vpaddlsv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vpaddlsv8hi(__simd128_int16_t); +__simd128_int32_t __builtin_neon_vpaddluv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vpaddluv8hi(__simd128_int16_t); +__simd128_int32_t __builtin_neon_vqabsv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vqaddsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqadduv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqdmlal_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vqdmlal_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vqdmlalv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vqdmlsl_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vqdmlsl_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vqdmlslv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vqdmulh_lanev4si (__simd128_int32_t __a, __simd64_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vqdmulh_nv4si (__simd128_int32_t __a, int __b); +__simd128_int32_t __builtin_neon_vqdmulhv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqdmull_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vqdmull_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vqdmull_nv2si (__simd64_int32_t __a, int __b); +__simd128_int32_t __builtin_neon_vqdmull_nv4hi(__simd64_int16_t, short int); +__simd128_int32_t __builtin_neon_vqdmullv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vqdmullv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vqnegv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vqrdmlah_lanev4si(__simd128_int32_t, __simd128_int32_t, __simd64_int32_t, int); +__simd128_int32_t __builtin_neon_vqrdmlahv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int32_t __builtin_neon_vqrdmlsh_lanev4si(__simd128_int32_t, __simd128_int32_t, __simd64_int32_t, int); +__simd128_int32_t __builtin_neon_vqrdmlshv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); +__simd128_int32_t __builtin_neon_vqrdmulh_lanev4si (__simd128_int32_t __a, __simd64_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vqrdmulh_nv4si (__simd128_int32_t __a, int __b); +__simd128_int32_t __builtin_neon_vqrdmulhv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqrshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqrshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqshl_s_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vqshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqshl_u_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vqshlu_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vqshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqsubsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vqsubuv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vrecpev4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterprettiv16qi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterprettiv2di (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterprettiv4sf (__simd128_float32_t __a); +__simd128_int32_t __builtin_neon_vreinterprettiv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterprettiv8hi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv16qiti (__builtin_neon_ti __a); +__simd128_int32_t __builtin_neon_vreinterpretv16qiv16qi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv16qiv2di (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv16qiv4sf (__simd128_float32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv16qiv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv16qiv8hi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv2diti (__builtin_neon_ti __a); +__simd128_int32_t __builtin_neon_vreinterpretv2div16qi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv2div2di (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv2div4sf (__simd128_float32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv2div4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv2div8hi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv4siti (__builtin_neon_ti __a); +__simd128_int32_t __builtin_neon_vreinterpretv4siv16qi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv4siv2di (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv4siv4sf (__simd128_float32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv4siv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv4siv8hi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv8hiti (__builtin_neon_ti __a); +__simd128_int32_t __builtin_neon_vreinterpretv8hiv16qi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv8hiv2di (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv8hiv4sf (__simd128_float32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv8hiv4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vreinterpretv8hiv8hi (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vrhaddsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vrhadduv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vrshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vrshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vrshrs_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vrshru_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vrsqrtev4si (__simd128_int32_t __a); +__simd128_int32_t __builtin_neon_vrsras_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vrsrau_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vset_lanev4si (int __a, __simd128_int32_t __a, const int __c); +__simd128_int32_t __builtin_neon_vshlls_nv2si (__simd64_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vshlls_nv4hi(__simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vshllu_nv2si (__simd64_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vshllu_nv4hi(__simd64_int16_t, int); +__simd128_int32_t __builtin_neon_vshl_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int32_t __builtin_neon_vshrs_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vshru_nv4si (__simd128_int32_t __a, const int __b); +__simd128_int32_t __builtin_neon_vsli_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vsras_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vsrau_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); +__simd128_int32_t __builtin_neon_vsri_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); +void __builtin_neon_vst1_lanev4si(int*, __simd128_int32_t, int); +void __builtin_neon_vst1v4si(int*, __simd128_int32_t); +__simd128_int32_t __builtin_neon_vsublsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vsublsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vsubluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd128_int32_t __builtin_neon_vsubluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vsubwsv4hi(__simd128_int32_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vsubwuv4hi(__simd128_int32_t, __simd64_int16_t); +__simd128_int32_t __builtin_neon_vtstv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd128_int64_t __builtin_neon_vabalsv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vabaluv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vaddwsv2si(__simd128_int64_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vaddwuv2si(__simd128_int64_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vbslv2di(__simd128_int64_t, __simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vextv2di(__simd128_int64_t, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vld1_lanev2di(const long long int*, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vmlals_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlals_nv2si(__simd128_int64_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlalsv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vmlalu_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlalu_nv2si(__simd128_int64_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlaluv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vmlsls_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlsls_nv2si(__simd128_int64_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlslsv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vmlslu_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlslu_nv2si(__simd128_int64_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vmlsluv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vpadalsv4si(__simd128_int64_t, __simd128_int32_t); +__simd128_int64_t __builtin_neon_vpadaluv4si(__simd128_int64_t, __simd128_int32_t); +__simd128_int64_t __builtin_neon_vqaddsv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vqadduv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vqdmlal_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vqdmlal_nv2si(__simd128_int64_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vqdmlalv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vqdmlsl_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vqdmlsl_nv2si(__simd128_int64_t, __simd64_int32_t, int); +__simd128_int64_t __builtin_neon_vqdmlslv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vqrshlsv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vqrshluv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vqshl_s_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vqshlsv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vqshl_u_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vqshlu_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vqshluv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vqsubsv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vqsubuv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vrshlsv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vrshluv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vrshrs_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vrshru_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vrsras_nv2di(__simd128_int64_t, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vrsrau_nv2di(__simd128_int64_t, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vset_lanev2di(long long int, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vshl_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vshlsv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vshluv2di(__simd128_int64_t, __simd128_int64_t); +__simd128_int64_t __builtin_neon_vshrs_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vshru_nv2di(__simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vsli_nv2di(__simd128_int64_t, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vsras_nv2di(__simd128_int64_t, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vsrau_nv2di(__simd128_int64_t, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vsri_nv2di(__simd128_int64_t, __simd128_int64_t, int); +__simd128_int64_t __builtin_neon_vsubwsv2si(__simd128_int64_t, __simd64_int32_t); +__simd128_int64_t __builtin_neon_vsubwuv2si(__simd128_int64_t, __simd64_int32_t); +__simd128_int8_t __builtin_neon_vabasv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vabauv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vabdsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vabduv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vabsv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vbslv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vceqv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vcgeuv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vcgev16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vcgtuv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vcgtv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vclsv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vclzv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vcntv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vcombinev8qi(__simd64_int8_t, __simd64_int8_t); +__simd128_int8_t __builtin_neon_vdup_lanev16qi(__simd64_int8_t, int); +__simd128_int8_t __builtin_neon_vextv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vhaddsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vhadduv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vhsubsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vhsubuv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vld1_lanev16qi(const signed char*, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vmaxsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vmaxuv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vminsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vminuv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vmlav16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vmlsv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vmulpv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vmvnv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vnegv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vqabsv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vqaddsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vqadduv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vqnegv16qi(__simd128_int8_t); +__simd128_int8_t __builtin_neon_vqrshlsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vqrshluv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vqshl_s_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vqshlsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vqshl_u_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vqshlu_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vqshluv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vqsubsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vqsubuv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vrhaddsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vrhadduv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vrshlsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vrshluv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vrshrs_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vrshru_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vrsras_nv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vrsrau_nv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vset_lanev16qi(signed char, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vshl_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vshlsv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vshluv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_int8_t __builtin_neon_vshrs_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vshru_nv16qi(__simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vsli_nv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vsras_nv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vsrau_nv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vsri_nv16qi(__simd128_int8_t, __simd128_int8_t, int); +__simd128_int8_t __builtin_neon_vtstv16qi(__simd128_int8_t, __simd128_int8_t); +__simd128_uint32_t __builtin_neon_udot_lanev16qi_uuuus(__simd128_uint32_t, __simd128_uint8_t, __simd64_uint8_t, int); +__simd128_uint32_t __builtin_neon_udotv16qi_uuuu(__simd128_uint32_t, __simd128_uint8_t, __simd128_uint8_t); +__simd64_float16_t __builtin_neon_vabdv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vabsv4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vaddv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vbslv4hf(__simd64_int16_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vcadd90v4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vcmla0v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vcmla180v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vcmla270v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vcmla90v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vcmla_lane0v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float16_t __builtin_neon_vcmla_lane180v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float16_t __builtin_neon_vcmla_lane270v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float16_t __builtin_neon_vcmla_lane90v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float16_t __builtin_neon_vcmla_laneq0v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float16_t __builtin_neon_vcmla_laneq180v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float16_t __builtin_neon_vcmla_laneq270v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float16_t __builtin_neon_vcmla_laneq90v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float16_t __builtin_neon_vcvts_nv4hi(__simd64_int16_t, int); +__simd64_float16_t __builtin_neon_vcvtsv4hi(__simd64_int16_t); +__simd64_float16_t __builtin_neon_vcvtu_nv4hi(__simd64_int16_t, int); +__simd64_float16_t __builtin_neon_vcvtuv4hi(__simd64_int16_t); +__simd64_float16_t __builtin_neon_vdup_lanev4hf(__simd64_float16_t, int); +__simd64_float16_t __builtin_neon_vdup_nv4hf(cov_fp16_t); +__simd64_float16_t __builtin_neon_vextv4hf(__simd64_float16_t, __simd64_float16_t, int); +__simd64_float16_t __builtin_neon_vfmav4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vfmsv4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vget_highv8hf(__simd128_float16_t); +__simd64_float16_t __builtin_neon_vget_lowv8hf(__simd128_float16_t); +__simd64_float16_t __builtin_neon_vld1v4hf(const cov_fp16_t*); +__simd64_float16_t __builtin_neon_vmaxfv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vmaxnmv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vminfv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vminnmv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vmulfv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vmul_lanev4hf(__simd64_float16_t, __simd64_float16_t, int); +__simd64_float16_t __builtin_neon_vmul_nv4hf(__simd64_float16_t, cov_fp16_t); +__simd64_float16_t __builtin_neon_vnegv4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vpaddv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vpmaxfv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vpminfv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vrecpev4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrecpsv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vrndav4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrndmv4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrndnv4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrndpv4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrndv4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrndxv4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrsqrtev4hf(__simd64_float16_t); +__simd64_float16_t __builtin_neon_vrsqrtsv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float16_t __builtin_neon_vsubv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_float32_t __builtin_neon_vabdfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vabsv2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vaddv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vbslv2sf (__simd64_int32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); +__simd64_float32_t __builtin_neon_vcadd90v2sf(__simd64_float32_t, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vcmla0v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vcmla180v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vcmla270v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vcmla90v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vcmla_lane0v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); +__simd64_float32_t __builtin_neon_vcmla_lane180v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); +__simd64_float32_t __builtin_neon_vcmla_lane270v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); +__simd64_float32_t __builtin_neon_vcmla_lane90v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); +__simd64_float32_t __builtin_neon_vcmla_laneq0v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); +__simd64_float32_t __builtin_neon_vcmla_laneq180v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); +__simd64_float32_t __builtin_neon_vcmla_laneq270v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); +__simd64_float32_t __builtin_neon_vcmla_laneq90v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); +__simd64_float32_t __builtin_neon_vcreatev2sf (__builtin_neon_di __a); +__simd64_float32_t __builtin_neon_vcvts_nv2si (__simd64_int32_t __a, const int __b); +__simd64_float32_t __builtin_neon_vcvtsv2si (__simd64_int32_t __a); +__simd64_float32_t __builtin_neon_vcvtu_nv2si (__simd64_int32_t __a, const int __b); +__simd64_float32_t __builtin_neon_vcvtuv2si (__simd64_int32_t __a); +__simd64_float16_t __builtin_neon_vcvtv4hfv4sf(__simd128_float32_t); +__simd64_float32_t __builtin_neon_vdup_lanev2sf (__simd64_float32_t __a, const int __b); +__simd64_float32_t __builtin_neon_vdup_nv2sf (__builtin_neon_sf __a); +__simd64_float32_t __builtin_neon_vextv2sf (__simd64_float32_t __a, __simd64_float32_t __b, const int __c); +__simd64_float32_t __builtin_neon_vfmal_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float32_t __builtin_neon_vfmal_lane_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float32_t __builtin_neon_vfmal_lane_highv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float32_t __builtin_neon_vfmal_lane_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float32_t __builtin_neon_vfmal_lane_lowv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float32_t __builtin_neon_vfmal_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float32_t __builtin_neon_vfmav2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); +__simd64_float32_t __builtin_neon_vfmsl_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float32_t __builtin_neon_vfmsl_lane_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float32_t __builtin_neon_vfmsl_lane_highv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float32_t __builtin_neon_vfmsl_lane_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); +__simd64_float32_t __builtin_neon_vfmsl_lane_lowv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); +__simd64_float32_t __builtin_neon_vfmsl_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); +__simd64_float32_t __builtin_neon_vfmsv2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); +__simd64_float32_t __builtin_neon_vget_highv4sf (__simd128_float32_t __a); +__simd64_float32_t __builtin_neon_vget_lowv4sf (__simd128_float32_t __a); +__simd64_float32_t __builtin_neon_vld1_dupv2sf (const __builtin_neon_sf * __a); +__simd64_float32_t __builtin_neon_vld1_lanev2sf (const float * __a, __simd64_float32_t __b, const int __c); +__simd64_float32_t __builtin_neon_vld1v2sf (const __builtin_neon_sf * __a); +__simd64_float32_t __builtin_neon_vmaxfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vmaxnmv2sf(__simd64_float32_t, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vminfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vminnmv2sf(__simd64_float32_t, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vmla_lanev2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c, const int __d); +__simd64_float32_t __builtin_neon_vmla_nv2sf (__simd64_float32_t __a, __simd64_float32_t __b, float __c); +__simd64_float32_t __builtin_neon_vmlav2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); +__simd64_float32_t __builtin_neon_vmls_lanev2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c, const int __d); +__simd64_float32_t __builtin_neon_vmls_nv2sf (__simd64_float32_t __a, __simd64_float32_t __b, float __c); +__simd64_float32_t __builtin_neon_vmlsv2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); +__simd64_float32_t __builtin_neon_vmulfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vmul_lanev2sf (__simd64_float32_t __a, __simd64_float32_t __b, const int __c); +__simd64_float32_t __builtin_neon_vmul_nv2sf (__simd64_float32_t __a, float __b); +__simd64_float32_t __builtin_neon_vnegv2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vpaddv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vpmaxfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vpminfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vrecpev2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrecpsv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vrintav2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrintmv2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrintnv2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrintpv2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrintxv2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrintzv2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrsqrtev2sf (__simd64_float32_t __a); +__simd64_float32_t __builtin_neon_vrsqrtsv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_float32_t __builtin_neon_vset_lanev2sf (float __a, __simd64_float32_t __b, const int __c); +void __builtin_neon_vst1_lanev2sf(float*, __simd64_float32_t, int); +void __builtin_neon_vst1v2sf(float*, __simd64_float32_t); +__simd64_float32_t __builtin_neon_vsubv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_int16_t __builtin_neon_vabasv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vabauv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vabdsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vabduv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vabsv4hi(__simd64_int16_t); +__simd64_int16_t __builtin_neon_vbslv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vcagev4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vcagtv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vcalev4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vcaltv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vceqv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vceqv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vceqzv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcgeuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vcgev4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vcgev4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vcgezv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcgtuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vcgtv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vcgtv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vcgtzv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vclev4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vclezv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vclsv4hi(__simd64_int16_t); +__simd64_int16_t __builtin_neon_vcltv4hf(__simd64_float16_t, __simd64_float16_t); +__simd64_int16_t __builtin_neon_vcltzv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vclzv4hi(__simd64_int16_t); +__simd64_int16_t __builtin_neon_vcvtasv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtauv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtmsv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtmuv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtnsv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtnuv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtpsv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtpuv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvts_nv4hf(__simd64_float16_t, int); +__simd64_int16_t __builtin_neon_vcvtsv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vcvtu_nv4hf(__simd64_float16_t, int); +__simd64_int16_t __builtin_neon_vcvtuv4hf(__simd64_float16_t); +__simd64_int16_t __builtin_neon_vdup_lanev4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vextv4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vget_highv8hi(__simd128_int16_t); +__simd64_int16_t __builtin_neon_vget_lowv8hi(__simd128_int16_t); +__simd64_int16_t __builtin_neon_vhaddsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vhadduv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vhsubsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vhsubuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vld1_lanev4hi(const short int*, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vmaxsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vmaxuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vminsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vminuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vmla_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vmla_nv4hi(__simd64_int16_t, __simd64_int16_t, short int); +__simd64_int16_t __builtin_neon_vmlav4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vmls_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vmls_nv4hi(__simd64_int16_t, __simd64_int16_t, short int); +__simd64_int16_t __builtin_neon_vmlsv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vmul_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vmul_nv4hi(__simd64_int16_t, short int); +__simd64_int16_t __builtin_neon_vmvnv4hi(__simd64_int16_t); +__simd64_int16_t __builtin_neon_vnegv4hi(__simd64_int16_t); +__simd64_int16_t __builtin_neon_vpadalsv8qi(__simd64_int16_t, __simd64_int8_t); +__simd64_int16_t __builtin_neon_vpadaluv8qi(__simd64_int16_t, __simd64_int8_t); +__simd64_int16_t __builtin_neon_vpaddlsv8qi(__simd64_int8_t); +__simd64_int16_t __builtin_neon_vpaddluv8qi(__simd64_int8_t); +__simd64_int16_t __builtin_neon_vpaddv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vpmaxsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vpmaxuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vpminsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vpminuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqabsv4hi(__simd64_int16_t); +__simd64_int16_t __builtin_neon_vqaddsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqadduv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqdmulh_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vqdmulh_nv4hi(__simd64_int16_t, short int); +__simd64_int16_t __builtin_neon_vqdmulhv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqnegv4hi(__simd64_int16_t); +__simd64_int16_t __builtin_neon_vqrdmlah_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vqrdmlahv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqrdmlsh_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vqrdmlshv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqrdmulh_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vqrdmulh_nv4hi(__simd64_int16_t, short int); +__simd64_int16_t __builtin_neon_vqrdmulhv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqrshlsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqrshluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqshl_s_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vqshlsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqshl_u_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vqshlu_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vqshluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqsubsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vqsubuv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vrhaddsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vrhadduv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vrshlsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vrshluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vrshrs_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vrshru_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vrsras_nv4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vrsrau_nv4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vset_lanev4hi(short int, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vshl_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vshlsv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vshluv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int16_t __builtin_neon_vshrs_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vshru_nv4hi(__simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vsli_nv4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vsras_nv4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vsrau_nv4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vsri_nv4hi(__simd64_int16_t, __simd64_int16_t, int); +__simd64_int16_t __builtin_neon_vtstv4hi(__simd64_int16_t, __simd64_int16_t); +__simd64_int32_t __builtin_neon_sdot_lanev8qi(__simd64_int32_t, __simd64_int8_t, __simd64_int8_t, int); +__simd64_int32_t __builtin_neon_sdotv8qi(__simd64_int32_t, __simd64_int8_t, __simd64_int8_t); +__simd64_int32_t __builtin_neon_vabasv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); +__simd64_int32_t __builtin_neon_vabauv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); +__simd64_int32_t __builtin_neon_vabdsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vabduv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vabsv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vaddhnv2di(__simd128_int64_t, __simd128_int64_t); +__simd64_int32_t __builtin_neon_vaddhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd64_int32_t __builtin_neon_vbslv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); +__simd64_int32_t __builtin_neon_vcagev2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_int32_t __builtin_neon_vcagtv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_int32_t __builtin_neon_vceqv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_int32_t __builtin_neon_vceqv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vcgeuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vcgev2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_int32_t __builtin_neon_vcgev2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vcgtuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vcgtv2sf (__simd64_float32_t __a, __simd64_float32_t __b); +__simd64_int32_t __builtin_neon_vcgtv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vclsv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vclzv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vcreatev2si (__builtin_neon_di __a); +__simd64_int16_t __builtin_neon_vcreatev4hi(long long int); +__simd64_int8_t __builtin_neon_vcreatev8qi(long long int); +__simd64_int32_t __builtin_neon_vcvts_nv2sf (__simd64_float32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vcvtsv2sf (__simd64_float32_t __a); +__simd64_int32_t __builtin_neon_vcvtu_nv2sf (__simd64_float32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vcvtuv2sf (__simd64_float32_t __a); +__simd64_int32_t __builtin_neon_vdup_lanev2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vdup_nv2si (__builtin_neon_si __a); +__simd64_int16_t __builtin_neon_vdup_nv4hi (__builtin_neon_hi __a); +__simd64_int8_t __builtin_neon_vdup_nv8qi(signed char); +__simd64_int32_t __builtin_neon_vextv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vget_highv4si (__simd128_int32_t __a); +__simd64_int32_t __builtin_neon_vget_lowv4si (__simd128_int32_t __a); +__simd64_int32_t __builtin_neon_vhaddsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vhadduv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vhsubsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vhsubuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vld1_dupv2si (const __builtin_neon_si * __a); +__simd64_int16_t __builtin_neon_vld1_dupv4hi(const short int*); +__simd64_int8_t __builtin_neon_vld1_dupv8qi(const signed char*); +__simd64_int32_t __builtin_neon_vld1_lanev2si (const int * __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vld1v2si (const __builtin_neon_si * __a); +__simd64_int16_t __builtin_neon_vld1v4hi(const short int*); +__simd64_int8_t __builtin_neon_vld1v8qi(const signed char*); +__simd64_int32_t __builtin_neon_vmaxsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vmaxuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vminsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vminuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vmla_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c, const int __d); +__simd64_int32_t __builtin_neon_vmla_nv2si (__simd64_int32_t __a, __simd64_int32_t __a, int __c); +__simd64_int32_t __builtin_neon_vmlav2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); +__simd64_int32_t __builtin_neon_vmls_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c, const int __d); +__simd64_int32_t __builtin_neon_vmls_nv2si (__simd64_int32_t __a, __simd64_int32_t __a, int __c); +__simd64_int32_t __builtin_neon_vmlsv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); +__simd64_int32_t __builtin_neon_vmovnv2di(__simd128_int64_t); +__simd64_int32_t __builtin_neon_vmovnv4si (__simd128_int32_t __a); +__simd64_int32_t __builtin_neon_vmul_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vmul_nv2si (__simd64_int32_t __a, int __b); +__simd64_int32_t __builtin_neon_vmvnv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vnegv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vpadalsv4hi(__simd64_int32_t, __simd64_int16_t); +__simd64_int32_t __builtin_neon_vpadaluv4hi(__simd64_int32_t, __simd64_int16_t); +__simd64_int32_t __builtin_neon_vpaddlsv4hi(__simd64_int16_t); +__simd64_int32_t __builtin_neon_vpaddluv4hi(__simd64_int16_t); +__simd64_int32_t __builtin_neon_vpaddv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vpmaxsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vpmaxuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vpminsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vpminuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqabsv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vqaddsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqadduv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqdmulh_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vqdmulh_nv2si (__simd64_int32_t __a, int __b); +__simd64_int32_t __builtin_neon_vqdmulhv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqmovnsv2di(__simd128_int64_t); +__simd64_int32_t __builtin_neon_vqmovnsv4si (__simd128_int32_t __a); +__simd64_int32_t __builtin_neon_vqmovnuv2di(__simd128_int64_t); +__simd64_int32_t __builtin_neon_vqmovnuv4si (__simd128_int32_t __a); +__simd64_int32_t __builtin_neon_vqmovunv2di(__simd128_int64_t); +__simd64_int32_t __builtin_neon_vqmovunv4si (__simd128_int32_t __a); +__simd64_int32_t __builtin_neon_vqnegv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vqrdmlah_lanev2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t, int); +__simd64_int32_t __builtin_neon_vqrdmlahv2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t); +__simd64_int32_t __builtin_neon_vqrdmlsh_lanev2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t, int); +__simd64_int32_t __builtin_neon_vqrdmlshv2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t); +__simd64_int32_t __builtin_neon_vqrdmulh_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vqrdmulh_nv2si (__simd64_int32_t __a, int __b); +__simd64_int32_t __builtin_neon_vqrdmulhv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqrshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqrshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqrshrns_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vqrshrns_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqrshrnu_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vqrshrnu_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqrshrun_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vqrshrun_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqshl_s_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqshl_u_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqshlu_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqshrns_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vqshrns_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqshrnu_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vqshrnu_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqshrun_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vqshrun_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vqsubsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vqsubuv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vraddhnv2di(__simd128_int64_t, __simd128_int64_t); +__simd64_int32_t __builtin_neon_vraddhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd64_int32_t __builtin_neon_vrecpev2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2sfdi (int __a); +__simd64_int32_t __builtin_neon_vreinterpretv2sfv2sf (__simd64_float32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2sfv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2sfv4hi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2sfv8qi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2sidi (int __a); +__simd64_int32_t __builtin_neon_vreinterpretv2siv2sf (__simd64_float32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2siv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2siv4hi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv2siv8qi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv4hidi (int __a); +__simd64_int32_t __builtin_neon_vreinterpretv4hiv2sf (__simd64_float32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv4hiv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv4hiv4hi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv4hiv8qi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv8qidi (int __a); +__simd64_int32_t __builtin_neon_vreinterpretv8qiv2sf (__simd64_float32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv8qiv2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv8qiv4hi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vreinterpretv8qiv8qi (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vrhaddsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vrhadduv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vrshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vrshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vrshrn_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vrshrn_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vrshrs_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vrshru_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vrsqrtev2si (__simd64_int32_t __a); +__simd64_int32_t __builtin_neon_vrsras_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vrsrau_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vrsubhnv2di(__simd128_int64_t, __simd128_int64_t); +__simd64_int32_t __builtin_neon_vrsubhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd64_int32_t __builtin_neon_vset_lanev2si (int __a, __simd64_int32_t __a, const int __c); +__simd64_int32_t __builtin_neon_vshl_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int32_t __builtin_neon_vshrn_nv2di(__simd128_int64_t, int); +__simd64_int32_t __builtin_neon_vshrn_nv4si (__simd128_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vshrs_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vshru_nv2si (__simd64_int32_t __a, const int __b); +__simd64_int32_t __builtin_neon_vsli_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vsras_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vsrau_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +__simd64_int32_t __builtin_neon_vsri_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); +void __builtin_neon_vst1di(long long int*, long long int); +void __builtin_neon_vst1_lanev2si(int*, __simd64_int32_t, int); +void __builtin_neon_vst1v2si(int*, __simd64_int32_t); +__simd64_int32_t __builtin_neon_vsubhnv2di(__simd128_int64_t, __simd128_int64_t); +__simd64_int32_t __builtin_neon_vsubhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); +__simd64_int32_t __builtin_neon_vtstv2si (__simd64_int32_t __a, __simd64_int32_t __b); +__simd64_int8_t __builtin_neon_vabasv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vabauv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vabdsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vabduv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vabsv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vaddhnv8hi(__simd128_int16_t, __simd128_int16_t); +__simd64_int8_t __builtin_neon_vbslv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vceqv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vcgeuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vcgev8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vcgtuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vcgtv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vclsv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vclzv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vcntv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vdup_lanev8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vextv8qi(__simd64_int8_t, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vget_highv16qi(__simd128_int8_t); +__simd64_int8_t __builtin_neon_vget_lowv16qi(__simd128_int8_t); +__simd64_int8_t __builtin_neon_vhaddsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vhadduv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vhsubsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vhsubuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vld1_lanev8qi(const signed char*, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vmaxsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vmaxuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vminsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vminuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vmlav8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vmlsv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vmovnv8hi(__simd128_int16_t); +__simd64_int8_t __builtin_neon_vmulpv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vmvnv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vnegv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vpaddv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vpmaxsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vpmaxuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vpminsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vpminuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqabsv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vqaddsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqadduv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqmovnsv8hi(__simd128_int16_t); +__simd64_int8_t __builtin_neon_vqmovnuv8hi(__simd128_int16_t); +__simd64_int8_t __builtin_neon_vqmovunv8hi(__simd128_int16_t); +__simd64_int8_t __builtin_neon_vqnegv8qi(__simd64_int8_t); +__simd64_int8_t __builtin_neon_vqrshlsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqrshluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqrshrns_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vqrshrnu_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vqrshrun_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vqshl_s_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vqshlsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqshl_u_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vqshlu_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vqshluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqshrns_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vqshrnu_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vqshrun_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vqsubsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vqsubuv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vraddhnv8hi(__simd128_int16_t, __simd128_int16_t); +__simd64_int8_t __builtin_neon_vrhaddsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vrhadduv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vrshlsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vrshluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vrshrn_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vrshrs_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vrshru_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vrsras_nv8qi(__simd64_int8_t, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vrsrau_nv8qi(__simd64_int8_t, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vrsubhnv8hi(__simd128_int16_t, __simd128_int16_t); +__simd64_int8_t __builtin_neon_vset_lanev8qi(signed char, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vshl_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vshlsv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vshluv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vshrn_nv8hi(__simd128_int16_t, int); +__simd64_int8_t __builtin_neon_vshrs_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vshru_nv8qi(__simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vsli_nv8qi(__simd64_int8_t, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vsras_nv8qi(__simd64_int8_t, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vsrau_nv8qi(__simd64_int8_t, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vsri_nv8qi(__simd64_int8_t, __simd64_int8_t, int); +__simd64_int8_t __builtin_neon_vsubhnv8hi(__simd128_int16_t, __simd128_int16_t); +__simd64_int8_t __builtin_neon_vtbl1v8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtbl2v8qi(__builtin_neon_ti, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtbl3v8qi(__builtin_neon_ei, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtbl4v8qi(__builtin_neon_oi, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtbx1v8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtbx2v8qi(__simd64_int8_t, __builtin_neon_ti, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtbx3v8qi(__simd64_int8_t, __builtin_neon_ei, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtbx4v8qi(__simd64_int8_t, __builtin_neon_oi, __simd64_int8_t); +__simd64_int8_t __builtin_neon_vtstv8qi(__simd64_int8_t, __simd64_int8_t); +__simd64_uint32_t __builtin_neon_udot_lanev8qi_uuuus(__simd64_uint32_t, __simd64_uint8_t, __simd64_uint8_t, int); +__simd64_uint32_t __builtin_neon_udotv8qi_uuuu(__simd64_uint32_t, __simd64_uint8_t, __simd64_uint8_t); +unsigned int __builtin_neon_vget_laneuv2si (__simd64_int32_t __a, const int __b); +unsigned int __builtin_neon_vget_laneuv4si (__simd128_int32_t __a, const int __b); +unsigned int __builtin_neon_vpadaluv2si (int __a, __simd64_int32_t __b); +unsigned int __builtin_neon_vpaddluv2si (__simd64_int32_t __a); +unsigned int __builtin_neon_vqaddudi (int __a, int __b); +unsigned int __builtin_neon_vqrshludi (int __a, int __b); +unsigned int __builtin_neon_vqshludi (int __a, int __b); +unsigned int __builtin_neon_vqshl_u_ndi (int __a, const int __b); +unsigned int __builtin_neon_vqshlu_ndi (int __a, const int __b); +unsigned int __builtin_neon_vrshludi (int __a, int __b); +unsigned int __builtin_neon_vrshru_ndi (int __a, const int __b); +unsigned int __builtin_neon_vrsrau_ndi (int __a, int __b, const int __c); +unsigned int __builtin_neon_vshludi (int __a, int __b); +unsigned int __builtin_neon_vshru_ndi (int __a, const int __b); +unsigned int __builtin_neon_vsrau_ndi (int __a, int __b, const int __c); +void __builtin_neon_vst1_lanev16qi(signed char*, __simd128_int8_t, int); +void __builtin_neon_vst1_lanev2di(long long int*, __simd128_int64_t, int); +void __builtin_neon_vst1_lanev4hf(cov_fp16_t*, __simd64_float16_t, int); +void __builtin_neon_vst1_lanev4hi(short int*, __simd64_int16_t, int); +void __builtin_neon_vst1_lanev8hf(cov_fp16_t*, __simd128_float16_t, int); +void __builtin_neon_vst1_lanev8hi(short int*, __simd128_int16_t, int); +void __builtin_neon_vst1_lanev8qi(signed char*, __simd64_int8_t, int); +void __builtin_neon_vst1v16qi(signed char*, __simd128_int8_t); +void __builtin_neon_vst1v2di(long long int*, __simd128_int64_t); +void __builtin_neon_vst1v4hf(cov_fp16_t*, __simd64_float16_t); +void __builtin_neon_vst1v4hi(short int*, __simd64_int16_t); +void __builtin_neon_vst1v8hf(cov_fp16_t*, __simd128_float16_t); +void __builtin_neon_vst1v8hi(short int*, __simd128_int16_t); +void __builtin_neon_vst1v8qi(signed char*, __simd64_int8_t); +void __builtin_neon_vst2_lanev4hf(cov_fp16_t*, __builtin_neon_ti, int); +void __builtin_neon_vst2_lanev8hf(cov_fp16_t*, __builtin_neon_oi, int); +void __builtin_neon_vst2v4hf(cov_fp16_t*, __builtin_neon_ti); +void __builtin_neon_vst2v8hf(cov_fp16_t*, __builtin_neon_oi); +void __builtin_neon_vst3_lanev4hf(cov_fp16_t*, __builtin_neon_ei, int); +void __builtin_neon_vst3_lanev8hf(cov_fp16_t*, __builtin_neon_ci, int); +void __builtin_neon_vst3v4hf(cov_fp16_t*, __builtin_neon_ei); +void __builtin_neon_vst3v8hf(cov_fp16_t*, __builtin_neon_ci); +void __builtin_neon_vst4_lanev4hf(cov_fp16_t*, __builtin_neon_oi, int); +void __builtin_neon_vst4_lanev8hf(cov_fp16_t*, __builtin_neon_xi, int); +void __builtin_neon_vst4v4hf(cov_fp16_t*, __builtin_neon_oi); +void __builtin_neon_vst4v8hf(cov_fp16_t*, __builtin_neon_xi); + +// -mfpu=vfpv2 -mfloat-abi=hard -mfpu=neon +__simd128_uint64_t __builtin_neon_bswapv2di_uu(__simd128_uint64_t); +__simd64_uint32_t __builtin_neon_bswapv2si_uu(__simd64_uint32_t); +__simd64_uint16_t __builtin_neon_bswapv4hi_uu(__simd64_uint16_t); +__simd128_uint32_t __builtin_neon_bswapv4si_uu(__simd128_uint32_t); +__simd128_uint16_t __builtin_neon_bswapv8hi_uu(__simd128_uint16_t); +__simd64_float32_t __builtin_neon_copysignfv2sf(__simd64_float32_t); +__simd128_float32_t __builtin_neon_copysignfv4sf(__simd128_float32_t); +__simd128_int32_t __builtin_neon_smmlav16qi(__simd128_int32_t, __simd128_int8_t, __simd128_int8_t); +__simd128_int32_t __builtin_neon_sudot_lanev16qi_sssus(__simd128_int32_t, __simd128_int8_t, __simd64_uint8_t, int); +__simd64_int32_t __builtin_neon_sudot_lanev8qi_sssus(__simd64_int32_t, __simd64_int8_t, __simd64_uint8_t, int); +__simd128_uint32_t __builtin_neon_ummlav16qi_uuuu(__simd128_uint32_t, __simd128_uint8_t, __simd128_uint8_t); +__simd128_int32_t __builtin_neon_usdot_lanev16qi_ssuss(__simd128_int32_t, __simd128_uint8_t, __simd64_int8_t, int); +__simd64_int32_t __builtin_neon_usdot_lanev8qi_ssuss(__simd64_int32_t, __simd64_uint8_t, __simd64_int8_t, int); +__simd64_int32_t __builtin_neon_usdotv8qi_ssus(__simd64_int32_t, __simd64_uint8_t, __simd64_int8_t); +__simd128_int32_t __builtin_neon_usmmlav16qi_ssus(__simd128_int32_t, __simd128_uint8_t, __simd128_int8_t); +float __builtin_neon_vbfcvtbf(__bf16); +__simd128_float32_t __builtin_neon_vbfcvt_highv8bf(__simd128_bfloat16_t); +__bf16 __builtin_neon_vbfcvtsf(float); +__simd128_float32_t __builtin_neon_vbfcvtv4bf(__simd64_bfloat16_t); +__simd128_bfloat16_t __builtin_neon_vbfcvtv4sf_highv8bf(__simd128_bfloat16_t, __simd128_float32_t); +__simd64_bfloat16_t __builtin_neon_vbfcvtv4sfv4bf(__simd128_float32_t); +__simd128_bfloat16_t __builtin_neon_vbfcvtv4sfv8bf(__simd128_float32_t); +__simd128_float32_t __builtin_neon_vbfcvtv8bf(__simd128_bfloat16_t); +__simd64_float32_t __builtin_neon_vbfdot_lanev4bfv2sf(__simd64_float32_t, __simd64_bfloat16_t, __simd64_bfloat16_t, int); +__simd128_float32_t __builtin_neon_vbfdot_lanev4bfv4sf(__simd128_float32_t, __simd128_bfloat16_t, __simd64_bfloat16_t, int); +__simd64_float32_t __builtin_neon_vbfdot_lanev8bfv2sf(__simd64_float32_t, __simd64_bfloat16_t, __simd128_bfloat16_t, int); +__simd128_float32_t __builtin_neon_vbfdot_lanev8bfv4sf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t, int); +__simd64_float32_t __builtin_neon_vbfdotv2sf(__simd64_float32_t, __simd64_bfloat16_t, __simd64_bfloat16_t); +__simd128_float32_t __builtin_neon_vbfdotv4sf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); +__simd64_float32_t __builtin_neon_vcadd270v2sf(__simd64_float32_t, __simd64_float32_t); +__simd64_float16_t __builtin_neon_vcadd270v4hf(__simd64_float16_t, __simd64_float16_t); +__simd128_float32_t __builtin_neon_vcadd270v4sf(__simd128_float32_t, __simd128_float32_t); +__simd128_float16_t __builtin_neon_vcadd270v8hf(__simd128_float16_t, __simd128_float16_t); +__simd128_bfloat16_t __builtin_neon_vcombinev4bf(__simd64_bfloat16_t, __simd64_bfloat16_t); +__simd64_int32_t __builtin_neon_vcvtauv2sfv2si(__simd64_float32_t); +__simd128_int32_t __builtin_neon_vcvtauv4sfv4si(__simd128_float32_t); +__simd64_int32_t __builtin_neon_vcvtav2sfv2si(__simd64_float32_t); +__simd128_int32_t __builtin_neon_vcvtav4sfv4si(__simd128_float32_t); +__simd64_int32_t __builtin_neon_vcvtmuv2sfv2si(__simd64_float32_t); +__simd128_int32_t __builtin_neon_vcvtmuv4sfv4si(__simd128_float32_t); +__simd64_int32_t __builtin_neon_vcvtmv2sfv2si(__simd64_float32_t); +__simd128_int32_t __builtin_neon_vcvtmv4sfv4si(__simd128_float32_t); +__simd64_int32_t __builtin_neon_vcvtpuv2sfv2si(__simd64_float32_t); +__simd128_int32_t __builtin_neon_vcvtpuv4sfv4si(__simd128_float32_t); +__simd64_int32_t __builtin_neon_vcvtpv2sfv2si(__simd64_float32_t); +__simd128_int32_t __builtin_neon_vcvtpv4sfv4si(__simd128_float32_t); +__simd64_bfloat16_t __builtin_neon_vdup_lanev4bf(__simd64_bfloat16_t, int); +__simd128_bfloat16_t __builtin_neon_vdup_lanev8bf(__simd64_bfloat16_t, int); +__simd64_bfloat16_t __builtin_neon_vdup_nv4bf(__bf16); +__simd128_bfloat16_t __builtin_neon_vdup_nv8bf(__bf16); +__simd128_float32_t __builtin_neon_vfmab_laneqv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t, int); +__simd128_float32_t __builtin_neon_vfmab_lanev8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd64_bfloat16_t, int); +__simd128_float32_t __builtin_neon_vfmabv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); +__simd128_float32_t __builtin_neon_vfmat_laneqv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t, int); +__simd128_float32_t __builtin_neon_vfmat_lanev8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd64_bfloat16_t, int); +__simd128_float32_t __builtin_neon_vfmatv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); +__simd64_bfloat16_t __builtin_neon_vget_highv8bf(__simd128_bfloat16_t); +__simd64_bfloat16_t __builtin_neon_vget_lowv8bf(__simd128_bfloat16_t); +__builtin_neon_ti __builtin_neon_vld2_dupv4bf(const __bf16*); +__builtin_neon_oi __builtin_neon_vld2_dupv8bf(const __bf16*); +__builtin_neon_ti __builtin_neon_vld2v4bf(const __bf16*); +__builtin_neon_oi __builtin_neon_vld2v8bf(const __bf16*); +__builtin_neon_ei __builtin_neon_vld3_dupv4bf(const __bf16*); +__builtin_neon_ci __builtin_neon_vld3_dupv8bf(const __bf16*); +__builtin_neon_ei __builtin_neon_vld3v4bf(const __bf16*); +__builtin_neon_ci __builtin_neon_vld3v8bf(const __bf16*); +__builtin_neon_oi __builtin_neon_vld4_dupv4bf(const __bf16*); +__builtin_neon_xi __builtin_neon_vld4_dupv8bf(const __bf16*); +__builtin_neon_oi __builtin_neon_vld4v4bf(const __bf16*); +__builtin_neon_xi __builtin_neon_vld4v8bf(const __bf16*); +__simd128_float32_t __builtin_neon_vmmlav8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); +__simd128_int64_t __builtin_neon_vmullpv2si(__simd64_int32_t, __simd64_int32_t); +__simd128_int32_t __builtin_neon_vmullpv4hi(__simd64_int16_t, __simd64_int16_t); +__simd128_int8_t __builtin_neon_vrev16v16qi(__simd128_int8_t); +__simd64_int8_t __builtin_neon_vrev16v8qi(__simd64_int8_t); +__simd128_int8_t __builtin_neon_vrev32v16qi(__simd128_int8_t); +__simd64_int16_t __builtin_neon_vrev32v4hi(__simd64_int16_t); +__simd128_int16_t __builtin_neon_vrev32v8hi(__simd128_int16_t); +__simd64_int8_t __builtin_neon_vrev32v8qi(__simd64_int8_t); +__simd128_int8_t __builtin_neon_vrev64v16qi(__simd128_int8_t); +__simd64_float32_t __builtin_neon_vrev64v2sf(__simd64_float32_t); +__simd64_int32_t __builtin_neon_vrev64v2si(__simd64_int32_t); +__simd64_int16_t __builtin_neon_vrev64v4hi(__simd64_int16_t); +__simd128_float32_t __builtin_neon_vrev64v4sf(__simd128_float32_t); +__simd128_int32_t __builtin_neon_vrev64v4si(__simd128_int32_t); +__simd128_int16_t __builtin_neon_vrev64v8hi(__simd128_int16_t); +__simd64_int8_t __builtin_neon_vrev64v8qi(__simd64_int8_t); +void __builtin_neon_vst2v4bf(__bf16*, __builtin_neon_ti); +void __builtin_neon_vst2v8bf(__bf16*, __builtin_neon_oi); +void __builtin_neon_vst3v4bf(__bf16*, __builtin_neon_ei); +void __builtin_neon_vst3v8bf(__bf16*, __builtin_neon_ci); +void __builtin_neon_vst4v4bf(__bf16*, __builtin_neon_oi); +void __builtin_neon_vst4v8bf(__bf16*, __builtin_neon_xi); + +#endif // __ARM_NEON__ + +/* aarch64 support */ +#ifdef __aarch64__ +typedef int __builtin_aarch64_simd_qi __attribute__((mode(QI))); +typedef int __builtin_aarch64_simd_hi __attribute__((mode(HI))); +typedef int __builtin_aarch64_simd_si __attribute__((mode(SI))); +typedef int __builtin_aarch64_simd_di __attribute__((mode(DI))); +typedef float __builtin_aarch64_simd_bf __attribute__((mode(BF))); +typedef int __builtin_aarch64_simd_poly8 __attribute__((mode(QI))); +typedef int __builtin_aarch64_simd_poly16 __attribute__((mode(HI))); +typedef int __builtin_aarch64_simd_poly64 __attribute__ ((mode (DI))); +typedef unsigned int __builtin_aarch64_simd_poly128 __attribute__ ((mode (TI))); +typedef float __builtin_aarch64_simd_df __attribute__ ((mode (DF))); +typedef float __builtin_aarch64_simd_sf __attribute__ ((mode (SF))); +typedef unsigned int __builtin_aarch64_simd_udi __attribute__((mode(DI))); +typedef unsigned int __builtin_aarch64_simd_uqi __attribute__((mode(QI))); +typedef unsigned int __builtin_aarch64_simd_uhi __attribute__((mode(HI))); +typedef unsigned int __builtin_aarch64_simd_usi __attribute__((mode(SI))); +typedef float __builtin_aarch64_simd_hf __attribute__((mode(HF))); +typedef __builtin_aarch64_simd_hf __fp16; +typedef int __Poly64_t __attribute__((mode(DI))); +typedef __coverity_decimal long long __Poly64x1_t __attribute__((vector_size (8))); +typedef int __Poly128_t __attribute__((mode(TI))); + +unsigned int __builtin_aarch64_get_fpcr(); +void __builtin_aarch64_set_fpcr(unsigned int); +unsigned int __builtin_aarch64_get_fpsr(); +void __builtin_aarch64_set_fpsr(unsigned int); +//CMPCPP-6477 +typedef char __Int8x8_t __attribute__ ((vector_size (8))); +typedef short __Int16x4_t __attribute__ ((vector_size (8))); +typedef int __Int32x2_t __attribute__ ((vector_size (8))); +typedef long __Int64x1_t __attribute__((vector_size (8))); +typedef __coverity_float __fp16 __Float16x4_t __attribute__((vector_size (8))); +typedef float __Float32x2_t __attribute__((vector_size (8))); +typedef __coverity_decimal unsigned char __Poly8x8_t __attribute__((vector_size (8))); +typedef __coverity_decimal short __Poly16x4_t __attribute__((vector_size (8))); +typedef unsigned char __Uint8x8_t __attribute__((vector_size (8))); +typedef unsigned short __Uint16x4_t __attribute__((vector_size (8))); +typedef unsigned int __Uint32x2_t __attribute__((vector_size (8))); +typedef double __Float64x1_t __attribute__((vector_size (8))); +typedef unsigned long __Uint64x1_t __attribute__((vector_size (8))); +typedef char __Int8x16_t __attribute__((vector_size (16))); +typedef short __Int16x8_t __attribute__((vector_size (16))); +typedef int __Int32x4_t __attribute__((vector_size (16))); +typedef long __Int64x2_t __attribute__((vector_size (16))); +typedef __coverity_float __fp16 __Float16x8_t __attribute__((vector_size (16))); +typedef __coverity_float __bf16 __Bfloat16x8_t __attribute__((vector_size (16))); +typedef __coverity_float __bf16 __Bfloat16x4_t __attribute__((vector_size (8))); +typedef float __Float32x4_t __attribute__((vector_size (16))); +typedef double __Float64x2_t __attribute__((vector_size (16))); +typedef __coverity_decimal unsigned char __Poly8x16_t __attribute__((vector_size (16))); +typedef __coverity_decimal unsigned short __Poly16x8_t __attribute__((vector_size (16))); +typedef __coverity_decimal long __Poly64x2_t __attribute__((vector_size (16))); +typedef unsigned char __Uint8x16_t __attribute__((vector_size (16))); +typedef unsigned short __Uint16x8_t __attribute__((vector_size (16))); +typedef unsigned int __Uint32x4_t __attribute__((vector_size (16))); +typedef unsigned long __Uint64x2_t __attribute__((vector_size (16))); +typedef unsigned char __Poly8_t; +typedef unsigned short __Poly16_t; + +typedef int __builtin_aarch64_simd_oi __attribute__((mode(OI))); +typedef int __builtin_aarch64_simd_ci __attribute__((mode(CI))); +typedef int __builtin_aarch64_simd_xi __attribute__((mode(XI))); + +__Int8x8_t __builtin_aarch64_tbl3v8qi(__builtin_aarch64_simd_oi, __Int8x8_t); +__Float32x2_t __builtin_aarch64_absv2sf(__Float32x2_t); +__Int8x8_t __builtin_aarch64_absv8qi(__Int8x8_t); +__Int16x4_t __builtin_aarch64_absv4hi(__Int16x4_t); +__Int32x2_t __builtin_aarch64_absv2si(__Int32x2_t); +int __builtin_aarch64_absdi(int); +__Float32x4_t __builtin_aarch64_absv4sf(__Float32x4_t); +__Float64x2_t __builtin_aarch64_absv2df(__Float64x2_t); +__Int8x16_t __builtin_aarch64_absv16qi(__Int8x16_t); +int __builtin_aarch64_im_lane_boundsi(int, int, int); +__Int64x1_t __builtin_aarch64_get_dregoidi(__builtin_aarch64_simd_oi, int); +float __builtin_aarch64_get_dregoidf(__builtin_aarch64_simd_oi, int); +__Int8x8_t __builtin_aarch64_get_dregoiv8qi(__builtin_aarch64_simd_oi, int); +__Int16x4_t __builtin_aarch64_get_dregoiv4hi(__builtin_aarch64_simd_oi, int); +__Int32x2_t __builtin_aarch64_get_dregoiv2si(__builtin_aarch64_simd_oi, int); +__Float16x4_t __builtin_aarch64_get_dregoiv4hf(__builtin_aarch64_simd_oi, int); +__Float32x2_t __builtin_aarch64_get_dregoiv2sf(__builtin_aarch64_simd_oi, int); +__Int8x16_t __builtin_aarch64_get_qregoiv16qi(__builtin_aarch64_simd_oi, const int); +__Int16x8_t __builtin_aarch64_get_qregoiv8hi(__builtin_aarch64_simd_oi, const int); +__Int32x4_t __builtin_aarch64_get_qregoiv4si(__builtin_aarch64_simd_oi, const int); +__Int64x2_t __builtin_aarch64_get_qregoiv2di(__builtin_aarch64_simd_oi, const int); +__Float16x8_t __builtin_aarch64_get_qregoiv8hf(__builtin_aarch64_simd_oi, const int); +__Float32x4_t __builtin_aarch64_get_qregoiv4sf(__builtin_aarch64_simd_oi, const int); +__Float64x2_t __builtin_aarch64_get_qregoiv2df(__builtin_aarch64_simd_oi, const int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv8hf(__builtin_aarch64_simd_oi, __Float16x8_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv4sf(__builtin_aarch64_simd_oi, __Float32x4_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv2df(__builtin_aarch64_simd_oi, __Float64x2_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv16qi(__builtin_aarch64_simd_oi, __Int8x16_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv8hi(__builtin_aarch64_simd_oi, __Int16x8_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv4si(__builtin_aarch64_simd_oi, __Int32x4_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv2di(__builtin_aarch64_simd_oi, __Int64x2_t, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3di(const __builtin_aarch64_simd_di*); +__Int64x1_t __builtin_aarch64_get_dregcidi(__builtin_aarch64_simd_ci, int); +float __builtin_aarch64_get_dregcidf(__builtin_aarch64_simd_ci, int); +__Int8x8_t __builtin_aarch64_get_dregciv8qi(__builtin_aarch64_simd_ci, int); +__Int16x4_t __builtin_aarch64_get_dregciv4hi(__builtin_aarch64_simd_ci, int); +__Int32x2_t __builtin_aarch64_get_dregciv2si(__builtin_aarch64_simd_ci, int); +__Float16x4_t __builtin_aarch64_get_dregciv4hf(__builtin_aarch64_simd_ci, int); +__Float32x2_t __builtin_aarch64_get_dregciv2sf(__builtin_aarch64_simd_ci, int); +__Int8x16_t __builtin_aarch64_get_qregciv16qi(__builtin_aarch64_simd_ci, const int); +__Int16x8_t __builtin_aarch64_get_qregciv8hi(__builtin_aarch64_simd_ci, const int); +__Int32x4_t __builtin_aarch64_get_qregciv4si(__builtin_aarch64_simd_ci, const int); +__Int64x2_t __builtin_aarch64_get_qregciv2di(__builtin_aarch64_simd_ci, const int); +__Float16x8_t __builtin_aarch64_get_qregciv8hf(__builtin_aarch64_simd_ci, const int); +__Float32x4_t __builtin_aarch64_get_qregciv4sf(__builtin_aarch64_simd_ci, const int); +__Float64x2_t __builtin_aarch64_get_qregciv2df(__builtin_aarch64_simd_ci, const int); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv8hf(__builtin_aarch64_simd_ci, __Float16x8_t, int); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv4sf(__builtin_aarch64_simd_ci, __Float32x4_t, int); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv2df(__builtin_aarch64_simd_ci, __Float64x2_t, int); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv16qi(__builtin_aarch64_simd_ci, __Int8x16_t, int); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv8hi(__builtin_aarch64_simd_ci, __Int16x8_t, int); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv4si(__builtin_aarch64_simd_ci, __Int32x4_t, int); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv2di(__builtin_aarch64_simd_ci, __Int64x2_t, int); +__Int64x1_t __builtin_aarch64_get_dregxidi(__builtin_aarch64_simd_xi, int); +float __builtin_aarch64_get_dregxidf(__builtin_aarch64_simd_xi, int); +__Int8x8_t __builtin_aarch64_get_dregxiv8qi(__builtin_aarch64_simd_xi, int); +__Int16x4_t __builtin_aarch64_get_dregxiv4hi(__builtin_aarch64_simd_xi, int); +__Int32x2_t __builtin_aarch64_get_dregxiv2si(__builtin_aarch64_simd_xi, int); +__Float16x4_t __builtin_aarch64_get_dregxiv4hf(__builtin_aarch64_simd_xi, int); +__Float32x2_t __builtin_aarch64_get_dregxiv2sf(__builtin_aarch64_simd_xi, int); +__Int8x16_t __builtin_aarch64_get_qregxiv16qi(__builtin_aarch64_simd_xi, const int); +__Int16x8_t __builtin_aarch64_get_qregxiv8hi(__builtin_aarch64_simd_xi, const int); +__Int32x4_t __builtin_aarch64_get_qregxiv4si(__builtin_aarch64_simd_xi, const int); +__Int64x2_t __builtin_aarch64_get_qregxiv2di(__builtin_aarch64_simd_xi, const int); +__Float16x8_t __builtin_aarch64_get_qregxiv8hf(__builtin_aarch64_simd_xi, const int); +__Float32x4_t __builtin_aarch64_get_qregxiv4sf(__builtin_aarch64_simd_xi, const int); +__Float64x2_t __builtin_aarch64_get_qregxiv2df(__builtin_aarch64_simd_xi, const int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv8hf(__builtin_aarch64_simd_xi, __Float16x8_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv4sf(__builtin_aarch64_simd_xi, __Float32x4_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv2df(__builtin_aarch64_simd_xi, __Float64x2_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv16qi(__builtin_aarch64_simd_xi, __Int8x16_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv8hi(__builtin_aarch64_simd_xi, __Int16x8_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv4si(__builtin_aarch64_simd_xi, __Int32x4_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv2di(__builtin_aarch64_simd_xi, __Int64x2_t, int); +__Int32x4_t __builtin_aarch64_saddlv4hi(__Int16x4_t, __Int16x4_t); +__Int16x8_t __builtin_aarch64_saddlv8qi(__Int8x8_t, __Int8x8_t); +__Uint16x8_t __builtin_aarch64_uaddlv8qi(__Int8x8_t, __Int8x8_t); +__Int16x8_t __builtin_aarch64_saddl2v16qi(__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_uaddl2v16qi(__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_saddwv8qi(__Int16x8_t, __Int8x8_t); +__Uint16x8_t __builtin_aarch64_uaddwv8qi(__Int16x8_t, __Int8x8_t); +__Int16x8_t __builtin_aarch64_saddw2v16qi(__Int16x8_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_uaddw2v16qi(__Int16x8_t, __Int8x16_t); +__Int8x8_t __builtin_aarch64_shaddv8qi(__Int8x8_t, __Int8x8_t); +__Uint8x8_t __builtin_aarch64_uhaddv8qi(__Int8x8_t, __Int8x8_t); +__Int8x16_t __builtin_aarch64_shaddv16qi(__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_shaddv8hi(__Int16x8_t, __Int16x8_t); +__Uint8x16_t __builtin_aarch64_uhaddv16qi(__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_uhaddv8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_srhaddv8qi(__Int8x8_t, __Int8x8_t); +__Uint8x8_t __builtin_aarch64_urhaddv8qi(__Int8x8_t, __Int8x8_t); +__Int8x16_t __builtin_aarch64_srhaddv16qi(__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_srhaddv8hi(__Int16x8_t, __Int16x8_t); +__Uint8x16_t __builtin_aarch64_urhaddv16qi(__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_urhaddv8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_addhnv8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_raddhnv8hi(__Int16x8_t, __Int16x8_t); +__Int8x16_t __builtin_aarch64_addhn2v8hi(__Int8x8_t, __Int16x8_t, __Int16x8_t); +__Int16x8_t __builtin_aarch64_addhn2v4si(__Int16x4_t, __Int32x4_t, __Int32x4_t); +__Int8x16_t __builtin_aarch64_raddhn2v8hi(__Int8x8_t, __Int16x8_t, __Int16x8_t); +__Int16x8_t __builtin_aarch64_raddhn2v4si(__Int16x4_t, __Int32x4_t, __Int32x4_t); +__Poly8x8_t __builtin_aarch64_pmulv8qi(__Int8x8_t, __Int8x8_t); +__Poly8x16_t __builtin_aarch64_pmulv16qi(__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_ssublv8qi(__Int8x8_t, __Int8x8_t); +__Uint16x8_t __builtin_aarch64_usublv8qi(__Int8x8_t, __Int8x8_t); +__Float32x2_t __builtin_aarch64_smax_nanpv2sf(__Float32x2_t, __Float32x2_t); +__Int64x2_t __builtin_aarch64_saddlv2si(__Int32x2_t, __Int32x2_t); +__Uint32x4_t __builtin_aarch64_uaddlv4hi (__Int16x4_t, __Int16x4_t); +__Uint64x2_t __builtin_aarch64_uaddlv2si (__Int32x2_t, __Int32x2_t); +__Int32x4_t __builtin_aarch64_saddl2v8hi (__Int16x8_t, __Int16x8_t); +__Int64x2_t __builtin_aarch64_saddl2v4si (__Int32x4_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_uaddl2v8hi (__Int16x8_t, __Int16x8_t); +__Uint64x2_t __builtin_aarch64_uaddl2v4si (__Int32x4_t, __Int32x4_t); +__Int32x4_t __builtin_aarch64_saddwv4hi (__Int32x4_t, __Int16x4_t); +__Int64x2_t __builtin_aarch64_saddwv2si (__Int64x2_t, __Int32x2_t); +__Uint32x4_t __builtin_aarch64_uaddwv4hi (__Int32x4_t, __Int16x4_t); +__Uint64x2_t __builtin_aarch64_uaddwv2si (__Int64x2_t, __Int32x2_t); +__Int32x4_t __builtin_aarch64_saddw2v8hi (__Int32x4_t, __Int16x8_t); +__Int64x2_t __builtin_aarch64_saddw2v4si (__Int64x2_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_uaddw2v8hi (__Int32x4_t, __Int16x8_t); +__Uint64x2_t __builtin_aarch64_uaddw2v4si (__Int64x2_t, __Int32x4_t); +__Int16x4_t __builtin_aarch64_shaddv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_shaddv2si (__Int32x2_t, __Int32x2_t); +__Uint16x4_t __builtin_aarch64_uhaddv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_uhaddv2si (__Int32x2_t, __Int32x2_t); +__Int32x4_t __builtin_aarch64_shaddv4si (__Int32x4_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_uhaddv4si (__Int32x4_t, __Int32x4_t); +__Int16x4_t __builtin_aarch64_srhaddv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_srhaddv2si (__Int32x2_t, __Int32x2_t); +__Uint16x4_t __builtin_aarch64_urhaddv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_urhaddv2si (__Int32x2_t, __Int32x2_t); +__Int32x4_t __builtin_aarch64_srhaddv4si (__Int32x4_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_urhaddv4si (__Int32x4_t, __Int32x4_t); +__Int16x4_t __builtin_aarch64_addhnv4si (__Int32x4_t, __Int32x4_t); +__Int32x2_t __builtin_aarch64_addhnv2di (__Int64x2_t, __Int64x2_t); +__Uint32x2_t __builtin_aarch64_addhnv2di (__Int64x2_t, __Int64x2_t); +__Int16x4_t __builtin_aarch64_raddhnv4si (__Int32x4_t, __Int32x4_t); +__Int32x2_t __builtin_aarch64_raddhnv2di (__Int64x2_t, __Int64x2_t); +__Uint16x4_t __builtin_aarch64_raddhnv4si (__Int32x4_t, __Int32x4_t); +__Uint32x2_t __builtin_aarch64_raddhnv2di (__Int64x2_t, __Int64x2_t); +__Int32x4_t __builtin_aarch64_addhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Uint32x4_t __builtin_aarch64_addhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Int32x4_t __builtin_aarch64_raddhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Uint32x4_t __builtin_aarch64_raddhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Int32x4_t __builtin_aarch64_ssublv4hi (__Int16x4_t, __Int16x4_t); +__Int64x2_t __builtin_aarch64_ssublv2si (__Int32x2_t, __Int32x2_t); +__Uint32x4_t __builtin_aarch64_usublv4hi (__Int16x4_t, __Int16x4_t); +__Uint64x2_t __builtin_aarch64_usublv2si (__Int32x2_t, __Int32x2_t); +__Int16x8_t __builtin_aarch64_ssubl2v16qi (__Int8x16_t, __Int8x16_t); +__Int32x4_t __builtin_aarch64_ssubl2v8hi (__Int16x8_t, __Int16x8_t); +__Int64x2_t __builtin_aarch64_ssubl2v4si (__Int32x4_t, __Int32x4_t); +__Uint16x8_t __builtin_aarch64_usubl2v16qi (__Int8x16_t, __Int8x16_t); +__Uint32x4_t __builtin_aarch64_usubl2v8hi (__Int16x8_t, __Int16x8_t); +__Uint64x2_t __builtin_aarch64_usubl2v4si (__Int32x4_t, __Int32x4_t); +__Int16x8_t __builtin_aarch64_ssubwv8qi (__Int16x8_t, __Int8x8_t); +__Int32x4_t __builtin_aarch64_ssubwv4hi (__Int32x4_t, __Int16x4_t); +__Int64x2_t __builtin_aarch64_ssubwv2si (__Int64x2_t, __Int32x2_t); +__Uint16x8_t __builtin_aarch64_usubwv8qi (__Int16x8_t, __Int8x8_t); +__Uint32x4_t __builtin_aarch64_usubwv4hi (__Int32x4_t, __Int16x4_t); +__Uint64x2_t __builtin_aarch64_usubwv2si (__Int64x2_t, __Int32x2_t); +__Int16x8_t __builtin_aarch64_ssubw2v16qi (__Int16x8_t, __Int8x16_t); +__Int32x4_t __builtin_aarch64_ssubw2v8hi (__Int32x4_t, __Int16x8_t); +__Int64x2_t __builtin_aarch64_ssubw2v4si (__Int64x2_t, __Int32x4_t); +__Uint16x8_t __builtin_aarch64_usubw2v16qi (__Int16x8_t, __Int8x16_t); +__Uint32x4_t __builtin_aarch64_usubw2v8hi (__Int32x4_t, __Int16x8_t); +__Uint64x2_t __builtin_aarch64_usubw2v4si (__Int64x2_t, __Int32x4_t); +__Int8x8_t __builtin_aarch64_sqaddv8qi (__Int8x8_t, __Int8x8_t); +__Int16x4_t __builtin_aarch64_sqaddv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_sqaddv2si (__Int32x2_t, __Int32x2_t); +__Int8x8_t __builtin_aarch64_shsubv8qi (__Int8x8_t, __Int8x8_t); +__Int16x4_t __builtin_aarch64_shsubv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_shsubv2si (__Int32x2_t, __Int32x2_t); +__Uint8x8_t __builtin_aarch64_uhsubv8qi (__Int8x8_t, __Int8x8_t); +__Uint16x4_t __builtin_aarch64_uhsubv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_uhsubv2si (__Int32x2_t, __Int32x2_t); +__Int8x16_t __builtin_aarch64_shsubv16qi (__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_shsubv8hi (__Int16x8_t, __Int16x8_t); +__Int32x4_t __builtin_aarch64_shsubv4si (__Int32x4_t, __Int32x4_t); +__Uint8x16_t __builtin_aarch64_uhsubv16qi (__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_uhsubv8hi (__Int16x8_t, __Int16x8_t); +__Uint32x4_t __builtin_aarch64_uhsubv4si (__Int32x4_t, __Int32x4_t); +__Int8x8_t __builtin_aarch64_subhnv8hi (__Int16x8_t, __Int16x8_t); +__Int16x4_t __builtin_aarch64_subhnv4si (__Int32x4_t, __Int32x4_t); +__Int32x2_t __builtin_aarch64_subhnv2di (__Int64x2_t, __Int64x2_t); +__Uint8x8_t __builtin_aarch64_subhnv8hi (__Int16x8_t, __Int16x8_t); +__Uint16x4_t __builtin_aarch64_subhnv4si (__Int32x4_t, __Int32x4_t); +__Uint32x2_t __builtin_aarch64_subhnv2di (__Int64x2_t, __Int64x2_t); +__Int8x8_t __builtin_aarch64_rsubhnv8hi (__Int16x8_t, __Int16x8_t); +__Int16x4_t __builtin_aarch64_rsubhnv4si (__Int32x4_t, __Int32x4_t); +__Int32x2_t __builtin_aarch64_rsubhnv2di (__Int64x2_t, __Int64x2_t); +__Uint8x8_t __builtin_aarch64_rsubhnv8hi (__Int16x8_t, __Int16x8_t); +__Uint16x4_t __builtin_aarch64_rsubhnv4si (__Int32x4_t, __Int32x4_t); +__Uint32x2_t __builtin_aarch64_rsubhnv2di (__Int64x2_t, __Int64x2_t); +__Int8x16_t __builtin_aarch64_rsubhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); +__Int16x8_t __builtin_aarch64_rsubhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); +__Int32x4_t __builtin_aarch64_rsubhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Uint8x16_t __builtin_aarch64_rsubhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); +__Uint16x8_t __builtin_aarch64_rsubhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_rsubhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Int8x16_t __builtin_aarch64_subhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); +__Int16x8_t __builtin_aarch64_subhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); +__Int32x4_t __builtin_aarch64_subhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Uint8x16_t __builtin_aarch64_subhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); +__Uint16x8_t __builtin_aarch64_subhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_subhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); +__Int8x16_t __builtin_aarch64_sqaddv16qi (__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_sqaddv8hi (__Int16x8_t, __Int16x8_t); +__Int32x4_t __builtin_aarch64_sqaddv4si (__Int32x4_t, __Int32x4_t); +__Int64x2_t __builtin_aarch64_sqaddv2di (__Int64x2_t, __Int64x2_t); +__Int8x8_t __builtin_aarch64_sqsubv8qi (__Int8x8_t, __Int8x8_t); +__Int16x4_t __builtin_aarch64_sqsubv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_sqsubv2si (__Int32x2_t, __Int32x2_t); +__Int8x16_t __builtin_aarch64_sqsubv16qi (__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_sqsubv8hi (__Int16x8_t, __Int16x8_t); +__Int32x4_t __builtin_aarch64_sqsubv4si (__Int32x4_t, __Int32x4_t); +__Int64x2_t __builtin_aarch64_sqsubv2di (__Int64x2_t, __Int64x2_t); +__Int8x8_t __builtin_aarch64_sqnegv8qi (__Int8x8_t); +__Int16x4_t __builtin_aarch64_sqnegv4hi (__Int16x4_t); +__Int32x2_t __builtin_aarch64_sqnegv2si (__Int32x2_t); +__Int8x16_t __builtin_aarch64_sqnegv16qi (__Int8x16_t); +__Int16x8_t __builtin_aarch64_sqnegv8hi (__Int16x8_t); +__Int32x4_t __builtin_aarch64_sqnegv4si (__Int32x4_t); +__Int8x8_t __builtin_aarch64_sqabsv8qi (__Int8x8_t); +__Int16x4_t __builtin_aarch64_sqabsv4hi (__Int16x4_t); +__Int32x2_t __builtin_aarch64_sqabsv2si (__Int32x2_t); +__Int8x16_t __builtin_aarch64_sqabsv16qi (__Int8x16_t); +__Int16x8_t __builtin_aarch64_sqabsv8hi (__Int16x8_t); +__Int32x4_t __builtin_aarch64_sqabsv4si (__Int32x4_t); +__Int16x4_t __builtin_aarch64_sqdmulhv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_sqdmulhv2si (__Int32x2_t, __Int32x2_t); +__Int16x8_t __builtin_aarch64_sqdmulhv8hi (__Int16x8_t, __Int16x8_t); +__Int32x4_t __builtin_aarch64_sqdmulhv4si (__Int32x4_t, __Int32x4_t); +__Int16x4_t __builtin_aarch64_sqrdmulhv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_sqrdmulhv2si (__Int32x2_t, __Int32x2_t); +__Int16x8_t __builtin_aarch64_sqrdmulhv8hi (__Int16x8_t, __Int16x8_t); +__Int32x4_t __builtin_aarch64_sqrdmulhv4si (__Int32x4_t, __Int32x4_t); +__Int8x16_t __builtin_aarch64_combinev8qi (__Int8x8_t, __Int8x8_t); +__Int16x8_t __builtin_aarch64_combinev4hi (__Int16x4_t, __Int16x4_t); +__Int32x4_t __builtin_aarch64_combinev2si (__Int32x2_t, __Int32x2_t); +__Float32x4_t __builtin_aarch64_combinev2sf (__Float32x2_t, __Float32x2_t); +__Uint8x16_t __builtin_aarch64_combinev8qi (__Int8x8_t, __Int8x8_t); +__Uint16x8_t __builtin_aarch64_combinev4hi (__Int16x4_t, __Int16x4_t); +__Uint32x4_t __builtin_aarch64_combinev2si (__Int32x2_t, __Int32x2_t); +__Poly8x16_t __builtin_aarch64_combinev8qi (__Int8x8_t, __Int8x8_t); +__Poly16x8_t __builtin_aarch64_combinev4hi (__Int16x4_t, __Int16x4_t); +__Uint8x8_t __builtin_aarch64_clzv8qi (__Int8x8_t); +__Uint16x4_t __builtin_aarch64_clzv4hi (__Int16x4_t); +__Uint32x2_t __builtin_aarch64_clzv2si (__Int32x2_t); +__Uint8x16_t __builtin_aarch64_clzv16qi (__Int8x16_t); +__Uint16x8_t __builtin_aarch64_clzv8hi (__Int16x8_t); +__Uint32x4_t __builtin_aarch64_clzv4si (__Int32x4_t); +__Poly8x8_t __builtin_aarch64_popcountv8qi (__Int8x8_t); +__Uint8x8_t __builtin_aarch64_popcountv8qi (__Int8x8_t); +__Poly8x16_t __builtin_aarch64_popcountv16qi (__Int8x16_t); +__Uint8x16_t __builtin_aarch64_popcountv16qi (__Int8x16_t); +__Uint8x8_t __builtin_aarch64_umaxv8qi (__Int8x8_t, __Int8x8_t); +__Uint16x4_t __builtin_aarch64_umaxv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_umaxv2si (__Int32x2_t, __Int32x2_t); +__Uint8x16_t __builtin_aarch64_umaxv16qi (__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_umaxv8hi (__Int16x8_t, __Int16x8_t); +__Uint32x4_t __builtin_aarch64_umaxv4si (__Int32x4_t, __Int32x4_t); +__Uint8x8_t __builtin_aarch64_umaxpv8qi (__Int8x8_t, __Int8x8_t); +__Uint16x4_t __builtin_aarch64_umaxpv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_umaxpv2si (__Int32x2_t, __Int32x2_t); +__Uint8x16_t __builtin_aarch64_umaxpv16qi (__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_umaxpv8hi (__Int16x8_t, __Int16x8_t); +__Uint32x4_t __builtin_aarch64_umaxpv4si (__Int32x4_t, __Int32x4_t); +__Uint8x8_t __builtin_aarch64_uminpv8qi (__Int8x8_t, __Int8x8_t); +__Uint16x4_t __builtin_aarch64_uminpv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_uminpv2si (__Int32x2_t, __Int32x2_t); +__Uint8x16_t __builtin_aarch64_uminpv16qi (__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_uminpv8hi (__Int16x8_t, __Int16x8_t); +__Uint32x4_t __builtin_aarch64_uminpv4si (__Int32x4_t, __Int32x4_t); +__Uint8x8_t __builtin_aarch64_uminv8qi (__Int8x8_t, __Int8x8_t); +__Uint16x4_t __builtin_aarch64_uminv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_uminv2si (__Int32x2_t, __Int32x2_t); +__Uint8x16_t __builtin_aarch64_uminv16qi (__Int8x16_t, __Int8x16_t); +__Uint16x8_t __builtin_aarch64_uminv8hi (__Int16x8_t, __Int16x8_t); +__Uint32x4_t __builtin_aarch64_uminv4si (__Int32x4_t, __Int32x4_t); +__Uint8x8_t __builtin_aarch64_addpv8qi (__Int8x8_t, __Int8x8_t); +__Uint16x4_t __builtin_aarch64_addpv4hi (__Int16x4_t, __Int16x4_t); +__Uint32x2_t __builtin_aarch64_addpv2si (__Int32x2_t, __Int32x2_t); +__Int64x2_t __builtin_aarch64_sqabsv2di (__Int64x2_t); +__Int8x8_t __builtin_aarch64_sqmovnv8hi (__Int16x8_t); +__Int16x4_t __builtin_aarch64_sqmovnv4si (__Int32x4_t); +__Int32x2_t __builtin_aarch64_sqmovnv2di (__Int64x2_t); +__Uint8x8_t __builtin_aarch64_uqmovnv8hi (__Int16x8_t); +__Uint16x4_t __builtin_aarch64_uqmovnv4si (__Int32x4_t); +__Uint32x2_t __builtin_aarch64_uqmovnv2di (__Int64x2_t); +__Uint8x8_t __builtin_aarch64_sqmovunv8hi (__Int16x8_t); +__Uint16x4_t __builtin_aarch64_sqmovunv4si (__Int32x4_t); +__Uint32x2_t __builtin_aarch64_sqmovunv2di (__Int64x2_t); +__Int64x2_t __builtin_aarch64_sqnegv2di (__Int64x2_t); +__Int8x8_t __builtin_aarch64_sqrshrn_nv8hi (__Int16x8_t, const int); +__Int16x4_t __builtin_aarch64_sqrshrn_nv4si (__Int32x4_t, const int); +__Int32x2_t __builtin_aarch64_sqrshrn_nv2di (__Int64x2_t, const int); +__Uint8x8_t __builtin_aarch64_sqrshrun_nv8hi (__Int16x8_t, const int); +__Uint16x4_t __builtin_aarch64_sqrshrun_nv4si (__Int32x4_t, const int); +__Uint32x2_t __builtin_aarch64_sqrshrun_nv2di (__Int64x2_t, const int); +__Int8x8_t __builtin_aarch64_sqshl_nv8qi (__Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_sqshl_nv4hi (__Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_sqshl_nv2si (__Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_sqshl_nv16qi (__Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_sqshl_nv8hi (__Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_sqshl_nv4si (__Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_sqshl_nv2di (__Int64x2_t, const int); +__Int8x8_t __builtin_aarch64_sqshrn_nv8hi (__Int16x8_t, const int); +__Int16x4_t __builtin_aarch64_sqshrn_nv4si (__Int32x4_t, const int); +__Int32x2_t __builtin_aarch64_sqshrn_nv2di (__Int64x2_t, const int); +__Uint8x8_t __builtin_aarch64_sqshrun_nv8hi (__Int16x8_t, const int); +__Uint16x4_t __builtin_aarch64_sqshrun_nv4si (__Int32x4_t, const int); +__Uint32x2_t __builtin_aarch64_sqshrun_nv2di (__Int64x2_t, const int); +__Poly8x8_t __builtin_aarch64_rbitv8qi (__Int8x8_t); +__Uint8x8_t __builtin_aarch64_rbitv8qi (__Int8x8_t); +__Poly8x16_t __builtin_aarch64_rbitv16qi (__Int8x16_t); +__Uint8x16_t __builtin_aarch64_rbitv16qi (__Int8x16_t); +__Uint32x2_t __builtin_aarch64_urecpev2si (__Int32x2_t); +__Uint32x4_t __builtin_aarch64_urecpev4si (__Int32x4_t); +__Int8x8_t __builtin_aarch64_srshlv8qi (__Int8x8_t, __Int8x8_t); +__Int16x4_t __builtin_aarch64_srshlv4hi (__Int16x4_t, __Int16x4_t); +__Int32x2_t __builtin_aarch64_srshlv2si (__Int32x2_t, __Int32x2_t); +__Int8x16_t __builtin_aarch64_srshlv16qi (__Int8x16_t, __Int8x16_t); +__Int16x8_t __builtin_aarch64_srshlv8hi (__Int16x8_t, __Int16x8_t); +__Int32x4_t __builtin_aarch64_srshlv4si (__Int32x4_t, __Int32x4_t); +__Int64x2_t __builtin_aarch64_srshlv2di (__Int64x2_t, __Int64x2_t); +__Int8x8_t __builtin_aarch64_srshr_nv8qi (__Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_srshr_nv4hi (__Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_srshr_nv2si (__Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_srshr_nv16qi (__Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_srshr_nv8hi (__Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_srshr_nv4si (__Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_srshr_nv2di (__Int64x2_t, const int); +__Int8x8_t __builtin_aarch64_srsra_nv8qi (__Int8x8_t, __Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_srsra_nv4hi (__Int16x4_t, __Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_srsra_nv2si (__Int32x2_t, __Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_srsra_nv16qi (__Int8x16_t, __Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_srsra_nv8hi (__Int16x8_t, __Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_srsra_nv4si (__Int32x4_t, __Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_srsra_nv2di (__Int64x2_t, __Int64x2_t, const int); +__Int8x8_t __builtin_aarch64_ashlv8qi (__Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_ashlv4hi (__Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_ashlv2si (__Int32x2_t, const int); +__Uint8x8_t __builtin_aarch64_ashlv8qi (__Int8x8_t, const int); +__Uint16x4_t __builtin_aarch64_ashlv4hi (__Int16x4_t, const int); +__Uint32x2_t __builtin_aarch64_ashlv2si (__Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_ashlv16qi (__Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_ashlv8hi (__Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_ashlv4si (__Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_ashlv2di (__Int64x2_t, const int); +__Uint8x16_t __builtin_aarch64_ashlv16qi (__Int8x16_t, const int); +__Uint16x8_t __builtin_aarch64_ashlv8hi (__Int16x8_t, const int); +__Uint32x4_t __builtin_aarch64_ashlv4si (__Int32x4_t, const int); +__Uint64x2_t __builtin_aarch64_ashlv2di (__Int64x2_t, const int); +__Uint16x8_t __builtin_aarch64_ushll2_nv16qi (__Int8x16_t, const int); +__Uint32x4_t __builtin_aarch64_ushll2_nv8hi (__Int16x8_t, const int); +__Uint64x2_t __builtin_aarch64_ushll2_nv4si (__Int32x4_t, const int); +__Int8x8_t __builtin_aarch64_ashrv8qi (__Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_ashrv4hi (__Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_ashrv2si (__Int32x2_t, const int); +__Uint8x8_t __builtin_aarch64_lshrv8qi (__Int8x8_t, const int); +__Uint16x4_t __builtin_aarch64_lshrv4hi (__Int16x4_t, const int); +__Uint32x2_t __builtin_aarch64_lshrv2si (__Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_ashrv16qi (__Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_ashrv8hi (__Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_ashrv4si (__Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_ashrv2di (__Int64x2_t, const int); +__Uint8x16_t __builtin_aarch64_lshrv16qi (__Int8x16_t, const int); +__Uint16x8_t __builtin_aarch64_lshrv8hi (__Int16x8_t, const int); +__Int8x8_t __builtin_aarch64_ssli_nv8qi (__Int8x8_t, __Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_ssli_nv4hi (__Int16x4_t, __Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_ssli_nv2si (__Int32x2_t, __Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_ssli_nv16qi (__Int8x16_t, __Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_ssli_nv8hi (__Int16x8_t, __Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_ssli_nv4si (__Int32x4_t, __Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_ssli_nv2di (__Int64x2_t, __Int64x2_t, const int); +__Int8x8_t __builtin_aarch64_ssra_nv8qi (__Int8x8_t, __Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_ssra_nv4hi (__Int16x4_t, __Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_ssra_nv2si (__Int32x2_t, __Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_ssra_nv16qi (__Int8x16_t, __Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_ssra_nv8hi (__Int16x8_t, __Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_ssra_nv4si (__Int32x4_t, __Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_ssra_nv2di (__Int64x2_t, __Int64x2_t, const int); +__Int8x8_t __builtin_aarch64_ssri_nv8qi (__Int8x8_t, __Int8x8_t, const int); +__Int16x4_t __builtin_aarch64_ssri_nv4hi (__Int16x4_t, __Int16x4_t, const int); +__Int32x2_t __builtin_aarch64_ssri_nv2si (__Int32x2_t, __Int32x2_t, const int); +__Int8x16_t __builtin_aarch64_ssri_nv16qi (__Int8x16_t, __Int8x16_t, const int); +__Int16x8_t __builtin_aarch64_ssri_nv8hi (__Int16x8_t, __Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_ssri_nv4si (__Int32x4_t, __Int32x4_t, const int); +__Int64x2_t __builtin_aarch64_ssri_nv2di (__Int64x2_t, __Int64x2_t, const int); +__Uint8x8_t __builtin_aarch64_uqaddv8qi_uuu (__Uint8x8_t, __Uint8x8_t); +__Uint32x2_t __builtin_aarch64_uqaddv2si_uuu (__Uint32x2_t, __Uint32x2_t); +__Uint8x16_t __builtin_aarch64_uqaddv16qi_uuu (__Uint8x16_t, __Uint8x16_t); +__Uint16x8_t __builtin_aarch64_uqaddv8hi_uuu (__Uint16x8_t, __Uint16x8_t); +__Uint32x4_t __builtin_aarch64_uqaddv4si_uuu (__Uint32x4_t, __Uint32x4_t); +__Uint64x2_t __builtin_aarch64_uqaddv2di_uuu (__Uint64x2_t, __Uint64x2_t); +__Uint8x8_t __builtin_aarch64_uqsubv8qi_uuu (__Uint8x8_t, __Uint8x8_t); +__Uint16x4_t __builtin_aarch64_uqsubv4hi_uuu (__Uint16x4_t, __Uint16x4_t); +__Uint32x2_t __builtin_aarch64_uqsubv2si_uuu (__Uint32x2_t, __Uint32x2_t); +__Uint8x16_t __builtin_aarch64_uqsubv16qi_uuu (__Uint8x16_t, __Uint8x16_t); +__Uint16x8_t __builtin_aarch64_uqsubv8hi_uuu (__Uint16x8_t, __Uint16x8_t); +__Uint32x4_t __builtin_aarch64_uqsubv4si_uuu (__Uint32x4_t, __Uint32x4_t); +__Uint64x2_t __builtin_aarch64_uqsubv2di_uuu (__Uint64x2_t, __Uint64x2_t); +__Float16x8_t __builtin_aarch64_combinev4hf (__Float16x4_t, __Float16x4_t); +__Uint16x4_t __builtin_aarch64_uqaddv4hi_uuu(__Uint16x4_t, __Uint16x4_t); +__Int16x4_t __builtin_aarch64_sqdmulh_laneqv4hi(__Int16x4_t, __Int16x8_t, const int); +__Int32x2_t __builtin_aarch64_sqdmulh_laneqv2si(__Int32x2_t, __Int32x4_t, const int); +__Int16x8_t __builtin_aarch64_sqdmulh_laneqv8hi(__Int16x8_t, __Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_sqdmulh_laneqv4si(__Int32x4_t, __Int32x4_t, const int); +__Int16x4_t __builtin_aarch64_sqrdmulh_laneqv4hi(__Int16x4_t, __Int16x8_t, const int); +__Int32x2_t __builtin_aarch64_sqrdmulh_laneqv2si(__Int32x2_t, __Int32x4_t, const int); +__Int16x8_t __builtin_aarch64_sqrdmulh_laneqv8hi(__Int16x8_t, __Int16x8_t, const int); +__Int32x4_t __builtin_aarch64_sqrdmulh_laneqv4si(__Int32x4_t, __Int32x4_t, const int); +__Uint16x4_t __builtin_aarch64_uqaddv4hi_uuu (__Uint16x4_t __a, __Uint16x4_t __b); +__Int64x2_t __builtin_aarch64_combinedi (long int, long int); +__Float64x2_t __builtin_aarch64_combinedf (float , float); +__Int16x4_t __builtin_aarch64_sqdmulh_laneqv4hi (__Int16x4_t __a, __Int16x8_t __b, const int __c); +__Int32x2_t __builtin_aarch64_sqdmulh_laneqv2si (__Int32x2_t __a, __Int32x4_t __b, const int __c); +__Int16x8_t __builtin_aarch64_sqdmulh_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, const int __c); +__Int32x4_t __builtin_aarch64_sqdmulh_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, const int __c); +__Int16x4_t __builtin_aarch64_sqrdmulh_laneqv4hi (__Int16x4_t __a, __Int16x8_t __b, const int __c); +__Int32x2_t __builtin_aarch64_sqrdmulh_laneqv2si (__Int32x2_t __a, __Int32x4_t __b, const int __c); +__Int16x8_t __builtin_aarch64_sqrdmulh_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, const int __c); +__Int32x4_t __builtin_aarch64_sqrdmulh_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, const int __c); +__Int8x8_t __builtin_aarch64_absv8qi (__Int8x8_t __a); +__Int16x4_t __builtin_aarch64_absv4hi (__Int16x4_t __a); +__Int32x2_t __builtin_aarch64_absv2si (__Int32x2_t __a); +__Float32x4_t __builtin_aarch64_absv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_absv2df (__Float64x2_t __a); +__Int8x16_t __builtin_aarch64_absv16qi (__Int8x16_t __a); +__Int16x8_t __builtin_aarch64_absv8hi (__Int16x8_t __a); +__Int32x4_t __builtin_aarch64_absv4si (__Int32x4_t __a); +__Int64x2_t __builtin_aarch64_absv2di (__Int64x2_t __a); +__Float32x2_t __builtin_aarch64_simd_bslv2sf_suss (__Uint32x2_t __a, __Float32x2_t __b, __Float32x2_t __c); +__Poly8x8_t __builtin_aarch64_simd_bslv8qi_pupp (__Uint8x8_t __a, __Poly8x8_t __b, __Poly8x8_t __c); +__Poly16x4_t __builtin_aarch64_simd_bslv4hi_pupp (__Uint16x4_t __a, __Poly16x4_t __b, __Poly16x4_t __c); +__Int8x8_t __builtin_aarch64_simd_bslv8qi_suss (__Uint8x8_t __a, __Int8x8_t __b, __Int8x8_t __c); +__Int16x4_t __builtin_aarch64_simd_bslv4hi_suss (__Uint16x4_t __a, __Int16x4_t __b, __Int16x4_t __c); +__Int32x2_t __builtin_aarch64_simd_bslv2si_suss (__Uint32x2_t __a, __Int32x2_t __b, __Int32x2_t __c); +__Uint8x8_t __builtin_aarch64_simd_bslv8qi_uuuu (__Uint8x8_t __a, __Uint8x8_t __b, __Uint8x8_t __c); +__Uint16x4_t __builtin_aarch64_simd_bslv4hi_uuuu (__Uint16x4_t __a, __Uint16x4_t __b, __Uint16x4_t __c); +__Uint32x2_t __builtin_aarch64_simd_bslv2si_uuuu (__Uint32x2_t __a, __Uint32x2_t __b, __Uint32x2_t __c); +__Float32x4_t __builtin_aarch64_simd_bslv4sf_suss (__Uint32x4_t __a, __Float32x4_t __b, __Float32x4_t __c); +__Float64x2_t __builtin_aarch64_simd_bslv2df_suss (__Uint64x2_t __a, __Float64x2_t __b, __Float64x2_t __c); +__Poly8x16_t __builtin_aarch64_simd_bslv16qi_pupp (__Uint8x16_t __a, __Poly8x16_t __b, __Poly8x16_t __c); +__Poly16x8_t __builtin_aarch64_simd_bslv8hi_pupp (__Uint16x8_t __a, __Poly16x8_t __b, __Poly16x8_t __c); +__Int8x16_t __builtin_aarch64_simd_bslv16qi_suss (__Uint8x16_t __a, __Int8x16_t __b, __Int8x16_t __c); +__Int16x8_t __builtin_aarch64_simd_bslv8hi_suss (__Uint16x8_t __a, __Int16x8_t __b, __Int16x8_t __c); +__Int32x4_t __builtin_aarch64_simd_bslv4si_suss (__Uint32x4_t __a, __Int32x4_t __b, __Int32x4_t __c); +__Int64x2_t __builtin_aarch64_simd_bslv2di_suss (__Uint64x2_t __a, __Int64x2_t __b, __Int64x2_t __c); +__Uint8x16_t __builtin_aarch64_simd_bslv16qi_uuuu (__Uint8x16_t __a, __Uint8x16_t __b, __Uint8x16_t __c); +__Uint16x8_t __builtin_aarch64_simd_bslv8hi_uuuu (__Uint16x8_t __a, __Uint16x8_t __b, __Uint16x8_t __c); +__Uint32x4_t __builtin_aarch64_simd_bslv4si_uuuu (__Uint32x4_t __a, __Uint32x4_t __b, __Uint32x4_t __c); +__Uint64x2_t __builtin_aarch64_simd_bslv2di_uuuu (__Uint64x2_t __a, __Uint64x2_t __b, __Uint64x2_t __c); +__Int16x4_t __builtin_aarch64_sqrdmlahv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c); +__Int32x2_t __builtin_aarch64_sqrdmlahv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c); +__Int16x8_t __builtin_aarch64_sqrdmlahv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c); +__Int32x4_t __builtin_aarch64_sqrdmlahv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c); +__Int16x4_t __builtin_aarch64_sqrdmlshv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c); +__Int32x2_t __builtin_aarch64_sqrdmlshv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c); +__Int16x8_t __builtin_aarch64_sqrdmlshv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c); +__Int32x4_t __builtin_aarch64_sqrdmlshv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c); +__Int16x4_t __builtin_aarch64_sqrdmlah_laneqv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x8_t __c, const int __d); +__Int32x2_t __builtin_aarch64_sqrdmlah_laneqv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x4_t __c, const int __d); +__Int16x8_t __builtin_aarch64_sqrdmlah_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c, const int __d); +__Int32x4_t __builtin_aarch64_sqrdmlah_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c, const int __d); +__Int16x4_t __builtin_aarch64_sqrdmlsh_laneqv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x8_t __c, const int __d); +__Int32x2_t __builtin_aarch64_sqrdmlsh_laneqv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x4_t __c, const int __d); +__Int16x8_t __builtin_aarch64_sqrdmlsh_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c, const int __d); +__Int32x4_t __builtin_aarch64_sqrdmlsh_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c, const int __d); +__Int16x4_t __builtin_aarch64_sqrdmlah_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c, const int __d); +__Int32x2_t __builtin_aarch64_sqrdmlah_lanev2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c, const int __d); +__Int16x8_t __builtin_aarch64_sqrdmlah_lanev8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x4_t __c, const int __d); +__Int32x4_t __builtin_aarch64_sqrdmlah_lanev4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x2_t __c, const int __d); +__Int16x4_t __builtin_aarch64_sqrdmlsh_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c, const int __d); +__Int32x2_t __builtin_aarch64_sqrdmlsh_lanev2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c, const int __d); +__Int16x8_t __builtin_aarch64_sqrdmlsh_lanev8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x4_t __c, const int __d); +__Int32x4_t __builtin_aarch64_sqrdmlsh_lanev4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x2_t __c, const int __d); +__Uint8x16_t __builtin_aarch64_crypto_aesev16qi_uuu (__Uint8x16_t data, __Uint8x16_t key); +__Uint8x16_t __builtin_aarch64_crypto_aesdv16qi_uuu (__Uint8x16_t data, __Uint8x16_t key); +__Uint8x16_t __builtin_aarch64_crypto_aesmcv16qi_uu (__Uint8x16_t data); +__Uint8x16_t __builtin_aarch64_crypto_aesimcv16qi_uu (__Uint8x16_t data); +__Int8x8_t __builtin_aarch64_clrsbv8qi (__Int8x8_t __a); +__Int16x4_t __builtin_aarch64_clrsbv4hi (__Int16x4_t __a); +__Int32x2_t __builtin_aarch64_clrsbv2si (__Int32x2_t __a); +__Int8x16_t __builtin_aarch64_clrsbv16qi (__Int8x16_t __a); +__Int16x8_t __builtin_aarch64_clrsbv8hi (__Int16x8_t __a); +__Int32x4_t __builtin_aarch64_clrsbv4si (__Int32x4_t __a); +__Int8x8_t __builtin_aarch64_clzv8qi (__Int8x8_t __a); +__Int16x4_t __builtin_aarch64_clzv4hi (__Int16x4_t __a); +__Int32x2_t __builtin_aarch64_clzv2si (__Int32x2_t __a); +__Int8x16_t __builtin_aarch64_clzv16qi (__Int8x16_t __a); +__Int16x8_t __builtin_aarch64_clzv8hi (__Int16x8_t __a); +__Int32x4_t __builtin_aarch64_clzv4si (__Int32x4_t __a); +__Int8x8_t __builtin_aarch64_popcountv8qi (__Int8x8_t __a); +__Int8x16_t __builtin_aarch64_popcountv16qi (__Int8x16_t __a); +__Float16x4_t __builtin_aarch64_float_truncate_lo_v4hf (__Float32x4_t __a); +__Float16x8_t __builtin_aarch64_float_truncate_hi_v8hf (__Float16x4_t __a, __Float32x4_t __b); +__Float32x2_t __builtin_aarch64_float_truncate_lo_v2sf (__Float64x2_t __a); +__Float32x4_t __builtin_aarch64_float_truncate_hi_v4sf (__Float32x2_t __a, __Float64x2_t __b); +__Float32x4_t __builtin_aarch64_float_extend_lo_v4sf (__Float16x4_t __a); +__Float64x2_t __builtin_aarch64_float_extend_lo_v2df (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_vec_unpacks_hi_v8hf (__Float16x8_t __a); +__Float64x2_t __builtin_aarch64_vec_unpacks_hi_v4sf (__Float32x4_t __a); +__Float32x2_t __builtin_aarch64_floatv2siv2sf (__Int32x2_t __a); +__Float32x2_t __builtin_aarch64_floatunsv2siv2sf (__Int32x2_t __a); +__Float32x4_t __builtin_aarch64_floatv4siv4sf (__Int32x4_t __a); +__Float32x4_t __builtin_aarch64_floatunsv4siv4sf (__Int32x4_t __a); +__Float64x2_t __builtin_aarch64_floatv2div2df (__Int64x2_t __a); +__Float64x2_t __builtin_aarch64_floatunsv2div2df (__Int64x2_t __a); +__Int32x2_t __builtin_aarch64_lbtruncv2sfv2si (__Float32x2_t __a); +__Uint32x2_t __builtin_aarch64_lbtruncuv2sfv2si_us (__Float32x2_t __a); +__Int32x4_t __builtin_aarch64_lbtruncv4sfv4si (__Float32x4_t __a); +__Uint32x4_t __builtin_aarch64_lbtruncuv4sfv4si_us (__Float32x4_t __a); +__Int64x2_t __builtin_aarch64_lbtruncv2dfv2di (__Float64x2_t __a); +__Uint64x2_t __builtin_aarch64_lbtruncuv2dfv2di_us (__Float64x2_t __a); +__Int32x2_t __builtin_aarch64_lroundv2sfv2si (__Float32x2_t __a); +__Uint32x2_t __builtin_aarch64_lrounduv2sfv2si_us (__Float32x2_t __a); +__Int32x4_t __builtin_aarch64_lroundv4sfv4si (__Float32x4_t __a); +__Uint32x4_t __builtin_aarch64_lrounduv4sfv4si_us (__Float32x4_t __a); +__Int64x2_t __builtin_aarch64_lroundv2dfv2di (__Float64x2_t __a); +__Uint64x2_t __builtin_aarch64_lrounduv2dfv2di_us (__Float64x2_t __a); +__Int32x2_t __builtin_aarch64_lfloorv2sfv2si (__Float32x2_t __a); +__Uint32x2_t __builtin_aarch64_lflooruv2sfv2si_us (__Float32x2_t __a); +__Int32x4_t __builtin_aarch64_lfloorv4sfv4si (__Float32x4_t __a); +__Uint32x4_t __builtin_aarch64_lflooruv4sfv4si_us (__Float32x4_t __a); +__Int64x2_t __builtin_aarch64_lfloorv2dfv2di (__Float64x2_t __a); +__Uint64x2_t __builtin_aarch64_lflooruv2dfv2di_us (__Float64x2_t __a); +__Int32x2_t __builtin_aarch64_lfrintnv2sfv2si (__Float32x2_t __a); +__Uint32x2_t __builtin_aarch64_lfrintnuv2sfv2si_us (__Float32x2_t __a); +__Int32x4_t __builtin_aarch64_lfrintnv4sfv4si (__Float32x4_t __a); +__Uint32x4_t __builtin_aarch64_lfrintnuv4sfv4si_us (__Float32x4_t __a); +__Int64x2_t __builtin_aarch64_lfrintnv2dfv2di (__Float64x2_t __a); +__Uint64x2_t __builtin_aarch64_lfrintnuv2dfv2di_us (__Float64x2_t __a); +__Int32x2_t __builtin_aarch64_lceilv2sfv2si (__Float32x2_t __a); +__Uint32x2_t __builtin_aarch64_lceiluv2sfv2si_us (__Float32x2_t __a); +__Int32x4_t __builtin_aarch64_lceilv4sfv4si (__Float32x4_t __a); +__Uint32x4_t __builtin_aarch64_lceiluv4sfv4si_us (__Float32x4_t __a); +__Int64x2_t __builtin_aarch64_lceilv2dfv2di (__Float64x2_t __a); +__Uint64x2_t __builtin_aarch64_lceiluv2dfv2di_us (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_fmav2sf (__Float32x2_t __a, __Float32x2_t __b, __Float32x2_t __c); +__Float32x4_t __builtin_aarch64_fmav4sf (__Float32x4_t __a, __Float32x4_t __b, __Float32x4_t __c); +__Float64x2_t __builtin_aarch64_fmav2df (__Float64x2_t __a, __Float64x2_t __b, __Float64x2_t __c); +__Float16x4_t __builtin_aarch64_ld1v4hf (const __fp16 *__a); +__Float32x2_t __builtin_aarch64_ld1v2sf (const __builtin_aarch64_simd_sf * a); +__Int8x8_t __builtin_aarch64_ld1v8qi (const __builtin_aarch64_simd_qi * a); +__Int16x4_t __builtin_aarch64_ld1v4hi (const __builtin_aarch64_simd_hi * a); +__Int32x2_t __builtin_aarch64_ld1v2si (const __builtin_aarch64_simd_si * a); +__Float16x8_t __builtin_aarch64_ld1v8hf (const __fp16 *__a); +__Float32x4_t __builtin_aarch64_ld1v4sf (const __builtin_aarch64_simd_sf * a); +__Float64x2_t __builtin_aarch64_ld1v2df (const __builtin_aarch64_simd_df * a); +__Int8x16_t __builtin_aarch64_ld1v16qi (const __builtin_aarch64_simd_qi * a); +__Int16x8_t __builtin_aarch64_ld1v8hi (const __builtin_aarch64_simd_hi * a); +__Int32x4_t __builtin_aarch64_ld1v4si (const __builtin_aarch64_simd_si * a); +__Int64x2_t __builtin_aarch64_ld1v2di (const __builtin_aarch64_simd_di * a); +__Float32x2_t __builtin_aarch64_smax_nanv2sf (__Float32x2_t __a, __Float32x2_t __b); +__Int8x8_t __builtin_aarch64_smaxv8qi (__Int8x8_t __a, __Int8x8_t __b); +__Int16x4_t __builtin_aarch64_smaxv4hi (__Int16x4_t __a, __Int16x4_t __b); +__Int32x2_t __builtin_aarch64_smaxv2si (__Int32x2_t __a, __Int32x2_t __b); +__Float32x4_t __builtin_aarch64_smax_nanv4sf (__Float32x4_t __a, __Float32x4_t __b); +__Float64x2_t __builtin_aarch64_smax_nanv2df (__Float64x2_t __a, __Float64x2_t __b); +__Int8x16_t __builtin_aarch64_smaxv16qi (__Int8x16_t __a, __Int8x16_t __b); +__Int16x8_t __builtin_aarch64_smaxv8hi (__Int16x8_t __a, __Int16x8_t __b); +__Int32x4_t __builtin_aarch64_smaxv4si (__Int32x4_t __a, __Int32x4_t __b); +__Int8x8_t __builtin_aarch64_smaxpv8qi (__Int8x8_t a, __Int8x8_t b); +__Int16x4_t __builtin_aarch64_smaxpv4hi (__Int16x4_t a, __Int16x4_t b); +__Int32x2_t __builtin_aarch64_smaxpv2si (__Int32x2_t a, __Int32x2_t b); +__Int8x16_t __builtin_aarch64_smaxpv16qi (__Int8x16_t a, __Int8x16_t b); +__Int16x8_t __builtin_aarch64_smaxpv8hi (__Int16x8_t a, __Int16x8_t b); +__Int32x4_t __builtin_aarch64_smaxpv4si (__Int32x4_t a, __Int32x4_t b); +__Float32x4_t __builtin_aarch64_smax_nanpv4sf (__Float32x4_t a, __Float32x4_t b); +__Float64x2_t __builtin_aarch64_smax_nanpv2df (__Float64x2_t a, __Float64x2_t b); +__Float32x2_t __builtin_aarch64_smaxpv2sf (__Float32x2_t a, __Float32x2_t b); +__Float32x4_t __builtin_aarch64_smaxpv4sf (__Float32x4_t a, __Float32x4_t b); +__Float64x2_t __builtin_aarch64_smaxpv2df (__Float64x2_t a, __Float64x2_t b); +__Int8x8_t __builtin_aarch64_sminpv8qi (__Int8x8_t a, __Int8x8_t b); +__Int16x4_t __builtin_aarch64_sminpv4hi (__Int16x4_t a, __Int16x4_t b); +__Int32x2_t __builtin_aarch64_sminpv2si (__Int32x2_t a, __Int32x2_t b); +__Int8x16_t __builtin_aarch64_sminpv16qi (__Int8x16_t a, __Int8x16_t b); +__Int16x8_t __builtin_aarch64_sminpv8hi (__Int16x8_t a, __Int16x8_t b); +__Int32x4_t __builtin_aarch64_sminpv4si (__Int32x4_t a, __Int32x4_t b); +__Float32x2_t __builtin_aarch64_smin_nanpv2sf (__Float32x2_t a, __Float32x2_t b); +__Float32x4_t __builtin_aarch64_smin_nanpv4sf (__Float32x4_t a, __Float32x4_t b); +__Float64x2_t __builtin_aarch64_smin_nanpv2df (__Float64x2_t a, __Float64x2_t b); +__Float32x2_t __builtin_aarch64_sminpv2sf (__Float32x2_t a, __Float32x2_t b); +__Float32x4_t __builtin_aarch64_sminpv4sf (__Float32x4_t a, __Float32x4_t b); +__Float64x2_t __builtin_aarch64_sminpv2df (__Float64x2_t a, __Float64x2_t b); +__Float32x2_t __builtin_aarch64_smaxv2sf (__Float32x2_t __a, __Float32x2_t __b); +__Float32x4_t __builtin_aarch64_smaxv4sf (__Float32x4_t __a, __Float32x4_t __b); +__Float64x2_t __builtin_aarch64_smaxv2df (__Float64x2_t __a, __Float64x2_t __b); +__Float32x2_t __builtin_aarch64_smin_nanv2sf (__Float32x2_t __a, __Float32x2_t __b); +__Int8x8_t __builtin_aarch64_sminv8qi (__Int8x8_t __a, __Int8x8_t __b); +__Int16x4_t __builtin_aarch64_sminv4hi (__Int16x4_t __a, __Int16x4_t __b); +__Int32x2_t __builtin_aarch64_sminv2si (__Int32x2_t __a, __Int32x2_t __b); +__Float32x4_t __builtin_aarch64_smin_nanv4sf (__Float32x4_t __a, __Float32x4_t __b); +__Float64x2_t __builtin_aarch64_smin_nanv2df (__Float64x2_t __a, __Float64x2_t __b); +__Int8x16_t __builtin_aarch64_sminv16qi (__Int8x16_t __a, __Int8x16_t __b); +__Int16x8_t __builtin_aarch64_sminv8hi (__Int16x8_t __a, __Int16x8_t __b); +__Int32x4_t __builtin_aarch64_sminv4si (__Int32x4_t __a, __Int32x4_t __b); +__Float32x2_t __builtin_aarch64_sminv2sf (__Float32x2_t __a, __Float32x2_t __b); +__Float32x4_t __builtin_aarch64_sminv4sf (__Float32x4_t __a, __Float32x4_t __b); +__Float64x2_t __builtin_aarch64_sminv2df (__Float64x2_t __a, __Float64x2_t __b); +__Int8x8_t __builtin_aarch64_addpv8qi (__Int8x8_t __a, __Int8x8_t __b); +__Int16x4_t __builtin_aarch64_addpv4hi (__Int16x4_t __a, __Int16x4_t __b); +__Int32x2_t __builtin_aarch64_addpv2si (__Int32x2_t __a, __Int32x2_t __b); +__Int32x4_t __builtin_aarch64_sqdmlalv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c); +__Int32x4_t __builtin_aarch64_sqdmlal2v8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c); +__Int32x4_t __builtin_aarch64_sqdmlal2_lanev8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x4_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlal2_laneqv8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlal2_nv8hi (__Int32x4_t __a, __Int16x8_t __b, short int __c); +__Int32x4_t __builtin_aarch64_sqdmlal_lanev4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlal_laneqv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x8_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlal_nv4hi (__Int32x4_t __a, __Int16x4_t __b, short int __c); +__Int64x2_t __builtin_aarch64_sqdmlalv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c); +__Int64x2_t __builtin_aarch64_sqdmlal2v4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c); +__Int64x2_t __builtin_aarch64_sqdmlal2_lanev4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x2_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlal2_laneqv4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlal2_nv4si (__Int64x2_t __a, __Int32x4_t __b, int __c); +__Int64x2_t __builtin_aarch64_sqdmlal_lanev2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlal_laneqv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x4_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlal_nv2si (__Int64x2_t __a, __Int32x2_t __b, int __c); +__Int32x4_t __builtin_aarch64_sqdmlslv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c); +__Int32x4_t __builtin_aarch64_sqdmlsl2v8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c); +__Int32x4_t __builtin_aarch64_sqdmlsl2_lanev8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x4_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlsl2_laneqv8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlsl2_nv8hi (__Int32x4_t __a, __Int16x8_t __b, short int __c); +__Int32x4_t __builtin_aarch64_sqdmlsl_lanev4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlsl_laneqv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x8_t __c, int const __d); +__Int32x4_t __builtin_aarch64_sqdmlsl_nv4hi (__Int32x4_t __a, __Int16x4_t __b, short int __c); +__Int64x2_t __builtin_aarch64_sqdmlslv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c); +__Int64x2_t __builtin_aarch64_sqdmlsl2v4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c); +__Int64x2_t __builtin_aarch64_sqdmlsl2_lanev4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x2_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlsl2_laneqv4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlsl2_nv4si (__Int64x2_t __a, __Int32x4_t __b, int __c); +__Int64x2_t __builtin_aarch64_sqdmlsl_lanev2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlsl_laneqv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x4_t __c, int const __d); +__Int64x2_t __builtin_aarch64_sqdmlsl_nv2si (__Int64x2_t __a, __Int32x2_t __b, int __c); +__Int16x4_t __builtin_aarch64_sqdmulh_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, const int __c); +__Int32x2_t __builtin_aarch64_sqdmulh_lanev2si (__Int32x2_t __a, __Int32x2_t __b, const int __c); +__Int16x8_t __builtin_aarch64_sqdmulh_lanev8hi (__Int16x8_t __a, __Int16x4_t __b, const int __c); +__Int32x4_t __builtin_aarch64_sqdmulh_lanev4si (__Int32x4_t __a, __Int32x2_t __b, const int __c); +__Int32x4_t __builtin_aarch64_sqdmullv4hi (__Int16x4_t __a, __Int16x4_t __b); +__Int32x4_t __builtin_aarch64_sqdmull2v8hi (__Int16x8_t __a, __Int16x8_t __b); +__Int32x4_t __builtin_aarch64_sqdmull2_lanev8hi (__Int16x8_t __a, __Int16x4_t __b, int const __c); +__Int32x4_t __builtin_aarch64_sqdmull2_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, int const __c); +__Int32x4_t __builtin_aarch64_sqdmull2_nv8hi (__Int16x8_t __a, short int __b); +__Int32x4_t __builtin_aarch64_sqdmull_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, int const __c); +__Int32x4_t __builtin_aarch64_sqdmull_laneqv4hi (__Int16x4_t __a, __Int16x8_t __b, int const __c); +__Int32x4_t __builtin_aarch64_sqdmull_nv4hi (__Int16x4_t __a, short int __b); +__Int64x2_t __builtin_aarch64_sqdmullv2si (__Int32x2_t __a, __Int32x2_t __b); +__Int64x2_t __builtin_aarch64_sqdmull2v4si (__Int32x4_t __a, __Int32x4_t __b); +__Int64x2_t __builtin_aarch64_sqdmull2_lanev4si (__Int32x4_t __a, __Int32x2_t __b, int const __c); +__Int64x2_t __builtin_aarch64_sqdmull2_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, int const __c); +__Int64x2_t __builtin_aarch64_sqdmull2_nv4si (__Int32x4_t __a, int __b); +__Int64x2_t __builtin_aarch64_sqdmull_lanev2si (__Int32x2_t __a, __Int32x2_t __b, int const __c); +__Int64x2_t __builtin_aarch64_sqdmull_laneqv2si (__Int32x2_t __a, __Int32x4_t __b, int const __c); +__Int64x2_t __builtin_aarch64_sqdmull_nv2si (__Int32x2_t __a, int __b); +__Int16x4_t __builtin_aarch64_sqrdmulh_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, const int __c); +__Int32x2_t __builtin_aarch64_sqrdmulh_lanev2si (__Int32x2_t __a, __Int32x2_t __b, const int __c); +__Int16x8_t __builtin_aarch64_sqrdmulh_lanev8hi (__Int16x8_t __a, __Int16x4_t __b, const int __c); +__Int32x4_t __builtin_aarch64_sqrdmulh_lanev4si (__Int32x4_t __a, __Int32x2_t __b, const int __c); +__Int8x8_t __builtin_aarch64_sqrshlv8qi (__Int8x8_t __a, __Int8x8_t __b); +__Int16x4_t __builtin_aarch64_sqrshlv4hi (__Int16x4_t __a, __Int16x4_t __b); +__Int32x2_t __builtin_aarch64_sqrshlv2si (__Int32x2_t __a, __Int32x2_t __b); +__Uint8x8_t __builtin_aarch64_uqrshlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); +__Uint16x4_t __builtin_aarch64_uqrshlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); +__Uint32x2_t __builtin_aarch64_uqrshlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); +__Int8x16_t __builtin_aarch64_sqrshlv16qi (__Int8x16_t __a, __Int8x16_t __b); +__Int16x8_t __builtin_aarch64_sqrshlv8hi (__Int16x8_t __a, __Int16x8_t __b); +__Int32x4_t __builtin_aarch64_sqrshlv4si (__Int32x4_t __a, __Int32x4_t __b); +__Int64x2_t __builtin_aarch64_sqrshlv2di (__Int64x2_t __a, __Int64x2_t __b); +__Uint8x16_t __builtin_aarch64_uqrshlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); +__Uint16x8_t __builtin_aarch64_uqrshlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); +__Uint32x4_t __builtin_aarch64_uqrshlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); +__Uint64x2_t __builtin_aarch64_uqrshlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); +__Uint8x8_t __builtin_aarch64_uqrshrn_nv8hi_uus (__Uint16x8_t __a, const int __b); +__Uint16x4_t __builtin_aarch64_uqrshrn_nv4si_uus (__Uint32x4_t __a, const int __b); +__Uint32x2_t __builtin_aarch64_uqrshrn_nv2di_uus (__Uint64x2_t __a, const int __b); +__Int8x8_t __builtin_aarch64_sqshlv8qi (__Int8x8_t __a, __Int8x8_t __b); +__Int16x4_t __builtin_aarch64_sqshlv4hi (__Int16x4_t __a, __Int16x4_t __b); +__Int32x2_t __builtin_aarch64_sqshlv2si (__Int32x2_t __a, __Int32x2_t __b); +__Uint8x8_t __builtin_aarch64_uqshlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); +__Uint16x4_t __builtin_aarch64_uqshlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); +__Uint32x2_t __builtin_aarch64_uqshlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); +__Int8x16_t __builtin_aarch64_sqshlv16qi (__Int8x16_t __a, __Int8x16_t __b); +__Int16x8_t __builtin_aarch64_sqshlv8hi (__Int16x8_t __a, __Int16x8_t __b); +__Int32x4_t __builtin_aarch64_sqshlv4si (__Int32x4_t __a, __Int32x4_t __b); +__Int64x2_t __builtin_aarch64_sqshlv2di (__Int64x2_t __a, __Int64x2_t __b); +__Uint8x16_t __builtin_aarch64_uqshlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); +__Uint16x8_t __builtin_aarch64_uqshlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); +__Uint32x4_t __builtin_aarch64_uqshlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); +__Uint64x2_t __builtin_aarch64_uqshlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); +__Uint8x8_t __builtin_aarch64_uqshl_nv8qi_uus (__Uint8x8_t __a, const int __b); +__Uint16x4_t __builtin_aarch64_uqshl_nv4hi_uus (__Uint16x4_t __a, const int __b); +__Uint32x2_t __builtin_aarch64_uqshl_nv2si_uus (__Uint32x2_t __a, const int __b); +__Uint8x16_t __builtin_aarch64_uqshl_nv16qi_uus (__Uint8x16_t __a, const int __b); +__Uint16x8_t __builtin_aarch64_uqshl_nv8hi_uus (__Uint16x8_t __a, const int __b); +__Uint32x4_t __builtin_aarch64_uqshl_nv4si_uus (__Uint32x4_t __a, const int __b); +__Uint64x2_t __builtin_aarch64_uqshl_nv2di_uus (__Uint64x2_t __a, const int __b); +__Uint8x8_t __builtin_aarch64_sqshlu_nv8qi_uss (__Int8x8_t __a, const int __b); +__Uint16x4_t __builtin_aarch64_sqshlu_nv4hi_uss (__Int16x4_t __a, const int __b); +__Uint32x2_t __builtin_aarch64_sqshlu_nv2si_uss (__Int32x2_t __a, const int __b); +__Uint8x16_t __builtin_aarch64_sqshlu_nv16qi_uss (__Int8x16_t __a, const int __b); +__Uint16x8_t __builtin_aarch64_sqshlu_nv8hi_uss (__Int16x8_t __a, const int __b); +__Uint32x4_t __builtin_aarch64_sqshlu_nv4si_uss (__Int32x4_t __a, const int __b); +__Uint64x2_t __builtin_aarch64_sqshlu_nv2di_uss (__Int64x2_t __a, const int __b); +__Uint8x8_t __builtin_aarch64_uqshrn_nv8hi_uus (__Uint16x8_t __a, const int __b); +__Uint16x4_t __builtin_aarch64_uqshrn_nv4si_uus (__Uint32x4_t __a, const int __b); +__Uint32x2_t __builtin_aarch64_uqshrn_nv2di_uus (__Uint64x2_t __a, const int __b); +__Int8x8_t __builtin_aarch64_rbitv8qi (__Int8x8_t __a); +__Int8x16_t __builtin_aarch64_rbitv16qi (__Int8x16_t __a); +__Float32x2_t __builtin_aarch64_frecpev2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_frecpev4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_frecpev2df (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_frecpsv2sf (__Float32x2_t __a, __Float32x2_t __b); +__Float32x4_t __builtin_aarch64_frecpsv4sf (__Float32x4_t __a, __Float32x4_t __b); +__Float64x2_t __builtin_aarch64_frecpsv2df (__Float64x2_t __a, __Float64x2_t __b); +__Float32x2_t __builtin_aarch64_btruncv2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_btruncv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_btruncv2df (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_roundv2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_roundv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_roundv2df (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_nearbyintv2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_nearbyintv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_nearbyintv2df (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_floorv2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_floorv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_floorv2df (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_frintnv2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_frintnv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_frintnv2df (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_ceilv2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_ceilv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_ceilv2df (__Float64x2_t __a); +__Float32x2_t __builtin_aarch64_rintv2sf (__Float32x2_t __a); +__Float32x4_t __builtin_aarch64_rintv4sf (__Float32x4_t __a); +__Float64x2_t __builtin_aarch64_rintv2df (__Float64x2_t __a); +__Uint8x8_t __builtin_aarch64_urshlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); +__Uint16x4_t __builtin_aarch64_urshlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); +__Uint32x2_t __builtin_aarch64_urshlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); +__Uint8x16_t __builtin_aarch64_urshlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); +__Uint16x8_t __builtin_aarch64_urshlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); +__Uint32x4_t __builtin_aarch64_urshlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); +__Uint64x2_t __builtin_aarch64_urshlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); +__Uint8x8_t __builtin_aarch64_urshr_nv8qi_uus (__Uint8x8_t __a, const int __b); +__Uint16x4_t __builtin_aarch64_urshr_nv4hi_uus (__Uint16x4_t __a, const int __b); +__Uint32x2_t __builtin_aarch64_urshr_nv2si_uus (__Uint32x2_t __a, const int __b); +__Uint8x16_t __builtin_aarch64_urshr_nv16qi_uus (__Uint8x16_t __a, const int __b); +__Uint16x8_t __builtin_aarch64_urshr_nv8hi_uus (__Uint16x8_t __a, const int __b); +__Uint32x4_t __builtin_aarch64_urshr_nv4si_uus (__Uint32x4_t __a, const int __b); +__Uint64x2_t __builtin_aarch64_urshr_nv2di_uus (__Uint64x2_t __a, const int __b); +__Uint8x8_t __builtin_aarch64_ursra_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); +__Uint16x4_t __builtin_aarch64_ursra_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); +__Uint32x2_t __builtin_aarch64_ursra_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); +__Uint8x16_t __builtin_aarch64_ursra_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); +__Uint16x8_t __builtin_aarch64_ursra_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); +__Uint32x4_t __builtin_aarch64_ursra_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); +__Uint64x2_t __builtin_aarch64_ursra_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); +__Uint32x4_t __builtin_aarch64_crypto_sha1cv4si_uuuu (__Uint32x4_t hash_abcd, unsigned int hash_e, __Uint32x4_t wk); +__Uint32x4_t __builtin_aarch64_crypto_sha1mv4si_uuuu (__Uint32x4_t hash_abcd, unsigned int hash_e, __Uint32x4_t wk); +__Uint32x4_t __builtin_aarch64_crypto_sha1pv4si_uuuu (__Uint32x4_t hash_abcd, unsigned int hash_e, __Uint32x4_t wk); +__Uint32x4_t __builtin_aarch64_crypto_sha1su0v4si_uuuu (__Uint32x4_t w0_3, __Uint32x4_t w4_7, __Uint32x4_t w8_11); +__Uint32x4_t __builtin_aarch64_crypto_sha1su1v4si_uuu (__Uint32x4_t tw0_3, __Uint32x4_t w12_15); +__Uint32x4_t __builtin_aarch64_crypto_sha256hv4si_uuuu (__Uint32x4_t hash_abcd, __Uint32x4_t hash_efgh, __Uint32x4_t wk); +__Uint32x4_t __builtin_aarch64_crypto_sha256h2v4si_uuuu (__Uint32x4_t hash_efgh, __Uint32x4_t hash_abcd, __Uint32x4_t wk); +__Uint32x4_t __builtin_aarch64_crypto_sha256su0v4si_uuu (__Uint32x4_t w0_3, __Uint32x4_t w4_7); +__Uint32x4_t __builtin_aarch64_crypto_sha256su1v4si_uuuu (__Uint32x4_t tw0_3, __Uint32x4_t w8_11, __Uint32x4_t w12_15); +__Poly128_t __builtin_aarch64_crypto_pmullv2di_ppp (__Poly64x2_t a, __Poly64x2_t b); +__Int8x8_t __builtin_aarch64_sshlv8qi (__Int8x8_t __a, __Int8x8_t __b); +__Int16x4_t __builtin_aarch64_sshlv4hi (__Int16x4_t __a, __Int16x4_t __b); +__Int32x2_t __builtin_aarch64_sshlv2si (__Int32x2_t __a, __Int32x2_t __b); +__Uint8x8_t __builtin_aarch64_ushlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); +__Uint16x4_t __builtin_aarch64_ushlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); +__Uint32x2_t __builtin_aarch64_ushlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); +__Int8x16_t __builtin_aarch64_sshlv16qi (__Int8x16_t __a, __Int8x16_t __b); +__Int16x8_t __builtin_aarch64_sshlv8hi (__Int16x8_t __a, __Int16x8_t __b); +__Int32x4_t __builtin_aarch64_sshlv4si (__Int32x4_t __a, __Int32x4_t __b); +__Int64x2_t __builtin_aarch64_sshlv2di (__Int64x2_t __a, __Int64x2_t __b); +__Uint8x16_t __builtin_aarch64_ushlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); +__Uint16x8_t __builtin_aarch64_ushlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); +__Uint32x4_t __builtin_aarch64_ushlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); +__Uint64x2_t __builtin_aarch64_ushlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); +__Int16x8_t __builtin_aarch64_sshll2_nv16qi (__Int8x16_t __a, const int __b); +__Int32x4_t __builtin_aarch64_sshll2_nv8hi (__Int16x8_t __a, const int __b); +__Int64x2_t __builtin_aarch64_sshll2_nv4si (__Int32x4_t __a, const int __b); +__Int16x8_t __builtin_aarch64_sshll_nv8qi (__Int8x8_t __a, const int __b); +__Int32x4_t __builtin_aarch64_sshll_nv4hi (__Int16x4_t __a, const int __b); +__Int64x2_t __builtin_aarch64_sshll_nv2si (__Int32x2_t __a, const int __b); +__Uint16x8_t __builtin_aarch64_ushll_nv8qi_uus (__Uint8x8_t __a, const int __b); +__Uint32x4_t __builtin_aarch64_ushll_nv4hi_uus (__Uint16x4_t __a, const int __b); +__Uint64x2_t __builtin_aarch64_ushll_nv2si_uus (__Uint32x2_t __a, const int __b); +__Int32x4_t __builtin_aarch64_lshrv4si (__Int32x4_t __a, const int __b); +__Int64x2_t __builtin_aarch64_lshrv2di (__Int64x2_t __a, const int __b); +__Uint8x8_t __builtin_aarch64_usli_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); +__Uint16x4_t __builtin_aarch64_usli_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); +__Uint32x2_t __builtin_aarch64_usli_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); +__Uint8x16_t __builtin_aarch64_usli_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); +__Uint16x8_t __builtin_aarch64_usli_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); +__Uint32x4_t __builtin_aarch64_usli_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); +__Uint64x2_t __builtin_aarch64_usli_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); +__Uint8x8_t __builtin_aarch64_usqaddv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); +__Uint16x4_t __builtin_aarch64_usqaddv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); +__Uint32x2_t __builtin_aarch64_usqaddv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); +__Uint8x16_t __builtin_aarch64_usqaddv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); +__Uint16x8_t __builtin_aarch64_usqaddv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); +__Uint32x4_t __builtin_aarch64_usqaddv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); +__Uint64x2_t __builtin_aarch64_usqaddv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); +__Float32x2_t __builtin_aarch64_sqrtv2sf (__Float32x2_t a); +__Float32x4_t __builtin_aarch64_sqrtv4sf (__Float32x4_t a); +__Float64x2_t __builtin_aarch64_sqrtv2df (__Float64x2_t a); +__Uint8x8_t __builtin_aarch64_usra_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); +__Uint16x4_t __builtin_aarch64_usra_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); +__Uint32x2_t __builtin_aarch64_usra_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); +__Uint8x16_t __builtin_aarch64_usra_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); +__Uint16x8_t __builtin_aarch64_usra_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); +__Uint32x4_t __builtin_aarch64_usra_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); +__Uint64x2_t __builtin_aarch64_usra_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); +__Uint8x8_t __builtin_aarch64_usri_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); +__Uint16x4_t __builtin_aarch64_usri_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); +__Uint32x2_t __builtin_aarch64_usri_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); +__Uint8x16_t __builtin_aarch64_usri_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); +__Uint16x8_t __builtin_aarch64_usri_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); +__Uint32x4_t __builtin_aarch64_usri_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); +__Uint64x2_t __builtin_aarch64_usri_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); +__Int8x8_t __builtin_aarch64_suqaddv8qi_ssu (__Int8x8_t __a, __Uint8x8_t __b); +__Int16x4_t __builtin_aarch64_suqaddv4hi_ssu (__Int16x4_t __a, __Uint16x4_t __b); +__Int32x2_t __builtin_aarch64_suqaddv2si_ssu (__Int32x2_t __a, __Uint32x2_t __b); +__Int8x16_t __builtin_aarch64_suqaddv16qi_ssu (__Int8x16_t __a, __Uint8x16_t __b); +__Int16x8_t __builtin_aarch64_suqaddv8hi_ssu (__Int16x8_t __a, __Uint16x8_t __b); +__Int32x4_t __builtin_aarch64_suqaddv4si_ssu (__Int32x4_t __a, __Uint32x4_t __b); +__Int64x2_t __builtin_aarch64_suqaddv2di_ssu (__Int64x2_t __a, __Uint64x2_t __b); +__Poly128_t __builtin_aarch64_crypto_pmulldi_ppp (__Poly64_t a, __Poly64_t b); +__Int8x8_t __builtin_aarch64_tbx4v8qi (__Int8x8_t, __builtin_aarch64_simd_oi, __Int8x8_t); +//end CMPCPP-6477 +void __builtin_aarch64_st2_lanev4hf(__fp16*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev2sf(float*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanedf(double*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev8qi(signed char*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev4hi(short int*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanedi(long int*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev2si(int*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st3_lanev4hf(__fp16*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev2sf(float*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanedf(double*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev8qi(signed char*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev4hi(short int*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanedi(long int*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev2si(int*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st4_lanev4hf(__fp16*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev2sf(float*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanedf(double*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev8qi(signed char*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev4hi(short int*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanedi(long int*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev2si(int*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4hf(const __fp16*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2sf(const float*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanedf(const double*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8qi(const signed char*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4hi(const short int*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanedi(const long int*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2si(const int*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4hf(const __fp16*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2sf(const float*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanedf(const double*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8qi(const signed char*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4hi(const short int*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanedi(const long int*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2si(const int*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4hf(const __fp16*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2sf(const float*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanedf(const double*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8qi(const signed char*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4hi(const short int*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanedi(const long int*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2si(const int*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev16qi(const signed char*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2df(const double*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2di(const long int*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4sf(const float*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4si(const int*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8hf(const __fp16*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8hi(const short int*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev16qi(const signed char*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2df(const double*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2di(const long int*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4sf(const float*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4si(const int*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8hf(const __fp16*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8hi(const short int*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev16qi(const signed char*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2df(const double*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2di(const long int*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4sf(const float*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4si(const int*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8hf(const __fp16*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8hi(const short int*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st2_lanev16qi(signed char*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev2df(double*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev2di(long int*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev4sf(float*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev4si(int*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev8hf(__fp16*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev8hi(short int*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st3_lanev16qi(signed char*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev2df(double*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev2di(long int*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev4sf(float*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev4si(int*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev8hf(__fp16*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev8hi(short int*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st4_lanev16qi(signed char*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev2df(double*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev2di(long int*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev4sf(float*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev4si(int*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev8hf(__fp16*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev8hi(short int*, __builtin_aarch64_simd_xi, int); +__fp16 __builtin_aarch64_abshf(__fp16); +__Float16x4_t __builtin_aarch64_absv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_absv8hf(__Float16x8_t); +long int __builtin_aarch64_addpdi(__Int64x2_t); +long int __builtin_aarch64_ashldi(long int, signed char); +long int __builtin_aarch64_ashr_simddi(long int, int); +__Int8x16_t __builtin_aarch64_bcaxqv16qi(__Int8x16_t, __Int8x16_t, __Int8x16_t); +__Uint8x16_t __builtin_aarch64_bcaxqv16qi_uuuu(__Uint8x16_t, __Uint8x16_t, __Uint8x16_t); +__Int64x2_t __builtin_aarch64_bcaxqv2di(__Int64x2_t, __Int64x2_t, __Int64x2_t); +__Uint64x2_t __builtin_aarch64_bcaxqv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); +__Int32x4_t __builtin_aarch64_bcaxqv4si(__Int32x4_t, __Int32x4_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_bcaxqv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); +__Int16x8_t __builtin_aarch64_bcaxqv8hi(__Int16x8_t, __Int16x8_t, __Int16x8_t); +__Uint16x8_t __builtin_aarch64_bcaxqv8hi_uuuu(__Uint16x8_t, __Uint16x8_t, __Uint16x8_t); +__fp16 __builtin_aarch64_btrunchf(__fp16); +__Float16x4_t __builtin_aarch64_btruncv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_btruncv8hf(__Float16x8_t); +__fp16 __builtin_aarch64_ceilhf(__fp16); +__Float16x4_t __builtin_aarch64_ceilv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_ceilv8hf(__Float16x8_t); +short unsigned int __builtin_aarch64_cmeqhf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_cmeqv4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_cmeqv8hf_uss(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_cmgehf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_cmgev4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_cmgev8hf_uss(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_cmgthf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_cmgtv4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_cmgtv8hf_uss(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_cmlehf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_cmlev4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_cmlev8hf_uss(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_cmlthf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_cmltv4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_cmltv8hf_uss(__Float16x8_t, __Float16x8_t); +__Poly64x2_t __builtin_aarch64_combinedi_ppp(__Poly64_t, __Poly64_t); +unsigned int __builtin_aarch64_crc32b(unsigned int, unsigned char); +unsigned int __builtin_aarch64_crc32cb(unsigned int, unsigned char); +unsigned int __builtin_aarch64_crc32ch(unsigned int, short unsigned int); +unsigned int __builtin_aarch64_crc32cw(unsigned int, unsigned int); +unsigned int __builtin_aarch64_crc32cx(unsigned int, long unsigned int); +unsigned int __builtin_aarch64_crc32h(unsigned int, short unsigned int); +unsigned int __builtin_aarch64_crc32w(unsigned int, unsigned int); +unsigned int __builtin_aarch64_crc32x(unsigned int, long unsigned int); +unsigned int __builtin_aarch64_crypto_sha1hsi_uu(unsigned int); +__Uint64x2_t __builtin_aarch64_crypto_sha512h2qv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); +__Uint64x2_t __builtin_aarch64_crypto_sha512hqv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); +__Uint64x2_t __builtin_aarch64_crypto_sha512su0qv2di_uuu(__Uint64x2_t, __Uint64x2_t); +__Uint64x2_t __builtin_aarch64_crypto_sha512su1qv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); +__Int8x16_t __builtin_aarch64_eor3qv16qi(__Int8x16_t, __Int8x16_t, __Int8x16_t); +__Uint8x16_t __builtin_aarch64_eor3qv16qi_uuuu(__Uint8x16_t, __Uint8x16_t, __Uint8x16_t); +__Int64x2_t __builtin_aarch64_eor3qv2di(__Int64x2_t, __Int64x2_t, __Int64x2_t); +__Uint64x2_t __builtin_aarch64_eor3qv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); +__Int32x4_t __builtin_aarch64_eor3qv4si(__Int32x4_t, __Int32x4_t, __Int32x4_t); +__Uint32x4_t __builtin_aarch64_eor3qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); +__Int16x8_t __builtin_aarch64_eor3qv8hi(__Int16x8_t, __Int16x8_t, __Int16x8_t); +__Uint16x8_t __builtin_aarch64_eor3qv8hi_uuuu(__Uint16x8_t, __Uint16x8_t, __Uint16x8_t); +double __builtin_aarch64_fabddf(double, double); +__fp16 __builtin_aarch64_fabdhf(__fp16, __fp16); +float __builtin_aarch64_fabdsf(float, float); +__Float64x2_t __builtin_aarch64_fabdv2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fabdv2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fabdv4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fabdv4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fabdv8hf(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_facgehf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_facgev4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_facgev8hf_uss(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_facgthf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_facgtv4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_facgtv8hf_uss(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_faclehf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_faclev4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_faclev8hf_uss(__Float16x8_t, __Float16x8_t); +short unsigned int __builtin_aarch64_faclthf_uss(__fp16, __fp16); +__Uint16x4_t __builtin_aarch64_facltv4hf_uss(__Float16x4_t, __Float16x4_t); +__Uint16x8_t __builtin_aarch64_facltv8hf_uss(__Float16x8_t, __Float16x8_t); +__Float64x2_t __builtin_aarch64_faddpv2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_faddpv2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_faddpv4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_faddpv4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_faddpv8hf(__Float16x8_t, __Float16x8_t); +__Float64x2_t __builtin_aarch64_fcadd270v2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fcadd270v2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fcadd270v4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fcadd270v4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fcadd270v8hf(__Float16x8_t, __Float16x8_t); +__Float64x2_t __builtin_aarch64_fcadd90v2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fcadd90v2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fcadd90v4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fcadd90v4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fcadd90v8hf(__Float16x8_t, __Float16x8_t); +__Float64x2_t __builtin_aarch64_fcmla0v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fcmla0v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fcmla0v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fcmla0v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fcmla0v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); +__Float64x2_t __builtin_aarch64_fcmla180v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fcmla180v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fcmla180v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fcmla180v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fcmla180v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); +__Float64x2_t __builtin_aarch64_fcmla270v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fcmla270v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fcmla270v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fcmla270v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fcmla270v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); +__Float64x2_t __builtin_aarch64_fcmla90v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fcmla90v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fcmla90v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fcmla90v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fcmla90v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); +__Float32x2_t __builtin_aarch64_fcmla_lane0v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); +__Float16x4_t __builtin_aarch64_fcmla_lane0v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fcmla_lane0v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); +__Float16x8_t __builtin_aarch64_fcmla_lane0v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fcmla_lane180v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); +__Float16x4_t __builtin_aarch64_fcmla_lane180v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fcmla_lane180v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); +__Float16x8_t __builtin_aarch64_fcmla_lane180v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fcmla_lane270v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); +__Float16x4_t __builtin_aarch64_fcmla_lane270v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fcmla_lane270v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); +__Float16x8_t __builtin_aarch64_fcmla_lane270v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fcmla_lane90v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); +__Float16x4_t __builtin_aarch64_fcmla_lane90v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fcmla_lane90v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); +__Float16x8_t __builtin_aarch64_fcmla_lane90v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fcmla_laneq0v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); +__Float16x4_t __builtin_aarch64_fcmla_laneq0v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); +__Float32x2_t __builtin_aarch64_fcmla_laneq180v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); +__Float16x4_t __builtin_aarch64_fcmla_laneq180v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); +__Float32x2_t __builtin_aarch64_fcmla_laneq270v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); +__Float16x4_t __builtin_aarch64_fcmla_laneq270v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); +__Float32x2_t __builtin_aarch64_fcmla_laneq90v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); +__Float16x4_t __builtin_aarch64_fcmla_laneq90v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); +__Float32x4_t __builtin_aarch64_fcmlaq_lane0v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); +__Float16x8_t __builtin_aarch64_fcmlaq_lane0v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fcmlaq_lane180v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); +__Float16x8_t __builtin_aarch64_fcmlaq_lane180v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fcmlaq_lane270v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); +__Float16x8_t __builtin_aarch64_fcmlaq_lane270v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fcmlaq_lane90v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); +__Float16x8_t __builtin_aarch64_fcmlaq_lane90v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); +long int __builtin_aarch64_fcvtzsdf(double, int); +short int __builtin_aarch64_fcvtzshf(__fp16, int); +long int __builtin_aarch64_fcvtzshfdi(__fp16, int); +int __builtin_aarch64_fcvtzshfsi(__fp16, int); +int __builtin_aarch64_fcvtzssf(float, int); +__Int64x2_t __builtin_aarch64_fcvtzsv2df(__Float64x2_t, int); +__Int32x2_t __builtin_aarch64_fcvtzsv2sf(__Float32x2_t, int); +__Int16x4_t __builtin_aarch64_fcvtzsv4hf(__Float16x4_t, int); +__Int32x4_t __builtin_aarch64_fcvtzsv4sf(__Float32x4_t, int); +__Int16x8_t __builtin_aarch64_fcvtzsv8hf(__Float16x8_t, int); +long unsigned int __builtin_aarch64_fcvtzudf_uss(double, int); +long unsigned int __builtin_aarch64_fcvtzuhfdi_uss(__fp16, int); +unsigned int __builtin_aarch64_fcvtzuhfsi_uss(__fp16, int); +short unsigned int __builtin_aarch64_fcvtzuhf_uss(__fp16, int); +unsigned int __builtin_aarch64_fcvtzusf_uss(float, int); +__Uint64x2_t __builtin_aarch64_fcvtzuv2df_uss(__Float64x2_t, int); +__Uint32x2_t __builtin_aarch64_fcvtzuv2sf_uss(__Float32x2_t, int); +__Uint16x4_t __builtin_aarch64_fcvtzuv4hf_uss(__Float16x4_t, int); +__Uint32x4_t __builtin_aarch64_fcvtzuv4sf_uss(__Float32x4_t, int); +__Uint16x8_t __builtin_aarch64_fcvtzuv8hf_uss(__Float16x8_t, int); +long int __builtin_aarch64_fix_trunchfdi(__fp16); +short int __builtin_aarch64_fix_trunchfhi(__fp16); +int __builtin_aarch64_fix_trunchfsi(__fp16); +long unsigned int __builtin_aarch64_fixuns_trunchfdi_us(__fp16); +short unsigned int __builtin_aarch64_fixuns_trunchfhi_us(__fp16); +unsigned int __builtin_aarch64_fixuns_trunchfsi_us(__fp16); +__fp16 __builtin_aarch64_floatdihf(long int); +__fp16 __builtin_aarch64_floathihf(short int); +__fp16 __builtin_aarch64_floatsihf(int); +__fp16 __builtin_aarch64_floatunsdihf_us(long int); +__fp16 __builtin_aarch64_floatunshihf_us(short int); +__fp16 __builtin_aarch64_floatunssihf_us(int); +__Float16x4_t __builtin_aarch64_floatunsv4hiv4hf(__Int16x4_t); +__Float16x8_t __builtin_aarch64_floatunsv8hiv8hf(__Int16x8_t); +__Float16x4_t __builtin_aarch64_floatv4hiv4hf(__Int16x4_t); +__Float16x8_t __builtin_aarch64_floatv8hiv8hf(__Int16x8_t); +__fp16 __builtin_aarch64_floorhf(__fp16); +__Float16x4_t __builtin_aarch64_floorv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_floorv8hf(__Float16x8_t); +__fp16 __builtin_aarch64_fmahf(__fp16, __fp16, __fp16); +__Float16x4_t __builtin_aarch64_fmav4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_fmav8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); +double __builtin_aarch64_fmaxdf(double, double); +__fp16 __builtin_aarch64_fmaxhf(__fp16, __fp16); +__Float64x2_t __builtin_aarch64_fmaxv2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fmaxv2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fmaxv4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fmaxv4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fmaxv8hf(__Float16x8_t, __Float16x8_t); +double __builtin_aarch64_fmindf(double, double); +__fp16 __builtin_aarch64_fminhf(__fp16, __fp16); +__Float64x2_t __builtin_aarch64_fminv2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fminv2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fminv4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fminv4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fminv8hf(__Float16x8_t, __Float16x8_t); +__Float32x2_t __builtin_aarch64_fmlal_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); +__Float32x2_t __builtin_aarch64_fmlal_lane_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); +__Float32x2_t __builtin_aarch64_fmlal_lane_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); +__Float32x2_t __builtin_aarch64_fmlal_laneq_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fmlal_laneq_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fmlal_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fmlalq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); +__Float32x4_t __builtin_aarch64_fmlalq_lane_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fmlalq_lane_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fmlalq_laneq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); +__Float32x4_t __builtin_aarch64_fmlalq_laneq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); +__Float32x4_t __builtin_aarch64_fmlalq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); +__Float32x2_t __builtin_aarch64_fmlsl_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); +__Float32x2_t __builtin_aarch64_fmlsl_lane_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); +__Float32x2_t __builtin_aarch64_fmlsl_lane_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); +__Float32x2_t __builtin_aarch64_fmlsl_laneq_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fmlsl_laneq_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); +__Float32x2_t __builtin_aarch64_fmlsl_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fmlslq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); +__Float32x4_t __builtin_aarch64_fmlslq_lane_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fmlslq_lane_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); +__Float32x4_t __builtin_aarch64_fmlslq_laneq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); +__Float32x4_t __builtin_aarch64_fmlslq_laneq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); +__Float32x4_t __builtin_aarch64_fmlslq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); +double __builtin_aarch64_fmulxdf(double, double); +__fp16 __builtin_aarch64_fmulxhf(__fp16, __fp16); +float __builtin_aarch64_fmulxsf(float, float); +__Float64x2_t __builtin_aarch64_fmulxv2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fmulxv2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_fmulxv4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_fmulxv4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_fmulxv8hf(__Float16x8_t, __Float16x8_t); +__fp16 __builtin_aarch64_fnmahf(__fp16, __fp16, __fp16); +__Float16x4_t __builtin_aarch64_fnmav4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_fnmav8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); +double __builtin_aarch64_frecpedf(double); +__fp16 __builtin_aarch64_frecpehf(__fp16); +float __builtin_aarch64_frecpesf(float); +__Float16x4_t __builtin_aarch64_frecpev4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_frecpev8hf(__Float16x8_t); +double __builtin_aarch64_frecpsdf(double, double); +__fp16 __builtin_aarch64_frecpshf(__fp16, __fp16); +float __builtin_aarch64_frecpssf(float, float); +__Float16x4_t __builtin_aarch64_frecpsv4hf(__Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_frecpsv8hf(__Float16x8_t, __Float16x8_t); +double __builtin_aarch64_frecpxdf(double); +__fp16 __builtin_aarch64_frecpxhf(__fp16); +float __builtin_aarch64_frecpxsf(float); +double __builtin_aarch64_frintndf(double); +__fp16 __builtin_aarch64_frintnhf(__fp16); +__Float16x4_t __builtin_aarch64_frintnv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_frintnv8hf(__Float16x8_t); +__Poly64_t __builtin_aarch64_get_dregcidi_pss(__builtin_aarch64_simd_ci, int); +__Poly64_t __builtin_aarch64_get_dregoidi_pss(__builtin_aarch64_simd_oi, int); +__Poly64_t __builtin_aarch64_get_dregxidi_pss(__builtin_aarch64_simd_xi, int); +__Poly64x2_t __builtin_aarch64_get_qregciv2di_pss(__builtin_aarch64_simd_ci, int); +__Poly64x2_t __builtin_aarch64_get_qregoiv2di_pss(__builtin_aarch64_simd_oi, int); +__Poly64x2_t __builtin_aarch64_get_qregxiv2di_pss(__builtin_aarch64_simd_xi, int); +__Uint16x4_t __builtin_aarch64_lbtruncuv4hfv4hi_us(__Float16x4_t); +__Uint16x8_t __builtin_aarch64_lbtruncuv8hfv8hi_us(__Float16x8_t); +__Int16x4_t __builtin_aarch64_lbtruncv4hfv4hi(__Float16x4_t); +__Int16x8_t __builtin_aarch64_lbtruncv8hfv8hi(__Float16x8_t); +long int __builtin_aarch64_lceilhfdi(__fp16); +short int __builtin_aarch64_lceilhfhi(__fp16); +int __builtin_aarch64_lceilhfsi(__fp16); +long unsigned int __builtin_aarch64_lceiludfdi_us(double); +long unsigned int __builtin_aarch64_lceiluhfdi_us(__fp16); +short unsigned int __builtin_aarch64_lceiluhfhi_us(__fp16); +unsigned int __builtin_aarch64_lceiluhfsi_us(__fp16); +unsigned int __builtin_aarch64_lceilusfsi_us(float); +__Uint16x4_t __builtin_aarch64_lceiluv4hfv4hi_us(__Float16x4_t); +__Uint16x8_t __builtin_aarch64_lceiluv8hfv8hi_us(__Float16x8_t); +__Int16x4_t __builtin_aarch64_lceilv4hfv4hi(__Float16x4_t); +__Int16x8_t __builtin_aarch64_lceilv8hfv8hi(__Float16x8_t); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2df(const double*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2di(const long int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v16qi(const signed char*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2df(const double*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2di(const long int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2sf(const float*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2si(const int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4hf(const __fp16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4hi(const short int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4sf(const float*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4si(const int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8hf(const __fp16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8hi(const short int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8qi(const signed char*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3df(const double*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3di(const long int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v16qi(const signed char*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2df(const double*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2di(const long int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2sf(const float*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2si(const int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4hf(const __fp16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4hi(const short int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4sf(const float*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4si(const int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8hf(const __fp16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8hi(const short int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8qi(const signed char*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2df(const double*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2di(const long int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rdf(const double*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rdi(const long int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv16qi(const signed char*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2df(const double*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2di(const long int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2sf(const float*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2si(const int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4hf(const __fp16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4hi(const short int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4sf(const float*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4si(const int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8hf(const __fp16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8hi(const short int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8qi(const signed char*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v16qi(const signed char*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2df(const double*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2di(const long int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2sf(const float*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2si(const int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4hf(const __fp16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4hi(const short int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4sf(const float*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4si(const int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8hf(const __fp16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8hi(const short int*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8qi(const signed char*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3df(const double*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rdf(const double*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rdi(const long int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv16qi(const signed char*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2df(const double*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2di(const long int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2sf(const float*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2si(const int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4hf(const __fp16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4hi(const short int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4sf(const float*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4si(const int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8hf(const __fp16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8hi(const short int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8qi(const signed char*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v16qi(const signed char*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2df(const double*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2di(const long int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2sf(const float*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2si(const int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4hf(const __fp16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4hi(const short int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4sf(const float*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4si(const int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8hf(const __fp16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8hi(const short int*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8qi(const signed char*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4df(const double*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4di(const long int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rdf(const double*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rdi(const long int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv16qi(const signed char*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2df(const double*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2di(const long int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2sf(const float*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2si(const int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4hf(const __fp16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4hi(const short int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4sf(const float*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4si(const int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8hf(const __fp16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8hi(const short int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8qi(const signed char*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v16qi(const signed char*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2df(const double*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2di(const long int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2sf(const float*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2si(const int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4hf(const __fp16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4hi(const short int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4sf(const float*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4si(const int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8hf(const __fp16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8hi(const short int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8qi(const signed char*); +long int __builtin_aarch64_lfloorhfdi(__fp16); +short int __builtin_aarch64_lfloorhfhi(__fp16); +int __builtin_aarch64_lfloorhfsi(__fp16); +long unsigned int __builtin_aarch64_lfloorudfdi_us(double); +long unsigned int __builtin_aarch64_lflooruhfdi_us(__fp16); +short unsigned int __builtin_aarch64_lflooruhfhi_us(__fp16); +unsigned int __builtin_aarch64_lflooruhfsi_us(__fp16); +unsigned int __builtin_aarch64_lfloorusfsi_us(float); +__Uint16x4_t __builtin_aarch64_lflooruv4hfv4hi_us(__Float16x4_t); +__Uint16x8_t __builtin_aarch64_lflooruv8hfv8hi_us(__Float16x8_t); +__Int16x4_t __builtin_aarch64_lfloorv4hfv4hi(__Float16x4_t); +__Int16x8_t __builtin_aarch64_lfloorv8hfv8hi(__Float16x8_t); +long int __builtin_aarch64_lfrintndfdi(double); +long int __builtin_aarch64_lfrintnhfdi(__fp16); +short int __builtin_aarch64_lfrintnhfhi(__fp16); +int __builtin_aarch64_lfrintnhfsi(__fp16); +int __builtin_aarch64_lfrintnsfsi(float); +long unsigned int __builtin_aarch64_lfrintnudfdi_us(double); +long unsigned int __builtin_aarch64_lfrintnuhfdi_us(__fp16); +short unsigned int __builtin_aarch64_lfrintnuhfhi_us(__fp16); +unsigned int __builtin_aarch64_lfrintnuhfsi_us(__fp16); +unsigned int __builtin_aarch64_lfrintnusfsi_us(float); +__Uint16x4_t __builtin_aarch64_lfrintnuv4hfv4hi_us(__Float16x4_t); +__Uint16x8_t __builtin_aarch64_lfrintnuv8hfv8hi_us(__Float16x8_t); +__Int16x4_t __builtin_aarch64_lfrintnv4hfv4hi(__Float16x4_t); +__Int16x8_t __builtin_aarch64_lfrintnv8hfv8hi(__Float16x8_t); +long int __builtin_aarch64_lrounddfdi(double); +long int __builtin_aarch64_lroundhfdi(__fp16); +short int __builtin_aarch64_lroundhfhi(__fp16); +int __builtin_aarch64_lroundhfsi(__fp16); +int __builtin_aarch64_lroundsfsi(float); +long unsigned int __builtin_aarch64_lroundudfdi_us(double); +long unsigned int __builtin_aarch64_lrounduhfdi_us(__fp16); +short unsigned int __builtin_aarch64_lrounduhfhi_us(__fp16); +unsigned int __builtin_aarch64_lrounduhfsi_us(__fp16); +unsigned int __builtin_aarch64_lroundusfsi_us(float); +__Uint16x4_t __builtin_aarch64_lrounduv4hfv4hi_us(__Float16x4_t); +__Uint16x8_t __builtin_aarch64_lrounduv8hfv8hi_us(__Float16x8_t); +__Int16x4_t __builtin_aarch64_lroundv4hfv4hi(__Float16x4_t); +__Int16x8_t __builtin_aarch64_lroundv8hfv8hi(__Float16x8_t); +long unsigned int __builtin_aarch64_lshr_simddi_uus(long unsigned int, int); +__fp16 __builtin_aarch64_nearbyinthf(__fp16); +__Float16x4_t __builtin_aarch64_nearbyintv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_nearbyintv8hf(__Float16x8_t); +__fp16 __builtin_aarch64_neghf(__fp16); +__Int8x16_t __builtin_aarch64_qtbl3v16qi(__builtin_aarch64_simd_ci, __Int8x16_t); +__Int8x8_t __builtin_aarch64_qtbl3v8qi(__builtin_aarch64_simd_ci, __Int8x8_t); +__Int8x16_t __builtin_aarch64_qtbl4v16qi(__builtin_aarch64_simd_xi, __Int8x16_t); +__Int8x8_t __builtin_aarch64_qtbl4v8qi(__builtin_aarch64_simd_xi, __Int8x8_t); +__Int8x16_t __builtin_aarch64_qtbx3v16qi(__Int8x16_t, __builtin_aarch64_simd_ci, __Int8x16_t); +__Int8x8_t __builtin_aarch64_qtbx3v8qi(__Int8x8_t, __builtin_aarch64_simd_ci, __Int8x8_t); +__Int8x16_t __builtin_aarch64_qtbx4v16qi(__Int8x16_t, __builtin_aarch64_simd_xi, __Int8x16_t); +__Int8x8_t __builtin_aarch64_qtbx4v8qi(__Int8x8_t, __builtin_aarch64_simd_xi, __Int8x8_t); +__Uint64x2_t __builtin_aarch64_rax1qv2di_uuu(__Uint64x2_t, __Uint64x2_t); +signed char __builtin_aarch64_reduc_plus_scal_v16qi(__Int8x16_t); +double __builtin_aarch64_reduc_plus_scal_v2df(__Float64x2_t); +long int __builtin_aarch64_reduc_plus_scal_v2di(__Int64x2_t); +float __builtin_aarch64_reduc_plus_scal_v2sf(__Float32x2_t); +int __builtin_aarch64_reduc_plus_scal_v2si(__Int32x2_t); +short int __builtin_aarch64_reduc_plus_scal_v4hi(__Int16x4_t); +float __builtin_aarch64_reduc_plus_scal_v4sf(__Float32x4_t); +int __builtin_aarch64_reduc_plus_scal_v4si(__Int32x4_t); +short int __builtin_aarch64_reduc_plus_scal_v8hi(__Int16x8_t); +signed char __builtin_aarch64_reduc_plus_scal_v8qi(__Int8x8_t); +double __builtin_aarch64_reduc_smax_nan_scal_v2df(__Float64x2_t); +float __builtin_aarch64_reduc_smax_nan_scal_v2sf(__Float32x2_t); +__fp16 __builtin_aarch64_reduc_smax_nan_scal_v4hf(__Float16x4_t); +float __builtin_aarch64_reduc_smax_nan_scal_v4sf(__Float32x4_t); +__fp16 __builtin_aarch64_reduc_smax_nan_scal_v8hf(__Float16x8_t); +signed char __builtin_aarch64_reduc_smax_scal_v16qi(__Int8x16_t); +double __builtin_aarch64_reduc_smax_scal_v2df(__Float64x2_t); +float __builtin_aarch64_reduc_smax_scal_v2sf(__Float32x2_t); +int __builtin_aarch64_reduc_smax_scal_v2si(__Int32x2_t); +__fp16 __builtin_aarch64_reduc_smax_scal_v4hf(__Float16x4_t); +short int __builtin_aarch64_reduc_smax_scal_v4hi(__Int16x4_t); +float __builtin_aarch64_reduc_smax_scal_v4sf(__Float32x4_t); +int __builtin_aarch64_reduc_smax_scal_v4si(__Int32x4_t); +__fp16 __builtin_aarch64_reduc_smax_scal_v8hf(__Float16x8_t); +short int __builtin_aarch64_reduc_smax_scal_v8hi(__Int16x8_t); +signed char __builtin_aarch64_reduc_smax_scal_v8qi(__Int8x8_t); +double __builtin_aarch64_reduc_smin_nan_scal_v2df(__Float64x2_t); +float __builtin_aarch64_reduc_smin_nan_scal_v2sf(__Float32x2_t); +__fp16 __builtin_aarch64_reduc_smin_nan_scal_v4hf(__Float16x4_t); +float __builtin_aarch64_reduc_smin_nan_scal_v4sf(__Float32x4_t); +__fp16 __builtin_aarch64_reduc_smin_nan_scal_v8hf(__Float16x8_t); +signed char __builtin_aarch64_reduc_smin_scal_v16qi(__Int8x16_t); +double __builtin_aarch64_reduc_smin_scal_v2df(__Float64x2_t); +float __builtin_aarch64_reduc_smin_scal_v2sf(__Float32x2_t); +int __builtin_aarch64_reduc_smin_scal_v2si(__Int32x2_t); +__fp16 __builtin_aarch64_reduc_smin_scal_v4hf(__Float16x4_t); +short int __builtin_aarch64_reduc_smin_scal_v4hi(__Int16x4_t); +float __builtin_aarch64_reduc_smin_scal_v4sf(__Float32x4_t); +int __builtin_aarch64_reduc_smin_scal_v4si(__Int32x4_t); +__fp16 __builtin_aarch64_reduc_smin_scal_v8hf(__Float16x8_t); +short int __builtin_aarch64_reduc_smin_scal_v8hi(__Int16x8_t); +signed char __builtin_aarch64_reduc_smin_scal_v8qi(__Int8x8_t); +unsigned char __builtin_aarch64_reduc_umax_scal_v16qi_uu(__Uint8x16_t); +unsigned int __builtin_aarch64_reduc_umax_scal_v2si_uu(__Uint32x2_t); +short unsigned int __builtin_aarch64_reduc_umax_scal_v4hi_uu(__Uint16x4_t); +unsigned int __builtin_aarch64_reduc_umax_scal_v4si_uu(__Uint32x4_t); +short unsigned int __builtin_aarch64_reduc_umax_scal_v8hi_uu(__Uint16x8_t); +unsigned char __builtin_aarch64_reduc_umax_scal_v8qi_uu(__Uint8x8_t); +unsigned char __builtin_aarch64_reduc_umin_scal_v16qi_uu(__Uint8x16_t); +unsigned int __builtin_aarch64_reduc_umin_scal_v2si_uu(__Uint32x2_t); +short unsigned int __builtin_aarch64_reduc_umin_scal_v4hi_uu(__Uint16x4_t); +unsigned int __builtin_aarch64_reduc_umin_scal_v4si_uu(__Uint32x4_t); +short unsigned int __builtin_aarch64_reduc_umin_scal_v8hi_uu(__Uint16x8_t); +unsigned char __builtin_aarch64_reduc_umin_scal_v8qi_uu(__Uint8x8_t); +__fp16 __builtin_aarch64_rinthf(__fp16); +__Float16x4_t __builtin_aarch64_rintv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_rintv8hf(__Float16x8_t); +__fp16 __builtin_aarch64_roundhf(__fp16); +__Float16x4_t __builtin_aarch64_roundv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_roundv8hf(__Float16x8_t); +double __builtin_aarch64_rsqrtedf(double); +__fp16 __builtin_aarch64_rsqrtehf(__fp16); +float __builtin_aarch64_rsqrtesf(float); +__Float64x2_t __builtin_aarch64_rsqrtev2df(__Float64x2_t); +__Float32x2_t __builtin_aarch64_rsqrtev2sf(__Float32x2_t); +__Float16x4_t __builtin_aarch64_rsqrtev4hf(__Float16x4_t); +__Float32x4_t __builtin_aarch64_rsqrtev4sf(__Float32x4_t); +__Float16x8_t __builtin_aarch64_rsqrtev8hf(__Float16x8_t); +double __builtin_aarch64_rsqrtsdf(double, double); +__fp16 __builtin_aarch64_rsqrtshf(__fp16, __fp16); +float __builtin_aarch64_rsqrtssf(float, float); +__Float64x2_t __builtin_aarch64_rsqrtsv2df(__Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_rsqrtsv2sf(__Float32x2_t, __Float32x2_t); +__Float16x4_t __builtin_aarch64_rsqrtsv4hf(__Float16x4_t, __Float16x4_t); +__Float32x4_t __builtin_aarch64_rsqrtsv4sf(__Float32x4_t, __Float32x4_t); +__Float16x8_t __builtin_aarch64_rsqrtsv8hf(__Float16x8_t, __Float16x8_t); +double __builtin_aarch64_scvtfdi(long int, int); +__fp16 __builtin_aarch64_scvtfdihf(long int, int); +__fp16 __builtin_aarch64_scvtfhi(short int, int); +float __builtin_aarch64_scvtfsi(int, int); +__fp16 __builtin_aarch64_scvtfsihf(int, int); +__Float64x2_t __builtin_aarch64_scvtfv2di(__Int64x2_t, int); +__Float32x2_t __builtin_aarch64_scvtfv2si(__Int32x2_t, int); +__Float16x4_t __builtin_aarch64_scvtfv4hi(__Int16x4_t, int); +__Float32x4_t __builtin_aarch64_scvtfv4si(__Int32x4_t, int); +__Float16x8_t __builtin_aarch64_scvtfv8hi(__Int16x8_t, int); +__Int32x4_t __builtin_aarch64_sdot_laneqv16qi(__Int32x4_t, __Int8x16_t, __Int8x16_t, int); +__Int32x2_t __builtin_aarch64_sdot_laneqv8qi(__Int32x2_t, __Int8x8_t, __Int8x16_t, int); +__Int32x4_t __builtin_aarch64_sdot_lanev16qi(__Int32x4_t, __Int8x16_t, __Int8x8_t, int); +__Int32x2_t __builtin_aarch64_sdot_lanev8qi(__Int32x2_t, __Int8x8_t, __Int8x8_t, int); +__Int32x4_t __builtin_aarch64_sdotv16qi(__Int32x4_t, __Int8x16_t, __Int8x16_t); +__Int32x2_t __builtin_aarch64_sdotv8qi(__Int32x2_t, __Int8x8_t, __Int8x8_t); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv2di_ssps(__builtin_aarch64_simd_ci, __Poly64x2_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv2di_ssps(__builtin_aarch64_simd_oi, __Poly64x2_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv2di_ssps(__builtin_aarch64_simd_xi, __Poly64x2_t, int); +double __builtin_aarch64_simd_bsldf_suss(long unsigned int, double, double); +__Poly64_t __builtin_aarch64_simd_bsldi_pupp(long unsigned int, __Poly64_t, __Poly64_t); +long int __builtin_aarch64_simd_bsldi_suss(long unsigned int, long int, long int); +long unsigned int __builtin_aarch64_simd_bsldi_uuuu(long unsigned int, long unsigned int, long unsigned int); +__Poly64x2_t __builtin_aarch64_simd_bslv2di_pupp(__Uint64x2_t, __Poly64x2_t, __Poly64x2_t); +__Float16x4_t __builtin_aarch64_simd_bslv4hf_suss(__Uint16x4_t, __Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_simd_bslv8hf_suss(__Uint16x8_t, __Float16x8_t, __Float16x8_t); +__Uint32x4_t __builtin_aarch64_sm3partw1qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); +__Uint32x4_t __builtin_aarch64_sm3partw2qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); +__Uint32x4_t __builtin_aarch64_sm3ss1qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); +__Uint32x4_t __builtin_aarch64_sm3tt1aqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); +__Uint32x4_t __builtin_aarch64_sm3tt1bqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); +__Uint32x4_t __builtin_aarch64_sm3tt2aqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); +__Uint32x4_t __builtin_aarch64_sm3tt2bqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); +__Uint32x4_t __builtin_aarch64_sm4ekeyqv4si_uuu(__Uint32x4_t, __Uint32x4_t); +__Uint32x4_t __builtin_aarch64_sm4eqv4si_uuu(__Uint32x4_t, __Uint32x4_t); +double __builtin_aarch64_smax_nandf(double, double); +__Float16x4_t __builtin_aarch64_smax_nanpv4hf(__Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_smax_nanpv8hf(__Float16x8_t, __Float16x8_t); +__Float16x4_t __builtin_aarch64_smax_nanv4hf(__Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_smax_nanv8hf(__Float16x8_t, __Float16x8_t); +__Float16x4_t __builtin_aarch64_smaxpv4hf(__Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_smaxpv8hf(__Float16x8_t, __Float16x8_t); +double __builtin_aarch64_smin_nandf(double, double); +__Float16x4_t __builtin_aarch64_smin_nanpv4hf(__Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_smin_nanpv8hf(__Float16x8_t, __Float16x8_t); +__Float16x4_t __builtin_aarch64_smin_nanv4hf(__Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_smin_nanv8hf(__Float16x8_t, __Float16x8_t); +__Float16x4_t __builtin_aarch64_sminpv4hf(__Float16x4_t, __Float16x4_t); +__Float16x8_t __builtin_aarch64_sminpv8hf(__Float16x8_t, __Float16x8_t); +long int __builtin_aarch64_sqabsdi(long int); +short int __builtin_aarch64_sqabshi(short int); +signed char __builtin_aarch64_sqabsqi(signed char); +int __builtin_aarch64_sqabssi(int); +long int __builtin_aarch64_sqadddi(long int, long int); +short int __builtin_aarch64_sqaddhi(short int, short int); +signed char __builtin_aarch64_sqaddqi(signed char, signed char); +int __builtin_aarch64_sqaddsi(int, int); +int __builtin_aarch64_sqdmlalhi(int, short int, short int); +int __builtin_aarch64_sqdmlal_lanehi(int, short int, __Int16x4_t, int); +int __builtin_aarch64_sqdmlal_laneqhi(int, short int, __Int16x8_t, int); +long int __builtin_aarch64_sqdmlal_laneqsi(long int, int, __Int32x4_t, int); +long int __builtin_aarch64_sqdmlal_lanesi(long int, int, __Int32x2_t, int); +long int __builtin_aarch64_sqdmlalsi(long int, int, int); +int __builtin_aarch64_sqdmlslhi(int, short int, short int); +int __builtin_aarch64_sqdmlsl_lanehi(int, short int, __Int16x4_t, int); +int __builtin_aarch64_sqdmlsl_laneqhi(int, short int, __Int16x8_t, int); +long int __builtin_aarch64_sqdmlsl_laneqsi(long int, int, __Int32x4_t, int); +long int __builtin_aarch64_sqdmlsl_lanesi(long int, int, __Int32x2_t, int); +long int __builtin_aarch64_sqdmlslsi(long int, int, int); +short int __builtin_aarch64_sqdmulhhi(short int, short int); +short int __builtin_aarch64_sqdmulh_lanehi(short int, __Int16x4_t, int); +short int __builtin_aarch64_sqdmulh_laneqhi(short int, __Int16x8_t, int); +int __builtin_aarch64_sqdmulh_laneqsi(int, __Int32x4_t, int); +int __builtin_aarch64_sqdmulh_lanesi(int, __Int32x2_t, int); +int __builtin_aarch64_sqdmulhsi(int, int); +int __builtin_aarch64_sqdmullhi(short int, short int); +int __builtin_aarch64_sqdmull_lanehi(short int, __Int16x4_t, int); +int __builtin_aarch64_sqdmull_laneqhi(short int, __Int16x8_t, int); +long int __builtin_aarch64_sqdmull_laneqsi(int, __Int32x4_t, int); +long int __builtin_aarch64_sqdmull_lanesi(int, __Int32x2_t, int); +long int __builtin_aarch64_sqdmullsi(int, int); +int __builtin_aarch64_sqmovndi(long int); +signed char __builtin_aarch64_sqmovnhi(short int); +short int __builtin_aarch64_sqmovnsi(int); +int __builtin_aarch64_sqmovundi(long int); +signed char __builtin_aarch64_sqmovunhi(short int); +short int __builtin_aarch64_sqmovunsi(int); +long int __builtin_aarch64_sqnegdi(long int); +short int __builtin_aarch64_sqneghi(short int); +signed char __builtin_aarch64_sqnegqi(signed char); +int __builtin_aarch64_sqnegsi(int); +short int __builtin_aarch64_sqrdmlahhi(short int, short int, short int); +short int __builtin_aarch64_sqrdmlah_lanehi(short int, short int, __Int16x4_t, int); +short int __builtin_aarch64_sqrdmlah_laneqhi(short int, short int, __Int16x8_t, int); +int __builtin_aarch64_sqrdmlah_laneqsi(int, int, __Int32x4_t, int); +int __builtin_aarch64_sqrdmlah_lanesi(int, int, __Int32x2_t, int); +int __builtin_aarch64_sqrdmlahsi(int, int, int); +short int __builtin_aarch64_sqrdmlshhi(short int, short int, short int); +short int __builtin_aarch64_sqrdmlsh_lanehi(short int, short int, __Int16x4_t, int); +short int __builtin_aarch64_sqrdmlsh_laneqhi(short int, short int, __Int16x8_t, int); +int __builtin_aarch64_sqrdmlsh_laneqsi(int, int, __Int32x4_t, int); +int __builtin_aarch64_sqrdmlsh_lanesi(int, int, __Int32x2_t, int); +int __builtin_aarch64_sqrdmlshsi(int, int, int); +short int __builtin_aarch64_sqrdmulhhi(short int, short int); +short int __builtin_aarch64_sqrdmulh_lanehi(short int, __Int16x4_t, int); +short int __builtin_aarch64_sqrdmulh_laneqhi(short int, __Int16x8_t, int); +int __builtin_aarch64_sqrdmulh_laneqsi(int, __Int32x4_t, int); +int __builtin_aarch64_sqrdmulh_lanesi(int, __Int32x2_t, int); +int __builtin_aarch64_sqrdmulhsi(int, int); +long int __builtin_aarch64_sqrshldi(long int, long int); +short int __builtin_aarch64_sqrshlhi(short int, short int); +signed char __builtin_aarch64_sqrshlqi(signed char, signed char); +int __builtin_aarch64_sqrshlsi(int, int); +int __builtin_aarch64_sqrshrn_ndi(long int, int); +signed char __builtin_aarch64_sqrshrn_nhi(short int, int); +short int __builtin_aarch64_sqrshrn_nsi(int, int); +int __builtin_aarch64_sqrshrun_ndi(long int, int); +signed char __builtin_aarch64_sqrshrun_nhi(short int, int); +short int __builtin_aarch64_sqrshrun_nsi(int, int); +double __builtin_aarch64_sqrtdf(double); +__fp16 __builtin_aarch64_sqrthf(__fp16); +__Float16x4_t __builtin_aarch64_sqrtv4hf(__Float16x4_t); +__Float16x8_t __builtin_aarch64_sqrtv8hf(__Float16x8_t); +long int __builtin_aarch64_sqshldi(long int, long int); +short int __builtin_aarch64_sqshlhi(short int, short int); +long int __builtin_aarch64_sqshl_ndi(long int, int); +short int __builtin_aarch64_sqshl_nhi(short int, int); +signed char __builtin_aarch64_sqshl_nqi(signed char, int); +int __builtin_aarch64_sqshl_nsi(int, int); +signed char __builtin_aarch64_sqshlqi(signed char, signed char); +int __builtin_aarch64_sqshlsi(int, int); +long unsigned int __builtin_aarch64_sqshlu_ndi_uss(long int, int); +short unsigned int __builtin_aarch64_sqshlu_nhi_uss(short int, int); +unsigned char __builtin_aarch64_sqshlu_nqi_uss(signed char, int); +unsigned int __builtin_aarch64_sqshlu_nsi_uss(int, int); +int __builtin_aarch64_sqshrn_ndi(long int, int); +signed char __builtin_aarch64_sqshrn_nhi(short int, int); +short int __builtin_aarch64_sqshrn_nsi(int, int); +int __builtin_aarch64_sqshrun_ndi(long int, int); +signed char __builtin_aarch64_sqshrun_nhi(short int, int); +short int __builtin_aarch64_sqshrun_nsi(int, int); +long int __builtin_aarch64_sqsubdi(long int, long int); +short int __builtin_aarch64_sqsubhi(short int, short int); +signed char __builtin_aarch64_sqsubqi(signed char, signed char); +int __builtin_aarch64_sqsubsi(int, int); +long int __builtin_aarch64_srshldi(long int, long int); +long int __builtin_aarch64_srshr_ndi(long int, int); +long int __builtin_aarch64_srsra_ndi(long int, long int, int); +long int __builtin_aarch64_sshldi(long int, long int); +long int __builtin_aarch64_ssli_ndi(long int, long int, int); +__Poly64_t __builtin_aarch64_ssli_ndi_ppps(__Poly64_t, __Poly64_t, int); +__Poly64x2_t __builtin_aarch64_ssli_nv2di_ppps(__Poly64x2_t, __Poly64x2_t, int); +long int __builtin_aarch64_ssra_ndi(long int, long int, int); +long int __builtin_aarch64_ssri_ndi(long int, long int, int); +void __builtin_aarch64_st1v16qi(signed char*, __Int8x16_t); +void __builtin_aarch64_st1v2df(double*, __Float64x2_t); +void __builtin_aarch64_st1v2di(long int*, __Int64x2_t); +void __builtin_aarch64_st1v2di_sp(long int*, __Poly64x2_t); +void __builtin_aarch64_st1v2sf(float*, __Float32x2_t); +void __builtin_aarch64_st1v2si(int*, __Int32x2_t); +void __builtin_aarch64_st1v4hf(__fp16*, __Float16x4_t); +void __builtin_aarch64_st1v4hi(short int*, __Int16x4_t); +void __builtin_aarch64_st1v4sf(float*, __Float32x4_t); +void __builtin_aarch64_st1v4si(int*, __Int32x4_t); +void __builtin_aarch64_st1v8hf(__fp16*, __Float16x8_t); +void __builtin_aarch64_st1v8hi(short int*, __Int16x8_t); +void __builtin_aarch64_st1v8qi(signed char*, __Int8x8_t); +void __builtin_aarch64_st1x2df(double*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2di(long int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v16qi(signed char*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v2df(double*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v2di(long int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v2sf(float*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v2si(int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v4hf(__fp16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v4hi(short int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v4sf(float*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v4si(int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v8hf(__fp16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v8hi(short int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v8qi(signed char*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x3df(double*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3di(long int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v16qi(signed char*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v2df(double*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v2di(long int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v2sf(float*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v2si(int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v4hf(__fp16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v4hi(short int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v4sf(float*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v4si(int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v8hf(__fp16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v8hi(short int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v8qi(signed char*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st2df(double*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2di(long int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v16qi(signed char*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v2df(double*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v2di(long int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v2sf(float*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v2si(int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v4hf(__fp16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v4hi(short int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v4sf(float*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v4si(int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v8hf(__fp16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v8hi(short int*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v8qi(signed char*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st3df(double*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3di(long int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v16qi(signed char*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v2df(double*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v2di(long int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v2sf(float*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v2si(int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v4hf(__fp16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v4hi(short int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v4sf(float*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v4si(int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v8hf(__fp16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v8hi(short int*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v8qi(signed char*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st4df(double*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4di(long int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v16qi(signed char*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v2df(double*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v2di(long int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v2sf(float*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v2si(int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v4hf(__fp16*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v4hi(short int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v4sf(float*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v4si(int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v8hf(__fp16*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v8hi(short int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v8qi(signed char*, __builtin_aarch64_simd_xi); +long int __builtin_aarch64_suqadddi_ssu(long int, long unsigned int); +short int __builtin_aarch64_suqaddhi_ssu(short int, short unsigned int); +signed char __builtin_aarch64_suqaddqi_ssu(signed char, unsigned char); +int __builtin_aarch64_suqaddsi_ssu(int, unsigned int); +__Int8x16_t __builtin_aarch64_tbl3v16qi(__builtin_aarch64_simd_oi, __Int8x16_t); +__Int8x16_t __builtin_aarch64_tbx4v16qi(__Int8x16_t, __builtin_aarch64_simd_oi, __Int8x16_t); +__fp16 __builtin_aarch64_ucvtfdihf_sus(long unsigned int, int); +double __builtin_aarch64_ucvtfdi_sus(long unsigned int, int); +__fp16 __builtin_aarch64_ucvtfhi_sus(short unsigned int, int); +__fp16 __builtin_aarch64_ucvtfsihf_sus(unsigned int, int); +float __builtin_aarch64_ucvtfsi_sus(unsigned int, int); +__Float64x2_t __builtin_aarch64_ucvtfv2di_sus(__Uint64x2_t, int); +__Float32x2_t __builtin_aarch64_ucvtfv2si_sus(__Uint32x2_t, int); +__Float16x4_t __builtin_aarch64_ucvtfv4hi_sus(__Uint16x4_t, int); +__Float32x4_t __builtin_aarch64_ucvtfv4si_sus(__Uint32x4_t, int); +__Float16x8_t __builtin_aarch64_ucvtfv8hi_sus(__Uint16x8_t, int); +__Uint32x4_t __builtin_aarch64_udot_laneqv16qi_uuuus(__Uint32x4_t, __Uint8x16_t, __Uint8x16_t, int); +__Uint32x2_t __builtin_aarch64_udot_laneqv8qi_uuuus(__Uint32x2_t, __Uint8x8_t, __Uint8x16_t, int); +__Uint32x4_t __builtin_aarch64_udot_lanev16qi_uuuus(__Uint32x4_t, __Uint8x16_t, __Uint8x8_t, int); +__Uint32x2_t __builtin_aarch64_udot_lanev8qi_uuuus(__Uint32x2_t, __Uint8x8_t, __Uint8x8_t, int); +__Uint32x4_t __builtin_aarch64_udotv16qi_uuuu(__Uint32x4_t, __Uint8x16_t, __Uint8x16_t); +__Uint32x2_t __builtin_aarch64_udotv8qi_uuuu(__Uint32x2_t, __Uint8x8_t, __Uint8x8_t); +long unsigned int __builtin_aarch64_uqadddi_uuu(long unsigned int, long unsigned int); +short unsigned int __builtin_aarch64_uqaddhi_uuu(short unsigned int, short unsigned int); +unsigned char __builtin_aarch64_uqaddqi_uuu(unsigned char, unsigned char); +unsigned int __builtin_aarch64_uqaddsi_uuu(unsigned int, unsigned int); +int __builtin_aarch64_uqmovndi(long int); +signed char __builtin_aarch64_uqmovnhi(short int); +short int __builtin_aarch64_uqmovnsi(int); +long unsigned int __builtin_aarch64_uqrshldi_uus(long unsigned int, long int); +short unsigned int __builtin_aarch64_uqrshlhi_uus(short unsigned int, short int); +unsigned char __builtin_aarch64_uqrshlqi_uus(unsigned char, signed char); +unsigned int __builtin_aarch64_uqrshlsi_uus(unsigned int, int); +unsigned int __builtin_aarch64_uqrshrn_ndi_uus(long unsigned int, int); +unsigned char __builtin_aarch64_uqrshrn_nhi_uus(short unsigned int, int); +short unsigned int __builtin_aarch64_uqrshrn_nsi_uus(unsigned int, int); +long unsigned int __builtin_aarch64_uqshldi_uus(long unsigned int, long int); +short unsigned int __builtin_aarch64_uqshlhi_uus(short unsigned int, short int); +long unsigned int __builtin_aarch64_uqshl_ndi_uus(long unsigned int, int); +short unsigned int __builtin_aarch64_uqshl_nhi_uus(short unsigned int, int); +unsigned char __builtin_aarch64_uqshl_nqi_uus(unsigned char, int); +unsigned int __builtin_aarch64_uqshl_nsi_uus(unsigned int, int); +unsigned char __builtin_aarch64_uqshlqi_uus(unsigned char, signed char); +unsigned int __builtin_aarch64_uqshlsi_uus(unsigned int, int); +unsigned int __builtin_aarch64_uqshrn_ndi_uus(long unsigned int, int); +unsigned char __builtin_aarch64_uqshrn_nhi_uus(short unsigned int, int); +short unsigned int __builtin_aarch64_uqshrn_nsi_uus(unsigned int, int); +long unsigned int __builtin_aarch64_uqsubdi_uuu(long unsigned int, long unsigned int); +short unsigned int __builtin_aarch64_uqsubhi_uuu(short unsigned int, short unsigned int); +unsigned char __builtin_aarch64_uqsubqi_uuu(unsigned char, unsigned char); +unsigned int __builtin_aarch64_uqsubsi_uuu(unsigned int, unsigned int); +long unsigned int __builtin_aarch64_urshldi_uus(long unsigned int, long int); +long unsigned int __builtin_aarch64_urshr_ndi_uus(long unsigned int, int); +long unsigned int __builtin_aarch64_ursra_ndi_uuus(long unsigned int, long unsigned int, int); +long unsigned int __builtin_aarch64_ushldi_uus(long unsigned int, long int); +long unsigned int __builtin_aarch64_usli_ndi_uuus(long unsigned int, long unsigned int, int); +long unsigned int __builtin_aarch64_usqadddi_uus(long unsigned int, long int); +short unsigned int __builtin_aarch64_usqaddhi_uus(short unsigned int, short int); +unsigned char __builtin_aarch64_usqaddqi_uus(unsigned char, signed char); +unsigned int __builtin_aarch64_usqaddsi_uus(unsigned int, int); +long unsigned int __builtin_aarch64_usra_ndi_uuus(long unsigned int, long unsigned int, int); +long unsigned int __builtin_aarch64_usri_ndi_uuus(long unsigned int, long unsigned int, int); +__Uint64x2_t __builtin_aarch64_xarqv2di_uuus(__Uint64x2_t, __Uint64x2_t, int); + +void* __builtin_aarch64_autia1716(void*, long unsigned int); +void* __builtin_aarch64_autib1716(void*, long unsigned int); +__bf16 __builtin_aarch64_bfcvtbf(float); +__Bfloat16x8_t __builtin_aarch64_bfcvtn2v8bf(__Bfloat16x8_t, __Float32x4_t); +__Bfloat16x8_t __builtin_aarch64_bfcvtn_qv8bf(__Float32x4_t); +__Bfloat16x4_t __builtin_aarch64_bfcvtnv4bf(__Float32x4_t); +__Float32x2_t __builtin_aarch64_bfdot_laneqv2sf(__Float32x2_t, __Bfloat16x4_t, __Bfloat16x8_t, int); +__Float32x4_t __builtin_aarch64_bfdot_laneqv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t, int); +__Float32x2_t __builtin_aarch64_bfdot_lanev2sf(__Float32x2_t, __Bfloat16x4_t, __Bfloat16x4_t, int); +__Float32x4_t __builtin_aarch64_bfdot_lanev4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x4_t, int); +__Float32x2_t __builtin_aarch64_bfdotv2sf(__Float32x2_t, __Bfloat16x4_t, __Bfloat16x4_t); +__Float32x4_t __builtin_aarch64_bfdotv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); +__Float32x4_t __builtin_aarch64_bfmlalb_lane_qv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t, int); +__Float32x4_t __builtin_aarch64_bfmlalb_lanev4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x4_t, int); +__Float32x4_t __builtin_aarch64_bfmlalbv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); +__Float32x4_t __builtin_aarch64_bfmlalt_lane_qv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t, int); +__Float32x4_t __builtin_aarch64_bfmlalt_lanev4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x4_t, int); +__Float32x4_t __builtin_aarch64_bfmlaltv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); +__Float32x4_t __builtin_aarch64_bfmmlaqv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); +__Uint64x2_t __builtin_aarch64_bswapv2di_uu(__Uint64x2_t); +__Uint32x2_t __builtin_aarch64_bswapv2si_uu(__Uint32x2_t); +__Uint16x4_t __builtin_aarch64_bswapv4hi_uu(__Uint16x4_t); +__Uint32x4_t __builtin_aarch64_bswapv4si_uu(__Uint32x4_t); +__Uint16x8_t __builtin_aarch64_bswapv8hi_uu(__Uint16x8_t); +long unsigned int __builtin_aarch64_cmeqdf_uss(double, double); +unsigned int __builtin_aarch64_cmeqsf_uss(float, float); +__Uint64x2_t __builtin_aarch64_cmeqv2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_cmeqv2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_cmeqv4sf_uss(__Float32x4_t, __Float32x4_t); +long unsigned int __builtin_aarch64_cmgedf_uss(double, double); +unsigned int __builtin_aarch64_cmgesf_uss(float, float); +__Uint64x2_t __builtin_aarch64_cmgev2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_cmgev2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_cmgev4sf_uss(__Float32x4_t, __Float32x4_t); +long unsigned int __builtin_aarch64_cmgtdf_uss(double, double); +unsigned int __builtin_aarch64_cmgtsf_uss(float, float); +__Uint64x2_t __builtin_aarch64_cmgtv2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_cmgtv2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_cmgtv4sf_uss(__Float32x4_t, __Float32x4_t); +long unsigned int __builtin_aarch64_cmledf_uss(double, double); +unsigned int __builtin_aarch64_cmlesf_uss(float, float); +__Uint64x2_t __builtin_aarch64_cmlev2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_cmlev2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_cmlev4sf_uss(__Float32x4_t, __Float32x4_t); +long unsigned int __builtin_aarch64_cmltdf_uss(double, double); +unsigned int __builtin_aarch64_cmltsf_uss(float, float); +__Uint64x2_t __builtin_aarch64_cmltv2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_cmltv2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_cmltv4sf_uss(__Float32x4_t, __Float32x4_t); +__Bfloat16x8_t __builtin_aarch64_combinev4bf(__Bfloat16x4_t, __Bfloat16x4_t); +__Int32x2_t __builtin_aarch64_ctzv2si(__Int32x2_t); +__Int32x4_t __builtin_aarch64_ctzv4si(__Int32x4_t); +long unsigned int __builtin_aarch64_facgedf_uss(double, double); +unsigned int __builtin_aarch64_facgesf_uss(float, float); +__Uint64x2_t __builtin_aarch64_facgev2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_facgev2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_facgev4sf_uss(__Float32x4_t, __Float32x4_t); +long unsigned int __builtin_aarch64_facgtdf_uss(double, double); +unsigned int __builtin_aarch64_facgtsf_uss(float, float); +__Uint64x2_t __builtin_aarch64_facgtv2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_facgtv2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_facgtv4sf_uss(__Float32x4_t, __Float32x4_t); +long unsigned int __builtin_aarch64_facledf_uss(double, double); +unsigned int __builtin_aarch64_faclesf_uss(float, float); +__Uint64x2_t __builtin_aarch64_faclev2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_faclev2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_faclev4sf_uss(__Float32x4_t, __Float32x4_t); +long unsigned int __builtin_aarch64_facltdf_uss(double, double); +unsigned int __builtin_aarch64_facltsf_uss(float, float); +__Uint64x2_t __builtin_aarch64_facltv2df_uss(__Float64x2_t, __Float64x2_t); +__Uint32x2_t __builtin_aarch64_facltv2sf_uss(__Float32x2_t, __Float32x2_t); +__Uint32x4_t __builtin_aarch64_facltv4sf_uss(__Float32x4_t, __Float32x4_t); +__Float64x2_t __builtin_aarch64_fcmla_lane0v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); +__Float64x2_t __builtin_aarch64_fcmla_lane180v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); +__Float64x2_t __builtin_aarch64_fcmla_lane270v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); +__Float64x2_t __builtin_aarch64_fcmla_lane90v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); +long int __builtin_aarch64_fix_truncdfdi(double); +int __builtin_aarch64_fix_truncdfsi(double); +long int __builtin_aarch64_fix_truncsfdi(float); +int __builtin_aarch64_fix_truncsfsi(float); +long unsigned int __builtin_aarch64_fixuns_truncdfdi_us(double); +unsigned int __builtin_aarch64_fixuns_truncdfsi_us(double); +long unsigned int __builtin_aarch64_fixuns_truncsfdi_us(float); +unsigned int __builtin_aarch64_fixuns_truncsfsi_us(float); +float __builtin_aarch64_fmaxsf(float, float); +float __builtin_aarch64_fminsf(float, float); +__Float64x2_t __builtin_aarch64_fnmav2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); +__Float32x2_t __builtin_aarch64_fnmav2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); +__Float32x4_t __builtin_aarch64_fnmav4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); +double __builtin_aarch64_frint32xdf(double); +float __builtin_aarch64_frint32xsf(float); +__Float64x2_t __builtin_aarch64_frint32xv2df(__Float64x2_t); +__Float32x2_t __builtin_aarch64_frint32xv2sf(__Float32x2_t); +__Float32x4_t __builtin_aarch64_frint32xv4sf(__Float32x4_t); +double __builtin_aarch64_frint32zdf(double); +float __builtin_aarch64_frint32zsf(float); +__Float64x2_t __builtin_aarch64_frint32zv2df(__Float64x2_t); +__Float32x2_t __builtin_aarch64_frint32zv2sf(__Float32x2_t); +__Float32x4_t __builtin_aarch64_frint32zv4sf(__Float32x4_t); +double __builtin_aarch64_frint64xdf(double); +float __builtin_aarch64_frint64xsf(float); +__Float64x2_t __builtin_aarch64_frint64xv2df(__Float64x2_t); +__Float32x2_t __builtin_aarch64_frint64xv2sf(__Float32x2_t); +__Float32x4_t __builtin_aarch64_frint64xv4sf(__Float32x4_t); +double __builtin_aarch64_frint64zdf(double); +float __builtin_aarch64_frint64zsf(float); +__Float64x2_t __builtin_aarch64_frint64zv2df(__Float64x2_t); +__Float32x2_t __builtin_aarch64_frint64zv2sf(__Float32x2_t); +__Float32x4_t __builtin_aarch64_frint64zv4sf(__Float32x4_t); +__Bfloat16x4_t __builtin_aarch64_get_dregciv4bf(__builtin_aarch64_simd_ci, int); +__Bfloat16x4_t __builtin_aarch64_get_dregoiv4bf(__builtin_aarch64_simd_oi, int); +__Bfloat16x4_t __builtin_aarch64_get_dregxiv4bf(__builtin_aarch64_simd_xi, int); +__Bfloat16x8_t __builtin_aarch64_get_qregciv8bf(__builtin_aarch64_simd_ci, int); +__Bfloat16x8_t __builtin_aarch64_get_qregoiv8bf(__builtin_aarch64_simd_oi, int); +__Bfloat16x8_t __builtin_aarch64_get_qregxiv8bf(__builtin_aarch64_simd_xi, int); +__Int64x2_t __builtin_aarch64_intrinsic_vec_smult_lo_v2si(__Int32x2_t, __Int32x2_t); +__Int32x4_t __builtin_aarch64_intrinsic_vec_smult_lo_v4hi(__Int16x4_t, __Int16x4_t); +__Int16x8_t __builtin_aarch64_intrinsic_vec_smult_lo_v8qi(__Int8x8_t, __Int8x8_t); +__Uint64x2_t __builtin_aarch64_intrinsic_vec_umult_lo_v2si_uuu(__Uint32x2_t, __Uint32x2_t); +__Uint32x4_t __builtin_aarch64_intrinsic_vec_umult_lo_v4hi_uuu(__Uint16x4_t, __Uint16x4_t); +__Uint16x8_t __builtin_aarch64_intrinsic_vec_umult_lo_v8qi_uuu(__Uint8x8_t, __Uint8x8_t); +int __builtin_aarch64_jcvtzs(double); +void __builtin_aarch64_ld1v2di_sp(long int*, __Poly64_t); +__Bfloat16x4_t __builtin_aarch64_ld1v4bf(const __bf16*); +__Bfloat16x8_t __builtin_aarch64_ld1v8bf(const __bf16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4bf(const __bf16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8bf(const __bf16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4bf(const __bf16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8bf(const __bf16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4df(const double*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4di(const long int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v16qi(const signed char*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2df(const double*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2di(const long int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2sf(const float*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2si(const int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4bf(const __bf16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4hf(const __fp16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4hi(const short int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4sf(const float*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4si(const int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8bf(const __bf16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8hf(const __fp16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8hi(const short int*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8qi(const signed char*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4bf(const __bf16*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8bf(const __bf16*, __builtin_aarch64_simd_oi, int); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4bf(const __bf16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8bf(const __bf16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4bf(const __bf16*); +__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8bf(const __bf16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4bf(const __bf16*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8bf(const __bf16*, __builtin_aarch64_simd_ci, int); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4bf(const __bf16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8bf(const __bf16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4bf(const __bf16*); +__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8bf(const __bf16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4bf(const __bf16*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8bf(const __bf16*, __builtin_aarch64_simd_xi, int); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4bf(const __bf16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8bf(const __bf16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4bf(const __bf16*); +__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8bf(const __bf16*); +double __builtin_aarch64_negdf(double); +float __builtin_aarch64_negsf(float); +__Float64x2_t __builtin_aarch64_negv2df(__Float64x2_t); +__Float32x2_t __builtin_aarch64_negv2sf(__Float32x2_t); +__Float16x4_t __builtin_aarch64_negv4hf(__Float16x4_t); +__Float32x4_t __builtin_aarch64_negv4sf(__Float32x4_t); +__Float16x8_t __builtin_aarch64_negv8hf(__Float16x8_t); +void* __builtin_aarch64_pacia1716(void*, long unsigned int); +void* __builtin_aarch64_pacib1716(void*, long unsigned int); +int __builtin_aarch64_rndr(long unsigned int*); +int __builtin_aarch64_rndrrs(long unsigned int*); +double __builtin_aarch64_rsqrt_df(double); +float __builtin_aarch64_rsqrt_sf(float); +__Float64x2_t __builtin_aarch64_rsqrt_v2df(__Float64x2_t); +__Float32x2_t __builtin_aarch64_rsqrt_v2sf(__Float32x2_t); +__Float32x4_t __builtin_aarch64_rsqrt_v4sf(__Float32x4_t); +__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv8bf(__builtin_aarch64_simd_ci, __Bfloat16x8_t, int); +__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv8bf(__builtin_aarch64_simd_oi, __Bfloat16x8_t, int); +__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv8bf(__builtin_aarch64_simd_xi, __Bfloat16x8_t, int); +__Bfloat16x4_t __builtin_aarch64_simd_bslv4bf_suss(__Uint16x4_t, __Bfloat16x4_t, __Bfloat16x4_t); +__Bfloat16x8_t __builtin_aarch64_simd_bslv8bf_suss(__Uint16x8_t, __Bfloat16x8_t, __Bfloat16x8_t); +__Int32x4_t __builtin_aarch64_simd_smmlav16qi(__Int32x4_t, __Int8x16_t, __Int8x16_t); +__Uint32x4_t __builtin_aarch64_simd_ummlav16qi_uuuu(__Uint32x4_t, __Uint8x16_t, __Uint8x16_t); +__Int32x4_t __builtin_aarch64_simd_usmmlav16qi_ssus(__Int32x4_t, __Uint8x16_t, __Int8x16_t); +void __builtin_aarch64_st1v4bf(__bf16*, __Bfloat16x4_t); +void __builtin_aarch64_st1v8bf(__bf16*, __Bfloat16x8_t); +void __builtin_aarch64_st1x2v4bf(__bf16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x2v8bf(__bf16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st1x3v4bf(__bf16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x3v8bf(__bf16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st1x4df(double*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4di(long int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v16qi(signed char*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v2df(double*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v2di(long int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v2sf(float*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v2si(int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v4bf(__bf16*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v4hf(__fp16*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v4hi(short int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v4sf(float*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v4si(int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v8bf(__bf16*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v8hf(__fp16*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v8hi(short int*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st1x4v8qi(signed char*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st2_lanev4bf(__bf16*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2_lanev8bf(__bf16*, __builtin_aarch64_simd_oi, int); +void __builtin_aarch64_st2v4bf(__bf16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st2v8bf(__bf16*, __builtin_aarch64_simd_oi); +void __builtin_aarch64_st3_lanev4bf(__bf16*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3_lanev8bf(__bf16*, __builtin_aarch64_simd_ci, int); +void __builtin_aarch64_st3v4bf(__bf16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st3v8bf(__bf16*, __builtin_aarch64_simd_ci); +void __builtin_aarch64_st4_lanev4bf(__bf16*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4_lanev8bf(__bf16*, __builtin_aarch64_simd_xi, int); +void __builtin_aarch64_st4v4bf(__bf16*, __builtin_aarch64_simd_xi); +void __builtin_aarch64_st4v8bf(__bf16*, __builtin_aarch64_simd_xi); +__Int32x4_t __builtin_aarch64_sudot_laneqv16qi_sssus(__Int32x4_t, __Int8x16_t, __Uint8x16_t, int); +__Int32x2_t __builtin_aarch64_sudot_laneqv8qi_sssus(__Int32x2_t, __Int8x8_t, __Uint8x16_t, int); +__Int32x4_t __builtin_aarch64_sudot_lanev16qi_sssus(__Int32x4_t, __Int8x16_t, __Uint8x8_t, int); +__Int32x2_t __builtin_aarch64_sudot_lanev8qi_sssus(__Int32x2_t, __Int8x8_t, __Uint8x8_t, int); +__Int8x16_t __builtin_aarch64_trn1v16qi(__Int8x16_t, __Int8x16_t); +__Float64x2_t __builtin_aarch64_trn1v2df(__Float64x2_t, __Float64x2_t); +__Int64x2_t __builtin_aarch64_trn1v2di(__Int64x2_t, __Int64x2_t); +__Float32x2_t __builtin_aarch64_trn1v2sf(__Float32x2_t, __Float32x2_t); +__Int32x2_t __builtin_aarch64_trn1v2si(__Int32x2_t, __Int32x2_t); +__Int16x4_t __builtin_aarch64_trn1v4hi(__Int16x4_t, __Int16x4_t); +__Float32x4_t __builtin_aarch64_trn1v4sf(__Float32x4_t, __Float32x4_t); +__Int32x4_t __builtin_aarch64_trn1v4si(__Int32x4_t, __Int32x4_t); +__Int16x8_t __builtin_aarch64_trn1v8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_trn1v8qi(__Int8x8_t, __Int8x8_t); +__Int8x16_t __builtin_aarch64_trn2v16qi(__Int8x16_t, __Int8x16_t); +__Float64x2_t __builtin_aarch64_trn2v2df(__Float64x2_t, __Float64x2_t); +__Int64x2_t __builtin_aarch64_trn2v2di(__Int64x2_t, __Int64x2_t); +__Float32x2_t __builtin_aarch64_trn2v2sf(__Float32x2_t, __Float32x2_t); +__Int32x2_t __builtin_aarch64_trn2v2si(__Int32x2_t, __Int32x2_t); +__Int16x4_t __builtin_aarch64_trn2v4hi(__Int16x4_t, __Int16x4_t); +__Float32x4_t __builtin_aarch64_trn2v4sf(__Float32x4_t, __Float32x4_t); +__Int32x4_t __builtin_aarch64_trn2v4si(__Int32x4_t, __Int32x4_t); +__Int16x8_t __builtin_aarch64_trn2v8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_trn2v8qi(__Int8x8_t, __Int8x8_t); +__Int32x4_t __builtin_aarch64_usdot_laneqv16qi_ssuss(__Int32x4_t, __Uint8x16_t, __Int8x16_t, int); +__Int32x2_t __builtin_aarch64_usdot_laneqv8qi_ssuss(__Int32x2_t, __Uint8x8_t, __Int8x16_t, int); +__Int32x4_t __builtin_aarch64_usdot_lanev16qi_ssuss(__Int32x4_t, __Uint8x16_t, __Int8x8_t, int); +__Int32x2_t __builtin_aarch64_usdot_lanev8qi_ssuss(__Int32x2_t, __Uint8x8_t, __Int8x8_t, int); +__Int32x4_t __builtin_aarch64_usdotv16qi_ssus(__Int32x4_t, __Uint8x16_t, __Int8x16_t); +__Int32x2_t __builtin_aarch64_usdotv8qi_ssus(__Int32x2_t, __Uint8x8_t, __Int8x8_t); +__Int8x16_t __builtin_aarch64_uzp1v16qi(__Int8x16_t, __Int8x16_t); +__Float64x2_t __builtin_aarch64_uzp1v2df(__Float64x2_t, __Float64x2_t); +__Int64x2_t __builtin_aarch64_uzp1v2di(__Int64x2_t, __Int64x2_t); +__Float32x2_t __builtin_aarch64_uzp1v2sf(__Float32x2_t, __Float32x2_t); +__Int32x2_t __builtin_aarch64_uzp1v2si(__Int32x2_t, __Int32x2_t); +__Int16x4_t __builtin_aarch64_uzp1v4hi(__Int16x4_t, __Int16x4_t); +__Float32x4_t __builtin_aarch64_uzp1v4sf(__Float32x4_t, __Float32x4_t); +__Int32x4_t __builtin_aarch64_uzp1v4si(__Int32x4_t, __Int32x4_t); +__Int16x8_t __builtin_aarch64_uzp1v8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_uzp1v8qi(__Int8x8_t, __Int8x8_t); +__Int8x16_t __builtin_aarch64_uzp2v16qi(__Int8x16_t, __Int8x16_t); +__Float64x2_t __builtin_aarch64_uzp2v2df(__Float64x2_t, __Float64x2_t); +__Int64x2_t __builtin_aarch64_uzp2v2di(__Int64x2_t, __Int64x2_t); +__Float32x2_t __builtin_aarch64_uzp2v2sf(__Float32x2_t, __Float32x2_t); +__Int32x2_t __builtin_aarch64_uzp2v2si(__Int32x2_t, __Int32x2_t); +__Int16x4_t __builtin_aarch64_uzp2v4hi(__Int16x4_t, __Int16x4_t); +__Float32x4_t __builtin_aarch64_uzp2v4sf(__Float32x4_t, __Float32x4_t); +__Int32x4_t __builtin_aarch64_uzp2v4si(__Int32x4_t, __Int32x4_t); +__Int16x8_t __builtin_aarch64_uzp2v8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_uzp2v8qi(__Int8x8_t, __Int8x8_t); +__Int64x2_t __builtin_aarch64_vec_smlal_laneq_v2si(__Int64x2_t, __Int32x2_t, __Int32x4_t, int); +__Int32x4_t __builtin_aarch64_vec_smlal_laneq_v4hi(__Int32x4_t, __Int16x4_t, __Int16x8_t, int); +__Int64x2_t __builtin_aarch64_vec_smlal_lane_v2si(__Int64x2_t, __Int32x2_t, __Int32x2_t, int); +__Int32x4_t __builtin_aarch64_vec_smlal_lane_v4hi(__Int32x4_t, __Int16x4_t, __Int16x4_t, int); +__Int64x2_t __builtin_aarch64_vec_smult_laneq_v2si(__Int32x2_t, __Int32x4_t, int); +__Int32x4_t __builtin_aarch64_vec_smult_laneq_v4hi(__Int16x4_t, __Int16x8_t, int); +__Int64x2_t __builtin_aarch64_vec_smult_lane_v2si(__Int32x2_t, __Int32x2_t, int); +__Int32x4_t __builtin_aarch64_vec_smult_lane_v4hi(__Int16x4_t, __Int16x4_t, int); +__Uint64x2_t __builtin_aarch64_vec_umlal_laneq_v2si_uuuus(__Uint64x2_t, __Uint32x2_t, __Uint32x4_t, int); +__Uint32x4_t __builtin_aarch64_vec_umlal_laneq_v4hi_uuuus(__Uint32x4_t, __Uint16x4_t, __Uint16x8_t, int); +__Uint64x2_t __builtin_aarch64_vec_umlal_lane_v2si_uuuus(__Uint64x2_t, __Uint32x2_t, __Uint32x2_t, int); +__Uint32x4_t __builtin_aarch64_vec_umlal_lane_v4hi_uuuus(__Uint32x4_t, __Uint16x4_t, __Uint16x4_t, int); +__Uint64x2_t __builtin_aarch64_vec_umult_laneq_v2si_uuus(__Uint32x2_t, __Uint32x4_t, int); +__Uint32x4_t __builtin_aarch64_vec_umult_laneq_v4hi_uuus(__Uint16x4_t, __Uint16x8_t, int); +__Uint64x2_t __builtin_aarch64_vec_umult_lane_v2si_uuus(__Uint32x2_t, __Uint32x2_t, int); +__Uint32x4_t __builtin_aarch64_vec_umult_lane_v4hi_uuus(__Uint16x4_t, __Uint16x4_t, int); +__Int16x8_t __builtin_aarch64_vec_widen_smult_hi_v16qi(__Int8x16_t, __Int8x16_t); +__Int64x2_t __builtin_aarch64_vec_widen_smult_hi_v4si(__Int32x4_t, __Int32x4_t); +__Int32x4_t __builtin_aarch64_vec_widen_smult_hi_v8hi(__Int16x8_t, __Int16x8_t); +__Uint16x8_t __builtin_aarch64_vec_widen_umult_hi_v16qi_uuu(__Uint8x16_t, __Uint8x16_t); +__Uint64x2_t __builtin_aarch64_vec_widen_umult_hi_v4si_uuu(__Uint32x4_t, __Uint32x4_t); +__Uint32x4_t __builtin_aarch64_vec_widen_umult_hi_v8hi_uuu(__Uint16x8_t, __Uint16x8_t); +void* __builtin_aarch64_xpaclri(void*); +__Int8x16_t __builtin_aarch64_zip1v16qi(__Int8x16_t, __Int8x16_t); +__Float64x2_t __builtin_aarch64_zip1v2df(__Float64x2_t, __Float64x2_t); +__Int64x2_t __builtin_aarch64_zip1v2di(__Int64x2_t, __Int64x2_t); +__Float32x2_t __builtin_aarch64_zip1v2sf(__Float32x2_t, __Float32x2_t); +__Int32x2_t __builtin_aarch64_zip1v2si(__Int32x2_t, __Int32x2_t); +__Int16x4_t __builtin_aarch64_zip1v4hi(__Int16x4_t, __Int16x4_t); +__Float32x4_t __builtin_aarch64_zip1v4sf(__Float32x4_t, __Float32x4_t); +__Int32x4_t __builtin_aarch64_zip1v4si(__Int32x4_t, __Int32x4_t); +__Int16x8_t __builtin_aarch64_zip1v8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_zip1v8qi(__Int8x8_t, __Int8x8_t); +__Int8x16_t __builtin_aarch64_zip2v16qi(__Int8x16_t, __Int8x16_t); +__Float64x2_t __builtin_aarch64_zip2v2df(__Float64x2_t, __Float64x2_t); +__Int64x2_t __builtin_aarch64_zip2v2di(__Int64x2_t, __Int64x2_t); +__Float32x2_t __builtin_aarch64_zip2v2sf(__Float32x2_t, __Float32x2_t); +__Int32x2_t __builtin_aarch64_zip2v2si(__Int32x2_t, __Int32x2_t); +__Int16x4_t __builtin_aarch64_zip2v4hi(__Int16x4_t, __Int16x4_t); +__Float32x4_t __builtin_aarch64_zip2v4sf(__Float32x4_t, __Float32x4_t); +__Int32x4_t __builtin_aarch64_zip2v4si(__Int32x4_t, __Int32x4_t); +__Int16x8_t __builtin_aarch64_zip2v8hi(__Int16x8_t, __Int16x8_t); +__Int8x8_t __builtin_aarch64_zip2v8qi(__Int8x8_t, __Int8x8_t); + +// -march=armv8.5-a+memtag +void* __builtin_aarch64_memtag_get_tag(void*); +long unsigned int __builtin_aarch64_memtag_gmi(void*, long unsigned int); +void* __builtin_aarch64_memtag_inc_tag(void*, unsigned int); +void* __builtin_aarch64_memtag_irg(void*, long unsigned int); +void __builtin_aarch64_memtag_set_tag(void*); +long int __builtin_aarch64_memtag_subp(void*, void*); +// -march=armv8.5-a+tme +void __builtin_aarch64_tcancel(long unsigned int); +void __builtin_aarch64_tcommit(void); +long unsigned int __builtin_aarch64_tstart(void); +long unsigned int __builtin_aarch64_ttest(void); + +#endif + +#ifdef __IWMMXT__ +typedef unsigned long long __mmx_m64; +typedef int __mmx_v2si __attribute__ ((vector_size (8))); +typedef short __mmx_v4hi __attribute__ ((vector_size (8))); + +#ifdef __ANDROID__ +typedef char __mmx_v8qi __attribute__ ((vector_size (8))); +__mmx_m64 __builtin_arm_wsadb (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wsadh (__mmx_v4hi __A, __mmx_v4hi __B); +void __builtin_arm_setwcx(int x, int y); +int __builtin_arm_getwcx(int x); +#else +typedef signed char __mmx_v8qi __attribute__ ((vector_size (8))); +__mmx_m64 __builtin_arm_wsadb (__mmx_v2si __A, __mmx_v8qi __B, __mmx_v8qi __C); +__mmx_m64 __builtin_arm_wsadh (__mmx_v2si __A, __mmx_v4hi __B, __mmx_v4hi __C); +#endif // __ANDROID__ + +__mmx_m64 __builtin_arm_walign (__mmx_v8qi __a, __mmx_v8qi __b, int __C); +__mmx_m64 __builtin_arm_wpackhss (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wpackwss (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wpackdss (long long __m1, long long __m2); +__mmx_m64 __builtin_arm_wpackhus (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wpackwus (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wpackdus (long long __m1, long long __m2); +__mmx_m64 __builtin_arm_wunpckihb (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wunpckihh (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wunpckihw (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wunpckilb (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wunpckilh (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wunpckilw (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wunpckelsb (__mmx_v8qi __m1); +__mmx_m64 __builtin_arm_wunpckelsh (__mmx_v4hi __m1); +__mmx_m64 __builtin_arm_wunpckelsw (__mmx_v2si __m1); +__mmx_m64 __builtin_arm_wunpckehsb (__mmx_v8qi __m1); +__mmx_m64 __builtin_arm_wunpckehsh (__mmx_v4hi __m1); +__mmx_m64 __builtin_arm_wunpckehsw (__mmx_v2si __m1); +__mmx_m64 __builtin_arm_wunpckelub (__mmx_v8qi __m1); +__mmx_m64 __builtin_arm_wunpckeluh (__mmx_v4hi __m1); +__mmx_m64 __builtin_arm_wunpckeluw (__mmx_v2si __m1); +__mmx_m64 __builtin_arm_wunpckehub (__mmx_v8qi __m1); +__mmx_m64 __builtin_arm_wunpckehuh (__mmx_v4hi __m1); +__mmx_m64 __builtin_arm_wunpckehuw (__mmx_v2si __m1); +__mmx_m64 __builtin_arm_waddb (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_waddh (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_waddw (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_waddbss (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_waddhss (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_waddwss (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_waddbus (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_waddhus (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_waddwus (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wsubb (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wsubh (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wsubw (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wsubbss (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wsubhss (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wsubwss (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wsubbus (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wsubhus (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wsubwus (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wmadds (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wmaddu (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wmulsm (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wmulum (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wmulul (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wsllh (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wsllhi (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wsllw (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wsllwi (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wslld (int __m, int __count); +__mmx_m64 __builtin_arm_wslldi (int __m, int __count); +__mmx_m64 __builtin_arm_wsrah (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wsrahi (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wsraw (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wsrawi (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wsrad (int __m, int __count); +__mmx_m64 __builtin_arm_wsradi (int __m, int __count); +__mmx_m64 __builtin_arm_wsrlh (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wsrlhi (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wsrlw (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wsrlwi (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wsrld (int __m, int __count); +__mmx_m64 __builtin_arm_wsrldi (int __m, int __count); +__mmx_m64 __builtin_arm_wrorh (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wrorhi (__mmx_v4hi __m, int __count); +__mmx_m64 __builtin_arm_wrorw (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wrorwi (__mmx_v2si __m, int __count); +__mmx_m64 __builtin_arm_wrord (int __m, int __count); +__mmx_m64 __builtin_arm_wrordi (int __m, int __count); +__mmx_m64 __builtin_arm_wand (int __m1, int __m2); +__mmx_m64 __builtin_arm_wandn (int __m2, int __m1); +__mmx_m64 __builtin_arm_wor (int __m1, int __m2); +__mmx_m64 __builtin_arm_wxor (int __m1, int __m2); +__mmx_m64 __builtin_arm_wcmpeqb (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wcmpgtsb (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wcmpgtub (__mmx_v8qi __m1, __mmx_v8qi __m2); +__mmx_m64 __builtin_arm_wcmpeqh (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wcmpgtsh (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wcmpgtuh (__mmx_v4hi __m1, __mmx_v4hi __m2); +__mmx_m64 __builtin_arm_wcmpeqw (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wcmpgtsw (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wcmpgtuw (__mmx_v2si __m1, __mmx_v2si __m2); +__mmx_m64 __builtin_arm_wmacu (int __A, __mmx_v4hi __B, __mmx_v4hi __C); +__mmx_m64 __builtin_arm_wmacs (int __A, __mmx_v4hi __B, __mmx_v4hi __C); +__mmx_m64 __builtin_arm_wmacuz (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wmacsz (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_waccb (__mmx_v8qi __A); +__mmx_m64 __builtin_arm_wacch (__mmx_v4hi __A); +__mmx_m64 __builtin_arm_waccw (__mmx_v2si __A); +__mmx_m64 __builtin_arm_tmia (int __A, int __B, int __C); +__mmx_m64 __builtin_arm_tmiaph (int __A, int __B, int __C); +__mmx_m64 __builtin_arm_tmiabb (int __A, int __B, int __C); +__mmx_m64 __builtin_arm_tmiabt (int __A, int __B, int __C); +__mmx_m64 __builtin_arm_tmiatb (int __A, int __B, int __C); +__mmx_m64 __builtin_arm_tmiatt (int __A, int __B, int __C); +__mmx_m64 __builtin_arm_wmaxsb (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wmaxsh (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wmaxsw (__mmx_v2si __A, __mmx_v2si __B); +__mmx_m64 __builtin_arm_wmaxub (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wmaxuh (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wmaxuw (__mmx_v2si __A, __mmx_v2si __B); +__mmx_m64 __builtin_arm_wminsb (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wminsh (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wminsw (__mmx_v2si __A, __mmx_v2si __B); +__mmx_m64 __builtin_arm_wminub (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wminuh (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wminuw (__mmx_v2si __A, __mmx_v2si __B); +__mmx_m64 __builtin_arm_tmovmskb (__mmx_v8qi __A); +__mmx_m64 __builtin_arm_tmovmskh (__mmx_v4hi __A); +__mmx_m64 __builtin_arm_tmovmskw (__mmx_v2si __A); +__mmx_m64 __builtin_arm_wavg2br (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wavg2hr (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wavg2b (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wavg2h (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wsadbz (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wsadhz (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wsadbz (__mmx_v8qi __A, __mmx_v8qi __B); +__mmx_m64 __builtin_arm_wsadhz (__mmx_v4hi __A, __mmx_v4hi __B); +__mmx_m64 __builtin_arm_wzero (); +__mmx_m64 __builtin_arm_setwcgr0 (int __value); +__mmx_m64 __builtin_arm_setwcgr1 (int __value); +__mmx_m64 __builtin_arm_setwcgr2 (int __value); +__mmx_m64 __builtin_arm_setwcgr3 (int __value); +__mmx_m64 __builtin_arm_getwcgr0 (); +__mmx_m64 __builtin_arm_getwcgr1 (); +__mmx_m64 __builtin_arm_getwcgr2 (); +__mmx_m64 __builtin_arm_getwcgr3 (); +__mmx_m64 __builtin_arm_wabsb (__mmx_v8qi m1); +__mmx_m64 __builtin_arm_wabsh (__mmx_v4hi __m1); +__mmx_m64 __builtin_arm_wabsw (__mmx_v2si __m1); +__mmx_m64 __builtin_arm_waddsubhx (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wabsdiffb (__mmx_v8qi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_wabsdiffh (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wabsdiffw (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wavg4 (__mmx_v8qi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_wavg4r (__mmx_v8qi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_wmaddsx (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wmaddux (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wmaddsn (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wmaddun (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wmulwsm (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wmulwum (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wmulsmr (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wmulwsmr (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wmulumr (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wmulwumr (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wmulwl (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wqmulm (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wqmulwm (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wqmulmr (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_wqmulwmr (__mmx_v2si __a, __mmx_v2si __b); +__mmx_m64 __builtin_arm_wsubaddhx (__mmx_v4hi __a, __mmx_v4hi __b); +__mmx_m64 __builtin_arm_waddbhusl (__mmx_v4hi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_waddbhusm (__mmx_v4hi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_walignr0 (__mmx_v8qi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_walignr1 (__mmx_v8qi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_walignr2 (__mmx_v8qi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_walignr3 (__mmx_v8qi __a, __mmx_v8qi __b); +__mmx_m64 __builtin_arm_tbcstb (signed char value); +__mmx_m64 __builtin_arm_tbcsth (short value); +__mmx_m64 __builtin_arm_tbcstw (int value); +int __builtin_arm_textrmsb(__mmx_v8qi, int); +int __builtin_arm_textrmsh(__mmx_v4hi, int); +int __builtin_arm_textrmsw(__mmx_v2si, int); +int __builtin_arm_textrmub(__mmx_v8qi, int); +int __builtin_arm_textrmuh(___mmx_v4hi, int); +int __builtin_arm_textrmuw(__mmx_v2si, int); +__mmx_v8qi __builtin_arm_tinsrb(__mmx_v8qi, int, int); +___mmx_v4hi __builtin_arm_tinsrh(___mmx_v4hi, int, int); +__mmx_v2si __builtin_arm_tinsrw(__mmx_v2si, int, int); +___mmx_v4hi __builtin_arm_wshufh(___mmx_v4hi, int); +#endif // __IWMMX__ + +#ifdef __IWMMXT2__ //enable with -march=iwmmxt2 +long long unsigned int __builtin_arm_wmerge(long long unsigned int, long long unsigned int, int); +long long unsigned int __builtin_arm_wmiabb(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiabbn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiabt(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiabtn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiatb(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiatbn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiatt(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiattn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); +long long unsigned int __builtin_arm_wmiawbb(long long unsigned int, __mmx_v2si, __mmx_v2si); +long long unsigned int __builtin_arm_wmiawbbn(long long unsigned int, __mmx_v2si, __mmx_v2si); +long long unsigned int __builtin_arm_wmiawbt(long long unsigned int, __mmx_v2si, __mmx_v2si); +long long unsigned int __builtin_arm_wmiawbtn(long long unsigned int, __mmx_v2si, __mmx_v2si); +long long unsigned int __builtin_arm_wmiawtb(long long unsigned int, __mmx_v2si, __mmx_v2si); +long long unsigned int __builtin_arm_wmiawtbn(long long unsigned int, __mmx_v2si, __mmx_v2si); +long long unsigned int __builtin_arm_wmiawtt(long long unsigned int, __mmx_v2si, __mmx_v2si); +long long unsigned int __builtin_arm_wmiawttn(long long unsigned int, __mmx_v2si, __mmx_v2si); +__mmx_v2si __builtin_arm_wqmiabb(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +__mmx_v2si __builtin_arm_wqmiabbn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +__mmx_v2si __builtin_arm_wqmiabt(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +__mmx_v2si __builtin_arm_wqmiabtn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +__mmx_v2si __builtin_arm_wqmiatb(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +__mmx_v2si __builtin_arm_wqmiatbn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +__mmx_v2si __builtin_arm_wqmiatt(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +__mmx_v2si __builtin_arm_wqmiattn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); +#endif + +#ifdef __ARM_FP16_ARGS // arm-eabi -mfp16-format=ieee or aarch64 +typedef float cov_fp16 __attribute__((mode(HF))); + +cov_fp16 __builtin_ceilf16(cov_fp16); +cov_fp16 __builtin_copysignf16(cov_fp16, cov_fp16); +cov_fp16 __builtin_fabsf16(cov_fp16); +cov_fp16 __builtin_floorf16(cov_fp16); +cov_fp16 __builtin_fmaf16(cov_fp16, cov_fp16, cov_fp16); +cov_fp16 __builtin_fmaxf16(cov_fp16, cov_fp16); +cov_fp16 __builtin_fminf16(cov_fp16, cov_fp16); +cov_fp16 __builtin_nanf16(const char*); +cov_fp16 __builtin_nansf16(const char*); +cov_fp16 __builtin_nearbyintf16(cov_fp16); +cov_fp16 __builtin_rintf16(cov_fp16); +cov_fp16 __builtin_roundevenf16(cov_fp16); +cov_fp16 __builtin_roundf16(cov_fp16); +cov_fp16 __builtin_sqrtf16(cov_fp16); +cov_fp16 __builtin_truncf16(cov_fp16); +cov_fp16 __builtin_huge_valf16(void); +cov_fp16 __builtin_inff16(void); +#endif + +#ifdef __coverity_cplusplus +} +#endif +/* + Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. + The information contained in this file is the proprietary and confidential + information of Synopsys, Inc. and its licensors, and is supplied subject to, + and may be used only by Synopsys customers in accordance with the terms and + conditions of a previously executed license agreement between Synopsys and + that customer. +*/ + + +#define __COVERITY_GCC_VERSION_AT_LEAST(maj, min) \ + ((__GNUC__ > (maj)) || (__GNUC__ == (maj) && __GNUC_MINOR__ >= (min))) + +#if __COVERITY_GCC_VERSION_AT_LEAST(4, 9) +// Starting with GCC 4.9, instruction set intrinsics are always visible +// regardless of whether or not the instruction set is enabled. +#define __COVERITY_GCC49_INTRINSICS 1 +#else // GCC <4.9 +#define __COVERITY_GCC49_INTRINSICS 0 +#endif + +#ifdef __IA64__ +typedef __coverity___fpreg long double __fpreg; +#endif + + +#ifdef __coverity_cplusplus +extern "C" { +#endif + +#if defined(__SIZEOF_FLOAT128__) && defined(__coverity_cplusplus) +#define cov_f128_t __float128 +#else +#define cov_f128_t long double +#endif + +// The following macros are used in the Linux Kernel +#if defined(__linux__) && defined(__KERNEL__) +#nodef BUG_ON(x) do { if (x) __coverity_panic__(); } while (0) +#nodef WARN_ON(x) ({ int result = !!(x); if (result) __coverity_panic__(); result; }) +#nodef BUG() __coverity_panic__() +void __coverity_panic__(); +#endif // Linux kernel + +#nodef setjmp +int setjmp(void *); + +#ifndef __COVERITY_NO_STRING_NODEFS__ +// Function list obtained from "cstring"+memrchr+stpcopy (from bits/string.h) + +#nodef memcpy +void *memcpy(void *, const void *, __COVERITY_SIZE_TYPE__); + +#nodef memmove +void *memmove(void *, const void *, __COVERITY_SIZE_TYPE__); + +#nodef strcpy +char *strcpy(char *, const char *); + +#nodef strncpy +char *strncpy(char *, const char *, __COVERITY_SIZE_TYPE__); + +#nodef strcat +char *strcat(char *, const char *); + +#nodef strncat +char *strncat(char *, const char *, __COVERITY_SIZE_TYPE__); + +#nodef memcmp +int memcmp(const void *, const void *, __COVERITY_SIZE_TYPE__ n); + +#nodef strcmp +int strcmp(const char *, const char *); + +#nodef strcoll +int strcoll(const char *, const char *); + +#nodef strncmp +int strncmp(const char *, const char *, __COVERITY_SIZE_TYPE__); + +#nodef strxfrm +__COVERITY_SIZE_TYPE__ +strxfrm(char *, const char *, __COVERITY_SIZE_TYPE__); + +#nodef memchr +void *memchr(const void *, int, __COVERITY_SIZE_TYPE__); + +#nodef strchr +char *strchr(const char *, int); + +#nodef strcspn +__COVERITY_SIZE_TYPE__ strcspn(const char *, const char *); + +#nodef strpbrk +char *strpbrk(const char *, const char *); + +#nodef strrchr +char *strrchr(const char *, int); + +#nodef strspn +__COVERITY_SIZE_TYPE__ strspn(const char *, const char *); + +#nodef strstr +char *strstr(const char *, const char *); + +#nodef strtok +char *strtok(char *, const char *); + +#nodef memset +void *memset(void *, int, __COVERITY_SIZE_TYPE__); + +#nodef strlen +__COVERITY_SIZE_TYPE__ strlen(const char *); + +#nodef strerror +char *strerror(int); + +#nodef memrchr +void *memrchr(const void *, int, __COVERITY_SIZE_TYPE__); + +#nodef stpcpy +char *stpcpy(char *, const char *); + +#nodef strdup +char *strdup(const char *); +#endif // __COVERITY_NO_STRING_NODEFS__ + +#define __builtin_expect_with_probability(expr, value, probability) (expr) +#define __builtin_speculation_safe_value(t1, t2) (t1) + +#ifndef __coverity_cplusplus +#if __COVERITY_GCC_VERSION_AT_LEAST(7, 0) +typedef float __coverity_float _Float32; +typedef double __coverity_floatx _Float32x; +typedef double __coverity_float _Float64; +typedef long double _Float64x; +typedef long double _Float128; +#endif /* GCC >= 7.0 */ +#endif /* __coverity_cplusplus */ + +#ifdef __coverity_cplusplus +} +#endif +#if __COVERITY_GCC_VERSION_AT_LEAST(4, 0) +typedef float __coverity_decimal _Decimal32; +typedef double __coverity_decimal _Decimal64; +typedef long double __coverity_decimal _Decimal128; + +_Decimal32 __builtin_nand32(const char*); +_Decimal32 __builtin_infd32(); +_Decimal64 __builtin_infd64(); +_Decimal64 __builtin_nand64(const char*); +_Decimal128 __builtin_infd128(); +_Decimal128 __builtin_nand128(const char*); +_Decimal128 __builtin_fabsd128(_Decimal128); +_Decimal32 __builtin_fabsd32(_Decimal32); +_Decimal64 __builtin_fabsd64(_Decimal64); +int __builtin_finited128(_Decimal128); +int __builtin_finited32(_Decimal32); +int __builtin_finited64(_Decimal64); +int __builtin_isinfd128(_Decimal128); +int __builtin_isinfd32(_Decimal32); +int __builtin_isinfd64(_Decimal64); +int __builtin_isnand128(_Decimal128); +int __builtin_isnand32(_Decimal32); +int __builtin_isnand64(_Decimal64); +int __builtin_signbitd128(_Decimal128); +int __builtin_signbitd32(_Decimal32); +int __builtin_signbitd64(_Decimal64); +_Decimal128 __builtin_nansd128(const char*); +_Decimal32 __builtin_nansd32(const char*); +_Decimal64 __builtin_nansd64(const char*); +#endif /* GCC >= 4.0 */ + +#ifdef __COVERITY_CILKPLUS +#define _Cilk_spawn +#define _Cilk_sync +#define _Cilk_for for +#endif /* __cilk */ + +#if __COVERITY_GCC_VERSION_AT_LEAST(8, 0) +/* + * The following macros are used to implement __builtin_tgmath. This GCC + * intrinsic is used to support type generic math operations in C modes. These + * can be disabled by defining __COVERITY_DISABLE_TGTMATH. + */ +#if !defined(__COVERITY_DISABLE_TGTMATH) && !defined(__coverity_cplusplus) +#define __coverity_count_args(...) __coverity_count_args_n(-,##__VA_ARGS__,9,8,7,6,5,4,3,2,1,0) +#define __coverity_count_args_n(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, count, ...) count +#define __coverity_cat(x, ...) __coverity_cat_n(x, __VA_ARGS__) +#define __coverity_cat_n(x, ...) x ## __VA_ARGS__ + +#define __builtin_tgmath(...) \ + __coverity_cat(__coverity_tgmath_,__coverity_count_args(__VA_ARGS__))(__VA_ARGS__) + +#define __coverity_tgmath_4(...) __coverity_tgmath_real(__VA_ARGS__) +#define __coverity_tgmath_5(...) __coverity_tgmath_real(__VA_ARGS__) +#define __coverity_tgmath_6(...) __coverity_tgmath_real(__VA_ARGS__) +#define __coverity_tgmath_7(...) __coverity_tgmath_cplx(__VA_ARGS__) +#define __coverity_tgmath_8(...) __coverity_tgmath_cplx(__VA_ARGS__) +#define __coverity_tgmath_9(...) __coverity_tgmath_cplx(__VA_ARGS__) + +#define __coverity_tgmath_real(rf, r, rl, arg0, ...) \ + _Generic((arg0), \ + float: (rf)(arg0, ## __VA_ARGS__), \ + long double: (rl)(arg0, ## __VA_ARGS__), \ + default: (r)(arg0, ## __VA_ARGS__)) +#define __coverity_tgmath_cplx(rf, r, rl, cf, c, cl, arg0, ...) \ + _Generic((arg0), \ + float: (rf)(arg0, ## __VA_ARGS__), \ + long double: (rl)(arg0, ## __VA_ARGS__), \ + __complex__ float: (cf)(arg0, ## __VA_ARGS__), \ + __complex__ long double: (cl)(arg0, ## __VA_ARGS__), \ + __complex__ double: (c)(arg0, ## __VA_ARGS__), \ + default: (r)(arg0, ## __VA_ARGS__)) +#endif /* !__COVERITY_DISABLE_TGTMATH_DECLS && !__coverity_cplusplus */ +#endif /* GCC 8+ */ +/* + Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. + The information contained in this file is the proprietary and confidential + information of Synopsys, Inc. and its licensors, and is supplied subject to, + and may be used only by Synopsys customers in accordance with the terms and + conditions of a previously executed license agreement between Synopsys and + that customer. +*/ + +/* + * These declarations are needed for GCC's transactional memory support. They + * are not supported intrinsically by cov-emit. + */ + +// -fgnu-tm -mavx +void __builtin__ITM_abortTransaction(int); +unsigned int __builtin__ITM_beginTransaction(unsigned int, ...); +void* __builtin__ITM_calloc(long unsigned int, long unsigned int); +void __builtin__ITM_changeTransactionMode(int); +void __builtin__ITM_commitTransactionEH(void*); +void __builtin__ITM_free(void*); +void* __builtin__ITM_getTMCloneOrIrrevocable(void*); +void* __builtin__ITM_getTMCloneSafe(void*); +void __builtin__ITM_LB(volatile void*, long unsigned int); +void __builtin__ITM_LD(volatile void*); +void __builtin__ITM_LE(volatile void*); +void __builtin__ITM_LF(volatile void*); +void __builtin__ITM_LM128(const void*); +void __builtin__ITM_LM256(const void*); +void __builtin__ITM_LM64(const void*); +void __builtin__ITM_LU1(volatile void*); +void __builtin__ITM_LU2(volatile void*); +void __builtin__ITM_LU4(volatile void*); +void __builtin__ITM_LU8(volatile void*); +void* __builtin__ITM_malloc(long unsigned int); +void __builtin__ITM_memcpyRnWt(void*, const void*, long unsigned int); +void __builtin__ITM_memcpyRtWn(void*, const void*, long unsigned int); +void __builtin__ITM_memcpyRtWt(void*, const void*, long unsigned int); +void __builtin__ITM_memmoveRtWt(void*, const void*, long unsigned int); +void __builtin__ITM_memsetW(void*, int, long unsigned int); +double __builtin__ITM_RaRD(double*); +long double __builtin__ITM_RaRE(volatile void*); +float __builtin__ITM_RaRF(volatile void*); +__edg_vector_type__(float,4) __builtin__ITM_RaRM128(const __edg_vector_type__(float,4)*); +__edg_vector_type__(float,8) __builtin__ITM_RaRM256(const __edg_vector_type__(float,8)*); +__edg_vector_type__(int,2) __builtin__ITM_RaRM64(const __edg_vector_type__(int,2)*); +unsigned char __builtin__ITM_RaRU1(volatile void*); +short unsigned int __builtin__ITM_RaRU2(volatile void*); +unsigned int __builtin__ITM_RaRU4(volatile void*); +long unsigned int __builtin__ITM_RaRU8(volatile void*); +double __builtin__ITM_RaWD(double*); +long double __builtin__ITM_RaWE(volatile void*); +float __builtin__ITM_RaWF(volatile void*); +__edg_vector_type__(float,4) __builtin__ITM_RaWM128(const __edg_vector_type__(float,4)*); +__edg_vector_type__(float,8) __builtin__ITM_RaWM256(const __edg_vector_type__(float,8)*); +__edg_vector_type__(int,2) __builtin__ITM_RaWM64(const __edg_vector_type__(int,2)*); +unsigned char __builtin__ITM_RaWU1(volatile void*); +short unsigned int __builtin__ITM_RaWU2(volatile void*); +unsigned int __builtin__ITM_RaWU4(volatile void*); +long unsigned int __builtin__ITM_RaWU8(volatile void*); +double __builtin__ITM_RD(double*); +long double __builtin__ITM_RE(volatile void*); +float __builtin__ITM_RF(volatile void*); +double __builtin__ITM_RfWD(double*); +long double __builtin__ITM_RfWE(volatile void*); +float __builtin__ITM_RfWF(volatile void*); +__edg_vector_type__(float,4) __builtin__ITM_RfWM128(const __edg_vector_type__(float,4)*); +__edg_vector_type__(float,8) __builtin__ITM_RfWM256(const __edg_vector_type__(float,8)*); +__edg_vector_type__(int,2) __builtin__ITM_RfWM64(const __edg_vector_type__(int,2)*); +unsigned char __builtin__ITM_RfWU1(volatile void*); +short unsigned int __builtin__ITM_RfWU2(volatile void*); +unsigned int __builtin__ITM_RfWU4(volatile void*); +long unsigned int __builtin__ITM_RfWU8(volatile void*); +__edg_vector_type__(float,4) __builtin__ITM_RM128(const __edg_vector_type__(float,4)*); +__edg_vector_type__(float,8) __builtin__ITM_RM256(const __edg_vector_type__(float,8)*); +__edg_vector_type__(int,2) __builtin__ITM_RM64(const __edg_vector_type__(int,2)*); +unsigned char __builtin__ITM_RU1(volatile void*); +short unsigned int __builtin__ITM_RU2(volatile void*); +unsigned int __builtin__ITM_RU4(volatile void*); +long unsigned int __builtin__ITM_RU8(volatile void*); +void __builtin__ITM_WaRD(volatile void*, double); +void __builtin__ITM_WaRE(volatile void*, long double); +void __builtin__ITM_WaRF(volatile void*, float); +void __builtin__ITM_WaRM128(__edg_vector_type__(float,4)*, __edg_vector_type__(float,4)); +void __builtin__ITM_WaRM256(__edg_vector_type__(float,8)*, __edg_vector_type__(float,8)); +void __builtin__ITM_WaRM64(__edg_vector_type__(int,2)*, __edg_vector_type__(int,2)); +void __builtin__ITM_WaRU1(volatile void*, unsigned char); +void __builtin__ITM_WaRU2(volatile void*, short unsigned int); +void __builtin__ITM_WaRU4(volatile void*, unsigned int); +void __builtin__ITM_WaRU8(volatile void*, long unsigned int); +void __builtin__ITM_WaWD(volatile void*, double); +void __builtin__ITM_WaWE(volatile void*, long double); +void __builtin__ITM_WaWF(volatile void*, float); +void __builtin__ITM_WaWM128(__edg_vector_type__(float,4)*, __edg_vector_type__(float,4)); +void __builtin__ITM_WaWM256(__edg_vector_type__(float,8)*, __edg_vector_type__(float,8)); +void __builtin__ITM_WaWM64(__edg_vector_type__(int,2)*, __edg_vector_type__(int,2)); +void __builtin__ITM_WaWU1(volatile void*, unsigned char); +void __builtin__ITM_WaWU2(volatile void*, short unsigned int); +void __builtin__ITM_WaWU4(volatile void*, unsigned int); +void __builtin__ITM_WaWU8(volatile void*, long unsigned int); +void __builtin__ITM_WD(volatile void*, double); +void __builtin__ITM_WE(volatile void*, long double); +void __builtin__ITM_WF(volatile void*, float); +void __builtin__ITM_WM128(__edg_vector_type__(float,4)*, __edg_vector_type__(float,4)); +void __builtin__ITM_WM256(__edg_vector_type__(float,8)*, __edg_vector_type__(float,8)); +void __builtin__ITM_WM64(__edg_vector_type__(int,2)*, __edg_vector_type__(int,2)); +void __builtin__ITM_WU1(volatile void*, unsigned char); +void __builtin__ITM_WU2(volatile void*, short unsigned int); +void __builtin__ITM_WU4(volatile void*, unsigned int); +void __builtin__ITM_WU8(volatile void*, long unsigned int); +void __builtin__ITM_commitTransaction(void); + +/* + Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. + The information contained in this file is the proprietary and confidential + information of Synopsys, Inc. and its licensors, and is supplied subject to, + and may be used only by Synopsys customers in accordance with the terms and + conditions of a previously executed license agreement between Synopsys and + that customer. +*/ + +/* + * These declarations are needed for GCC's OpenMP/OpenACC support. They are not + * supported intrinsically by cov-emit. + */ + +#ifdef _OPENMP +int __builtin_acc_get_device_type(void); +void __builtin_GOACC_data_end(void); +void __builtin_GOMP_atomic_end(void); +void __builtin_GOMP_atomic_start(void); +void __builtin_GOMP_barrier(void); +__edg_bool_type__ __builtin_GOMP_barrier_cancel(void); +void __builtin_GOMP_critical_end(void); +void __builtin_GOMP_critical_start(void); +void __builtin_GOMP_loop_end(void); +__edg_bool_type__ __builtin_GOMP_loop_end_cancel(void); +void __builtin_GOMP_loop_end_nowait(void); +void __builtin_GOMP_ordered_end(void); +void __builtin_GOMP_ordered_start(void); +void __builtin_GOMP_sections_end(void); +__edg_bool_type__ __builtin_GOMP_sections_end_cancel(void); +void __builtin_GOMP_sections_end_nowait(void); +unsigned int __builtin_GOMP_sections_next(void); +void* __builtin_GOMP_single_copy_start(void); +__edg_bool_type__ __builtin_GOMP_single_start(void); +void __builtin_GOMP_target_end_data(void); +void __builtin_GOMP_taskgroup_end(void); +void __builtin_GOMP_taskgroup_start(void); +void __builtin_GOMP_taskwait(void); +void __builtin_GOMP_taskyield(void); +int __builtin_omp_get_num_teams(void); +int __builtin_omp_get_num_threads(void); +int __builtin_omp_get_team_num(void); +int __builtin_omp_get_thread_num(void); +void __builtin_GOACC_data_start(int, long unsigned int, void*, void*, void*); +void __builtin_GOACC_declare(int, long unsigned int, void*, void*, void*); +void __builtin_GOACC_enter_exit_data(int, long unsigned int, void*, void*, void*, int, int, ...); +void __builtin_GOACC_parallel_keyed(int, void (*)(void*), long unsigned int, void*, void*, void*, ...); +int __builtin_goacc_parlevel_id(int); +int __builtin_goacc_parlevel_size(int); +void __builtin_GOACC_update(int, long unsigned int, void*, void*, void*, int, int, ...); +void __builtin_GOACC_wait(int, int, ...); +__edg_bool_type__ __builtin_GOMP_cancel(int, __edg_bool_type__); +__edg_bool_type__ __builtin_GOMP_cancellation_point(int); +void __builtin_GOMP_critical_name_end(void**); +void __builtin_GOMP_critical_name_start(void**); +void __builtin_GOMP_doacross_post(void*); +void __builtin_GOMP_doacross_ull_post(void*); +void __builtin_GOMP_doacross_ull_wait(long long unsigned int, ...); +void __builtin_GOMP_doacross_wait(long int, ...); +__edg_bool_type__ __builtin_GOMP_loop_doacross_dynamic_start(unsigned int, long int*, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_doacross_guided_start(unsigned int, long int*, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_doacross_runtime_start(unsigned int, long int*, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_doacross_start(unsigned int, long int*, long int, long int, long int*, long int*, void*, void*); +__edg_bool_type__ __builtin_GOMP_loop_doacross_static_start(unsigned int, long int*, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_dynamic_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_dynamic_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_guided_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_guided_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_maybe_nonmonotonic_runtime_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_maybe_nonmonotonic_runtime_start(long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_dynamic_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_dynamic_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_guided_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_guided_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_runtime_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_runtime_start(long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_dynamic_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_dynamic_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_guided_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_guided_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_runtime_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_runtime_start(long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_start(long int, long int, long int, long int, long int, long int*, long int*, void*, void*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_static_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ordered_static_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_runtime_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_runtime_start(long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_start(long int, long int, long int, long int, long int, long int*, long int*, void*, void*); +__edg_bool_type__ __builtin_GOMP_loop_static_next(long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_static_start(long int, long int, long int, long int, long int*, long int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_dynamic_start(unsigned int, long long unsigned int*, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_guided_start(unsigned int, long long unsigned int*, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_runtime_start(unsigned int, long long unsigned int*, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_start(unsigned int, long long unsigned int*, long int, long long unsigned int, long long unsigned int*, long long unsigned int*, void*, void*); +__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_static_start(unsigned int, long long unsigned int*, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_dynamic_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_dynamic_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_guided_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_guided_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_maybe_nonmonotonic_runtime_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_maybe_nonmonotonic_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_dynamic_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_dynamic_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_guided_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_guided_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_runtime_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_dynamic_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_dynamic_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_guided_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_guided_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_runtime_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long int, long long unsigned int, long long unsigned int*, long long unsigned int*, void*, void*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_static_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_static_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_runtime_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long int, long long unsigned int, long long unsigned int*, long long unsigned int*, void*, void*); +__edg_bool_type__ __builtin_GOMP_loop_ull_static_next(long long unsigned int*, long long unsigned int*); +__edg_bool_type__ __builtin_GOMP_loop_ull_static_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); +void __builtin_GOMP_offload_register_ver(int, void*, int, void*); +void __builtin_GOMP_offload_unregister_ver(int, void*, int, void*); +void __builtin_GOMP_parallel(void (*)(void*), void*, unsigned int, unsigned int); +void __builtin_GOMP_parallel_loop_dynamic(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); +void __builtin_GOMP_parallel_loop_guided(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); +void __builtin_GOMP_parallel_loop_maybe_nonmonotonic_runtime(void (*)(void*), void*, unsigned int, long int, long int, long int, unsigned int); +void __builtin_GOMP_parallel_loop_nonmonotonic_dynamic(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); +void __builtin_GOMP_parallel_loop_nonmonotonic_guided(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); +void __builtin_GOMP_parallel_loop_nonmonotonic_runtime(void (*)(void*), void*, unsigned int, long int, long int, long int, unsigned int); +void __builtin_GOMP_parallel_loop_runtime(void (*)(void*), void*, unsigned int, long int, long int, long int, unsigned int); +void __builtin_GOMP_parallel_loop_static(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); +unsigned int __builtin_GOMP_parallel_reductions(void (*)(void*), void*, unsigned int, unsigned int); +void __builtin_GOMP_parallel_sections(void (*)(void*), void*, unsigned int, unsigned int, unsigned int); +unsigned int __builtin_GOMP_sections2_start(unsigned int, void*, void*); +unsigned int __builtin_GOMP_sections_start(unsigned int); +void __builtin_GOMP_single_copy_end(void*); +void __builtin_GOMP_target_data_ext(int, long unsigned int, void*, void*, void*); +void __builtin_GOMP_target_enter_exit_data(int, long unsigned int, void*, void*, void*, unsigned int, void*); +void __builtin_GOMP_target_ext(int, void (*)(void*), long unsigned int, void*, void*, void*, unsigned int, void*, void*); +void __builtin_GOMP_target_update_ext(int, long unsigned int, void*, void*, void*, unsigned int, void*); +#if __COVERITY_GCC_VERSION_AT_LEAST(6, 0) +void __builtin_GOMP_task(void (*)(void*), void*, void (*)(void*, void*), long int, long int, __edg_bool_type__, unsigned int, void*, int); +#endif +void __builtin_GOMP_taskgroup_reduction_register(void*); +void __builtin_GOMP_taskgroup_reduction_unregister(void*); +void __builtin_GOMP_taskloop(void (*)(void*), void*, void (*)(void*, void*), long int, long int, unsigned int, long int, int, long int, long int, long int); +void __builtin_GOMP_taskloop_ull(void (*)(void*), void*, void (*)(void*, void*), long int, long int, unsigned int, long int, int, long long unsigned int, long long unsigned int, long long unsigned int); +void __builtin_GOMP_task_reduction_remap(long unsigned int, long unsigned int, void*); +void __builtin_GOMP_taskwait_depend(void*); +void __builtin_GOMP_teams(unsigned int, unsigned int); +void __builtin_GOMP_teams_reg(void (*)(void*), void*, unsigned int, unsigned int, unsigned int); +void __builtin_GOMP_workshare_task_reduction_unregister(__edg_bool_type__); +void* __builtin_GOMP_alloc(long unsigned int, long unsigned int, long int); +void __builtin_GOMP_free(void*, long int); + +#if __COVERITY_GCC_VERSION_AT_LEAST(12, 0) +void __builtin_GOACC_barrier(); +void __builtin_GOACC_enter_data(int, long unsigned int, void*, void*, void*, int, int, ...); +void __builtin_GOACC_exit_data(int, long unsigned int, void*, void*, void*, int, int, ...); +void __builtin_GOACC_single_copy_end(void*); +void* __builtin_GOACC_single_copy_start(); +__cov_bool __builtin_GOACC_single_start(); +void __builtin_GOMP_error(const void*, long unsigned int); +void __builtin_GOMP_scope_start(void*); +__cov_bool __builtin_GOMP_teams4(unsigned int, unsigned int, unsigned int, __cov_bool); +void __builtin_GOMP_warning(const void*, long unsigned int); +#endif /* GCC >= 12.0 */ +#endif /* _OPENMP */ +/* Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. */ +#ifdef __coverity_cplusplus +extern "C" { +#endif + +#ifdef __PPC__ + +typedef int __attribute__((vector_size(8))) __ev64_opaque__; +typedef int __ppc_v2i __attribute__ ((__vector_size__ (8))); + +int __builtin_spe_brinc(int, int); +__ppc_v2i __builtin_spe_evabs(__ppc_v2i); +__ppc_v2i __builtin_spe_evaddiw(__ppc_v2i, char); +__ppc_v2i __builtin_spe_evaddsmiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evaddssiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evaddumiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evaddusiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evaddw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evand(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evandc(__ppc_v2i, __ppc_v2i); +int __builtin_spe_evcmpeq(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evcmpgts(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evcmpgtu(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evcmplts(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evcmpltu(int, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evcntlsw(__ppc_v2i); +__ppc_v2i __builtin_spe_evcntlzw(__ppc_v2i); +__ppc_v2i __builtin_spe_evdivws(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evdivwu(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_eveqv(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evextsb(__ppc_v2i); +__ppc_v2i __builtin_spe_evextsh(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsabs(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsadd(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evfscfsf(__ppc_v2i); +__ppc_v2i __builtin_spe_evfscfsi(__ppc_v2i); +__ppc_v2i __builtin_spe_evfscfuf(__ppc_v2i); +__ppc_v2i __builtin_spe_evfscfui(__ppc_v2i); +int __builtin_spe_evfscmpeq(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evfscmpgt(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evfscmplt(int, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evfsctsf(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsctsi(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsctsiz(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsctuf(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsctui(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsctuiz(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsdiv(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evfsmul(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evfsnabs(__ppc_v2i); +__ppc_v2i __builtin_spe_evfsneg(__ppc_v2i); +__ppc_v2i __builtin_spe_evfssub(__ppc_v2i, __ppc_v2i); +int __builtin_spe_evfststeq(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evfststgt(int, __ppc_v2i, __ppc_v2i); +int __builtin_spe_evfststlt(int, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evldd(__ppc_v2i*, int); +__ppc_v2i __builtin_spe_evlddx(__ppc_v2i*, int); +__ppc_v2i __builtin_spe_evldh(__ppc_v2i*, int); +__ppc_v2i __builtin_spe_evldhx(__ppc_v2i*, int); +__ppc_v2i __builtin_spe_evldw(__ppc_v2i*, int); +__ppc_v2i __builtin_spe_evldwx(__ppc_v2i*, int); +__ppc_v2i __builtin_spe_evlhhesplat(short unsigned int*, int); +__ppc_v2i __builtin_spe_evlhhesplatx(short unsigned int*, int); +__ppc_v2i __builtin_spe_evlhhossplat(short unsigned int*, int); +__ppc_v2i __builtin_spe_evlhhossplatx(short unsigned int*, int); +__ppc_v2i __builtin_spe_evlhhousplat(short unsigned int*, int); +__ppc_v2i __builtin_spe_evlhhousplatx(short unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhe(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhex(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhos(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhosx(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhou(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhoux(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhsplat(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwhsplatx(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwwsplat(unsigned int*, int); +__ppc_v2i __builtin_spe_evlwwsplatx(unsigned int*, int); +__ppc_v2i __builtin_spe_evmergehi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmergehilo(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmergelo(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmergelohi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhegsmfaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhegsmfan(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhegsmiaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhegsmian(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhegumiaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhegumian(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmfaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmfanw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhesmianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhessf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhessfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhessfaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhessfanw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhessiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhessianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmheumi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmheumia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmheumiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmheumianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmheusiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmheusianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhogsmfaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhogsmfan(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhogsmiaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhogsmian(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhogumiaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhogumian(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmfaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmfanw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhosmianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhossf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhossfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhossfaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhossfanw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhossiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhossianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhoumi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhoumia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhoumiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhoumianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhousiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmhousianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmra(__ppc_v2i); +__ppc_v2i __builtin_spe_evmwhsmf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwhsmfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwhsmi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwhsmia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwhssf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwhssfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwhumi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwhumia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlsmiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlsmianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlssiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlssianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlumi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlumia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlumiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlumianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlusiaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwlusianw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmfaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmfan(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmiaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwsmian(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwssf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwssfa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwssfaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwssfan(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwumi(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwumia(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwumiaa(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evmwumian(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evnand(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evneg(__ppc_v2i); +__ppc_v2i __builtin_spe_evnor(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evor(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evorc(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evrlw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evrlwi(__ppc_v2i, char); +__ppc_v2i __builtin_spe_evrndw(__ppc_v2i); +__ppc_v2i __builtin_spe_evsel_eq(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_fseq(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_fsgt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_fslt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_fststeq(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_fststgt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_fststlt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_gts(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_gtu(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_lts(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsel_ltu(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evslw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evslwi(__ppc_v2i, char); +__ppc_v2i __builtin_spe_evsplatfi(signed char); +__ppc_v2i __builtin_spe_evsplati(signed char); +__ppc_v2i __builtin_spe_evsrwis(__ppc_v2i, char); +__ppc_v2i __builtin_spe_evsrwiu(__ppc_v2i, char); +__ppc_v2i __builtin_spe_evsrws(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsrwu(__ppc_v2i, __ppc_v2i); +void __builtin_spe_evstdd(__ppc_v2i, __ppc_v2i*, char); +void __builtin_spe_evstddx(__ppc_v2i, __ppc_v2i*, int); +void __builtin_spe_evstdh(__ppc_v2i, __ppc_v2i*, char); +void __builtin_spe_evstdhx(__ppc_v2i, __ppc_v2i*, int); +void __builtin_spe_evstdw(__ppc_v2i, __ppc_v2i*, char); +void __builtin_spe_evstdwx(__ppc_v2i, __ppc_v2i*, int); +void __builtin_spe_evstwhe(__ppc_v2i, unsigned int*, char); +void __builtin_spe_evstwhex(__ppc_v2i, unsigned int*, int); +void __builtin_spe_evstwho(__ppc_v2i, unsigned int*, char); +void __builtin_spe_evstwhox(__ppc_v2i, unsigned int*, int); +void __builtin_spe_evstwwe(__ppc_v2i, unsigned int*, char); +void __builtin_spe_evstwwex(__ppc_v2i, unsigned int*, int); +void __builtin_spe_evstwwo(__ppc_v2i, unsigned int*, char); +void __builtin_spe_evstwwox(__ppc_v2i, unsigned int*, int); +__ppc_v2i __builtin_spe_evsubfsmiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evsubfssiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evsubfumiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evsubfusiaaw(__ppc_v2i); +__ppc_v2i __builtin_spe_evsubfw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe_evsubifw(__ppc_v2i, char); +__ppc_v2i __builtin_spe_evxor(__ppc_v2i, __ppc_v2i); +int __builtin_spe_mfspefscr(); +void __builtin_spe_mtspefscr(int); + +__ppc_v2i __builtin_spe2_evaddwss(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evaddhss(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evsubfwss(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evsubfhss(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evsatsdsw(__ppc_v2i); +__ppc_v2i __internal_ev_mwhssfanw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evmwhssfanw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evmwhssfaaw(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evdotpwcssf(__ppc_v2i, __ppc_v2i); +__ppc_v2i __builtin_spe2_evdotphihcssf(__ppc_v2i, __ppc_v2i); + +#endif + +#ifdef __coverity_cplusplus +} +#endif + +#ifdef __COVERITY_ALTIVEC__ +/* Declarations of AltiVec PPU built-in intrinsic functions. */ +/* Many of these are overloaded, so they can't be declared in C. For those + * that have operator equivalents those equivalents are used in C instead, + * otherwise a generic version with no parameter types is declared. + */ + +typedef vector int __coverity_generic_altivec_vector; + +#ifdef __coverity_cplusplus +extern vector signed char __builtin_vec_abs (vector signed char a1); +extern vector signed short __builtin_vec_abs (vector signed short a1); +extern vector signed int __builtin_vec_abs (vector signed int a1); +extern vector float __builtin_vec_abs (vector float a1); + +extern vector signed char __builtin_vec_abss (vector signed char a1); +extern vector signed short __builtin_vec_abss (vector signed short a1); +#else +__coverity_generic_altivec_vector __builtin_vec_abs(); +__coverity_generic_altivec_vector __builtin_vec_abss(); +#endif + +#ifdef __coverity_cplusplus + extern vector unsigned int __builtin_vec_vslw (vector unsigned int a1, vector unsigned int a2); +#else +__coverity_generic_altivec_vector __builtin_vec_vslw (); +#endif + +#ifdef __coverity_cplusplus +extern int __builtin_vec_vcmpgt_p(int, vector signed char a1, vector signed char a2); +extern int __builtin_vec_vcmpgt_p(int, vector unsigned char a1, vector unsigned char a2); +extern int __builtin_vec_vcmpgt_p(int, vector signed short a1, vector signed short a2); +extern int __builtin_vec_vcmpgt_p(int, vector unsigned short a1, vector unsigned short a2); +extern int __builtin_vec_vcmpgt_p(int, vector signed int a1, vector signed int a2); +extern int __builtin_vec_vcmpgt_p(int, vector unsigned int a1, vector unsigned int a2); +extern int __builtin_vec_vcmpgt_p(int, vector signed char a1, vector signed char a2); +extern int __builtin_vec_vcmpgt_p(int, vector float a1, vector float a2); +#else +int __builtin_vec_vcmpgt_p(); +#endif + +#ifdef __coverity_cplusplus +extern vector signed char __builtin_vec_add (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_add (vector signed char a1, vector unsigned char a2); + +extern vector unsigned char __builtin_vec_add (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_add (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_add (vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_vec_add (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_add (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_add (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_add (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_add (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_add (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_add (vector unsigned int a1, vector unsigned int a2); +extern vector float __builtin_vec_add (vector float a1, vector float a2); +#else +# define __builtin_vec_add(a, b) ((a) + (b)) +#endif + +extern vector unsigned int __builtin_vec_addc (vector unsigned int a1, vector unsigned int a2); + +#ifdef __coverity_cplusplus +extern vector unsigned char __builtin_vec_adds (vector signed char a1, + vector unsigned char a2); +extern vector unsigned char __builtin_vec_adds (vector unsigned char a1, + vector signed char a2); +extern vector unsigned char __builtin_vec_adds (vector unsigned char a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_adds (vector signed char a1, vector signed char a2); +extern vector unsigned short __builtin_vec_adds (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_adds (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_adds (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_adds (vector signed short a1, vector signed short a2); + +extern vector unsigned int __builtin_vec_adds (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_adds (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_adds (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_adds (vector signed int a1, vector signed int a2); +#else +__coverity_generic_altivec_vector __builtin_vec_adds (); +#endif + +#ifdef __coverity_cplusplus +extern vector float __builtin_vec_and (vector float a1, vector float a2); +extern vector float __builtin_vec_and (vector float a1, vector signed int a2); +extern vector float __builtin_vec_and (vector signed int a1, vector float a2); +extern vector signed int __builtin_vec_and (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_and (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_and (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_and (vector unsigned int a1, vector unsigned int a2); +extern vector signed short __builtin_vec_and (vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_vec_and (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_and (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_and (vector unsigned short a1, + vector unsigned short a2); +extern vector signed char __builtin_vec_and (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_and (vector signed char a1, vector unsigned char a2); + +extern vector unsigned char __builtin_vec_and (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_and (vector unsigned char a1, + vector unsigned char a2); +#else +# define __builtin_vec_and(a, b) ((a) & (b)) +#endif + +#ifdef __coverity_cplusplus +extern vector float __builtin_vec_andc (vector float a1, vector float a2); +extern vector float __builtin_vec_andc (vector float a1, vector signed int a2); +extern vector float __builtin_vec_andc (vector signed int a1, vector float a2); +extern vector signed int __builtin_vec_andc (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_andc (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_andc (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_andc (vector unsigned int a1, vector unsigned int a2); + +extern vector signed short __builtin_vec_andc (vector signed short a1, vector signed short a2); + +extern vector unsigned short __builtin_vec_andc (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_andc (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_andc (vector unsigned short a1, + vector unsigned short a2); +extern vector signed char __builtin_vec_andc (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_andc (vector signed char a1, + vector unsigned char a2); +extern vector unsigned char __builtin_vec_andc (vector unsigned char a1, + vector signed char a2); +extern vector unsigned char __builtin_vec_andc (vector unsigned char a1, + vector unsigned char a2); +#else +__coverity_generic_altivec_vector __builtin_vec_andc (); +#endif + +#ifdef __coverity_cplusplus +extern vector unsigned char __builtin_vec_avg (vector unsigned char a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_avg (vector signed char a1, vector signed char a2); +extern vector unsigned short __builtin_vec_avg (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_avg (vector signed short a1, vector signed short a2); +extern vector unsigned int __builtin_vec_avg (vector unsigned int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_avg (vector signed int a1, vector signed int a2); +#else +__coverity_generic_altivec_vector __builtin_vec_avg (); +#endif + +extern vector float __builtin_vec_ceil (vector float a1); + +extern vector signed int __builtin_vec_cmpb (vector float a1, vector float a2); + +#ifdef __coverity_cplusplus +extern vector signed char __builtin_vec_cmpeq (vector signed char a1, vector signed char a2); +extern vector signed char __builtin_vec_cmpeq (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_cmpeq (vector signed short a1, + vector signed short a2); +extern vector signed short __builtin_vec_cmpeq (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_cmpeq (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_cmpeq (vector unsigned int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_cmpeq (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_cmpge (vector float a1, vector float a2); + +extern vector signed char __builtin_vec_cmpgt (vector unsigned char a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_cmpgt (vector signed char a1, vector signed char a2); +extern vector signed short __builtin_vec_cmpgt (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_cmpgt (vector signed short a1, + vector signed short a2); +extern vector signed int __builtin_vec_cmpgt (vector unsigned int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_cmpgt (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_cmpgt (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_cmple (vector float a1, vector float a2); + +extern vector signed char __builtin_vec_cmplt (vector unsigned char a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_cmplt (vector signed char a1, vector signed char a2); +extern vector signed short __builtin_vec_cmplt (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_cmplt (vector signed short a1, + vector signed short a2); +extern vector signed int __builtin_vec_cmplt (vector unsigned int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_cmplt (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_cmplt (vector float a1, vector float a2); +#else +__coverity_generic_altivec_vector __builtin_vec_cmpeq (); +__coverity_generic_altivec_vector __builtin_vec_cmpge (); +__coverity_generic_altivec_vector __builtin_vec_cmpgt (); +__coverity_generic_altivec_vector __builtin_vec_cmple (); +__coverity_generic_altivec_vector __builtin_vec_cmplt (); +#endif + +#ifdef __coverity_cplusplus +extern vector float __builtin_vec_ctf (vector unsigned int a1, const char a2); +extern vector float __builtin_vec_ctf (vector signed int a1, const char a2); +#else +extern vector float __builtin_vec_ctf (); +#endif + +extern vector signed int __builtin_vec_cts (vector float a1, const char a2); + +extern vector unsigned int __builtin_vec_ctu (vector float a1, const char a2); + +extern void __builtin_vec_dss (const char a1); + +extern void __builtin_vec_dssall (void); + +extern void __builtin_vec_dst (const void * a1, int a2, const char a3); + +extern void __builtin_vec_dstst (const void * a1, int a2, const char a3); + +extern void __builtin_vec_dststt (const void * a1, int a2, const char a3); + +extern void __builtin_vec_dstt (const void * a1, int a2, const char a3); + +#ifdef __coverity_cplusplus +extern vector float __builtin_vec_expte (vector float a1, vector float a2); +extern vector float __builtin_vec_expte (vector float a1); + +extern vector float __builtin_vec_floor (vector float a1, vector float a2); +extern vector float __builtin_vec_floor (vector float a1); +#else +__coverity_generic_altivec_vector __builtin_vec_expte(); +__coverity_generic_altivec_vector __builtin_vec_floor(); +#endif + +#ifdef __coverity_cplusplus +extern vector float __builtin_vec_ld (int a1, vector float * a2); +extern vector float __builtin_vec_ld (int a1, float * a2); +extern vector signed int __builtin_vec_ld (int a1, int * a2); +extern vector signed int __builtin_vec_ld (int a1, vector signed int * a2); +extern vector unsigned int __builtin_vec_ld (int a1, vector unsigned int * a2); +extern vector unsigned int __builtin_vec_ld (int a1, unsigned int * a2); +extern vector signed short __builtin_vec_ld (int a1, short * a2, vector signed short * a3); +extern vector unsigned short __builtin_vec_ld (int a1, unsigned short * a2, + vector unsigned short * a3); +extern vector signed char __builtin_vec_ld (int a1, signed char * a2); +extern vector signed char __builtin_vec_ld (int a1, vector signed char * a2); +extern vector unsigned char __builtin_vec_ld (int a1, unsigned char * a2); +extern vector unsigned char __builtin_vec_ld (int a1, vector unsigned char * a2); + +extern vector signed char __builtin_vec_lde (int a1, signed char * a2); +extern vector unsigned char __builtin_vec_lde (int a1, unsigned char * a2); +extern vector signed short __builtin_vec_lde (int a1, short * a2); +extern vector unsigned short __builtin_vec_lde (int a1, unsigned short * a2); +extern vector float __builtin_vec_lde (int a1, float * a2); +extern vector signed int __builtin_vec_lde (int a1, int * a2); +extern vector unsigned int __builtin_vec_lde (int a1, unsigned int * a2); + +extern vector float __builtin_vec_ldl (int a1, float * a2); +extern vector float __builtin_vec_ldl (int a1, vector float * a2); +extern vector signed int __builtin_vec_ldl (int a1, vector signed int * a2); +extern vector signed int __builtin_vec_ldl (int a1, int * a2); +extern vector unsigned int __builtin_vec_ldl (int a1, unsigned int * a2); +extern vector unsigned int __builtin_vec_ldl (int a1, vector unsigned int * a2); +extern vector signed short __builtin_vec_ldl (int a1, vector signed short * a2); +extern vector signed short __builtin_vec_ldl (int a1, short * a2); +extern vector unsigned short __builtin_vec_ldl (int a1, vector unsigned short * a2); +extern vector unsigned short __builtin_vec_ldl (int a1, unsigned short * a2); +extern vector signed char __builtin_vec_ldl (int a1, vector signed char * a2); +extern vector signed char __builtin_vec_ldl (int a1, signed char * a2); +extern vector unsigned char __builtin_vec_ldl (int a1, vector unsigned char * a2); +extern vector unsigned char __builtin_vec_ldl (int a1, unsigned char * a2); +#else +__coverity_generic_altivec_vector __builtin_vec_ld (); +__coverity_generic_altivec_vector __builtin_vec_lde (); +__coverity_generic_altivec_vector __builtin_vec_ldl (); +#endif + +extern vector float __builtin_vec_loge (vector float a1); + +extern vector unsigned char __builtin_vec_lvsl (int a1, const void * a2, int * a3); + +extern vector unsigned char __builtin_vec_lvsr (int a1, const void * a2, int * a3); + +extern vector float __builtin_vec_madd (vector float a1, vector float a2, vector float a3); + +extern vector signed short __builtin_vec_madds (vector signed short a1, vector signed short a2, + vector signed short a3); + +#ifdef __coverity_cplusplus +extern vector unsigned char __builtin_vec_max (vector signed char a1, vector unsigned char a2); + +extern vector unsigned char __builtin_vec_max (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_max (vector unsigned char a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_max (vector signed char a1, vector signed char a2); +extern vector unsigned short __builtin_vec_max (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_max (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_max (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_max (vector signed short a1, vector signed short a2); +extern vector unsigned int __builtin_vec_max (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_max (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_max (vector unsigned int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_max (vector signed int a1, vector signed int a2); +extern vector float __builtin_vec_max (vector float a1, vector float a2); + +extern vector signed char __builtin_vec_mergeh (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_mergeh (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_mergeh (vector signed short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_mergeh (vector unsigned short a1, + vector unsigned short a2); +extern vector float __builtin_vec_mergeh (vector float a1, vector float a2); +extern vector signed int __builtin_vec_mergeh (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_mergeh (vector unsigned int a1, + vector unsigned int a2); + +extern vector signed char __builtin_vec_mergel (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_mergel (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_mergel (vector signed short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_mergel (vector unsigned short a1, + vector unsigned short a2); +extern vector float __builtin_vec_mergel (vector float a1, vector float a2); +extern vector signed int __builtin_vec_mergel (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_mergel (vector unsigned int a1, + vector unsigned int a2); +#else +__coverity_generic_altivec_vector __builtin_vec_max (); +__coverity_generic_altivec_vector __builtin_vec_mergeh (); +__coverity_generic_altivec_vector __builtin_vec_mergel (); +#endif + +extern vector unsigned short __builtin_vec_mfvscr (void); + +#ifdef __coverity_cplusplus +extern vector unsigned char __builtin_vec_min (vector signed char a1, vector unsigned char a2); + +extern vector unsigned char __builtin_vec_min (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_min (vector unsigned char a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_min (vector signed char a1, vector signed char a2); +extern vector unsigned short __builtin_vec_min (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_min (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_min (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_min (vector signed short a1, vector signed short a2); +extern vector unsigned int __builtin_vec_min (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_min (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_min (vector unsigned int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_min (vector signed int a1, vector signed int a2); +extern vector float __builtin_vec_min (vector float a1, vector float a2); + +extern vector signed short __builtin_vec_mladd (vector signed short a1, vector signed short a2, + vector signed short a3); +extern vector signed short __builtin_vec_mladd (vector signed short a1, + vector unsigned short a2, + vector unsigned short a3); +extern vector signed short __builtin_vec_mladd (vector unsigned short a1, + vector signed short a2, + vector signed short a3); +extern vector unsigned short __builtin_vec_mladd (vector unsigned short a1, + vector unsigned short a2, + vector unsigned short a3); +#else +__coverity_generic_altivec_vector __builtin_vec_min (); +__coverity_generic_altivec_vector __builtin_vec_mladd (); +#endif + +extern vector signed short __builtin_vec_mradds (vector signed short a1, + vector signed short a2, + vector signed short a3); + +#ifdef __coverity_cplusplus +extern vector unsigned int __builtin_vec_msum (vector unsigned char a1, + vector unsigned char a2, + vector unsigned int a3); +extern vector signed int __builtin_vec_msum (vector signed char a1, vector unsigned char a2, + vector signed int a3); +extern vector unsigned int __builtin_vec_msum (vector unsigned short a1, + vector unsigned short a2, + vector unsigned int a3); +extern vector signed int __builtin_vec_msum (vector signed short a1, vector signed short a2, + vector signed int a3); + +extern vector unsigned int __builtin_vec_msums (vector unsigned short a1, + vector unsigned short a2, + vector unsigned int a3); +extern vector signed int __builtin_vec_msums (vector signed short a1, vector signed short a2, + vector signed int a3); + +extern void __builtin_vec_mtvscr (vector signed int a1); +extern void __builtin_vec_mtvscr (vector unsigned int a1); +extern void __builtin_vec_mtvscr (vector signed short a1); +extern void __builtin_vec_mtvscr (vector unsigned short a1); +extern void __builtin_vec_mtvscr (vector signed char a1); +extern void __builtin_vec_mtvscr (vector unsigned char a1); + +extern vector unsigned short __builtin_vec_mule (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_mule (vector signed char a1, vector signed char a2); +extern vector unsigned int __builtin_vec_mule (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_mule (vector signed short a1, vector signed short a2); + +extern vector unsigned short __builtin_vec_mulo (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_mulo (vector signed char a1, vector signed char a2); +extern vector unsigned int __builtin_vec_mulo (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_mulo (vector signed short a1, vector signed short a2); +#else +__coverity_generic_altivec_vector __builtin_vec_msum (); +__coverity_generic_altivec_vector __builtin_vec_msums (); +extern void __builtin_vec_mtvscr (); +__coverity_generic_altivec_vector __builtin_vec_mule (); +__coverity_generic_altivec_vector __builtin_vec_mulo (); +#endif + +extern vector float __builtin_vec_nmsub (vector float a1, vector float a2, vector float a3); + +#ifdef __coverity_cplusplus +extern vector float __builtin_vec_nor (vector float a1, vector float a2); +extern vector signed int __builtin_vec_nor (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_nor (vector unsigned int a1, vector unsigned int a2); +extern vector signed short __builtin_vec_nor (vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_vec_nor (vector unsigned short a1, + vector unsigned short a2); +extern vector signed char __builtin_vec_nor (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_nor (vector unsigned char a1, + vector unsigned char a2); + +extern vector float __builtin_vec_or (vector float a1, vector float a2); +extern vector float __builtin_vec_or (vector float a1, vector signed int a2); +extern vector float __builtin_vec_or (vector signed int a1, vector float a2); +extern vector signed int __builtin_vec_or (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_or (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_or (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_or (vector unsigned int a1, vector unsigned int a2); +extern vector signed short __builtin_vec_or (vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_vec_or (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_or (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_or (vector unsigned short a1, + vector unsigned short a2); +extern vector signed char __builtin_vec_or (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_or (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_or (vector unsigned char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_or (vector unsigned char a1, + vector unsigned char a2); + +extern vector signed char __builtin_vec_pack (vector signed short a1, vector signed short a2); +extern vector unsigned char __builtin_vec_pack (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_pack (vector signed int a1, vector signed int a2); +extern vector unsigned short __builtin_vec_pack (vector unsigned int a1, + vector unsigned int a2); +#else +# define __builtin_vec_nor(a, b) (~((a) | (b))) +# define __builtin_vec_or(a, b) ((a) | (b)) +__coverity_generic_altivec_vector __builtin_vec_pack (); +#endif + +extern vector signed short __builtin_vec_packpx (vector unsigned int a1, + vector unsigned int a2); + +#ifdef __coverity_cplusplus +extern vector unsigned char __builtin_vec_packs (vector unsigned short a1, + vector unsigned short a2); +extern vector signed char __builtin_vec_packs (vector signed short a1, vector signed short a2); + +extern vector unsigned short __builtin_vec_packs (vector unsigned int a1, + vector unsigned int a2); +extern vector signed short __builtin_vec_packs (vector signed int a1, vector signed int a2); + +extern vector unsigned char __builtin_vec_packsu (vector unsigned short a1, + vector unsigned short a2); +extern vector unsigned char __builtin_vec_packsu (vector signed short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_packsu (vector unsigned int a1, + vector unsigned int a2); +extern vector unsigned short __builtin_vec_packsu (vector signed int a1, vector signed int a2); + +extern vector float __builtin_vec_perm (vector float a1, vector float a2, + vector unsigned char a3); +extern vector signed int __builtin_vec_perm (vector signed int a1, vector signed int a2, + vector unsigned char a3); +extern vector unsigned int __builtin_vec_perm (vector unsigned int a1, vector unsigned int a2, + vector unsigned char a3); +extern vector signed short __builtin_vec_perm (vector signed short a1, vector signed short a2, + vector unsigned char a3); +extern vector unsigned short __builtin_vec_perm (vector unsigned short a1, + vector unsigned short a2, + vector unsigned char a3); +extern vector signed char __builtin_vec_perm (vector signed char a1, vector signed char a2, + vector unsigned char a3); +extern vector unsigned char __builtin_vec_perm (vector unsigned char a1, + vector unsigned char a2, + vector unsigned char a3); +#else +__coverity_generic_altivec_vector __builtin_vec_packs (); +__coverity_generic_altivec_vector __builtin_vec_packsu (); +__coverity_generic_altivec_vector __builtin_vec_perm (); +#endif + +extern vector float __builtin_vec_re (vector float a1); + +#ifdef __coverity_cplusplus +extern vector signed char __builtin_vec_rl (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_rl (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_rl (vector signed short a1, vector unsigned short a2); + +extern vector unsigned short __builtin_vec_rl (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_rl (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_rl (vector unsigned int a1, vector unsigned int a2); +#else +__coverity_generic_altivec_vector __builtin_vec_rl (); +#endif + +extern vector float __builtin_vec_round (vector float a1); + +extern vector float __builtin_vec_rsqrte (vector float a1); + +#ifdef __coverity_cplusplus +extern vector float __builtin_vec_sel (vector float a1, vector float a2, vector signed int a3); +extern vector float __builtin_vec_sel (vector float a1, vector float a2, vector unsigned int a3); +extern vector signed int __builtin_vec_sel (vector signed int a1, vector signed int a2, + vector signed int a3); +extern vector signed int __builtin_vec_sel (vector signed int a1, vector signed int a2, + vector unsigned int a3); +extern vector unsigned int __builtin_vec_sel (vector unsigned int a1, vector unsigned int a2, + vector signed int a3); +extern vector unsigned int __builtin_vec_sel (vector unsigned int a1, vector unsigned int a2, + vector unsigned int a3); +extern vector signed short __builtin_vec_sel (vector signed short a1, vector signed short a2, + vector signed short a3); +extern vector signed short __builtin_vec_sel (vector signed short a1, vector signed short a2, + vector unsigned short a3); +extern vector unsigned short __builtin_vec_sel (vector unsigned short a1, + vector unsigned short a2, + vector signed short a3); +extern vector unsigned short __builtin_vec_sel (vector unsigned short a1, + vector unsigned short a2, + vector unsigned short a3); +extern vector signed char __builtin_vec_sel (vector signed char a1, vector signed char a2, + vector signed char a3); +extern vector signed char __builtin_vec_sel (vector signed char a1, vector signed char a2, + vector unsigned char a3); +extern vector unsigned char __builtin_vec_sel (vector unsigned char a1, + vector unsigned char a2, + vector signed char a3); +extern vector unsigned char __builtin_vec_sel (vector unsigned char a1, + vector unsigned char a2, + vector unsigned char a3); + +extern vector signed char __builtin_vec_sl (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_sl (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_sl (vector signed short a1, vector unsigned short a2); + +extern vector unsigned short __builtin_vec_sl (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_sl (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_sl (vector unsigned int a1, vector unsigned int a2); + +extern vector float __builtin_vec_sld (vector float a1, vector float a2, const char a3); +extern vector signed int __builtin_vec_sld (vector signed int a1, vector signed int a2, + const char a3); +extern vector unsigned int __builtin_vec_sld (vector unsigned int a1, vector unsigned int a2, + const char a3); +extern vector signed short __builtin_vec_sld (vector signed short a1, vector signed short a2, + const char a3); +extern vector unsigned short __builtin_vec_sld (vector unsigned short a1, + vector unsigned short a2, const char a3); +extern vector signed char __builtin_vec_sld (vector signed char a1, vector signed char a2, + const char a3); +extern vector unsigned char __builtin_vec_sld (vector unsigned char a1, + vector unsigned char a2, + const char a3); + +extern vector signed int __builtin_vec_sll (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_sll (vector signed int a1, vector unsigned short a2); +extern vector signed int __builtin_vec_sll (vector signed int a1, vector unsigned char a2); +extern vector unsigned int __builtin_vec_sll (vector unsigned int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_sll (vector unsigned int a1, + vector unsigned short a2); +extern vector unsigned int __builtin_vec_sll (vector unsigned int a1, vector unsigned char a2); + +extern vector signed short __builtin_vec_sll (vector signed short a1, vector unsigned int a2); +extern vector signed short __builtin_vec_sll (vector signed short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_sll (vector signed short a1, vector unsigned char a2); + +extern vector unsigned short __builtin_vec_sll (vector unsigned short a1, + vector unsigned int a2); +extern vector unsigned short __builtin_vec_sll (vector unsigned short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_sll (vector unsigned short a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_sll (vector signed char a1, vector unsigned int a2); +extern vector signed char __builtin_vec_sll (vector signed char a1, vector unsigned short a2); +extern vector signed char __builtin_vec_sll (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_sll (vector unsigned char a1, + vector unsigned int a2); +extern vector unsigned char __builtin_vec_sll (vector unsigned char a1, + vector unsigned short a2); +extern vector unsigned char __builtin_vec_sll (vector unsigned char a1, + vector unsigned char a2); + +extern vector float __builtin_vec_slo (vector float a1, vector signed char a2); +extern vector float __builtin_vec_slo (vector float a1, vector unsigned char a2); +extern vector signed int __builtin_vec_slo (vector signed int a1, vector signed char a2); +extern vector signed int __builtin_vec_slo (vector signed int a1, vector unsigned char a2); +extern vector unsigned int __builtin_vec_slo (vector unsigned int a1, vector signed char a2); +extern vector unsigned int __builtin_vec_slo (vector unsigned int a1, vector unsigned char a2); + +extern vector signed short __builtin_vec_slo (vector signed short a1, vector signed char a2); +extern vector signed short __builtin_vec_slo (vector signed short a1, vector unsigned char a2); + +extern vector unsigned short __builtin_vec_slo (vector unsigned short a1, + vector signed char a2); +extern vector unsigned short __builtin_vec_slo (vector unsigned short a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_slo (vector signed char a1, vector signed char a2); +extern vector signed char __builtin_vec_slo (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_slo (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_slo (vector unsigned char a1, + vector unsigned char a2); + +extern vector signed char __builtin_vec_splat (vector signed char a1, const char a2); +extern vector unsigned char __builtin_vec_splat (vector unsigned char a1, const char a2); +extern vector signed short __builtin_vec_splat (vector signed short a1, const char a2); +extern vector unsigned short __builtin_vec_splat (vector unsigned short a1, const char a2); +extern vector float __builtin_vec_splat (vector float a1, const char a2); +extern vector signed int __builtin_vec_splat (vector signed int a1, const char a2); +extern vector unsigned int __builtin_vec_splat (vector unsigned int a1, const char a2); +#else +# define __builtin_vec_sl(a, b) ((a) << (b)) +__coverity_generic_altivec_vector __builtin_vec_sel (); +__coverity_generic_altivec_vector __builtin_vec_sel (); +__coverity_generic_altivec_vector __builtin_vec_sld (); +__coverity_generic_altivec_vector __builtin_vec_sll (); +__coverity_generic_altivec_vector __builtin_vec_slo (); +#endif + +extern vector signed char __builtin_vec_splat_s8 (const char a1); + +extern vector signed short __builtin_vec_splat_s16 (const char a1); + +extern vector signed int __builtin_vec_splat_s32 (const char a1); + +extern vector unsigned char __builtin_vec_splat_u8 (const char a1); + +extern vector unsigned short __builtin_vec_splat_u16 (const char a1); + +extern vector unsigned int __builtin_vec_splat_u32 (const char a1); + +#ifdef __coverity_cplusplus +extern vector signed char __builtin_vec_sr (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_sr (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_sr (vector signed short a1, vector unsigned short a2); + +extern vector unsigned short __builtin_vec_sr (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_sr (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_sr (vector unsigned int a1, vector unsigned int a2); + +extern vector signed char __builtin_vec_sra (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_sra (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_sra (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_sra (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_sra (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_sra (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_srl (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_srl (vector signed int a1, vector unsigned short a2); +extern vector signed int __builtin_vec_srl (vector signed int a1, vector unsigned char a2); +extern vector unsigned int __builtin_vec_srl (vector unsigned int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_srl (vector unsigned int a1, + vector unsigned short a2); +extern vector unsigned int __builtin_vec_srl (vector unsigned int a1, vector unsigned char a2); + +extern vector signed short __builtin_vec_srl (vector signed short a1, vector unsigned int a2); +extern vector signed short __builtin_vec_srl (vector signed short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_srl (vector signed short a1, vector unsigned char a2); + +extern vector unsigned short __builtin_vec_srl (vector unsigned short a1, + vector unsigned int a2); +extern vector unsigned short __builtin_vec_srl (vector unsigned short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_srl (vector unsigned short a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_srl (vector signed char a1, vector unsigned int a2); +extern vector signed char __builtin_vec_srl (vector signed char a1, vector unsigned short a2); +extern vector signed char __builtin_vec_srl (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_srl (vector unsigned char a1, + vector unsigned int a2); +extern vector unsigned char __builtin_vec_srl (vector unsigned char a1, + vector unsigned short a2); +extern vector unsigned char __builtin_vec_srl (vector unsigned char a1, + vector unsigned char a2); + +extern vector float __builtin_vec_sro (vector float a1, vector signed char a2); +extern vector float __builtin_vec_sro (vector float a1, vector unsigned char a2); +extern vector signed int __builtin_vec_sro (vector signed int a1, vector signed char a2); +extern vector signed int __builtin_vec_sro (vector signed int a1, vector unsigned char a2); +extern vector unsigned int __builtin_vec_sro (vector unsigned int a1, vector signed char a2); +extern vector unsigned int __builtin_vec_sro (vector unsigned int a1, vector unsigned char a2); + +extern vector signed short __builtin_vec_sro (vector signed short a1, vector signed char a2); +extern vector signed short __builtin_vec_sro (vector signed short a1, vector unsigned char a2); + +extern vector unsigned short __builtin_vec_sro (vector unsigned short a1, + vector signed char a2); +extern vector unsigned short __builtin_vec_sro (vector unsigned short a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_sro (vector signed char a1, vector signed char a2); +extern vector signed char __builtin_vec_sro (vector signed char a1, vector unsigned char a2); +extern vector unsigned char __builtin_vec_sro (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_sro (vector unsigned char a1, + vector unsigned char a2); + +extern void __builtin_vec_st (vector float a1, int a2, const void * a3); +extern void __builtin_vec_st (vector signed int a1, int a2, const void * a3); +extern void __builtin_vec_st (vector unsigned int a1, int a2, const void * a3); +extern void __builtin_vec_st (vector signed short a1, int a2, const void * a3); +extern void __builtin_vec_st (vector unsigned short a1, int a2, const void * a3); +extern void __builtin_vec_st (vector signed char a1, int a2, const void * a3); +extern void __builtin_vec_st (vector unsigned char a1, int a2, const void * a3); + +extern void __builtin_vec_ste (vector signed char a1, int a2, const void * a3); +extern void __builtin_vec_ste (vector unsigned char a1, int a2, unsigned char * a3); +extern void __builtin_vec_ste (vector signed short a1, int a2, const void * a3); +extern void __builtin_vec_ste (vector unsigned short a1, int a2, const void * a3); +extern void __builtin_vec_ste (vector signed int a1, int a2, const void * a3); +extern void __builtin_vec_ste (vector unsigned int a1, int a2, unsigned int * a3); +extern void __builtin_vec_ste (vector float a1, int a2, float * a3); + +extern void __builtin_vec_stl (vector float a1, int a2, const void * a3); +extern void __builtin_vec_stl (vector signed int a1, int a2, const void * a3); +extern void __builtin_vec_stl (vector unsigned int a1, int a2, const void * a3); +extern void __builtin_vec_stl (vector signed short a1, int a2, const void * a3); +extern void __builtin_vec_stl (vector unsigned short a1, int a2, const void * a3); +extern void __builtin_vec_stl (vector signed char a1, int a2, const void * a3); +extern void __builtin_vec_stl (vector unsigned char a1, int a2, const void * a3); + +extern vector signed char __builtin_vec_sub (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_sub (vector signed char a1, vector unsigned char a2); + +extern vector unsigned char __builtin_vec_sub (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_sub (vector unsigned char a1, + vector unsigned char a2); +extern vector signed short __builtin_vec_sub (vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_vec_sub (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_sub (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_sub (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_sub (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_sub (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_sub (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_sub (vector unsigned int a1, vector unsigned int a2); +extern vector float __builtin_vec_sub (vector float a1, vector float a2); + +extern vector unsigned int __builtin_vec_subc (vector unsigned int a1, vector unsigned int a2); + +extern vector unsigned char __builtin_vec_subs (vector signed char a1, + vector unsigned char a2); +extern vector unsigned char __builtin_vec_subs (vector unsigned char a1, + vector signed char a2); +extern vector unsigned char __builtin_vec_subs (vector unsigned char a1, + vector unsigned char a2); +extern vector signed char __builtin_vec_subs (vector signed char a1, vector signed char a2); +extern vector unsigned short __builtin_vec_subs (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_subs (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_subs (vector unsigned short a1, + vector unsigned short a2); +extern vector signed short __builtin_vec_subs (vector signed short a1, vector signed short a2); + +extern vector unsigned int __builtin_vec_subs (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_subs (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_subs (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_subs (vector signed int a1, vector signed int a2); + +extern vector unsigned int __builtin_vec_sum4s (vector unsigned char a1, + vector unsigned int a2); +extern vector signed int __builtin_vec_sum4s (vector signed char a1, vector signed int a2); +extern vector signed int __builtin_vec_sum4s (vector signed short a1, vector signed int a2); +#else +# define __builtin_vec_sr(a, b) ((a) >> (b)) +# define __builtin_vec_sub(a, b) ((a) - (b)) +__coverity_generic_altivec_vector __builtin_vec_sra (); +__coverity_generic_altivec_vector __builtin_vec_srl (); +__coverity_generic_altivec_vector __builtin_vec_sro (); +extern void __builtin_vec_st (); +extern void __builtin_vec_ste (); +extern void __builtin_vec_stl (); +__coverity_generic_altivec_vector __builtin_vec_subc (); +__coverity_generic_altivec_vector __builtin_vec_subs (); +__coverity_generic_altivec_vector __builtin_vec_sum4s (); +#endif + +extern vector signed int __builtin_vec_sum2s (vector signed int a1, vector signed int a2); + +extern vector signed int __builtin_vec_sums (vector signed int a1, vector signed int a2); + +extern vector float __builtin_vec_trunc (vector float a1); + +#ifdef __coverity_cplusplus +extern vector signed short __builtin_vec_unpackh (vector signed char a1); +extern vector unsigned int __builtin_vec_unpackh (vector unsigned short a1); +extern vector signed int __builtin_vec_unpackh (vector signed short a1); + +extern vector signed short __builtin_vec_unpackl (vector signed char a1); +extern vector unsigned int __builtin_vec_unpackl (vector unsigned short a1); +extern vector signed int __builtin_vec_unpackl (vector signed short a1); + +extern vector float __builtin_vec_xor (vector float a1, vector float a2); +extern vector float __builtin_vec_xor (vector float a1, vector signed int a2); +extern vector float __builtin_vec_xor (vector signed int a1, vector float a2); +extern vector signed int __builtin_vec_xor (vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_xor (vector signed int a1, vector unsigned int a2); +extern vector unsigned int __builtin_vec_xor (vector unsigned int a1, vector signed int a2); +extern vector unsigned int __builtin_vec_xor (vector unsigned int a1, vector unsigned int a2); +extern vector signed short __builtin_vec_xor (vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_vec_xor (vector signed short a1, + vector unsigned short a2); +extern vector unsigned short __builtin_vec_xor (vector unsigned short a1, + vector signed short a2); +extern vector unsigned short __builtin_vec_xor (vector unsigned short a1, + vector unsigned short a2); +extern vector signed char __builtin_vec_xor (vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_vec_xor (vector signed char a1, vector unsigned char a2); + +extern vector unsigned char __builtin_vec_xor (vector unsigned char a1, vector signed char a2); + +extern vector unsigned char __builtin_vec_xor (vector unsigned char a1, + vector unsigned char a2); + +extern vector signed int __builtin_vec_all_eq (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_all_eq (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_all_eq (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_all_eq (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_all_eq (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_eq (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_all_eq (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_all_eq (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_eq (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_all_eq (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_eq (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_eq (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_all_eq (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_ge (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_all_ge (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_all_ge (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_all_ge (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_all_ge (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_ge (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_all_ge (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_ge (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_all_ge (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_all_ge (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_ge (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_all_ge (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_ge (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_gt (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_all_gt (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_all_gt (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_all_gt (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_all_gt (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_gt (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_all_gt (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_gt (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_all_gt (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_all_gt (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_gt (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_all_gt (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_gt (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_in (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_le (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_all_le (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_all_le (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_all_le (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_all_le (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_le (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_all_le (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_le (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_all_le (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_all_le (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_le (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_all_le (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_le (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_lt (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_all_lt (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_all_lt (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_all_lt (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_all_lt (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_lt (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_all_lt (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_lt (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_all_lt (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_all_lt (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_lt (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_all_lt (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_lt (vector float a1, vector float a2); +#else +__coverity_generic_altivec_vector __builtin_vec_unpackh (); +__coverity_generic_altivec_vector __builtin_vec_unpackl (); +#define __builtin_vec_xor(a1, a2) ((a1) ^ (a2)) +__coverity_generic_altivec_vector __builtin_vec_all_eq (); +__coverity_generic_altivec_vector __builtin_vec_all_ge (); +__coverity_generic_altivec_vector __builtin_vec_all_gt (); +__coverity_generic_altivec_vector __builtin_vec_all_le (); +__coverity_generic_altivec_vector __builtin_vec_all_lt (); +#endif + +extern vector signed int __builtin_vec_all_nan (vector float a1); + +#ifdef __coverity_cplusplus +extern vector signed int __builtin_vec_all_ne (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_all_ne (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_all_ne (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_all_ne (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_all_ne (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_ne (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_all_ne (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_all_ne (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_all_ne (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_all_ne (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_ne (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_all_ne (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_all_ne (vector float a1, vector float a2); + +#else +__coverity_generic_altivec_vector __builtin_vec_all_ne (); +#endif + +extern vector signed int __builtin_vec_all_nge (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_ngt (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_nle (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_nlt (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_all_numeric (vector float a1); + +#ifdef __coverity_cplusplus +extern vector signed int __builtin_vec_any_eq (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_any_eq (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_any_eq (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_any_eq (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_any_eq (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_eq (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_any_eq (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_any_eq (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_eq (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_any_eq (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_eq (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_eq (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_any_eq (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_ge (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_any_ge (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_any_ge (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_any_ge (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_any_ge (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_ge (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_any_ge (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_ge (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_any_ge (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_any_ge (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_ge (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_any_ge (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_ge (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_gt (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_any_gt (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_any_gt (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_any_gt (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_any_gt (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_gt (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_any_gt (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_gt (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_any_gt (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_any_gt (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_gt (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_any_gt (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_gt (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_le (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_any_le (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_any_le (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_any_le (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_any_le (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_le (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_any_le (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_le (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_any_le (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_any_le (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_le (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_any_le (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_le (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_lt (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_any_lt (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_any_lt (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_any_lt (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_any_lt (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_lt (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_any_lt (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_lt (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_any_lt (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_any_lt (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_lt (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_any_lt (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_lt (vector float a1, vector float a2); +#else +__coverity_generic_altivec_vector __builtin_vec_any_eq (); +__coverity_generic_altivec_vector __builtin_vec_any_ge (); +__coverity_generic_altivec_vector __builtin_vec_any_gt (); +__coverity_generic_altivec_vector __builtin_vec_any_le (); +__coverity_generic_altivec_vector __builtin_vec_any_lt (); +#endif + +extern vector signed int __builtin_vec_any_nan (vector float a1); + +#ifdef __coverity_cplusplus +extern vector signed int __builtin_vec_any_ne (vector signed char a1, vector unsigned char a2); + +extern vector signed int __builtin_vec_any_ne (vector signed char a1, vector signed char a2); +extern vector signed int __builtin_vec_any_ne (vector unsigned char a1, vector signed char a2); + +extern vector signed int __builtin_vec_any_ne (vector unsigned char a1, + vector unsigned char a2); +extern vector signed int __builtin_vec_any_ne (vector signed short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_ne (vector signed short a1, vector signed short a2); + +extern vector signed int __builtin_vec_any_ne (vector unsigned short a1, + vector signed short a2); +extern vector signed int __builtin_vec_any_ne (vector unsigned short a1, + vector unsigned short a2); +extern vector signed int __builtin_vec_any_ne (vector signed int a1, vector unsigned int a2); +extern vector signed int __builtin_vec_any_ne (vector signed int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_ne (vector unsigned int a1, vector signed int a2); +extern vector signed int __builtin_vec_any_ne (vector unsigned int a1, vector unsigned int a2); + +extern vector signed int __builtin_vec_any_ne (vector float a1, vector float a2); +#else +__coverity_generic_altivec_vector __builtin_vec_any_ne (); +#endif + +extern vector signed int __builtin_vec_any_nge (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_ngt (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_nle (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_nlt (vector float a1, vector float a2); + +extern vector signed int __builtin_vec_any_numeric (vector float a1); + +extern vector signed int __builtin_vec_any_out (vector float a1, vector float a2); + +# ifndef OFFSET_T +# ifdef _ARCH_PPC64 +# define OFFSET_T long +# else +# define OFFSET_T int +# endif +# endif + +extern int __builtin_altivec_vcmpbfp_p(int a1, vector float a2, vector float a3); +extern int __builtin_altivec_vcmpeqfp_p(int a1, vector float a2, vector float a3); +extern int __builtin_altivec_vcmpeqfp_p(int, vector float a1, vector float a2); +extern int __builtin_altivec_vcmpequb_p(int a1, vector signed char a2, vector signed char a3); +extern int __builtin_altivec_vcmpequh_p(int a1, vector signed short a2, vector signed short a3); +extern int __builtin_altivec_vcmpequw_p(int a1, vector signed int a2, vector signed int a3); +extern int __builtin_altivec_vcmpgefp_p(int a1, vector float a2, vector float a3); +extern int __builtin_altivec_vcmpgtfp_p(int a1, vector float a2, vector float a3); +extern int __builtin_altivec_vcmpgtsb_p(int a1, vector signed char a2, vector signed char a3); +extern int __builtin_altivec_vcmpgtsh_p(int a1, vector signed short a2, vector signed short a3); +extern int __builtin_altivec_vcmpgtsw_p(int a1, vector signed int a2, vector signed int a3); +extern int __builtin_altivec_vcmpgtub_p(int a1, vector signed char a2, vector signed char a3); +extern int __builtin_altivec_vcmpgtuh_p(int a1, vector signed short a2, vector signed short a3); +extern int __builtin_altivec_vcmpgtuw_p(int a1, vector signed int a2, vector signed int a3); +extern vector bool char __builtin_altivec_lvx(OFFSET_T a1, const void * a2); +extern vector bool char __builtin_altivec_lvxl(OFFSET_T a1, const void * a2); +extern vector bool char __builtin_altivec_vand(vector signed int a1, vector signed int a2); +extern vector bool char __builtin_altivec_vandc(vector signed int a1, vector signed int a2); +extern vector bool char __builtin_altivec_vcmpequb(vector signed char a1, vector signed char a2); +extern vector bool char __builtin_altivec_vcmpgtsb(vector signed char a1, vector signed char a2); +extern vector bool char __builtin_altivec_vcmpgtub(vector signed char a1, vector signed char a2); +extern vector bool char __builtin_altivec_vmrghb(vector signed char a1, vector signed char a2); +extern vector bool char __builtin_altivec_vmrglb(vector signed char a1, vector signed char a2); +extern vector bool char __builtin_altivec_vnor(vector signed int a1, vector signed int a2); +extern vector bool char __builtin_altivec_vor(vector signed int a1, vector signed int a2); +extern vector bool char __builtin_altivec_vperm_4si(vector signed int a1, vector signed int a2, vector signed char a3); +extern vector bool char __builtin_altivec_vpkuhum(vector signed short a1, vector signed short a2); +extern vector bool char __builtin_altivec_vsel_4si(vector signed int a1, vector signed int a2, vector signed int a3); +extern vector bool char __builtin_altivec_vsl(vector signed int a1, vector signed int a2); +extern vector bool char __builtin_altivec_vsldoi_4si(vector signed int a1, vector signed int a2, const int a3); +extern vector bool char __builtin_altivec_vsldoi_4sf(vector float a1, vector float a2, const int a3); +extern vector bool char __builtin_altivec_vspltb(vector signed char a1, const int a2); +extern vector bool char __builtin_altivec_vsr(vector signed int a1, vector signed int a2); +extern vector bool char __builtin_altivec_vxor(vector signed int a1, vector signed int a2); +extern vector bool int __builtin_altivec_vcmpeqfp(vector float a1, vector float a2); +extern vector bool int __builtin_altivec_vcmpequw(vector signed int a1, vector signed int a2); +extern vector bool int __builtin_altivec_vcmpgefp(vector float a1, vector float a2); +extern vector bool int __builtin_altivec_vcmpgtfp(vector float a1, vector float a2); +extern vector bool int __builtin_altivec_vcmpgtsw(vector signed int a1, vector signed int a2); +extern vector bool int __builtin_altivec_vcmpgtuw(vector signed int a1, vector signed int a2); +extern vector bool int __builtin_altivec_vmrghw(vector signed int a1, vector signed int a2); +extern vector bool int __builtin_altivec_vmrglw(vector signed int a1, vector signed int a2); +extern vector bool int __builtin_altivec_vspltw(vector signed int a1, const int a2); +extern vector bool int __builtin_altivec_vupkhsh(vector signed short a1); +extern vector bool int __builtin_altivec_vupklsh(vector signed short a1); +extern vector bool short __builtin_altivec_vcmpequh(vector signed short a1, vector signed short a2); +extern vector bool short __builtin_altivec_vcmpgtsh(vector signed short a1, vector signed short a2); +extern vector bool short __builtin_altivec_vcmpgtuh(vector signed short a1, vector signed short a2); +extern vector bool short __builtin_altivec_vmrghh(vector signed short a1, vector signed short a2); +extern vector bool short __builtin_altivec_vmrglh(vector signed short a1, vector signed short a2); +extern vector bool short __builtin_altivec_vpkuwum(vector signed int a1, vector signed int a2); +extern vector bool short __builtin_altivec_vsplth(vector signed short a1, const int a2); +extern vector bool short __builtin_altivec_vupkhsb(vector signed char a1); +extern vector bool short __builtin_altivec_vupklsb(vector signed char a1); +extern vector float __builtin_altivec_abs_v4sf(vector float a1); +extern vector float __builtin_altivec_lvewx(OFFSET_T a1, const void * a2); +extern vector float __builtin_altivec_vaddfp(vector float a1, vector float a2); +extern vector float __builtin_altivec_vcfsx(vector signed int a1, const int a2); +extern vector float __builtin_altivec_vcfux(vector signed int a1, const int a2); +extern vector float __builtin_altivec_vexptefp(vector float a1); +extern vector float __builtin_altivec_vlogefp(vector float a1); +extern vector float __builtin_altivec_vmaddfp(vector float a1, vector float a2, vector float a3); +extern vector float __builtin_altivec_vmaxfp(vector float a1, vector float a2); +extern vector float __builtin_altivec_vminfp(vector float a1, vector float a2); +extern vector float __builtin_altivec_vnmsubfp(vector float a1, vector float a2, vector float a3); +extern vector float __builtin_altivec_vrefp(vector float a1); +extern vector float __builtin_altivec_vrfim(vector float a1); +extern vector float __builtin_altivec_vrfin(vector float a1); +extern vector float __builtin_altivec_vrfip(vector float a1); +extern vector float __builtin_altivec_vrfiz(vector float a1); +extern vector float __builtin_altivec_vrsqrtefp(vector float a1); +extern vector float __builtin_altivec_vslo(vector signed int a1, vector signed int a2); +extern vector float __builtin_altivec_vsro(vector signed int a1, vector signed int a2); +extern vector float __builtin_altivec_vsubfp(vector float a1, vector float a2); +extern vector pixel __builtin_altivec_vpkpx(vector signed int a1, vector signed int a2); +extern vector signed char __builtin_altivec_abs_v16qi(vector signed char a1); +extern vector signed char __builtin_altivec_abss_v16qi(vector signed char a1); +extern vector signed char __builtin_altivec_lvebx(OFFSET_T a1, const void * a2); +extern vector signed char __builtin_altivec_vaddsbs(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vaddubm(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vavgsb(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vmaxsb(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vminsb(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vpkshss(vector signed short a1, vector signed short a2); +extern vector signed char __builtin_altivec_vrlb(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vslb(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vspltisb(const int a1); +extern vector signed char __builtin_altivec_vsrab(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vsrb(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vsubsbs(vector signed char a1, vector signed char a2); +extern vector signed char __builtin_altivec_vsububm(vector signed char a1, vector signed char a2); +extern vector signed int __builtin_altivec_abs_v4si(vector signed int a1); +extern vector signed int __builtin_altivec_abss_v4si(vector signed int a1); +extern vector signed int __builtin_altivec_vaddsws(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vadduwm(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vavgsw(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vcmpbfp(vector float a1, vector float a2); +extern vector signed int __builtin_altivec_vctsxs(vector float a1, const int a2); +extern vector signed int __builtin_altivec_vmaxsw(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vminsw(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vmsummbm(vector signed char a1, vector signed char a2, vector signed int a3); +extern vector signed int __builtin_altivec_vmsumshm(vector signed short a1, vector signed short a2, vector signed int a3); +extern vector signed int __builtin_altivec_vmsumshs(vector signed short a1, vector signed short a2, vector signed int a3); +extern vector signed int __builtin_altivec_vmulesh(vector signed short a1, vector signed short a2); +extern vector signed int __builtin_altivec_vmulosh(vector signed short a1, vector signed short a2); +extern vector signed int __builtin_altivec_vrlw(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vslw(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vspltisw(const int a1); +extern vector signed int __builtin_altivec_vsraw(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vsrw(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vsubsws(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vsubuwm(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vsum2sws(vector signed int a1, vector signed int a2); +extern vector signed int __builtin_altivec_vsum4sbs(vector signed char a1, vector signed int a2); +extern vector signed int __builtin_altivec_vsum4shs(vector signed short a1, vector signed int a2); +extern vector signed int __builtin_altivec_vsumsws(vector signed int a1, vector signed int a2); +extern vector signed short __builtin_altivec_abs_v8hi(vector signed short a1); +extern vector signed short __builtin_altivec_abss_v8hi(vector signed short a1); +extern vector signed short __builtin_altivec_lvehx(OFFSET_T a1, const void * a2); +extern vector signed short __builtin_altivec_vaddshs(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vadduhm(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vavgsh(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vmaxsh(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vmhaddshs(vector signed short a1, vector signed short a2, vector signed short a3); +extern vector signed short __builtin_altivec_vmhraddshs(vector signed short a1, vector signed short a2, vector signed short a3); +extern vector signed short __builtin_altivec_vminsh(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vmladduhm(vector signed short a1, vector signed short a2, vector signed short a3); +extern vector signed short __builtin_altivec_vmulesb(vector signed char a1, vector signed char a2); +extern vector signed short __builtin_altivec_vmuleub(vector signed char a1, vector signed char a2); +extern vector signed short __builtin_altivec_vmulosb(vector signed char a1, vector signed char a2); +extern vector signed short __builtin_altivec_vpkswss(vector signed int a1, vector signed int a2); +extern vector signed short __builtin_altivec_vrlh(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vslh(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vspltish(const int a1); +extern vector signed short __builtin_altivec_vsrah(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vsrh(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vsubshs(vector signed short a1, vector signed short a2); +extern vector signed short __builtin_altivec_vsubuhm(vector signed short a1, vector signed short a2); +extern vector unsigned char __builtin_altivec_lvlx(OFFSET_T a1, const void * a2); +extern vector unsigned char __builtin_altivec_lvlxl(OFFSET_T a1, const void * a2); +extern vector unsigned char __builtin_altivec_lvrx(OFFSET_T a1, const void * a2); +extern vector unsigned char __builtin_altivec_lvrxl(OFFSET_T a1, const void * a2); +extern vector unsigned char __builtin_altivec_lvsl(OFFSET_T a1, const void * a2); +extern vector unsigned char __builtin_altivec_lvsr(OFFSET_T a1, const void * a2); +extern vector unsigned char __builtin_altivec_vaddubs(vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_altivec_vavgub(vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_altivec_vmaxub(vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_altivec_vminub(vector signed char a1, vector signed char a2); +extern vector unsigned char __builtin_altivec_vpkshus(vector signed short a1, vector signed short a2); +extern vector unsigned char __builtin_altivec_vpkuhus(vector signed short a1, vector signed short a2); +extern vector unsigned char __builtin_altivec_vsububs(vector signed char a1, vector signed char a2); +extern vector unsigned int __builtin_altivec_vaddcuw(vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vadduws(vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vavguw(vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vctuxs(vector float a1, const int a2); +extern vector unsigned int __builtin_altivec_vmaxuw(vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vminuw(vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vmsumubm(vector signed char a1, vector signed char a2, vector signed int a3); +extern vector unsigned int __builtin_altivec_vmsumuhm(vector signed short a1, vector signed short a2, vector signed int a3); +extern vector unsigned int __builtin_altivec_vmsumuhs(vector signed short a1, vector signed short a2, vector signed int a3); +extern vector unsigned int __builtin_altivec_vmuleuh(vector signed short a1, vector signed short a2); +extern vector unsigned int __builtin_altivec_vmulouh(vector signed short a1, vector signed short a2); +extern vector unsigned int __builtin_altivec_vsubcuw(vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vsubuws(vector signed int a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vsum4ubs(vector signed char a1, vector signed int a2); +extern vector unsigned int __builtin_altivec_vupkhpx(vector signed short a1); +extern vector unsigned int __builtin_altivec_vupklpx(vector signed short a1); +extern vector unsigned short __builtin_altivec_mfvscr(); +extern vector unsigned short __builtin_altivec_vadduhs(vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_altivec_vavguh(vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_altivec_vmaxuh(vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_altivec_vminuh(vector signed short a1, vector signed short a2); +extern vector unsigned short __builtin_altivec_vmuloub(vector signed char a1, vector signed char a2); +extern vector unsigned short __builtin_altivec_vpkswus(vector signed int a1, vector signed int a2); +extern vector unsigned short __builtin_altivec_vpkuwus(vector signed int a1, vector signed int a2); +extern vector unsigned short __builtin_altivec_vsubuhs(vector signed short a1, vector signed short a2); +extern void __builtin_altivec_dss(int a1); +extern void __builtin_altivec_dssall(); +extern void __builtin_altivec_dst(const void *a1, OFFSET_T a2, const int a3); +extern void __builtin_altivec_dstst(const void *a1, OFFSET_T a2, const int a3); +extern void __builtin_altivec_dststt(const void *a1, OFFSET_T a2, const int a3); +extern void __builtin_altivec_dstt(const void *a1, OFFSET_T a2, const int a3); +extern void __builtin_altivec_mtvscr(vector signed int a1); +#ifdef __coverity_cplusplus +extern void __builtin_altivec_stvebx(vector signed char a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvehx(vector signed short a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvewx(vector signed int a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvlx(vector signed char a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvlxl(vector signed char a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvrx(vector signed char a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvrxl(vector signed char a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvx(vector signed int a1, OFFSET_T a2, const void * a3); +extern void __builtin_altivec_stvxl(vector signed int a1, OFFSET_T a2, const void * a3); +extern vector bool char __builtin_altivec_vsel_4sf(vector float a1, vector float a2, vector float a3); +extern vector bool char __builtin_altivec_vsel_4sf(vector float a1, vector float a2, vector signed int a3); +#else +extern void __builtin_altivec_stvebx(); +extern void __builtin_altivec_stvehx(); +extern void __builtin_altivec_stvewx(); +extern void __builtin_altivec_stvlx(); +extern void __builtin_altivec_stvlxl(); +extern void __builtin_altivec_stvrx(); +extern void __builtin_altivec_stvrxl(); +extern void __builtin_altivec_stvx(); +extern void __builtin_altivec_stvxl(); +extern __coverity_generic_altivec_vector __builtin_altivec_vsel_4sf(); +#endif +#endif /* __ALTIVEC__ */ +/* + Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. + The information contained in this file is the proprietary and confidential + information of Synopsys, Inc. and its licensors, and is supplied subject to, + and may be used only by Synopsys customers in accordance with the terms and + conditions of a previously executed license agreement between Synopsys and + that customer. +*/ + +/* + * These declarations are used to implement various sanitizer modes. They are + * not supported intrinsically by cov-emit. + */ + +// -fsanitize-coverage=trace-cmp +void __asan_after_dynamic_init(void); +void __asan_handle_no_return(void); +void __asan_init(void); +void __asan_version_mismatch_check_v8(void); +void __builtin___asan_after_dynamic_init(void); +void __builtin___asan_handle_no_return(void); +void __builtin___asan_init(void); +void __builtin___asan_version_mismatch_check_v8(void); +void __builtin___sanitizer_cov_trace_pc(void); +void __builtin___tsan_init(void); +void __sanitizer_cov_trace_pc(void); +void __tsan_init(void); +void __asan_alloca_poison(void*, long int); +void __asan_allocas_unpoison(void*, long int); +void __asan_before_dynamic_init(const void*); +void __asan_load1(void*); +void __asan_load16(void*); +void __asan_load16_noabort(void*); +void __asan_load1_noabort(void*); +void __asan_load2(void*); +void __asan_load2_noabort(void*); +void __asan_load4(void*); +void __asan_load4_noabort(void*); +void __asan_load8(void*); +void __asan_load8_noabort(void*); +void __asan_loadN(void*, long int); +void __asan_loadN_noabort(void*, long int); +void __asan_poison_stack_memory(void*, long int); +void __asan_register_globals(void*, long int); +void __asan_report_load1(void*); +void __asan_report_load16(void*); +void __asan_report_load16_noabort(void*); +void __asan_report_load1_noabort(void*); +void __asan_report_load2(void*); +void __asan_report_load2_noabort(void*); +void __asan_report_load4(void*); +void __asan_report_load4_noabort(void*); +void __asan_report_load8(void*); +void __asan_report_load8_noabort(void*); +void __asan_report_load_n(void*, long int); +void __asan_report_load_n_noabort(void*, long int); +void __asan_report_store1(void*); +void __asan_report_store16(void*); +void __asan_report_store16_noabort(void*); +void __asan_report_store1_noabort(void*); +void __asan_report_store2(void*); +void __asan_report_store2_noabort(void*); +void __asan_report_store4(void*); +void __asan_report_store4_noabort(void*); +void __asan_report_store8(void*); +void __asan_report_store8_noabort(void*); +void __asan_report_store_n(void*, long int); +void __asan_report_store_n_noabort(void*, long int); +void __asan_store1(void*); +void __asan_store16(void*); +void __asan_store16_noabort(void*); +void __asan_store1_noabort(void*); +void __asan_store2(void*); +void __asan_store2_noabort(void*); +void __asan_store4(void*); +void __asan_store4_noabort(void*); +void __asan_store8(void*); +void __asan_store8_noabort(void*); +void __asan_storeN(void*, long int); +void __asan_storeN_noabort(void*, long int); +void __asan_unpoison_stack_memory(void*, long int); +void __asan_unregister_globals(void*, long int); +void __builtin___asan_alloca_poison(void*, long int); +void __builtin___asan_allocas_unpoison(void*, long int); +void __builtin___asan_before_dynamic_init(const void*); +void __builtin___asan_load1(void*); +void __builtin___asan_load16(void*); +void __builtin___asan_load16_noabort(void*); +void __builtin___asan_load1_noabort(void*); +void __builtin___asan_load2(void*); +void __builtin___asan_load2_noabort(void*); +void __builtin___asan_load4(void*); +void __builtin___asan_load4_noabort(void*); +void __builtin___asan_load8(void*); +void __builtin___asan_load8_noabort(void*); +void __builtin___asan_loadN(void*, long int); +void __builtin___asan_loadN_noabort(void*, long int); +void __builtin___asan_poison_stack_memory(void*, long int); +void __builtin___asan_register_globals(void*, long int); +void __builtin___asan_report_load1(void*); +void __builtin___asan_report_load16(void*); +void __builtin___asan_report_load16_noabort(void*); +void __builtin___asan_report_load1_noabort(void*); +void __builtin___asan_report_load2(void*); +void __builtin___asan_report_load2_noabort(void*); +void __builtin___asan_report_load4(void*); +void __builtin___asan_report_load4_noabort(void*); +void __builtin___asan_report_load8(void*); +void __builtin___asan_report_load8_noabort(void*); +void __builtin___asan_report_load_n(void*, long int); +void __builtin___asan_report_load_n_noabort(void*, long int); +void __builtin___asan_report_store1(void*); +void __builtin___asan_report_store16(void*); +void __builtin___asan_report_store16_noabort(void*); +void __builtin___asan_report_store1_noabort(void*); +void __builtin___asan_report_store2(void*); +void __builtin___asan_report_store2_noabort(void*); +void __builtin___asan_report_store4(void*); +void __builtin___asan_report_store4_noabort(void*); +void __builtin___asan_report_store8(void*); +void __builtin___sanitizer_cov_trace_cmp2(short unsigned int, short unsigned int); +void __builtin___sanitizer_cov_trace_cmp4(unsigned int, unsigned int); +void __builtin___sanitizer_cov_trace_cmp8(long unsigned int, long unsigned int); +void __builtin___sanitizer_cov_trace_cmpd(double, double); +void __builtin___sanitizer_cov_trace_cmpf(float, float); +void __builtin___sanitizer_cov_trace_const_cmp1(unsigned char, unsigned char); +void __builtin___sanitizer_cov_trace_const_cmp2(short unsigned int, short unsigned int); +void __builtin___sanitizer_cov_trace_const_cmp4(unsigned int, unsigned int); +void __builtin___sanitizer_cov_trace_const_cmp8(long unsigned int, long unsigned int); +void __builtin___sanitizer_cov_trace_switch(long unsigned int, void*); +void __builtin___sanitizer_ptr_cmp(void*, long int); +void __builtin___sanitizer_ptr_sub(void*, long int); + +void __builtin___hwasan_handle_longjmp(const void*); +void __builtin___hwasan_load1(void*); +void __builtin___hwasan_load16(void*); +void __builtin___hwasan_load16_noabort(void*); +void __builtin___hwasan_load1_noabort(void*); +void __builtin___hwasan_load2(void*); +void __builtin___hwasan_load2_noabort(void*); +void __builtin___hwasan_load4(void*); +void __builtin___hwasan_load4_noabort(void*); +void __builtin___hwasan_load8(void*); +void __builtin___hwasan_load8_noabort(void*); +void __builtin___hwasan_loadN(void*, long int); +void __builtin___hwasan_loadN_noabort(void*, long int); +void __builtin___hwasan_store1(void*); +void __builtin___hwasan_store16(void*); +void __builtin___hwasan_store16_noabort(void*); +void __builtin___hwasan_store1_noabort(void*); +void __builtin___hwasan_store2(void*); +void __builtin___hwasan_store2_noabort(void*); +void __builtin___hwasan_store4(void*); +void __builtin___hwasan_store4_noabort(void*); +void __builtin___hwasan_store8(void*); +void __builtin___hwasan_store8_noabort(void*); +void __builtin___hwasan_storeN(void*, long int); +void __builtin___hwasan_storeN_noabort(void*, long int); +void __builtin___hwasan_tag_memory(void*, unsigned char, long int); +void __builtin___hwasan_tag_mismatch4(void*); +void* __builtin___hwasan_tag_pointer(const void*, unsigned char); +void __builtin___tsan_volatile_read1(void*); +void __builtin___tsan_volatile_read16(void*); +void __builtin___tsan_volatile_read2(void*); +void __builtin___tsan_volatile_read4(void*); +void __builtin___tsan_volatile_read8(void*); +void __builtin___tsan_volatile_write1(void*); +void __builtin___tsan_volatile_write16(void*); +void __builtin___tsan_volatile_write2(void*); +void __builtin___tsan_volatile_write4(void*); +void __builtin___tsan_volatile_write8(void*); +void __hwasan_handle_longjmp(const void*); +void __hwasan_load1(void*); +void __hwasan_load16(void*); +void __hwasan_load16_noabort(void*); +void __hwasan_load1_noabort(void*); +void __hwasan_load2(void*); +void __hwasan_load2_noabort(void*); +void __hwasan_load4(void*); +void __hwasan_load4_noabort(void*); +void __hwasan_load8(void*); +void __hwasan_load8_noabort(void*); +void __hwasan_loadN(void*, long int); +void __hwasan_loadN_noabort(void*, long int); +void __hwasan_store1(void*); +void __hwasan_store16(void*); +void __hwasan_store16_noabort(void*); +void __hwasan_store1_noabort(void*); +void __hwasan_store2(void*); +void __hwasan_store2_noabort(void*); +void __hwasan_store4(void*); +void __hwasan_store4_noabort(void*); +void __hwasan_store8(void*); +void __hwasan_store8_noabort(void*); +void __hwasan_storeN(void*, long int); +void __hwasan_storeN_noabort(void*, long int); +void __hwasan_tag_memory(void*, unsigned char, long int); +void __hwasan_tag_mismatch4(void*); +void* __hwasan_tag_pointer(const void*, unsigned char); +void __tsan_volatile_read1(void*); +void __tsan_volatile_read16(void*); +void __tsan_volatile_read2(void*); +void __tsan_volatile_read4(void*); +void __tsan_volatile_read8(void*); +void __tsan_volatile_write1(void*); +void __tsan_volatile_write16(void*); +void __tsan_volatile_write2(void*); +void __tsan_volatile_write4(void*); +void __tsan_volatile_write8(void*); +void __builtin___hwasan_init(void); +void __hwasan_init(void); + +#if defined(__SIZEOF_INT128__) +__edg_bool_type__ __builtin___tsan_atomic128_compare_exchange_strong(volatile void*, void*, __int128 unsigned, int, int); +__edg_bool_type__ __builtin___tsan_atomic128_compare_exchange_weak(volatile void*, void*, __int128 unsigned, int, int); +__int128 unsigned __builtin___tsan_atomic128_exchange(volatile void*, __int128 unsigned, int); +__int128 unsigned __builtin___tsan_atomic128_fetch_add(volatile void*, __int128 unsigned, int); +__int128 unsigned __builtin___tsan_atomic128_fetch_and(volatile void*, __int128 unsigned, int); +__int128 unsigned __builtin___tsan_atomic128_fetch_nand(volatile void*, __int128 unsigned, int); +__int128 unsigned __builtin___tsan_atomic128_fetch_or(volatile void*, __int128 unsigned, int); +__int128 unsigned __builtin___tsan_atomic128_fetch_sub(volatile void*, __int128 unsigned, int); +__int128 unsigned __builtin___tsan_atomic128_fetch_xor(volatile void*, __int128 unsigned, int); +__int128 unsigned __builtin___tsan_atomic128_load(const volatile void*, int); +void __builtin___tsan_atomic128_store(volatile void*, __int128 unsigned, int); +__edg_bool_type__ __tsan_atomic128_compare_exchange_strong(volatile void*, void*, __int128 unsigned, int, int); +__edg_bool_type__ __tsan_atomic128_compare_exchange_weak(volatile void*, void*, __int128 unsigned, int, int); +__int128 unsigned __tsan_atomic128_exchange(volatile void*, __int128 unsigned, int); +__int128 unsigned __tsan_atomic128_fetch_add(volatile void*, __int128 unsigned, int); +__int128 unsigned __tsan_atomic128_fetch_and(volatile void*, __int128 unsigned, int); +__int128 unsigned __tsan_atomic128_fetch_nand(volatile void*, __int128 unsigned, int); +__int128 unsigned __tsan_atomic128_fetch_or(volatile void*, __int128 unsigned, int); +__int128 unsigned __tsan_atomic128_fetch_sub(volatile void*, __int128 unsigned, int); +__int128 unsigned __tsan_atomic128_fetch_xor(volatile void*, __int128 unsigned, int); +__int128 unsigned __tsan_atomic128_load(const volatile void*, int); +void __tsan_atomic128_store(volatile void*, __int128 unsigned, int); + +__int128 unsigned __builtin_bswap128(__int128 unsigned); +#endif /* defined(__SIZEOF_INT128__) */ + +__edg_bool_type__ __builtin___tsan_atomic16_compare_exchange_strong(volatile void*, void*, short unsigned int, int, int); +__edg_bool_type__ __builtin___tsan_atomic16_compare_exchange_weak(volatile void*, void*, short unsigned int, int, int); +short unsigned int __builtin___tsan_atomic16_exchange(volatile void*, short unsigned int, int); +short unsigned int __builtin___tsan_atomic16_fetch_add(volatile void*, short unsigned int, int); +short unsigned int __builtin___tsan_atomic16_fetch_and(volatile void*, short unsigned int, int); +short unsigned int __builtin___tsan_atomic16_fetch_nand(volatile void*, short unsigned int, int); +short unsigned int __builtin___tsan_atomic16_fetch_or(volatile void*, short unsigned int, int); +short unsigned int __builtin___tsan_atomic16_fetch_sub(volatile void*, short unsigned int, int); +short unsigned int __builtin___tsan_atomic16_fetch_xor(volatile void*, short unsigned int, int); +short unsigned int __builtin___tsan_atomic16_load(const volatile void*, int); +void __builtin___tsan_atomic16_store(volatile void*, short unsigned int, int); +__edg_bool_type__ __builtin___tsan_atomic32_compare_exchange_strong(volatile void*, void*, unsigned int, int, int); +__edg_bool_type__ __builtin___tsan_atomic32_compare_exchange_weak(volatile void*, void*, unsigned int, int, int); +unsigned int __builtin___tsan_atomic32_exchange(volatile void*, unsigned int, int); +unsigned int __builtin___tsan_atomic32_fetch_add(volatile void*, unsigned int, int); +unsigned int __builtin___tsan_atomic32_fetch_and(volatile void*, unsigned int, int); +unsigned int __builtin___tsan_atomic32_fetch_nand(volatile void*, unsigned int, int); +unsigned int __builtin___tsan_atomic32_fetch_or(volatile void*, unsigned int, int); +unsigned int __builtin___tsan_atomic32_fetch_sub(volatile void*, unsigned int, int); +unsigned int __builtin___tsan_atomic32_fetch_xor(volatile void*, unsigned int, int); +unsigned int __builtin___tsan_atomic32_load(const volatile void*, int); +void __builtin___tsan_atomic32_store(volatile void*, unsigned int, int); +__edg_bool_type__ __builtin___tsan_atomic64_compare_exchange_strong(volatile void*, void*, long unsigned int, int, int); +__edg_bool_type__ __builtin___tsan_atomic64_compare_exchange_weak(volatile void*, void*, long unsigned int, int, int); +long unsigned int __builtin___tsan_atomic64_exchange(volatile void*, long unsigned int, int); +long unsigned int __builtin___tsan_atomic64_fetch_add(volatile void*, long unsigned int, int); +long unsigned int __builtin___tsan_atomic64_fetch_and(volatile void*, long unsigned int, int); +long unsigned int __builtin___tsan_atomic64_fetch_nand(volatile void*, long unsigned int, int); +long unsigned int __builtin___tsan_atomic64_fetch_or(volatile void*, long unsigned int, int); +long unsigned int __builtin___tsan_atomic64_fetch_sub(volatile void*, long unsigned int, int); +long unsigned int __builtin___tsan_atomic64_fetch_xor(volatile void*, long unsigned int, int); +long unsigned int __builtin___tsan_atomic64_load(const volatile void*, int); +void __builtin___tsan_atomic64_store(volatile void*, long unsigned int, int); +__edg_bool_type__ __builtin___tsan_atomic8_compare_exchange_strong(volatile void*, void*, unsigned char, int, int); +__edg_bool_type__ __builtin___tsan_atomic8_compare_exchange_weak(volatile void*, void*, unsigned char, int, int); +unsigned char __builtin___tsan_atomic8_exchange(volatile void*, unsigned char, int); +unsigned char __builtin___tsan_atomic8_fetch_add(volatile void*, unsigned char, int); +unsigned char __builtin___tsan_atomic8_fetch_and(volatile void*, unsigned char, int); +unsigned char __builtin___tsan_atomic8_fetch_nand(volatile void*, unsigned char, int); +unsigned char __builtin___tsan_atomic8_fetch_or(volatile void*, unsigned char, int); +unsigned char __builtin___tsan_atomic8_fetch_sub(volatile void*, unsigned char, int); +unsigned char __builtin___tsan_atomic8_fetch_xor(volatile void*, unsigned char, int); +unsigned char __builtin___tsan_atomic8_load(const volatile void*, int); +void __builtin___tsan_atomic8_store(volatile void*, unsigned char, int); +void __builtin___tsan_atomic_signal_fence(int); +void __builtin___tsan_atomic_thread_fence(int); +void __builtin___tsan_func_entry(void*); +void __builtin___tsan_func_exit(void*); +void __builtin___tsan_read1(void*); +void __builtin___tsan_read16(void*); +void __builtin___tsan_read2(void*); +void __builtin___tsan_read4(void*); +void __builtin___tsan_read8(void*); +void __builtin___tsan_read_range(void*, long int); +#if __COVERITY_GCC_VERSION_AT_LEAST(5, 1) +void __builtin___tsan_vptr_update(void*, void*); +void __tsan_vptr_update(void*, void*); +#else +void __tsan_vptr_update(void*); +void __builtin___tsan_vptr_update(void*); +#endif +void __builtin___tsan_write1(void*); +void __builtin___tsan_write16(void*); +void __builtin___tsan_write2(void*); +void __builtin___tsan_write4(void*); +void __builtin___tsan_write8(void*); +void __builtin___tsan_write_range(void*, long int); +void __builtin___ubsan_handle_add_overflow(void*, void*, void*); +void __builtin___ubsan_handle_add_overflow_abort(void*, void*, void*); +void __builtin___ubsan_handle_builtin_unreachable(void*); +void __builtin___ubsan_handle_divrem_overflow(void*, void*, void*); +void __builtin___ubsan_handle_divrem_overflow_abort(void*, void*, void*); +void __builtin___ubsan_handle_dynamic_type_cache_miss(void*, void*, void*); +void __builtin___ubsan_handle_dynamic_type_cache_miss_abort(void*, void*, void*); +void __builtin___ubsan_handle_float_cast_overflow(void*, void*); +void __builtin___ubsan_handle_float_cast_overflow_abort(void*, void*); +void __builtin___ubsan_handle_invalid_builtin(void*); +void __builtin___ubsan_handle_invalid_builtin_abort(void*); +void __builtin___ubsan_handle_load_invalid_value(void*, void*); +void __builtin___ubsan_handle_load_invalid_value_abort(void*, void*); +void __builtin___ubsan_handle_missing_return(void*); +void __builtin___ubsan_handle_mul_overflow(void*, void*, void*); +void __builtin___ubsan_handle_mul_overflow_abort(void*, void*, void*); +void __builtin___ubsan_handle_negate_overflow(void*, void*); +void __builtin___ubsan_handle_negate_overflow_abort(void*, void*); +#if __COVERITY_GCC_VERSION_AT_LEAST(6, 0) +void __builtin___ubsan_handle_nonnull_arg(void*); +void __builtin___ubsan_handle_nonnull_arg_abort(void*); +void __ubsan_handle_nonnull_arg(void*); +void __ubsan_handle_nonnull_arg_abort(void*); +#else +void __ubsan_handle_nonnull_arg(void*, int); +void __ubsan_handle_nonnull_arg_abort(void*, int); +void __builtin___ubsan_handle_nonnull_arg(void*, int); +void __builtin___ubsan_handle_nonnull_arg_abort(void*, int); +#endif +void __builtin___ubsan_handle_nonnull_return_v1(void*, void*); +void __builtin___ubsan_handle_nonnull_return_v1_abort(void*, void*); +void __builtin___ubsan_handle_out_of_bounds(void*, void*); +void __builtin___ubsan_handle_out_of_bounds_abort(void*, void*); +void __builtin___ubsan_handle_pointer_overflow(void*, void*, void*); +void __builtin___ubsan_handle_pointer_overflow_abort(void*, void*, void*); +void __builtin___ubsan_handle_shift_out_of_bounds(void*, void*, void*); +void __builtin___ubsan_handle_shift_out_of_bounds_abort(void*, void*, void*); +void __builtin___ubsan_handle_sub_overflow(void*, void*, void*); +void __builtin___ubsan_handle_sub_overflow_abort(void*, void*, void*); +void __builtin___ubsan_handle_type_mismatch_v1(void*, void*); +void __builtin___ubsan_handle_type_mismatch_v1_abort(void*, void*); +void __builtin___ubsan_handle_vla_bound_not_positive(void*, void*); +void __builtin___ubsan_handle_vla_bound_not_positive_abort(void*, void*); +void __sanitizer_cov_trace_cmp1(unsigned char, unsigned char); +void __sanitizer_cov_trace_cmp2(short unsigned int, short unsigned int); +void __sanitizer_cov_trace_cmp4(unsigned int, unsigned int); +void __sanitizer_cov_trace_cmp8(long unsigned int, long unsigned int); +void __sanitizer_cov_trace_cmpd(double, double); +void __sanitizer_cov_trace_cmpf(float, float); +void __sanitizer_cov_trace_const_cmp1(unsigned char, unsigned char); +void __sanitizer_cov_trace_const_cmp2(short unsigned int, short unsigned int); +void __sanitizer_cov_trace_const_cmp4(unsigned int, unsigned int); +void __sanitizer_cov_trace_const_cmp8(long unsigned int, long unsigned int); +void __sanitizer_cov_trace_switch(long unsigned int, void*); +void __sanitizer_ptr_cmp(void*, long int); +void __sanitizer_ptr_sub(void*, long int); +__edg_bool_type__ __tsan_atomic16_compare_exchange_strong(volatile void*, void*, short unsigned int, int, int); +__edg_bool_type__ __tsan_atomic16_compare_exchange_weak(volatile void*, void*, short unsigned int, int, int); +short unsigned int __tsan_atomic16_exchange(volatile void*, short unsigned int, int); +short unsigned int __tsan_atomic16_fetch_add(volatile void*, short unsigned int, int); +short unsigned int __tsan_atomic16_fetch_and(volatile void*, short unsigned int, int); +short unsigned int __tsan_atomic16_fetch_nand(volatile void*, short unsigned int, int); +short unsigned int __tsan_atomic16_fetch_or(volatile void*, short unsigned int, int); +short unsigned int __tsan_atomic16_fetch_sub(volatile void*, short unsigned int, int); +short unsigned int __tsan_atomic16_fetch_xor(volatile void*, short unsigned int, int); +short unsigned int __tsan_atomic16_load(const volatile void*, int); +void __tsan_atomic16_store(volatile void*, short unsigned int, int); +__edg_bool_type__ __tsan_atomic32_compare_exchange_strong(volatile void*, void*, unsigned int, int, int); +__edg_bool_type__ __tsan_atomic32_compare_exchange_weak(volatile void*, void*, unsigned int, int, int); +unsigned int __tsan_atomic32_exchange(volatile void*, unsigned int, int); +unsigned int __tsan_atomic32_fetch_add(volatile void*, unsigned int, int); +unsigned int __tsan_atomic32_fetch_and(volatile void*, unsigned int, int); +unsigned int __tsan_atomic32_fetch_nand(volatile void*, unsigned int, int); +unsigned int __tsan_atomic32_fetch_or(volatile void*, unsigned int, int); +unsigned int __tsan_atomic32_fetch_sub(volatile void*, unsigned int, int); +unsigned int __tsan_atomic32_fetch_xor(volatile void*, unsigned int, int); +unsigned int __tsan_atomic32_load(const volatile void*, int); +void __tsan_atomic32_store(volatile void*, unsigned int, int); +__edg_bool_type__ __tsan_atomic64_compare_exchange_strong(volatile void*, void*, long unsigned int, int, int); +__edg_bool_type__ __tsan_atomic64_compare_exchange_weak(volatile void*, void*, long unsigned int, int, int); +long unsigned int __tsan_atomic64_exchange(volatile void*, long unsigned int, int); +long unsigned int __tsan_atomic64_fetch_add(volatile void*, long unsigned int, int); +long unsigned int __tsan_atomic64_fetch_and(volatile void*, long unsigned int, int); +long unsigned int __tsan_atomic64_fetch_nand(volatile void*, long unsigned int, int); +long unsigned int __tsan_atomic64_fetch_or(volatile void*, long unsigned int, int); +long unsigned int __tsan_atomic64_fetch_sub(volatile void*, long unsigned int, int); +long unsigned int __tsan_atomic64_fetch_xor(volatile void*, long unsigned int, int); +long unsigned int __tsan_atomic64_load(const volatile void*, int); +void __tsan_atomic64_store(volatile void*, long unsigned int, int); +__edg_bool_type__ __tsan_atomic8_compare_exchange_strong(volatile void*, void*, unsigned char, int, int); +__edg_bool_type__ __tsan_atomic8_compare_exchange_weak(volatile void*, void*, unsigned char, int, int); +unsigned char __tsan_atomic8_exchange(volatile void*, unsigned char, int); +unsigned char __tsan_atomic8_fetch_add(volatile void*, unsigned char, int); +unsigned char __tsan_atomic8_fetch_and(volatile void*, unsigned char, int); +unsigned char __tsan_atomic8_fetch_nand(volatile void*, unsigned char, int); +unsigned char __tsan_atomic8_fetch_or(volatile void*, unsigned char, int); +unsigned char __tsan_atomic8_fetch_sub(volatile void*, unsigned char, int); +unsigned char __tsan_atomic8_fetch_xor(volatile void*, unsigned char, int); +unsigned char __tsan_atomic8_load(const volatile void*, int); +void __tsan_atomic8_store(volatile void*, unsigned char, int); +void __tsan_atomic_signal_fence(int); +void __tsan_atomic_thread_fence(int); +void __tsan_func_entry(void*); +void __tsan_func_exit(void*); +void __tsan_read1(void*); +void __tsan_read16(void*); +void __tsan_read2(void*); +void __tsan_read4(void*); +void __tsan_read8(void*); +void __tsan_read_range(void*, long int); +void __tsan_write1(void*); +void __tsan_write16(void*); +void __tsan_write2(void*); +void __tsan_write4(void*); +void __tsan_write8(void*); +void __tsan_write_range(void*, long int); +void __ubsan_handle_add_overflow(void*, void*, void*); +void __ubsan_handle_add_overflow_abort(void*, void*, void*); +void __ubsan_handle_builtin_unreachable(void*); +void __ubsan_handle_divrem_overflow(void*, void*, void*); +void __ubsan_handle_divrem_overflow_abort(void*, void*, void*); +void __ubsan_handle_dynamic_type_cache_miss(void*, void*, void*); +void __ubsan_handle_dynamic_type_cache_miss_abort(void*, void*, void*); +void __ubsan_handle_float_cast_overflow(void*, void*); +void __ubsan_handle_float_cast_overflow_abort(void*, void*); +void __ubsan_handle_invalid_builtin(void*); +void __ubsan_handle_invalid_builtin_abort(void*); +void __ubsan_handle_load_invalid_value(void*, void*); +void __ubsan_handle_load_invalid_value_abort(void*, void*); +void __ubsan_handle_missing_return(void*); +void __ubsan_handle_mul_overflow(void*, void*, void*); +void __ubsan_handle_mul_overflow_abort(void*, void*, void*); +void __ubsan_handle_negate_overflow(void*, void*); +void __ubsan_handle_negate_overflow_abort(void*, void*); +void __ubsan_handle_nonnull_return_v1(void*, void*); +void __ubsan_handle_nonnull_return_v1_abort(void*, void*); +void __ubsan_handle_out_of_bounds(void*, void*); +void __ubsan_handle_out_of_bounds_abort(void*, void*); +void __ubsan_handle_pointer_overflow(void*, void*, void*); +void __ubsan_handle_pointer_overflow_abort(void*, void*, void*); +void __ubsan_handle_shift_out_of_bounds(void*, void*, void*); +void __ubsan_handle_shift_out_of_bounds_abort(void*, void*, void*); +void __ubsan_handle_sub_overflow(void*, void*, void*); +void __ubsan_handle_sub_overflow_abort(void*, void*, void*); +void __ubsan_handle_type_mismatch_v1(void*, void*); +void __ubsan_handle_type_mismatch_v1_abort(void*, void*); +void __ubsan_handle_vla_bound_not_positive(void*, void*); +void __ubsan_handle_vla_bound_not_positive_abort(void*, void*); + +/* Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. */ + +/* + * These declarations are used to support Windows targets. They are not + * supported intrinsically by cov-emit. + */ + +#if __COVERITY_GCC_VERSION_AT_LEAST(4, 4) +#define __builtin_ms_va_list __builtin_va_list +#define __builtin_ms_va_copy __builtin_va_copy +#define __builtin_ms_va_start __builtin_va_start +#define __builtin_ms_va_end __builtin_va_end + +#define __builtin_sysv_va_list __builtin_va_list +#define __builtin_sysv_va_copy __builtin_va_copy +#define __builtin_sysv_va_start __builtin_va_start +#define __builtin_sysv_va_end __builtin_va_end + +#define __ms_va_copy(__d,__s) __builtin_ms_va_copy(__d,__s) +#define __ms_va_start(__v,__l) __builtin_ms_va_start(__v,__l) +#define __ms_va_arg(__v,__l) __builtin_va_arg(__v,__l) +#define __ms_va_end(__v) __builtin_ms_va_end(__v) + +#define __sysv_va_copy(__d,__s) __builtin_sysv_va_copy(__d,__s) +#define __sysv_va_start(__v,__l) __builtin_sysv_va_start(__v,__l) +#define __sysv_va_arg(__v,__l) __builtin_va_arg(__v,__l) +#define __sysv_va_end(__v) __builtin_sysv_va_end(__v) +#endif /* GCC >= 4.4 */ + +#pragma builtin end +#endif /* COVERITY_COMPAT_a686842b84bb52371c3dd7976b9e30b4 */ +#endif /* __COVERITY__ */ diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-macro-compat.h b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-macro-compat.h new file mode 100644 index 000000000..dd0854e36 --- /dev/null +++ b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-macro-compat.h @@ -0,0 +1,1084 @@ + +#if !(defined(__SSP_STRONG__) || defined(__coverity_undefine___SSP_STRONG__)) +#define __SSP_STRONG__ 3 +#endif +#if !(defined(__DBL_MIN_EXP__) || defined(__coverity_undefine___DBL_MIN_EXP__)) +#define __DBL_MIN_EXP__ (-1021) +#endif +#if !(defined(__FLT32X_MAX_EXP__) || defined(__coverity_undefine___FLT32X_MAX_EXP__)) +#define __FLT32X_MAX_EXP__ 1024 +#endif +#if !(defined(__UINT_LEAST16_MAX__) || defined(__coverity_undefine___UINT_LEAST16_MAX__)) +#define __UINT_LEAST16_MAX__ 0xffff +#endif +#if !(defined(__ATOMIC_ACQUIRE) || defined(__coverity_undefine___ATOMIC_ACQUIRE)) +#define __ATOMIC_ACQUIRE 2 +#endif +#if !(defined(__FLT128_MAX_10_EXP__) || defined(__coverity_undefine___FLT128_MAX_10_EXP__)) +#define __FLT128_MAX_10_EXP__ 4932 +#endif +#if !(defined(__FLT_MIN__) || defined(__coverity_undefine___FLT_MIN__)) +#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F +#endif +#if !(defined(__GCC_IEC_559_COMPLEX) || defined(__coverity_undefine___GCC_IEC_559_COMPLEX)) +#define __GCC_IEC_559_COMPLEX 2 +#endif +#if !(defined(__UINT_LEAST8_TYPE__) || defined(__coverity_undefine___UINT_LEAST8_TYPE__)) +#define __UINT_LEAST8_TYPE__ unsigned char +#endif +#if !(defined(__SIZEOF_FLOAT80__) || defined(__coverity_undefine___SIZEOF_FLOAT80__)) +#define __SIZEOF_FLOAT80__ 16 +#endif +#if !(defined(__INTMAX_C) || defined(__coverity_undefine___INTMAX_C)) +#define __INTMAX_C(c) c ## L +#endif +#if !(defined(__CHAR_BIT__) || defined(__coverity_undefine___CHAR_BIT__)) +#define __CHAR_BIT__ 8 +#endif +#if !(defined(__UINT8_MAX__) || defined(__coverity_undefine___UINT8_MAX__)) +#define __UINT8_MAX__ 0xff +#endif +#if !(defined(__WINT_MAX__) || defined(__coverity_undefine___WINT_MAX__)) +#define __WINT_MAX__ 0xffffffffU +#endif +#if !(defined(__FLT32_MIN_EXP__) || defined(__coverity_undefine___FLT32_MIN_EXP__)) +#define __FLT32_MIN_EXP__ (-125) +#endif +#if !(defined(__ORDER_LITTLE_ENDIAN__) || defined(__coverity_undefine___ORDER_LITTLE_ENDIAN__)) +#define __ORDER_LITTLE_ENDIAN__ 1234 +#endif +#if !(defined(__SIZE_MAX__) || defined(__coverity_undefine___SIZE_MAX__)) +#define __SIZE_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__WCHAR_MAX__) || defined(__coverity_undefine___WCHAR_MAX__)) +#define __WCHAR_MAX__ 0x7fffffff +#endif +#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_1)) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +#endif +#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_2)) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +#endif +#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4)) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +#endif +#if !(defined(__DBL_DENORM_MIN__) || defined(__coverity_undefine___DBL_DENORM_MIN__)) +#define __DBL_DENORM_MIN__ ((double)4.94065645841246544176568792868221372e-324L) +#endif +#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_8)) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 +#endif +#if !(defined(__GCC_ATOMIC_CHAR_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_CHAR_LOCK_FREE)) +#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 +#endif +#if !(defined(__GCC_IEC_559) || defined(__coverity_undefine___GCC_IEC_559)) +#define __GCC_IEC_559 2 +#endif +#if !(defined(__FLT32X_DECIMAL_DIG__) || defined(__coverity_undefine___FLT32X_DECIMAL_DIG__)) +#define __FLT32X_DECIMAL_DIG__ 17 +#endif +#if !(defined(__FLT_EVAL_METHOD__) || defined(__coverity_undefine___FLT_EVAL_METHOD__)) +#define __FLT_EVAL_METHOD__ 0 +#endif +#if !(defined(__unix__) || defined(__coverity_undefine___unix__)) +#define __unix__ 1 +#endif +#if !(defined(__FLT64_DECIMAL_DIG__) || defined(__coverity_undefine___FLT64_DECIMAL_DIG__)) +#define __FLT64_DECIMAL_DIG__ 17 +#endif +#if !(defined(__CET__) || defined(__coverity_undefine___CET__)) +#define __CET__ 3 +#endif +#if !(defined(__GCC_ATOMIC_CHAR32_T_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_CHAR32_T_LOCK_FREE)) +#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 +#endif +#if !(defined(__x86_64) || defined(__coverity_undefine___x86_64)) +#define __x86_64 1 +#endif +#if !(defined(__UINT_FAST64_MAX__) || defined(__coverity_undefine___UINT_FAST64_MAX__)) +#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__SIG_ATOMIC_TYPE__) || defined(__coverity_undefine___SIG_ATOMIC_TYPE__)) +#define __SIG_ATOMIC_TYPE__ int +#endif +#if !(defined(__DBL_MIN_10_EXP__) || defined(__coverity_undefine___DBL_MIN_10_EXP__)) +#define __DBL_MIN_10_EXP__ (-307) +#endif +#if !(defined(__FINITE_MATH_ONLY__) || defined(__coverity_undefine___FINITE_MATH_ONLY__)) +#define __FINITE_MATH_ONLY__ 0 +#endif +#if !(defined(__GNUC_PATCHLEVEL__) || defined(__coverity_undefine___GNUC_PATCHLEVEL__)) +#define __GNUC_PATCHLEVEL__ 0 +#endif +#if !(defined(__FLT32_HAS_DENORM__) || defined(__coverity_undefine___FLT32_HAS_DENORM__)) +#define __FLT32_HAS_DENORM__ 1 +#endif +#if !(defined(__UINT_FAST8_MAX__) || defined(__coverity_undefine___UINT_FAST8_MAX__)) +#define __UINT_FAST8_MAX__ 0xff +#endif +#if !(defined(__DEC64_MAX_EXP__) || defined(__coverity_undefine___DEC64_MAX_EXP__)) +#define __DEC64_MAX_EXP__ 385 +#endif +#if !(defined(__INT8_C) || defined(__coverity_undefine___INT8_C)) +#define __INT8_C(c) c +#endif +#if !(defined(__INT_LEAST8_WIDTH__) || defined(__coverity_undefine___INT_LEAST8_WIDTH__)) +#define __INT_LEAST8_WIDTH__ 8 +#endif +#if !(defined(__UINT_LEAST64_MAX__) || defined(__coverity_undefine___UINT_LEAST64_MAX__)) +#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__SHRT_MAX__) || defined(__coverity_undefine___SHRT_MAX__)) +#define __SHRT_MAX__ 0x7fff +#endif +#if !(defined(__LDBL_MAX__) || defined(__coverity_undefine___LDBL_MAX__)) +#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L +#endif +#if !(defined(__FLT64X_MAX_10_EXP__) || defined(__coverity_undefine___FLT64X_MAX_10_EXP__)) +#define __FLT64X_MAX_10_EXP__ 4932 +#endif +#if !(defined(__UINT_LEAST8_MAX__) || defined(__coverity_undefine___UINT_LEAST8_MAX__)) +#define __UINT_LEAST8_MAX__ 0xff +#endif +#if !(defined(__GCC_ATOMIC_BOOL_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_BOOL_LOCK_FREE)) +#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 +#endif +#if !(defined(__FLT128_DENORM_MIN__) || defined(__coverity_undefine___FLT128_DENORM_MIN__)) +#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128 +#endif +#if !(defined(__UINTMAX_TYPE__) || defined(__coverity_undefine___UINTMAX_TYPE__)) +#define __UINTMAX_TYPE__ long unsigned int +#endif +#if !(defined(__linux) || defined(__coverity_undefine___linux)) +#define __linux 1 +#endif +#if !(defined(__DEC32_EPSILON__) || defined(__coverity_undefine___DEC32_EPSILON__)) +#define __DEC32_EPSILON__ 1E-6DF +#endif +#if !(defined(__FLT_EVAL_METHOD_TS_18661_3__) || defined(__coverity_undefine___FLT_EVAL_METHOD_TS_18661_3__)) +#define __FLT_EVAL_METHOD_TS_18661_3__ 0 +#endif +#if !(defined(__unix) || defined(__coverity_undefine___unix)) +#define __unix 1 +#endif +#if !(defined(__UINT32_MAX__) || defined(__coverity_undefine___UINT32_MAX__)) +#define __UINT32_MAX__ 0xffffffffU +#endif +#if !(defined(__LDBL_MAX_EXP__) || defined(__coverity_undefine___LDBL_MAX_EXP__)) +#define __LDBL_MAX_EXP__ 16384 +#endif +#if !(defined(__FLT128_MIN_EXP__) || defined(__coverity_undefine___FLT128_MIN_EXP__)) +#define __FLT128_MIN_EXP__ (-16381) +#endif +#if !(defined(__WINT_MIN__) || defined(__coverity_undefine___WINT_MIN__)) +#define __WINT_MIN__ 0U +#endif +#if !(defined(__linux__) || defined(__coverity_undefine___linux__)) +#define __linux__ 1 +#endif +#if !(defined(__FLT128_MIN_10_EXP__) || defined(__coverity_undefine___FLT128_MIN_10_EXP__)) +#define __FLT128_MIN_10_EXP__ (-4931) +#endif +#if !(defined(__INT_LEAST16_WIDTH__) || defined(__coverity_undefine___INT_LEAST16_WIDTH__)) +#define __INT_LEAST16_WIDTH__ 16 +#endif +#if !(defined(__SCHAR_MAX__) || defined(__coverity_undefine___SCHAR_MAX__)) +#define __SCHAR_MAX__ 0x7f +#endif +#if !(defined(__FLT128_MANT_DIG__) || defined(__coverity_undefine___FLT128_MANT_DIG__)) +#define __FLT128_MANT_DIG__ 113 +#endif +#if !(defined(__WCHAR_MIN__) || defined(__coverity_undefine___WCHAR_MIN__)) +#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) +#endif +#if !(defined(__INT64_C) || defined(__coverity_undefine___INT64_C)) +#define __INT64_C(c) c ## L +#endif +#if !(defined(__DBL_DIG__) || defined(__coverity_undefine___DBL_DIG__)) +#define __DBL_DIG__ 15 +#endif +#if !(defined(__GCC_ATOMIC_POINTER_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_POINTER_LOCK_FREE)) +#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 +#endif +#if !(defined(__FLT64X_MANT_DIG__) || defined(__coverity_undefine___FLT64X_MANT_DIG__)) +#define __FLT64X_MANT_DIG__ 64 +#endif +#if !(defined(__SIZEOF_INT__) || defined(__coverity_undefine___SIZEOF_INT__)) +#define __SIZEOF_INT__ 4 +#endif +#if !(defined(__SIZEOF_POINTER__) || defined(__coverity_undefine___SIZEOF_POINTER__)) +#define __SIZEOF_POINTER__ 8 +#endif +#if !(defined(__USER_LABEL_PREFIX__) || defined(__coverity_undefine___USER_LABEL_PREFIX__)) +#define __USER_LABEL_PREFIX__ +#endif +#if !(defined(__FLT64X_EPSILON__) || defined(__coverity_undefine___FLT64X_EPSILON__)) +#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x +#endif +#if !(defined(__STDC_HOSTED__) || defined(__coverity_undefine___STDC_HOSTED__)) +#define __STDC_HOSTED__ 1 +#endif +#if !(defined(__LDBL_HAS_INFINITY__) || defined(__coverity_undefine___LDBL_HAS_INFINITY__)) +#define __LDBL_HAS_INFINITY__ 1 +#endif +#if !(defined(__FLT32_DIG__) || defined(__coverity_undefine___FLT32_DIG__)) +#define __FLT32_DIG__ 6 +#endif +#if !(defined(__FLT_EPSILON__) || defined(__coverity_undefine___FLT_EPSILON__)) +#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F +#endif +#if !(defined(__SHRT_WIDTH__) || defined(__coverity_undefine___SHRT_WIDTH__)) +#define __SHRT_WIDTH__ 16 +#endif +#if !(defined(__LDBL_MIN__) || defined(__coverity_undefine___LDBL_MIN__)) +#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L +#endif +#if !(defined(__DEC32_MAX__) || defined(__coverity_undefine___DEC32_MAX__)) +#define __DEC32_MAX__ 9.999999E96DF +#endif +#if !(defined(__FLT64X_DENORM_MIN__) || defined(__coverity_undefine___FLT64X_DENORM_MIN__)) +#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x +#endif +#if !(defined(__FLT32X_HAS_INFINITY__) || defined(__coverity_undefine___FLT32X_HAS_INFINITY__)) +#define __FLT32X_HAS_INFINITY__ 1 +#endif +#if !(defined(__INT32_MAX__) || defined(__coverity_undefine___INT32_MAX__)) +#define __INT32_MAX__ 0x7fffffff +#endif +#if !(defined(__INT_WIDTH__) || defined(__coverity_undefine___INT_WIDTH__)) +#define __INT_WIDTH__ 32 +#endif +#if !(defined(__SIZEOF_LONG__) || defined(__coverity_undefine___SIZEOF_LONG__)) +#define __SIZEOF_LONG__ 8 +#endif +#if !(defined(__STDC_IEC_559__) || defined(__coverity_undefine___STDC_IEC_559__)) +#define __STDC_IEC_559__ 1 +#endif +#if !(defined(__STDC_ISO_10646__) || defined(__coverity_undefine___STDC_ISO_10646__)) +#define __STDC_ISO_10646__ 201706L +#endif +#if !(defined(__UINT16_C) || defined(__coverity_undefine___UINT16_C)) +#define __UINT16_C(c) c +#endif +#if !(defined(__PTRDIFF_WIDTH__) || defined(__coverity_undefine___PTRDIFF_WIDTH__)) +#define __PTRDIFF_WIDTH__ 64 +#endif +#if !(defined(__DECIMAL_DIG__) || defined(__coverity_undefine___DECIMAL_DIG__)) +#define __DECIMAL_DIG__ 21 +#endif +#if !(defined(__FLT64_EPSILON__) || defined(__coverity_undefine___FLT64_EPSILON__)) +#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64 +#endif +#if !(defined(__gnu_linux__) || defined(__coverity_undefine___gnu_linux__)) +#define __gnu_linux__ 1 +#endif +#if !(defined(__INTMAX_WIDTH__) || defined(__coverity_undefine___INTMAX_WIDTH__)) +#define __INTMAX_WIDTH__ 64 +#endif +#if !(defined(__FLT64X_MIN_10_EXP__) || defined(__coverity_undefine___FLT64X_MIN_10_EXP__)) +#define __FLT64X_MIN_10_EXP__ (-4931) +#endif +#if !(defined(__LDBL_HAS_QUIET_NAN__) || defined(__coverity_undefine___LDBL_HAS_QUIET_NAN__)) +#define __LDBL_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__FLT64_MANT_DIG__) || defined(__coverity_undefine___FLT64_MANT_DIG__)) +#define __FLT64_MANT_DIG__ 53 +#endif +#if !(defined(__GNUC__) || defined(__coverity_undefine___GNUC__)) +#define __GNUC__ 9 +#endif +#if !(defined(__pie__) || defined(__coverity_undefine___pie__)) +#define __pie__ 2 +#endif +#if !(defined(__MMX__) || defined(__coverity_undefine___MMX__)) +#define __MMX__ 1 +#endif +#if !(defined(__FLT_HAS_DENORM__) || defined(__coverity_undefine___FLT_HAS_DENORM__)) +#define __FLT_HAS_DENORM__ 1 +#endif +#if !(defined(__SIZEOF_LONG_DOUBLE__) || defined(__coverity_undefine___SIZEOF_LONG_DOUBLE__)) +#define __SIZEOF_LONG_DOUBLE__ 16 +#endif +#if !(defined(__BIGGEST_ALIGNMENT__) || defined(__coverity_undefine___BIGGEST_ALIGNMENT__)) +#define __BIGGEST_ALIGNMENT__ 16 +#endif +#if !(defined(__FLT64_MAX_10_EXP__) || defined(__coverity_undefine___FLT64_MAX_10_EXP__)) +#define __FLT64_MAX_10_EXP__ 308 +#endif +#if !(defined(__DBL_MAX__) || defined(__coverity_undefine___DBL_MAX__)) +#define __DBL_MAX__ ((double)1.79769313486231570814527423731704357e+308L) +#endif +#if !(defined(__INT_FAST32_MAX__) || defined(__coverity_undefine___INT_FAST32_MAX__)) +#define __INT_FAST32_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__DBL_HAS_INFINITY__) || defined(__coverity_undefine___DBL_HAS_INFINITY__)) +#define __DBL_HAS_INFINITY__ 1 +#endif +#if !(defined(__HAVE_SPECULATION_SAFE_VALUE) || defined(__coverity_undefine___HAVE_SPECULATION_SAFE_VALUE)) +#define __HAVE_SPECULATION_SAFE_VALUE 1 +#endif +#if !(defined(__DEC32_MIN_EXP__) || defined(__coverity_undefine___DEC32_MIN_EXP__)) +#define __DEC32_MIN_EXP__ (-94) +#endif +#if !(defined(__INTPTR_WIDTH__) || defined(__coverity_undefine___INTPTR_WIDTH__)) +#define __INTPTR_WIDTH__ 64 +#endif +#if !(defined(__FLT32X_HAS_DENORM__) || defined(__coverity_undefine___FLT32X_HAS_DENORM__)) +#define __FLT32X_HAS_DENORM__ 1 +#endif +#if !(defined(__INT_FAST16_TYPE__) || defined(__coverity_undefine___INT_FAST16_TYPE__)) +#define __INT_FAST16_TYPE__ long int +#endif +#if !(defined(__LDBL_HAS_DENORM__) || defined(__coverity_undefine___LDBL_HAS_DENORM__)) +#define __LDBL_HAS_DENORM__ 1 +#endif +#if !(defined(__FLT128_HAS_INFINITY__) || defined(__coverity_undefine___FLT128_HAS_INFINITY__)) +#define __FLT128_HAS_INFINITY__ 1 +#endif +#if !(defined(__DEC128_MAX__) || defined(__coverity_undefine___DEC128_MAX__)) +#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL +#endif +#if !(defined(__INT_LEAST32_MAX__) || defined(__coverity_undefine___INT_LEAST32_MAX__)) +#define __INT_LEAST32_MAX__ 0x7fffffff +#endif +#if !(defined(__DEC32_MIN__) || defined(__coverity_undefine___DEC32_MIN__)) +#define __DEC32_MIN__ 1E-95DF +#endif +#if !(defined(__DBL_MAX_EXP__) || defined(__coverity_undefine___DBL_MAX_EXP__)) +#define __DBL_MAX_EXP__ 1024 +#endif +#if !(defined(__WCHAR_WIDTH__) || defined(__coverity_undefine___WCHAR_WIDTH__)) +#define __WCHAR_WIDTH__ 32 +#endif +#if !(defined(__FLT32_MAX__) || defined(__coverity_undefine___FLT32_MAX__)) +#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32 +#endif +#if !(defined(__DEC128_EPSILON__) || defined(__coverity_undefine___DEC128_EPSILON__)) +#define __DEC128_EPSILON__ 1E-33DL +#endif +#if !(defined(__SSE2_MATH__) || defined(__coverity_undefine___SSE2_MATH__)) +#define __SSE2_MATH__ 1 +#endif +#if !(defined(__ATOMIC_HLE_RELEASE) || defined(__coverity_undefine___ATOMIC_HLE_RELEASE)) +#define __ATOMIC_HLE_RELEASE 131072 +#endif +#if !(defined(__PTRDIFF_MAX__) || defined(__coverity_undefine___PTRDIFF_MAX__)) +#define __PTRDIFF_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__amd64) || defined(__coverity_undefine___amd64)) +#define __amd64 1 +#endif +#if !(defined(__ATOMIC_HLE_ACQUIRE) || defined(__coverity_undefine___ATOMIC_HLE_ACQUIRE)) +#define __ATOMIC_HLE_ACQUIRE 65536 +#endif +#if !(defined(__FLT32_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT32_HAS_QUIET_NAN__)) +#define __FLT32_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__LONG_LONG_MAX__) || defined(__coverity_undefine___LONG_LONG_MAX__)) +#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL +#endif +#if !(defined(__SIZEOF_SIZE_T__) || defined(__coverity_undefine___SIZEOF_SIZE_T__)) +#define __SIZEOF_SIZE_T__ 8 +#endif +#if !(defined(__FLT64X_MIN_EXP__) || defined(__coverity_undefine___FLT64X_MIN_EXP__)) +#define __FLT64X_MIN_EXP__ (-16381) +#endif +#if !(defined(__SIZEOF_WINT_T__) || defined(__coverity_undefine___SIZEOF_WINT_T__)) +#define __SIZEOF_WINT_T__ 4 +#endif +#if !(defined(__LONG_LONG_WIDTH__) || defined(__coverity_undefine___LONG_LONG_WIDTH__)) +#define __LONG_LONG_WIDTH__ 64 +#endif +#if !(defined(__FLT32_MAX_EXP__) || defined(__coverity_undefine___FLT32_MAX_EXP__)) +#define __FLT32_MAX_EXP__ 128 +#endif +#if !(defined(__GCC_HAVE_DWARF2_CFI_ASM) || defined(__coverity_undefine___GCC_HAVE_DWARF2_CFI_ASM)) +#define __GCC_HAVE_DWARF2_CFI_ASM 1 +#endif +#if !(defined(__GXX_ABI_VERSION) || defined(__coverity_undefine___GXX_ABI_VERSION)) +#define __GXX_ABI_VERSION 1013 +#endif +#if !(defined(__FLT_MIN_EXP__) || defined(__coverity_undefine___FLT_MIN_EXP__)) +#define __FLT_MIN_EXP__ (-125) +#endif +#if !(defined(__FLT64X_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT64X_HAS_QUIET_NAN__)) +#define __FLT64X_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__INT_FAST64_TYPE__) || defined(__coverity_undefine___INT_FAST64_TYPE__)) +#define __INT_FAST64_TYPE__ long int +#endif +#if !(defined(__FLT64_DENORM_MIN__) || defined(__coverity_undefine___FLT64_DENORM_MIN__)) +#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64 +#endif +#if !(defined(__DBL_MIN__) || defined(__coverity_undefine___DBL_MIN__)) +#define __DBL_MIN__ ((double)2.22507385850720138309023271733240406e-308L) +#endif +#if !(defined(__PIE__) || defined(__coverity_undefine___PIE__)) +#define __PIE__ 2 +#endif +#if !(defined(__LP64__) || defined(__coverity_undefine___LP64__)) +#define __LP64__ 1 +#endif +#if !(defined(__FLT32X_EPSILON__) || defined(__coverity_undefine___FLT32X_EPSILON__)) +#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x +#endif +#if !(defined(__DECIMAL_BID_FORMAT__) || defined(__coverity_undefine___DECIMAL_BID_FORMAT__)) +#define __DECIMAL_BID_FORMAT__ 1 +#endif +#if !(defined(__FLT64_MIN_EXP__) || defined(__coverity_undefine___FLT64_MIN_EXP__)) +#define __FLT64_MIN_EXP__ (-1021) +#endif +#if !(defined(__FLT64_MIN_10_EXP__) || defined(__coverity_undefine___FLT64_MIN_10_EXP__)) +#define __FLT64_MIN_10_EXP__ (-307) +#endif +#if !(defined(__FLT64X_DECIMAL_DIG__) || defined(__coverity_undefine___FLT64X_DECIMAL_DIG__)) +#define __FLT64X_DECIMAL_DIG__ 21 +#endif +#if !(defined(__DEC128_MIN__) || defined(__coverity_undefine___DEC128_MIN__)) +#define __DEC128_MIN__ 1E-6143DL +#endif +#if !(defined(__REGISTER_PREFIX__) || defined(__coverity_undefine___REGISTER_PREFIX__)) +#define __REGISTER_PREFIX__ +#endif +#if !(defined(__UINT16_MAX__) || defined(__coverity_undefine___UINT16_MAX__)) +#define __UINT16_MAX__ 0xffff +#endif +#if !(defined(__DBL_HAS_DENORM__) || defined(__coverity_undefine___DBL_HAS_DENORM__)) +#define __DBL_HAS_DENORM__ 1 +#endif +#if !(defined(__FLT32_MIN__) || defined(__coverity_undefine___FLT32_MIN__)) +#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32 +#endif +#if !(defined(__UINT8_TYPE__) || defined(__coverity_undefine___UINT8_TYPE__)) +#define __UINT8_TYPE__ unsigned char +#endif +#if !(defined(__FLT_MANT_DIG__) || defined(__coverity_undefine___FLT_MANT_DIG__)) +#define __FLT_MANT_DIG__ 24 +#endif +#if !(defined(__LDBL_DECIMAL_DIG__) || defined(__coverity_undefine___LDBL_DECIMAL_DIG__)) +#define __LDBL_DECIMAL_DIG__ 21 +#endif +#if !(defined(__VERSION__) || defined(__coverity_undefine___VERSION__)) +#define __VERSION__ "9.4.0" +#endif +#if !(defined(__UINT64_C) || defined(__coverity_undefine___UINT64_C)) +#define __UINT64_C(c) c ## UL +#endif +#if !(defined(_STDC_PREDEF_H) || defined(__coverity_undefine__STDC_PREDEF_H)) +#define _STDC_PREDEF_H 1 +#endif +#if !(defined(__GCC_ATOMIC_INT_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_INT_LOCK_FREE)) +#define __GCC_ATOMIC_INT_LOCK_FREE 2 +#endif +#if !(defined(__FLT128_MAX_EXP__) || defined(__coverity_undefine___FLT128_MAX_EXP__)) +#define __FLT128_MAX_EXP__ 16384 +#endif +#if !(defined(__FLT32_MANT_DIG__) || defined(__coverity_undefine___FLT32_MANT_DIG__)) +#define __FLT32_MANT_DIG__ 24 +#endif +#if !(defined(__FLOAT_WORD_ORDER__) || defined(__coverity_undefine___FLOAT_WORD_ORDER__)) +#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ +#endif +#if !(defined(__STDC_IEC_559_COMPLEX__) || defined(__coverity_undefine___STDC_IEC_559_COMPLEX__)) +#define __STDC_IEC_559_COMPLEX__ 1 +#endif +#if !(defined(__FLT128_HAS_DENORM__) || defined(__coverity_undefine___FLT128_HAS_DENORM__)) +#define __FLT128_HAS_DENORM__ 1 +#endif +#if !(defined(__FLT128_DIG__) || defined(__coverity_undefine___FLT128_DIG__)) +#define __FLT128_DIG__ 33 +#endif +#if !(defined(__SCHAR_WIDTH__) || defined(__coverity_undefine___SCHAR_WIDTH__)) +#define __SCHAR_WIDTH__ 8 +#endif +#if !(defined(__INT32_C) || defined(__coverity_undefine___INT32_C)) +#define __INT32_C(c) c +#endif +#if !(defined(__DEC64_EPSILON__) || defined(__coverity_undefine___DEC64_EPSILON__)) +#define __DEC64_EPSILON__ 1E-15DD +#endif +#if !(defined(__ORDER_PDP_ENDIAN__) || defined(__coverity_undefine___ORDER_PDP_ENDIAN__)) +#define __ORDER_PDP_ENDIAN__ 3412 +#endif +#if !(defined(__DEC128_MIN_EXP__) || defined(__coverity_undefine___DEC128_MIN_EXP__)) +#define __DEC128_MIN_EXP__ (-6142) +#endif +#if !(defined(__FLT32_MAX_10_EXP__) || defined(__coverity_undefine___FLT32_MAX_10_EXP__)) +#define __FLT32_MAX_10_EXP__ 38 +#endif +#if !(defined(__INT_FAST32_TYPE__) || defined(__coverity_undefine___INT_FAST32_TYPE__)) +#define __INT_FAST32_TYPE__ long int +#endif +#if !(defined(__UINT_LEAST16_TYPE__) || defined(__coverity_undefine___UINT_LEAST16_TYPE__)) +#define __UINT_LEAST16_TYPE__ short unsigned int +#endif +#if !(defined(__FLT64X_HAS_INFINITY__) || defined(__coverity_undefine___FLT64X_HAS_INFINITY__)) +#define __FLT64X_HAS_INFINITY__ 1 +#endif +#if !(defined(unix) || defined(__coverity_undefine_unix)) +#define unix 1 +#endif +#if !(defined(__INT16_MAX__) || defined(__coverity_undefine___INT16_MAX__)) +#define __INT16_MAX__ 0x7fff +#endif +#if !(defined(__SIZE_TYPE__) || defined(__coverity_undefine___SIZE_TYPE__)) +#define __SIZE_TYPE__ long unsigned int +#endif +#if !(defined(__UINT64_MAX__) || defined(__coverity_undefine___UINT64_MAX__)) +#define __UINT64_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__FLT64X_DIG__) || defined(__coverity_undefine___FLT64X_DIG__)) +#define __FLT64X_DIG__ 18 +#endif +#if !(defined(__INT8_TYPE__) || defined(__coverity_undefine___INT8_TYPE__)) +#define __INT8_TYPE__ signed char +#endif +#if !(defined(__ELF__) || defined(__coverity_undefine___ELF__)) +#define __ELF__ 1 +#endif +#if !(defined(__GCC_ASM_FLAG_OUTPUTS__) || defined(__coverity_undefine___GCC_ASM_FLAG_OUTPUTS__)) +#define __GCC_ASM_FLAG_OUTPUTS__ 1 +#endif +#if !(defined(__FLT_RADIX__) || defined(__coverity_undefine___FLT_RADIX__)) +#define __FLT_RADIX__ 2 +#endif +#if !(defined(__INT_LEAST16_TYPE__) || defined(__coverity_undefine___INT_LEAST16_TYPE__)) +#define __INT_LEAST16_TYPE__ short int +#endif +#if !(defined(__LDBL_EPSILON__) || defined(__coverity_undefine___LDBL_EPSILON__)) +#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L +#endif +#if !(defined(__UINTMAX_C) || defined(__coverity_undefine___UINTMAX_C)) +#define __UINTMAX_C(c) c ## UL +#endif +#if !(defined(__SSE_MATH__) || defined(__coverity_undefine___SSE_MATH__)) +#define __SSE_MATH__ 1 +#endif +#if !(defined(__k8) || defined(__coverity_undefine___k8)) +#define __k8 1 +#endif +#if !(defined(__SIG_ATOMIC_MAX__) || defined(__coverity_undefine___SIG_ATOMIC_MAX__)) +#define __SIG_ATOMIC_MAX__ 0x7fffffff +#endif +#if !(defined(__GCC_ATOMIC_WCHAR_T_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_WCHAR_T_LOCK_FREE)) +#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 +#endif +#if !(defined(__SIZEOF_PTRDIFF_T__) || defined(__coverity_undefine___SIZEOF_PTRDIFF_T__)) +#define __SIZEOF_PTRDIFF_T__ 8 +#endif +#if !(defined(__FLT32X_MANT_DIG__) || defined(__coverity_undefine___FLT32X_MANT_DIG__)) +#define __FLT32X_MANT_DIG__ 53 +#endif +#if !(defined(__x86_64__) || defined(__coverity_undefine___x86_64__)) +#define __x86_64__ 1 +#endif +#if !(defined(__FLT32X_MIN_EXP__) || defined(__coverity_undefine___FLT32X_MIN_EXP__)) +#define __FLT32X_MIN_EXP__ (-1021) +#endif +#if !(defined(__DEC32_SUBNORMAL_MIN__) || defined(__coverity_undefine___DEC32_SUBNORMAL_MIN__)) +#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF +#endif +#if !(defined(__INT_FAST16_MAX__) || defined(__coverity_undefine___INT_FAST16_MAX__)) +#define __INT_FAST16_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__FLT64_DIG__) || defined(__coverity_undefine___FLT64_DIG__)) +#define __FLT64_DIG__ 15 +#endif +#if !(defined(__UINT_FAST32_MAX__) || defined(__coverity_undefine___UINT_FAST32_MAX__)) +#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__UINT_LEAST64_TYPE__) || defined(__coverity_undefine___UINT_LEAST64_TYPE__)) +#define __UINT_LEAST64_TYPE__ long unsigned int +#endif +#if !(defined(__FLT_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT_HAS_QUIET_NAN__)) +#define __FLT_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__FLT_MAX_10_EXP__) || defined(__coverity_undefine___FLT_MAX_10_EXP__)) +#define __FLT_MAX_10_EXP__ 38 +#endif +#if !(defined(__LONG_MAX__) || defined(__coverity_undefine___LONG_MAX__)) +#define __LONG_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__FLT64X_HAS_DENORM__) || defined(__coverity_undefine___FLT64X_HAS_DENORM__)) +#define __FLT64X_HAS_DENORM__ 1 +#endif +#if !(defined(__DEC128_SUBNORMAL_MIN__) || defined(__coverity_undefine___DEC128_SUBNORMAL_MIN__)) +#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL +#endif +#if !(defined(__FLT_HAS_INFINITY__) || defined(__coverity_undefine___FLT_HAS_INFINITY__)) +#define __FLT_HAS_INFINITY__ 1 +#endif +#if !(defined(__UINT_FAST16_TYPE__) || defined(__coverity_undefine___UINT_FAST16_TYPE__)) +#define __UINT_FAST16_TYPE__ long unsigned int +#endif +#if !(defined(__DEC64_MAX__) || defined(__coverity_undefine___DEC64_MAX__)) +#define __DEC64_MAX__ 9.999999999999999E384DD +#endif +#if !(defined(__INT_FAST32_WIDTH__) || defined(__coverity_undefine___INT_FAST32_WIDTH__)) +#define __INT_FAST32_WIDTH__ 64 +#endif +#if !(defined(__CHAR16_TYPE__) || defined(__coverity_undefine___CHAR16_TYPE__)) +#define __CHAR16_TYPE__ short unsigned int +#endif +#if !(defined(__PRAGMA_REDEFINE_EXTNAME) || defined(__coverity_undefine___PRAGMA_REDEFINE_EXTNAME)) +#define __PRAGMA_REDEFINE_EXTNAME 1 +#endif +#if !(defined(__SIZE_WIDTH__) || defined(__coverity_undefine___SIZE_WIDTH__)) +#define __SIZE_WIDTH__ 64 +#endif +#if !(defined(__SEG_FS) || defined(__coverity_undefine___SEG_FS)) +#define __SEG_FS 1 +#endif +#if !(defined(__INT_LEAST16_MAX__) || defined(__coverity_undefine___INT_LEAST16_MAX__)) +#define __INT_LEAST16_MAX__ 0x7fff +#endif +#if !(defined(__DEC64_MANT_DIG__) || defined(__coverity_undefine___DEC64_MANT_DIG__)) +#define __DEC64_MANT_DIG__ 16 +#endif +#if !(defined(__INT64_MAX__) || defined(__coverity_undefine___INT64_MAX__)) +#define __INT64_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__UINT_LEAST32_MAX__) || defined(__coverity_undefine___UINT_LEAST32_MAX__)) +#define __UINT_LEAST32_MAX__ 0xffffffffU +#endif +#if !(defined(__SEG_GS) || defined(__coverity_undefine___SEG_GS)) +#define __SEG_GS 1 +#endif +#if !(defined(__FLT32_DENORM_MIN__) || defined(__coverity_undefine___FLT32_DENORM_MIN__)) +#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32 +#endif +#if !(defined(__GCC_ATOMIC_LONG_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_LONG_LOCK_FREE)) +#define __GCC_ATOMIC_LONG_LOCK_FREE 2 +#endif +#if !(defined(__SIG_ATOMIC_WIDTH__) || defined(__coverity_undefine___SIG_ATOMIC_WIDTH__)) +#define __SIG_ATOMIC_WIDTH__ 32 +#endif +#if !(defined(__INT_LEAST64_TYPE__) || defined(__coverity_undefine___INT_LEAST64_TYPE__)) +#define __INT_LEAST64_TYPE__ long int +#endif +#if !(defined(__INT16_TYPE__) || defined(__coverity_undefine___INT16_TYPE__)) +#define __INT16_TYPE__ short int +#endif +#if !(defined(__INT_LEAST8_TYPE__) || defined(__coverity_undefine___INT_LEAST8_TYPE__)) +#define __INT_LEAST8_TYPE__ signed char +#endif +#if !(defined(__DEC32_MAX_EXP__) || defined(__coverity_undefine___DEC32_MAX_EXP__)) +#define __DEC32_MAX_EXP__ 97 +#endif +#if !(defined(__INT_FAST8_MAX__) || defined(__coverity_undefine___INT_FAST8_MAX__)) +#define __INT_FAST8_MAX__ 0x7f +#endif +#if !(defined(__FLT128_MAX__) || defined(__coverity_undefine___FLT128_MAX__)) +#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128 +#endif +#if !(defined(__INTPTR_MAX__) || defined(__coverity_undefine___INTPTR_MAX__)) +#define __INTPTR_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(linux) || defined(__coverity_undefine_linux)) +#define linux 1 +#endif +#if !(defined(__FLT64_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT64_HAS_QUIET_NAN__)) +#define __FLT64_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__FLT32_MIN_10_EXP__) || defined(__coverity_undefine___FLT32_MIN_10_EXP__)) +#define __FLT32_MIN_10_EXP__ (-37) +#endif +#if !(defined(__SSE2__) || defined(__coverity_undefine___SSE2__)) +#define __SSE2__ 1 +#endif +#if !(defined(__FLT32X_DIG__) || defined(__coverity_undefine___FLT32X_DIG__)) +#define __FLT32X_DIG__ 15 +#endif +#if !(defined(__LDBL_MANT_DIG__) || defined(__coverity_undefine___LDBL_MANT_DIG__)) +#define __LDBL_MANT_DIG__ 64 +#endif +#if !(defined(__DBL_HAS_QUIET_NAN__) || defined(__coverity_undefine___DBL_HAS_QUIET_NAN__)) +#define __DBL_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__FLT64_HAS_INFINITY__) || defined(__coverity_undefine___FLT64_HAS_INFINITY__)) +#define __FLT64_HAS_INFINITY__ 1 +#endif +#if !(defined(__FLT64X_MAX__) || defined(__coverity_undefine___FLT64X_MAX__)) +#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x +#endif +#if !(defined(__SIG_ATOMIC_MIN__) || defined(__coverity_undefine___SIG_ATOMIC_MIN__)) +#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) +#endif +#if !(defined(__code_model_small__) || defined(__coverity_undefine___code_model_small__)) +#define __code_model_small__ 1 +#endif +#if !(defined(__k8__) || defined(__coverity_undefine___k8__)) +#define __k8__ 1 +#endif +#if !(defined(__INTPTR_TYPE__) || defined(__coverity_undefine___INTPTR_TYPE__)) +#define __INTPTR_TYPE__ long int +#endif +#if !(defined(__UINT16_TYPE__) || defined(__coverity_undefine___UINT16_TYPE__)) +#define __UINT16_TYPE__ short unsigned int +#endif +#if !(defined(__WCHAR_TYPE__) || defined(__coverity_undefine___WCHAR_TYPE__)) +#define __WCHAR_TYPE__ int +#endif +#if !(defined(__SIZEOF_FLOAT__) || defined(__coverity_undefine___SIZEOF_FLOAT__)) +#define __SIZEOF_FLOAT__ 4 +#endif +#if !(defined(__pic__) || defined(__coverity_undefine___pic__)) +#define __pic__ 2 +#endif +#if !(defined(__UINTPTR_MAX__) || defined(__coverity_undefine___UINTPTR_MAX__)) +#define __UINTPTR_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__INT_FAST64_WIDTH__) || defined(__coverity_undefine___INT_FAST64_WIDTH__)) +#define __INT_FAST64_WIDTH__ 64 +#endif +#if !(defined(__DEC64_MIN_EXP__) || defined(__coverity_undefine___DEC64_MIN_EXP__)) +#define __DEC64_MIN_EXP__ (-382) +#endif +#if !(defined(__FLT32_DECIMAL_DIG__) || defined(__coverity_undefine___FLT32_DECIMAL_DIG__)) +#define __FLT32_DECIMAL_DIG__ 9 +#endif +#if !(defined(__INT_FAST64_MAX__) || defined(__coverity_undefine___INT_FAST64_MAX__)) +#define __INT_FAST64_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__GCC_ATOMIC_TEST_AND_SET_TRUEVAL) || defined(__coverity_undefine___GCC_ATOMIC_TEST_AND_SET_TRUEVAL)) +#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 +#endif +#if !(defined(__FLT_DIG__) || defined(__coverity_undefine___FLT_DIG__)) +#define __FLT_DIG__ 6 +#endif +#if !(defined(__FLT32_HAS_INFINITY__) || defined(__coverity_undefine___FLT32_HAS_INFINITY__)) +#define __FLT32_HAS_INFINITY__ 1 +#endif +#if !(defined(__FLT64X_MAX_EXP__) || defined(__coverity_undefine___FLT64X_MAX_EXP__)) +#define __FLT64X_MAX_EXP__ 16384 +#endif +#if !(defined(__UINT_FAST64_TYPE__) || defined(__coverity_undefine___UINT_FAST64_TYPE__)) +#define __UINT_FAST64_TYPE__ long unsigned int +#endif +#if !(defined(__INT_MAX__) || defined(__coverity_undefine___INT_MAX__)) +#define __INT_MAX__ 0x7fffffff +#endif +#if !(defined(__amd64__) || defined(__coverity_undefine___amd64__)) +#define __amd64__ 1 +#endif +#if !(defined(__INT64_TYPE__) || defined(__coverity_undefine___INT64_TYPE__)) +#define __INT64_TYPE__ long int +#endif +#if !(defined(__FLT_MAX_EXP__) || defined(__coverity_undefine___FLT_MAX_EXP__)) +#define __FLT_MAX_EXP__ 128 +#endif +#if !(defined(__ORDER_BIG_ENDIAN__) || defined(__coverity_undefine___ORDER_BIG_ENDIAN__)) +#define __ORDER_BIG_ENDIAN__ 4321 +#endif +#if !(defined(__DBL_MANT_DIG__) || defined(__coverity_undefine___DBL_MANT_DIG__)) +#define __DBL_MANT_DIG__ 53 +#endif +#if !(defined(__SIZEOF_FLOAT128__) || defined(__coverity_undefine___SIZEOF_FLOAT128__)) +#define __SIZEOF_FLOAT128__ 16 +#endif +#if !(defined(__INT_LEAST64_MAX__) || defined(__coverity_undefine___INT_LEAST64_MAX__)) +#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__GCC_ATOMIC_CHAR16_T_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_CHAR16_T_LOCK_FREE)) +#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 +#endif +#if !(defined(__DEC64_MIN__) || defined(__coverity_undefine___DEC64_MIN__)) +#define __DEC64_MIN__ 1E-383DD +#endif +#if !(defined(__WINT_TYPE__) || defined(__coverity_undefine___WINT_TYPE__)) +#define __WINT_TYPE__ unsigned int +#endif +#if !(defined(__UINT_LEAST32_TYPE__) || defined(__coverity_undefine___UINT_LEAST32_TYPE__)) +#define __UINT_LEAST32_TYPE__ unsigned int +#endif +#if !(defined(__SIZEOF_SHORT__) || defined(__coverity_undefine___SIZEOF_SHORT__)) +#define __SIZEOF_SHORT__ 2 +#endif +#if !(defined(__SSE__) || defined(__coverity_undefine___SSE__)) +#define __SSE__ 1 +#endif +#if !(defined(__LDBL_MIN_EXP__) || defined(__coverity_undefine___LDBL_MIN_EXP__)) +#define __LDBL_MIN_EXP__ (-16381) +#endif +#if !(defined(__FLT64_MAX__) || defined(__coverity_undefine___FLT64_MAX__)) +#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64 +#endif +#if !(defined(__WINT_WIDTH__) || defined(__coverity_undefine___WINT_WIDTH__)) +#define __WINT_WIDTH__ 32 +#endif +#if !(defined(__INT_LEAST8_MAX__) || defined(__coverity_undefine___INT_LEAST8_MAX__)) +#define __INT_LEAST8_MAX__ 0x7f +#endif +#if !(defined(__FLT32X_MAX_10_EXP__) || defined(__coverity_undefine___FLT32X_MAX_10_EXP__)) +#define __FLT32X_MAX_10_EXP__ 308 +#endif +#if !(defined(__SIZEOF_INT128__) || defined(__coverity_undefine___SIZEOF_INT128__)) +#define __SIZEOF_INT128__ 16 +#endif +#if !(defined(__LDBL_MAX_10_EXP__) || defined(__coverity_undefine___LDBL_MAX_10_EXP__)) +#define __LDBL_MAX_10_EXP__ 4932 +#endif +#if !(defined(__ATOMIC_RELAXED) || defined(__coverity_undefine___ATOMIC_RELAXED)) +#define __ATOMIC_RELAXED 0 +#endif +#if !(defined(__DBL_EPSILON__) || defined(__coverity_undefine___DBL_EPSILON__)) +#define __DBL_EPSILON__ ((double)2.22044604925031308084726333618164062e-16L) +#endif +#if !(defined(__FLT128_MIN__) || defined(__coverity_undefine___FLT128_MIN__)) +#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128 +#endif +#if !(defined(_LP64) || defined(__coverity_undefine__LP64)) +#define _LP64 1 +#endif +#if !(defined(__UINT8_C) || defined(__coverity_undefine___UINT8_C)) +#define __UINT8_C(c) c +#endif +#if !(defined(__FLT64_MAX_EXP__) || defined(__coverity_undefine___FLT64_MAX_EXP__)) +#define __FLT64_MAX_EXP__ 1024 +#endif +#if !(defined(__INT_LEAST32_TYPE__) || defined(__coverity_undefine___INT_LEAST32_TYPE__)) +#define __INT_LEAST32_TYPE__ int +#endif +#if !(defined(__SIZEOF_WCHAR_T__) || defined(__coverity_undefine___SIZEOF_WCHAR_T__)) +#define __SIZEOF_WCHAR_T__ 4 +#endif +#if !(defined(__UINT64_TYPE__) || defined(__coverity_undefine___UINT64_TYPE__)) +#define __UINT64_TYPE__ long unsigned int +#endif +#if !(defined(__FLT128_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT128_HAS_QUIET_NAN__)) +#define __FLT128_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__INT_FAST8_TYPE__) || defined(__coverity_undefine___INT_FAST8_TYPE__)) +#define __INT_FAST8_TYPE__ signed char +#endif +#if !(defined(__FLT64X_MIN__) || defined(__coverity_undefine___FLT64X_MIN__)) +#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x +#endif +#if !(defined(__FLT64_HAS_DENORM__) || defined(__coverity_undefine___FLT64_HAS_DENORM__)) +#define __FLT64_HAS_DENORM__ 1 +#endif +#if !(defined(__FLT32_EPSILON__) || defined(__coverity_undefine___FLT32_EPSILON__)) +#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32 +#endif +#if !(defined(__DBL_DECIMAL_DIG__) || defined(__coverity_undefine___DBL_DECIMAL_DIG__)) +#define __DBL_DECIMAL_DIG__ 17 +#endif +#if !(defined(__INT_FAST8_WIDTH__) || defined(__coverity_undefine___INT_FAST8_WIDTH__)) +#define __INT_FAST8_WIDTH__ 8 +#endif +#if !(defined(__FXSR__) || defined(__coverity_undefine___FXSR__)) +#define __FXSR__ 1 +#endif +#if !(defined(__DEC_EVAL_METHOD__) || defined(__coverity_undefine___DEC_EVAL_METHOD__)) +#define __DEC_EVAL_METHOD__ 2 +#endif +#if !(defined(__FLT32X_MAX__) || defined(__coverity_undefine___FLT32X_MAX__)) +#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x +#endif +#if !(defined(__UINT32_C) || defined(__coverity_undefine___UINT32_C)) +#define __UINT32_C(c) c ## U +#endif +#if !(defined(__INTMAX_MAX__) || defined(__coverity_undefine___INTMAX_MAX__)) +#define __INTMAX_MAX__ 0x7fffffffffffffffL +#endif +#if !(defined(__BYTE_ORDER__) || defined(__coverity_undefine___BYTE_ORDER__)) +#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +#endif +#if !(defined(__FLT_DENORM_MIN__) || defined(__coverity_undefine___FLT_DENORM_MIN__)) +#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F +#endif +#if !(defined(__INT8_MAX__) || defined(__coverity_undefine___INT8_MAX__)) +#define __INT8_MAX__ 0x7f +#endif +#if !(defined(__LONG_WIDTH__) || defined(__coverity_undefine___LONG_WIDTH__)) +#define __LONG_WIDTH__ 64 +#endif +#if !(defined(__PIC__) || defined(__coverity_undefine___PIC__)) +#define __PIC__ 2 +#endif +#if !(defined(__UINT_FAST32_TYPE__) || defined(__coverity_undefine___UINT_FAST32_TYPE__)) +#define __UINT_FAST32_TYPE__ long unsigned int +#endif +#if !(defined(__CHAR32_TYPE__) || defined(__coverity_undefine___CHAR32_TYPE__)) +#define __CHAR32_TYPE__ unsigned int +#endif +#if !(defined(__FLT_MAX__) || defined(__coverity_undefine___FLT_MAX__)) +#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F +#endif +#if !(defined(__INT32_TYPE__) || defined(__coverity_undefine___INT32_TYPE__)) +#define __INT32_TYPE__ int +#endif +#if !(defined(__SIZEOF_DOUBLE__) || defined(__coverity_undefine___SIZEOF_DOUBLE__)) +#define __SIZEOF_DOUBLE__ 8 +#endif +#if !(defined(__FLT_MIN_10_EXP__) || defined(__coverity_undefine___FLT_MIN_10_EXP__)) +#define __FLT_MIN_10_EXP__ (-37) +#endif +#if !(defined(__FLT64_MIN__) || defined(__coverity_undefine___FLT64_MIN__)) +#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64 +#endif +#if !(defined(__INT_LEAST32_WIDTH__) || defined(__coverity_undefine___INT_LEAST32_WIDTH__)) +#define __INT_LEAST32_WIDTH__ 32 +#endif +#if !(defined(__INTMAX_TYPE__) || defined(__coverity_undefine___INTMAX_TYPE__)) +#define __INTMAX_TYPE__ long int +#endif +#if !(defined(__DEC128_MAX_EXP__) || defined(__coverity_undefine___DEC128_MAX_EXP__)) +#define __DEC128_MAX_EXP__ 6145 +#endif +#if !(defined(__FLT32X_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT32X_HAS_QUIET_NAN__)) +#define __FLT32X_HAS_QUIET_NAN__ 1 +#endif +#if !(defined(__ATOMIC_CONSUME) || defined(__coverity_undefine___ATOMIC_CONSUME)) +#define __ATOMIC_CONSUME 1 +#endif +#if !(defined(__GNUC_MINOR__) || defined(__coverity_undefine___GNUC_MINOR__)) +#define __GNUC_MINOR__ 4 +#endif +#if !(defined(__INT_FAST16_WIDTH__) || defined(__coverity_undefine___INT_FAST16_WIDTH__)) +#define __INT_FAST16_WIDTH__ 64 +#endif +#if !(defined(__UINTMAX_MAX__) || defined(__coverity_undefine___UINTMAX_MAX__)) +#define __UINTMAX_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__DEC32_MANT_DIG__) || defined(__coverity_undefine___DEC32_MANT_DIG__)) +#define __DEC32_MANT_DIG__ 7 +#endif +#if !(defined(__FLT32X_DENORM_MIN__) || defined(__coverity_undefine___FLT32X_DENORM_MIN__)) +#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x +#endif +#if !(defined(__DBL_MAX_10_EXP__) || defined(__coverity_undefine___DBL_MAX_10_EXP__)) +#define __DBL_MAX_10_EXP__ 308 +#endif +#if !(defined(__LDBL_DENORM_MIN__) || defined(__coverity_undefine___LDBL_DENORM_MIN__)) +#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L +#endif +#if !(defined(__INT16_C) || defined(__coverity_undefine___INT16_C)) +#define __INT16_C(c) c +#endif +#if !(defined(__STDC__) || defined(__coverity_undefine___STDC__)) +#define __STDC__ 1 +#endif +#if !(defined(__PTRDIFF_TYPE__) || defined(__coverity_undefine___PTRDIFF_TYPE__)) +#define __PTRDIFF_TYPE__ long int +#endif +#if !(defined(__ATOMIC_SEQ_CST) || defined(__coverity_undefine___ATOMIC_SEQ_CST)) +#define __ATOMIC_SEQ_CST 5 +#endif +#if !(defined(__UINT32_TYPE__) || defined(__coverity_undefine___UINT32_TYPE__)) +#define __UINT32_TYPE__ unsigned int +#endif +#if !(defined(__FLT32X_MIN_10_EXP__) || defined(__coverity_undefine___FLT32X_MIN_10_EXP__)) +#define __FLT32X_MIN_10_EXP__ (-307) +#endif +#if !(defined(__UINTPTR_TYPE__) || defined(__coverity_undefine___UINTPTR_TYPE__)) +#define __UINTPTR_TYPE__ long unsigned int +#endif +#if !(defined(__DEC64_SUBNORMAL_MIN__) || defined(__coverity_undefine___DEC64_SUBNORMAL_MIN__)) +#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD +#endif +#if !(defined(__DEC128_MANT_DIG__) || defined(__coverity_undefine___DEC128_MANT_DIG__)) +#define __DEC128_MANT_DIG__ 34 +#endif +#if !(defined(__LDBL_MIN_10_EXP__) || defined(__coverity_undefine___LDBL_MIN_10_EXP__)) +#define __LDBL_MIN_10_EXP__ (-4931) +#endif +#if !(defined(__FLT128_EPSILON__) || defined(__coverity_undefine___FLT128_EPSILON__)) +#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128 +#endif +#if !(defined(__SIZEOF_LONG_LONG__) || defined(__coverity_undefine___SIZEOF_LONG_LONG__)) +#define __SIZEOF_LONG_LONG__ 8 +#endif +#if !(defined(__FLT128_DECIMAL_DIG__) || defined(__coverity_undefine___FLT128_DECIMAL_DIG__)) +#define __FLT128_DECIMAL_DIG__ 36 +#endif +#if !(defined(__GCC_ATOMIC_LLONG_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_LLONG_LOCK_FREE)) +#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 +#endif +#if !(defined(__FLT32X_MIN__) || defined(__coverity_undefine___FLT32X_MIN__)) +#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x +#endif +#if !(defined(__LDBL_DIG__) || defined(__coverity_undefine___LDBL_DIG__)) +#define __LDBL_DIG__ 18 +#endif +#if !(defined(__FLT_DECIMAL_DIG__) || defined(__coverity_undefine___FLT_DECIMAL_DIG__)) +#define __FLT_DECIMAL_DIG__ 9 +#endif +#if !(defined(__UINT_FAST16_MAX__) || defined(__coverity_undefine___UINT_FAST16_MAX__)) +#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL +#endif +#if !(defined(__GNUC_GNU_INLINE__) || defined(__coverity_undefine___GNUC_GNU_INLINE__)) +#define __GNUC_GNU_INLINE__ 1 +#endif +#if !(defined(__GCC_ATOMIC_SHORT_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_SHORT_LOCK_FREE)) +#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 +#endif +#if !(defined(__INT_LEAST64_WIDTH__) || defined(__coverity_undefine___INT_LEAST64_WIDTH__)) +#define __INT_LEAST64_WIDTH__ 64 +#endif +#if !(defined(__UINT_FAST8_TYPE__) || defined(__coverity_undefine___UINT_FAST8_TYPE__)) +#define __UINT_FAST8_TYPE__ unsigned char +#endif +#if !(defined(__ATOMIC_ACQ_REL) || defined(__coverity_undefine___ATOMIC_ACQ_REL)) +#define __ATOMIC_ACQ_REL 4 +#endif +#if !(defined(__ATOMIC_RELEASE) || defined(__coverity_undefine___ATOMIC_RELEASE)) +#define __ATOMIC_RELEASE 3 +#endif +#if !(defined(__CET__) || defined(__coverity_undefine___CET__)) +#define __CET__ 3 +#endif +#if !(defined(__FINITE_MATH_ONLY__) || defined(__coverity_undefine___FINITE_MATH_ONLY__)) +#define __FINITE_MATH_ONLY__ 0 +#endif +#if !(defined(__GCC_HAVE_DWARF2_CFI_ASM) || defined(__coverity_undefine___GCC_HAVE_DWARF2_CFI_ASM)) +#define __GCC_HAVE_DWARF2_CFI_ASM 1 +#endif +#if !(defined(__GCC_IEC_559_COMPLEX) || defined(__coverity_undefine___GCC_IEC_559_COMPLEX)) +#define __GCC_IEC_559_COMPLEX 2 +#endif +#if !(defined(__INCLUDE_LEVEL__) || defined(__coverity_undefine___INCLUDE_LEVEL__)) +#define __INCLUDE_LEVEL__ 0 +#endif +#if !(defined(__PIC__) || defined(__coverity_undefine___PIC__)) +#define __PIC__ 2 +#endif +#if !(defined(__PIE__) || defined(__coverity_undefine___PIE__)) +#define __PIE__ 2 +#endif +#if !(defined(__PTRDIFF_TYPE__) || defined(__coverity_undefine___PTRDIFF_TYPE__)) +#define __PTRDIFF_TYPE__ long int +#endif +#if !(defined(__REGISTER_PREFIX__) || defined(__coverity_undefine___REGISTER_PREFIX__)) +#define __REGISTER_PREFIX__ +#endif +#if !(defined(__SIZE_TYPE__) || defined(__coverity_undefine___SIZE_TYPE__)) +#define __SIZE_TYPE__ long unsigned int +#endif +#if !(defined(__SSP_STRONG__) || defined(__coverity_undefine___SSP_STRONG__)) +#define __SSP_STRONG__ 3 +#endif +#if !(defined(__STDC_IEC_559_COMPLEX__) || defined(__coverity_undefine___STDC_IEC_559_COMPLEX__)) +#define __STDC_IEC_559_COMPLEX__ +#endif +#if !(defined(__STDC_IEC_559__) || defined(__coverity_undefine___STDC_IEC_559__)) +#define __STDC_IEC_559__ +#endif +#if !(defined(__STDC__) || defined(__coverity_undefine___STDC__)) +#define __STDC__ 1 +#endif +#if !(defined(__USER_LABEL_PREFIX__) || defined(__coverity_undefine___USER_LABEL_PREFIX__)) +#define __USER_LABEL_PREFIX__ +#endif +#if !(defined(__VERSION__) || defined(__coverity_undefine___VERSION__)) +#define __VERSION__ "9.4.0" +#endif +#if !(defined(__pic__) || defined(__coverity_undefine___pic__)) +#define __pic__ 2 +#endif +#if !(defined(__pie__) || defined(__coverity_undefine___pie__)) +#define __pie__ 2 +#endif +#if !(defined(__unix__) || defined(__coverity_undefine___unix__)) +#define __unix__ 1 +#endif diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity_config.xml b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity_config.xml new file mode 100644 index 000000000..a15d95493 --- /dev/null +++ b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity_config.xml @@ -0,0 +1,160 @@ + + + + + + + 1 + + + + cc + gcc + gcc-9 + x86_64-linux-gnu-gcc-9 + /usr/bin + gcc + C + cov-emit + GNU C compiler + g++ + gnu + -std=gnu90 + gcc-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 + 9.4.0 + true + true + all + + + gcc-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 + gcc-cc-.* + + /usr/lib/gcc/x86_64-linux-gnu/9/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include + -E + -v + -dM + -E + -o.+ + -c + -Werror + -o + -E + -U__BLOCKS__ + -xc + -C + - + 2 + $CONFIGDIR$/coverity-compiler-compat.h + $CONFIGDIR$/coverity-macro-compat.h + --fixed_point + --add_type_modifier=__coverity___fpreg + --add_type_modifier=__coverity_decimal + --add_type_modifier=__coverity_float + --add_type_modifier=__coverity_floatx + --no_predefined_feature_test_macros + --no_stdarg_builtin + --enable_128bit_int + --no_predefined_cplusplus + -w + --no_predefines + --comp_ver + 9.4.0 + --size_t_type=m + --ptrdiff_t_type=l + --type_sizes=xl8i4s2e16d8f4P8 + --type_alignments=xl8i4s2e16d8f4P8 + --char_bit_size=8 + --gnu_carriage_return_line_terminator + --wchar_t_type=i + --no_multiline_string + --no_trigraphs + --ignore_calling_convention + --enable_80bit_float + --enable_128bit_float + --allow__bool + --macro_stack_pragmas + --inline_keyword + --has_include_macro + --has_include_next_macro + --has_cpp_attribute_macro + --no_predefines + conftest\.c{1,2}$ + conftest\.cpp$ + cgo-cc-input-[0-9]+\.(c|cc|cpp|cxx) + $CONFIGDIR$/../user_nodefs.h + + gcc + + + /usr/lib/gcc/x86_64-linux-gnu/9/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/ + /lib/x86_64-linux-gnu/9/ + /lib/x86_64-linux-gnu/ + /lib/../lib/ + /usr/lib/x86_64-linux-gnu/9/ + /usr/lib/x86_64-linux-gnu/ + /usr/lib/../lib/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../ + /lib/ + /usr/lib/ + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o + /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o + /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 + /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so + /lib/x86_64-linux-gnu/libc.so.6 + /usr/lib/x86_64-linux-gnu/libc_nonshared.a + /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 + /usr/lib/x86_64-linux-gnu/libc_nonshared.a + /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 + /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 + /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a + /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o + /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o + + + + @(.*) + --coverity_resp_file=$1 + + + + + + gnu_pre_translate + + + + + CPATH + true + + + + + C_INCLUDE_PATH + --c + + + + + + + 8f22057cb35e01414cb91c893028d6c8 + + diff --git a/cov-out/emit/ip-172-31-80-220/config/configure-log.txt b/cov-out/emit/ip-172-31-80-220/config/configure-log.txt new file mode 100644 index 000000000..23c4ffa0b --- /dev/null +++ b/cov-out/emit/ip-172-31-80-220/config/configure-log.txt @@ -0,0 +1,93 @@ +Encountered compiler invocation for first time, configuring it: /usr/bin/x86_64-linux-gnu-gcc-9 -std=gnu90 +[STATUS] Using comptype gcc +[STATUS] Environment Variables +VSCODE_GIT_ASKPASS_MAIN=/home/ubuntu/.vscode-server/cli/servers/Stable-611f9bfce64f25108829dd295f54a6894e87339d/server/extensions/git/dist/askpass-main.js +COVERITY_BUILD_INVOCATION_ID=1 +XDG_SESSION_CLASS=user +XDG_SESSION_TYPE=tty +COVERITY_COMMON_TEMP=/tmp +COVERITY_IDIR=/home/ubuntu/coreMQTT/cov-out +SHELL=/bin/bash +_=/usr/bin/make +COVERITY_IS_COMPILER_DESCENDANT=0 +COVERITY_CONFIG_FILE=/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/coverity_config.xml +XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop +COVERITY_SITE_CC_CAPTURE_DESCENDANTS= +LESSOPEN=| /usr/bin/lesspipe %s +SSH_CONNECTION=15.248.4.151 1076 172.31.80.220 22 +UseSharedCompilation=false +PATH=/tmp/cbmc-viewer/bin:/home/ubuntu/workspace/uncrustify-0.66.1/build:/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/:/usr/bin/java:/opt/homebrew/opt/openjdk/bin:/home/ubuntu/.toolbox/bin:/opt/homebrew/opt/ruby/bin:/home/ubuntu/.vscode-server/cli/servers/Stable-611f9bfce64f25108829dd295f54a6894e87339d/server/bin/remote-cli:/home/ubuntu/bin:/tmp/cbmc-viewer/bin:/home/ubuntu/workspace/uncrustify-0.66.1/build:/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/:/usr/bin/java:/opt/homebrew/opt/openjdk/bin:/home/ubuntu/.toolbox/bin:/opt/homebrew/opt/ruby/bin:/tmp/cbmc-viewer/bin:/home/ubuntu/workspace/uncrustify-0.66.1/build:/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/:/usr/bin/java:/opt/homebrew/opt/openjdk/bin:/home/ubuntu/.toolbox/bin:/opt/homebrew/opt/ruby/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin +COVERITY_REWRITE_TO= +XDG_RUNTIME_DIR=/run/user/1000 +COVERITY_TEMP=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596 +LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36: +COVERITY_OUTPUT_ENCODING=UTF-8 +COVERITY_TOP_CONFIG=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-configure/coverity_config.xml +SSL_CERT_FILE=/usr/lib/ssl/certs/ca-certificates.crt +HOME=/home/ubuntu +PWD=/home/ubuntu/coreMQTT +COVERITY_LD_PRELOAD=/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/libcapture-linux64-${PLATFORM}.so +VSCODE_IPC_HOOK_CLI=/run/user/1000/vscode-ipc-34ea2f65-7eff-4b28-9ef7-2974233a0d32.sock +DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus +COVERITY_BIN=/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin +LESSCLOSE=/usr/bin/lesspipe %s %s +LOGNAME=ubuntu +COVERITY_DISENGAGE_EXES=qemuwrapper;qemu-aarch64;qemu-alpha;qemu-arm;qemu-armeb;qemu-cris;qemu-i386;qemu-m68k;qemu-microblaze;qemu-mips;qemu-mipsel;qemu-nios2;qemu-ppc;qemu-ppc64;qemu-ppc64abi32;qemu-sh4;qemu-sh4eb;qemu-sparc;qemu-sparc32plus;qemu-sparc64;qemu-x86_64 +COVERITY_SYSTEM_ENCODING=UTF-8 +COVERITY_PATHLESS_CONFIGS_FILE=/home/ubuntu/coreMQTT/cov-out/has_pathless_configs +VSCODE_GIT_IPC_HANDLE=/run/user/1000/vscode-git-d220dbbd51.sock +COLORTERM=truecolor +SHLVL=1 +XDG_SESSION_ID=5887 +USER=ubuntu +COVERITY_ENABLE_JAVA_ANNOTATION_FRAMEWORK_SUPPORT=1 +COVERITY_IS_COMPILER=0 +VSCODE_GIT_ASKPASS_EXTRA_ARGS= +TERM_PROGRAM=vscode +VSCODE_GIT_ASKPASS_NODE=/home/ubuntu/.vscode-server/cli/servers/Stable-611f9bfce64f25108829dd295f54a6894e87339d/server/node +MAKEFLAGS=s +MFLAGS=-s +SSH_CLIENT=15.248.4.151 1076 22 +TERM_PROGRAM_VERSION=1.90.1 +COVERITY_EMIT=/home/ubuntu/coreMQTT/cov-out/emit +MAKE_TERMOUT=/dev/pts/0 +BROWSER=/home/ubuntu/.vscode-server/cli/servers/Stable-611f9bfce64f25108829dd295f54a6894e87339d/server/bin/helpers/browser.sh +MSBUILDDISABLENODEREUSE=1 +COVERITY_COMPILER_PATH_MISMATCH_FILE=/home/ubuntu/coreMQTT/cov-out/has_path_mismatches +GIT_ASKPASS=/home/ubuntu/.vscode-server/cli/servers/Stable-611f9bfce64f25108829dd295f54a6894e87339d/server/extensions/git/dist/askpass.sh +COVERITY_OUTPUT=/home/ubuntu/coreMQTT/cov-out/build-log.txt +COVERITY_SITE_CC=*-g++;*-gcc;ar;c++;cc;g++-*;gcc-*;ld +SSL_CERT_DIR=/usr/lib/ssl/certs +COVERITY_PREV_XML_CATALOG_FILES= +MAKE_TERMERR=/dev/pts/0 +LANG=C.UTF-8 +TERM=xterm-256color +COVERITY_LOG=/home/ubuntu/coreMQTT/cov-out/build-log.txt +COVERITY_TOP_PROCESS=0 +COVERITY_REWRITE_FROM= +MOTD_SHOWN=pam +MAKELEVEL=4 +COVERITY_BIN=/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin +COVERITY_COMPILER_PATH_MISMATCH_FILE=/home/ubuntu/coreMQTT/cov-out/has_path_mismatches +COVERITY_EMIT=/home/ubuntu/coreMQTT/cov-out/emit +COVERITY_OUTPUT=/home/ubuntu/coreMQTT/cov-out/build-log.txt +COVERITY_OUTPUT_ENCODING=UTF-8 +COVERITY_BUILD_INVOCATION_ID=1 +COVERITY_TEMP=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596 +COVERITY_COMMON_TEMP=/tmp +COVERITY_SITE_CC=*-g++;*-gcc;ar;c++;cc;g++-*;gcc-*;ld +COVERITY_SITE_CC_CAPTURE_DESCENDANTS= +COVERITY_PATHLESS_CONFIGS_FILE=/home/ubuntu/coreMQTT/cov-out/has_pathless_configs +COVERITY_SITE_CC=*-g++;*-gcc;ar;c++;cc;g++-*;gcc-*;ld +COVERITY_TOP_CONFIG=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-configure/coverity_config.xml +COVERITY_DISENGAGE_EXES=qemuwrapper;qemu-aarch64;qemu-alpha;qemu-arm;qemu-armeb;qemu-cris;qemu-i386;qemu-m68k;qemu-microblaze;qemu-mips;qemu-mipsel;qemu-nios2;qemu-ppc;qemu-ppc64;qemu-ppc64abi32;qemu-sh4;qemu-sh4eb;qemu-sparc;qemu-sparc32plus;qemu-sparc64;qemu-x86_64 +COVERITY_REWRITE_FROM= +COVERITY_REWRITE_TO= +COVERITY_TOP_PROCESS=0 +COVERITY_IS_COMPILER=0 +COVERITY_IS_COMPILER_DESCENDANT=0 +COVERITY_LD_PRELOAD=/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/libcapture-linux64-${PLATFORM}.so +COVERITY_TRANSLATION_INVOCATION_ID=1 +Added template compiler configuration instance /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config.xml +Using cached template compiler configuration instance /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config.xml +Using cached template compiler configuration instance /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config.xml diff --git a/cov-out/emit/ip-172-31-80-220/emit-db b/cov-out/emit/ip-172-31-80-220/emit-db new file mode 100644 index 0000000000000000000000000000000000000000..72776fdf77fa22ca0924f7465b68cc868c507a9f GIT binary patch literal 1159168 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%0D}@LyuZ%?WtoViyzwDRpF%G&=GTE#Xlc=>$m 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 @{o8o8UA>P1RbL-YF^{O^9h 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 DCC4x) literal 0 HcmV?d00001 diff --git a/cov-out/emit/ip-172-31-80-220/emit-db.lock b/cov-out/emit/ip-172-31-80-220/emit-db.lock new file mode 100644 index 000000000..72e1c98d0 --- /dev/null +++ b/cov-out/emit/ip-172-31-80-220/emit-db.lock @@ -0,0 +1 @@ +ip-172-31-80-220 \ No newline at end of file diff --git a/cov-out/emit/ip-172-31-80-220/emit-db.write-lock b/cov-out/emit/ip-172-31-80-220/emit-db.write-lock new file mode 100644 index 000000000..e69de29bb diff --git a/cov-out/emit/version b/cov-out/emit/version new file mode 100644 index 000000000..c71cee1cd --- /dev/null +++ b/cov-out/emit/version @@ -0,0 +1,2 @@ +# Version file created with Prevent version 2023.6.1 +325 diff --git a/cov-out/output/analysis-log.txt b/cov-out/output/analysis-log.txt new file mode 100644 index 000000000..cc2c75b06 --- /dev/null +++ b/cov-out/output/analysis-log.txt @@ -0,0 +1,20 @@ +cmdline: command line: cov-analyze --dir . --coding-standard-config ../../tools/coverity/misra.config --tu-pattern file('.*/source/.*') +cmdline: parsed cmdline: [ +cmdline: { name: "dir", args: [ "." ] }, +cmdline: { name: "coding-standard-config", args: [ "../../tools/coverity/misra.config" ] }, +cmdline: { name: "tu-pattern", args: [ "file(\'.*/source/.*\')" ] }, +cmdline: { name: "config", args: [ "/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/coverity_config.xml" ] }, +cmdline: ] +startup: am_pid=1762902 +startup: detected platform: Linux 5.15.0-1050-aws x86_64 +startup: target platform: linux64 +startup: Detected 2 logical cpus +startup: Detected 2 cpu cores +startup: host name: ip-172-31-80-220 +startup: user name: ubuntu +startup: Analysis version: 2023.6.1 (4ae07d0526 p-2023.6-push-61) +startup: temp directory: /tmp/cov-ubuntu/72d706081da6cfb83e1cb375872fb0aa +startup: enable_constraint_fpp=0 +startup: current time: 2024-Jun-21 07:00:40 +startup: Detected amount of memory: 8125360kb +startup: Limiting memory to 7312824kb diff --git a/cov-out/output/summary.txt b/cov-out/output/summary.txt new file mode 100644 index 000000000..771593b56 --- /dev/null +++ b/cov-out/output/summary.txt @@ -0,0 +1 @@ +cov-analyze --dir . --coding-standard-config ../../tools/coverity/misra.config --tu-pattern file('.*/source/.*') diff --git a/cov-out/output/version b/cov-out/output/version new file mode 100644 index 000000000..c71cee1cd --- /dev/null +++ b/cov-out/output/version @@ -0,0 +1,2 @@ +# Version file created with Prevent version 2023.6.1 +325 diff --git a/cov-out/security-da-log.txt b/cov-out/security-da-log.txt new file mode 100644 index 000000000..d55b2b7b5 --- /dev/null +++ b/cov-out/security-da-log.txt @@ -0,0 +1,4 @@ +/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/cov-security-da --dir /home/ubuntu/coreMQTT/cov-out +cov-security-da version 2023.6.1 on Linux 5.15.0-1050-aws x86_64 +Internal version numbers: 4ae07d0526 p-2023.6-push-61 + diff --git a/cov-out/security-da-timings.txt b/cov-out/security-da-timings.txt new file mode 100644 index 000000000..4d16accf8 --- /dev/null +++ b/cov-out/security-da-timings.txt @@ -0,0 +1,9 @@ +# Version: 4ae07d0526 p-2023.6-push-61 +# Command Line: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/cov-security-da --dir /home/ubuntu/coreMQTT/cov-out +timer ms calls +------------------------------------------- +cov_security_da::run 0 1 + +activity ms calls +------------------------------------------- +cov_security_da::run 0 1 diff --git a/cov-out/tmp/emit-db-cache b/cov-out/tmp/emit-db-cache new file mode 100644 index 0000000000000000000000000000000000000000..e6081b4b44927a06ba1d85ddec181e85a5d816a5 GIT binary patch literal 73728 zcmeI&%TMD*0LO7VgqU}Liw|hEz911bElQ)R$1Mc9phlqb=tF81nZ$tGJdo`y<**0y z5A@t?|AL;Xz4c${AJZPH_Rz6ogPk!ch)ZRCBOu<)jA!Qao7jnFk3VnPo@Ja5oSx|! zb!AymRpk@IP!y#gepkhB{8$kO#rPlMSxp>2bXZV6Xse5&bfx&6QvS89EcuJ?7K;n7 z=6{^~W%jq3zh*wtzAgP!s!jKb??e?I2q2J4f#ym{fB90iJ@c$ox7zd}#X2t(-S<|h$>VIwbJJt_7mSexM zI*qRBx|Z88+m}|$8y;KUXV%T0-D-E;o1WciJydrk>U{rTXZI`PDJL@y53=eT8~43e zji~#Izg5=sdR@J(ga{e^WW2PTg2||m=t^>`8u2)qgN(vxU>POu@T@(;G`5?E+xPJ2 zOQm26!_f?G`ex5=H_UF=ir9DLm&)lG$Q3s1{`p|6AAf66)7^E|zYar7cF}5IM6rr~ zFC6pgveh2+&+UuWc|VbJvdK~^;AF`oPZs2yY-VgkgAnPCjiPEq!>IVD3!1*ZuHN=S ztz`S;@nXs+SrT`W5m4BDcBo_H$!Hu6Fr!3HqH1)48H#-4>S7(wOW8QlyY30uL`@dt zY@T+qyKJInkISYpH_B%JKAWh0m_T$qFJ}{#{2#KZ`2E=#-PaoG?Thej@`deqL$iBi zxr6S|vj_ddHJa<>psv*DED*pSLrnfg$|1^yAOY6+Mx@y|}?=45V zsd>XuY@@$Y)tOXeQgJe<^qGQyr0VHd;szCeyQJxxo9b;nj6-TBy`ZJ&rQ&CR$79NX zz782%UEwIO)}0R#|0009ILKmY**5I_I{1oAJy{(t^6W`+nLfB*srAb@}_1Q0*~0R#|0009ILKmY;$|37O00R#|0009ILKmY**5I_Kd x{0jv8|7!UUMf~tU009ILKmY**5I_I{1Q0*~fgB0UsfE(%pD%uY``*w0{0lS`5$6B^ literal 0 HcmV?d00001 diff --git a/cov-out/tmp/emit-db-cache.lock b/cov-out/tmp/emit-db-cache.lock new file mode 100644 index 000000000..72e1c98d0 --- /dev/null +++ b/cov-out/tmp/emit-db-cache.lock @@ -0,0 +1 @@ +ip-172-31-80-220 \ No newline at end of file diff --git a/cov-out/tu-timings.txt b/cov-out/tu-timings.txt new file mode 100644 index 000000000..b66bcb848 --- /dev/null +++ b/cov-out/tu-timings.txt @@ -0,0 +1,15 @@ +Translation unit: +1 -> /home/ubuntu/coreMQTT/source/core_mqtt.c +cov-emit invocation time (seconds): 0 +cov-translate invocation time (seconds): 6 +cov-build invocation time (seconds): 8 +Translation unit: +2 -> /home/ubuntu/coreMQTT/source/core_mqtt_state.c +cov-emit invocation time (seconds): 0 +cov-translate invocation time (seconds): 0 +cov-build invocation time (seconds): 8 +Translation unit: +3 -> /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c +cov-emit invocation time (seconds): 0 +cov-translate invocation time (seconds): 0 +cov-build invocation time (seconds): 8 diff --git a/lib/libcoverity_analysis.a b/lib/libcoverity_analysis.a new file mode 100644 index 0000000000000000000000000000000000000000..bedf18646c56c3efa72518f875f8bf3983b500b1 GIT binary patch literal 60102 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 z^hM^5cleanSession, &incomingPacket, pSessionPresent); + } if (status == MQTTSuccess) diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index f24d36199..c4dcbb07a 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -787,9 +787,10 @@ static MQTTStatus_t MQTT_GetUserPropertySize(const MQTTUserProperty_t* pUserProp status = MQTTBadParameter; } else { - for (;(i < number) &&(status == MQTTSuccess);i++) { + for (;(i < number);i++) { if ((pUserProperty[i].keyLength == 0U) || (pUserProperty[i].valueLength == 0U) || (pUserProperty[i].key == NULL) || (pUserProperty[i].value == NULL)) { - status = MQTTBadParameter; + status = MQTTBadParameter; + break; } else{ *size += (pUserProperty [i].keyLength ); @@ -1330,7 +1331,7 @@ static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacke return status; } -MQTTStatus_t decodeVariableLength(const uint8_t* pBuffer, size_t* length) +static MQTTStatus_t decodeVariableLength(const uint8_t* pBuffer, size_t* length) { size_t remainingLength = 0; size_t multiplier = 1; @@ -1409,7 +1410,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti status = decodeVariableLength(pVariableHeader, &propertyLength); } else{ - + /* MISRA Empty body */ } if((status==MQTTSuccess) && (pConnackProperties->isMaxPacketSize==true) && ((pIncomingPacket->remainingLength + remainingLengthSize + 1U) > (pConnackProperties->maxPacketSize))){ status= MQTTProtocolError; @@ -1591,7 +1592,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti pConnackProperties->incomingUserPropSize++; userProperty->keyLength = UINT16_DECODE(pVariableHeader); propertyLength -= 2U; - if (propertyLength < (size_t)(userProperty->keyLength + 2U)) { + if ((propertyLength - 2U) < (userProperty->keyLength)) { status = MQTTMalformedPacket; } else { @@ -1625,7 +1626,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti status = MQTTProtocolError; } else{ - pConnackProperties->isWildcardAvaiable = (bool)*pVariableHeader; + pConnackProperties->isWildcardAvaiable = *pVariableHeader; pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; propertyLength -= 1U; wildcard = true; @@ -1644,7 +1645,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti status = MQTTProtocolError; } else{ - pConnackProperties->subscriptionId = (bool)*pVariableHeader; + pConnackProperties->subscriptionId = *pVariableHeader; pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; propertyLength -= 1U; subId = true; @@ -1663,7 +1664,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti status = MQTTProtocolError; } else{ - pConnackProperties->isSharedAvailable = (bool)*pVariableHeader; + pConnackProperties->isSharedAvailable = *pVariableHeader; pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; propertyLength -= 1U; sharedsub = true; @@ -1770,6 +1771,9 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti } } } + else{ + /* MISRA Empty body */ + } return status; } diff --git a/source/include/core_mqtt.h b/source/include/core_mqtt.h index 5e09730c3..48a7e3dfe 100644 --- a/source/include/core_mqtt.h +++ b/source/include/core_mqtt.h @@ -247,6 +247,9 @@ typedef struct MQTTContext uint32_t pingReqSendTimeMs; /**< @brief Timestamp of the last sent PINGREQ. */ bool waitingForPingResp; /**< @brief If the library is currently awaiting a PINGRESP. */ #if (MQTT_VERSION_5_ENABLED) + /** + * @brief Connect and Connack Properties. + */ MQTTConnectProperties_t *connectProperties; #endif } MQTTContext_t; diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index 7196b260f..18c72cb01 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -298,38 +298,134 @@ typedef struct MQTTUserProperty */ typedef struct MQTTConnectProperties { + /** + * @brief Four Byte Integer representing the Session Expiry Interval in seconds. + */ uint32_t sessionExpiry; + /** + * @brief Maximum number of unacknowledged PUBLISH packets client is willing to receive. + */ uint16_t receiveMax; + /** + * @brief Whether the maximum packet size is defined. + */ bool isMaxPacketSize; + /** + * @brief Four Byte Integer representing the Maximum Packet Size the Client is willing to accept. + */ uint32_t maxPacketSize; + /** + * @brief Two Byte Integer representing the Topic Alias Maximum value. + */ uint16_t topicAliasMax; + /** + * @brief A value of 0 indicates that the Server MUST NOT return Response Information. + */ bool reqResInfo; + /** + * @brief The Client uses this value to indicate whether the Reason String or User Properties + * are sent in the case of failures + */ bool reqProbInfo; + /** + * @brief Length of the connect properties. + */ size_t propertyLength; - MQTTUserProperty_t *incomingUserProperty; - uint32_t incomingUserPropSize; + /** + * @brief Pointer to the outgoing user properties. + */ MQTTUserProperty_t *outgoingUserProperty; + /** + * @brief Total number of outgoing user properties. + */ uint32_t outgoingUserPropSize; - MQTTAuthInfo_t *incomingAuth; - + + /** + * @brief Pointer to the incoming authentication information. + */ + MQTTAuthInfo_t *outgoingAuth; + + /** + * @brief Maximum number of unacknowledged PUBLISH packets client is willing to receive. + */ uint16_t serverReceiveMax; + /** + * @brief Max qos supported by the server. + */ uint8_t serverMaxQos; + /** + * @brief Byte declares whether the Server supports retained messages. + */ uint8_t retainAvailable; + /** + * @brief Four Byte Integer representing the Maximum Packet Size the Server is willing to accept. + */ uint32_t serverMaxPacketSize; + /** + * @brief Client identifier assigned by the client. + */ const char* clientIdentifier; + /** + * @brief Length of the assigned client identifier. + */ uint16_t clientIdLength; + /** + * @brief Two Byte Integer representing the Topic Alias Maximum value. + */ uint16_t serverTopicAliasMax; + /** + * @brief Reason String is a human readable string designed for diagnostics. + */ const char* reasonString; + /** + * @brief Length of reason string. + */ uint16_t reasonStringLength; - bool isWildcardAvaiable; - bool subscriptionId; - bool isSharedAvailable; + /** + * @brief Pointer to the incoming user properties. + */ + MQTTUserProperty_t *incomingUserProperty; + /** + * @brief Total number of user properties received. + */ + uint32_t incomingUserPropSize; + /** + * @brief Whether wildcard subscription is available. + */ + uint8_t isWildcardAvaiable; + /** + * @brief Whether the Server supports Subscription Identifiers. + */ + uint8_t subscriptionId; + /** + * @brief Whether the Server supports Shared Subscription. + */ + uint8_t isSharedAvailable; + /** + * @brief Keep Alive value given by the server. + */ uint16_t serverKeepAlive; + /** + * @brief UTF-8 Encoded String which is used as the basis for creating a Response Topic. + */ const char* responseInfo; + /** + * @brief Length of the response information. + */ uint16_t responseInfoLength; + /** + * @brief UTF-8 Encoded String which can be used by the Client to identify another Server to use + */ const char* serverRef; + /** + * @brief Length of the server reference. + */ uint16_t serverRefLength; - MQTTAuthInfo_t *outgoingAuth; + /** + * @brief Pointer to the incoming authentication information. + */ + MQTTAuthInfo_t *incomingAuth; + } MQTTConnectProperties_t; @@ -375,18 +471,57 @@ typedef struct MQTTPublishInfo size_t payloadLength; #if (MQTT_VERSION_5_ENABLED) + /** + * @brief Length of the properties. + */ size_t propertyLength; + /** + * @brief Four Byte Integer representing the Will Delay Interval in seconds. + */ uint32_t willDelay; - uint8_t payloadFormat; + /** + * @brief Payload Format Indicator. + **/ + uint8_t payloadFormat; + /** + * @brief e Four Byte Integer representing the Message Expiry Interval. + */ uint32_t msgExpiryInterval; + /** + * @brief Wheter the message expiry is specified. + */ bool msgExpiryPresent; + /** + * @brief Length of the content type. + */ uint16_t contentTypeLength; + /** + * @brief UTF-8 Encoded String describing the content of the Will Message. + */ const char *contentType; + /** + * @brief Length of the response topic. + */ uint16_t responseTopicLength; + /** + * @brief UTF-8 Encoded String which is used as the Topic Name for a response message. + */ const char *responseTopic; + /** + * @brief Length of the correlation lenght. + */ uint16_t correlationLength; + /** + * @brief To identify which request the Response Message is for. + */ const void *correlationData; + /** + * @brief Pointer to the user properties. + */ MQTTUserProperty_t* userProperty; + /** + * @brief Number of user properties. + */ uint32_t userPropertySize; #endif From 0d4196dd876f070bcb02d59175d4b95dcfbc38fa Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Fri, 21 Jun 2024 11:41:01 +0000 Subject: [PATCH 26/82] correct propertylength -2 --- source/core_mqtt_serializer.c | 2046 +++++++++-------- .../MQTTv5/core_mqttv5_serializer_utest.c | 15 + 2 files changed, 1085 insertions(+), 976 deletions(-) diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index c4dcbb07a..6f482ac9b 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -22,213 +22,207 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - /** - * @file core_mqtt_serializer.c - * @brief Implements the user-facing functions in core_mqtt_serializer.h. - */ +/** + * @file core_mqtt_serializer.c + * @brief Implements the user-facing functions in core_mqtt_serializer.h. + */ #include #include #include "core_mqtt_serializer.h" - /* Include config defaults header to get default values of configs. */ +/* Include config defaults header to get default values of configs. */ #include "core_mqtt_config_defaults.h" /** * @brief MQTT protocol version 3.1.1. */ -#define MQTT_VERSION_3_1_1 ( ( uint8_t ) 4U ) - - /** - * @brief Size of the fixed and variable header of a CONNECT packet. - */ -#define MQTT_PACKET_CONNECT_HEADER_SIZE ( 10UL ) +#define MQTT_VERSION_3_1_1 ((uint8_t)4U) +/** + * @brief Size of the fixed and variable header of a CONNECT packet. + */ +#define MQTT_PACKET_CONNECT_HEADER_SIZE (10UL) - /* MQTT CONNECT flags. */ -#define MQTT_CONNECT_FLAG_CLEAN ( 1 ) /**< @brief Clean session. */ -#define MQTT_CONNECT_FLAG_WILL ( 2 ) /**< @brief Will present. */ -#define MQTT_CONNECT_FLAG_WILL_QOS1 ( 3 ) /**< @brief Will QoS 1. */ -#define MQTT_CONNECT_FLAG_WILL_QOS2 ( 4 ) /**< @brief Will QoS 2. */ -#define MQTT_CONNECT_FLAG_WILL_RETAIN ( 5 ) /**< @brief Will retain. */ -#define MQTT_CONNECT_FLAG_PASSWORD ( 6 ) /**< @brief Password present. */ -#define MQTT_CONNECT_FLAG_USERNAME ( 7 ) /**< @brief User name present. */ +/* MQTT CONNECT flags. */ +#define MQTT_CONNECT_FLAG_CLEAN (1) /**< @brief Clean session. */ +#define MQTT_CONNECT_FLAG_WILL (2) /**< @brief Will present. */ +#define MQTT_CONNECT_FLAG_WILL_QOS1 (3) /**< @brief Will QoS 1. */ +#define MQTT_CONNECT_FLAG_WILL_QOS2 (4) /**< @brief Will QoS 2. */ +#define MQTT_CONNECT_FLAG_WILL_RETAIN (5) /**< @brief Will retain. */ +#define MQTT_CONNECT_FLAG_PASSWORD (6) /**< @brief Password present. */ +#define MQTT_CONNECT_FLAG_USERNAME (7) /**< @brief User name present. */ /* * Positions of each flag in the first byte of an MQTT PUBLISH packet's * fixed header. */ -#define MQTT_PUBLISH_FLAG_RETAIN ( 0 ) /**< @brief MQTT PUBLISH retain flag. */ -#define MQTT_PUBLISH_FLAG_QOS1 ( 1 ) /**< @brief MQTT PUBLISH QoS1 flag. */ -#define MQTT_PUBLISH_FLAG_QOS2 ( 2 ) /**< @brief MQTT PUBLISH QoS2 flag. */ -#define MQTT_PUBLISH_FLAG_DUP ( 3 ) /**< @brief MQTT PUBLISH duplicate flag. */ - - /** - * @brief The size of MQTT DISCONNECT packets, per MQTT spec. - */ -#define MQTT_DISCONNECT_PACKET_SIZE ( 2UL ) - - /** - * @brief A PINGREQ packet is always 2 bytes in size, defined by MQTT 3.1.1 spec. - */ -#define MQTT_PACKET_PINGREQ_SIZE ( 2UL ) - - /** - * @brief The Remaining Length field of MQTT disconnect packets, per MQTT spec. - */ -#define MQTT_DISCONNECT_REMAINING_LENGTH ( ( uint8_t ) 0 ) - - /* - * Constants relating to CONNACK packets, defined by MQTT 3.1.1 spec. - */ -#define MQTT_PACKET_CONNACK_REMAINING_LENGTH ( ( uint8_t ) 2U ) /**< @brief A CONNACK packet always has a "Remaining length" of 2. */ -#define MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK ( ( uint8_t ) 0x01U ) /**< @brief The "Session Present" bit is always the lowest bit. */ - - /* - * UNSUBACK, PUBACK, PUBREC, PUBREL, and PUBCOMP always have a remaining length - * of 2. - */ -#define MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH ( ( uint8_t ) 2 ) /**< @brief PUBACK, PUBREC, PUBREl, PUBCOMP, UNSUBACK Remaining length. */ -#define MQTT_PACKET_PINGRESP_REMAINING_LENGTH ( 0U ) /**< @brief A PINGRESP packet always has a "Remaining length" of 0. */ - - /** - * @brief Per the MQTT 3.1.1 spec, the largest "Remaining Length" of an MQTT - * packet is this value, 256 MB. - */ -#define MQTT_MAX_REMAINING_LENGTH ( 268435455UL ) +#define MQTT_PUBLISH_FLAG_RETAIN (0) /**< @brief MQTT PUBLISH retain flag. */ +#define MQTT_PUBLISH_FLAG_QOS1 (1) /**< @brief MQTT PUBLISH QoS1 flag. */ +#define MQTT_PUBLISH_FLAG_QOS2 (2) /**< @brief MQTT PUBLISH QoS2 flag. */ +#define MQTT_PUBLISH_FLAG_DUP (3) /**< @brief MQTT PUBLISH duplicate flag. */ -#if (MQTT_VERSION_5_ENABLED) +/** + * @brief The size of MQTT DISCONNECT packets, per MQTT spec. + */ +#define MQTT_DISCONNECT_PACKET_SIZE (2UL) -#define MQTT_VERSION_5 (5U) -#define MQTT_SESSION_EXPIRY_SIZE (5U) -#define MQTT_RECEIVE_MAX_SIZE (3U) -#define MQTT_MAX_PACKET_SIZE (5U) -#define MQTT_TOPIC_ALIAS_SIZE (3U) -#define MQTT_REQUEST_RESPONSE_SIZE (2U) -#define MQTT_REQUEST_PPOBLEM_SIZE (2U) +/** + * @brief A PINGREQ packet is always 2 bytes in size, defined by MQTT 3.1.1 spec. + */ +#define MQTT_PACKET_PINGREQ_SIZE (2UL) -/*CONNECT PROPERTIES*/ -#define MQTT_SESSION_EXPIRY_ID (0x11) -#define MQTT_RECEIVE_MAX_ID (0x21) -#define MQTT_MAX_PACKET_SIZE_ID (0x27) -#define MQTT_TOPIC_ALIAS_MAX_ID (0x22) -#define MQTT_REQUEST_RESPONSE_ID (0x19) -#define MQTT_REQUEST_PROBLEM_ID (0x17) -#define MQTT_USER_PROPERTY_ID (0x26) -#define MQTT_AUTH_METHOD_ID (0x15) -#define MQTT_AUTH_DATA_ID (0x16) +/** + * @brief The Remaining Length field of MQTT disconnect packets, per MQTT spec. + */ +#define MQTT_DISCONNECT_REMAINING_LENGTH ((uint8_t)0) +/* + * Constants relating to CONNACK packets, defined by MQTT 3.1.1 spec. + */ +#define MQTT_PACKET_CONNACK_REMAINING_LENGTH ((uint8_t)2U) /**< @brief A CONNACK packet always has a "Remaining length" of 2. */ +#define MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK ((uint8_t)0x01U) /**< @brief The "Session Present" bit is always the lowest bit. */ -/*WILL PROPERTIES*/ -#define MQTT_WILL_DELAY_ID (0x18) -#define MQTT_PAYLOAD_FORMAT_ID (0x01) -#define MQTT_MSG_EXPIRY_ID (0x02) -#define MQTT_CONTENT_TYPE_ID (0x03) -#define MQTT_RESPONSE_TOPIC_ID (0x08) -#define MQTT_CORRELATION_DATA_ID (0x09) +/* + * UNSUBACK, PUBACK, PUBREC, PUBREL, and PUBCOMP always have a remaining length + * of 2. + */ +#define MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH ((uint8_t)2) /**< @brief PUBACK, PUBREC, PUBREl, PUBCOMP, UNSUBACK Remaining length. */ +#define MQTT_PACKET_PINGRESP_REMAINING_LENGTH (0U) /**< @brief A PINGRESP packet always has a "Remaining length" of 0. */ +/** + * @brief Per the MQTT 3.1.1 spec, the largest "Remaining Length" of an MQTT + * packet is this value, 256 MB. + */ +#define MQTT_MAX_REMAINING_LENGTH (268435455UL) -/*CONNACK PROPERTIES*/ -#define MQTT_MAX_QOS_ID (0x24) -#define MQTT_RETAIN_AVAILABLE_ID (0x25) -#define MQTT_ASSIGNED_CLIENT_ID (0x12) -#define MQTT_REASON_STRING_ID (0x1F) -#define MQTT_WILDCARD_ID (0x28) -#define MQTT_SUB_AVAILABLE_ID (0x29) -#define MQTT_SHARED_SUB_ID (0x2A) -#define MQTT_SERVER_KEEP_ALIVE_ID (0x13) -#define MQTT_RESPONSE_INFO_ID (0x1A) -#define MQTT_SERVER_REF_ID (0x1C) +#if (MQTT_VERSION_5_ENABLED) + +#define MQTT_VERSION_5 (5U) +#define MQTT_SESSION_EXPIRY_SIZE (5U) +#define MQTT_RECEIVE_MAX_SIZE (3U) +#define MQTT_MAX_PACKET_SIZE (5U) +#define MQTT_TOPIC_ALIAS_SIZE (3U) +#define MQTT_REQUEST_RESPONSE_SIZE (2U) +#define MQTT_REQUEST_PPOBLEM_SIZE (2U) + +/*CONNECT PROPERTIES*/ +#define MQTT_SESSION_EXPIRY_ID (0x11) +#define MQTT_RECEIVE_MAX_ID (0x21) +#define MQTT_MAX_PACKET_SIZE_ID (0x27) +#define MQTT_TOPIC_ALIAS_MAX_ID (0x22) +#define MQTT_REQUEST_RESPONSE_ID (0x19) +#define MQTT_REQUEST_PROBLEM_ID (0x17) +#define MQTT_USER_PROPERTY_ID (0x26) +#define MQTT_AUTH_METHOD_ID (0x15) +#define MQTT_AUTH_DATA_ID (0x16) -#define CORE_MQTT_ID_SIZE ( 1U ) +/*WILL PROPERTIES*/ +#define MQTT_WILL_DELAY_ID (0x18) +#define MQTT_PAYLOAD_FORMAT_ID (0x01) +#define MQTT_MSG_EXPIRY_ID (0x02) +#define MQTT_CONTENT_TYPE_ID (0x03) +#define MQTT_RESPONSE_TOPIC_ID (0x08) +#define MQTT_CORRELATION_DATA_ID (0x09) +/*CONNACK PROPERTIES*/ +#define MQTT_MAX_QOS_ID (0x24) +#define MQTT_RETAIN_AVAILABLE_ID (0x25) +#define MQTT_ASSIGNED_CLIENT_ID (0x12) +#define MQTT_REASON_STRING_ID (0x1F) +#define MQTT_WILDCARD_ID (0x28) +#define MQTT_SUB_AVAILABLE_ID (0x29) +#define MQTT_SHARED_SUB_ID (0x2A) +#define MQTT_SERVER_KEEP_ALIVE_ID (0x13) +#define MQTT_RESPONSE_INFO_ID (0x1A) +#define MQTT_SERVER_REF_ID (0x1C) + +#define CORE_MQTT_ID_SIZE (1U) #endif /** * @brief Set a bit in an 8-bit unsigned integer. */ -#define UINT8_SET_BIT( x, position ) ( ( x ) = ( uint8_t ) ( ( x ) | ( 0x01U << ( position ) ) ) ) - - /** - * @brief Macro for checking if a bit is set in a 1-byte unsigned int. - * - * @param[in] x The unsigned int to check. - * @param[in] position Which bit to check. - */ -#define UINT8_CHECK_BIT( x, position ) ( ( ( x ) & ( 0x01U << ( position ) ) ) == ( 0x01U << ( position ) ) ) - - /** - * @brief Get the high byte of a 16-bit unsigned integer. - */ -#define UINT16_HIGH_BYTE( x ) ( ( uint8_t ) ( ( x ) >> 8 ) ) - - /** - * @brief Get the low byte of a 16-bit unsigned integer. - */ -#define UINT16_LOW_BYTE( x ) ( ( uint8_t ) ( ( x ) & 0x00ffU ) ) - - /** - * @brief Macro for decoding a 2-byte unsigned int from a sequence of bytes. - * - * @param[in] ptr A uint8_t* that points to the high byte. - */ -#define UINT16_DECODE( ptr ) \ - ( uint16_t ) ( ( ( ( uint16_t ) ptr[ 0 ] ) << 8 ) | \ - ( ( uint16_t ) ptr[ 1 ] ) ) +#define UINT8_SET_BIT(x, position) ((x) = (uint8_t)((x) | (0x01U << (position)))) + +/** + * @brief Macro for checking if a bit is set in a 1-byte unsigned int. + * + * @param[in] x The unsigned int to check. + * @param[in] position Which bit to check. + */ +#define UINT8_CHECK_BIT(x, position) (((x) & (0x01U << (position))) == (0x01U << (position))) + +/** + * @brief Get the high byte of a 16-bit unsigned integer. + */ +#define UINT16_HIGH_BYTE(x) ((uint8_t)((x) >> 8)) + +/** + * @brief Get the low byte of a 16-bit unsigned integer. + */ +#define UINT16_LOW_BYTE(x) ((uint8_t)((x) & 0x00ffU)) + +/** + * @brief Macro for decoding a 2-byte unsigned int from a sequence of bytes. + * + * @param[in] ptr A uint8_t* that points to the high byte. + */ +#define UINT16_DECODE(ptr) \ + (uint16_t)((((uint16_t)ptr[0]) << 8) | \ + ((uint16_t)ptr[1])) #if (MQTT_VERSION_5_ENABLED) - /** - * @brief Get the 4th byte of a 32-bit unsigned integer. - */ -#define UINT32_BYTE3( x ) ( ( uint8_t ) ( ( x ) >> 24 ) ) - /** - * @brief Get the 3rd byte of a 32-bit unsigned integer. - */ -#define UINT32_BYTE2( x ) ( ( uint8_t ) ( ( x ) >> 16 ) ) - /** - * @brief Get the 2nd byte of a 32-bit unsigned integer. - */ -#define UINT32_BYTE1( x ) ( ( uint8_t ) ( ( x ) >> 8 ) ) - /** - * @brief Get the 1st byte of a 32-bit unsigned integer. - */ -#define UINT32_BYTE0( x ) ( ( uint8_t ) ( ( x ) & 0x000000FFU ) ) - - /** - * @brief Macro for decoding a 4-byte unsigned int from a sequence of bytes. - * - * @param[in] ptr A uint8_t* that points to the high byte. - */ -#define UINT32_DECODE( ptr ) \ - ( uint32_t ) ( ( ( ( uint32_t ) ptr[ 0 ] ) << 8 ) | \ - ( ( ( uint32_t ) ptr[ 1 ] ) << 16 ) | \ - ( ( ( uint32_t ) ptr[ 2 ] ) << 24 ) | \ - ( ( uint32_t ) ptr[ 3 ] ) ) +/** + * @brief Get the 4th byte of a 32-bit unsigned integer. + */ +#define UINT32_BYTE3(x) ((uint8_t)((x) >> 24)) +/** + * @brief Get the 3rd byte of a 32-bit unsigned integer. + */ +#define UINT32_BYTE2(x) ((uint8_t)((x) >> 16)) +/** + * @brief Get the 2nd byte of a 32-bit unsigned integer. + */ +#define UINT32_BYTE1(x) ((uint8_t)((x) >> 8)) +/** + * @brief Get the 1st byte of a 32-bit unsigned integer. + */ +#define UINT32_BYTE0(x) ((uint8_t)((x) & 0x000000FFU)) +/** + * @brief Macro for decoding a 4-byte unsigned int from a sequence of bytes. + * + * @param[in] ptr A uint8_t* that points to the high byte. + */ +#define UINT32_DECODE(ptr) \ + (uint32_t)((((uint32_t)ptr[0]) << 8) | \ + (((uint32_t)ptr[1]) << 16) | \ + (((uint32_t)ptr[2]) << 24) | \ + ((uint32_t)ptr[3])) #endif - /** - * @brief A value that represents an invalid remaining length. - * - * This value is greater than what is allowed by the MQTT specification. - */ -#define MQTT_REMAINING_LENGTH_INVALID ( ( size_t ) 268435456 ) - - /** - * @brief The minimum remaining length for a QoS 0 PUBLISH. - * - * Includes two bytes for topic name length and one byte for topic name. - */ -#define MQTT_MIN_PUBLISH_REMAINING_LENGTH_QOS0 ( 3U ) +/** + * @brief A value that represents an invalid remaining length. + * + * This value is greater than what is allowed by the MQTT specification. + */ +#define MQTT_REMAINING_LENGTH_INVALID ((size_t)268435456) - /*-----------------------------------------------------------*/ +/** + * @brief The minimum remaining length for a QoS 0 PUBLISH. + * + * Includes two bytes for topic name length and one byte for topic name. + */ +#define MQTT_MIN_PUBLISH_REMAINING_LENGTH_QOS0 (3U) +/*-----------------------------------------------------------*/ - /** - * @brief MQTT Subscription packet types. - */ +/** + * @brief MQTT Subscription packet types. + */ typedef enum MQTTSubscriptionType { MQTT_SUBSCRIBE, /**< @brief The type is a SUBSCRIBE packet. */ @@ -252,11 +246,11 @@ typedef enum MQTTSubscriptionType * @brief param[in] serializePayload Copy payload to the serialized buffer * only if true. Only PUBLISH header will be serialized if false. */ -static void serializePublishCommon(const MQTTPublishInfo_t* pPublishInfo, - size_t remainingLength, - uint16_t packetIdentifier, - const MQTTFixedBuffer_t* pFixedBuffer, - bool serializePayload); +static void serializePublishCommon(const MQTTPublishInfo_t *pPublishInfo, + size_t remainingLength, + uint16_t packetIdentifier, + const MQTTFixedBuffer_t *pFixedBuffer, + bool serializePayload); /** * @brief Calculates the packet size and remaining length of an MQTT @@ -269,9 +263,9 @@ static void serializePublishCommon(const MQTTPublishInfo_t* pPublishInfo, * @return false if the packet would exceed the size allowed by the * MQTT spec; true otherwise. */ -static bool calculatePublishPacketSize(const MQTTPublishInfo_t* pPublishInfo, - size_t* pRemainingLength, - size_t* pPacketSize); +static bool calculatePublishPacketSize(const MQTTPublishInfo_t *pPublishInfo, + size_t *pRemainingLength, + size_t *pPacketSize); /** * @brief Calculates the packet size and remaining length of an MQTT @@ -288,11 +282,11 @@ static bool calculatePublishPacketSize(const MQTTPublishInfo_t* pPublishInfo, * #MQTTBadParameter if the packet would exceed the size allowed by the * MQTT spec or a subscription is empty; #MQTTSuccess otherwise. */ -static MQTTStatus_t calculateSubscriptionPacketSize(const MQTTSubscribeInfo_t* pSubscriptionList, - size_t subscriptionCount, - size_t* pRemainingLength, - size_t* pPacketSize, - MQTTSubscriptionType_t subscriptionType); +static MQTTStatus_t calculateSubscriptionPacketSize(const MQTTSubscribeInfo_t *pSubscriptionList, + size_t subscriptionCount, + size_t *pRemainingLength, + size_t *pPacketSize, + MQTTSubscriptionType_t subscriptionType); /** * @brief Validates parameters of #MQTT_SerializeSubscribe or @@ -308,11 +302,11 @@ static MQTTStatus_t calculateSubscriptionPacketSize(const MQTTSubscribeInfo_t* p * #MQTTBadParameter if invalid parameters are passed; * #MQTTSuccess otherwise. */ -static MQTTStatus_t validateSubscriptionSerializeParams(const MQTTSubscribeInfo_t* pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t* pFixedBuffer); +static MQTTStatus_t validateSubscriptionSerializeParams(const MQTTSubscribeInfo_t *pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t *pFixedBuffer); /** * @brief Serialize an MQTT CONNECT packet in the given buffer. @@ -322,10 +316,10 @@ static MQTTStatus_t validateSubscriptionSerializeParams(const MQTTSubscribeInfo_ * @param[in] remainingLength Remaining Length of MQTT CONNECT packet. * @param[out] pFixedBuffer Buffer for packet serialization. */ -static void serializeConnectPacket(const MQTTConnectInfo_t* pConnectInfo, - const MQTTPublishInfo_t* pWillInfo, - size_t remainingLength, - const MQTTFixedBuffer_t* pFixedBuffer); +static void serializeConnectPacket(const MQTTConnectInfo_t *pConnectInfo, + const MQTTPublishInfo_t *pWillInfo, + size_t remainingLength, + const MQTTFixedBuffer_t *pFixedBuffer); /** * @brief Prints the appropriate message for the CONNACK response code if logs @@ -345,8 +339,8 @@ static void logConnackResponse(uint8_t responseCode); * * @return The location of the byte following the encoded value. */ -static uint8_t* encodeRemainingLength(uint8_t* pDestination, - size_t length); +static uint8_t *encodeRemainingLength(uint8_t *pDestination, + size_t length); /** * @brief Retrieve the size of the remaining length if it were to be encoded. @@ -355,7 +349,7 @@ static uint8_t* encodeRemainingLength(uint8_t* pDestination, * * @return The size of the remaining length if it were to be encoded. */ - static size_t remainingLengthEncodedSize(size_t length); +static size_t remainingLengthEncodedSize(size_t length); /** * @brief Encode a string whose size is at maximum 16 bits in length. @@ -366,9 +360,9 @@ static uint8_t* encodeRemainingLength(uint8_t* pDestination, * * @return A pointer to the end of the encoded string. */ -static uint8_t* encodeString(uint8_t* pDestination, - const char* pSource, - uint16_t sourceLength); +static uint8_t *encodeString(uint8_t *pDestination, + const char *pSource, + uint16_t sourceLength); /** * @brief Retrieves and decodes the Remaining Length from the network interface @@ -380,7 +374,7 @@ static uint8_t* encodeString(uint8_t* pDestination, * @return The Remaining Length of the incoming packet. */ static size_t getRemainingLength(TransportRecv_t recvFunc, - NetworkContext_t* pNetworkContext); + NetworkContext_t *pNetworkContext); /** * @brief Retrieves, decodes and stores the Remaining Length from the network @@ -396,9 +390,9 @@ static size_t getRemainingLength(TransportRecv_t recvFunc, * packet is not yet fully received and decoded. Otherwise, MQTTSuccess * shows that processing of the packet was successful. */ -static MQTTStatus_t processRemainingLength(const uint8_t* pBuffer, - const size_t* pIndex, - MQTTPacketInfo_t* pIncomingPacket); +static MQTTStatus_t processRemainingLength(const uint8_t *pBuffer, + const size_t *pIndex, + MQTTPacketInfo_t *pIncomingPacket); /** * @brief Check if an incoming packet type is valid. @@ -423,8 +417,8 @@ static bool incomingPacketValid(uint8_t packetType); * @return #MQTTSuccess or #MQTTBadResponse. */ static MQTTStatus_t checkPublishRemainingLength(size_t remainingLength, - MQTTQoS_t qos, - size_t qos0Minimum); + MQTTQoS_t qos, + size_t qos0Minimum); /** * @brief Process the flags of an incoming PUBLISH packet. @@ -436,7 +430,7 @@ static MQTTStatus_t checkPublishRemainingLength(size_t remainingLength, * @return #MQTTSuccess or #MQTTBadResponse. */ static MQTTStatus_t processPublishFlags(uint8_t publishFlags, - MQTTPublishInfo_t* pPublishInfo); + MQTTPublishInfo_t *pPublishInfo); /** * @brief Deserialize a CONNACK packet. @@ -451,8 +445,8 @@ static MQTTStatus_t processPublishFlags(uint8_t publishFlags, * #MQTTServerRefused if CONNACK specifies that CONNECT was rejected; * #MQTTBadResponse if the CONNACK packet doesn't follow MQTT spec. */ -static MQTTStatus_t deserializeConnack(const MQTTPacketInfo_t* pConnack, - bool* pSessionPresent); +static MQTTStatus_t deserializeConnack(const MQTTPacketInfo_t *pConnack, + bool *pSessionPresent); /** * @brief Decode the status bytes of a SUBACK packet to a #MQTTStatus_t. @@ -463,7 +457,7 @@ static MQTTStatus_t deserializeConnack(const MQTTPacketInfo_t* pConnack, * @return #MQTTSuccess, #MQTTServerRefused, or #MQTTBadResponse. */ static MQTTStatus_t readSubackStatus(size_t statusCount, - const uint8_t* pStatusStart); + const uint8_t *pStatusStart); /** * @brief Deserialize a SUBACK packet. @@ -477,8 +471,8 @@ static MQTTStatus_t readSubackStatus(size_t statusCount, * @return #MQTTSuccess if SUBACK is valid; #MQTTBadResponse if SUBACK packet * doesn't follow the MQTT spec. */ -static MQTTStatus_t deserializeSuback(const MQTTPacketInfo_t* pSuback, - uint16_t* pPacketIdentifier); +static MQTTStatus_t deserializeSuback(const MQTTPacketInfo_t *pSuback, + uint16_t *pPacketIdentifier); /** * @brief Deserialize a PUBLISH packet received from the server. @@ -496,9 +490,9 @@ static MQTTStatus_t deserializeSuback(const MQTTPacketInfo_t* pSuback, * @return #MQTTSuccess if PUBLISH is valid; #MQTTBadResponse * if the PUBLISH packet doesn't follow MQTT spec. */ -static MQTTStatus_t deserializePublish(const MQTTPacketInfo_t* pIncomingPacket, - uint16_t* pPacketId, - MQTTPublishInfo_t* pPublishInfo); +static MQTTStatus_t deserializePublish(const MQTTPacketInfo_t *pIncomingPacket, + uint16_t *pPacketId, + MQTTPublishInfo_t *pPublishInfo); /** * @brief Deserialize an UNSUBACK, PUBACK, PUBREC, PUBREL, or PUBCOMP packet. @@ -512,8 +506,8 @@ static MQTTStatus_t deserializePublish(const MQTTPacketInfo_t* pIncomingPacket, * @return #MQTTSuccess if UNSUBACK, PUBACK, PUBREC, PUBREL, or PUBCOMP is valid; * #MQTTBadResponse if the packet doesn't follow the MQTT spec. */ -static MQTTStatus_t deserializeSimpleAck(const MQTTPacketInfo_t* pAck, - uint16_t* pPacketIdentifier); +static MQTTStatus_t deserializeSimpleAck(const MQTTPacketInfo_t *pAck, + uint16_t *pPacketIdentifier); /** * @brief Deserialize a PINGRESP packet. @@ -525,8 +519,7 @@ static MQTTStatus_t deserializeSimpleAck(const MQTTPacketInfo_t* pAck, * @return #MQTTSuccess if PINGRESP is valid; #MQTTBadResponse if the PINGRESP * packet doesn't follow MQTT spec. */ -static MQTTStatus_t deserializePingresp(const MQTTPacketInfo_t* pPingresp); - +static MQTTStatus_t deserializePingresp(const MQTTPacketInfo_t *pPingresp); #if (MQTT_VERSION_5_ENABLED) /** @@ -537,10 +530,10 @@ static MQTTStatus_t deserializePingresp(const MQTTPacketInfo_t* pPingresp); * @param[in] pUserProperty Pointer to an MQTT packet struct representing user properties. * @param[in] number Total number of user properties * @param[out] size Size of the user properties - * + * * @return #MQTTSuccess if user properties are valid and #MQTTBadParametr if the user properties are not valid */ -static MQTTStatus_t MQTT_GetUserPropertySize(const MQTTUserProperty_t* pUserProperty, uint32_t number, size_t* size); +static MQTTStatus_t MQTT_GetUserPropertySize(const MQTTUserProperty_t *pUserProperty, uint32_t number, size_t *size); /** * @brief Get the size of connect properties. @@ -548,11 +541,11 @@ static MQTTStatus_t MQTT_GetUserPropertySize(const MQTTUserProperty_t* pUserProp * Validates the connect properties, calculates the total size of connect properties and stores it int MQTTConnectProperties_t. * * @param[in] pConnectProperties Pointer to an MQTT packet struct representing connect properties. - * + * * @return #MQTTSuccess if connect properties are valid and #MQTTBadParametr if the connect properties are not valid. */ -static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProperties); +static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t *pConnectProperties); /** * @brief Get the size of connect properties. @@ -560,23 +553,23 @@ static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConn * Validates the will properties,calculates the total size of will properties and stores it in MQTTPublishInfo_t. * * @param[in] pConnectProperties Pointer to an MQTT packet struct representing will properties. - * + * * @return #MQTTSuccess if will properties are valid and #MQTTBadParametr if the will properties are not valid. */ -static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillProperties); +static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillProperties); /** * @brief decodes the variable length by reading a single byte at a time. * * Uses the algorithm provided in the spec. - * + * * @param[in] pBuffer Pointer to the buffer. * @param[out] length Decoded variable length * * @return #MQTTSuccess if variable length and paramters are valid else #MQTTBadParamter. */ -static MQTTStatus_t decodeVariableLength(const uint8_t* pBuffer, size_t* length); +static MQTTStatus_t decodeVariableLength(const uint8_t *pBuffer, size_t *length); /** * @brief Validate the connack parameters. @@ -586,25 +579,23 @@ static MQTTStatus_t decodeVariableLength(const uint8_t* pBuffer, size_t* length) * * @param[in] pIncoming Pointer to an MQTT packet struct representing a incoming packet. * @param[in] pSessionPresent Pointer to a bool representing whether a session is present or not. - * - * + * + * * @return #MQTTSuccess if connack without connack properties is valid; #MQTTBadResponse if the Connack * packet doesn't follow MQTT spec. */ -static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacket, - bool* pSessionPresent); - +static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t *pIncomingPacket, + bool *pSessionPresent); /** * @brief Prints the appropriate message for the CONNACK response code if logs * are enabled. * * @param[in] responseCode MQTT Verion 5 standard CONNACK response code. - * + * * @return MQTTServerRefused if response code is valid and MQTTProtocol if responseCode is invalid. */ -static MQTTStatus_t logConnackResponseV5(uint8_t responseCode); - +static MQTTStatus_t logConnackResponseV5(uint8_t responseCode); /** * @brief Serialize an MQTT CONNECT packet in the given buffer. @@ -616,19 +607,19 @@ static MQTTStatus_t logConnackResponseV5(uint8_t responseCode); * @param[out] pFixedBuffer Buffer for packet serialization. */ -static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, - const MQTTPublishInfo_t* pWillInfo, - const MQTTConnectProperties_t*pConnectProperties, - size_t remainingLength, - const MQTTFixedBuffer_t* pFixedBuffer); +static void serializeConnectPacketV5(const MQTTConnectInfo_t *pConnectInfo, + const MQTTPublishInfo_t *pWillInfo, + const MQTTConnectProperties_t *pConnectProperties, + size_t remainingLength, + const MQTTFixedBuffer_t *pFixedBuffer); /*-----------------------------------------------------------*/ -MQTTStatus_t MQTTV5_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, - MQTTPublishInfo_t* pWillInfo, - MQTTConnectProperties_t* pConnectProperties, - size_t* pRemainingLength, - size_t* pPacketSize) +MQTTStatus_t MQTTV5_GetConnectPacketSize(const MQTTConnectInfo_t *pConnectInfo, + MQTTPublishInfo_t *pWillInfo, + MQTTConnectProperties_t *pConnectProperties, + size_t *pRemainingLength, + size_t *pPacketSize) { MQTTStatus_t status = MQTTSuccess; size_t remainingLength; @@ -641,10 +632,10 @@ MQTTStatus_t MQTTV5_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, (pPacketSize == NULL)) { LogError(("Argument cannot be NULL: pConnectInfo=%p, " - "pRemainingLength=%p, pPacketSize=%p.", - (void*)pConnectInfo, - (void*)pRemainingLength, - (void*)pPacketSize)); + "pRemainingLength=%p, pPacketSize=%p.", + (void *)pConnectInfo, + (void *)pRemainingLength, + (void *)pPacketSize)); status = MQTTBadParameter; } else if ((pConnectInfo->clientIdentifierLength == 0U) || (pConnectInfo->pClientIdentifier == NULL)) @@ -658,44 +649,47 @@ MQTTStatus_t MQTTV5_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, * length for any other message could be larger than 65,535, but * the will message length is required to be represented in 2 bytes.*/ LogError(("The Will Message length must not exceed %d. " - "pWillInfo->payloadLength=%lu.", - UINT16_MAX, - (unsigned long)pWillInfo->payloadLength)); + "pWillInfo->payloadLength=%lu.", + UINT16_MAX, + (unsigned long)pWillInfo->payloadLength)); status = MQTTBadParameter; } else if (pConnectProperties == NULL) - { - LogError(("Argument cannot be NULL: connectProperties")); - status = MQTTBadParameter; - } + { + LogError(("Argument cannot be NULL: connectProperties")); + status = MQTTBadParameter; + } else if ((pConnectProperties->outgoingAuth != NULL) && (pConnectProperties->incomingAuth == NULL)) - { - LogError( ("Incoming Auth cannot be NULL")); - status = MQTTBadParameter; - } + { + LogError(("Incoming Auth cannot be NULL")); + status = MQTTBadParameter; + } else { /* Add the connect properties size. */ status = MQTT_GetConnectPropertiesSize(pConnectProperties); } - if(status== MQTTSuccess){ + if (status == MQTTSuccess) + { connectPacketSize += pConnectProperties->propertyLength; connectPacketSize += remainingLengthEncodedSize(pConnectProperties->propertyLength); /* Add the length of the client identifier. */ connectPacketSize += pConnectInfo->clientIdentifierLength + sizeof(uint16_t); /* Add the lengths of the will properties if provided. */ if (pWillInfo != NULL) - { + { status = MQTT_GetWillPropertiesSize(pWillInfo); } } - if(status==MQTTSuccess){ + if (status == MQTTSuccess) + { /* Add the lengths of the will message and topic name if provided. */ - if(pWillInfo!=NULL){ + if (pWillInfo != NULL) + { connectPacketSize += pWillInfo->propertyLength; connectPacketSize += remainingLengthEncodedSize(pWillInfo->propertyLength); connectPacketSize += pWillInfo->topicNameLength + sizeof(uint16_t) + - pWillInfo->payloadLength + sizeof(uint16_t); + pWillInfo->payloadLength + sizeof(uint16_t); } /* Add the lengths of the user name and password if provided. */ @@ -709,7 +703,6 @@ MQTTStatus_t MQTTV5_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, connectPacketSize += pConnectInfo->passwordLength + sizeof(uint16_t); } - /* At this point, the "Remaining Length" field of the MQTT CONNECT packet has * been calculated. */ remainingLength = connectPacketSize; @@ -718,29 +711,31 @@ MQTTStatus_t MQTTV5_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, * the "Remaining Length" field plus 1 byte for the "Packet Type" field. */ connectPacketSize += 1U + remainingLengthEncodedSize(connectPacketSize); - /** + /** * 268,435,455 - max remaining length according to spec MQTT-v5; - * - * */ - if(remainingLength> MQTT_MAX_REMAINING_LENGTH){ - status= MQTTBadParameter; + * + * */ + if (remainingLength > MQTT_MAX_REMAINING_LENGTH) + { + status = MQTTBadParameter; } - } - if(status==MQTTSuccess){ + if (status == MQTTSuccess) + { *pRemainingLength = remainingLength; *pPacketSize = connectPacketSize; LogDebug(("CONNECT packet remaining length=%lu and packet size=%lu.", - (unsigned long)*pRemainingLength, - (unsigned long)*pPacketSize)); + (unsigned long)*pRemainingLength, + (unsigned long)*pPacketSize)); } return status; } -uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t* pPublishInfo, uint8_t* pIndex) { - uint8_t* pIndexLocal = pIndex; +uint8_t *MQTT_SerializePublishProperties(const MQTTPublishInfo_t *pPublishInfo, uint8_t *pIndex) +{ + uint8_t *pIndexLocal = pIndex; pIndexLocal = encodeRemainingLength(pIndexLocal, pPublishInfo->propertyLength); if (pPublishInfo->willDelay != 0U) { @@ -768,124 +763,135 @@ uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t* pPublishInfo, pIndexLocal[2] = UINT32_BYTE1(pPublishInfo->msgExpiryInterval); pIndexLocal[3] = UINT32_BYTE0(pPublishInfo->msgExpiryInterval); pIndexLocal = &pIndexLocal[4]; - } return pIndexLocal; - } /*-----------------------------------------------------------*/ -static MQTTStatus_t MQTT_GetUserPropertySize(const MQTTUserProperty_t* pUserProperty, uint32_t number, size_t* size) { +static MQTTStatus_t MQTT_GetUserPropertySize(const MQTTUserProperty_t *pUserProperty, uint32_t number, size_t *size) +{ MQTTStatus_t status = MQTTSuccess; uint32_t i = 0; /*Number of user properties can't be more than the max user properties specified*/ - if (number >(uint32_t)MAX_USER_PROPERTY) { + if (number > (uint32_t)MAX_USER_PROPERTY) + { status = MQTTBadParameter; } - else if ((number != 0U) && (pUserProperty == NULL)) { + else if ((number != 0U) && (pUserProperty == NULL)) + { status = MQTTBadParameter; } - else { - for (;(i < number);i++) { - if ((pUserProperty[i].keyLength == 0U) || (pUserProperty[i].valueLength == 0U) || (pUserProperty[i].key == NULL) || (pUserProperty[i].value == NULL)) { - status = MQTTBadParameter; - break; + else + { + for (; (i < number); i++) + { + if ((pUserProperty[i].keyLength == 0U) || (pUserProperty[i].valueLength == 0U) || (pUserProperty[i].key == NULL) || (pUserProperty[i].value == NULL)) + { + status = MQTTBadParameter; + break; } - else{ - *size += (pUserProperty [i].keyLength ); - *size+= 3U; - *size += (pUserProperty [i].valueLength); - *size+= 2U; + else + { + *size += (pUserProperty[i].keyLength); + *size += 3U; + *size += (pUserProperty[i].valueLength); + *size += 2U; } } } return status; } - -static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t* pConnectProperties) +static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t *pConnectProperties) { size_t propertyLength = 0; MQTTStatus_t status = MQTTSuccess; /*Validate the arguments*/ - if((pConnectProperties->maxPacketSize ==0U) && (pConnectProperties->isMaxPacketSize ==true) ){ - status=MQTTBadParameter; - } - else if(pConnectProperties->receiveMax==0U){ - status = MQTTBadParameter; - } - else{ - /*Add the lengths of the parameters if applicable*/ - if (pConnectProperties->sessionExpiry != 0U) - { - propertyLength += MQTT_SESSION_EXPIRY_SIZE; - } - if (pConnectProperties->receiveMax != (uint16_t)UINT16_MAX) - { - propertyLength += MQTT_RECEIVE_MAX_SIZE; - } - if (pConnectProperties->isMaxPacketSize != false) + if ((pConnectProperties->maxPacketSize == 0U) && (pConnectProperties->isMaxPacketSize == true)) { - propertyLength += MQTT_MAX_PACKET_SIZE; - } - if (pConnectProperties->topicAliasMax != 0U) - { - propertyLength += MQTT_TOPIC_ALIAS_SIZE; + status = MQTTBadParameter; } - if (pConnectProperties->reqResInfo != false) + else if (pConnectProperties->receiveMax == 0U) { - propertyLength += MQTT_REQUEST_RESPONSE_SIZE; - } - if (pConnectProperties->reqProbInfo != true) - { - propertyLength += MQTT_REQUEST_PPOBLEM_SIZE; + status = MQTTBadParameter; } - if (pConnectProperties->outgoingAuth != NULL) + else { - /*Valid authentication parameters*/ - if ((pConnectProperties->outgoingAuth->authMethodLength == 0U) && (pConnectProperties->outgoingAuth->authDataLength != 0U)) + /*Add the lengths of the parameters if applicable*/ + if (pConnectProperties->sessionExpiry != 0U) { - status = MQTTBadParameter; + propertyLength += MQTT_SESSION_EXPIRY_SIZE; } - else if ((pConnectProperties->outgoingAuth->authMethodLength != 0U) && (pConnectProperties->outgoingAuth->authMethod == NULL)) + if (pConnectProperties->receiveMax != (uint16_t)UINT16_MAX) { - status = MQTTBadParameter; + propertyLength += MQTT_RECEIVE_MAX_SIZE; } - else if ((pConnectProperties->outgoingAuth->authDataLength != 0U) && (pConnectProperties->outgoingAuth->authData == NULL)) + if (pConnectProperties->isMaxPacketSize != false) { - status = MQTTBadParameter; + propertyLength += MQTT_MAX_PACKET_SIZE; } - else + if (pConnectProperties->topicAliasMax != 0U) + { + propertyLength += MQTT_TOPIC_ALIAS_SIZE; + } + if (pConnectProperties->reqResInfo != false) + { + propertyLength += MQTT_REQUEST_RESPONSE_SIZE; + } + if (pConnectProperties->reqProbInfo != true) + { + propertyLength += MQTT_REQUEST_PPOBLEM_SIZE; + } + if (pConnectProperties->outgoingAuth != NULL) { - if(pConnectProperties->outgoingAuth->authMethodLength!=0U){ - propertyLength += pConnectProperties->outgoingAuth->authMethodLength; - propertyLength += 3U; - if (pConnectProperties->outgoingAuth->authDataLength != 0U) { - propertyLength += pConnectProperties->outgoingAuth->authDataLength; - propertyLength += 3U; + /*Valid authentication parameters*/ + if ((pConnectProperties->outgoingAuth->authMethodLength == 0U) && (pConnectProperties->outgoingAuth->authDataLength != 0U)) + { + status = MQTTBadParameter; } + else if ((pConnectProperties->outgoingAuth->authMethodLength != 0U) && (pConnectProperties->outgoingAuth->authMethod == NULL)) + { + status = MQTTBadParameter; + } + else if ((pConnectProperties->outgoingAuth->authDataLength != 0U) && (pConnectProperties->outgoingAuth->authData == NULL)) + { + status = MQTTBadParameter; + } + else + { + if (pConnectProperties->outgoingAuth->authMethodLength != 0U) + { + propertyLength += pConnectProperties->outgoingAuth->authMethodLength; + propertyLength += 3U; + if (pConnectProperties->outgoingAuth->authDataLength != 0U) + { + propertyLength += pConnectProperties->outgoingAuth->authDataLength; + propertyLength += 3U; + } + } } } } - } /*Get the length of the user properties*/ - if ((status == MQTTSuccess) && (pConnectProperties->outgoingUserPropSize != 0U)) { + if ((status == MQTTSuccess) && (pConnectProperties->outgoingUserPropSize != 0U)) + { status = MQTT_GetUserPropertySize(pConnectProperties->outgoingUserProperty, pConnectProperties->outgoingUserPropSize, &propertyLength); } /*Variable length encoded values cannot have valued more than 268435455U*/ - if ((status == MQTTSuccess) && (pConnectProperties->propertyLength > MQTT_MAX_REMAINING_LENGTH)) { + if ((status == MQTTSuccess) && (pConnectProperties->propertyLength > MQTT_MAX_REMAINING_LENGTH)) + { status = MQTTBadParameter; } - if(status==MQTTSuccess){ - pConnectProperties->propertyLength = propertyLength; + if (status == MQTTSuccess) + { + pConnectProperties->propertyLength = propertyLength; } return status; - } -static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillProperties) +static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillProperties) { size_t willLength = 0U; MQTTStatus_t status = MQTTSuccess; @@ -904,52 +910,61 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t* pWillPropertie } if (pWillProperties->contentTypeLength != 0U) { - if(pWillProperties->contentType==NULL){ - status= MQTTBadParameter; + if (pWillProperties->contentType == NULL) + { + status = MQTTBadParameter; } - else{ - willLength +=(pWillProperties->contentTypeLength); - willLength += 3U; + else + { + willLength += (pWillProperties->contentTypeLength); + willLength += 3U; } } /*Validate if length and pointers are valid*/ - if((status==MQTTSuccess) && (pWillProperties->responseTopicLength != 0U)){ - if(pWillProperties->responseTopic==NULL){ - status= MQTTBadParameter; + if ((status == MQTTSuccess) && (pWillProperties->responseTopicLength != 0U)) + { + if (pWillProperties->responseTopic == NULL) + { + status = MQTTBadParameter; } - else{ - willLength += (pWillProperties->responseTopicLength); - willLength += 3U; - + else + { + willLength += (pWillProperties->responseTopicLength); + willLength += 3U; } } - if ((status==MQTTSuccess) && (pWillProperties->correlationLength != 0U)) + if ((status == MQTTSuccess) && (pWillProperties->correlationLength != 0U)) { - if(pWillProperties->correlationData==NULL){ - status= MQTTBadParameter; + if (pWillProperties->correlationData == NULL) + { + status = MQTTBadParameter; } - else{ - willLength += (pWillProperties->correlationLength); - willLength += 3U; + else + { + willLength += (pWillProperties->correlationLength); + willLength += 3U; } } - /*Get the length of user properties*/ - if(status==MQTTSuccess){ + /*Get the length of user properties*/ + if (status == MQTTSuccess) + { status = MQTT_GetUserPropertySize(pWillProperties->userProperty, pWillProperties->userPropertySize, &willLength); } /*Variable encoded can't have a value more than 268435455UL*/ - if (willLength > MQTT_MAX_REMAINING_LENGTH) { + if (willLength > MQTT_MAX_REMAINING_LENGTH) + { status = MQTTBadParameter; } - if(status==MQTTSuccess){ - pWillProperties->propertyLength = willLength; + if (status == MQTTSuccess) + { + pWillProperties->propertyLength = willLength; } return status; } -uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex, const MQTTConnectProperties_t* pConnectProperties) +uint8_t *MQTT_SerializeConnectProperties(uint8_t *pIndex, const MQTTConnectProperties_t *pConnectProperties) { - uint8_t* pIndexLocal = pIndex; + uint8_t *pIndexLocal = pIndex; pIndexLocal = encodeRemainingLength(pIndexLocal, pConnectProperties->propertyLength); if (pConnectProperties->sessionExpiry != 0U) { @@ -978,7 +993,6 @@ uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex, const MQTTConnectPrope pIndexLocal[2] = UINT32_BYTE1(pConnectProperties->maxPacketSize); pIndexLocal[3] = UINT32_BYTE0(pConnectProperties->maxPacketSize); pIndexLocal = &pIndexLocal[4]; - } if (pConnectProperties->topicAliasMax != 0U) { @@ -1005,14 +1019,13 @@ uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex, const MQTTConnectPrope return pIndexLocal; } - -static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, - const MQTTPublishInfo_t* pWillInfo, - const MQTTConnectProperties_t* pConnectProperties, - size_t remainingLength, - const MQTTFixedBuffer_t* pFixedBuffer) +static void serializeConnectPacketV5(const MQTTConnectInfo_t *pConnectInfo, + const MQTTPublishInfo_t *pWillInfo, + const MQTTConnectProperties_t *pConnectProperties, + size_t remainingLength, + const MQTTFixedBuffer_t *pFixedBuffer) { - uint8_t* pIndex = NULL; + uint8_t *pIndex = NULL; assert(pConnectInfo != NULL); assert(pFixedBuffer != NULL); assert(pFixedBuffer->pBuffer != NULL); @@ -1020,84 +1033,83 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, pIndex = pFixedBuffer->pBuffer; /* Serialize the header. */ pIndex = MQTT_SerializeConnectFixedHeader(pIndex, - pConnectInfo, - pWillInfo, - remainingLength); + pConnectInfo, + pWillInfo, + remainingLength); /* Serialize the connect Properties. */ - pIndex= MQTT_SerializeConnectProperties(pIndex,pConnectProperties); + pIndex = MQTT_SerializeConnectProperties(pIndex, pConnectProperties); - if( pConnectProperties->outgoingUserPropSize > 0U){ - uint32_t i = 0; - uint32_t size = pConnectProperties->outgoingUserPropSize; - const MQTTUserProperty_t * pUserProperty = pConnectProperties->outgoingUserProperty; - for (; i < size; i++) - { - *pIndex = MQTT_USER_PROPERTY_ID; - pIndex++; - pIndex = encodeString(pIndex, pUserProperty[i].key, pUserProperty[i].keyLength); - pIndex = encodeString(pIndex, pUserProperty[i].value, pUserProperty[i].valueLength); - } + if (pConnectProperties->outgoingUserPropSize > 0U) + { + uint32_t i = 0; + uint32_t size = pConnectProperties->outgoingUserPropSize; + const MQTTUserProperty_t *pUserProperty = pConnectProperties->outgoingUserProperty; + for (; i < size; i++) + { + *pIndex = MQTT_USER_PROPERTY_ID; + pIndex++; + pIndex = encodeString(pIndex, pUserProperty[i].key, pUserProperty[i].keyLength); + pIndex = encodeString(pIndex, pUserProperty[i].value, pUserProperty[i].valueLength); + } } - - + if (pConnectProperties->outgoingAuth != NULL) { /* Serialize the authentication method string. */ *pIndex = MQTT_AUTH_METHOD_ID; pIndex++; - pIndex = encodeString(pIndex,pConnectProperties->outgoingAuth->authMethod,pConnectProperties->outgoingAuth->authMethodLength); + pIndex = encodeString(pIndex, pConnectProperties->outgoingAuth->authMethod, pConnectProperties->outgoingAuth->authMethodLength); if (pConnectProperties->outgoingAuth->authDataLength != 0U) { - *pIndex = MQTT_AUTH_DATA_ID; - pIndex++; - pIndex = encodeString(pIndex,pConnectProperties->outgoingAuth->authData,pConnectProperties->outgoingAuth->authDataLength); + *pIndex = MQTT_AUTH_DATA_ID; + pIndex++; + pIndex = encodeString(pIndex, pConnectProperties->outgoingAuth->authData, pConnectProperties->outgoingAuth->authDataLength); } } /* Write the client identifier into the CONNECT packet. */ pIndex = encodeString(pIndex, - pConnectInfo->pClientIdentifier, - pConnectInfo->clientIdentifierLength); + pConnectInfo->pClientIdentifier, + pConnectInfo->clientIdentifierLength); /* Serialze the will properties,topic name and message into the CONNECT packet if provided. */ if (pWillInfo != NULL) { - pIndex= MQTT_SerializePublishProperties(pWillInfo,pIndex); + pIndex = MQTT_SerializePublishProperties(pWillInfo, pIndex); if (pWillInfo->contentTypeLength != 0U) { - *pIndex = MQTT_CONTENT_TYPE_ID; - pIndex++; - pIndex = encodeString(pIndex,pWillInfo->contentType,pWillInfo->contentTypeLength); + *pIndex = MQTT_CONTENT_TYPE_ID; + pIndex++; + pIndex = encodeString(pIndex, pWillInfo->contentType, pWillInfo->contentTypeLength); } if (pWillInfo->responseTopicLength != 0U) { - *pIndex = MQTT_RESPONSE_TOPIC_ID; - pIndex++; - pIndex = encodeString(pIndex,pWillInfo->responseTopic,pWillInfo->responseTopicLength); + *pIndex = MQTT_RESPONSE_TOPIC_ID; + pIndex++; + pIndex = encodeString(pIndex, pWillInfo->responseTopic, pWillInfo->responseTopicLength); } if (pWillInfo->correlationLength != 0U) { - *pIndex = MQTT_CORRELATION_DATA_ID; - pIndex++; - pIndex = encodeString(pIndex,pWillInfo->correlationData,pWillInfo->correlationLength); + *pIndex = MQTT_CORRELATION_DATA_ID; + pIndex++; + pIndex = encodeString(pIndex, pWillInfo->correlationData, pWillInfo->correlationLength); } if (pWillInfo->userPropertySize != 0U) { uint32_t i = 0; uint32_t size = pWillInfo->userPropertySize; - const MQTTUserProperty_t * pUserProperty = pWillInfo->userProperty; + const MQTTUserProperty_t *pUserProperty = pWillInfo->userProperty; for (; i < size; i++) { *pIndex = MQTT_USER_PROPERTY_ID; pIndex++; - pIndex = encodeString(pIndex, pUserProperty[i].key, pUserProperty [i].keyLength); + pIndex = encodeString(pIndex, pUserProperty[i].key, pUserProperty[i].keyLength); pIndex = encodeString(pIndex, pUserProperty[i].value, pUserProperty[i].valueLength); } } - pIndex = encodeString(pIndex, pWillInfo->pTopicName,pWillInfo->topicNameLength); - pIndex = encodeString(pIndex,pWillInfo->pPayload,(uint16_t)pWillInfo->payloadLength); - + pIndex = encodeString(pIndex, pWillInfo->pTopicName, pWillInfo->topicNameLength); + pIndex = encodeString(pIndex, pWillInfo->pPayload, (uint16_t)pWillInfo->payloadLength); } /* Encode the user name if provided. */ if (pConnectInfo->pUserName != NULL) @@ -1112,19 +1124,18 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t* pConnectInfo, } LogDebug(("Length of serialized CONNECT packet is %lu.", - ((unsigned long)(pIndex - pFixedBuffer->pBuffer)))); + ((unsigned long)(pIndex - pFixedBuffer->pBuffer)))); /* Ensure that the difference between the end and beginning of the buffer * is less than the buffer size. */ assert(((size_t)(pIndex - pFixedBuffer->pBuffer)) <= pFixedBuffer->size); } - -MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, - const MQTTPublishInfo_t* pWillInfo, - const MQTTConnectProperties_t *pConnectProperties, - size_t remainingLength, - const MQTTFixedBuffer_t* pFixedBuffer) +MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t *pConnectInfo, + const MQTTPublishInfo_t *pWillInfo, + const MQTTConnectProperties_t *pConnectProperties, + size_t remainingLength, + const MQTTFixedBuffer_t *pFixedBuffer) { MQTTStatus_t status = MQTTSuccess; size_t connectPacketSize = 0; @@ -1133,9 +1144,9 @@ MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, if ((pConnectInfo == NULL) || (pFixedBuffer == NULL)) { LogError(("Argument cannot be NULL: pConnectInfo=%p, " - "pFixedBuffer=%p.", - (void*)pConnectInfo, - (void*)pFixedBuffer)); + "pFixedBuffer=%p.", + (void *)pConnectInfo, + (void *)pFixedBuffer)); status = MQTTBadParameter; } /* A buffer must be configured for serialization. */ @@ -1151,10 +1162,10 @@ MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, } else if (pConnectProperties == NULL) - { - LogError( ( "Argument cannot be NULL: connectProperties")); - status = MQTTBadParameter; - } + { + LogError(("Argument cannot be NULL: connectProperties")); + status = MQTTBadParameter; + } else { /* Calculate CONNECT packet size. Overflow in in this addition is not checked @@ -1166,101 +1177,101 @@ MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, if (connectPacketSize > pFixedBuffer->size) { LogError(("Buffer size of %lu is not sufficient to hold " - "serialized CONNECT packet of size of %lu.", - (unsigned long)pFixedBuffer->size, - (unsigned long)connectPacketSize)); + "serialized CONNECT packet of size of %lu.", + (unsigned long)pFixedBuffer->size, + (unsigned long)connectPacketSize)); status = MQTTNoMemory; } else { serializeConnectPacketV5(pConnectInfo, - pWillInfo, - pConnectProperties, - remainingLength, - pFixedBuffer); + pWillInfo, + pConnectProperties, + remainingLength, + pFixedBuffer); } - } return status; } - static MQTTStatus_t logConnackResponseV5(uint8_t responseCode){ - - MQTTStatus_t status= MQTTServerRefused; - switch(responseCode){ - case (uint8_t)MQTT_REASON_UNSPECIFIED_ERR : - LogError(("Connection refused: Unspecified error")); - break; - case (uint8_t)MQTT_REASON_MALFORMED_PACKET : - LogError(("Connection refused: Malformed Packet.")); - break; - case (uint8_t)MQTT_REASON_PROTOCOL_ERR: - LogError(("Connection refused: Protocol Error.")); - break; - case (uint8_t)MQTT_REASON_IMPL_SPECIFIC_ERR : - LogError(("Connection refused: Impementation specific error.")); - break; - case (uint8_t)MQTT_REASON_UNSUP_PROTO_VER : - LogError(("Connection refused: Unsupported Protocol Version.")); - break; - case (uint8_t)MQTT_REASON_CLIENT_ID_NOT_VALID : - LogError(( "Connection refused: Client Identifier not valid.")); - break; - case (uint8_t)MQTT_REASON_BAD_USER_OR_PASS : - LogError(("Connection refused: Bad User Name or Password.")); - break; - case (uint8_t)MQTT_REASON_NOT_AUTHORIZED : - LogError(("Connection refused: Not authorized.")); - break; - case (uint8_t) MQTT_REASON_SERVER_UNAVAILABLE : - LogError(("Connection refused: Server unavailable.")); - break; - case (uint8_t)MQTT_REASON_SERVER_BUSY : - LogError(("Connection refused: Server busy." )); - break; - case (uint8_t)MQTT_REASON_BANNED : - LogError(("Connection refused: Banned.")); - break; - case (uint8_t)MQTT_REASON_BAD_AUTH_METHOD : - LogError(("Connection refused: Bad authentication method.")); - break; - case(uint8_t) MQTT_REASON_TOPIC_NAME_INVALID : - LogError(("Connection refused: Topic Name invalid.")); - break; - case (uint8_t)MQTT_REASON_PACKET_TOO_LARGE : - LogError(("Connection refused: Packet too large .")); - break; - case (uint8_t) MQTT_REASON_QUOTA_EXCEEDED : - LogError(("Connection refused: Quota exceeded.")); - break; - case (uint8_t) MQTT_REASON_PAYLOAD_FORMAT_INVALID : - LogError(( "Connection refused: Payload format invalid." )); - break; - case (uint8_t) MQTT_REASON_RETAIN_NOT_SUPPORTED : - LogError(("Connection refused: Retain not supported.")); - break; - case (uint8_t) MQTT_REASON_QOS_NOT_SUPPORTED : - LogError(("Connection refused: QoS not supported.")); - break; - case (uint8_t) MQTT_REASON_USE_ANOTHER_SERVER : - LogError(("Connection refused: Use another server." )); - break; - case (uint8_t)MQTT_REASON_SERVER_MOVED : - LogError(("Connection refused: Server moved.")); - break; - case (uint8_t)MQTT_REASON_CON_RATE_EXCEED : - LogError(("Connection refused: Connection rate exceeded.")); - break; - default: - status= MQTTProtocolError; - break; +static MQTTStatus_t logConnackResponseV5(uint8_t responseCode) +{ + + MQTTStatus_t status = MQTTServerRefused; + switch (responseCode) + { + case (uint8_t)MQTT_REASON_UNSPECIFIED_ERR: + LogError(("Connection refused: Unspecified error")); + break; + case (uint8_t)MQTT_REASON_MALFORMED_PACKET: + LogError(("Connection refused: Malformed Packet.")); + break; + case (uint8_t)MQTT_REASON_PROTOCOL_ERR: + LogError(("Connection refused: Protocol Error.")); + break; + case (uint8_t)MQTT_REASON_IMPL_SPECIFIC_ERR: + LogError(("Connection refused: Impementation specific error.")); + break; + case (uint8_t)MQTT_REASON_UNSUP_PROTO_VER: + LogError(("Connection refused: Unsupported Protocol Version.")); + break; + case (uint8_t)MQTT_REASON_CLIENT_ID_NOT_VALID: + LogError(("Connection refused: Client Identifier not valid.")); + break; + case (uint8_t)MQTT_REASON_BAD_USER_OR_PASS: + LogError(("Connection refused: Bad User Name or Password.")); + break; + case (uint8_t)MQTT_REASON_NOT_AUTHORIZED: + LogError(("Connection refused: Not authorized.")); + break; + case (uint8_t)MQTT_REASON_SERVER_UNAVAILABLE: + LogError(("Connection refused: Server unavailable.")); + break; + case (uint8_t)MQTT_REASON_SERVER_BUSY: + LogError(("Connection refused: Server busy.")); + break; + case (uint8_t)MQTT_REASON_BANNED: + LogError(("Connection refused: Banned.")); + break; + case (uint8_t)MQTT_REASON_BAD_AUTH_METHOD: + LogError(("Connection refused: Bad authentication method.")); + break; + case (uint8_t)MQTT_REASON_TOPIC_NAME_INVALID: + LogError(("Connection refused: Topic Name invalid.")); + break; + case (uint8_t)MQTT_REASON_PACKET_TOO_LARGE: + LogError(("Connection refused: Packet too large .")); + break; + case (uint8_t)MQTT_REASON_QUOTA_EXCEEDED: + LogError(("Connection refused: Quota exceeded.")); + break; + case (uint8_t)MQTT_REASON_PAYLOAD_FORMAT_INVALID: + LogError(("Connection refused: Payload format invalid.")); + break; + case (uint8_t)MQTT_REASON_RETAIN_NOT_SUPPORTED: + LogError(("Connection refused: Retain not supported.")); + break; + case (uint8_t)MQTT_REASON_QOS_NOT_SUPPORTED: + LogError(("Connection refused: QoS not supported.")); + break; + case (uint8_t)MQTT_REASON_USE_ANOTHER_SERVER: + LogError(("Connection refused: Use another server.")); + break; + case (uint8_t)MQTT_REASON_SERVER_MOVED: + LogError(("Connection refused: Server moved.")); + break; + case (uint8_t)MQTT_REASON_CON_RATE_EXCEED: + LogError(("Connection refused: Connection rate exceeded.")); + break; + default: + status = MQTTProtocolError; + break; } return status; } - -static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacket, bool* pSessionPresent) +static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t *pIncomingPacket, bool *pSessionPresent) { MQTTStatus_t status = MQTTSuccess; @@ -1279,13 +1290,15 @@ static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacke LogError(("Remaining data of incoming packet is NULL.")); status = MQTTBadParameter; } - else if (pIncomingPacket->type != MQTT_PACKET_TYPE_CONNACK) { + else if (pIncomingPacket->type != MQTT_PACKET_TYPE_CONNACK) + { LogError(("Packet type is invalid.")); status = MQTTBadParameter; } - else { - const uint8_t* pRemainingData = NULL; + else + { + const uint8_t *pRemainingData = NULL; pRemainingData = pIncomingPacket->pRemainingData; if ((pRemainingData[0] | 0x01U) != 0x01U) { @@ -1297,8 +1310,7 @@ static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacke { /* Determine if the "Session Present" bit is set. This is the lowest bit of * the third byte in CONNACK. */ - if ((pRemainingData[0] & MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) - == MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) + if ((pRemainingData[0] & MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) == MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) { LogDebug(("CONNACK session present bit set.")); *pSessionPresent = true; @@ -1308,7 +1320,7 @@ static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacke if (pRemainingData[1] != 0U) { LogError(("Session Present bit is set, but connect return code in CONNACK is %u (nonzero).", - (unsigned int)pRemainingData[1])); + (unsigned int)pRemainingData[1])); status = MQTTBadResponse; } } @@ -1321,17 +1333,17 @@ static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t* pIncomingPacke if (status == MQTTSuccess) { - if(pRemainingData[1]!=0u){ - status= logConnackResponseV5(pRemainingData[1]); + if (pRemainingData[1] != 0u) + { + status = logConnackResponseV5(pRemainingData[1]); } - } } return status; } -static MQTTStatus_t decodeVariableLength(const uint8_t* pBuffer, size_t* length) +static MQTTStatus_t decodeVariableLength(const uint8_t *pBuffer, size_t *length) { size_t remainingLength = 0; size_t multiplier = 1; @@ -1359,12 +1371,11 @@ static MQTTStatus_t decodeVariableLength(const uint8_t* pBuffer, size_t* length) remainingLength += ((size_t)encodedByte & 0x7FU) * multiplier; multiplier *= 128U; bytesDecoded++; - } /* If the response is incorrect then * break out of the loop. */ - if (remainingLength == MQTT_REMAINING_LENGTH_INVALID) + if (remainingLength == MQTT_REMAINING_LENGTH_INVALID) { break; } @@ -1389,36 +1400,43 @@ static MQTTStatus_t decodeVariableLength(const uint8_t* pBuffer, size_t* length) return status; } -MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperties, const MQTTPacketInfo_t* pIncomingPacket, +MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t *pConnackProperties, const MQTTPacketInfo_t *pIncomingPacket, - bool* pSessionPresent) + bool *pSessionPresent) { MQTTStatus_t status = MQTTSuccess; size_t propertyLength; size_t remainingLengthSize; - uint8_t* pVariableHeader = NULL; - if(pConnackProperties==NULL){ - status=MQTTBadParameter; - } - if(status==MQTTSuccess){ - status = validateConnackParams(pIncomingPacket, pSessionPresent); - } - if (status == MQTTSuccess) { + uint8_t *pVariableHeader = NULL; + if (pConnackProperties == NULL) + { + status = MQTTBadParameter; + } + if (status == MQTTSuccess) + { + status = validateConnackParams(pIncomingPacket, pSessionPresent); + } + if (status == MQTTSuccess) + { pVariableHeader = pIncomingPacket->pRemainingData; pVariableHeader = &pVariableHeader[2]; remainingLengthSize = remainingLengthEncodedSize(pIncomingPacket->remainingLength); status = decodeVariableLength(pVariableHeader, &propertyLength); } - else{ - /* MISRA Empty body */ + else + { + /* MISRA Empty body */ } - if((status==MQTTSuccess) && (pConnackProperties->isMaxPacketSize==true) && ((pIncomingPacket->remainingLength + remainingLengthSize + 1U) > (pConnackProperties->maxPacketSize))){ - status= MQTTProtocolError; + if ((status == MQTTSuccess) && (pConnackProperties->isMaxPacketSize == true) && ((pIncomingPacket->remainingLength + remainingLengthSize + 1U) > (pConnackProperties->maxPacketSize))) + { + status = MQTTProtocolError; } - else if ((status == MQTTSuccess) && ((pIncomingPacket->remainingLength) != (2U + propertyLength + remainingLengthEncodedSize(propertyLength)))) { + else if ((status == MQTTSuccess) && ((pIncomingPacket->remainingLength) != (2U + propertyLength + remainingLengthEncodedSize(propertyLength)))) + { status = MQTTMalformedPacket; } - else if(status==MQTTSuccess){ + else if (status == MQTTSuccess) + { bool sessionExpiry = false; bool serverReceiveMax = false; bool maxQos = false; @@ -1435,112 +1453,138 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti bool serverRef = false; bool authMethod = false; bool authData = false; - MQTTUserProperty_t * userProperty = pConnackProperties->incomingUserProperty; - pVariableHeader=&pVariableHeader[remainingLengthEncodedSize(propertyLength)]; - while ((propertyLength > 0U) && (status == MQTTSuccess)) { + MQTTUserProperty_t *userProperty = pConnackProperties->incomingUserProperty; + pVariableHeader = &pVariableHeader[remainingLengthEncodedSize(propertyLength)]; + while ((propertyLength > 0U) && (status == MQTTSuccess)) + { uint8_t packetId = *pVariableHeader; pVariableHeader = &pVariableHeader[1]; propertyLength -= 1U; - switch (packetId) { + switch (packetId) + { case MQTT_SESSION_EXPIRY_ID: - if (sessionExpiry == true) { + if (sessionExpiry == true) + { status = MQTTProtocolError; } - else if (propertyLength < 4U) { + else if (propertyLength < 4U) + { status = MQTTMalformedPacket; } - else { + else + { pConnackProperties->sessionExpiry = UINT32_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint32_t)]; sessionExpiry = true; propertyLength -= 4U; } break; - case MQTT_RECEIVE_MAX_ID: - if (serverReceiveMax == true) { + case MQTT_RECEIVE_MAX_ID: + if (serverReceiveMax == true) + { status = MQTTProtocolError; } - else if (propertyLength < 2U) { + else if (propertyLength < 2U) + { status = MQTTMalformedPacket; } - else { + else + { pConnackProperties->serverReceiveMax = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; serverReceiveMax = true; propertyLength -= 2U; - if (pConnackProperties->serverReceiveMax == 0u) { + if (pConnackProperties->serverReceiveMax == 0u) + { status = MQTTProtocolError; } } break; case MQTT_MAX_QOS_ID: - if (maxQos == true) { + if (maxQos == true) + { status = MQTTProtocolError; } - else if (propertyLength < 1U) { + else if (propertyLength < 1U) + { status = MQTTMalformedPacket; } - else { + else + { pConnackProperties->serverMaxQos = *pVariableHeader; pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; maxQos = true; propertyLength -= 1U; - if (pConnackProperties->serverMaxQos > 1U) { + if (pConnackProperties->serverMaxQos > 1U) + { status = MQTTProtocolError; } } break; case MQTT_RETAIN_AVAILABLE_ID: - if (retain == true) { + if (retain == true) + { status = MQTTProtocolError; } - else if (propertyLength < 1U) { + else if (propertyLength < 1U) + { status = MQTTMalformedPacket; } - else { + else + { pConnackProperties->retainAvailable = *pVariableHeader; pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; retain = true; propertyLength -= 1U; - if (pConnackProperties->retainAvailable > 1U) { + if (pConnackProperties->retainAvailable > 1U) + { status = MQTTProtocolError; } } break; - case MQTT_MAX_PACKET_SIZE_ID: - if (maxPacket == true) { + case MQTT_MAX_PACKET_SIZE_ID: + if (maxPacket == true) + { status = MQTTProtocolError; } - else if (propertyLength < 4U) { + else if (propertyLength < 4U) + { status = MQTTMalformedPacket; } - else { + else + { pConnackProperties->serverMaxPacketSize = UINT32_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint32_t)]; maxPacket = true; propertyLength -= 4U; - if (pConnackProperties->serverMaxPacketSize == 0U) { + if (pConnackProperties->serverMaxPacketSize == 0U) + { status = MQTTProtocolError; } } break; - case MQTT_ASSIGNED_CLIENT_ID: - if (clientId == true) { + case MQTT_ASSIGNED_CLIENT_ID: + if (clientId == true) + { status = MQTTProtocolError; } - else if (propertyLength < 2U) { + else if (propertyLength < 2U) + { status = MQTTMalformedPacket; } - else { + else + { pConnackProperties->clientIdLength = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; propertyLength -= 2U; - if (propertyLength < pConnackProperties->clientIdLength) { + if (propertyLength < pConnackProperties->clientIdLength) + { status = MQTTMalformedPacket; } - else { - pConnackProperties->clientIdentifier = (const char*)pVariableHeader; + else + { + pConnackProperties->clientIdentifier = (const char *)pVariableHeader; pVariableHeader = &pVariableHeader[pConnackProperties->clientIdLength]; propertyLength -= pConnackProperties->clientIdLength; clientId = true; @@ -1548,14 +1592,17 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti } break; - case MQTT_TOPIC_ALIAS_MAX_ID: - if (topicAlias == true) { + case MQTT_TOPIC_ALIAS_MAX_ID: + if (topicAlias == true) + { status = MQTTProtocolError; } - else if (propertyLength < 2U) { + else if (propertyLength < 2U) + { status = MQTTMalformedPacket; } - else { + else + { pConnackProperties->serverTopicAliasMax = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; topicAlias = true; @@ -1563,21 +1610,26 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti } break; case MQTT_REASON_STRING_ID: - if (reasonString == true) { + if (reasonString == true) + { status = MQTTProtocolError; } - else if (propertyLength < 2U) { + else if (propertyLength < 2U) + { status = MQTTMalformedPacket; } - else { + else + { pConnackProperties->reasonStringLength = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; propertyLength -= 2U; - if (propertyLength < pConnackProperties->reasonStringLength) { + if (propertyLength < pConnackProperties->reasonStringLength) + { status = MQTTMalformedPacket; } - else { - pConnackProperties->reasonString = (const char*)pVariableHeader; + else + { + pConnackProperties->reasonString = (const char *)pVariableHeader; pVariableHeader = &pVariableHeader[pConnackProperties->reasonStringLength]; propertyLength -= pConnackProperties->reasonStringLength; reasonString = true; @@ -1585,100 +1637,131 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti } break; case MQTT_USER_PROPERTY_ID: - if (propertyLength < 2U) { + if (propertyLength < 2U) + { status = MQTTMalformedPacket; } - else { + else + { pConnackProperties->incomingUserPropSize++; userProperty->keyLength = UINT16_DECODE(pVariableHeader); propertyLength -= 2U; - if ((propertyLength - 2U) < (userProperty->keyLength)) { + if (propertyLength < userProperty->keyLength) + { status = MQTTMalformedPacket; } - else { - pVariableHeader=&pVariableHeader[sizeof(uint16_t)]; - userProperty->key = (const char*)pVariableHeader; - propertyLength-=userProperty->keyLength; - pVariableHeader = &pVariableHeader[ userProperty->keyLength]; + else + { + pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; + userProperty->key = (const char *)pVariableHeader; + propertyLength -= userProperty->keyLength; + pVariableHeader = &pVariableHeader[userProperty->keyLength]; userProperty->valueLength = UINT16_DECODE(pVariableHeader); - propertyLength -= 2U; - if (propertyLength < (size_t)(userProperty->valueLength)) { + if (propertyLength < 2U) + { status = MQTTMalformedPacket; } - else { - userProperty->value = (const char*)pVariableHeader; - pVariableHeader = &pVariableHeader[ userProperty->valueLength]; - propertyLength-=userProperty->valueLength; - userProperty++; + else + { + propertyLength -= 2U; + if (propertyLength < (size_t)(userProperty->valueLength)) + { + status = MQTTMalformedPacket; + } + else + { + userProperty->value = (const char *)pVariableHeader; + pVariableHeader = &pVariableHeader[userProperty->valueLength]; + propertyLength -= userProperty->valueLength; + userProperty++; + } } } } break; case MQTT_WILDCARD_ID: - if (wildcard == true) { + if (wildcard == true) + { status = MQTTProtocolError; } - else if (propertyLength < 1U) { + else if (propertyLength < 1U) + { status = MQTTMalformedPacket; } - else { - if (*pVariableHeader > 1U) { + else + { + if (*pVariableHeader > 1U) + { status = MQTTProtocolError; } - else{ - pConnackProperties->isWildcardAvaiable = *pVariableHeader; - pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; - propertyLength -= 1U; - wildcard = true; + else + { + pConnackProperties->isWildcardAvaiable = *pVariableHeader; + pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; + propertyLength -= 1U; + wildcard = true; } } break; case MQTT_SUB_AVAILABLE_ID: - if (subId == true) { + if (subId == true) + { status = MQTTProtocolError; } - else if (propertyLength < 1U) { + else if (propertyLength < 1U) + { status = MQTTMalformedPacket; } - else { - if (*pVariableHeader > 1U) { + else + { + if (*pVariableHeader > 1U) + { status = MQTTProtocolError; } - else{ - pConnackProperties->subscriptionId = *pVariableHeader; - pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; - propertyLength -= 1U; - subId = true; + else + { + pConnackProperties->subscriptionId = *pVariableHeader; + pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; + propertyLength -= 1U; + subId = true; } } break; case MQTT_SHARED_SUB_ID: - if (sharedsub == true) { + if (sharedsub == true) + { status = MQTTProtocolError; } - else if (propertyLength < 1U) { + else if (propertyLength < 1U) + { status = MQTTMalformedPacket; } - else { - if (*pVariableHeader > 1U) { - status = MQTTProtocolError; + else + { + if (*pVariableHeader > 1U) + { + status = MQTTProtocolError; } - else{ - pConnackProperties->isSharedAvailable = *pVariableHeader; - pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; - propertyLength -= 1U; - sharedsub = true; + else + { + pConnackProperties->isSharedAvailable = *pVariableHeader; + pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; + propertyLength -= 1U; + sharedsub = true; } } break; case MQTT_SERVER_KEEP_ALIVE_ID: - if (keepAlive == true) { + if (keepAlive == true) + { status = MQTTProtocolError; } - else if (propertyLength < 2U) { + else if (propertyLength < 2U) + { status = MQTTMalformedPacket; } - else { + else + { pConnackProperties->serverKeepAlive = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; propertyLength -= 2U; @@ -1686,80 +1769,96 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti } break; case MQTT_RESPONSE_INFO_ID: - if ((responseInfo == true) || (pConnackProperties->reqResInfo == false)) { + if ((responseInfo == true) || (pConnackProperties->reqResInfo == false)) + { status = MQTTProtocolError; } - else if (propertyLength < 2U) { + else if (propertyLength < 2U) + { status = MQTTMalformedPacket; } - else { + else + { pConnackProperties->responseInfoLength = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; propertyLength -= 2U; - if (propertyLength < pConnackProperties->responseInfoLength) { + if (propertyLength < pConnackProperties->responseInfoLength) + { status = MQTTMalformedPacket; } - pConnackProperties->responseInfo = (const char*)pVariableHeader; + pConnackProperties->responseInfo = (const char *)pVariableHeader; pVariableHeader = &pVariableHeader[pConnackProperties->responseInfoLength]; propertyLength -= pConnackProperties->responseInfoLength; responseInfo = true; } break; case MQTT_SERVER_REF_ID: - if (serverRef == true) { + if (serverRef == true) + { status = MQTTProtocolError; } - else if (propertyLength < 2U) { + else if (propertyLength < 2U) + { status = MQTTMalformedPacket; } - else { + else + { pConnackProperties->serverRefLength = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; propertyLength -= 2U; - if (propertyLength < pConnackProperties->serverRefLength) { + if (propertyLength < pConnackProperties->serverRefLength) + { status = MQTTMalformedPacket; } - pConnackProperties->serverRef = (const char*)pVariableHeader; + pConnackProperties->serverRef = (const char *)pVariableHeader; pVariableHeader = &pVariableHeader[pConnackProperties->serverRefLength]; propertyLength -= pConnackProperties->serverRefLength; serverRef = true; } break; case MQTT_AUTH_METHOD_ID: - if ((authMethod == true) || (pConnackProperties->outgoingAuth == NULL)) { + if ((authMethod == true) || (pConnackProperties->outgoingAuth == NULL)) + { status = MQTTProtocolError; } - else if (propertyLength < 2U) { + else if (propertyLength < 2U) + { status = MQTTMalformedPacket; } - else { + else + { pConnackProperties->incomingAuth->authMethodLength = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; propertyLength -= 2U; - if (propertyLength < pConnackProperties->incomingAuth->authMethodLength) { + if (propertyLength < pConnackProperties->incomingAuth->authMethodLength) + { status = MQTTMalformedPacket; } - pConnackProperties->incomingAuth->authMethod = (const char*)pVariableHeader; + pConnackProperties->incomingAuth->authMethod = (const char *)pVariableHeader; pVariableHeader = &pVariableHeader[pConnackProperties->incomingAuth->authMethodLength]; propertyLength -= pConnackProperties->incomingAuth->authMethodLength; authMethod = true; } break; case MQTT_AUTH_DATA_ID: - if ((authData == true) ||(pConnackProperties->outgoingAuth == NULL)) { + if ((authData == true) || (pConnackProperties->outgoingAuth == NULL)) + { status = MQTTProtocolError; } - else if (propertyLength < 2U) { + else if (propertyLength < 2U) + { status = MQTTMalformedPacket; } - else { + else + { pConnackProperties->incomingAuth->authDataLength = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; propertyLength -= 2U; - if (propertyLength < pConnackProperties->incomingAuth->authDataLength) { + if (propertyLength < pConnackProperties->incomingAuth->authDataLength) + { status = MQTTMalformedPacket; } - pConnackProperties->incomingAuth->authData = (const char*)pVariableHeader; + pConnackProperties->incomingAuth->authData = (const char *)pVariableHeader; pVariableHeader = &pVariableHeader[pConnackProperties->incomingAuth->authDataLength]; propertyLength -= pConnackProperties->incomingAuth->authDataLength; authData = true; @@ -1771,8 +1870,9 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti } } } - else{ - /* MISRA Empty body */ + else + { + /* MISRA Empty body */ } return status; } @@ -1780,14 +1880,14 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti #endif /*-----------------------------------------------------------*/ - static size_t remainingLengthEncodedSize(size_t length) +static size_t remainingLengthEncodedSize(size_t length) { size_t encodedSize; /* Determine how many bytes are needed to encode length. * The values below are taken from the MQTT 3.1.1 spec. */ - /* 1 byte is needed to encode lengths between 0 and 127. */ + /* 1 byte is needed to encode lengths between 0 and 127. */ if (length < 128U) { encodedSize = 1U; @@ -1809,19 +1909,19 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t* pConnackProperti } LogDebug(("Encoded size for length %lu is %lu bytes.", - (unsigned long)length, - (unsigned long)encodedSize)); + (unsigned long)length, + (unsigned long)encodedSize)); return encodedSize; } /*-----------------------------------------------------------*/ -static uint8_t* encodeRemainingLength(uint8_t* pDestination, - size_t length) +static uint8_t *encodeRemainingLength(uint8_t *pDestination, + size_t length) { uint8_t lengthByte; - uint8_t* pLengthEnd = NULL; + uint8_t *pLengthEnd = NULL; size_t remainingLength = length; assert(pDestination != NULL); @@ -1850,15 +1950,15 @@ static uint8_t* encodeRemainingLength(uint8_t* pDestination, /*-----------------------------------------------------------*/ -static uint8_t* encodeString(uint8_t* pDestination, - const char* pSource, - uint16_t sourceLength) +static uint8_t *encodeString(uint8_t *pDestination, + const char *pSource, + uint16_t sourceLength) { - uint8_t* pBuffer = NULL; + uint8_t *pBuffer = NULL; /* Typecast const char * typed source buffer to const uint8_t *. * This is to use same type buffers in memcpy. */ - const uint8_t* pSourceBuffer = (const uint8_t*)pSource; + const uint8_t *pSourceBuffer = (const uint8_t *)pSource; assert(pDestination != NULL); @@ -1886,9 +1986,9 @@ static uint8_t* encodeString(uint8_t* pDestination, /*-----------------------------------------------------------*/ -static bool calculatePublishPacketSize(const MQTTPublishInfo_t* pPublishInfo, - size_t* pRemainingLength, - size_t* pPacketSize) +static bool calculatePublishPacketSize(const MQTTPublishInfo_t *pPublishInfo, + size_t *pRemainingLength, + size_t *pPacketSize) { bool status = true; size_t packetSize = 0, payloadLimit = 0; @@ -1918,11 +2018,11 @@ static bool calculatePublishPacketSize(const MQTTPublishInfo_t* pPublishInfo, if (pPublishInfo->payloadLength > payloadLimit) { LogError(("PUBLISH payload length of %lu cannot exceed " - "%lu so as not to exceed the maximum " - "remaining length of MQTT 3.1.1 packet( %lu ).", - (unsigned long)pPublishInfo->payloadLength, - (unsigned long)payloadLimit, - MQTT_MAX_REMAINING_LENGTH)); + "%lu so as not to exceed the maximum " + "remaining length of MQTT 3.1.1 packet( %lu ).", + (unsigned long)pPublishInfo->payloadLength, + (unsigned long)payloadLimit, + MQTT_MAX_REMAINING_LENGTH)); status = false; } else @@ -1939,11 +2039,11 @@ static bool calculatePublishPacketSize(const MQTTPublishInfo_t* pPublishInfo, if (pPublishInfo->payloadLength > payloadLimit) { LogError(("PUBLISH payload length of %lu cannot exceed " - "%lu so as not to exceed the maximum " - "remaining length of MQTT 3.1.1 packet( %lu ).", - (unsigned long)pPublishInfo->payloadLength, - (unsigned long)payloadLimit, - MQTT_MAX_REMAINING_LENGTH)); + "%lu so as not to exceed the maximum " + "remaining length of MQTT 3.1.1 packet( %lu ).", + (unsigned long)pPublishInfo->payloadLength, + (unsigned long)payloadLimit, + MQTT_MAX_REMAINING_LENGTH)); status = false; } else @@ -1958,20 +2058,20 @@ static bool calculatePublishPacketSize(const MQTTPublishInfo_t* pPublishInfo, } LogDebug(("PUBLISH packet remaining length=%lu and packet size=%lu.", - (unsigned long)*pRemainingLength, - (unsigned long)*pPacketSize)); + (unsigned long)*pRemainingLength, + (unsigned long)*pPacketSize)); return status; } /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializePublishHeaderWithoutTopic(const MQTTPublishInfo_t* pPublishInfo, - size_t remainingLength, - uint8_t* pBuffer, - size_t* headerSize) +MQTTStatus_t MQTT_SerializePublishHeaderWithoutTopic(const MQTTPublishInfo_t *pPublishInfo, + size_t remainingLength, + uint8_t *pBuffer, + size_t *headerSize) { size_t headerLength; - uint8_t* pIndex; + uint8_t *pIndex; MQTTStatus_t status = MQTTSuccess; /* The first byte of a PUBLISH packet contains the packet type and flags. */ @@ -2033,14 +2133,14 @@ MQTTStatus_t MQTT_SerializePublishHeaderWithoutTopic(const MQTTPublishInfo_t* pP /*-----------------------------------------------------------*/ -static void serializePublishCommon(const MQTTPublishInfo_t* pPublishInfo, - size_t remainingLength, - uint16_t packetIdentifier, - const MQTTFixedBuffer_t* pFixedBuffer, - bool serializePayload) +static void serializePublishCommon(const MQTTPublishInfo_t *pPublishInfo, + size_t remainingLength, + uint16_t packetIdentifier, + const MQTTFixedBuffer_t *pFixedBuffer, + bool serializePayload) { - uint8_t* pIndex = NULL; - const uint8_t* pPayloadBuffer = NULL; + uint8_t *pIndex = NULL; + const uint8_t *pPayloadBuffer = NULL; /* The first byte of a PUBLISH packet contains the packet type and flags. */ uint8_t publishFlags = MQTT_PACKET_TYPE_PUBLISH; @@ -2091,8 +2191,8 @@ static void serializePublishCommon(const MQTTPublishInfo_t* pPublishInfo, /* The topic name is placed after the "Remaining length". */ pIndex = encodeString(pIndex, - pPublishInfo->pTopicName, - pPublishInfo->topicNameLength); + pPublishInfo->pTopicName, + pPublishInfo->topicNameLength); /* A packet identifier is required for QoS 1 and 2 messages. */ if (pPublishInfo->qos > MQTTQoS0) @@ -2112,11 +2212,11 @@ static void serializePublishCommon(const MQTTPublishInfo_t* pPublishInfo, (serializePayload == true)) { LogDebug(("Copying PUBLISH payload of length =%lu to buffer", - (unsigned long)pPublishInfo->payloadLength)); + (unsigned long)pPublishInfo->payloadLength)); /* Typecast const void * typed payload buffer to const uint8_t *. * This is to use same type buffers in memcpy. */ - pPayloadBuffer = (const uint8_t*)pPublishInfo->pPayload; + pPayloadBuffer = (const uint8_t *)pPublishInfo->pPayload; (void)memcpy(pIndex, pPayloadBuffer, pPublishInfo->payloadLength); /* Move the index to after the payload. */ @@ -2129,7 +2229,7 @@ static void serializePublishCommon(const MQTTPublishInfo_t* pPublishInfo, } static size_t getRemainingLength(TransportRecv_t recvFunc, - NetworkContext_t* pNetworkContext) + NetworkContext_t *pNetworkContext) { size_t remainingLength = 0, multiplier = 1, bytesDecoded = 0, expectedSize = 0; uint8_t encodedByte = 0; @@ -2180,9 +2280,9 @@ static size_t getRemainingLength(TransportRecv_t recvFunc, /*-----------------------------------------------------------*/ -static MQTTStatus_t processRemainingLength(const uint8_t* pBuffer, - const size_t* pIndex, - MQTTPacketInfo_t* pIncomingPacket) +static MQTTStatus_t processRemainingLength(const uint8_t *pBuffer, + const size_t *pIndex, + MQTTPacketInfo_t *pIncomingPacket) { size_t remainingLength = 0; size_t multiplier = 1; @@ -2283,7 +2383,7 @@ static bool incomingPacketValid(uint8_t packetType) /* Any other packet type is invalid. */ default: LogWarn(("Incoming packet invalid: Packet type=%u.", - (unsigned int)packetType)); + (unsigned int)packetType)); break; } @@ -2293,8 +2393,8 @@ static bool incomingPacketValid(uint8_t packetType) /*-----------------------------------------------------------*/ static MQTTStatus_t checkPublishRemainingLength(size_t remainingLength, - MQTTQoS_t qos, - size_t qos0Minimum) + MQTTQoS_t qos, + size_t qos0Minimum) { MQTTStatus_t status = MQTTSuccess; @@ -2305,7 +2405,7 @@ static MQTTStatus_t checkPublishRemainingLength(size_t remainingLength, if (remainingLength < qos0Minimum) { LogError(("QoS 0 PUBLISH cannot have a remaining length less than %lu.", - (unsigned long)qos0Minimum)); + (unsigned long)qos0Minimum)); status = MQTTBadResponse; } @@ -2318,7 +2418,7 @@ static MQTTStatus_t checkPublishRemainingLength(size_t remainingLength, if (remainingLength < (qos0Minimum + 2U)) { LogError(("QoS 1 or 2 PUBLISH cannot have a remaining length less than %lu.", - (unsigned long)(qos0Minimum + 2U))); + (unsigned long)(qos0Minimum + 2U))); status = MQTTBadResponse; } @@ -2330,7 +2430,7 @@ static MQTTStatus_t checkPublishRemainingLength(size_t remainingLength, /*-----------------------------------------------------------*/ static MQTTStatus_t processPublishFlags(uint8_t publishFlags, - MQTTPublishInfo_t* pPublishInfo) + MQTTPublishInfo_t *pPublishInfo) { MQTTStatus_t status = MQTTSuccess; @@ -2384,15 +2484,15 @@ static MQTTStatus_t processPublishFlags(uint8_t publishFlags, static void logConnackResponse(uint8_t responseCode) { - const char* const pConnackResponses[6] = - { - "Connection accepted.", /* 0 */ - "Connection refused: unacceptable protocol version.", /* 1 */ - "Connection refused: identifier rejected.", /* 2 */ - "Connection refused: server unavailable", /* 3 */ - "Connection refused: bad user name or password.", /* 4 */ - "Connection refused: not authorized." /* 5 */ - }; + const char *const pConnackResponses[6] = + { + "Connection accepted.", /* 0 */ + "Connection refused: unacceptable protocol version.", /* 1 */ + "Connection refused: identifier rejected.", /* 2 */ + "Connection refused: server unavailable", /* 3 */ + "Connection refused: bad user name or password.", /* 4 */ + "Connection refused: not authorized." /* 5 */ + }; /* Avoid unused parameter warning when assert and logs are disabled. */ (void)responseCode; @@ -2414,11 +2514,11 @@ static void logConnackResponse(uint8_t responseCode) /*-----------------------------------------------------------*/ -static MQTTStatus_t deserializeConnack(const MQTTPacketInfo_t* pConnack, - bool* pSessionPresent) +static MQTTStatus_t deserializeConnack(const MQTTPacketInfo_t *pConnack, + bool *pSessionPresent) { MQTTStatus_t status = MQTTSuccess; - const uint8_t* pRemainingData = NULL; + const uint8_t *pRemainingData = NULL; assert(pConnack != NULL); assert(pSessionPresent != NULL); @@ -2429,7 +2529,7 @@ static MQTTStatus_t deserializeConnack(const MQTTPacketInfo_t* pConnack, if (pConnack->remainingLength != MQTT_PACKET_CONNACK_REMAINING_LENGTH) { LogError(("CONNACK does not have remaining length of %u.", - (unsigned int)MQTT_PACKET_CONNACK_REMAINING_LENGTH)); + (unsigned int)MQTT_PACKET_CONNACK_REMAINING_LENGTH)); status = MQTTBadResponse; } @@ -2446,8 +2546,7 @@ static MQTTStatus_t deserializeConnack(const MQTTPacketInfo_t* pConnack, { /* Determine if the "Session Present" bit is set. This is the lowest bit of * the third byte in CONNACK. */ - if ((pRemainingData[0] & MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) - == MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) + if ((pRemainingData[0] & MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) == MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) { LogDebug(("CONNACK session present bit set.")); *pSessionPresent = true; @@ -2457,7 +2556,7 @@ static MQTTStatus_t deserializeConnack(const MQTTPacketInfo_t* pConnack, if (pRemainingData[1] != 0U) { LogError(("Session Present bit is set, but connect return code in CONNACK is %u (nonzero).", - (unsigned int)pRemainingData[1])); + (unsigned int)pRemainingData[1])); status = MQTTBadResponse; } } @@ -2474,7 +2573,7 @@ static MQTTStatus_t deserializeConnack(const MQTTPacketInfo_t* pConnack, if (pRemainingData[1] > 5U) { LogError(("CONNACK response %u is invalid.", - (unsigned int)pRemainingData[1])); + (unsigned int)pRemainingData[1])); status = MQTTBadResponse; } @@ -2497,11 +2596,11 @@ static MQTTStatus_t deserializeConnack(const MQTTPacketInfo_t* pConnack, /*-----------------------------------------------------------*/ -static MQTTStatus_t calculateSubscriptionPacketSize(const MQTTSubscribeInfo_t* pSubscriptionList, - size_t subscriptionCount, - size_t* pRemainingLength, - size_t* pPacketSize, - MQTTSubscriptionType_t subscriptionType) +static MQTTStatus_t calculateSubscriptionPacketSize(const MQTTSubscribeInfo_t *pSubscriptionList, + size_t subscriptionCount, + size_t *pRemainingLength, + size_t *pPacketSize, + MQTTSubscriptionType_t subscriptionType) { MQTTStatus_t status = MQTTSuccess; size_t i = 0, packetSize = 0; @@ -2535,8 +2634,8 @@ static MQTTStatus_t calculateSubscriptionPacketSize(const MQTTSubscribeInfo_t* p { status = MQTTBadParameter; LogError(("Subscription #%lu in %sSUBSCRIBE packet cannot be empty.", - (unsigned long)i, - (subscriptionType == MQTT_SUBSCRIBE) ? "" : "UN")); + (unsigned long)i, + (subscriptionType == MQTT_SUBSCRIBE) ? "" : "UN")); /* It is not necessary to break as an error status has already been set. */ } } @@ -2547,9 +2646,9 @@ static MQTTStatus_t calculateSubscriptionPacketSize(const MQTTSubscribeInfo_t* p if (packetSize > MQTT_MAX_REMAINING_LENGTH) { LogError(("Subscription packet length of %lu exceeds" - "the MQTT 3.1.1 maximum packet length of %lu.", - (unsigned long)packetSize, - MQTT_MAX_REMAINING_LENGTH)); + "the MQTT 3.1.1 maximum packet length of %lu.", + (unsigned long)packetSize, + MQTT_MAX_REMAINING_LENGTH)); status = MQTTBadParameter; } @@ -2567,8 +2666,8 @@ static MQTTStatus_t calculateSubscriptionPacketSize(const MQTTSubscribeInfo_t* p } LogDebug(("Subscription packet remaining length=%lu and packet size=%lu.", - (unsigned long)*pRemainingLength, - (unsigned long)*pPacketSize)); + (unsigned long)*pRemainingLength, + (unsigned long)*pPacketSize)); return status; } @@ -2576,7 +2675,7 @@ static MQTTStatus_t calculateSubscriptionPacketSize(const MQTTSubscribeInfo_t* p /*-----------------------------------------------------------*/ static MQTTStatus_t readSubackStatus(size_t statusCount, - const uint8_t* pStatusStart) + const uint8_t *pStatusStart) { MQTTStatus_t status = MQTTSuccess; uint8_t subscriptionStatus = 0; @@ -2598,8 +2697,8 @@ static MQTTStatus_t readSubackStatus(size_t statusCount, case 0x02: LogDebug(("Topic filter %lu accepted, max QoS %u.", - (unsigned long)i, - (unsigned int)subscriptionStatus)); + (unsigned long)i, + (unsigned int)subscriptionStatus)); break; case 0x80: @@ -2613,7 +2712,7 @@ static MQTTStatus_t readSubackStatus(size_t statusCount, default: LogError(("Bad SUBSCRIBE status %u.", - (unsigned int)subscriptionStatus)); + (unsigned int)subscriptionStatus)); status = MQTTBadResponse; @@ -2632,12 +2731,12 @@ static MQTTStatus_t readSubackStatus(size_t statusCount, /*-----------------------------------------------------------*/ -static MQTTStatus_t deserializeSuback(const MQTTPacketInfo_t* pSuback, - uint16_t* pPacketIdentifier) +static MQTTStatus_t deserializeSuback(const MQTTPacketInfo_t *pSuback, + uint16_t *pPacketIdentifier) { MQTTStatus_t status = MQTTSuccess; size_t remainingLength; - const uint8_t* pVariableHeader = NULL; + const uint8_t *pVariableHeader = NULL; assert(pSuback != NULL); assert(pPacketIdentifier != NULL); @@ -2658,7 +2757,7 @@ static MQTTStatus_t deserializeSuback(const MQTTPacketInfo_t* pSuback, *pPacketIdentifier = UINT16_DECODE(pVariableHeader); LogDebug(("Packet identifier %hu.", - (unsigned short)*pPacketIdentifier)); + (unsigned short)*pPacketIdentifier)); if (*pPacketIdentifier == 0U) { @@ -2667,7 +2766,7 @@ static MQTTStatus_t deserializeSuback(const MQTTPacketInfo_t* pSuback, else { status = readSubackStatus(remainingLength - sizeof(uint16_t), - &pVariableHeader[sizeof(uint16_t)]); + &pVariableHeader[sizeof(uint16_t)]); } } @@ -2676,11 +2775,11 @@ static MQTTStatus_t deserializeSuback(const MQTTPacketInfo_t* pSuback, /*-----------------------------------------------------------*/ -static MQTTStatus_t validateSubscriptionSerializeParams(const MQTTSubscribeInfo_t* pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t* pFixedBuffer) +static MQTTStatus_t validateSubscriptionSerializeParams(const MQTTSubscribeInfo_t *pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t *pFixedBuffer) { MQTTStatus_t status = MQTTSuccess; size_t packetSize = 0; @@ -2689,9 +2788,9 @@ static MQTTStatus_t validateSubscriptionSerializeParams(const MQTTSubscribeInfo_ if ((pFixedBuffer == NULL) || (pSubscriptionList == NULL)) { LogError(("Argument cannot be NULL: pFixedBuffer=%p, " - "pSubscriptionList=%p.", - (void*)pFixedBuffer, - (void*)pSubscriptionList)); + "pSubscriptionList=%p.", + (void *)pFixedBuffer, + (void *)pSubscriptionList)); status = MQTTBadParameter; } /* A buffer must be configured for serialization. */ @@ -2715,15 +2814,14 @@ static MQTTStatus_t validateSubscriptionSerializeParams(const MQTTSubscribeInfo_ /* The serialized packet size = First byte * + length of encoded size of remaining length * + remaining length. */ - packetSize = 1U + remainingLengthEncodedSize(remainingLength) - + remainingLength; + packetSize = 1U + remainingLengthEncodedSize(remainingLength) + remainingLength; if (packetSize > pFixedBuffer->size) { LogError(("Buffer size of %lu is not sufficient to hold " - "serialized packet of size of %lu.", - (unsigned long)pFixedBuffer->size, - (unsigned long)packetSize)); + "serialized packet of size of %lu.", + (unsigned long)pFixedBuffer->size, + (unsigned long)packetSize)); status = MQTTNoMemory; } } @@ -2733,12 +2831,12 @@ static MQTTStatus_t validateSubscriptionSerializeParams(const MQTTSubscribeInfo_ /*-----------------------------------------------------------*/ -static MQTTStatus_t deserializePublish(const MQTTPacketInfo_t* pIncomingPacket, - uint16_t* pPacketId, - MQTTPublishInfo_t* pPublishInfo) +static MQTTStatus_t deserializePublish(const MQTTPacketInfo_t *pIncomingPacket, + uint16_t *pPacketId, + MQTTPublishInfo_t *pPublishInfo) { MQTTStatus_t status = MQTTSuccess; - const uint8_t* pVariableHeader, * pPacketIdentifierHigh = NULL; + const uint8_t *pVariableHeader, *pPacketIdentifierHigh = NULL; assert(pIncomingPacket != NULL); assert(pPacketId != NULL); @@ -2757,8 +2855,8 @@ static MQTTStatus_t deserializePublish(const MQTTPacketInfo_t* pIncomingPacket, * at least 5 for the packet identifier in addition to the topic name length and * topic name. */ status = checkPublishRemainingLength(pIncomingPacket->remainingLength, - pPublishInfo->qos, - MQTT_MIN_PUBLISH_REMAINING_LENGTH_QOS0); + pPublishInfo->qos, + MQTT_MIN_PUBLISH_REMAINING_LENGTH_QOS0); } if (status == MQTTSuccess) @@ -2770,26 +2868,26 @@ static MQTTStatus_t deserializePublish(const MQTTPacketInfo_t* pIncomingPacket, /* Sanity checks for topic name length and "Remaining length". The remaining * length must be at least as large as the variable length header. */ status = checkPublishRemainingLength(pIncomingPacket->remainingLength, - pPublishInfo->qos, - pPublishInfo->topicNameLength + sizeof(uint16_t)); + pPublishInfo->qos, + pPublishInfo->topicNameLength + sizeof(uint16_t)); } if (status == MQTTSuccess) { /* Parse the topic. */ - pPublishInfo->pTopicName = (const char*)(&pVariableHeader[sizeof(uint16_t)]); + pPublishInfo->pTopicName = (const char *)(&pVariableHeader[sizeof(uint16_t)]); LogDebug(("Topic name length: %hu.", (unsigned short)pPublishInfo->topicNameLength)); /* Extract the packet identifier for QoS 1 or 2 PUBLISH packets. Packet * identifier starts immediately after the topic name. */ - pPacketIdentifierHigh = (const uint8_t*)(&pPublishInfo->pTopicName[pPublishInfo->topicNameLength]); + pPacketIdentifierHigh = (const uint8_t *)(&pPublishInfo->pTopicName[pPublishInfo->topicNameLength]); if (pPublishInfo->qos > MQTTQoS0) { *pPacketId = UINT16_DECODE(pPacketIdentifierHigh); LogDebug(("Packet identifier %hu.", - (unsigned short)*pPacketId)); + (unsigned short)*pPacketId)); /* Advance pointer two bytes to start of payload as in the QoS 0 case. */ pPacketIdentifierHigh = &pPacketIdentifierHigh[sizeof(uint16_t)]; @@ -2819,7 +2917,7 @@ static MQTTStatus_t deserializePublish(const MQTTPacketInfo_t* pIncomingPacket, pPublishInfo->pPayload = (pPublishInfo->payloadLength != 0U) ? pPacketIdentifierHigh : NULL; LogDebug(("Payload length %lu.", - (unsigned long)pPublishInfo->payloadLength)); + (unsigned long)pPublishInfo->payloadLength)); } return status; @@ -2827,8 +2925,8 @@ static MQTTStatus_t deserializePublish(const MQTTPacketInfo_t* pIncomingPacket, /*-----------------------------------------------------------*/ -static MQTTStatus_t deserializeSimpleAck(const MQTTPacketInfo_t* pAck, - uint16_t* pPacketIdentifier) +static MQTTStatus_t deserializeSimpleAck(const MQTTPacketInfo_t *pAck, + uint16_t *pPacketIdentifier) { MQTTStatus_t status = MQTTSuccess; @@ -2839,7 +2937,7 @@ static MQTTStatus_t deserializeSimpleAck(const MQTTPacketInfo_t* pAck, if (pAck->remainingLength != MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH) { LogError(("ACK does not have remaining length of %u.", - (unsigned int)MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH)); + (unsigned int)MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH)); status = MQTTBadResponse; } @@ -2849,7 +2947,7 @@ static MQTTStatus_t deserializeSimpleAck(const MQTTPacketInfo_t* pAck, *pPacketIdentifier = UINT16_DECODE(pAck->pRemainingData); LogDebug(("Packet identifier %hu.", - (unsigned short)*pPacketIdentifier)); + (unsigned short)*pPacketIdentifier)); /* Packet identifier cannot be 0. */ if (*pPacketIdentifier == 0U) @@ -2864,7 +2962,7 @@ static MQTTStatus_t deserializeSimpleAck(const MQTTPacketInfo_t* pAck, /*-----------------------------------------------------------*/ -static MQTTStatus_t deserializePingresp(const MQTTPacketInfo_t* pPingresp) +static MQTTStatus_t deserializePingresp(const MQTTPacketInfo_t *pPingresp) { MQTTStatus_t status = MQTTSuccess; @@ -2874,7 +2972,7 @@ static MQTTStatus_t deserializePingresp(const MQTTPacketInfo_t* pPingresp) if (pPingresp->remainingLength != MQTT_PACKET_PINGRESP_REMAINING_LENGTH) { LogError(("PINGRESP does not have remaining length of %u.", - MQTT_PACKET_PINGRESP_REMAINING_LENGTH)); + MQTT_PACKET_PINGRESP_REMAINING_LENGTH)); status = MQTTBadResponse; } @@ -2882,12 +2980,12 @@ static MQTTStatus_t deserializePingresp(const MQTTPacketInfo_t* pPingresp) return status; } -uint8_t* MQTT_SerializeConnectFixedHeader(uint8_t* pIndex, - const MQTTConnectInfo_t* pConnectInfo, - const MQTTPublishInfo_t* pWillInfo, - size_t remainingLength) +uint8_t *MQTT_SerializeConnectFixedHeader(uint8_t *pIndex, + const MQTTConnectInfo_t *pConnectInfo, + const MQTTPublishInfo_t *pWillInfo, + size_t remainingLength) { - uint8_t* pIndexLocal = pIndex; + uint8_t *pIndexLocal = pIndex; uint8_t connectFlags = 0U; /* The first byte in the CONNECT packet is the control packet type. */ @@ -2905,7 +3003,7 @@ uint8_t* MQTT_SerializeConnectFixedHeader(uint8_t* pIndex, pIndexLocal = encodeString(pIndexLocal, "MQTT", 4); /* The MQTT protocol version is the second field of the variable header. */ -#if(MQTT_VERSION_5_ENABLED) +#if (MQTT_VERSION_5_ENABLED) *pIndexLocal = MQTT_VERSION_5; #else *pIndexLocal = MQTT_VERSION_3_1_1; @@ -2966,12 +3064,12 @@ uint8_t* MQTT_SerializeConnectFixedHeader(uint8_t* pIndex, } /*-----------------------------------------------------------*/ -static void serializeConnectPacket(const MQTTConnectInfo_t* pConnectInfo, - const MQTTPublishInfo_t* pWillInfo, - size_t remainingLength, - const MQTTFixedBuffer_t* pFixedBuffer) +static void serializeConnectPacket(const MQTTConnectInfo_t *pConnectInfo, + const MQTTPublishInfo_t *pWillInfo, + size_t remainingLength, + const MQTTFixedBuffer_t *pFixedBuffer) { - uint8_t* pIndex = NULL; + uint8_t *pIndex = NULL; assert(pConnectInfo != NULL); assert(pFixedBuffer != NULL); @@ -2981,26 +3079,25 @@ static void serializeConnectPacket(const MQTTConnectInfo_t* pConnectInfo, /* Serialize the header. */ pIndex = MQTT_SerializeConnectFixedHeader(pIndex, - pConnectInfo, - pWillInfo, - remainingLength); - + pConnectInfo, + pWillInfo, + remainingLength); /* Write the client identifier into the CONNECT packet. */ pIndex = encodeString(pIndex, - pConnectInfo->pClientIdentifier, - pConnectInfo->clientIdentifierLength); + pConnectInfo->pClientIdentifier, + pConnectInfo->clientIdentifierLength); /* Write the will topic name and message into the CONNECT packet if provided. */ if (pWillInfo != NULL) { pIndex = encodeString(pIndex, - pWillInfo->pTopicName, - pWillInfo->topicNameLength); + pWillInfo->pTopicName, + pWillInfo->topicNameLength); pIndex = encodeString(pIndex, - pWillInfo->pPayload, - (uint16_t)pWillInfo->payloadLength); + pWillInfo->pPayload, + (uint16_t)pWillInfo->payloadLength); } /* Encode the user name if provided. */ @@ -3016,7 +3113,7 @@ static void serializeConnectPacket(const MQTTConnectInfo_t* pConnectInfo, } LogDebug(("Length of serialized CONNECT packet is %lu.", - ((unsigned long)(pIndex - pFixedBuffer->pBuffer)))); + ((unsigned long)(pIndex - pFixedBuffer->pBuffer)))); /* Ensure that the difference between the end and beginning of the buffer * is less than the buffer size. */ @@ -3025,10 +3122,10 @@ static void serializeConnectPacket(const MQTTConnectInfo_t* pConnectInfo, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, - const MQTTPublishInfo_t* pWillInfo, - size_t* pRemainingLength, - size_t* pPacketSize) +MQTTStatus_t MQTT_GetConnectPacketSize(const MQTTConnectInfo_t *pConnectInfo, + const MQTTPublishInfo_t *pWillInfo, + size_t *pRemainingLength, + size_t *pPacketSize) { MQTTStatus_t status = MQTTSuccess; size_t remainingLength; @@ -3041,10 +3138,10 @@ MQTTStatus_t MQTT_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, (pPacketSize == NULL)) { LogError(("Argument cannot be NULL: pConnectInfo=%p, " - "pRemainingLength=%p, pPacketSize=%p.", - (void*)pConnectInfo, - (void*)pRemainingLength, - (void*)pPacketSize)); + "pRemainingLength=%p, pPacketSize=%p.", + (void *)pConnectInfo, + (void *)pRemainingLength, + (void *)pPacketSize)); status = MQTTBadParameter; } else if ((pConnectInfo->clientIdentifierLength == 0U) || (pConnectInfo->pClientIdentifier == NULL)) @@ -3060,9 +3157,9 @@ MQTTStatus_t MQTT_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, * By bounding the payloadLength of the will message, the CONNECT * packet will never be larger than 327699 bytes. */ LogError(("The Will Message length must not exceed %d. " - "pWillInfo->payloadLength=%lu.", - UINT16_MAX, - (unsigned long)pWillInfo->payloadLength)); + "pWillInfo->payloadLength=%lu.", + UINT16_MAX, + (unsigned long)pWillInfo->payloadLength)); status = MQTTBadParameter; } else @@ -3074,7 +3171,7 @@ MQTTStatus_t MQTT_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, if (pWillInfo != NULL) { connectPacketSize += pWillInfo->topicNameLength + sizeof(uint16_t) + - pWillInfo->payloadLength + sizeof(uint16_t); + pWillInfo->payloadLength + sizeof(uint16_t); } /* Add the lengths of the user name and password if provided. */ @@ -3116,8 +3213,8 @@ MQTTStatus_t MQTT_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, *pPacketSize = connectPacketSize; LogDebug(("CONNECT packet remaining length=%lu and packet size=%lu.", - (unsigned long)*pRemainingLength, - (unsigned long)*pPacketSize)); + (unsigned long)*pRemainingLength, + (unsigned long)*pPacketSize)); } return status; @@ -3125,10 +3222,10 @@ MQTTStatus_t MQTT_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, - const MQTTPublishInfo_t* pWillInfo, - size_t remainingLength, - const MQTTFixedBuffer_t* pFixedBuffer) +MQTTStatus_t MQTT_SerializeConnect(const MQTTConnectInfo_t *pConnectInfo, + const MQTTPublishInfo_t *pWillInfo, + size_t remainingLength, + const MQTTFixedBuffer_t *pFixedBuffer) { MQTTStatus_t status = MQTTSuccess; size_t connectPacketSize = 0; @@ -3137,9 +3234,9 @@ MQTTStatus_t MQTT_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, if ((pConnectInfo == NULL) || (pFixedBuffer == NULL)) { LogError(("Argument cannot be NULL: pConnectInfo=%p, " - "pFixedBuffer=%p.", - (void*)pConnectInfo, - (void*)pFixedBuffer)); + "pFixedBuffer=%p.", + (void *)pConnectInfo, + (void *)pFixedBuffer)); status = MQTTBadParameter; } /* A buffer must be configured for serialization. */ @@ -3164,17 +3261,17 @@ MQTTStatus_t MQTT_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, if (connectPacketSize > pFixedBuffer->size) { LogError(("Buffer size of %lu is not sufficient to hold " - "serialized CONNECT packet of size of %lu.", - (unsigned long)pFixedBuffer->size, - (unsigned long)connectPacketSize)); + "serialized CONNECT packet of size of %lu.", + (unsigned long)pFixedBuffer->size, + (unsigned long)connectPacketSize)); status = MQTTNoMemory; } else { serializeConnectPacket(pConnectInfo, - pWillInfo, - remainingLength, - pFixedBuffer); + pWillInfo, + remainingLength, + pFixedBuffer); } } @@ -3183,10 +3280,10 @@ MQTTStatus_t MQTT_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetSubscribePacketSize(const MQTTSubscribeInfo_t* pSubscriptionList, - size_t subscriptionCount, - size_t* pRemainingLength, - size_t* pPacketSize) +MQTTStatus_t MQTT_GetSubscribePacketSize(const MQTTSubscribeInfo_t *pSubscriptionList, + size_t subscriptionCount, + size_t *pRemainingLength, + size_t *pPacketSize) { MQTTStatus_t status = MQTTSuccess; @@ -3195,10 +3292,10 @@ MQTTStatus_t MQTT_GetSubscribePacketSize(const MQTTSubscribeInfo_t* pSubscriptio (pPacketSize == NULL)) { LogError(("Argument cannot be NULL: pSubscriptionList=%p, " - "pRemainingLength=%p, pPacketSize=%p.", - (void*)pSubscriptionList, - (void*)pRemainingLength, - (void*)pPacketSize)); + "pRemainingLength=%p, pPacketSize=%p.", + (void *)pSubscriptionList, + (void *)pRemainingLength, + (void *)pPacketSize)); status = MQTTBadParameter; } else if (subscriptionCount == 0U) @@ -3210,10 +3307,10 @@ MQTTStatus_t MQTT_GetSubscribePacketSize(const MQTTSubscribeInfo_t* pSubscriptio { /* Calculate the MQTT SUBSCRIBE packet size. */ status = calculateSubscriptionPacketSize(pSubscriptionList, - subscriptionCount, - pRemainingLength, - pPacketSize, - MQTT_SUBSCRIBE); + subscriptionCount, + pRemainingLength, + pPacketSize, + MQTT_SUBSCRIBE); } return status; @@ -3221,11 +3318,11 @@ MQTTStatus_t MQTT_GetSubscribePacketSize(const MQTTSubscribeInfo_t* pSubscriptio /*-----------------------------------------------------------*/ -uint8_t* MQTT_SerializeSubscribeHeader(size_t remainingLength, - uint8_t* pIndex, - uint16_t packetId) +uint8_t *MQTT_SerializeSubscribeHeader(size_t remainingLength, + uint8_t *pIndex, + uint16_t packetId) { - uint8_t* pIterator = pIndex; + uint8_t *pIterator = pIndex; /* The first byte in SUBSCRIBE is the packet type. */ *pIterator = MQTT_PACKET_TYPE_SUBSCRIBE; @@ -3245,11 +3342,11 @@ uint8_t* MQTT_SerializeSubscribeHeader(size_t remainingLength, /*-----------------------------------------------------------*/ -uint8_t* MQTT_SerializeUnsubscribeHeader(size_t remainingLength, - uint8_t* pIndex, - uint16_t packetId) +uint8_t *MQTT_SerializeUnsubscribeHeader(size_t remainingLength, + uint8_t *pIndex, + uint16_t packetId) { - uint8_t* pIterator = pIndex; + uint8_t *pIterator = pIndex; /* The first byte in UNSUBSCRIBE is the packet type. */ *pIterator = MQTT_PACKET_TYPE_UNSUBSCRIBE; @@ -3267,37 +3364,37 @@ uint8_t* MQTT_SerializeUnsubscribeHeader(size_t remainingLength, return pIterator; } -MQTTStatus_t MQTT_SerializeSubscribe(const MQTTSubscribeInfo_t* pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t* pFixedBuffer) +MQTTStatus_t MQTT_SerializeSubscribe(const MQTTSubscribeInfo_t *pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t *pFixedBuffer) { size_t i = 0; - uint8_t* pIndex = NULL; + uint8_t *pIndex = NULL; /* Validate all the parameters. */ MQTTStatus_t status = validateSubscriptionSerializeParams(pSubscriptionList, - subscriptionCount, - packetId, - remainingLength, - pFixedBuffer); + subscriptionCount, + packetId, + remainingLength, + pFixedBuffer); if (status == MQTTSuccess) { pIndex = pFixedBuffer->pBuffer; pIndex = MQTT_SerializeSubscribeHeader(remainingLength, - pIndex, - packetId); + pIndex, + packetId); /* Serialize each subscription topic filter and QoS. */ for (i = 0; i < subscriptionCount; i++) { pIndex = encodeString(pIndex, - pSubscriptionList[i].pTopicFilter, - pSubscriptionList[i].topicFilterLength); + pSubscriptionList[i].pTopicFilter, + pSubscriptionList[i].topicFilterLength); /* Place the QoS in the SUBSCRIBE packet. */ *pIndex = (uint8_t)(pSubscriptionList[i].qos); @@ -3305,7 +3402,7 @@ MQTTStatus_t MQTT_SerializeSubscribe(const MQTTSubscribeInfo_t* pSubscriptionLis } LogDebug(("Length of serialized SUBSCRIBE packet is %lu.", - ((unsigned long)(pIndex - pFixedBuffer->pBuffer)))); + ((unsigned long)(pIndex - pFixedBuffer->pBuffer)))); } return status; @@ -3313,10 +3410,10 @@ MQTTStatus_t MQTT_SerializeSubscribe(const MQTTSubscribeInfo_t* pSubscriptionLis /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetUnsubscribePacketSize(const MQTTSubscribeInfo_t* pSubscriptionList, - size_t subscriptionCount, - size_t* pRemainingLength, - size_t* pPacketSize) +MQTTStatus_t MQTT_GetUnsubscribePacketSize(const MQTTSubscribeInfo_t *pSubscriptionList, + size_t subscriptionCount, + size_t *pRemainingLength, + size_t *pPacketSize) { MQTTStatus_t status = MQTTSuccess; @@ -3325,10 +3422,10 @@ MQTTStatus_t MQTT_GetUnsubscribePacketSize(const MQTTSubscribeInfo_t* pSubscript (pPacketSize == NULL)) { LogError(("Argument cannot be NULL: pSubscriptionList=%p, " - "pRemainingLength=%p, pPacketSize=%p.", - (void*)pSubscriptionList, - (void*)pRemainingLength, - (void*)pPacketSize)); + "pRemainingLength=%p, pPacketSize=%p.", + (void *)pSubscriptionList, + (void *)pRemainingLength, + (void *)pPacketSize)); status = MQTTBadParameter; } else if (subscriptionCount == 0U) @@ -3340,10 +3437,10 @@ MQTTStatus_t MQTT_GetUnsubscribePacketSize(const MQTTSubscribeInfo_t* pSubscript { /* Calculate the MQTT UNSUBSCRIBE packet size. */ status = calculateSubscriptionPacketSize(pSubscriptionList, - subscriptionCount, - pRemainingLength, - pPacketSize, - MQTT_UNSUBSCRIBE); + subscriptionCount, + pRemainingLength, + pPacketSize, + MQTT_UNSUBSCRIBE); } return status; @@ -3351,22 +3448,22 @@ MQTTStatus_t MQTT_GetUnsubscribePacketSize(const MQTTSubscribeInfo_t* pSubscript /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializeUnsubscribe(const MQTTSubscribeInfo_t* pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t* pFixedBuffer) +MQTTStatus_t MQTT_SerializeUnsubscribe(const MQTTSubscribeInfo_t *pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t *pFixedBuffer) { MQTTStatus_t status = MQTTSuccess; size_t i = 0; - uint8_t* pIndex = NULL; + uint8_t *pIndex = NULL; /* Validate all the parameters. */ status = validateSubscriptionSerializeParams(pSubscriptionList, - subscriptionCount, - packetId, - remainingLength, - pFixedBuffer); + subscriptionCount, + packetId, + remainingLength, + pFixedBuffer); if (status == MQTTSuccess) { @@ -3379,12 +3476,12 @@ MQTTStatus_t MQTT_SerializeUnsubscribe(const MQTTSubscribeInfo_t* pSubscriptionL for (i = 0; i < subscriptionCount; i++) { pIndex = encodeString(pIndex, - pSubscriptionList[i].pTopicFilter, - pSubscriptionList[i].topicFilterLength); + pSubscriptionList[i].pTopicFilter, + pSubscriptionList[i].topicFilterLength); } LogDebug(("Length of serialized UNSUBSCRIBE packet is %lu.", - ((unsigned long)(pIndex - pFixedBuffer->pBuffer)))); + ((unsigned long)(pIndex - pFixedBuffer->pBuffer)))); } return status; @@ -3392,27 +3489,27 @@ MQTTStatus_t MQTT_SerializeUnsubscribe(const MQTTSubscribeInfo_t* pSubscriptionL /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetPublishPacketSize(const MQTTPublishInfo_t* pPublishInfo, - size_t* pRemainingLength, - size_t* pPacketSize) +MQTTStatus_t MQTT_GetPublishPacketSize(const MQTTPublishInfo_t *pPublishInfo, + size_t *pRemainingLength, + size_t *pPacketSize) { MQTTStatus_t status = MQTTSuccess; if ((pPublishInfo == NULL) || (pRemainingLength == NULL) || (pPacketSize == NULL)) { LogError(("Argument cannot be NULL: pPublishInfo=%p, " - "pRemainingLength=%p, pPacketSize=%p.", - (void*)pPublishInfo, - (void*)pRemainingLength, - (void*)pPacketSize)); + "pRemainingLength=%p, pPacketSize=%p.", + (void *)pPublishInfo, + (void *)pRemainingLength, + (void *)pPacketSize)); status = MQTTBadParameter; } else if ((pPublishInfo->pTopicName == NULL) || (pPublishInfo->topicNameLength == 0U)) { LogError(("Invalid topic name for PUBLISH: pTopicName=%p, " - "topicNameLength=%hu.", - (void*)pPublishInfo->pTopicName, - (unsigned short)pPublishInfo->topicNameLength)); + "topicNameLength=%hu.", + (void *)pPublishInfo->pTopicName, + (unsigned short)pPublishInfo->topicNameLength)); status = MQTTBadParameter; } else @@ -3422,8 +3519,8 @@ MQTTStatus_t MQTT_GetPublishPacketSize(const MQTTPublishInfo_t* pPublishInfo, if (calculatePublishPacketSize(pPublishInfo, pRemainingLength, pPacketSize) == false) { LogError(("PUBLISH packet remaining length exceeds %lu, which is the " - "maximum size allowed by MQTT 3.1.1.", - MQTT_MAX_REMAINING_LENGTH)); + "maximum size allowed by MQTT 3.1.1.", + MQTT_MAX_REMAINING_LENGTH)); status = MQTTBadParameter; } } @@ -3433,10 +3530,10 @@ MQTTStatus_t MQTT_GetPublishPacketSize(const MQTTPublishInfo_t* pPublishInfo, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializePublish(const MQTTPublishInfo_t* pPublishInfo, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t* pFixedBuffer) +MQTTStatus_t MQTT_SerializePublish(const MQTTPublishInfo_t *pPublishInfo, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t *pFixedBuffer) { MQTTStatus_t status = MQTTSuccess; size_t packetSize = 0; @@ -3444,9 +3541,9 @@ MQTTStatus_t MQTT_SerializePublish(const MQTTPublishInfo_t* pPublishInfo, if ((pFixedBuffer == NULL) || (pPublishInfo == NULL)) { LogError(("Argument cannot be NULL: pFixedBuffer=%p, " - "pPublishInfo=%p.", - (void*)pFixedBuffer, - (void*)pPublishInfo)); + "pPublishInfo=%p.", + (void *)pFixedBuffer, + (void *)pPublishInfo)); status = MQTTBadParameter; } /* A buffer must be configured for serialization. */ @@ -3461,23 +3558,23 @@ MQTTStatus_t MQTT_SerializePublish(const MQTTPublishInfo_t* pPublishInfo, else if ((pPublishInfo->payloadLength > 0U) && (pPublishInfo->pPayload == NULL)) { LogError(("A nonzero payload length requires a non-NULL payload: " - "payloadLength=%lu, pPayload=%p.", - (unsigned long)pPublishInfo->payloadLength, - pPublishInfo->pPayload)); + "payloadLength=%lu, pPayload=%p.", + (unsigned long)pPublishInfo->payloadLength, + pPublishInfo->pPayload)); status = MQTTBadParameter; } else if ((pPublishInfo->pTopicName == NULL) || (pPublishInfo->topicNameLength == 0U)) { LogError(("Invalid topic name for PUBLISH: pTopicName=%p, " - "topicNameLength=%hu.", - (void*)pPublishInfo->pTopicName, - (unsigned short)pPublishInfo->topicNameLength)); + "topicNameLength=%hu.", + (void *)pPublishInfo->pTopicName, + (unsigned short)pPublishInfo->topicNameLength)); status = MQTTBadParameter; } else if ((pPublishInfo->qos != MQTTQoS0) && (packetId == 0U)) { LogError(("Packet ID is 0 for PUBLISH with QoS=%u.", - (unsigned int)pPublishInfo->qos)); + (unsigned int)pPublishInfo->qos)); status = MQTTBadParameter; } else if ((pPublishInfo->dup == true) && (pPublishInfo->qos == MQTTQoS0)) @@ -3490,16 +3587,15 @@ MQTTStatus_t MQTT_SerializePublish(const MQTTPublishInfo_t* pPublishInfo, /* Length of serialized packet = First byte * + Length of encoded remaining length * + Remaining length. */ - packetSize = 1U + remainingLengthEncodedSize(remainingLength) - + remainingLength; + packetSize = 1U + remainingLengthEncodedSize(remainingLength) + remainingLength; } if ((status == MQTTSuccess) && (packetSize > pFixedBuffer->size)) { LogError(("Buffer size of %lu is not sufficient to hold " - "serialized PUBLISH packet of size of %lu.", - (unsigned long)pFixedBuffer->size, - (unsigned long)packetSize)); + "serialized PUBLISH packet of size of %lu.", + (unsigned long)pFixedBuffer->size, + (unsigned long)packetSize)); status = MQTTNoMemory; } @@ -3507,10 +3603,10 @@ MQTTStatus_t MQTT_SerializePublish(const MQTTPublishInfo_t* pPublishInfo, { /* Serialize publish with header and payload. */ serializePublishCommon(pPublishInfo, - remainingLength, - packetId, - pFixedBuffer, - true); + remainingLength, + packetId, + pFixedBuffer, + true); } return status; @@ -3518,11 +3614,11 @@ MQTTStatus_t MQTT_SerializePublish(const MQTTPublishInfo_t* pPublishInfo, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializePublishHeader(const MQTTPublishInfo_t* pPublishInfo, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t* pFixedBuffer, - size_t* pHeaderSize) +MQTTStatus_t MQTT_SerializePublishHeader(const MQTTPublishInfo_t *pPublishInfo, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t *pFixedBuffer, + size_t *pHeaderSize) { MQTTStatus_t status = MQTTSuccess; size_t packetSize = 0; @@ -3531,10 +3627,10 @@ MQTTStatus_t MQTT_SerializePublishHeader(const MQTTPublishInfo_t* pPublishInfo, (pHeaderSize == NULL)) { LogError(("Argument cannot be NULL: pFixedBuffer=%p, " - "pPublishInfo=%p, pHeaderSize=%p.", - (void*)pFixedBuffer, - (void*)pPublishInfo, - (void*)pHeaderSize)); + "pPublishInfo=%p, pHeaderSize=%p.", + (void *)pFixedBuffer, + (void *)pPublishInfo, + (void *)pHeaderSize)); status = MQTTBadParameter; } /* A buffer must be configured for serialization. */ @@ -3546,15 +3642,15 @@ MQTTStatus_t MQTT_SerializePublishHeader(const MQTTPublishInfo_t* pPublishInfo, else if ((pPublishInfo->pTopicName == NULL) || (pPublishInfo->topicNameLength == 0U)) { LogError(("Invalid topic name for publish: pTopicName=%p, " - "topicNameLength=%hu.", - (void*)pPublishInfo->pTopicName, - (unsigned short)pPublishInfo->topicNameLength)); + "topicNameLength=%hu.", + (void *)pPublishInfo->pTopicName, + (unsigned short)pPublishInfo->topicNameLength)); status = MQTTBadParameter; } else if ((pPublishInfo->qos != MQTTQoS0) && (packetId == 0U)) { LogError(("Packet Id is 0 for publish with QoS=%hu.", - (unsigned short)pPublishInfo->qos)); + (unsigned short)pPublishInfo->qos)); status = MQTTBadParameter; } else if ((pPublishInfo->dup == true) && (pPublishInfo->qos == MQTTQoS0)) @@ -3569,17 +3665,15 @@ MQTTStatus_t MQTT_SerializePublishHeader(const MQTTPublishInfo_t* pPublishInfo, * + Remaining length * - Payload Length. */ - packetSize = 1U + remainingLengthEncodedSize(remainingLength) - + remainingLength - - pPublishInfo->payloadLength; + packetSize = 1U + remainingLengthEncodedSize(remainingLength) + remainingLength - pPublishInfo->payloadLength; } if ((status == MQTTSuccess) && (packetSize > pFixedBuffer->size)) { LogError(("Buffer size of %lu is not sufficient to hold " - "serialized PUBLISH header packet of size of %lu.", - (unsigned long)pFixedBuffer->size, - (unsigned long)(packetSize - pPublishInfo->payloadLength))); + "serialized PUBLISH header packet of size of %lu.", + (unsigned long)pFixedBuffer->size, + (unsigned long)(packetSize - pPublishInfo->payloadLength))); status = MQTTNoMemory; } @@ -3587,10 +3681,10 @@ MQTTStatus_t MQTT_SerializePublishHeader(const MQTTPublishInfo_t* pPublishInfo, { /* Serialize publish without copying the payload. */ serializePublishCommon(pPublishInfo, - remainingLength, - packetId, - pFixedBuffer, - false); + remainingLength, + packetId, + pFixedBuffer, + false); /* Header size is the same as calculated packet size. */ *pHeaderSize = packetSize; @@ -3601,9 +3695,9 @@ MQTTStatus_t MQTT_SerializePublishHeader(const MQTTPublishInfo_t* pPublishInfo, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializeAck(const MQTTFixedBuffer_t* pFixedBuffer, - uint8_t packetType, - uint16_t packetId) +MQTTStatus_t MQTT_SerializeAck(const MQTTFixedBuffer_t *pFixedBuffer, + uint8_t packetType, + uint16_t packetId) { MQTTStatus_t status = MQTTSuccess; @@ -3645,7 +3739,7 @@ MQTTStatus_t MQTT_SerializeAck(const MQTTFixedBuffer_t* pFixedBuffer, default: LogError(("Packet type is not a publish ACK: Packet type=%02x", - (unsigned int)packetType)); + (unsigned int)packetType)); status = MQTTBadParameter; break; } @@ -3656,7 +3750,7 @@ MQTTStatus_t MQTT_SerializeAck(const MQTTFixedBuffer_t* pFixedBuffer, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetDisconnectPacketSize(size_t* pPacketSize) +MQTTStatus_t MQTT_GetDisconnectPacketSize(size_t *pPacketSize) { MQTTStatus_t status = MQTTSuccess; @@ -3676,7 +3770,7 @@ MQTTStatus_t MQTT_GetDisconnectPacketSize(size_t* pPacketSize) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializeDisconnect(const MQTTFixedBuffer_t* pFixedBuffer) +MQTTStatus_t MQTT_SerializeDisconnect(const MQTTFixedBuffer_t *pFixedBuffer) { MQTTStatus_t status = MQTTSuccess; @@ -3701,9 +3795,9 @@ MQTTStatus_t MQTT_SerializeDisconnect(const MQTTFixedBuffer_t* pFixedBuffer) if (pFixedBuffer->size < MQTT_DISCONNECT_PACKET_SIZE) { LogError(("Buffer size of %lu is not sufficient to hold " - "serialized DISCONNECT packet of size of %lu.", - (unsigned long)pFixedBuffer->size, - MQTT_DISCONNECT_PACKET_SIZE)); + "serialized DISCONNECT packet of size of %lu.", + (unsigned long)pFixedBuffer->size, + MQTT_DISCONNECT_PACKET_SIZE)); status = MQTTNoMemory; } } @@ -3719,7 +3813,7 @@ MQTTStatus_t MQTT_SerializeDisconnect(const MQTTFixedBuffer_t* pFixedBuffer) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetPingreqPacketSize(size_t* pPacketSize) +MQTTStatus_t MQTT_GetPingreqPacketSize(size_t *pPacketSize) { MQTTStatus_t status = MQTTSuccess; @@ -3739,7 +3833,7 @@ MQTTStatus_t MQTT_GetPingreqPacketSize(size_t* pPacketSize) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializePingreq(const MQTTFixedBuffer_t* pFixedBuffer) +MQTTStatus_t MQTT_SerializePingreq(const MQTTFixedBuffer_t *pFixedBuffer) { MQTTStatus_t status = MQTTSuccess; @@ -3763,9 +3857,9 @@ MQTTStatus_t MQTT_SerializePingreq(const MQTTFixedBuffer_t* pFixedBuffer) if (pFixedBuffer->size < MQTT_PACKET_PINGREQ_SIZE) { LogError(("Buffer size of %lu is not sufficient to hold " - "serialized PINGREQ packet of size of %lu.", - (unsigned long)pFixedBuffer->size, - MQTT_PACKET_PINGREQ_SIZE)); + "serialized PINGREQ packet of size of %lu.", + (unsigned long)pFixedBuffer->size, + MQTT_PACKET_PINGREQ_SIZE)); status = MQTTNoMemory; } } @@ -3782,31 +3876,31 @@ MQTTStatus_t MQTT_SerializePingreq(const MQTTFixedBuffer_t* pFixedBuffer) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_DeserializePublish(const MQTTPacketInfo_t* pIncomingPacket, - uint16_t* pPacketId, - MQTTPublishInfo_t* pPublishInfo) +MQTTStatus_t MQTT_DeserializePublish(const MQTTPacketInfo_t *pIncomingPacket, + uint16_t *pPacketId, + MQTTPublishInfo_t *pPublishInfo) { MQTTStatus_t status = MQTTSuccess; if ((pIncomingPacket == NULL) || (pPacketId == NULL) || (pPublishInfo == NULL)) { LogError(("Argument cannot be NULL: pIncomingPacket=%p, " - "pPacketId=%p, pPublishInfo=%p", - (void*)pIncomingPacket, - (void*)pPacketId, - (void*)pPublishInfo)); + "pPacketId=%p, pPublishInfo=%p", + (void *)pIncomingPacket, + (void *)pPacketId, + (void *)pPublishInfo)); status = MQTTBadParameter; } else if ((pIncomingPacket->type & 0xF0U) != MQTT_PACKET_TYPE_PUBLISH) { LogError(("Packet is not publish. Packet type: %02x.", - (unsigned int)pIncomingPacket->type)); + (unsigned int)pIncomingPacket->type)); status = MQTTBadParameter; } else if (pIncomingPacket->pRemainingData == NULL) { LogError(("Argument cannot be NULL: " - "pIncomingPacket->pRemainingData is NULL.")); + "pIncomingPacket->pRemainingData is NULL.")); status = MQTTBadParameter; } else @@ -3819,9 +3913,9 @@ MQTTStatus_t MQTT_DeserializePublish(const MQTTPacketInfo_t* pIncomingPacket, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_DeserializeAck(const MQTTPacketInfo_t* pIncomingPacket, - uint16_t* pPacketId, - bool* pSessionPresent) +MQTTStatus_t MQTT_DeserializeAck(const MQTTPacketInfo_t *pIncomingPacket, + uint16_t *pPacketId, + bool *pSessionPresent) { MQTTStatus_t status = MQTTSuccess; @@ -3834,16 +3928,16 @@ MQTTStatus_t MQTT_DeserializeAck(const MQTTPacketInfo_t* pIncomingPacket, /* Pointer for packet identifier cannot be NULL for packets other than * CONNACK and PINGRESP. */ else if ((pPacketId == NULL) && - ((pIncomingPacket->type != MQTT_PACKET_TYPE_CONNACK) && - (pIncomingPacket->type != MQTT_PACKET_TYPE_PINGRESP))) + ((pIncomingPacket->type != MQTT_PACKET_TYPE_CONNACK) && + (pIncomingPacket->type != MQTT_PACKET_TYPE_PINGRESP))) { LogError(("pPacketId cannot be NULL for packet type %02x.", - (unsigned int)pIncomingPacket->type)); + (unsigned int)pIncomingPacket->type)); status = MQTTBadParameter; } /* Pointer for session present cannot be NULL for CONNACK. */ else if ((pSessionPresent == NULL) && - (pIncomingPacket->type == MQTT_PACKET_TYPE_CONNACK)) + (pIncomingPacket->type == MQTT_PACKET_TYPE_CONNACK)) { LogError(("pSessionPresent cannot be NULL for CONNACK packet.")); status = MQTTBadParameter; @@ -3852,7 +3946,7 @@ MQTTStatus_t MQTT_DeserializeAck(const MQTTPacketInfo_t* pIncomingPacket, /* Pointer for remaining data cannot be NULL for packets other * than PINGRESP. */ else if ((pIncomingPacket->pRemainingData == NULL) && - (pIncomingPacket->type != MQTT_PACKET_TYPE_PINGRESP)) + (pIncomingPacket->type != MQTT_PACKET_TYPE_PINGRESP)) { LogError(("Remaining data of incoming packet is NULL.")); status = MQTTBadParameter; @@ -3885,7 +3979,7 @@ MQTTStatus_t MQTT_DeserializeAck(const MQTTPacketInfo_t* pIncomingPacket, /* Any other packet type is invalid. */ default: LogError(("IotMqtt_DeserializeResponse() called with unknown packet type:(%02x).", - (unsigned int)pIncomingPacket->type)); + (unsigned int)pIncomingPacket->type)); status = MQTTBadResponse; break; } @@ -3897,8 +3991,8 @@ MQTTStatus_t MQTT_DeserializeAck(const MQTTPacketInfo_t* pIncomingPacket, /*-----------------------------------------------------------*/ MQTTStatus_t MQTT_GetIncomingPacketTypeAndLength(TransportRecv_t readFunc, - NetworkContext_t* pNetworkContext, - MQTTPacketInfo_t* pIncomingPacket) + NetworkContext_t *pNetworkContext, + MQTTPacketInfo_t *pIncomingPacket) { MQTTStatus_t status = MQTTSuccess; int32_t bytesReceived = 0; @@ -3912,8 +4006,8 @@ MQTTStatus_t MQTT_GetIncomingPacketTypeAndLength(TransportRecv_t readFunc, { /* Read a single byte. */ bytesReceived = readFunc(pNetworkContext, - &(pIncomingPacket->type), - 1U); + &(pIncomingPacket->type), + 1U); } if (bytesReceived == 1) @@ -3922,7 +4016,7 @@ MQTTStatus_t MQTT_GetIncomingPacketTypeAndLength(TransportRecv_t readFunc, if (incomingPacketValid(pIncomingPacket->type) == true) { pIncomingPacket->remainingLength = getRemainingLength(readFunc, - pNetworkContext); + pNetworkContext); if (pIncomingPacket->remainingLength == MQTT_REMAINING_LENGTH_INVALID) { @@ -3933,7 +4027,7 @@ MQTTStatus_t MQTT_GetIncomingPacketTypeAndLength(TransportRecv_t readFunc, else { LogError(("Incoming packet invalid: Packet type=%u.", - (unsigned int)pIncomingPacket->type)); + (unsigned int)pIncomingPacket->type)); status = MQTTBadResponse; } } @@ -3947,8 +4041,8 @@ MQTTStatus_t MQTT_GetIncomingPacketTypeAndLength(TransportRecv_t readFunc, else if (status != MQTTBadParameter) { LogError(("A single byte was not read from the transport: " - "transportStatus=%ld.", - (long int)bytesReceived)); + "transportStatus=%ld.", + (long int)bytesReceived)); status = MQTTRecvFailed; } else @@ -3961,9 +4055,9 @@ MQTTStatus_t MQTT_GetIncomingPacketTypeAndLength(TransportRecv_t readFunc, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength(const uint8_t* pBuffer, - const size_t* pIndex, - MQTTPacketInfo_t* pIncomingPacket) +MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength(const uint8_t *pBuffer, + const size_t *pIndex, + MQTTPacketInfo_t *pIncomingPacket) { MQTTStatus_t status = MQTTSuccess; @@ -4001,13 +4095,13 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength(const uint8_t* pBuffer, if (incomingPacketValid(pIncomingPacket->type) == true) { status = processRemainingLength(pBuffer, - pIndex, - pIncomingPacket); + pIndex, + pIncomingPacket); } else { LogError(("Incoming packet invalid: Packet type=%u.", - (unsigned int)pIncomingPacket->type)); + (unsigned int)pIncomingPacket->type)); status = MQTTBadResponse; } } diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index 63c3bb11c..f25a57ae8 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -2141,6 +2141,21 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty(void) pIndexLocal = &pIndexLocal[dummy2]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + + /*Invalid property length*/ + packetInfo.remainingLength = 9; + pIndexLocal = &buffer[2]; + propertyLength = encodeRemainingLength(pIndexLocal, 6); + pIndexLocal++; + *pIndexLocal = MQTT_USER_PROPERTY_ID; + pIndexLocal++; + dummy = encodeString(pIndexLocal, string, 2); + pIndexLocal = &pIndexLocal[dummy]; + dummy2 = encodeString(pIndexLocal, string2, 3); + pIndexLocal = &pIndexLocal[dummy2]; + status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + } void test_MQTTV5_DeserializeConnackOnlyServerRef(void) From 9c4e3e4645c90c167b94fc14a8ebcd1441593634 Mon Sep 17 00:00:00 2001 From: Pooja Toshniwal <142602291+Pooja-Toshniwal@users.noreply.github.com> Date: Mon, 24 Jun 2024 11:00:27 +0530 Subject: [PATCH 27/82] Delete CMakeFiles directory --- CMakeFiles/3.30.0-rc3/CMakeCCompiler.cmake | 81 -- .../CMakeDetermineCompilerABI_C.bin | Bin 16656 -> 0 bytes CMakeFiles/3.30.0-rc3/CMakeSystem.cmake | 15 - .../3.30.0-rc3/CompilerIdC/CMakeCCompilerId.c | 904 ------------ CMakeFiles/3.30.0-rc3/CompilerIdC/a.out | Bin 16776 -> 0 bytes CMakeFiles/CMakeConfigureLog.yaml | 286 ---- CMakeFiles/CMakeDirectoryInformation.cmake | 16 - CMakeFiles/CMakeRuleHashes.txt | 40 - CMakeFiles/Makefile.cmake | 167 --- CMakeFiles/Makefile2 | 1274 ----------------- CMakeFiles/TargetDirectories.txt | 51 - CMakeFiles/cmake.check_cache | 1 - CMakeFiles/cmock.dir/DependInfo.cmake | 23 - CMakeFiles/cmock.dir/build.make | 111 -- CMakeFiles/cmock.dir/cmake_clean.cmake | 11 - CMakeFiles/cmock.dir/cmake_clean_target.cmake | 3 - CMakeFiles/cmock.dir/compiler_depend.make | 2 - CMakeFiles/cmock.dir/compiler_depend.ts | 2 - CMakeFiles/cmock.dir/depend.make | 2 - CMakeFiles/cmock.dir/flags.make | 10 - CMakeFiles/cmock.dir/link.txt | 2 - CMakeFiles/cmock.dir/progress.make | 3 - CMakeFiles/coverage.dir/DependInfo.cmake | 22 - CMakeFiles/coverage.dir/build.make | 91 -- CMakeFiles/coverage.dir/cmake_clean.cmake | 8 - CMakeFiles/coverage.dir/compiler_depend.make | 2 - CMakeFiles/coverage.dir/compiler_depend.ts | 2 - CMakeFiles/coverage.dir/progress.make | 1 - .../coverity_analysis.dir/DependInfo.cmake | 25 - CMakeFiles/coverity_analysis.dir/build.make | 143 -- .../coverity_analysis.dir/cmake_clean.cmake | 15 - .../cmake_clean_target.cmake | 3 - .../compiler_depend.make | 2 - .../coverity_analysis.dir/compiler_depend.ts | 2 - CMakeFiles/coverity_analysis.dir/depend.make | 2 - CMakeFiles/coverity_analysis.dir/flags.make | 10 - CMakeFiles/coverity_analysis.dir/link.txt | 2 - .../coverity_analysis.dir/progress.make | 5 - .../source/core_mqtt.c.o.d | 29 - .../source/core_mqtt_serializer.c.o.d | 26 - .../source/core_mqtt_state.c.o.d | 28 - CMakeFiles/progress.marks | 1 - CMakeFiles/unity.dir/DependInfo.cmake | 25 - CMakeFiles/unity.dir/build.make | 143 -- CMakeFiles/unity.dir/cmake_clean.cmake | 15 - CMakeFiles/unity.dir/cmake_clean_target.cmake | 3 - CMakeFiles/unity.dir/compiler_depend.make | 2 - CMakeFiles/unity.dir/compiler_depend.ts | 2 - CMakeFiles/unity.dir/depend.make | 2 - CMakeFiles/unity.dir/flags.make | 10 - CMakeFiles/unity.dir/link.txt | 2 - CMakeFiles/unity.dir/progress.make | 5 - 52 files changed, 3632 deletions(-) delete mode 100644 CMakeFiles/3.30.0-rc3/CMakeCCompiler.cmake delete mode 100755 CMakeFiles/3.30.0-rc3/CMakeDetermineCompilerABI_C.bin delete mode 100644 CMakeFiles/3.30.0-rc3/CMakeSystem.cmake delete mode 100644 CMakeFiles/3.30.0-rc3/CompilerIdC/CMakeCCompilerId.c delete mode 100755 CMakeFiles/3.30.0-rc3/CompilerIdC/a.out delete mode 100644 CMakeFiles/CMakeConfigureLog.yaml delete mode 100644 CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 CMakeFiles/CMakeRuleHashes.txt delete mode 100644 CMakeFiles/Makefile.cmake delete mode 100644 CMakeFiles/Makefile2 delete mode 100644 CMakeFiles/TargetDirectories.txt delete mode 100644 CMakeFiles/cmake.check_cache delete mode 100644 CMakeFiles/cmock.dir/DependInfo.cmake delete mode 100644 CMakeFiles/cmock.dir/build.make delete mode 100644 CMakeFiles/cmock.dir/cmake_clean.cmake delete mode 100644 CMakeFiles/cmock.dir/cmake_clean_target.cmake delete mode 100644 CMakeFiles/cmock.dir/compiler_depend.make delete mode 100644 CMakeFiles/cmock.dir/compiler_depend.ts delete mode 100644 CMakeFiles/cmock.dir/depend.make delete mode 100644 CMakeFiles/cmock.dir/flags.make delete mode 100644 CMakeFiles/cmock.dir/link.txt delete mode 100644 CMakeFiles/cmock.dir/progress.make delete mode 100644 CMakeFiles/coverage.dir/DependInfo.cmake delete mode 100644 CMakeFiles/coverage.dir/build.make delete mode 100644 CMakeFiles/coverage.dir/cmake_clean.cmake delete mode 100644 CMakeFiles/coverage.dir/compiler_depend.make delete mode 100644 CMakeFiles/coverage.dir/compiler_depend.ts delete mode 100644 CMakeFiles/coverage.dir/progress.make delete mode 100644 CMakeFiles/coverity_analysis.dir/DependInfo.cmake delete mode 100644 CMakeFiles/coverity_analysis.dir/build.make delete mode 100644 CMakeFiles/coverity_analysis.dir/cmake_clean.cmake delete mode 100644 CMakeFiles/coverity_analysis.dir/cmake_clean_target.cmake delete mode 100644 CMakeFiles/coverity_analysis.dir/compiler_depend.make delete mode 100644 CMakeFiles/coverity_analysis.dir/compiler_depend.ts delete mode 100644 CMakeFiles/coverity_analysis.dir/depend.make delete mode 100644 CMakeFiles/coverity_analysis.dir/flags.make delete mode 100644 CMakeFiles/coverity_analysis.dir/link.txt delete mode 100644 CMakeFiles/coverity_analysis.dir/progress.make delete mode 100644 CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d delete mode 100644 CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o.d delete mode 100644 CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o.d delete mode 100644 CMakeFiles/progress.marks delete mode 100644 CMakeFiles/unity.dir/DependInfo.cmake delete mode 100644 CMakeFiles/unity.dir/build.make delete mode 100644 CMakeFiles/unity.dir/cmake_clean.cmake delete mode 100644 CMakeFiles/unity.dir/cmake_clean_target.cmake delete mode 100644 CMakeFiles/unity.dir/compiler_depend.make delete mode 100644 CMakeFiles/unity.dir/compiler_depend.ts delete mode 100644 CMakeFiles/unity.dir/depend.make delete mode 100644 CMakeFiles/unity.dir/flags.make delete mode 100644 CMakeFiles/unity.dir/link.txt delete mode 100644 CMakeFiles/unity.dir/progress.make diff --git a/CMakeFiles/3.30.0-rc3/CMakeCCompiler.cmake b/CMakeFiles/3.30.0-rc3/CMakeCCompiler.cmake deleted file mode 100644 index 1d26c26ae..000000000 --- a/CMakeFiles/3.30.0-rc3/CMakeCCompiler.cmake +++ /dev/null @@ -1,81 +0,0 @@ -set(CMAKE_C_COMPILER "/usr/bin/cc") -set(CMAKE_C_COMPILER_ARG1 "") -set(CMAKE_C_COMPILER_ID "GNU") -set(CMAKE_C_COMPILER_VERSION "9.4.0") -set(CMAKE_C_COMPILER_VERSION_INTERNAL "") -set(CMAKE_C_COMPILER_WRAPPER "") -set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") -set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") -set(CMAKE_C_STANDARD_LATEST "23") -set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") -set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") -set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") -set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") -set(CMAKE_C17_COMPILE_FEATURES "c_std_17") -set(CMAKE_C23_COMPILE_FEATURES "c_std_23") - -set(CMAKE_C_PLATFORM_ID "Linux") -set(CMAKE_C_SIMULATE_ID "") -set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU") -set(CMAKE_C_SIMULATE_VERSION "") - - - - -set(CMAKE_AR "/usr/bin/ar") -set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-9") -set(CMAKE_RANLIB "/usr/bin/ranlib") -set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9") -set(CMAKE_LINKER "/usr/bin/ld") -set(CMAKE_LINKER_LINK "") -set(CMAKE_LINKER_LLD "") -set(CMAKE_C_COMPILER_LINKER "/usr/bin/ld") -set(CMAKE_C_COMPILER_LINKER_ID "GNU") -set(CMAKE_C_COMPILER_LINKER_VERSION 2.34) -set(CMAKE_C_COMPILER_LINKER_FRONTEND_VARIANT GNU) -set(CMAKE_MT "") -set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND") -set(CMAKE_COMPILER_IS_GNUCC 1) -set(CMAKE_C_COMPILER_LOADED 1) -set(CMAKE_C_COMPILER_WORKS TRUE) -set(CMAKE_C_ABI_COMPILED TRUE) - -set(CMAKE_C_COMPILER_ENV_VAR "CC") - -set(CMAKE_C_COMPILER_ID_RUN 1) -set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) -set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) -set(CMAKE_C_LINKER_PREFERENCE 10) -set(CMAKE_C_LINKER_DEPFILE_SUPPORTED FALSE) - -# Save compiler ABI information. -set(CMAKE_C_SIZEOF_DATA_PTR "8") -set(CMAKE_C_COMPILER_ABI "ELF") -set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") -set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") - -if(CMAKE_C_SIZEOF_DATA_PTR) - set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") -endif() - -if(CMAKE_C_COMPILER_ABI) - set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") -endif() - -if(CMAKE_C_LIBRARY_ARCHITECTURE) - set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") -endif() - -set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") -if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) - set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") -endif() - - - - - -set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") -set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") -set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") -set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/CMakeFiles/3.30.0-rc3/CMakeDetermineCompilerABI_C.bin b/CMakeFiles/3.30.0-rc3/CMakeDetermineCompilerABI_C.bin deleted file mode 100755 index 605384983eee096cead8d8201a1e48cb198eeb1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16656 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 diff --git a/CMakeFiles/3.30.0-rc3/CMakeSystem.cmake b/CMakeFiles/3.30.0-rc3/CMakeSystem.cmake deleted file mode 100644 index 04e81f113..000000000 --- a/CMakeFiles/3.30.0-rc3/CMakeSystem.cmake +++ /dev/null @@ -1,15 +0,0 @@ -set(CMAKE_HOST_SYSTEM "Linux-5.15.0-1050-aws") -set(CMAKE_HOST_SYSTEM_NAME "Linux") -set(CMAKE_HOST_SYSTEM_VERSION "5.15.0-1050-aws") -set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") - - - -set(CMAKE_SYSTEM "Linux-5.15.0-1050-aws") -set(CMAKE_SYSTEM_NAME "Linux") -set(CMAKE_SYSTEM_VERSION "5.15.0-1050-aws") -set(CMAKE_SYSTEM_PROCESSOR "x86_64") - -set(CMAKE_CROSSCOMPILING "FALSE") - -set(CMAKE_SYSTEM_LOADED 1) diff --git a/CMakeFiles/3.30.0-rc3/CompilerIdC/CMakeCCompilerId.c b/CMakeFiles/3.30.0-rc3/CompilerIdC/CMakeCCompilerId.c deleted file mode 100644 index 8d8bb038b..000000000 --- a/CMakeFiles/3.30.0-rc3/CompilerIdC/CMakeCCompilerId.c +++ /dev/null @@ -1,904 +0,0 @@ -#ifdef __cplusplus -# error "A C++ compiler has been selected for C." -#endif - -#if defined(__18CXX) -# define ID_VOID_MAIN -#endif -#if defined(__CLASSIC_C__) -/* cv-qualifiers did not exist in K&R C */ -# define const -# define volatile -#endif - -#if !defined(__has_include) -/* If the compiler does not have __has_include, pretend the answer is - always no. */ -# define __has_include(x) 0 -#endif - - -/* Version number components: V=Version, R=Revision, P=Patch - Version date components: YYYY=Year, MM=Month, DD=Day */ - -#if defined(__INTEL_COMPILER) || defined(__ICC) -# define COMPILER_ID "Intel" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# if defined(__GNUC__) -# define SIMULATE_ID "GNU" -# endif - /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, - except that a few beta releases use the old format with V=2021. */ -# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 -# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) -# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) -# if defined(__INTEL_COMPILER_UPDATE) -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) -# else -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) -# endif -# else -# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) -# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) - /* The third version component from --version is an update index, - but no macro is provided for it. */ -# define COMPILER_VERSION_PATCH DEC(0) -# endif -# if defined(__INTEL_COMPILER_BUILD_DATE) - /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ -# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) -# endif -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# if defined(__GNUC__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) -# elif defined(__GNUG__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) -# endif -# if defined(__GNUC_MINOR__) -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) -# define COMPILER_ID "IntelLLVM" -#if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -#endif -#if defined(__GNUC__) -# define SIMULATE_ID "GNU" -#endif -/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and - * later. Look for 6 digit vs. 8 digit version number to decide encoding. - * VVVV is no smaller than the current year when a version is released. - */ -#if __INTEL_LLVM_COMPILER < 1000000L -# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) -# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) -#else -# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) -# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) -# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) -#endif -#if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -#endif -#if defined(__GNUC__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) -#elif defined(__GNUG__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) -#endif -#if defined(__GNUC_MINOR__) -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) -#endif -#if defined(__GNUC_PATCHLEVEL__) -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -#endif - -#elif defined(__PATHCC__) -# define COMPILER_ID "PathScale" -# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) -# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) -# if defined(__PATHCC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) -# endif - -#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) -# define COMPILER_ID "Embarcadero" -# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) -# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) -# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) - -#elif defined(__BORLANDC__) -# define COMPILER_ID "Borland" - /* __BORLANDC__ = 0xVRR */ -# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) -# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) - -#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 -# define COMPILER_ID "Watcom" - /* __WATCOMC__ = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__WATCOMC__) -# define COMPILER_ID "OpenWatcom" - /* __WATCOMC__ = VVRP + 1100 */ -# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__SUNPRO_C) -# define COMPILER_ID "SunPro" -# if __SUNPRO_C >= 0x5100 - /* __SUNPRO_C = 0xVRRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) -# else - /* __SUNPRO_CC = 0xVRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) -# endif - -#elif defined(__HP_cc) -# define COMPILER_ID "HP" - /* __HP_cc = VVRRPP */ -# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) -# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) -# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) - -#elif defined(__DECC) -# define COMPILER_ID "Compaq" - /* __DECC_VER = VVRRTPPPP */ -# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) -# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) -# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) - -#elif defined(__IBMC__) && defined(__COMPILER_VER__) -# define COMPILER_ID "zOS" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__open_xl__) && defined(__clang__) -# define COMPILER_ID "IBMClang" -# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) -# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) -# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) -# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) - - -#elif defined(__ibmxl__) && defined(__clang__) -# define COMPILER_ID "XLClang" -# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) -# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) -# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) -# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) - - -#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 -# define COMPILER_ID "XL" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 -# define COMPILER_ID "VisualAge" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__NVCOMPILER) -# define COMPILER_ID "NVHPC" -# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) -# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) -# if defined(__NVCOMPILER_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) -# endif - -#elif defined(__PGI) -# define COMPILER_ID "PGI" -# define COMPILER_VERSION_MAJOR DEC(__PGIC__) -# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) -# if defined(__PGIC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) -# endif - -#elif defined(__clang__) && defined(__cray__) -# define COMPILER_ID "CrayClang" -# define COMPILER_VERSION_MAJOR DEC(__cray_major__) -# define COMPILER_VERSION_MINOR DEC(__cray_minor__) -# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__) -# define COMPILER_VERSION_INTERNAL_STR __clang_version__ - - -#elif defined(_CRAYC) -# define COMPILER_ID "Cray" -# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) -# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) - -#elif defined(__TI_COMPILER_VERSION__) -# define COMPILER_ID "TI" - /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ -# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) -# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) -# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) - -#elif defined(__CLANG_FUJITSU) -# define COMPILER_ID "FujitsuClang" -# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) -# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) -# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) -# define COMPILER_VERSION_INTERNAL_STR __clang_version__ - - -#elif defined(__FUJITSU) -# define COMPILER_ID "Fujitsu" -# if defined(__FCC_version__) -# define COMPILER_VERSION __FCC_version__ -# elif defined(__FCC_major__) -# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) -# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) -# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) -# endif -# if defined(__fcc_version) -# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) -# elif defined(__FCC_VERSION) -# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) -# endif - - -#elif defined(__ghs__) -# define COMPILER_ID "GHS" -/* __GHS_VERSION_NUMBER = VVVVRP */ -# ifdef __GHS_VERSION_NUMBER -# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) -# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) -# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) -# endif - -#elif defined(__TASKING__) -# define COMPILER_ID "Tasking" - # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) - # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) -# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) - -#elif defined(__ORANGEC__) -# define COMPILER_ID "OrangeC" -# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__) -# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__) -# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__) - -#elif defined(__TINYC__) -# define COMPILER_ID "TinyCC" - -#elif defined(__BCC__) -# define COMPILER_ID "Bruce" - -#elif defined(__SCO_VERSION__) -# define COMPILER_ID "SCO" - -#elif defined(__ARMCC_VERSION) && !defined(__clang__) -# define COMPILER_ID "ARMCC" -#if __ARMCC_VERSION >= 1000000 - /* __ARMCC_VERSION = VRRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#else - /* __ARMCC_VERSION = VRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#endif - - -#elif defined(__clang__) && defined(__apple_build_version__) -# define COMPILER_ID "AppleClang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) - -#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) -# define COMPILER_ID "ARMClang" - # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100) -# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) - -#elif defined(__clang__) && defined(__ti__) -# define COMPILER_ID "TIClang" - # define COMPILER_VERSION_MAJOR DEC(__ti_major__) - # define COMPILER_VERSION_MINOR DEC(__ti_minor__) - # define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__) -# define COMPILER_VERSION_INTERNAL DEC(__ti_version__) - -#elif defined(__clang__) -# define COMPILER_ID "Clang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif - -#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) -# define COMPILER_ID "LCC" -# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) -# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) -# if defined(__LCC_MINOR__) -# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) -# endif -# if defined(__GNUC__) && defined(__GNUC_MINOR__) -# define SIMULATE_ID "GNU" -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) -# if defined(__GNUC_PATCHLEVEL__) -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif -# endif - -#elif defined(__GNUC__) -# define COMPILER_ID "GNU" -# define COMPILER_VERSION_MAJOR DEC(__GNUC__) -# if defined(__GNUC_MINOR__) -# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif defined(_MSC_VER) -# define COMPILER_ID "MSVC" - /* _MSC_VER = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) -# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) -# if defined(_MSC_FULL_VER) -# if _MSC_VER >= 1400 - /* _MSC_FULL_VER = VVRRPPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) -# else - /* _MSC_FULL_VER = VVRRPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) -# endif -# endif -# if defined(_MSC_BUILD) -# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) -# endif - -#elif defined(_ADI_COMPILER) -# define COMPILER_ID "ADSP" -#if defined(__VERSIONNUM__) - /* __VERSIONNUM__ = 0xVVRRPPTT */ -# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) -# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) -# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) -# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) -#endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# define COMPILER_ID "IAR" -# if defined(__VER__) && defined(__ICCARM__) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) -# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) -# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) -# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) -# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# endif - -#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) -# define COMPILER_ID "SDCC" -# if defined(__SDCC_VERSION_MAJOR) -# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) -# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) -# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) -# else - /* SDCC = VRP */ -# define COMPILER_VERSION_MAJOR DEC(SDCC/100) -# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) -# define COMPILER_VERSION_PATCH DEC(SDCC % 10) -# endif - - -/* These compilers are either not known or too old to define an - identification macro. Try to identify the platform and guess that - it is the native compiler. */ -#elif defined(__hpux) || defined(__hpua) -# define COMPILER_ID "HP" - -#else /* unknown compiler */ -# define COMPILER_ID "" -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; -#ifdef SIMULATE_ID -char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; -#endif - -#ifdef __QNXNTO__ -char const* qnxnto = "INFO" ":" "qnxnto[]"; -#endif - -#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) -char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; -#endif - -#define STRINGIFY_HELPER(X) #X -#define STRINGIFY(X) STRINGIFY_HELPER(X) - -/* Identify known platforms by name. */ -#if defined(__linux) || defined(__linux__) || defined(linux) -# define PLATFORM_ID "Linux" - -#elif defined(__MSYS__) -# define PLATFORM_ID "MSYS" - -#elif defined(__CYGWIN__) -# define PLATFORM_ID "Cygwin" - -#elif defined(__MINGW32__) -# define PLATFORM_ID "MinGW" - -#elif defined(__APPLE__) -# define PLATFORM_ID "Darwin" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -# define PLATFORM_ID "Windows" - -#elif defined(__FreeBSD__) || defined(__FreeBSD) -# define PLATFORM_ID "FreeBSD" - -#elif defined(__NetBSD__) || defined(__NetBSD) -# define PLATFORM_ID "NetBSD" - -#elif defined(__OpenBSD__) || defined(__OPENBSD) -# define PLATFORM_ID "OpenBSD" - -#elif defined(__sun) || defined(sun) -# define PLATFORM_ID "SunOS" - -#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) -# define PLATFORM_ID "AIX" - -#elif defined(__hpux) || defined(__hpux__) -# define PLATFORM_ID "HP-UX" - -#elif defined(__HAIKU__) -# define PLATFORM_ID "Haiku" - -#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) -# define PLATFORM_ID "BeOS" - -#elif defined(__QNX__) || defined(__QNXNTO__) -# define PLATFORM_ID "QNX" - -#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) -# define PLATFORM_ID "Tru64" - -#elif defined(__riscos) || defined(__riscos__) -# define PLATFORM_ID "RISCos" - -#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) -# define PLATFORM_ID "SINIX" - -#elif defined(__UNIX_SV__) -# define PLATFORM_ID "UNIX_SV" - -#elif defined(__bsdos__) -# define PLATFORM_ID "BSDOS" - -#elif defined(_MPRAS) || defined(MPRAS) -# define PLATFORM_ID "MP-RAS" - -#elif defined(__osf) || defined(__osf__) -# define PLATFORM_ID "OSF1" - -#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) -# define PLATFORM_ID "SCO_SV" - -#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) -# define PLATFORM_ID "ULTRIX" - -#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) -# define PLATFORM_ID "Xenix" - -#elif defined(__WATCOMC__) -# if defined(__LINUX__) -# define PLATFORM_ID "Linux" - -# elif defined(__DOS__) -# define PLATFORM_ID "DOS" - -# elif defined(__OS2__) -# define PLATFORM_ID "OS2" - -# elif defined(__WINDOWS__) -# define PLATFORM_ID "Windows3x" - -# elif defined(__VXWORKS__) -# define PLATFORM_ID "VxWorks" - -# else /* unknown platform */ -# define PLATFORM_ID -# endif - -#elif defined(__INTEGRITY) -# if defined(INT_178B) -# define PLATFORM_ID "Integrity178" - -# else /* regular Integrity */ -# define PLATFORM_ID "Integrity" -# endif - -# elif defined(_ADI_COMPILER) -# define PLATFORM_ID "ADSP" - -#else /* unknown platform */ -# define PLATFORM_ID - -#endif - -/* For windows compilers MSVC and Intel we can determine - the architecture of the compiler being used. This is because - the compilers do not have flags that can change the architecture, - but rather depend on which compiler is being used -*/ -#if defined(_WIN32) && defined(_MSC_VER) -# if defined(_M_IA64) -# define ARCHITECTURE_ID "IA64" - -# elif defined(_M_ARM64EC) -# define ARCHITECTURE_ID "ARM64EC" - -# elif defined(_M_X64) || defined(_M_AMD64) -# define ARCHITECTURE_ID "x64" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# elif defined(_M_ARM64) -# define ARCHITECTURE_ID "ARM64" - -# elif defined(_M_ARM) -# if _M_ARM == 4 -# define ARCHITECTURE_ID "ARMV4I" -# elif _M_ARM == 5 -# define ARCHITECTURE_ID "ARMV5I" -# else -# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) -# endif - -# elif defined(_M_MIPS) -# define ARCHITECTURE_ID "MIPS" - -# elif defined(_M_SH) -# define ARCHITECTURE_ID "SHx" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__WATCOMC__) -# if defined(_M_I86) -# define ARCHITECTURE_ID "I86" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# if defined(__ICCARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__ICCRX__) -# define ARCHITECTURE_ID "RX" - -# elif defined(__ICCRH850__) -# define ARCHITECTURE_ID "RH850" - -# elif defined(__ICCRL78__) -# define ARCHITECTURE_ID "RL78" - -# elif defined(__ICCRISCV__) -# define ARCHITECTURE_ID "RISCV" - -# elif defined(__ICCAVR__) -# define ARCHITECTURE_ID "AVR" - -# elif defined(__ICC430__) -# define ARCHITECTURE_ID "MSP430" - -# elif defined(__ICCV850__) -# define ARCHITECTURE_ID "V850" - -# elif defined(__ICC8051__) -# define ARCHITECTURE_ID "8051" - -# elif defined(__ICCSTM8__) -# define ARCHITECTURE_ID "STM8" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__ghs__) -# if defined(__PPC64__) -# define ARCHITECTURE_ID "PPC64" - -# elif defined(__ppc__) -# define ARCHITECTURE_ID "PPC" - -# elif defined(__ARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__x86_64__) -# define ARCHITECTURE_ID "x64" - -# elif defined(__i386__) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__clang__) && defined(__ti__) -# if defined(__ARM_ARCH) -# define ARCHITECTURE_ID "Arm" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__TI_COMPILER_VERSION__) -# if defined(__TI_ARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__MSP430__) -# define ARCHITECTURE_ID "MSP430" - -# elif defined(__TMS320C28XX__) -# define ARCHITECTURE_ID "TMS320C28x" - -# elif defined(__TMS320C6X__) || defined(_TMS320C6X) -# define ARCHITECTURE_ID "TMS320C6x" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -# elif defined(__ADSPSHARC__) -# define ARCHITECTURE_ID "SHARC" - -# elif defined(__ADSPBLACKFIN__) -# define ARCHITECTURE_ID "Blackfin" - -#elif defined(__TASKING__) - -# if defined(__CTC__) || defined(__CPTC__) -# define ARCHITECTURE_ID "TriCore" - -# elif defined(__CMCS__) -# define ARCHITECTURE_ID "MCS" - -# elif defined(__CARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__CARC__) -# define ARCHITECTURE_ID "ARC" - -# elif defined(__C51__) -# define ARCHITECTURE_ID "8051" - -# elif defined(__CPCP__) -# define ARCHITECTURE_ID "PCP" - -# else -# define ARCHITECTURE_ID "" -# endif - -#else -# define ARCHITECTURE_ID -#endif - -/* Convert integer to decimal digit literals. */ -#define DEC(n) \ - ('0' + (((n) / 10000000)%10)), \ - ('0' + (((n) / 1000000)%10)), \ - ('0' + (((n) / 100000)%10)), \ - ('0' + (((n) / 10000)%10)), \ - ('0' + (((n) / 1000)%10)), \ - ('0' + (((n) / 100)%10)), \ - ('0' + (((n) / 10)%10)), \ - ('0' + ((n) % 10)) - -/* Convert integer to hex digit literals. */ -#define HEX(n) \ - ('0' + ((n)>>28 & 0xF)), \ - ('0' + ((n)>>24 & 0xF)), \ - ('0' + ((n)>>20 & 0xF)), \ - ('0' + ((n)>>16 & 0xF)), \ - ('0' + ((n)>>12 & 0xF)), \ - ('0' + ((n)>>8 & 0xF)), \ - ('0' + ((n)>>4 & 0xF)), \ - ('0' + ((n) & 0xF)) - -/* Construct a string literal encoding the version number. */ -#ifdef COMPILER_VERSION -char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; - -/* Construct a string literal encoding the version number components. */ -#elif defined(COMPILER_VERSION_MAJOR) -char const info_version[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', - COMPILER_VERSION_MAJOR, -# ifdef COMPILER_VERSION_MINOR - '.', COMPILER_VERSION_MINOR, -# ifdef COMPILER_VERSION_PATCH - '.', COMPILER_VERSION_PATCH, -# ifdef COMPILER_VERSION_TWEAK - '.', COMPILER_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct a string literal encoding the internal version number. */ -#ifdef COMPILER_VERSION_INTERNAL -char const info_version_internal[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', - 'i','n','t','e','r','n','a','l','[', - COMPILER_VERSION_INTERNAL,']','\0'}; -#elif defined(COMPILER_VERSION_INTERNAL_STR) -char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; -#endif - -/* Construct a string literal encoding the version number components. */ -#ifdef SIMULATE_VERSION_MAJOR -char const info_simulate_version[] = { - 'I', 'N', 'F', 'O', ':', - 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', - SIMULATE_VERSION_MAJOR, -# ifdef SIMULATE_VERSION_MINOR - '.', SIMULATE_VERSION_MINOR, -# ifdef SIMULATE_VERSION_PATCH - '.', SIMULATE_VERSION_PATCH, -# ifdef SIMULATE_VERSION_TWEAK - '.', SIMULATE_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; -char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; - - - -#define C_STD_99 199901L -#define C_STD_11 201112L -#define C_STD_17 201710L -#define C_STD_23 202311L - -#ifdef __STDC_VERSION__ -# define C_STD __STDC_VERSION__ -#endif - -#if !defined(__STDC__) && !defined(__clang__) -# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) -# define C_VERSION "90" -# else -# define C_VERSION -# endif -#elif C_STD > C_STD_17 -# define C_VERSION "23" -#elif C_STD > C_STD_11 -# define C_VERSION "17" -#elif C_STD > C_STD_99 -# define C_VERSION "11" -#elif C_STD >= C_STD_99 -# define C_VERSION "99" -#else -# define C_VERSION "90" -#endif -const char* info_language_standard_default = - "INFO" ":" "standard_default[" C_VERSION "]"; - -const char* info_language_extensions_default = "INFO" ":" "extensions_default[" -#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ - defined(__TI_COMPILER_VERSION__)) && \ - !defined(__STRICT_ANSI__) - "ON" -#else - "OFF" -#endif -"]"; - -/*--------------------------------------------------------------------------*/ - -#ifdef ID_VOID_MAIN -void main() {} -#else -# if defined(__CLASSIC_C__) -int main(argc, argv) int argc; char *argv[]; -# else -int main(int argc, char* argv[]) -# endif -{ - int require = 0; - require += info_compiler[argc]; - require += info_platform[argc]; - require += info_arch[argc]; -#ifdef COMPILER_VERSION_MAJOR - require += info_version[argc]; -#endif -#ifdef COMPILER_VERSION_INTERNAL - require += info_version_internal[argc]; -#endif -#ifdef SIMULATE_ID - require += info_simulate[argc]; -#endif -#ifdef SIMULATE_VERSION_MAJOR - require += info_simulate_version[argc]; -#endif -#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) - require += info_cray[argc]; -#endif - require += info_language_standard_default[argc]; - require += info_language_extensions_default[argc]; - (void)argv; - return require; -} -#endif diff --git a/CMakeFiles/3.30.0-rc3/CompilerIdC/a.out b/CMakeFiles/3.30.0-rc3/CompilerIdC/a.out deleted file mode 100755 index 6dc55f1097b689bb800e144a39fecd62174ebd94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16776 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 search starts here: - /usr/lib/gcc/x86_64-linux-gnu/9/include - /usr/local/include - /usr/include/x86_64-linux-gnu - /usr/include - End of search list. - GNU C17 (Ubuntu 9.4.0-1ubuntu1~20.04.2) version 9.4.0 (x86_64-linux-gnu) - compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP - - GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 - Compiler executable checksum: 01da938ff5dc2163489aa33cb3b747a7 - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' - as -v --64 -o CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o /tmp/ccNfoHVm.s - GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34 - COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ - LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' - Linking C executable cmTC_2003b - /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2003b.dir/link.txt --verbose=1 - /usr/bin/cc -v -Wl,-v CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o -o cmTC_2003b - Using built-in specs. - COLLECT_GCC=/usr/bin/cc - COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper - OFFLOAD_TARGET_NAMES=nvptx-none:hsa - OFFLOAD_TARGET_DEFAULT=1 - Target: x86_64-linux-gnu - Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu - Thread model: posix - gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) - COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ - LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_2003b' '-mtune=generic' '-march=x86-64' - /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/cctCSGpQ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_2003b /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. -v CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o - collect2 version 9.4.0 - /usr/bin/ld -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/cctCSGpQ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_2003b /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. -v CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o - GNU ld (GNU Binutils for Ubuntu) 2.34 - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_2003b' '-mtune=generic' '-march=x86-64' - make[1]: Leaving directory '/home/ubuntu/coreMQTT/CMakeFiles/CMakeScratch/TryCompile-wThyma' - - exitCode: 0 - - - kind: "message-v1" - backtrace: - - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" - - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - - "CMakeLists.txt:2 (project)" - message: | - Parsed C implicit include dir info: rv=done - found start of include info - found start of implicit include info - add: [/usr/lib/gcc/x86_64-linux-gnu/9/include] - add: [/usr/local/include] - add: [/usr/include/x86_64-linux-gnu] - add: [/usr/include] - end of search list found - collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/9/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/9/include] - collapse include dir [/usr/local/include] ==> [/usr/local/include] - collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] - collapse include dir [/usr/include] ==> [/usr/include] - implicit include dirs: [/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] - - - - - kind: "message-v1" - backtrace: - - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" - - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - - "CMakeLists.txt:2 (project)" - message: | - Parsed C implicit link information: - link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] - linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)] - ignore line: [Change Dir: '/home/ubuntu/coreMQTT/CMakeFiles/CMakeScratch/TryCompile-wThyma'] - ignore line: [] - ignore line: [Run Build Command(s): /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_2003b/fast] - ignore line: [/usr/bin/make -f CMakeFiles/cmTC_2003b.dir/build.make CMakeFiles/cmTC_2003b.dir/build] - ignore line: [make[1]: Entering directory '/home/ubuntu/coreMQTT/CMakeFiles/CMakeScratch/TryCompile-wThyma'] - ignore line: [Building C object CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o] - ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o -c /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeCCompilerABI.c] - ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/cc] - ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa] - ignore line: [OFFLOAD_TARGET_DEFAULT=1] - ignore line: [Target: x86_64-linux-gnu] - ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] - ignore line: [Thread model: posix] - ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] - ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -v -imultiarch x86_64-linux-gnu /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccNfoHVm.s] - ignore line: [GNU C17 (Ubuntu 9.4.0-1ubuntu1~20.04.2) version 9.4.0 (x86_64-linux-gnu)] - ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] - ignore line: [] - ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] - ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] - ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"] - ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"] - ignore line: [#include "..." search starts here:] - ignore line: [#include <...> search starts here:] - ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/include] - ignore line: [ /usr/local/include] - ignore line: [ /usr/include/x86_64-linux-gnu] - ignore line: [ /usr/include] - ignore line: [End of search list.] - ignore line: [GNU C17 (Ubuntu 9.4.0-1ubuntu1~20.04.2) version 9.4.0 (x86_64-linux-gnu)] - ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] - ignore line: [] - ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] - ignore line: [Compiler executable checksum: 01da938ff5dc2163489aa33cb3b747a7] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o /tmp/ccNfoHVm.s] - ignore line: [GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34] - ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/] - ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] - ignore line: [Linking C executable cmTC_2003b] - ignore line: [/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2003b.dir/link.txt --verbose=1] - ignore line: [/usr/bin/cc -v -Wl -v CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o -o cmTC_2003b] - ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/cc] - ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] - ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa] - ignore line: [OFFLOAD_TARGET_DEFAULT=1] - ignore line: [Target: x86_64-linux-gnu] - ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] - ignore line: [Thread model: posix] - ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) ] - ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/] - ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_2003b' '-mtune=generic' '-march=x86-64'] - link line: [ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/cctCSGpQ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_2003b /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. -v CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] - arg [/usr/lib/gcc/x86_64-linux-gnu/9/collect2] ==> ignore - arg [-plugin] ==> ignore - arg [/usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so] ==> ignore - arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/cctCSGpQ.res] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore - arg [-plugin-opt=-pass-through=-lc] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore - arg [--build-id] ==> ignore - arg [--eh-frame-hdr] ==> ignore - arg [-m] ==> ignore - arg [elf_x86_64] ==> ignore - arg [--hash-style=gnu] ==> ignore - arg [--as-needed] ==> ignore - arg [-dynamic-linker] ==> ignore - arg [/lib64/ld-linux-x86-64.so.2] ==> ignore - arg [-pie] ==> ignore - arg [-znow] ==> ignore - arg [-zrelro] ==> ignore - arg [-o] ==> ignore - arg [cmTC_2003b] ==> ignore - arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] - arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] - arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] - arg [-L/usr/lib/gcc/x86_64-linux-gnu/9] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9] - arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] - arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] - arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] - arg [-L/lib/../lib] ==> dir [/lib/../lib] - arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] - arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] - arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] - arg [-v] ==> ignore - arg [CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o] ==> ignore - arg [-lgcc] ==> lib [gcc] - arg [--push-state] ==> ignore - arg [--as-needed] ==> ignore - arg [-lgcc_s] ==> lib [gcc_s] - arg [--pop-state] ==> ignore - arg [-lc] ==> lib [c] - arg [-lgcc] ==> lib [gcc] - arg [--push-state] ==> ignore - arg [--as-needed] ==> ignore - arg [-lgcc_s] ==> lib [gcc_s] - arg [--pop-state] ==> ignore - arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] - arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] - ignore line: [collect2 version 9.4.0] - ignore line: [/usr/bin/ld -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/cctCSGpQ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_2003b /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. -v CMakeFiles/cmTC_2003b.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] - linker tool for 'C': /usr/bin/ld - collapse obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o] - collapse obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o] - collapse obj [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> [/usr/lib/x86_64-linux-gnu/crtn.o] - collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9] ==> [/usr/lib/gcc/x86_64-linux-gnu/9] - collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] - collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> [/usr/lib] - collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] - collapse library dir [/lib/../lib] ==> [/lib] - collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] - collapse library dir [/usr/lib/../lib] ==> [/usr/lib] - collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> [/usr/lib] - implicit libs: [gcc;gcc_s;c;gcc;gcc_s] - implicit objs: [/usr/lib/x86_64-linux-gnu/Scrt1.o;/usr/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o;/usr/lib/x86_64-linux-gnu/crtn.o] - implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] - implicit fwks: [] - - - - - kind: "message-v1" - backtrace: - - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Internal/CMakeDetermineLinkerId.cmake:40 (message)" - - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:255 (cmake_determine_linker_id)" - - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - - "CMakeLists.txt:2 (project)" - message: | - Running the C compiler's linker: "/usr/bin/ld" "-v" - GNU ld (GNU Binutils for Ubuntu) 2.34 -... diff --git a/CMakeFiles/CMakeDirectoryInformation.cmake b/CMakeFiles/CMakeDirectoryInformation.cmake deleted file mode 100644 index 53a389810..000000000 --- a/CMakeFiles/CMakeDirectoryInformation.cmake +++ /dev/null @@ -1,16 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Relative path conversion top directories. -set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/ubuntu/coreMQTT/test") -set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/ubuntu/coreMQTT") - -# Force unix paths in dependencies. -set(CMAKE_FORCE_UNIX_PATHS 1) - - -# The C and CXX include file regular expressions for this directory. -set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") -set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") -set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) -set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/CMakeFiles/CMakeRuleHashes.txt b/CMakeFiles/CMakeRuleHashes.txt deleted file mode 100644 index 2bcf64ae0..000000000 --- a/CMakeFiles/CMakeRuleHashes.txt +++ /dev/null @@ -1,40 +0,0 @@ -# Hashes of file build rules. -fa1187bbae86d8362ef73e995aec7e51 CMakeFiles/coverage -847de4292c2cc6fd95fdf3468ecb6696 unit-test/MQTT/CMakeFiles/Continuous -a272e07db99b1cd01ce66de55819efc8 unit-test/MQTT/CMakeFiles/ContinuousBuild -35c544df994c0be696e5afc5707bd709 unit-test/MQTT/CMakeFiles/ContinuousConfigure -51c40983b76b8da779a91e166515b372 unit-test/MQTT/CMakeFiles/ContinuousCoverage -1d265be44d05bab16b51cac6cff23008 unit-test/MQTT/CMakeFiles/ContinuousMemCheck -c874863c10465fbc2b8e33effff429a4 unit-test/MQTT/CMakeFiles/ContinuousStart -0f89b2e8b206c81a65a5e5f16c5f6d44 unit-test/MQTT/CMakeFiles/ContinuousSubmit -b9048e42cd534dbc1fbd7d53859843e4 unit-test/MQTT/CMakeFiles/ContinuousTest -905aae9b33628b98de51f3befce60ce3 unit-test/MQTT/CMakeFiles/ContinuousUpdate -e4f34eff153bf62602df843031f1349d unit-test/MQTT/CMakeFiles/Experimental -b3d29441244c91d6bdcc33271e680ed5 unit-test/MQTT/CMakeFiles/ExperimentalBuild -7dd71b061c3091b0d0f84d8286541ad4 unit-test/MQTT/CMakeFiles/ExperimentalConfigure -2b5fc40110f947636cdab0eee60e2a12 unit-test/MQTT/CMakeFiles/ExperimentalCoverage -93553d1d5ac5148b90d13a26d38e819c unit-test/MQTT/CMakeFiles/ExperimentalMemCheck -2992a9666117ab00d8b69f6ff305c6e5 unit-test/MQTT/CMakeFiles/ExperimentalStart -0a64ea513d2d89f487a1eab893477702 unit-test/MQTT/CMakeFiles/ExperimentalSubmit -fba709fdeda43fe8b3f8fe8dcb4c3c6a unit-test/MQTT/CMakeFiles/ExperimentalTest -f353bdf7c43a294ac12649528f93bbfe unit-test/MQTT/CMakeFiles/ExperimentalUpdate -19b4f1c2466816707ca1cdaa764f06e8 unit-test/MQTT/CMakeFiles/Nightly -59c33a1d0578dd426f285f2ff4571286 unit-test/MQTT/CMakeFiles/NightlyBuild -7ba5a38df7a64b13ba907e4f71f0f37a unit-test/MQTT/CMakeFiles/NightlyConfigure -df9f6d31d9538fd4cf3e2dfc6985f3de unit-test/MQTT/CMakeFiles/NightlyCoverage -ad5737f8cfa04140e39c55b73ef0d4d6 unit-test/MQTT/CMakeFiles/NightlyMemCheck -00c9f12510a8d6366f777cdb8f5be1f1 unit-test/MQTT/CMakeFiles/NightlyMemoryCheck -0955bdae867c2f98f4a76da8b9d643c8 unit-test/MQTT/CMakeFiles/NightlyStart -04cdf47c7f81b9e09cd0367b1ed634b3 unit-test/MQTT/CMakeFiles/NightlySubmit -c7bb9e43a28663e08f91bdc922c8bafe unit-test/MQTT/CMakeFiles/NightlyTest -d3221c3f268b0dc5eba1c57b4ac57016 unit-test/MQTT/CMakeFiles/NightlyUpdate -7271bf85e6dd52e0a5152873a12370e3 unit-test/MQTT/core_mqtt_serializer_utest_runner.c -ad784c68f70d24d12cfe2f1de5550875 unit-test/MQTT/core_mqtt_state_utest_runner.c -5dcde25daaa60884ce104a39f9f0d2a2 unit-test/MQTT/core_mqtt_utest_runner.c -afaf43905cb2d0abf63a10776f81d25f unit-test/MQTT/mocks/mock_core_mqtt_serializer.c -e7f032790f91fabca78b770b14ef9aac unit-test/MQTT/mocks/mock_core_mqtt_state.c -cc3ece128c7910f2833a073c2a15fb46 unit-test/MQTTv5/core_mqttv5_serializer_utest_runner.c -db0d1698a6e1d864802c1702dd33453b unit-test/MQTTv5/core_mqttv5_state_utest_runner.c -a4b9fa43a197ee8e75dd2ee3b4317696 unit-test/MQTTv5/core_mqttv5_utest_runner.c -26733deef57aa05dc5dcaba1fb0b39b0 unit-test/MQTTv5/mocks/mock_core_mqtt_serializer.c -0f7a89519640ba3b26072854e3c52f1d unit-test/MQTTv5/mocks/mock_core_mqtt_state.c diff --git a/CMakeFiles/Makefile.cmake b/CMakeFiles/Makefile.cmake deleted file mode 100644 index 0cd57a0a5..000000000 --- a/CMakeFiles/Makefile.cmake +++ /dev/null @@ -1,167 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# The generator used is: -set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") - -# The top level Makefile was generated from the following files: -set(CMAKE_MAKEFILE_DEPENDS - "CMakeCache.txt" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeCCompiler.cmake.in" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeCCompilerABI.c" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeCInformation.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeCommonLanguageInclude.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeCompilerIdDetection.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeDetermineCCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeDetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeDetermineCompilerSupport.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeDetermineSystem.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeFindBinUtils.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeGenericSystem.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeInitializeConfigs.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeLanguageInformation.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeParseImplicitIncludeInfo.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeParseImplicitLinkInfo.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeParseLibraryArchitecture.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeSystem.cmake.in" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeSystemSpecificInformation.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeSystemSpecificInitialize.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeTestCompilerCommon.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CMakeUnixFindMake.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CTest.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CTestTargets.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/CTestUseLaunchers.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/ADSP-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/ARMCC-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/ARMClang-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/AppleClang-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/Borland-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/Clang-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/Cray-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/CrayClang-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/GHS-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/GNU-C-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/GNU-C.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/GNU-FindBinUtils.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/GNU.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/HP-C-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/IAR-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/Intel-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/LCC-C-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/MSVC-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/NVHPC-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/OrangeC-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/PGI-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/PathScale-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/SCO-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/TI-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/TIClang-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/Tasking-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/Watcom-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/XL-C-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Compiler/zOS-C-DetermineCompiler.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/DartConfiguration.tcl.in" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Internal/CMakeDetermineLinkerId.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Internal/FeatureTesting.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Platform/Linux-GNU-C.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Platform/Linux-GNU.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Platform/Linux-Initialize.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Platform/Linux.cmake" - "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30/Modules/Platform/UnixPaths.cmake" - "CMakeFiles/3.30.0-rc3/CMakeCCompiler.cmake" - "CMakeFiles/3.30.0-rc3/CMakeSystem.cmake" - "mqttFilePaths.cmake" - "/home/ubuntu/coreMQTT/test/CMakeLists.txt" - "/home/ubuntu/coreMQTT/test/unit-test/MQTT/CMakeLists.txt" - "/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/CMakeLists.txt" - "/home/ubuntu/coreMQTT/test/unit-test/cmock_build.cmake" - "tools/cmock/create_test.cmake" - ) - -# The corresponding makefile is: -set(CMAKE_MAKEFILE_OUTPUTS - "Makefile" - "CMakeFiles/cmake.check_cache" - ) - -# Byproducts of CMake generate step: -set(CMAKE_MAKEFILE_PRODUCTS - "CMakeFiles/3.30.0-rc3/CMakeSystem.cmake" - "CMakeFiles/3.30.0-rc3/CMakeCCompiler.cmake" - "CMakeFiles/3.30.0-rc3/CMakeCCompiler.cmake" - "CMakeFiles/CMakeDirectoryInformation.cmake" - "DartConfiguration.tcl" - "DartConfiguration.tcl" - "DartConfiguration.tcl" - "unit-test/MQTT/CMakeFiles/CMakeDirectoryInformation.cmake" - "DartConfiguration.tcl" - "DartConfiguration.tcl" - "DartConfiguration.tcl" - "unit-test/MQTTv5/CMakeFiles/CMakeDirectoryInformation.cmake" - ) - -# Dependency information for all targets: -set(CMAKE_DEPEND_INFO_FILES - "CMakeFiles/coverity_analysis.dir/DependInfo.cmake" - "CMakeFiles/cmock.dir/DependInfo.cmake" - "CMakeFiles/unity.dir/DependInfo.cmake" - "CMakeFiles/coverage.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/Experimental.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/Nightly.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/Continuous.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/NightlyStart.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/NightlyBuild.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/NightlyTest.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/NightlySubmit.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/ContinuousStart.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/ContinuousTest.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/DependInfo.cmake" - "unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/DependInfo.cmake" - "unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/DependInfo.cmake" - "unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/DependInfo.cmake" - "unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/DependInfo.cmake" - "unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/DependInfo.cmake" - "unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/DependInfo.cmake" - ) diff --git a/CMakeFiles/Makefile2 b/CMakeFiles/Makefile2 deleted file mode 100644 index f840ce1dd..000000000 --- a/CMakeFiles/Makefile2 +++ /dev/null @@ -1,1274 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Default target executed when no arguments are given to make. -default_target: all -.PHONY : default_target - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -#============================================================================= -# Directory level rules for the build root directory - -# The main recursive "all" target. -all: CMakeFiles/coverity_analysis.dir/all -all: CMakeFiles/cmock.dir/all -all: CMakeFiles/unity.dir/all -all: unit-test/MQTT/all -all: unit-test/MQTTv5/all -.PHONY : all - -# The main recursive "preinstall" target. -preinstall: unit-test/MQTT/preinstall -preinstall: unit-test/MQTTv5/preinstall -.PHONY : preinstall - -# The main recursive "clean" target. -clean: CMakeFiles/coverity_analysis.dir/clean -clean: CMakeFiles/cmock.dir/clean -clean: CMakeFiles/unity.dir/clean -clean: CMakeFiles/coverage.dir/clean -clean: unit-test/MQTT/clean -clean: unit-test/MQTTv5/clean -.PHONY : clean - -#============================================================================= -# Directory level rules for directory unit-test/MQTT - -# Recursive "all" directory target. -unit-test/MQTT/all: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/all -unit-test/MQTT/all: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/all -unit-test/MQTT/all: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/all -unit-test/MQTT/all: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/all -unit-test/MQTT/all: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/all -.PHONY : unit-test/MQTT/all - -# Recursive "preinstall" directory target. -unit-test/MQTT/preinstall: -.PHONY : unit-test/MQTT/preinstall - -# Recursive "clean" directory target. -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/Experimental.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/Nightly.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/Continuous.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/NightlyStart.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/NightlyBuild.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/NightlyTest.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/NightlySubmit.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ContinuousStart.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ContinuousTest.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/clean -unit-test/MQTT/clean: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/clean -.PHONY : unit-test/MQTT/clean - -#============================================================================= -# Directory level rules for directory unit-test/MQTTv5 - -# Recursive "all" directory target. -unit-test/MQTTv5/all: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/all -unit-test/MQTTv5/all: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/all -unit-test/MQTTv5/all: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/all -unit-test/MQTTv5/all: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/all -unit-test/MQTTv5/all: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/all -.PHONY : unit-test/MQTTv5/all - -# Recursive "preinstall" directory target. -unit-test/MQTTv5/preinstall: -.PHONY : unit-test/MQTTv5/preinstall - -# Recursive "clean" directory target. -unit-test/MQTTv5/clean: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/clean -unit-test/MQTTv5/clean: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/clean -unit-test/MQTTv5/clean: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/clean -unit-test/MQTTv5/clean: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/clean -unit-test/MQTTv5/clean: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/clean -.PHONY : unit-test/MQTTv5/clean - -#============================================================================= -# Target rules for target CMakeFiles/coverity_analysis.dir - -# All Build rule for target. -CMakeFiles/coverity_analysis.dir/all: - $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/depend - $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=45,46,47,48 "Built target coverity_analysis" -.PHONY : CMakeFiles/coverity_analysis.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/coverity_analysis.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 4 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/coverity_analysis.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : CMakeFiles/coverity_analysis.dir/rule - -# Convenience name for target. -coverity_analysis: CMakeFiles/coverity_analysis.dir/rule -.PHONY : coverity_analysis - -# clean rule for target. -CMakeFiles/coverity_analysis.dir/clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/clean -.PHONY : CMakeFiles/coverity_analysis.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/cmock.dir - -# All Build rule for target. -CMakeFiles/cmock.dir/all: CMakeFiles/unity.dir/all - $(MAKE) $(MAKESILENT) -f CMakeFiles/cmock.dir/build.make CMakeFiles/cmock.dir/depend - $(MAKE) $(MAKESILENT) -f CMakeFiles/cmock.dir/build.make CMakeFiles/cmock.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=1,2 "Built target cmock" -.PHONY : CMakeFiles/cmock.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/cmock.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 6 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/cmock.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : CMakeFiles/cmock.dir/rule - -# Convenience name for target. -cmock: CMakeFiles/cmock.dir/rule -.PHONY : cmock - -# clean rule for target. -CMakeFiles/cmock.dir/clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/cmock.dir/build.make CMakeFiles/cmock.dir/clean -.PHONY : CMakeFiles/cmock.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/unity.dir - -# All Build rule for target. -CMakeFiles/unity.dir/all: - $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/depend - $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=49,50,51,52 "Built target unity" -.PHONY : CMakeFiles/unity.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/unity.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 4 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/unity.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : CMakeFiles/unity.dir/rule - -# Convenience name for target. -unity: CMakeFiles/unity.dir/rule -.PHONY : unity - -# clean rule for target. -CMakeFiles/unity.dir/clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/clean -.PHONY : CMakeFiles/unity.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/coverage.dir - -# All Build rule for target. -CMakeFiles/coverage.dir/all: CMakeFiles/cmock.dir/all -CMakeFiles/coverage.dir/all: CMakeFiles/unity.dir/all -CMakeFiles/coverage.dir/all: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/all -CMakeFiles/coverage.dir/all: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/all -CMakeFiles/coverage.dir/all: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/all - $(MAKE) $(MAKESILENT) -f CMakeFiles/coverage.dir/build.make CMakeFiles/coverage.dir/depend - $(MAKE) $(MAKESILENT) -f CMakeFiles/coverage.dir/build.make CMakeFiles/coverage.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target coverage" -.PHONY : CMakeFiles/coverage.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/coverage.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 27 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/coverage.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : CMakeFiles/coverage.dir/rule - -# Convenience name for target. -coverage: CMakeFiles/coverage.dir/rule -.PHONY : coverage - -# clean rule for target. -CMakeFiles/coverage.dir/clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/coverage.dir/build.make CMakeFiles/coverage.dir/clean -.PHONY : CMakeFiles/coverage.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/all: CMakeFiles/cmock.dir/all -unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/all: CMakeFiles/unity.dir/all - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=3,4,5,6,7 "Built target core_mqtt_mock" -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 11 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/rule - -# Convenience name for target. -core_mqtt_mock: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/rule -.PHONY : core_mqtt_mock - -# clean rule for target. -unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/core_mqtt_real.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/all: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/all - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=8,9,10,11 "Built target core_mqtt_real" -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 15 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/rule - -# Convenience name for target. -core_mqtt_real: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/rule -.PHONY : core_mqtt_real - -# clean rule for target. -unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/Experimental.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/Experimental.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Experimental.dir/build.make unit-test/MQTT/CMakeFiles/Experimental.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Experimental.dir/build.make unit-test/MQTT/CMakeFiles/Experimental.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target Experimental" -.PHONY : unit-test/MQTT/CMakeFiles/Experimental.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/Experimental.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/Experimental.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/Experimental.dir/rule - -# Convenience name for target. -Experimental: unit-test/MQTT/CMakeFiles/Experimental.dir/rule -.PHONY : Experimental - -# clean rule for target. -unit-test/MQTT/CMakeFiles/Experimental.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Experimental.dir/build.make unit-test/MQTT/CMakeFiles/Experimental.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/Experimental.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/Nightly.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/Nightly.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Nightly.dir/build.make unit-test/MQTT/CMakeFiles/Nightly.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Nightly.dir/build.make unit-test/MQTT/CMakeFiles/Nightly.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target Nightly" -.PHONY : unit-test/MQTT/CMakeFiles/Nightly.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/Nightly.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/Nightly.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/Nightly.dir/rule - -# Convenience name for target. -Nightly: unit-test/MQTT/CMakeFiles/Nightly.dir/rule -.PHONY : Nightly - -# clean rule for target. -unit-test/MQTT/CMakeFiles/Nightly.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Nightly.dir/build.make unit-test/MQTT/CMakeFiles/Nightly.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/Nightly.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/Continuous.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/Continuous.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Continuous.dir/build.make unit-test/MQTT/CMakeFiles/Continuous.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Continuous.dir/build.make unit-test/MQTT/CMakeFiles/Continuous.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target Continuous" -.PHONY : unit-test/MQTT/CMakeFiles/Continuous.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/Continuous.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/Continuous.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/Continuous.dir/rule - -# Convenience name for target. -Continuous: unit-test/MQTT/CMakeFiles/Continuous.dir/rule -.PHONY : Continuous - -# clean rule for target. -unit-test/MQTT/CMakeFiles/Continuous.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Continuous.dir/build.make unit-test/MQTT/CMakeFiles/Continuous.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/Continuous.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build.make unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build.make unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target NightlyMemoryCheck" -.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/rule - -# Convenience name for target. -NightlyMemoryCheck: unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/rule -.PHONY : NightlyMemoryCheck - -# clean rule for target. -unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build.make unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/NightlyStart.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/NightlyStart.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyStart.dir/build.make unit-test/MQTT/CMakeFiles/NightlyStart.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyStart.dir/build.make unit-test/MQTT/CMakeFiles/NightlyStart.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target NightlyStart" -.PHONY : unit-test/MQTT/CMakeFiles/NightlyStart.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/NightlyStart.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyStart.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/NightlyStart.dir/rule - -# Convenience name for target. -NightlyStart: unit-test/MQTT/CMakeFiles/NightlyStart.dir/rule -.PHONY : NightlyStart - -# clean rule for target. -unit-test/MQTT/CMakeFiles/NightlyStart.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyStart.dir/build.make unit-test/MQTT/CMakeFiles/NightlyStart.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/NightlyStart.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/NightlyUpdate.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build.make unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build.make unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target NightlyUpdate" -.PHONY : unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/rule - -# Convenience name for target. -NightlyUpdate: unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/rule -.PHONY : NightlyUpdate - -# clean rule for target. -unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build.make unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/NightlyConfigure.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build.make unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build.make unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target NightlyConfigure" -.PHONY : unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/rule - -# Convenience name for target. -NightlyConfigure: unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/rule -.PHONY : NightlyConfigure - -# clean rule for target. -unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build.make unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/NightlyBuild.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/NightlyBuild.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build.make unit-test/MQTT/CMakeFiles/NightlyBuild.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build.make unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target NightlyBuild" -.PHONY : unit-test/MQTT/CMakeFiles/NightlyBuild.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/NightlyBuild.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyBuild.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/NightlyBuild.dir/rule - -# Convenience name for target. -NightlyBuild: unit-test/MQTT/CMakeFiles/NightlyBuild.dir/rule -.PHONY : NightlyBuild - -# clean rule for target. -unit-test/MQTT/CMakeFiles/NightlyBuild.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build.make unit-test/MQTT/CMakeFiles/NightlyBuild.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/NightlyBuild.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/NightlyTest.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/NightlyTest.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyTest.dir/build.make unit-test/MQTT/CMakeFiles/NightlyTest.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyTest.dir/build.make unit-test/MQTT/CMakeFiles/NightlyTest.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target NightlyTest" -.PHONY : unit-test/MQTT/CMakeFiles/NightlyTest.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/NightlyTest.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyTest.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/NightlyTest.dir/rule - -# Convenience name for target. -NightlyTest: unit-test/MQTT/CMakeFiles/NightlyTest.dir/rule -.PHONY : NightlyTest - -# clean rule for target. -unit-test/MQTT/CMakeFiles/NightlyTest.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyTest.dir/build.make unit-test/MQTT/CMakeFiles/NightlyTest.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/NightlyTest.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/NightlyCoverage.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build.make unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build.make unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target NightlyCoverage" -.PHONY : unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/rule - -# Convenience name for target. -NightlyCoverage: unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/rule -.PHONY : NightlyCoverage - -# clean rule for target. -unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build.make unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target NightlyMemCheck" -.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/rule - -# Convenience name for target. -NightlyMemCheck: unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/rule -.PHONY : NightlyMemCheck - -# clean rule for target. -unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/NightlySubmit.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/NightlySubmit.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build.make unit-test/MQTT/CMakeFiles/NightlySubmit.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build.make unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target NightlySubmit" -.PHONY : unit-test/MQTT/CMakeFiles/NightlySubmit.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/NightlySubmit.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlySubmit.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/NightlySubmit.dir/rule - -# Convenience name for target. -NightlySubmit: unit-test/MQTT/CMakeFiles/NightlySubmit.dir/rule -.PHONY : NightlySubmit - -# clean rule for target. -unit-test/MQTT/CMakeFiles/NightlySubmit.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build.make unit-test/MQTT/CMakeFiles/NightlySubmit.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/NightlySubmit.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/ExperimentalStart.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ExperimentalStart" -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/rule - -# Convenience name for target. -ExperimentalStart: unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/rule -.PHONY : ExperimentalStart - -# clean rule for target. -unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ExperimentalUpdate" -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/rule - -# Convenience name for target. -ExperimentalUpdate: unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/rule -.PHONY : ExperimentalUpdate - -# clean rule for target. -unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ExperimentalConfigure" -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/rule - -# Convenience name for target. -ExperimentalConfigure: unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/rule -.PHONY : ExperimentalConfigure - -# clean rule for target. -unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ExperimentalBuild" -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/rule - -# Convenience name for target. -ExperimentalBuild: unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/rule -.PHONY : ExperimentalBuild - -# clean rule for target. -unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/ExperimentalTest.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ExperimentalTest" -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/rule - -# Convenience name for target. -ExperimentalTest: unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/rule -.PHONY : ExperimentalTest - -# clean rule for target. -unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ExperimentalCoverage" -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/rule - -# Convenience name for target. -ExperimentalCoverage: unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/rule -.PHONY : ExperimentalCoverage - -# clean rule for target. -unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ExperimentalMemCheck" -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/rule - -# Convenience name for target. -ExperimentalMemCheck: unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/rule -.PHONY : ExperimentalMemCheck - -# clean rule for target. -unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ExperimentalSubmit" -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/rule - -# Convenience name for target. -ExperimentalSubmit: unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/rule -.PHONY : ExperimentalSubmit - -# clean rule for target. -unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/ContinuousStart.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/ContinuousStart.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousStart.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ContinuousStart" -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousStart.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/ContinuousStart.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousStart.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousStart.dir/rule - -# Convenience name for target. -ContinuousStart: unit-test/MQTT/CMakeFiles/ContinuousStart.dir/rule -.PHONY : ContinuousStart - -# clean rule for target. -unit-test/MQTT/CMakeFiles/ContinuousStart.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousStart.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousStart.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ContinuousUpdate" -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/rule - -# Convenience name for target. -ContinuousUpdate: unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/rule -.PHONY : ContinuousUpdate - -# clean rule for target. -unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ContinuousConfigure" -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/rule - -# Convenience name for target. -ContinuousConfigure: unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/rule -.PHONY : ContinuousConfigure - -# clean rule for target. -unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/ContinuousBuild.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ContinuousBuild" -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/rule - -# Convenience name for target. -ContinuousBuild: unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/rule -.PHONY : ContinuousBuild - -# clean rule for target. -unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/ContinuousTest.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/ContinuousTest.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousTest.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ContinuousTest" -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousTest.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/ContinuousTest.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousTest.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousTest.dir/rule - -# Convenience name for target. -ContinuousTest: unit-test/MQTT/CMakeFiles/ContinuousTest.dir/rule -.PHONY : ContinuousTest - -# clean rule for target. -unit-test/MQTT/CMakeFiles/ContinuousTest.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousTest.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousTest.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ContinuousCoverage" -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/rule - -# Convenience name for target. -ContinuousCoverage: unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/rule -.PHONY : ContinuousCoverage - -# clean rule for target. -unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ContinuousMemCheck" -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/rule - -# Convenience name for target. -ContinuousMemCheck: unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/rule -.PHONY : ContinuousMemCheck - -# clean rule for target. -unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/all: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num= "Built target ContinuousSubmit" -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/rule - -# Convenience name for target. -ContinuousSubmit: unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/rule -.PHONY : ContinuousSubmit - -# clean rule for target. -unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/all: CMakeFiles/unity.dir/all -unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/all: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/all - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=20,21,22,23 "Built target core_mqtt_utest" -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 19 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/rule - -# Convenience name for target. -core_mqtt_utest: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/rule -.PHONY : core_mqtt_utest - -# clean rule for target. -unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/all: CMakeFiles/unity.dir/all -unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/all: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/all - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=16,17,18,19 "Built target core_mqtt_state_utest" -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 19 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/rule - -# Convenience name for target. -core_mqtt_state_utest: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/rule -.PHONY : core_mqtt_state_utest - -# clean rule for target. -unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir - -# All Build rule for target. -unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/all: CMakeFiles/unity.dir/all -unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/all: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/all - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=12,13,14,15 "Built target core_mqtt_serializer_utest" -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 19 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/rule - -# Convenience name for target. -core_mqtt_serializer_utest: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/rule -.PHONY : core_mqtt_serializer_utest - -# clean rule for target. -unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/clean -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir - -# All Build rule for target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/all: CMakeFiles/cmock.dir/all -unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/all: CMakeFiles/unity.dir/all - $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=24,25,26,27,28 "Built target core_mqttv5_mock" -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 11 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/rule - -# Convenience name for target. -core_mqttv5_mock: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/rule -.PHONY : core_mqttv5_mock - -# clean rule for target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/clean -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir - -# All Build rule for target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/all: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/all - $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=29,30,31,32 "Built target core_mqttv5_real" -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 15 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/rule - -# Convenience name for target. -core_mqttv5_real: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/rule -.PHONY : core_mqttv5_real - -# clean rule for target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/clean -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir - -# All Build rule for target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/all: CMakeFiles/unity.dir/all -unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/all: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/all - $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=41,42,43,44 "Built target core_mqttv5_utest" -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 19 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/rule - -# Convenience name for target. -core_mqttv5_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/rule -.PHONY : core_mqttv5_utest - -# clean rule for target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/clean -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir - -# All Build rule for target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/all: CMakeFiles/unity.dir/all -unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/all: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/all - $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=37,38,39,40 "Built target core_mqttv5_state_utest" -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 19 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/rule - -# Convenience name for target. -core_mqttv5_state_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/rule -.PHONY : core_mqttv5_state_utest - -# clean rule for target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/clean -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/clean - -#============================================================================= -# Target rules for target unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir - -# All Build rule for target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/all: CMakeFiles/unity.dir/all -unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/all: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/all - $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/depend - $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=33,34,35,36 "Built target core_mqttv5_serializer_utest" -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/all - -# Build rule for subdir invocation for target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 19 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/rule - -# Convenience name for target. -core_mqttv5_serializer_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/rule -.PHONY : core_mqttv5_serializer_utest - -# clean rule for target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/clean: - $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/clean -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/clean - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/CMakeFiles/TargetDirectories.txt b/CMakeFiles/TargetDirectories.txt deleted file mode 100644 index 71cfbbb11..000000000 --- a/CMakeFiles/TargetDirectories.txt +++ /dev/null @@ -1,51 +0,0 @@ -/home/ubuntu/coreMQTT/CMakeFiles/coverity_analysis.dir -/home/ubuntu/coreMQTT/CMakeFiles/cmock.dir -/home/ubuntu/coreMQTT/CMakeFiles/unity.dir -/home/ubuntu/coreMQTT/CMakeFiles/coverage.dir -/home/ubuntu/coreMQTT/CMakeFiles/test.dir -/home/ubuntu/coreMQTT/CMakeFiles/edit_cache.dir -/home/ubuntu/coreMQTT/CMakeFiles/rebuild_cache.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/Experimental.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/Nightly.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/Continuous.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyStart.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyBuild.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyTest.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlySubmit.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousStart.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousTest.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/test.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/edit_cache.dir -/home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/rebuild_cache.dir -/home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir -/home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir -/home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir -/home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir -/home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir -/home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/test.dir -/home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/edit_cache.dir -/home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/rebuild_cache.dir diff --git a/CMakeFiles/cmake.check_cache b/CMakeFiles/cmake.check_cache deleted file mode 100644 index 3dccd7317..000000000 --- a/CMakeFiles/cmake.check_cache +++ /dev/null @@ -1 +0,0 @@ -# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/CMakeFiles/cmock.dir/DependInfo.cmake b/CMakeFiles/cmock.dir/DependInfo.cmake deleted file mode 100644 index 8e1f847c0..000000000 --- a/CMakeFiles/cmock.dir/DependInfo.cmake +++ /dev/null @@ -1,23 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/ubuntu/coreMQTT/test/unit-test/CMock/src/cmock.c" "CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o" "gcc" "CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/CMakeFiles/cmock.dir/build.make b/CMakeFiles/cmock.dir/build.make deleted file mode 100644 index 77229571a..000000000 --- a/CMakeFiles/cmock.dir/build.make +++ /dev/null @@ -1,111 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Include any dependencies generated for this target. -include CMakeFiles/cmock.dir/depend.make -# Include any dependencies generated by the compiler for this target. -include CMakeFiles/cmock.dir/compiler_depend.make - -# Include the progress variables for this target. -include CMakeFiles/cmock.dir/progress.make - -# Include the compile flags for this target's objects. -include CMakeFiles/cmock.dir/flags.make - -CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o: CMakeFiles/cmock.dir/flags.make -CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o: /home/ubuntu/coreMQTT/test/unit-test/CMock/src/cmock.c -CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o: CMakeFiles/cmock.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o -MF CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o.d -o CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o -c /home/ubuntu/coreMQTT/test/unit-test/CMock/src/cmock.c - -CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/test/unit-test/CMock/src/cmock.c > CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.i - -CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/test/unit-test/CMock/src/cmock.c -o CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.s - -# Object files for target cmock -cmock_OBJECTS = \ -"CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o" - -# External object files for target cmock -cmock_EXTERNAL_OBJECTS = - -lib/libcmock.a: CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o -lib/libcmock.a: CMakeFiles/cmock.dir/build.make -lib/libcmock.a: CMakeFiles/cmock.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking C static library lib/libcmock.a" - $(CMAKE_COMMAND) -P CMakeFiles/cmock.dir/cmake_clean_target.cmake - $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/cmock.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -CMakeFiles/cmock.dir/build: lib/libcmock.a -.PHONY : CMakeFiles/cmock.dir/build - -CMakeFiles/cmock.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/cmock.dir/cmake_clean.cmake -.PHONY : CMakeFiles/cmock.dir/clean - -CMakeFiles/cmock.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/CMakeFiles/cmock.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : CMakeFiles/cmock.dir/depend - diff --git a/CMakeFiles/cmock.dir/cmake_clean.cmake b/CMakeFiles/cmock.dir/cmake_clean.cmake deleted file mode 100644 index bdfb0d9ee..000000000 --- a/CMakeFiles/cmock.dir/cmake_clean.cmake +++ /dev/null @@ -1,11 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o" - "CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o.d" - "lib/libcmock.a" - "lib/libcmock.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/cmock.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/CMakeFiles/cmock.dir/cmake_clean_target.cmake b/CMakeFiles/cmock.dir/cmake_clean_target.cmake deleted file mode 100644 index 1c285cc74..000000000 --- a/CMakeFiles/cmock.dir/cmake_clean_target.cmake +++ /dev/null @@ -1,3 +0,0 @@ -file(REMOVE_RECURSE - "lib/libcmock.a" -) diff --git a/CMakeFiles/cmock.dir/compiler_depend.make b/CMakeFiles/cmock.dir/compiler_depend.make deleted file mode 100644 index 55ec6e371..000000000 --- a/CMakeFiles/cmock.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for cmock. -# This may be replaced when dependencies are built. diff --git a/CMakeFiles/cmock.dir/compiler_depend.ts b/CMakeFiles/cmock.dir/compiler_depend.ts deleted file mode 100644 index 78b930f7e..000000000 --- a/CMakeFiles/cmock.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for cmock. diff --git a/CMakeFiles/cmock.dir/depend.make b/CMakeFiles/cmock.dir/depend.make deleted file mode 100644 index aca723690..000000000 --- a/CMakeFiles/cmock.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for cmock. -# This may be replaced when dependencies are built. diff --git a/CMakeFiles/cmock.dir/flags.make b/CMakeFiles/cmock.dir/flags.make deleted file mode 100644 index 5430e358b..000000000 --- a/CMakeFiles/cmock.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# compile C with /usr/bin/cc -C_DEFINES = -DNDEBUG=1 - -C_INCLUDES = -I/home/ubuntu/coreMQTT/test/unit-test/CMock/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/examples -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src - -C_FLAGS = -std=gnu90 -fPIC -Og - diff --git a/CMakeFiles/cmock.dir/link.txt b/CMakeFiles/cmock.dir/link.txt deleted file mode 100644 index 85bc52cd7..000000000 --- a/CMakeFiles/cmock.dir/link.txt +++ /dev/null @@ -1,2 +0,0 @@ -/usr/bin/ar qc lib/libcmock.a "CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o" -/usr/bin/ranlib lib/libcmock.a diff --git a/CMakeFiles/cmock.dir/progress.make b/CMakeFiles/cmock.dir/progress.make deleted file mode 100644 index abadeb0c3..000000000 --- a/CMakeFiles/cmock.dir/progress.make +++ /dev/null @@ -1,3 +0,0 @@ -CMAKE_PROGRESS_1 = 1 -CMAKE_PROGRESS_2 = 2 - diff --git a/CMakeFiles/coverage.dir/DependInfo.cmake b/CMakeFiles/coverage.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/CMakeFiles/coverage.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/CMakeFiles/coverage.dir/build.make b/CMakeFiles/coverage.dir/build.make deleted file mode 100644 index 9ef21e811..000000000 --- a/CMakeFiles/coverage.dir/build.make +++ /dev/null @@ -1,91 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for coverage. - -# Include any custom commands dependencies for this target. -include CMakeFiles/coverage.dir/compiler_depend.make - -# Include the progress variables for this target. -include CMakeFiles/coverage.dir/progress.make - -CMakeFiles/coverage: lib/libcmock.a -CMakeFiles/coverage: lib/libunity.a -CMakeFiles/coverage: bin/tests/core_mqtt_utest -CMakeFiles/coverage: bin/tests/core_mqtt_serializer_utest -CMakeFiles/coverage: bin/tests/core_mqtt_state_utest - /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -DCMOCK_DIR=/home/ubuntu/coreMQTT/test/unit-test/CMock -P /home/ubuntu/coreMQTT/tools/cmock/coverage.cmake - -coverage: CMakeFiles/coverage -coverage: CMakeFiles/coverage.dir/build.make -.PHONY : coverage - -# Rule to build all files generated by this target. -CMakeFiles/coverage.dir/build: coverage -.PHONY : CMakeFiles/coverage.dir/build - -CMakeFiles/coverage.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/coverage.dir/cmake_clean.cmake -.PHONY : CMakeFiles/coverage.dir/clean - -CMakeFiles/coverage.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/CMakeFiles/coverage.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : CMakeFiles/coverage.dir/depend - diff --git a/CMakeFiles/coverage.dir/cmake_clean.cmake b/CMakeFiles/coverage.dir/cmake_clean.cmake deleted file mode 100644 index 6bf6402c4..000000000 --- a/CMakeFiles/coverage.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/coverage" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/coverage.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/CMakeFiles/coverage.dir/compiler_depend.make b/CMakeFiles/coverage.dir/compiler_depend.make deleted file mode 100644 index 0479aad53..000000000 --- a/CMakeFiles/coverage.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for coverage. -# This may be replaced when dependencies are built. diff --git a/CMakeFiles/coverage.dir/compiler_depend.ts b/CMakeFiles/coverage.dir/compiler_depend.ts deleted file mode 100644 index 8a6d882b0..000000000 --- a/CMakeFiles/coverage.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for coverage. diff --git a/CMakeFiles/coverage.dir/progress.make b/CMakeFiles/coverage.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/CMakeFiles/coverage.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/CMakeFiles/coverity_analysis.dir/DependInfo.cmake b/CMakeFiles/coverity_analysis.dir/DependInfo.cmake deleted file mode 100644 index b8fc057fb..000000000 --- a/CMakeFiles/coverity_analysis.dir/DependInfo.cmake +++ /dev/null @@ -1,25 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/ubuntu/coreMQTT/source/core_mqtt.c" "CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o" "gcc" "CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d" - "/home/ubuntu/coreMQTT/source/core_mqtt_serializer.c" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o" "gcc" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o.d" - "/home/ubuntu/coreMQTT/source/core_mqtt_state.c" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o" "gcc" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/CMakeFiles/coverity_analysis.dir/build.make b/CMakeFiles/coverity_analysis.dir/build.make deleted file mode 100644 index 3c60e1207..000000000 --- a/CMakeFiles/coverity_analysis.dir/build.make +++ /dev/null @@ -1,143 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Include any dependencies generated for this target. -include CMakeFiles/coverity_analysis.dir/depend.make -# Include any dependencies generated by the compiler for this target. -include CMakeFiles/coverity_analysis.dir/compiler_depend.make - -# Include the progress variables for this target. -include CMakeFiles/coverity_analysis.dir/progress.make - -# Include the compile flags for this target's objects. -include CMakeFiles/coverity_analysis.dir/flags.make - -CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o: CMakeFiles/coverity_analysis.dir/flags.make -CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o: source/core_mqtt.c -CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o: CMakeFiles/coverity_analysis.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d -o CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt.c - -CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/source/core_mqtt.c > CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.i - -CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/source/core_mqtt.c -o CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.s - -CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o: CMakeFiles/coverity_analysis.dir/flags.make -CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o: source/core_mqtt_state.c -CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o: CMakeFiles/coverity_analysis.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o.d -o CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt_state.c - -CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/source/core_mqtt_state.c > CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.i - -CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/source/core_mqtt_state.c -o CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.s - -CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o: CMakeFiles/coverity_analysis.dir/flags.make -CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o: source/core_mqtt_serializer.c -CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o: CMakeFiles/coverity_analysis.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o.d -o CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c - -CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c > CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.i - -CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c -o CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.s - -# Object files for target coverity_analysis -coverity_analysis_OBJECTS = \ -"CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o" \ -"CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o" \ -"CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o" - -# External object files for target coverity_analysis -coverity_analysis_EXTERNAL_OBJECTS = - -lib/libcoverity_analysis.a: CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o -lib/libcoverity_analysis.a: CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o -lib/libcoverity_analysis.a: CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o -lib/libcoverity_analysis.a: CMakeFiles/coverity_analysis.dir/build.make -lib/libcoverity_analysis.a: CMakeFiles/coverity_analysis.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C static library lib/libcoverity_analysis.a" - $(CMAKE_COMMAND) -P CMakeFiles/coverity_analysis.dir/cmake_clean_target.cmake - $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/coverity_analysis.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -CMakeFiles/coverity_analysis.dir/build: lib/libcoverity_analysis.a -.PHONY : CMakeFiles/coverity_analysis.dir/build - -CMakeFiles/coverity_analysis.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/coverity_analysis.dir/cmake_clean.cmake -.PHONY : CMakeFiles/coverity_analysis.dir/clean - -CMakeFiles/coverity_analysis.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/CMakeFiles/coverity_analysis.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : CMakeFiles/coverity_analysis.dir/depend - diff --git a/CMakeFiles/coverity_analysis.dir/cmake_clean.cmake b/CMakeFiles/coverity_analysis.dir/cmake_clean.cmake deleted file mode 100644 index 1c92be4a6..000000000 --- a/CMakeFiles/coverity_analysis.dir/cmake_clean.cmake +++ /dev/null @@ -1,15 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o" - "CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d" - "CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o" - "CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o.d" - "CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o" - "CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o.d" - "lib/libcoverity_analysis.a" - "lib/libcoverity_analysis.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/coverity_analysis.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/CMakeFiles/coverity_analysis.dir/cmake_clean_target.cmake b/CMakeFiles/coverity_analysis.dir/cmake_clean_target.cmake deleted file mode 100644 index 2d549a104..000000000 --- a/CMakeFiles/coverity_analysis.dir/cmake_clean_target.cmake +++ /dev/null @@ -1,3 +0,0 @@ -file(REMOVE_RECURSE - "lib/libcoverity_analysis.a" -) diff --git a/CMakeFiles/coverity_analysis.dir/compiler_depend.make b/CMakeFiles/coverity_analysis.dir/compiler_depend.make deleted file mode 100644 index 7d127885a..000000000 --- a/CMakeFiles/coverity_analysis.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for coverity_analysis. -# This may be replaced when dependencies are built. diff --git a/CMakeFiles/coverity_analysis.dir/compiler_depend.ts b/CMakeFiles/coverity_analysis.dir/compiler_depend.ts deleted file mode 100644 index 21247989b..000000000 --- a/CMakeFiles/coverity_analysis.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for coverity_analysis. diff --git a/CMakeFiles/coverity_analysis.dir/depend.make b/CMakeFiles/coverity_analysis.dir/depend.make deleted file mode 100644 index 6fac3c304..000000000 --- a/CMakeFiles/coverity_analysis.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for coverity_analysis. -# This may be replaced when dependencies are built. diff --git a/CMakeFiles/coverity_analysis.dir/flags.make b/CMakeFiles/coverity_analysis.dir/flags.make deleted file mode 100644 index a25ccd50c..000000000 --- a/CMakeFiles/coverity_analysis.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# compile C with /usr/bin/cc -C_DEFINES = -DMAX_USER_PROPERTY=5 -DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -DMQTT_VERSION_5_ENABLED=1 -DNDEBUG=1 - -C_INCLUDES = -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface - -C_FLAGS = -std=gnu90 - diff --git a/CMakeFiles/coverity_analysis.dir/link.txt b/CMakeFiles/coverity_analysis.dir/link.txt deleted file mode 100644 index 463f7745a..000000000 --- a/CMakeFiles/coverity_analysis.dir/link.txt +++ /dev/null @@ -1,2 +0,0 @@ -/usr/bin/ar qc lib/libcoverity_analysis.a CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o -/usr/bin/ranlib lib/libcoverity_analysis.a diff --git a/CMakeFiles/coverity_analysis.dir/progress.make b/CMakeFiles/coverity_analysis.dir/progress.make deleted file mode 100644 index 05ba7d201..000000000 --- a/CMakeFiles/coverity_analysis.dir/progress.make +++ /dev/null @@ -1,5 +0,0 @@ -CMAKE_PROGRESS_1 = 45 -CMAKE_PROGRESS_2 = 46 -CMAKE_PROGRESS_3 = 47 -CMAKE_PROGRESS_4 = 48 - diff --git a/CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d b/CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d deleted file mode 100644 index 0e34af1ce..000000000 --- a/CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d +++ /dev/null @@ -1,29 +0,0 @@ -CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o: \ - /home/ubuntu/coreMQTT/source/core_mqtt.c /usr/include/stdc-predef.h \ - /usr/include/string.h \ - /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/bits/long-double.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ - /usr/include/strings.h /usr/include/assert.h \ - /home/ubuntu/coreMQTT/source/include/core_mqtt_state.h \ - /home/ubuntu/coreMQTT/source/include/core_mqtt.h \ - /home/ubuntu/coreMQTT/source/include/core_mqtt_serializer.h \ - /usr/lib/gcc/x86_64-linux-gnu/9/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/timesize.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h \ - /usr/include/x86_64-linux-gnu/bits/time64.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h \ - /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ - /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ - /usr/lib/gcc/x86_64-linux-gnu/9/include/stdbool.h \ - /home/ubuntu/coreMQTT/source/interface/transport_interface.h \ - /home/ubuntu/coreMQTT/source/include/core_mqtt_config_defaults.h \ - /home/ubuntu/coreMQTT/source/include/core_mqtt_config_defaults.h \ - /home/ubuntu/coreMQTT/source/include/core_mqtt_serializer.h diff --git a/CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o.d b/CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o.d deleted file mode 100644 index 839064d35..000000000 --- a/CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o.d +++ /dev/null @@ -1,26 +0,0 @@ -CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o: \ - /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c \ - /usr/include/stdc-predef.h /usr/include/string.h \ - /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/bits/long-double.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ - /usr/include/strings.h /usr/include/assert.h \ - /home/ubuntu/coreMQTT/source/include/core_mqtt_serializer.h \ - /usr/lib/gcc/x86_64-linux-gnu/9/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/timesize.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h \ - /usr/include/x86_64-linux-gnu/bits/time64.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h \ - /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ - /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ - /usr/lib/gcc/x86_64-linux-gnu/9/include/stdbool.h \ - /home/ubuntu/coreMQTT/source/interface/transport_interface.h \ - /home/ubuntu/coreMQTT/source/include/core_mqtt_config_defaults.h \ - /home/ubuntu/coreMQTT/source/include/core_mqtt_config_defaults.h diff --git a/CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o.d b/CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o.d deleted file mode 100644 index 2727758c2..000000000 --- a/CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o.d +++ /dev/null @@ -1,28 +0,0 @@ -CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o: \ - /home/ubuntu/coreMQTT/source/core_mqtt_state.c \ - /usr/include/stdc-predef.h /usr/include/assert.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/bits/long-double.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h /usr/include/string.h \ - /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ - /usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ - /usr/include/strings.h \ - /home/ubuntu/coreMQTT/source/include/core_mqtt_state.h \ - /home/ubuntu/coreMQTT/source/include/core_mqtt.h \ - /home/ubuntu/coreMQTT/source/include/core_mqtt_serializer.h \ - /usr/lib/gcc/x86_64-linux-gnu/9/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/timesize.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h \ - /usr/include/x86_64-linux-gnu/bits/time64.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h \ - /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ - /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ - /usr/lib/gcc/x86_64-linux-gnu/9/include/stdbool.h \ - /home/ubuntu/coreMQTT/source/interface/transport_interface.h \ - /home/ubuntu/coreMQTT/source/include/core_mqtt_config_defaults.h \ - /home/ubuntu/coreMQTT/source/include/core_mqtt_config_defaults.h diff --git a/CMakeFiles/progress.marks b/CMakeFiles/progress.marks deleted file mode 100644 index 0691f67b2..000000000 --- a/CMakeFiles/progress.marks +++ /dev/null @@ -1 +0,0 @@ -52 diff --git a/CMakeFiles/unity.dir/DependInfo.cmake b/CMakeFiles/unity.dir/DependInfo.cmake deleted file mode 100644 index dec6fb4d9..000000000 --- a/CMakeFiles/unity.dir/DependInfo.cmake +++ /dev/null @@ -1,25 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c" "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o" "gcc" "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o.d" - "/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c" "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o" "gcc" "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o.d" - "/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src/unity.c" "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o" "gcc" "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/CMakeFiles/unity.dir/build.make b/CMakeFiles/unity.dir/build.make deleted file mode 100644 index f5838a297..000000000 --- a/CMakeFiles/unity.dir/build.make +++ /dev/null @@ -1,143 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Include any dependencies generated for this target. -include CMakeFiles/unity.dir/depend.make -# Include any dependencies generated by the compiler for this target. -include CMakeFiles/unity.dir/compiler_depend.make - -# Include the progress variables for this target. -include CMakeFiles/unity.dir/progress.make - -# Include the compile flags for this target's objects. -include CMakeFiles/unity.dir/flags.make - -CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o: CMakeFiles/unity.dir/flags.make -CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o: /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src/unity.c -CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o: CMakeFiles/unity.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o -MF CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o.d -o CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o -c /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src/unity.c - -CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src/unity.c > CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.i - -CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src/unity.c -o CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.s - -CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o: CMakeFiles/unity.dir/flags.make -CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o: /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c -CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o: CMakeFiles/unity.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o -MF CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o.d -o CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o -c /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c - -CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c > CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.i - -CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c -o CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.s - -CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o: CMakeFiles/unity.dir/flags.make -CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o: /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c -CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o: CMakeFiles/unity.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o -MF CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o.d -o CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o -c /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c - -CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c > CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.i - -CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c -o CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.s - -# Object files for target unity -unity_OBJECTS = \ -"CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o" \ -"CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o" \ -"CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o" - -# External object files for target unity -unity_EXTERNAL_OBJECTS = - -lib/libunity.a: CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o -lib/libunity.a: CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o -lib/libunity.a: CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o -lib/libunity.a: CMakeFiles/unity.dir/build.make -lib/libunity.a: CMakeFiles/unity.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C static library lib/libunity.a" - $(CMAKE_COMMAND) -P CMakeFiles/unity.dir/cmake_clean_target.cmake - $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/unity.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -CMakeFiles/unity.dir/build: lib/libunity.a -.PHONY : CMakeFiles/unity.dir/build - -CMakeFiles/unity.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/unity.dir/cmake_clean.cmake -.PHONY : CMakeFiles/unity.dir/clean - -CMakeFiles/unity.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/CMakeFiles/unity.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : CMakeFiles/unity.dir/depend - diff --git a/CMakeFiles/unity.dir/cmake_clean.cmake b/CMakeFiles/unity.dir/cmake_clean.cmake deleted file mode 100644 index 591a44dac..000000000 --- a/CMakeFiles/unity.dir/cmake_clean.cmake +++ /dev/null @@ -1,15 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o" - "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o.d" - "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o" - "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o.d" - "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o" - "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o.d" - "lib/libunity.a" - "lib/libunity.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/unity.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/CMakeFiles/unity.dir/cmake_clean_target.cmake b/CMakeFiles/unity.dir/cmake_clean_target.cmake deleted file mode 100644 index 7adebf191..000000000 --- a/CMakeFiles/unity.dir/cmake_clean_target.cmake +++ /dev/null @@ -1,3 +0,0 @@ -file(REMOVE_RECURSE - "lib/libunity.a" -) diff --git a/CMakeFiles/unity.dir/compiler_depend.make b/CMakeFiles/unity.dir/compiler_depend.make deleted file mode 100644 index 4b9b213e7..000000000 --- a/CMakeFiles/unity.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for unity. -# This may be replaced when dependencies are built. diff --git a/CMakeFiles/unity.dir/compiler_depend.ts b/CMakeFiles/unity.dir/compiler_depend.ts deleted file mode 100644 index f1c7ff6a9..000000000 --- a/CMakeFiles/unity.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for unity. diff --git a/CMakeFiles/unity.dir/depend.make b/CMakeFiles/unity.dir/depend.make deleted file mode 100644 index e8f4c92e3..000000000 --- a/CMakeFiles/unity.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for unity. -# This may be replaced when dependencies are built. diff --git a/CMakeFiles/unity.dir/flags.make b/CMakeFiles/unity.dir/flags.make deleted file mode 100644 index 132b2c24e..000000000 --- a/CMakeFiles/unity.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# compile C with /usr/bin/cc -C_DEFINES = -DNDEBUG=1 - -C_INCLUDES = -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/src - -C_FLAGS = -std=gnu90 -fPIC - diff --git a/CMakeFiles/unity.dir/link.txt b/CMakeFiles/unity.dir/link.txt deleted file mode 100644 index 24af2aae4..000000000 --- a/CMakeFiles/unity.dir/link.txt +++ /dev/null @@ -1,2 +0,0 @@ -/usr/bin/ar qc lib/libunity.a "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o" "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o" "CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o" -/usr/bin/ranlib lib/libunity.a diff --git a/CMakeFiles/unity.dir/progress.make b/CMakeFiles/unity.dir/progress.make deleted file mode 100644 index 04b2a4698..000000000 --- a/CMakeFiles/unity.dir/progress.make +++ /dev/null @@ -1,5 +0,0 @@ -CMAKE_PROGRESS_1 = 49 -CMAKE_PROGRESS_2 = 50 -CMAKE_PROGRESS_3 = 51 -CMAKE_PROGRESS_4 = 52 - From 0682349be386f643b12e55f9344d9920588520a5 Mon Sep 17 00:00:00 2001 From: Pooja Toshniwal <142602291+Pooja-Toshniwal@users.noreply.github.com> Date: Mon, 24 Jun 2024 11:00:44 +0530 Subject: [PATCH 28/82] Delete cov-out directory --- cov-out/BUILD.metrics.xml | 95 - cov-out/build-cwd.txt | 1 - cov-out/build-log.txt | 1324 --- cov-out/build-timings.txt | 29 - .../configure-log.txt | 8 - .../coverity_config.xml | 12 - .../coverity_config_created | 3 - .../g++-config-0/configure-log.txt | 4245 -------- .../g++-config-0/coverity-compiler-compat.h | 8657 ----------------- .../g++-config-0/coverity-macro-compat.h | 1333 --- .../g++-config-0/coverity_config.xml | 168 - .../g++cc-config-0/configure-log.txt | 4096 -------- .../g++cc-config-0/coverity-compiler-compat.h | 8645 ---------------- .../g++cc-config-0/coverity-macro-compat.h | 1084 --- .../g++cc-config-0/coverity_config.xml | 161 - .../gcc-config-0/configure-log.txt | 4096 -------- .../gcc-config-0/coverity-compiler-compat.h | 8656 ---------------- .../gcc-config-0/coverity-macro-compat.h | 1084 --- .../gcc-config-0/coverity_config.xml | 160 - .../ip-172-31-80-220/config/configure-log.txt | 93 - cov-out/emit/ip-172-31-80-220/emit-db | Bin 1159168 -> 0 bytes cov-out/emit/ip-172-31-80-220/emit-db.lock | 1 - .../emit/ip-172-31-80-220/emit-db.write-lock | 0 cov-out/emit/version | 2 - cov-out/output/analysis-log.txt | 20 - cov-out/output/summary.txt | 1 - cov-out/output/version | 2 - cov-out/security-da-log.txt | 4 - cov-out/security-da-timings.txt | 9 - cov-out/tmp/emit-db-cache | Bin 73728 -> 0 bytes cov-out/tmp/emit-db-cache.lock | 1 - cov-out/tu-timings.txt | 15 - 32 files changed, 44005 deletions(-) delete mode 100644 cov-out/BUILD.metrics.xml delete mode 100644 cov-out/build-cwd.txt delete mode 100644 cov-out/build-log.txt delete mode 100644 cov-out/build-timings.txt delete mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/configure-log.txt delete mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config.xml delete mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config_created delete mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/configure-log.txt delete mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity-compiler-compat.h delete mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity-macro-compat.h delete mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity_config.xml delete mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/configure-log.txt delete mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity-compiler-compat.h delete mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity-macro-compat.h delete mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity_config.xml delete mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/configure-log.txt delete mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-compiler-compat.h delete mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-macro-compat.h delete mode 100644 cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity_config.xml delete mode 100644 cov-out/emit/ip-172-31-80-220/config/configure-log.txt delete mode 100644 cov-out/emit/ip-172-31-80-220/emit-db delete mode 100644 cov-out/emit/ip-172-31-80-220/emit-db.lock delete mode 100644 cov-out/emit/ip-172-31-80-220/emit-db.write-lock delete mode 100644 cov-out/emit/version delete mode 100644 cov-out/output/analysis-log.txt delete mode 100644 cov-out/output/summary.txt delete mode 100644 cov-out/output/version delete mode 100644 cov-out/security-da-log.txt delete mode 100644 cov-out/security-da-timings.txt delete mode 100644 cov-out/tmp/emit-db-cache delete mode 100644 cov-out/tmp/emit-db-cache.lock delete mode 100644 cov-out/tu-timings.txt diff --git a/cov-out/BUILD.metrics.xml b/cov-out/BUILD.metrics.xml deleted file mode 100644 index 2a7f20cf3..000000000 --- a/cov-out/BUILD.metrics.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - time - 8 - - - args - cov-build --emit-complementary-info --dir cov-out make coverity_analysis - - - host - ip-172-31-80-220 - - - short-platform - linux64 - - - platform - Linux 5.15.0-1050-aws x86_64 - - - ident - 2023.6.1 (build 4ae07d0526 p-2023.6-push-61) - - - user - ubuntu - - - cwd - /home/ubuntu/coreMQTT - - - config - /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/coverity_config.xml - - - intermediatedir - /home/ubuntu/coreMQTT/cov-out - - - outputdir - /home/ubuntu/coreMQTT/cov-out/output - - - emitdir - /home/ubuntu/coreMQTT/cov-out/emit - - - force - no - - - cygwin - no - - - failures - 0 - - - successes - 3 - - - recoverable-errors - 0 - - - dotnet-webapps-detected - 0 - - - dotnet-webapp-successes - 0 - - - dotnet-webapp-compilation-secs - 0 - - - security-da-ms - 30 - - - buildcmd - make coverity_analysis - - - diff --git a/cov-out/build-cwd.txt b/cov-out/build-cwd.txt deleted file mode 100644 index b61fa42b0..000000000 --- a/cov-out/build-cwd.txt +++ /dev/null @@ -1 +0,0 @@ -/home/ubuntu/coreMQTT diff --git a/cov-out/build-log.txt b/cov-out/build-log.txt deleted file mode 100644 index 48be969be..000000000 --- a/cov-out/build-log.txt +++ /dev/null @@ -1,1324 +0,0 @@ -2024-06-21T07:00:01.176518Z|cov-build|1761684|info|> cov-build 2023.6.1 (build 4ae07d0526 p-2023.6-push-61) -2024-06-21T07:00:01.176565Z|cov-build|1761684|info|> Coverity Build Capture (64-bit) version 2023.6.1 on Linux 5.15.0-1050-aws x86_64 -2024-06-21T07:00:01.176565Z|cov-build|1761684|info|> Internal version numbers: 4ae07d0526 p-2023.6-push-61 -2024-06-21T07:00:01.176565Z|cov-build|1761684|info|> -2024-06-21T07:00:01.176584Z|cov-build|1761684|info|> Dumping from hostname : ip-172-31-80-220 -2024-06-21T07:00:01.176584Z|cov-build|1761684|info|> -2024-06-21T07:00:01.176593Z|cov-build|1761684|info|> Platform info: -2024-06-21T07:00:01.176593Z|cov-build|1761684|info|> Sysname = Linux -2024-06-21T07:00:01.176593Z|cov-build|1761684|info|> Release = 5.15.0-1050-aws -2024-06-21T07:00:01.176593Z|cov-build|1761684|info|> Machine = x86_64 -2024-06-21T07:00:01.176593Z|cov-build|1761684|info|> -2024-06-21T07:00:01.176593Z|cov-build|1761684|info|> -2024-06-21T07:00:01.176614Z|cov-build|1761684|info|> cov-build command: cov-build --emit-complementary-info --dir cov-out make coverity_analysis -2024-06-21T07:00:01.176623Z|cov-build|1761684|info|> cov-build expanded command: cov-build --emit-complementary-info --dir cov-out make coverity_analysis -2024-06-21T07:00:01.176903Z|cov-build|1761684|info|> build command: /usr/bin/make coverity_analysis -2024-06-21T07:00:01.176921Z|cov-build|1761684|info|> thunk command: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/cov-internal-thunk.sh make coverity_analysis -2024-06-21T07:00:01.176921Z|cov-build|1761684|info|> -2024-06-21T07:00:01.176933Z|cov-build|1761684|info|> Set MSBUILDDISABLENODEREUSE to 1 -2024-06-21T07:00:01.176941Z|cov-build|1761684|info|> Set UseSharedCompilation to false. -2024-06-21T07:00:01.176952Z|cov-build|1761684|info|> Set COVERITY_BIN to /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin -2024-06-21T07:00:01.176969Z|cov-build|1761684|info|> Set COVERITY_SITE_CC to *-g++;*-gcc;ar;c++;cc;g++-*;gcc-*;ld -2024-06-21T07:00:01.176977Z|cov-build|1761684|info|> Set COVERITY_SITE_CC_CAPTURE_DESCENDANTS to -2024-06-21T07:00:01.176986Z|cov-build|1761684|info|> Set COVERITY_TEMP to /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596 -2024-06-21T07:00:01.177000Z|cov-build|1761684|info|> Set COVERITY_COMMON_TEMP to /tmp -2024-06-21T07:00:01.177008Z|cov-build|1761684|info|> Set COVERITY_IDIR to /home/ubuntu/coreMQTT/cov-out -2024-06-21T07:00:01.177035Z|cov-build|1761684|info|> Set COVERITY_OUTPUT to /home/ubuntu/coreMQTT/cov-out/build-log.txt -2024-06-21T07:00:01.177042Z|cov-build|1761684|info|> Set COVERITY_LOG to /home/ubuntu/coreMQTT/cov-out/build-log.txt -2024-06-21T07:00:01.177060Z|cov-build|1761684|info|> Set COVERITY_OUTPUT_ENCODING to UTF-8 -2024-06-21T07:00:01.177068Z|cov-build|1761684|info|> Set COVERITY_SYSTEM_ENCODING to UTF-8 -2024-06-21T07:00:01.177076Z|cov-build|1761684|info|> Set COVERITY_EMIT to /home/ubuntu/coreMQTT/cov-out/emit -2024-06-21T07:00:01.177098Z|cov-build|1761684|info|> Set COVERITY_IS_COMPILER to 0 -2024-06-21T07:00:01.177105Z|cov-build|1761684|info|> Set COVERITY_TOP_PROCESS to 0 -2024-06-21T07:00:01.177110Z|cov-build|1761684|info|> Set COVERITY_IS_COMPILER_DESCENDANT to 0 -2024-06-21T07:00:01.177116Z|cov-build|1761684|info|> Set COVERITY_DISENGAGE_EXES to "qemuwrapper;qemu-aarch64;qemu-alpha;qemu-arm;qemu-armeb;qemu-cris;qemu-i386;qemu-m68k;qemu-microblaze;qemu-mips;qemu-mipsel;qemu-nios2;qemu-ppc;qemu-ppc64;qemu-ppc64abi32;qemu-sh4;qemu-sh4eb;qemu-sparc;qemu-sparc32plus;qemu-sparc64;qemu-x86_64" -2024-06-21T07:00:01.177173Z|cov-build|1761684|info|> -2024-06-21T07:00:01.177173Z|cov-build|1761684|info|> -2024-06-21T07:00:01.177173Z|cov-build|1761684|info|> Dumping Environment Variables: -2024-06-21T07:00:01.177173Z|cov-build|1761684|info|> -2024-06-21T07:00:01.177203Z|cov-build|1761684|info|> SHELL=/bin/bash -2024-06-21T07:00:01.177209Z|cov-build|1761684|info|> COLORTERM=truecolor -2024-06-21T07:00:01.177214Z|cov-build|1761684|info|> TERM_PROGRAM_VERSION=1.90.1 -2024-06-21T07:00:01.177220Z|cov-build|1761684|info|> PWD=/home/ubuntu/coreMQTT -2024-06-21T07:00:01.177225Z|cov-build|1761684|info|> LOGNAME=ubuntu -2024-06-21T07:00:01.177238Z|cov-build|1761684|info|> XDG_SESSION_TYPE=tty -2024-06-21T07:00:01.177244Z|cov-build|1761684|info|> VSCODE_GIT_ASKPASS_NODE=/home/ubuntu/.vscode-server/cli/servers/Stable-611f9bfce64f25108829dd295f54a6894e87339d/server/node -2024-06-21T07:00:01.177249Z|cov-build|1761684|info|> MOTD_SHOWN=pam -2024-06-21T07:00:01.177254Z|cov-build|1761684|info|> HOME=/home/ubuntu -2024-06-21T07:00:01.177260Z|cov-build|1761684|info|> LANG=C.UTF-8 -2024-06-21T07:00:01.177265Z|cov-build|1761684|info|> LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36: -2024-06-21T07:00:01.177273Z|cov-build|1761684|info|> SSL_CERT_DIR=/usr/lib/ssl/certs -2024-06-21T07:00:01.177279Z|cov-build|1761684|info|> GIT_ASKPASS=/home/ubuntu/.vscode-server/cli/servers/Stable-611f9bfce64f25108829dd295f54a6894e87339d/server/extensions/git/dist/askpass.sh -2024-06-21T07:00:01.177284Z|cov-build|1761684|info|> SSH_CONNECTION=15.248.4.151 1076 172.31.80.220 22 -2024-06-21T07:00:01.177290Z|cov-build|1761684|info|> VSCODE_GIT_ASKPASS_EXTRA_ARGS= -2024-06-21T07:00:01.177295Z|cov-build|1761684|info|> LESSCLOSE=/usr/bin/lesspipe %s %s -2024-06-21T07:00:01.177300Z|cov-build|1761684|info|> XDG_SESSION_CLASS=user -2024-06-21T07:00:01.177306Z|cov-build|1761684|info|> TERM=xterm-256color -2024-06-21T07:00:01.177311Z|cov-build|1761684|info|> LESSOPEN=| /usr/bin/lesspipe %s -2024-06-21T07:00:01.177316Z|cov-build|1761684|info|> USER=ubuntu -2024-06-21T07:00:01.177322Z|cov-build|1761684|info|> VSCODE_GIT_IPC_HANDLE=/run/user/1000/vscode-git-d220dbbd51.sock -2024-06-21T07:00:01.177327Z|cov-build|1761684|info|> SHLVL=1 -2024-06-21T07:00:01.177333Z|cov-build|1761684|info|> XDG_SESSION_ID=5887 -2024-06-21T07:00:01.177338Z|cov-build|1761684|info|> XDG_RUNTIME_DIR=/run/user/1000 -2024-06-21T07:00:01.177343Z|cov-build|1761684|info|> SSL_CERT_FILE=/usr/lib/ssl/certs/ca-certificates.crt -2024-06-21T07:00:01.177348Z|cov-build|1761684|info|> SSH_CLIENT=15.248.4.151 1076 22 -2024-06-21T07:00:01.177354Z|cov-build|1761684|info|> VSCODE_GIT_ASKPASS_MAIN=/home/ubuntu/.vscode-server/cli/servers/Stable-611f9bfce64f25108829dd295f54a6894e87339d/server/extensions/git/dist/askpass-main.js -2024-06-21T07:00:01.177360Z|cov-build|1761684|info|> XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop -2024-06-21T07:00:01.177365Z|cov-build|1761684|info|> BROWSER=/home/ubuntu/.vscode-server/cli/servers/Stable-611f9bfce64f25108829dd295f54a6894e87339d/server/bin/helpers/browser.sh -2024-06-21T07:00:01.177370Z|cov-build|1761684|info|> PATH=/tmp/cbmc-viewer/bin:/home/ubuntu/workspace/uncrustify-0.66.1/build:/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/:/usr/bin/java:/opt/homebrew/opt/openjdk/bin:/home/ubuntu/.toolbox/bin:/opt/homebrew/opt/ruby/bin:/home/ubuntu/.vscode-server/cli/servers/Stable-611f9bfce64f25108829dd295f54a6894e87339d/server/bin/remote-cli:/home/ubuntu/bin:/tmp/cbmc-viewer/bin:/home/ubuntu/workspace/uncrustify-0.66.1/build:/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/:/usr/bin/java:/opt/homebrew/opt/openjdk/bin:/home/ubuntu/.toolbox/bin:/opt/homebrew/opt/ruby/bin:/tmp/cbmc-viewer/bin:/home/ubuntu/workspace/uncrustify-0.66.1/build:/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/:/usr/bin/java:/opt/homebrew/opt/openjdk/bin:/home/ubuntu/.toolbox/bin:/opt/homebrew/opt/ruby/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin -2024-06-21T07:00:01.177381Z|cov-build|1761684|info|> DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus -2024-06-21T07:00:01.177387Z|cov-build|1761684|info|> TERM_PROGRAM=vscode -2024-06-21T07:00:01.177392Z|cov-build|1761684|info|> VSCODE_IPC_HOOK_CLI=/run/user/1000/vscode-ipc-34ea2f65-7eff-4b28-9ef7-2974233a0d32.sock -2024-06-21T07:00:01.177398Z|cov-build|1761684|info|> _=/usr/bin/make -2024-06-21T07:00:01.177403Z|cov-build|1761684|info|> COVERITY_PREV_XML_CATALOG_FILES= -2024-06-21T07:00:01.177408Z|cov-build|1761684|info|> COVERITY_TOP_CONFIG=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-configure/coverity_config.xml -2024-06-21T07:00:01.177414Z|cov-build|1761684|info|> COVERITY_BUILD_INVOCATION_ID=1 -2024-06-21T07:00:01.177419Z|cov-build|1761684|info|> COVERITY_CONFIG_FILE=/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/coverity_config.xml -2024-06-21T07:00:01.177425Z|cov-build|1761684|info|> MSBUILDDISABLENODEREUSE=1 -2024-06-21T07:00:01.177430Z|cov-build|1761684|info|> UseSharedCompilation=false -2024-06-21T07:00:01.177435Z|cov-build|1761684|info|> COVERITY_BIN=/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin -2024-06-21T07:00:01.177441Z|cov-build|1761684|info|> COVERITY_SITE_CC=*-g++;*-gcc;ar;c++;cc;g++-*;gcc-*;ld -2024-06-21T07:00:01.177446Z|cov-build|1761684|info|> COVERITY_SITE_CC_CAPTURE_DESCENDANTS= -2024-06-21T07:00:01.177451Z|cov-build|1761684|info|> COVERITY_TEMP=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596 -2024-06-21T07:00:01.177457Z|cov-build|1761684|info|> COVERITY_COMMON_TEMP=/tmp -2024-06-21T07:00:01.177468Z|cov-build|1761684|info|> COVERITY_IDIR=/home/ubuntu/coreMQTT/cov-out -2024-06-21T07:00:01.177474Z|cov-build|1761684|info|> COVERITY_REWRITE_FROM= -2024-06-21T07:00:01.177479Z|cov-build|1761684|info|> COVERITY_REWRITE_TO= -2024-06-21T07:00:01.177485Z|cov-build|1761684|info|> COVERITY_ENABLE_JAVA_ANNOTATION_FRAMEWORK_SUPPORT=1 -2024-06-21T07:00:01.177490Z|cov-build|1761684|info|> COVERITY_OUTPUT=/home/ubuntu/coreMQTT/cov-out/build-log.txt -2024-06-21T07:00:01.177495Z|cov-build|1761684|info|> COVERITY_LOG=/home/ubuntu/coreMQTT/cov-out/build-log.txt -2024-06-21T07:00:01.177501Z|cov-build|1761684|info|> COVERITY_OUTPUT_ENCODING=UTF-8 -2024-06-21T07:00:01.177506Z|cov-build|1761684|info|> COVERITY_SYSTEM_ENCODING=UTF-8 -2024-06-21T07:00:01.177511Z|cov-build|1761684|info|> COVERITY_EMIT=/home/ubuntu/coreMQTT/cov-out/emit -2024-06-21T07:00:01.177517Z|cov-build|1761684|info|> COVERITY_IS_COMPILER=0 -2024-06-21T07:00:01.177523Z|cov-build|1761684|info|> COVERITY_TOP_PROCESS=0 -2024-06-21T07:00:01.177528Z|cov-build|1761684|info|> COVERITY_IS_COMPILER_DESCENDANT=0 -2024-06-21T07:00:01.177533Z|cov-build|1761684|info|> COVERITY_DISENGAGE_EXES=qemuwrapper;qemu-aarch64;qemu-alpha;qemu-arm;qemu-armeb;qemu-cris;qemu-i386;qemu-m68k;qemu-microblaze;qemu-mips;qemu-mipsel;qemu-nios2;qemu-ppc;qemu-ppc64;qemu-ppc64abi32;qemu-sh4;qemu-sh4eb;qemu-sparc;qemu-sparc32plus;qemu-sparc64;qemu-x86_64 -2024-06-21T07:00:01.177539Z|cov-build|1761684|info|> COVERITY_COMPILER_PATH_MISMATCH_FILE=/home/ubuntu/coreMQTT/cov-out/has_path_mismatches -2024-06-21T07:00:01.177545Z|cov-build|1761684|info|> COVERITY_PATHLESS_CONFIGS_FILE=/home/ubuntu/coreMQTT/cov-out/has_pathless_configs -2024-06-21T07:00:01.177552Z|cov-build|1761684|info|> -2024-06-21T07:00:01.177552Z|cov-build|1761684|info|> -2024-06-21T07:00:01.177552Z|cov-build|1761684|info|> Dumping configuration: -2024-06-21T07:00:01.177552Z|cov-build|1761684|info|> -2024-06-21T07:00:01.177569Z|cov-build|1761684|info|> User/default configuration: -2024-06-21T07:00:01.177569Z|cov-build|1761684|info|> -2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> Configuration read from: command-line -2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> Node: coverity -2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> Node: config -2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/coverity_config.xml -2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> Node: config -2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> Node: prevent -2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> Node: dir Value: /home/ubuntu/coreMQTT/cov-out -2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> Node: config -2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> Node: prevent -2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> Node: emit_options -2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> Node: emit_complementary_info Value: true -2024-06-21T07:00:01.177577Z|cov-build|1761684|info|> -2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/coverity_config.xml -2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: coverity -2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: cit_version Value: 1 -2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: config -2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-0/coverity_config.xml -2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-1/coverity_config.xml -2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-2/coverity_config.xml -2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-0/coverity_config.xml -2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-1/coverity_config.xml -2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-ld-config-0/coverity_config.xml -2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-ar-config-0/coverity_config.xml -2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-2/coverity_config.xml -2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/gcc-config-0/coverity_config.xml -2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/g++-config-0/coverity_config.xml -2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/g++cc-config-0/coverity_config.xml -2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/ld-config-0/coverity_config.xml -2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> Node: include Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/ar-config-0/coverity_config.xml -2024-06-21T07:00:01.177619Z|cov-build|1761684|info|> -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-0/coverity_config.xml -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: coverity -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: cit_version Value: 1 -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: config -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: build -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: compiler -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: template_compiler Value: true -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: comp_name Value: cc -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: comp_translator Value: gcc -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: comp_lang Value: C -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: comp_generic Value: gnu -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: id Value: gcc-cc-.* -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-0/../user_nodefs.h -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: begin_command_line_config -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: id Value: g++-cc-.* -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-0/../user_nodefs.h -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: begin_command_line_config -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: id Value: g++cc-cc-.* -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-0/../user_nodefs.h -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: begin_command_line_config -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> Node: md5 Value: 47a502735554e6c25b61a8bf08e5fa6d -2024-06-21T07:00:01.177681Z|cov-build|1761684|info|> -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-1/coverity_config.xml -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: coverity -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: cit_version Value: 1 -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: config -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: build -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: compiler -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: template_compiler Value: true -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: comp_name Value: gcc-* -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: comp_translator Value: gcc -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: comp_lang Value: C -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: comp_generic Value: gnu -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: id Value: gcc-gcc-*-.* -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-1/../user_nodefs.h -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: begin_command_line_config -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: id Value: g++-gcc-*-.* -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-1/../user_nodefs.h -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: begin_command_line_config -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: id Value: g++cc-gcc-*-.* -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-1/../user_nodefs.h -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: begin_command_line_config -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> Node: md5 Value: a78235e18925f1b08d266850c13072da -2024-06-21T07:00:01.177761Z|cov-build|1761684|info|> -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-2/coverity_config.xml -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: coverity -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: cit_version Value: 1 -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: config -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: build -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: compiler -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: template_compiler Value: true -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: comp_name Value: *-gcc -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: comp_translator Value: gcc -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: comp_lang Value: C -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: comp_generic Value: gnu -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: id Value: gcc-*-gcc-.* -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-2/../user_nodefs.h -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: begin_command_line_config -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: id Value: g++-*-gcc-.* -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-2/../user_nodefs.h -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: begin_command_line_config -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: id Value: g++cc-*-gcc-.* -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-2/../user_nodefs.h -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: begin_command_line_config -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> Node: md5 Value: 330d30838fa2e2405efcbf0025bbb1d9 -2024-06-21T07:00:01.177843Z|cov-build|1761684|info|> -2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-0/coverity_config.xml -2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: coverity -2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: cit_version Value: 1 -2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: config -2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: build -2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: compiler -2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: template_compiler Value: true -2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: comp_name Value: g++-* -2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: comp_translator Value: g++ -2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: comp_lang Value: C++ -2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: comp_generic Value: gnu -2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: id Value: g++-g++-*-.* -2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-0/../user_nodefs.h -2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: begin_command_line_config -2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: id Value: g++cc-g++-*-.* -2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-0/../user_nodefs.h -2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: begin_command_line_config -2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> Node: md5 Value: e2e8095ec14432cf12688981162829bb -2024-06-21T07:00:01.177923Z|cov-build|1761684|info|> -2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-1/coverity_config.xml -2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: coverity -2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: cit_version Value: 1 -2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: config -2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: build -2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: compiler -2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: template_compiler Value: true -2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: comp_name Value: *-g++ -2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: comp_translator Value: g++ -2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: comp_lang Value: C++ -2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: comp_generic Value: gnu -2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: id Value: g++-*-g++-.* -2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-1/../user_nodefs.h -2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: begin_command_line_config -2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: id Value: g++cc-*-g++-.* -2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-1/../user_nodefs.h -2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: begin_command_line_config -2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> Node: md5 Value: f63f9f20a2517b24ca5dec686eb6ca2d -2024-06-21T07:00:01.177993Z|cov-build|1761684|info|> -2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-ld-config-0/coverity_config.xml -2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: coverity -2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: cit_version Value: 1 -2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: config -2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: build -2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: compiler -2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: template_compiler Value: true -2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: comp_name Value: ld -2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: comp_translator Value: ld -2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: comp_lang Value: C++ -2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: comp_generic Value: ld -2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: id Value: ld-ld-.* -2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-ld-config-0/../user_nodefs.h -2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: begin_command_line_config -2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> Node: md5 Value: b7c847d801b0294a4f0f52192f7f3e16 -2024-06-21T07:00:01.178060Z|cov-build|1761684|info|> -2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-ar-config-0/coverity_config.xml -2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: coverity -2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: cit_version Value: 1 -2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: config -2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: build -2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: compiler -2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: template_compiler Value: true -2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: comp_name Value: ar -2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: comp_translator Value: ar -2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: comp_lang Value: C++ -2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: comp_generic Value: ar -2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: id Value: ar-ar-.* -2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-ar-config-0/../user_nodefs.h -2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: begin_command_line_config -2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> Node: md5 Value: a125f1c14acadfc9d06e8f9e711705ce -2024-06-21T07:00:01.178118Z|cov-build|1761684|info|> -2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-2/coverity_config.xml -2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: coverity -2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: cit_version Value: 1 -2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: config -2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: build -2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: compiler -2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: template_compiler Value: true -2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: comp_name Value: c++ -2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: comp_translator Value: g++ -2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: comp_lang Value: C++ -2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: comp_generic Value: gnu -2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: id Value: g++-c++-.* -2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-2/../user_nodefs.h -2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: begin_command_line_config -2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: id Value: g++cc-c++-.* -2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-g++-config-2/../user_nodefs.h -2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: begin_command_line_config -2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> Node: md5 Value: 6110077f86d72b6001f0d20220e5c335 -2024-06-21T07:00:01.178172Z|cov-build|1761684|info|> -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/gcc-config-0/coverity_config.xml -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: coverity -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: cit_version Value: 1 -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: config -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: build -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: compiler -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_name Value: cc -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_name Value: gcc -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_name Value: gcc-9 -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_name Value: x86_64-linux-gnu-gcc-9 -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_dir Value: /usr/bin -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_translator Value: gcc -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_lang Value: C -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_front_end Value: cov-emit -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_desc Value: GNU C compiler -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_next_type Value: g++ -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_generic Value: gnu -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: comp_require -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: id Value: gcc-cc-9.4.0-0 -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: version Value: 9.4.0 -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: is_compiler Value: true -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: is_linker Value: true -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: target_platform Value: all -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: id Value: gcc-cc-9.4.0-0 -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: compile_options -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/lib/gcc/x86_64-linux-gnu/9/include -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/local/include -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/include/x86_64-linux-gnu -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/include -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: dryrun_switch Value: -E -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: dryrun_switch Value: -v -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: dump_macros_arg Value: -dM -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: dump_macros_arg Value: -E -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: preprocess_remove_arg Value: -o.+ -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: preprocess_remove_arg Value: -c -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: preprocess_remove_arg Value: -Werror -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: preprocess_remove_next_arg Value: -o -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: preprocess_switch Value: -E -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: preprocess_switch Value: -U__BLOCKS__ -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: preprocess_switch Value: -xc -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: preprocess_compile_switch Value: -C -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: preprocess_output Value: - -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: dryrun_output Value: 2 -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: pre_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/gcc-config-0/coverity-compiler-compat.h -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: macro_pre_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/gcc-config-0/coverity-macro-compat.h -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --fixed_point -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity___fpreg -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity_decimal -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity_float -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity_floatx -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefined_feature_test_macros -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_stdarg_builtin -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --enable_128bit_int -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefined_cplusplus -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: -w -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefines -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --comp_ver -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: 9.4.0 -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --size_t_type=m -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --ptrdiff_t_type=l -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --type_sizes=xl8i4s2e16d8f4P8 -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --type_alignments=xl8i4s2e16d8f4P8 -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --char_bit_size=8 -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --restrict -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --gnu_carriage_return_line_terminator -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --wchar_t_type=i -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_multiline_string -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_trigraphs -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --ignore_calling_convention -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --c11 -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --enable_80bit_float -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --enable_128bit_float -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --allow__bool -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --macro_stack_pragmas -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --inline_keyword -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --has_include_macro -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --has_include_next_macro -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --has_cpp_attribute_macro -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefines -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: skip_file Value: conftest\.c{1,2}$ -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: skip_file Value: conftest\.cpp$ -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: skip_file Value: cgo-cc-input-[0-9]+\.(c|cc|cpp|cxx) -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/gcc-config-0/../user_nodefs.h -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: pch_options -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: archetype Value: gcc -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: link_options -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/ -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/ -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/ -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/ -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/ -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/ -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/ -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/x86_64-linux-gnu/9/ -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/x86_64-linux-gnu/ -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/../lib/ -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/9/ -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/ -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/../lib/ -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/ -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../ -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/ -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/ -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /lib/x86_64-linux-gnu/libc.so.6 -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: expand -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: replace_arg_regex -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: replace Value: @(.*) -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: with Value: --coverity_resp_file=$1 -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: pre_trans -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: intern_trans Value: gnu_pre_translate -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: trans -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: includes_from_env_var Value: CPATH -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: includes_from_env_var_empty_is_cwd Value: true -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: trans -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: includes_from_env_var Value: C_INCLUDE_PATH -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: pre_prepend_arg Value: --c -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: begin_command_line_config -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> Node: md5 Value: fa43e70bd3a8a44c80caa7233d3b888a -2024-06-21T07:00:01.178242Z|cov-build|1761684|info|> -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/g++-config-0/coverity_config.xml -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: coverity -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: cit_version Value: 1 -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: config -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: build -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: compiler -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_name Value: cc -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_name Value: gcc -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_name Value: gcc-9 -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_name Value: x86_64-linux-gnu-gcc-9 -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_dir Value: /usr/bin -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_translator Value: g++ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_lang Value: C++ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_front_end Value: cov-emit -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_desc Value: GNU C++ Compiler -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_next_type Value: g++cc -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_generic Value: gnu -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: comp_require -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: id Value: g++-cc-9.4.0-0 -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: version Value: 9.4.0 -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: is_compiler Value: true -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: is_linker Value: true -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: target_platform Value: all -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: id Value: g++-cc-9.4.0-0 -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: compile_options -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/include/c++/9 -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/include/x86_64-linux-gnu/c++/9 -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/include/c++/9/backward -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/lib/gcc/x86_64-linux-gnu/9/include -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/local/include -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/include/x86_64-linux-gnu -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/include -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: dryrun_switch Value: -E -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: dryrun_switch Value: -v -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: dump_macros_arg Value: -dM -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: dump_macros_arg Value: -E -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: preprocess_remove_arg Value: -o.+ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: preprocess_remove_arg Value: -c -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: preprocess_remove_arg Value: -Werror -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: preprocess_remove_next_arg Value: -o -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: preprocess_switch Value: -xc++ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: preprocess_switch Value: -E -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: preprocess_switch Value: -U__BLOCKS__ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: preprocess_compile_switch Value: -C -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: preprocess_output Value: - -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: dryrun_output Value: 2 -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: pre_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/g++-config-0/coverity-compiler-compat.h -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: macro_pre_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/g++-config-0/coverity-macro-compat.h -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity___fpreg -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity_decimal -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity_float -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity_floatx -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefined_feature_test_macros -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_stdarg_builtin -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --enable_128bit_int -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefined_cplusplus -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: -w -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefines -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --comp_ver -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: 9.4.0 -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --size_t_type=m -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --ptrdiff_t_type=l -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --type_sizes=w4xl8i4s2e16d8f4P8 -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --type_alignments=w4xl8i4s2e16d8f4P8 -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --char_bit_size=8 -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --gnu_carriage_return_line_terminator -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --wchar_t_keyword -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_multiline_string -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_trigraphs -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --ignore_calling_convention -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --enable_80bit_float -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --enable_128bit_float -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --macro_stack_pragmas -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --exceptions -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --arg_dependent_overload -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --inline_keyword -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --has_include_macro -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --has_include_next_macro -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --has_cpp_attribute_macro -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefines -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: skip_file Value: conftest\.c{1,2}$ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: skip_file Value: conftest\.cpp$ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: skip_file Value: cgo-cc-input-[0-9]+\.(c|cc|cpp|cxx) -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/g++-config-0/../user_nodefs.h -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: pch_options -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: archetype Value: gcc -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: link_options -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/x86_64-linux-gnu/9/ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/x86_64-linux-gnu/ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/../lib/ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/9/ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/../lib/ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /lib/x86_64-linux-gnu/libc.so.6 -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: pre_trans -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: pre_prepend_arg Value: -coverity_c_suffixes_are_cxx -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: trans -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: includes_from_env_var Value: CPLUS_INCLUDE_PATH -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: pre_prepend_arg Value: --c++ -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: expand -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: replace_arg_regex -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: replace Value: @(.*) -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: with Value: --coverity_resp_file=$1 -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: pre_trans -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: intern_trans Value: gnu_pre_translate -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: trans -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: includes_from_env_var Value: CPATH -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: includes_from_env_var_empty_is_cwd Value: true -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: begin_command_line_config -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> Node: md5 Value: e4a8e0aa2d6b355e063647836a01d13e -2024-06-21T07:00:01.178708Z|cov-build|1761684|info|> -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/g++cc-config-0/coverity_config.xml -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: coverity -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: cit_version Value: 1 -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: config -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: build -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: compiler -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: comp_name Value: cc -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: comp_name Value: gcc -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: comp_name Value: gcc-9 -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: comp_name Value: x86_64-linux-gnu-gcc-9 -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: comp_dir Value: /usr/bin -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: comp_translator Value: g++cc -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: comp_lang Value: C -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: comp_front_end Value: cov-emit -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: comp_desc Value: GNU C++ Compiler -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: comp_generic Value: gnu -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: comp_require -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: id Value: g++cc-cc-9.4.0-0 -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: version Value: 9.4.0 -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: is_compiler Value: true -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: is_linker Value: true -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: target_platform Value: all -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: id Value: g++cc-cc-9.4.0-0 -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: compile_options -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/lib/gcc/x86_64-linux-gnu/9/include -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/local/include -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/include/x86_64-linux-gnu -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: sysinclude_dir Value: /usr/include -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: dryrun_switch Value: -xc -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: dryrun_switch Value: -E -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: dryrun_switch Value: -v -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: dump_macros_arg Value: -xc -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: dump_macros_arg Value: -dM -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: dump_macros_arg Value: -E -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: preprocess_remove_arg Value: -o.+ -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: preprocess_remove_arg Value: -c -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: preprocess_remove_arg Value: -Werror -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: preprocess_remove_next_arg Value: -o -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: preprocess_switch Value: -E -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: preprocess_switch Value: -U__BLOCKS__ -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: preprocess_switch Value: -xc -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: preprocess_compile_switch Value: -C -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: preprocess_output Value: - -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: dryrun_output Value: 2 -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: pre_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/g++cc-config-0/coverity-compiler-compat.h -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: macro_pre_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/g++cc-config-0/coverity-macro-compat.h -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --fixed_point -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity___fpreg -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity_decimal -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity_float -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --add_type_modifier=__coverity_floatx -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefined_feature_test_macros -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_stdarg_builtin -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --enable_128bit_int -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefined_cplusplus -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: -w -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefines -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --comp_ver -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: 9.4.0 -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --size_t_type=m -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --ptrdiff_t_type=l -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --type_sizes=xl8i4s2e16d8f4P8 -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --type_alignments=xl8i4s2e16d8f4P8 -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --char_bit_size=8 -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --restrict -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --gnu_carriage_return_line_terminator -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --wchar_t_type=i -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_multiline_string -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_trigraphs -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --ignore_calling_convention -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --c11 -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --enable_80bit_float -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --enable_128bit_float -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --allow__bool -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --macro_stack_pragmas -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --inline_keyword -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --has_include_macro -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --has_include_next_macro -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --has_cpp_attribute_macro -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: prepend_arg Value: --no_predefines -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: skip_file Value: conftest\.c{1,2}$ -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: skip_file Value: conftest\.cpp$ -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: skip_file Value: cgo-cc-input-[0-9]+\.(c|cc|cpp|cxx) -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: opt_preinclude_file Value: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/g++cc-config-0/../user_nodefs.h -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: pch_options -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: archetype Value: gcc -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: link_options -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/ -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/ -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/ -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/ -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/ -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/ -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/ -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/x86_64-linux-gnu/9/ -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/x86_64-linux-gnu/ -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/../lib/ -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/9/ -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/ -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/../lib/ -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/ -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../ -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/ -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/ -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /lib/x86_64-linux-gnu/libc.so.6 -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: expand -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: replace_arg_regex -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: replace Value: @(.*) -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: with Value: --coverity_resp_file=$1 -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: pre_trans -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: intern_trans Value: gnu_pre_translate -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: trans -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: includes_from_env_var Value: CPATH -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: includes_from_env_var_empty_is_cwd Value: true -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: trans -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: includes_from_env_var Value: C_INCLUDE_PATH -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: pre_prepend_arg Value: --c -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: begin_command_line_config -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> Node: md5 Value: fe08a0965bc5366760afc2269319554b -2024-06-21T07:00:01.179182Z|cov-build|1761684|info|> -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/ld-config-0/coverity_config.xml -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: coverity -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: cit_version Value: 1 -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: config -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: build -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: compiler -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: comp_name Value: ld -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: comp_name Value: x86_64-linux-gnu-ld -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: comp_name Value: x86_64-linux-gnu-ld.bfd -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: comp_dir Value: /usr/bin -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: comp_translator Value: ld -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: comp_lang Value: C++ -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: comp_front_end Value: cov-emit -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: comp_desc Value: GNU C/C++ Linker -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: comp_generic Value: ld -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: id Value: ld-ld-0 -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: is_compiler Value: false -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: is_linker Value: true -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: id Value: ld-ld-0 -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: link_options -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/local/lib/x86_64-linux-gnu -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /lib/x86_64-linux-gnu -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/x86_64-linux-gnu -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib/x86_64-linux-gnu64 -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/local/lib64 -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /lib64 -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib64 -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/local/lib -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /lib -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/lib -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/x86_64-linux-gnu/lib64 -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: library_search_path Value: /usr/x86_64-linux-gnu/lib -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: begin_command_line_config -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> Node: md5 Value: 1b5d7553988ecb815982d43c29ad861f -2024-06-21T07:00:01.179637Z|cov-build|1761684|info|> -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Configuration read from: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/ar-config-0/coverity_config.xml -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: coverity -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: cit_version Value: 1 -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: config -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: build -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: compiler -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: comp_name Value: ar -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: comp_name Value: x86_64-linux-gnu-ar -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: comp_dir Value: /usr/bin -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: comp_translator Value: ar -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: comp_lang Value: C++ -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: comp_front_end Value: cov-emit -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: comp_desc Value: UNIX-like 'ar` archiver -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: comp_generic Value: ar -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: id Value: ar-ar-0 -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: is_compiler Value: false -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: is_linker Value: true -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: id Value: ar-ar-0 -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: link_options -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: pre_trans -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: options -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: intern_trans Value: ar_pre_translate -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: begin_command_line_config -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> Node: md5 Value: 0a88030e21142e1d5707f9a30278f834 -2024-06-21T07:00:01.179756Z|cov-build|1761684|info|> -2024-06-21T07:00:01.182508Z|cov-build|1761684|info|> Using LD_PRELOAD = /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/libcapture-linux64-${PLATFORM}.so -[1761687] EXECUTING: make coverity_analysis -[1761688] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -S/home/ubuntu/coreMQTT/test -B/home/ubuntu/coreMQTT --check-build-system CMakeFiles/Makefile.cmake 0 -[1761689] EXECUTING: make -s -f CMakeFiles/Makefile2 coverity_analysis -[1761690] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -S/home/ubuntu/coreMQTT/test -B/home/ubuntu/coreMQTT --check-build-system CMakeFiles/Makefile.cmake 0 -[1761691] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 4 -[1761692] EXECUTING: make -s -f CMakeFiles/Makefile2 CMakeFiles/coverity_analysis.dir/all -[1761693] EXECUTING: make -s -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/depend -[1761694] EXECUTING: /bin/sh -c "cd /home/ubuntu/coreMQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/CMakeFiles/coverity_analysis.dir/DependInfo.cmake "--color="" -[1761695] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/CMakeFiles/coverity_analysis.dir/DependInfo.cmake --color= -[1761696] EXECUTING: make -s -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/build -[1761697] EXECUTING: /bin/sh -c "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_echo_color "--switch=" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=45 "Building C object CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o"" -[1761698] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_echo_color --switch= --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=45 "Building C object CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o" -[1761699] EXECUTING: /usr/bin/cc -DMAX_USER_PROPERTY=5 -DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -DMQTT_VERSION_5_ENABLED=1 -DNDEBUG=1 -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -std=gnu90 -MD -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d -o CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt.c -[1761700] CWD: /home/ubuntu/coreMQTT -[1761700] COMPILING: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/cov-translate /usr/bin/cc -DMAX_USER_PROPERTY=5 -DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -DMQTT_VERSION_5_ENABLED=1 -DNDEBUG=1 -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -std=gnu90 -MD -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d -o CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt.c -COV_TRANSLATE EXPANDED ARGS: "-DMAX_USER_PROPERTY=5" "-DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1" "-DMQTT_VERSION_5_ENABLED=1" "-DNDEBUG=1" "-I/home/ubuntu/coreMQTT/source/include" "-I/home/ubuntu/coreMQTT/source/interface" "-std=gnu90" "-MD" "-MT" "CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o" "-MF" "CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d" "-o" "CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o" "-c" "/home/ubuntu/coreMQTT/source/core_mqtt.c" -Encountered compiler invocation for first time, configuring it: /usr/bin/x86_64-linux-gnu-gcc-9 -std=gnu90 -[STATUS] Using comptype gcc -* Configuring /usr/bin/cc as a C compiler -[STATUS] gcc-config-0: Running sanity tests on native compiler -[STATUS] gcc-config-0: Detecting size and alignment of fundamental types. -[STATUS] gcc-config-0: Retrieving values for macros -[STATUS] gcc-config-0: Running config probes -* Configuring /usr/bin/cc as a C++ compiler -[STATUS] g++-config-0: Running sanity tests on native compiler -[STATUS] g++-config-0: Detecting size and alignment of fundamental types. -[STATUS] g++-config-0: Retrieving values for macros -[STATUS] g++-config-0: Running config probes -* Configuring /usr/bin/cc as a C compiler -[STATUS] g++cc-config-0: Running sanity tests on native compiler -[STATUS] g++cc-config-0: Detecting size and alignment of fundamental types. -[STATUS] g++cc-config-0: Retrieving values for macros -[STATUS] g++cc-config-0: Running config probes -* Configuring /usr/bin/ld as a C++ linker -[WARNING] Config ld-config-0 already exists for ld x86_64-linux-gnu-ld x86_64-linux-gnu-ld.bfd as ld and will be reused. -* Configuring /usr/bin/ar as a C++ linker -[WARNING] Config ar-config-0 already exists for ar x86_64-linux-gnu-ar as ar and will be reused. -Added template compiler configuration instance /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config.xml -Configuration read from: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config.xml -Node: coverity - Node: cit_version Value: 1 - Node: config - Node: include Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity_config.xml - Node: include Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity_config.xml - Node: include Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity_config.xml -Configuration read from: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity_config.xml -Node: coverity - Node: cit_version Value: 1 - Node: config - Node: build - Node: compiler - Node: comp_name Value: cc - Node: comp_name Value: gcc - Node: comp_name Value: gcc-9 - Node: comp_name Value: x86_64-linux-gnu-gcc-9 - Node: comp_dir Value: /usr/bin - Node: comp_translator Value: gcc - Node: comp_lang Value: C - Node: comp_front_end Value: cov-emit - Node: comp_desc Value: GNU C compiler - Node: comp_next_type Value: g++ - Node: comp_generic Value: gnu - Node: comp_require Value: -std=gnu90 - Node: id Value: gcc-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 - Node: version Value: 9.4.0 - Node: is_compiler Value: true - Node: is_linker Value: true - Node: target_platform Value: all - Node: options - Node: id Value: gcc-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 - Node: template_config_option_id Value: gcc-cc-.* - Node: compile_options - Node: sysinclude_dir Value: /usr/lib/gcc/x86_64-linux-gnu/9/include - Node: sysinclude_dir Value: /usr/local/include - Node: sysinclude_dir Value: /usr/include/x86_64-linux-gnu - Node: sysinclude_dir Value: /usr/include - Node: dryrun_switch Value: -E - Node: dryrun_switch Value: -v - Node: dump_macros_arg Value: -dM - Node: dump_macros_arg Value: -E - Node: preprocess_remove_arg Value: -o.+ - Node: preprocess_remove_arg Value: -c - Node: preprocess_remove_arg Value: -Werror - Node: preprocess_remove_next_arg Value: -o - Node: preprocess_switch Value: -E - Node: preprocess_switch Value: -U__BLOCKS__ - Node: preprocess_switch Value: -xc - Node: preprocess_compile_switch Value: -C - Node: preprocess_output Value: - - Node: dryrun_output Value: 2 - Node: pre_preinclude_file Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-compiler-compat.h - Node: macro_pre_preinclude_file Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-macro-compat.h - Node: prepend_arg Value: --fixed_point - Node: prepend_arg Value: --add_type_modifier=__coverity___fpreg - Node: prepend_arg Value: --add_type_modifier=__coverity_decimal - Node: prepend_arg Value: --add_type_modifier=__coverity_float - Node: prepend_arg Value: --add_type_modifier=__coverity_floatx - Node: prepend_arg Value: --no_predefined_feature_test_macros - Node: prepend_arg Value: --no_stdarg_builtin - Node: prepend_arg Value: --enable_128bit_int - Node: prepend_arg Value: --no_predefined_cplusplus - Node: prepend_arg Value: -w - Node: prepend_arg Value: --no_predefines - Node: prepend_arg Value: --comp_ver - Node: prepend_arg Value: 9.4.0 - Node: prepend_arg Value: --size_t_type=m - Node: prepend_arg Value: --ptrdiff_t_type=l - Node: prepend_arg Value: --type_sizes=xl8i4s2e16d8f4P8 - Node: prepend_arg Value: --type_alignments=xl8i4s2e16d8f4P8 - Node: prepend_arg Value: --char_bit_size=8 - Node: prepend_arg Value: --gnu_carriage_return_line_terminator - Node: prepend_arg Value: --wchar_t_type=i - Node: prepend_arg Value: --no_multiline_string - Node: prepend_arg Value: --no_trigraphs - Node: prepend_arg Value: --ignore_calling_convention - Node: prepend_arg Value: --enable_80bit_float - Node: prepend_arg Value: --enable_128bit_float - Node: prepend_arg Value: --allow__bool - Node: prepend_arg Value: --macro_stack_pragmas - Node: prepend_arg Value: --inline_keyword - Node: prepend_arg Value: --has_include_macro - Node: prepend_arg Value: --has_include_next_macro - Node: prepend_arg Value: --has_cpp_attribute_macro - Node: prepend_arg Value: --no_predefines - Node: skip_file Value: conftest\.c{1,2}$ - Node: skip_file Value: conftest\.cpp$ - Node: skip_file Value: cgo-cc-input-[0-9]+\.(c|cc|cpp|cxx) - Node: opt_preinclude_file Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/../user_nodefs.h - Node: pch_options - Node: archetype Value: gcc - Node: link_options - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/ - Node: library_search_path Value: /lib/x86_64-linux-gnu/9/ - Node: library_search_path Value: /lib/x86_64-linux-gnu/ - Node: library_search_path Value: /lib/../lib/ - Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/9/ - Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/ - Node: library_search_path Value: /usr/lib/../lib/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../ - Node: library_search_path Value: /lib/ - Node: library_search_path Value: /usr/lib/ - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so - Node: implicit_link_input Value: /lib/x86_64-linux-gnu/libc.so.6 - Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a - Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 - Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a - Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o - Node: expand - Node: options - Node: replace_arg_regex - Node: replace Value: @(.*) - Node: with Value: --coverity_resp_file=$1 - Node: pre_trans - Node: options - Node: intern_trans Value: gnu_pre_translate - Node: trans - Node: options - Node: includes_from_env_var Value: CPATH - Node: includes_from_env_var_empty_is_cwd Value: true - Node: trans - Node: options - Node: includes_from_env_var Value: C_INCLUDE_PATH - Node: pre_prepend_arg Value: --c - Node: begin_command_line_config - Node: md5 Value: 8f22057cb35e01414cb91c893028d6c8 -Configuration read from: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity_config.xml -Node: coverity - Node: cit_version Value: 1 - Node: config - Node: build - Node: compiler - Node: comp_name Value: cc - Node: comp_name Value: gcc - Node: comp_name Value: gcc-9 - Node: comp_name Value: x86_64-linux-gnu-gcc-9 - Node: comp_dir Value: /usr/bin - Node: comp_translator Value: g++ - Node: comp_lang Value: C++ - Node: comp_front_end Value: cov-emit - Node: comp_desc Value: GNU C++ Compiler - Node: comp_next_type Value: g++cc - Node: comp_generic Value: gnu - Node: comp_require Value: -std=gnu90 - Node: id Value: g++-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 - Node: version Value: 9.4.0 - Node: is_compiler Value: true - Node: is_linker Value: true - Node: target_platform Value: all - Node: options - Node: id Value: g++-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 - Node: template_config_option_id Value: g++-cc-.* - Node: compile_options - Node: sysinclude_dir Value: /usr/include/c++/9 - Node: sysinclude_dir Value: /usr/include/x86_64-linux-gnu/c++/9 - Node: sysinclude_dir Value: /usr/include/c++/9/backward - Node: sysinclude_dir Value: /usr/lib/gcc/x86_64-linux-gnu/9/include - Node: sysinclude_dir Value: /usr/local/include - Node: sysinclude_dir Value: /usr/include/x86_64-linux-gnu - Node: sysinclude_dir Value: /usr/include - Node: dryrun_switch Value: -E - Node: dryrun_switch Value: -v - Node: dump_macros_arg Value: -dM - Node: dump_macros_arg Value: -E - Node: preprocess_remove_arg Value: -o.+ - Node: preprocess_remove_arg Value: -c - Node: preprocess_remove_arg Value: -Werror - Node: preprocess_remove_next_arg Value: -o - Node: preprocess_switch Value: -xc++ - Node: preprocess_switch Value: -E - Node: preprocess_switch Value: -U__BLOCKS__ - Node: preprocess_compile_switch Value: -C - Node: preprocess_output Value: - - Node: dryrun_output Value: 2 - Node: pre_preinclude_file Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity-compiler-compat.h - Node: macro_pre_preinclude_file Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity-macro-compat.h - Node: prepend_arg Value: --add_type_modifier=__coverity___fpreg - Node: prepend_arg Value: --add_type_modifier=__coverity_decimal - Node: prepend_arg Value: --add_type_modifier=__coverity_float - Node: prepend_arg Value: --add_type_modifier=__coverity_floatx - Node: prepend_arg Value: --no_predefined_feature_test_macros - Node: prepend_arg Value: --no_stdarg_builtin - Node: prepend_arg Value: --enable_128bit_int - Node: prepend_arg Value: --no_predefined_cplusplus - Node: prepend_arg Value: -w - Node: prepend_arg Value: --no_predefines - Node: prepend_arg Value: --comp_ver - Node: prepend_arg Value: 9.4.0 - Node: prepend_arg Value: --size_t_type=m - Node: prepend_arg Value: --ptrdiff_t_type=l - Node: prepend_arg Value: --type_sizes=w4xl8i4s2e16d8f4P8 - Node: prepend_arg Value: --type_alignments=w4xl8i4s2e16d8f4P8 - Node: prepend_arg Value: --char_bit_size=8 - Node: prepend_arg Value: --gnu_carriage_return_line_terminator - Node: prepend_arg Value: --wchar_t_keyword - Node: prepend_arg Value: --no_multiline_string - Node: prepend_arg Value: --no_trigraphs - Node: prepend_arg Value: --ignore_calling_convention - Node: prepend_arg Value: --enable_80bit_float - Node: prepend_arg Value: --enable_128bit_float - Node: prepend_arg Value: --macro_stack_pragmas - Node: prepend_arg Value: --exceptions - Node: prepend_arg Value: --arg_dependent_overload - Node: prepend_arg Value: --inline_keyword - Node: prepend_arg Value: --has_include_macro - Node: prepend_arg Value: --has_include_next_macro - Node: prepend_arg Value: --has_cpp_attribute_macro - Node: prepend_arg Value: --no_predefines - Node: skip_file Value: conftest\.c{1,2}$ - Node: skip_file Value: conftest\.cpp$ - Node: skip_file Value: cgo-cc-input-[0-9]+\.(c|cc|cpp|cxx) - Node: opt_preinclude_file Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/../user_nodefs.h - Node: pch_options - Node: archetype Value: gcc - Node: link_options - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/ - Node: library_search_path Value: /lib/x86_64-linux-gnu/9/ - Node: library_search_path Value: /lib/x86_64-linux-gnu/ - Node: library_search_path Value: /lib/../lib/ - Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/9/ - Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/ - Node: library_search_path Value: /usr/lib/../lib/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../ - Node: library_search_path Value: /lib/ - Node: library_search_path Value: /usr/lib/ - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so - Node: implicit_link_input Value: /lib/x86_64-linux-gnu/libc.so.6 - Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a - Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 - Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a - Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o - Node: pre_trans - Node: options - Node: pre_prepend_arg Value: -coverity_c_suffixes_are_cxx - Node: trans - Node: options - Node: includes_from_env_var Value: CPLUS_INCLUDE_PATH - Node: pre_prepend_arg Value: --c++ - Node: expand - Node: options - Node: replace_arg_regex - Node: replace Value: @(.*) - Node: with Value: --coverity_resp_file=$1 - Node: pre_trans - Node: options - Node: intern_trans Value: gnu_pre_translate - Node: trans - Node: options - Node: includes_from_env_var Value: CPATH - Node: includes_from_env_var_empty_is_cwd Value: true - Node: begin_command_line_config - Node: md5 Value: 74dcbc851f07efc12a994173d38d61db -Configuration read from: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity_config.xml -Node: coverity - Node: cit_version Value: 1 - Node: config - Node: build - Node: compiler - Node: comp_name Value: cc - Node: comp_name Value: gcc - Node: comp_name Value: gcc-9 - Node: comp_name Value: x86_64-linux-gnu-gcc-9 - Node: comp_dir Value: /usr/bin - Node: comp_translator Value: g++cc - Node: comp_lang Value: C - Node: comp_front_end Value: cov-emit - Node: comp_desc Value: GNU C++ Compiler - Node: comp_generic Value: gnu - Node: comp_require Value: -std=gnu90 - Node: id Value: g++cc-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 - Node: version Value: 9.4.0 - Node: is_compiler Value: true - Node: is_linker Value: true - Node: target_platform Value: all - Node: options - Node: id Value: g++cc-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 - Node: template_config_option_id Value: g++cc-cc-.* - Node: compile_options - Node: sysinclude_dir Value: /usr/lib/gcc/x86_64-linux-gnu/9/include - Node: sysinclude_dir Value: /usr/local/include - Node: sysinclude_dir Value: /usr/include/x86_64-linux-gnu - Node: sysinclude_dir Value: /usr/include - Node: dryrun_switch Value: -xc - Node: dryrun_switch Value: -E - Node: dryrun_switch Value: -v - Node: dump_macros_arg Value: -xc - Node: dump_macros_arg Value: -dM - Node: dump_macros_arg Value: -E - Node: preprocess_remove_arg Value: -o.+ - Node: preprocess_remove_arg Value: -c - Node: preprocess_remove_arg Value: -Werror - Node: preprocess_remove_next_arg Value: -o - Node: preprocess_switch Value: -E - Node: preprocess_switch Value: -U__BLOCKS__ - Node: preprocess_switch Value: -xc - Node: preprocess_compile_switch Value: -C - Node: preprocess_output Value: - - Node: dryrun_output Value: 2 - Node: pre_preinclude_file Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity-compiler-compat.h - Node: macro_pre_preinclude_file Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity-macro-compat.h - Node: prepend_arg Value: --fixed_point - Node: prepend_arg Value: --add_type_modifier=__coverity___fpreg - Node: prepend_arg Value: --add_type_modifier=__coverity_decimal - Node: prepend_arg Value: --add_type_modifier=__coverity_float - Node: prepend_arg Value: --add_type_modifier=__coverity_floatx - Node: prepend_arg Value: --no_predefined_feature_test_macros - Node: prepend_arg Value: --no_stdarg_builtin - Node: prepend_arg Value: --enable_128bit_int - Node: prepend_arg Value: --no_predefined_cplusplus - Node: prepend_arg Value: -w - Node: prepend_arg Value: --no_predefines - Node: prepend_arg Value: --comp_ver - Node: prepend_arg Value: 9.4.0 - Node: prepend_arg Value: --size_t_type=m - Node: prepend_arg Value: --ptrdiff_t_type=l - Node: prepend_arg Value: --type_sizes=xl8i4s2e16d8f4P8 - Node: prepend_arg Value: --type_alignments=xl8i4s2e16d8f4P8 - Node: prepend_arg Value: --char_bit_size=8 - Node: prepend_arg Value: --gnu_carriage_return_line_terminator - Node: prepend_arg Value: --wchar_t_type=i - Node: prepend_arg Value: --no_multiline_string - Node: prepend_arg Value: --no_trigraphs - Node: prepend_arg Value: --ignore_calling_convention - Node: prepend_arg Value: --enable_80bit_float - Node: prepend_arg Value: --enable_128bit_float - Node: prepend_arg Value: --allow__bool - Node: prepend_arg Value: --macro_stack_pragmas - Node: prepend_arg Value: --inline_keyword - Node: prepend_arg Value: --has_include_macro - Node: prepend_arg Value: --has_include_next_macro - Node: prepend_arg Value: --has_cpp_attribute_macro - Node: prepend_arg Value: --no_predefines - Node: skip_file Value: conftest\.c{1,2}$ - Node: skip_file Value: conftest\.cpp$ - Node: skip_file Value: cgo-cc-input-[0-9]+\.(c|cc|cpp|cxx) - Node: opt_preinclude_file Value: /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/../user_nodefs.h - Node: pch_options - Node: archetype Value: gcc - Node: link_options - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/ - Node: library_search_path Value: /lib/x86_64-linux-gnu/9/ - Node: library_search_path Value: /lib/x86_64-linux-gnu/ - Node: library_search_path Value: /lib/../lib/ - Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/9/ - Node: library_search_path Value: /usr/lib/x86_64-linux-gnu/ - Node: library_search_path Value: /usr/lib/../lib/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/ - Node: library_search_path Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../ - Node: library_search_path Value: /lib/ - Node: library_search_path Value: /usr/lib/ - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so - Node: implicit_link_input Value: /lib/x86_64-linux-gnu/libc.so.6 - Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a - Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 - Node: implicit_link_input Value: /usr/lib/x86_64-linux-gnu/libc_nonshared.a - Node: implicit_link_input Value: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o - Node: implicit_link_input Value: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o - Node: expand - Node: options - Node: replace_arg_regex - Node: replace Value: @(.*) - Node: with Value: --coverity_resp_file=$1 - Node: pre_trans - Node: options - Node: intern_trans Value: gnu_pre_translate - Node: trans - Node: options - Node: includes_from_env_var Value: CPATH - Node: includes_from_env_var_empty_is_cwd Value: true - Node: trans - Node: options - Node: includes_from_env_var Value: C_INCLUDE_PATH - Node: pre_prepend_arg Value: --c - Node: begin_command_line_config - Node: md5 Value: 711f163ae15caa93f82b9002415f5467 -[STATUS] Compiling /home/ubuntu/coreMQTT/source/core_mqtt.c -/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/cov-emit --dir=/home/ubuntu/coreMQTT/cov-out --ignore_path=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-configure --ignore_path=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383 --emit_complementary_info --pre_preinclude /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-macro-compat.h --pre_preinclude /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-compiler-compat.h --c --fixed_point --add_type_modifier=__coverity___fpreg --add_type_modifier=__coverity_decimal --add_type_modifier=__coverity_float --add_type_modifier=__coverity_floatx --no_predefined_feature_test_macros --no_stdarg_builtin --enable_128bit_int --no_predefined_cplusplus -w --no_predefines --comp_ver 9.4.0 --char_bit_size=8 --gnu_carriage_return_line_terminator --no_multiline_string --no_trigraphs --ignore_calling_convention --enable_80bit_float --enable_128bit_float --allow__bool --macro_stack_pragmas --inline_keyword --has_include_macro --has_include_next_macro --has_cpp_attribute_macro --no_predefines --preinclude /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-0/../user_nodefs.h --emit_pch_dependencies --builtin_emulation --gcc --c89 --gnu_version 90400 --no_trigraphs -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface --sys_include=/usr/lib/gcc/x86_64-linux-gnu/9/include --sys_include=/usr/local/include --sys_include=/usr/include/x86_64-linux-gnu --sys_include=/usr/include -DMAX_USER_PROPERTY=5 -DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -DMQTT_VERSION_5_ENABLED=1 -DNDEBUG=1 -D__COVERITY_GCC_DIALECT_GNU89 -D__NO_INLINE__ --type_sizes=e16Pdlx8fi4s2 --type_alignments=e16Pdlx8fi4s2 --size_t_type=m --wchar_t_type=i --ptrdiff_t_type=l /home/ubuntu/coreMQTT/source/core_mqtt.c -Emit for file '/home/ubuntu/coreMQTT/source/core_mqtt.c' (TU 1) complete. -[1762785] EXECUTING: /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -I /home/ubuntu/coreMQTT/source/include -I /home/ubuntu/coreMQTT/source/interface -imultiarch x86_64-linux-gnu -MD CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.d -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o -D MAX_USER_PROPERTY=5 -D MQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -D MQTT_VERSION_5_ENABLED=1 -D NDEBUG=1 /home/ubuntu/coreMQTT/source/core_mqtt.c -quiet -dumpbase core_mqtt.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccUvpxXD.s -[1762786] EXECUTING: as -I /home/ubuntu/coreMQTT/source/include -I /home/ubuntu/coreMQTT/source/interface --64 -o CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o /tmp/ccUvpxXD.s -[1762787] EXECUTING: /bin/sh -c "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_echo_color "--switch=" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=46 "Building C object CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o"" -[1762788] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_echo_color --switch= --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=46 "Building C object CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o" -[1762789] EXECUTING: /usr/bin/cc -DMAX_USER_PROPERTY=5 -DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -DMQTT_VERSION_5_ENABLED=1 -DNDEBUG=1 -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -std=gnu90 -MD -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o.d -o CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt_state.c -[1762790] CWD: /home/ubuntu/coreMQTT -[1762790] COMPILING: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/cov-translate /usr/bin/cc -DMAX_USER_PROPERTY=5 -DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -DMQTT_VERSION_5_ENABLED=1 -DNDEBUG=1 -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -std=gnu90 -MD -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o.d -o CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt_state.c -COV_TRANSLATE EXPANDED ARGS: "-DMAX_USER_PROPERTY=5" "-DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1" "-DMQTT_VERSION_5_ENABLED=1" "-DNDEBUG=1" "-I/home/ubuntu/coreMQTT/source/include" "-I/home/ubuntu/coreMQTT/source/interface" "-std=gnu90" "-MD" "-MT" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o" "-MF" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o.d" "-o" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o" "-c" "/home/ubuntu/coreMQTT/source/core_mqtt_state.c" -Using cached template compiler configuration instance /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config.xml -[STATUS] Compiling /home/ubuntu/coreMQTT/source/core_mqtt_state.c -/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/cov-emit --dir=/home/ubuntu/coreMQTT/cov-out --ignore_path=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-configure --ignore_path=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/95330c603bc817d1c63574c63c55966e --emit_complementary_info --pre_preinclude /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-macro-compat.h --pre_preinclude /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-compiler-compat.h --c --fixed_point --add_type_modifier=__coverity___fpreg --add_type_modifier=__coverity_decimal --add_type_modifier=__coverity_float --add_type_modifier=__coverity_floatx --no_predefined_feature_test_macros --no_stdarg_builtin --enable_128bit_int --no_predefined_cplusplus -w --no_predefines --comp_ver 9.4.0 --char_bit_size=8 --gnu_carriage_return_line_terminator --no_multiline_string --no_trigraphs --ignore_calling_convention --enable_80bit_float --enable_128bit_float --allow__bool --macro_stack_pragmas --inline_keyword --has_include_macro --has_include_next_macro --has_cpp_attribute_macro --no_predefines --preinclude /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-0/../user_nodefs.h --emit_pch_dependencies --builtin_emulation --gcc --c89 --gnu_version 90400 --no_trigraphs -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface --sys_include=/usr/lib/gcc/x86_64-linux-gnu/9/include --sys_include=/usr/local/include --sys_include=/usr/include/x86_64-linux-gnu --sys_include=/usr/include -DMAX_USER_PROPERTY=5 -DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -DMQTT_VERSION_5_ENABLED=1 -DNDEBUG=1 -D__COVERITY_GCC_DIALECT_GNU89 -D__NO_INLINE__ --type_sizes=e16Pdlx8fi4s2 --type_alignments=e16Pdlx8fi4s2 --size_t_type=m --wchar_t_type=i --ptrdiff_t_type=l /home/ubuntu/coreMQTT/source/core_mqtt_state.c -Emit for file '/home/ubuntu/coreMQTT/source/core_mqtt_state.c' (TU 2) complete. -[1762800] EXECUTING: /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -I /home/ubuntu/coreMQTT/source/include -I /home/ubuntu/coreMQTT/source/interface -imultiarch x86_64-linux-gnu -MD CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.d -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o.d -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o -D MAX_USER_PROPERTY=5 -D MQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -D MQTT_VERSION_5_ENABLED=1 -D NDEBUG=1 /home/ubuntu/coreMQTT/source/core_mqtt_state.c -quiet -dumpbase core_mqtt_state.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc5o4pS0.s -[1762801] EXECUTING: as -I /home/ubuntu/coreMQTT/source/include -I /home/ubuntu/coreMQTT/source/interface --64 -o CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o /tmp/cc5o4pS0.s -[1762802] EXECUTING: /bin/sh -c "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_echo_color "--switch=" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=47 "Building C object CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o"" -[1762803] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_echo_color --switch= --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=47 "Building C object CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o" -[1762804] EXECUTING: /usr/bin/cc -DMAX_USER_PROPERTY=5 -DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -DMQTT_VERSION_5_ENABLED=1 -DNDEBUG=1 -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -std=gnu90 -MD -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o.d -o CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c -[1762805] CWD: /home/ubuntu/coreMQTT -[1762805] COMPILING: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/cov-translate /usr/bin/cc -DMAX_USER_PROPERTY=5 -DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -DMQTT_VERSION_5_ENABLED=1 -DNDEBUG=1 -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -std=gnu90 -MD -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o.d -o CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c -COV_TRANSLATE EXPANDED ARGS: "-DMAX_USER_PROPERTY=5" "-DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1" "-DMQTT_VERSION_5_ENABLED=1" "-DNDEBUG=1" "-I/home/ubuntu/coreMQTT/source/include" "-I/home/ubuntu/coreMQTT/source/interface" "-std=gnu90" "-MD" "-MT" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o" "-MF" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o.d" "-o" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o" "-c" "/home/ubuntu/coreMQTT/source/core_mqtt_serializer.c" -Using cached template compiler configuration instance /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config.xml -[STATUS] Compiling /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c -/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/cov-emit --dir=/home/ubuntu/coreMQTT/cov-out --ignore_path=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-configure --ignore_path=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/1b8d0ca72854800704a483802af103cb --emit_complementary_info --pre_preinclude /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-macro-compat.h --pre_preinclude /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-compiler-compat.h --c --fixed_point --add_type_modifier=__coverity___fpreg --add_type_modifier=__coverity_decimal --add_type_modifier=__coverity_float --add_type_modifier=__coverity_floatx --no_predefined_feature_test_macros --no_stdarg_builtin --enable_128bit_int --no_predefined_cplusplus -w --no_predefines --comp_ver 9.4.0 --char_bit_size=8 --gnu_carriage_return_line_terminator --no_multiline_string --no_trigraphs --ignore_calling_convention --enable_80bit_float --enable_128bit_float --allow__bool --macro_stack_pragmas --inline_keyword --has_include_macro --has_include_next_macro --has_cpp_attribute_macro --no_predefines --preinclude /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/template-gcc-config-0/../user_nodefs.h --emit_pch_dependencies --builtin_emulation --gcc --c89 --gnu_version 90400 --no_trigraphs -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface --sys_include=/usr/lib/gcc/x86_64-linux-gnu/9/include --sys_include=/usr/local/include --sys_include=/usr/include/x86_64-linux-gnu --sys_include=/usr/include -DMAX_USER_PROPERTY=5 -DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -DMQTT_VERSION_5_ENABLED=1 -DNDEBUG=1 -D__COVERITY_GCC_DIALECT_GNU89 -D__NO_INLINE__ --type_sizes=e16Pdlx8fi4s2 --type_alignments=e16Pdlx8fi4s2 --size_t_type=m --wchar_t_type=i --ptrdiff_t_type=l /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c -Emit for file '/home/ubuntu/coreMQTT/source/core_mqtt_serializer.c' (TU 3) complete. -[1762807] EXECUTING: /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -I /home/ubuntu/coreMQTT/source/include -I /home/ubuntu/coreMQTT/source/interface -imultiarch x86_64-linux-gnu -MD CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.d -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o.d -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o -D MAX_USER_PROPERTY=5 -D MQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -D MQTT_VERSION_5_ENABLED=1 -D NDEBUG=1 /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c -quiet -dumpbase core_mqtt_serializer.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccBQRmfb.s -[1762808] EXECUTING: as -I /home/ubuntu/coreMQTT/source/include -I /home/ubuntu/coreMQTT/source/interface --64 -o CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o /tmp/ccBQRmfb.s -[1762809] EXECUTING: /bin/sh -c "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_echo_color "--switch=" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=48 "Linking C static library lib/libcoverity_analysis.a"" -[1762810] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_echo_color --switch= --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=48 "Linking C static library lib/libcoverity_analysis.a" -[1762811] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -P CMakeFiles/coverity_analysis.dir/cmake_clean_target.cmake -[1762812] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/coverity_analysis.dir/link.txt --verbose= -[1762813] EXECUTING: /usr/bin/ar qc lib/libcoverity_analysis.a CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o -[1762814] CWD: /home/ubuntu/coreMQTT -[1762814] COMPILING: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/cov-translate /usr/bin/ar qc lib/libcoverity_analysis.a CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o -COV_TRANSLATE EXPANDED ARGS: "qc" "lib/libcoverity_analysis.a" "CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o" "CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o" -[1762815] EXECUTING: /usr/bin/ranlib lib/libcoverity_analysis.a -[1762816] EXECUTING: /bin/sh -c "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_echo_color "--switch=" --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=45,46,47,48 "Built target coverity_analysis"" -[1762817] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_echo_color --switch= --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=45,46,47,48 "Built target coverity_analysis" -[1762818] EXECUTING: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -2024-06-21T07:00:09.094567Z|cov-build|1761684|info|> Invoking cov-security-da with commands: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/cov-security-da --dir /home/ubuntu/coreMQTT/cov-out -2024-06-21T07:00:09.125224Z|cov-build|1761684|info|> Dynamic analyzer took 30 ms -2024-06-21T07:00:09.125224Z|cov-build|1761684|info|> Build time (cov-build overall): 00:00:07.986407 -2024-06-21T07:00:09.125224Z|cov-build|1761684|info|> -2024-06-21T07:00:09.126234Z|cov-build|1761684|info|> Build time (C/C++ emits total): 00:00:07.319676 -2024-06-21T07:00:09.126234Z|cov-build|1761684|info|> -2024-06-21T07:00:09.126234Z|cov-build|1761684|info|> -2024-06-21T07:00:09.126308Z|cov-build|1761684|info|> Emitted 3 C/C++ compilation units (100%) successfully -2024-06-21T07:00:09.126308Z|cov-build|1761684|info|> -2024-06-21T07:00:09.126308Z|cov-build|1761684|info|> 3 C/C++ compilation units (100%) are ready for analysis -2024-06-21T07:00:09.126308Z|cov-build|1761684|info|> The cov-build utility completed successfully. diff --git a/cov-out/build-timings.txt b/cov-out/build-timings.txt deleted file mode 100644 index f2386d528..000000000 --- a/cov-out/build-timings.txt +++ /dev/null @@ -1,29 +0,0 @@ -# Version: 4ae07d0526 p-2023.6-push-61 -# Command Line: cov-build --emit-complementary-info --dir cov-out make coverity_analysis -timer ms calls ------------------------------------------------- -cov-build 7963 1 - create_or_open emit DB 13 1 - open emit DB 12 1 - add_string_to_table 0 44 - addEmitFileName 1 1 - addEmitFileName 1 1 - addEmitFileName 1 1 - addEmitFileName 1 1 - Prepare capture 0 1 - Running build command 7914 1 - SecurityDA 31 1 - TUInfo::getPrimarySFRow 0 3 - (left over) 4 - -activity ms calls ------------------------------------------------- -cov-build 7963 1 -create_or_open emit DB 13 1 -open emit DB 12 1 -add_string_to_table 0 44 -addEmitFileName 4 4 -Prepare capture 0 1 -Running build command 7914 1 -SecurityDA 31 1 -TUInfo::getPrimarySFRow 0 3 diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/configure-log.txt b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/configure-log.txt deleted file mode 100644 index 13a15875c..000000000 --- a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/configure-log.txt +++ /dev/null @@ -1,8 +0,0 @@ -Native Compiler invocation: /usr/bin/cc -DMAX_USER_PROPERTY=5 -DMQTT_DO_NOT_USE_CUSTOM_CONFIG=1 -DMQTT_VERSION_5_ENABLED=1 -DNDEBUG=1 -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -std=gnu90 -MD -MT CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o -MF CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o.d -o CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt.c -Working directory: /home/ubuntu/coreMQTT -Comptype: gcc -* Configuring /usr/bin/cc as a C compiler -* Configuring /usr/bin/cc as a C++ compiler -* Configuring /usr/bin/cc as a C compiler -* Configuring /usr/bin/ld as a C++ linker -* Configuring /usr/bin/ar as a C++ linker diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config.xml b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config.xml deleted file mode 100644 index b103e72f1..000000000 --- a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - 1 - - $CONFIGDIR$/gcc-config-0/coverity_config.xml - $CONFIGDIR$/g++-config-0/coverity_config.xml - $CONFIGDIR$/g++cc-config-0/coverity_config.xml - - - diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config_created b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config_created deleted file mode 100644 index c97789fc3..000000000 --- a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config_created +++ /dev/null @@ -1,3 +0,0 @@ -2024-06-21 07:00 -ip-172-31-80-220 -1761700 diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/configure-log.txt b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/configure-log.txt deleted file mode 100644 index e98564a84..000000000 --- a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/configure-log.txt +++ /dev/null @@ -1,4245 +0,0 @@ -Getting compiler identification output with: /usr/bin/cc -std=gnu90 --version /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp -int main() {} - -**** END source file *** -pipe_command: /usr/bin/cc -std=gnu90 --version /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 --version /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp -**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.output -cc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 -Copyright (C) 2019 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - -**** END FILE output *** -**** BEGIN FILE error: - -**** END FILE error *** -**** Compiler identification output begin **** -cc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 -Copyright (C) 2019 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - -**** Compiler identification output end **** -**** BEGIN PROBE run_test_sanity **** -[STATUS] g++-config-0: Running sanity tests on native compiler -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/simple.cpp -int x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/simple.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/simple.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.cpp -#x -int a b c d; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.cpp:1:2: error: invalid preprocessing directive #x - 1 | #x - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.cpp:2:7: error: expected initializer before ‘b’ - 2 | int a b c d; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/stddef.cpp -#include -struct mystruct { - int field1; - int field2; -} var; -size_t sz = sizeof(struct mystruct); -ptrdiff_t pd; -void func() { - pd = &var.field1 - &var.field2; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/stddef.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/stddef.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** END PROBE run_test_sanity **** -**** BEGIN PROBE get_version_switch_output **** -Version switch: -E -v -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp -int main() {} - -**** END source file *** -pipe_command: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp -**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/version_output -# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp" -# 1 "" -# 1 "" -# 1 "/usr/include/stdc-predef.h" 1 3 4 -# 1 "" 2 -# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp" -int main() {} - -**** END FILE output *** -**** BEGIN FILE error: -Using built-in specs. -COLLECT_GCC=/usr/bin/cc -OFFLOAD_TARGET_NAMES=nvptx-none:hsa -OFFLOAD_TARGET_DEFAULT=1 -Target: x86_64-linux-gnu -Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu -Thread model: posix -gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) -COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' - /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -E -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9" -ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" -#include "..." search starts here: -#include <...> search starts here: - /usr/include/c++/9 - /usr/include/x86_64-linux-gnu/c++/9 - /usr/include/c++/9/backward - /usr/lib/gcc/x86_64-linux-gnu/9/include - /usr/local/include - /usr/include/x86_64-linux-gnu - /usr/include -End of search list. -COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ -LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' - -**** END FILE error *** -**** END PROBE get_version_switch_output **** -Version string before regex: # 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp" # 1 "" # 1 "" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 1 "" 2 # 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp" int main() {} Using built-in specs. COLLECT_GCC=/usr/bin/cc OFFLOAD_TARGET_NAMES=nvptx-none:hsa OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -E -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.cpp -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9" ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/include/c++/9 /usr/include/x86_64-linux-gnu/c++/9 /usr/include/c++/9/backward /usr/lib/gcc/x86_64-linux-gnu/9/include /usr/local/include /usr/include/x86_64-linux-gnu /usr/include End of search list. COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' -Attempting to match the following regex: .*g[c+][c+] version 2\.9.* \(2.96.*\).* -Attempting to match the following regex: .*g[c+][c+][^\s]* [^\s]+ (\d+\.\d+(\.\d+)?) \(.*\).* -Match found. Version string after regex: 9.4.0 -Attempting to match the following regex: .*g[c+][c+][^\s]* \([^)]*\) (\d+\.\d+(\.\d+)?).* -Attempting to match the following regex: .*(?:cc|\+\+)(?:-[^\h]+)?(?:\.exe)?\h+(?:.*?\h+)?(\d+\.\d+(\.\d+)?).* -Attempting to match the following regex: .*[^0-9.](\d+\.\d+\.\d+).* -Compiler version found: 9.4.0 -**** BEGIN PROBE run_type_size_and_alignment_tests **** -**** BEGIN PROBE probe_helpful_compiler_info **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.cpp -int *i; unsigned long *c; void foo() { c = i; } - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.cpp: In function ‘void foo()’: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.cpp:1:44: error: cannot convert ‘int*’ to ‘long unsigned int*’ in assignment - 1 | int *i; unsigned long *c; void foo() { c = i; } - | ^ - | | - | int* - -**** END FILE stderr *** -Test failed -Native compiler does not allow sloppy assigns. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.cpp - int x[((int)sizeof (int *)) - 13000]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.cpp:1:37: error: narrowing conversion of ‘-12992’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 1 | int x[((int)sizeof (int *)) - 13000]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.cpp:1:30: error: size ‘-12992’ of array ‘x’ is negative - 1 | int x[((int)sizeof (int *)) - 13000]; - | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/zero_size_array.cpp - int x[0]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/zero_size_array.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/zero_size_array.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -Native compiler minimum array index is 0. -**** END PROBE probe_helpful_compiler_info **** -**** BEGIN PROBE Detecting size_t **** -Detecting size_t. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.cpp -size_t * s; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.cpp:1:1: error: ‘size_t’ does not name a type - 1 | size_t * s; - | ^~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.cpp:1:1: note: ‘size_t’ is defined in header ‘’; did you forget to ‘#include ’? - +++ |+#include - 1 | size_t * s; - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type2.cpp -#include -size_t * s; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type2.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type2.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.cpp -#include -size_t *s; -unsigned int *i; -void foo() { i=s; } - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.cpp: In function ‘void foo()’: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.cpp:4:16: error: cannot convert ‘size_t*’ {aka ‘long unsigned int*’} to ‘unsigned int*’ in assignment - 4 | void foo() { i=s; } - | ^ - | | - | size_t* {aka long unsigned int*} - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_long.cpp -#include -size_t *s; -unsigned long *i; -void foo() { i=s; } - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_long.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_long.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** END PROBE Detecting size_t **** -**** BEGIN PROBE Detecting ptrdiff_t **** -Detecting ptrdiff_t. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.cpp -ptrdiff_t * s; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.cpp:1:1: error: ‘ptrdiff_t’ does not name a type - 1 | ptrdiff_t * s; - | ^~~~~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.cpp:1:1: note: ‘ptrdiff_t’ is defined in header ‘’; did you forget to ‘#include ’? - +++ |+#include - 1 | ptrdiff_t * s; - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type2.cpp -#include -ptrdiff_t * s; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type2.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type2.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.cpp -#include -ptrdiff_t *s; -int *i; -void foo() { i=s; } - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.cpp: In function ‘void foo()’: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.cpp:4:16: error: cannot convert ‘ptrdiff_t*’ {aka ‘long int*’} to ‘int*’ in assignment - 4 | void foo() { i=s; } - | ^ - | | - | ptrdiff_t* {aka long int*} - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_long.cpp -#include -ptrdiff_t *s; -long *i; -void foo() { i=s; } - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_long.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_long.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** END PROBE Detecting ptrdiff_t **** -**** BEGIN PROBE add_appropriate_type_size_and_alignment_switch **** -[STATUS] g++-config-0: Detecting size and alignment of fundamental types. -Detecting size and alignment of wchar_t -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.cpp -wchar_t x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_size_4.cpp -int x [((int)sizeof (wchar_t)) -4]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_size_4.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_size_4.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_align_4.cpp -struct X { char a; wchar_t b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -wchar_t b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_align_4.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_align_4.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -Detecting size and alignment of long long -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_long.cpp -long long x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_long.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_long.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_size_8.cpp -int x [((int)sizeof (long long)) -8]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_size_8.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_size_8.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_align_8.cpp -struct X { char a; long long b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -long long b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_align_8.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_align_8.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -Detecting size and alignment of long -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long.cpp -long x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_size_8.cpp -int x [((int)sizeof (long)) -8]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_size_8.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_size_8.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_align_8.cpp -struct X { char a; long b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -long b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_align_8.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_align_8.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -Detecting size and alignment of int -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int.cpp -int x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.cpp -int x [((int)sizeof (int)) -8]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.cpp:1:30: error: narrowing conversion of ‘-4’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 1 | int x [((int)sizeof (int)) -8]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.cpp:1:28: error: size ‘-4’ of array ‘x’ is negative - 1 | int x [((int)sizeof (int)) -8]; - | ~~~~~~~~~~~~~~~~~~~~^~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.cpp -int x [((int)sizeof (int)) -7]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.cpp:1:30: error: narrowing conversion of ‘-3’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 1 | int x [((int)sizeof (int)) -7]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.cpp:1:28: error: size ‘-3’ of array ‘x’ is negative - 1 | int x [((int)sizeof (int)) -7]; - | ~~~~~~~~~~~~~~~~~~~~^~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.cpp -int x [((int)sizeof (int)) -6]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.cpp:1:30: error: narrowing conversion of ‘-2’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 1 | int x [((int)sizeof (int)) -6]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.cpp:1:28: error: size ‘-2’ of array ‘x’ is negative - 1 | int x [((int)sizeof (int)) -6]; - | ~~~~~~~~~~~~~~~~~~~~^~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.cpp -int x [((int)sizeof (int)) -5]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.cpp:1:30: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 1 | int x [((int)sizeof (int)) -5]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.cpp:1:28: error: size ‘-1’ of array ‘x’ is negative - 1 | int x [((int)sizeof (int)) -5]; - | ~~~~~~~~~~~~~~~~~~~~^~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_4.cpp -int x [((int)sizeof (int)) -4]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_4.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_4.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.cpp -struct X { char a; int b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -int b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.cpp:12:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 12 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.cpp:12:41: error: size ‘-1’ of array ‘x’ is negative - 12 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.cpp -struct X { char a; int b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -int b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.cpp:11:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 11 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.cpp:11:41: error: size ‘-1’ of array ‘x’ is negative - 11 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.cpp -struct X { char a; int b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -int b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.cpp:10:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 10 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.cpp:10:41: error: size ‘-1’ of array ‘x’ is negative - 10 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.cpp -struct X { char a; int b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -int b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.cpp:9:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 9 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.cpp:9:41: error: size ‘-1’ of array ‘x’ is negative - 9 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_4.cpp -struct X { char a; int b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -int b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_4.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_4.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -Detecting size and alignment of short -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_short.cpp -short x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_short.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_short.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.cpp -int x [((int)sizeof (short)) -4]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.cpp:1:32: error: narrowing conversion of ‘-2’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 1 | int x [((int)sizeof (short)) -4]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.cpp:1:30: error: size ‘-2’ of array ‘x’ is negative - 1 | int x [((int)sizeof (short)) -4]; - | ~~~~~~~~~~~~~~~~~~~~~~^~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.cpp -int x [((int)sizeof (short)) -3]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.cpp:1:32: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 1 | int x [((int)sizeof (short)) -3]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.cpp:1:30: error: size ‘-1’ of array ‘x’ is negative - 1 | int x [((int)sizeof (short)) -3]; - | ~~~~~~~~~~~~~~~~~~~~~~^~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_2.cpp -int x [((int)sizeof (short)) -2]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_2.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_2.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.cpp -struct X { char a; short b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -short b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.cpp:8:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 8 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.cpp:8:41: error: size ‘-1’ of array ‘x’ is negative - 8 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.cpp -struct X { char a; short b; }; -struct Y { -char a1; -char a2; -char a3; -short b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.cpp:7:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 7 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.cpp:7:41: error: size ‘-1’ of array ‘x’ is negative - 7 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_2.cpp -struct X { char a; short b; }; -struct Y { -char a1; -char a2; -short b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_2.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_2.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -Detecting size and alignment of long double -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_double.cpp -long double x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_double.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_double.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_size_16.cpp -int x [((int)sizeof (long double)) -16]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_size_16.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_size_16.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_align_16.cpp -struct X { char a; long double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -char a11; -char a12; -char a13; -char a14; -char a15; -char a16; -long double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_align_16.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_align_16.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -Detecting size and alignment of double -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_double.cpp -double x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_double.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_double.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.cpp -int x [((int)sizeof (double)) -16]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.cpp:1:34: error: narrowing conversion of ‘-8’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 1 | int x [((int)sizeof (double)) -16]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.cpp:1:31: error: size ‘-8’ of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -16]; - | ~~~~~~~~~~~~~~~~~~~~~~~^~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.cpp -int x [((int)sizeof (double)) -15]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.cpp:1:34: error: narrowing conversion of ‘-7’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 1 | int x [((int)sizeof (double)) -15]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.cpp:1:31: error: size ‘-7’ of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -15]; - | ~~~~~~~~~~~~~~~~~~~~~~~^~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.cpp -int x [((int)sizeof (double)) -14]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.cpp:1:34: error: narrowing conversion of ‘-6’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 1 | int x [((int)sizeof (double)) -14]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.cpp:1:31: error: size ‘-6’ of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -14]; - | ~~~~~~~~~~~~~~~~~~~~~~~^~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.cpp -int x [((int)sizeof (double)) -13]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.cpp:1:34: error: narrowing conversion of ‘-5’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 1 | int x [((int)sizeof (double)) -13]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.cpp:1:31: error: size ‘-5’ of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -13]; - | ~~~~~~~~~~~~~~~~~~~~~~~^~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.cpp -int x [((int)sizeof (double)) -12]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.cpp:1:34: error: narrowing conversion of ‘-4’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 1 | int x [((int)sizeof (double)) -12]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.cpp:1:31: error: size ‘-4’ of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -12]; - | ~~~~~~~~~~~~~~~~~~~~~~~^~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.cpp -int x [((int)sizeof (double)) -11]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.cpp:1:34: error: narrowing conversion of ‘-3’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 1 | int x [((int)sizeof (double)) -11]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.cpp:1:31: error: size ‘-3’ of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -11]; - | ~~~~~~~~~~~~~~~~~~~~~~~^~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.cpp -int x [((int)sizeof (double)) -10]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.cpp:1:34: error: narrowing conversion of ‘-2’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 1 | int x [((int)sizeof (double)) -10]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.cpp:1:31: error: size ‘-2’ of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -10]; - | ~~~~~~~~~~~~~~~~~~~~~~~^~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.cpp -int x [((int)sizeof (double)) -9]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.cpp:1:33: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 1 | int x [((int)sizeof (double)) -9]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.cpp:1:31: error: size ‘-1’ of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -9]; - | ~~~~~~~~~~~~~~~~~~~~~~~^~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_8.cpp -int x [((int)sizeof (double)) -8]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_8.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_8.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.cpp -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -char a11; -char a12; -char a13; -char a14; -char a15; -char a16; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.cpp:20:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 20 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.cpp:20:41: error: size ‘-1’ of array ‘x’ is negative - 20 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.cpp -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -char a11; -char a12; -char a13; -char a14; -char a15; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.cpp:19:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 19 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.cpp:19:41: error: size ‘-1’ of array ‘x’ is negative - 19 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.cpp -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -char a11; -char a12; -char a13; -char a14; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.cpp:18:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 18 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.cpp:18:41: error: size ‘-1’ of array ‘x’ is negative - 18 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.cpp -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -char a11; -char a12; -char a13; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.cpp:17:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 17 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.cpp:17:41: error: size ‘-1’ of array ‘x’ is negative - 17 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.cpp -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -char a11; -char a12; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.cpp:16:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 16 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.cpp:16:41: error: size ‘-1’ of array ‘x’ is negative - 16 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.cpp -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -char a11; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.cpp:15:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 15 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.cpp:15:41: error: size ‘-1’ of array ‘x’ is negative - 15 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.cpp -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.cpp:14:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 14 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.cpp:14:41: error: size ‘-1’ of array ‘x’ is negative - 14 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.cpp -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.cpp:13:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 13 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.cpp:13:41: error: size ‘-1’ of array ‘x’ is negative - 13 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_8.cpp -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_8.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_8.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -Detecting size and alignment of float -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_float.cpp -float x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_float.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_float.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.cpp -int x [((int)sizeof (float)) -8]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.cpp:1:32: error: narrowing conversion of ‘-4’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 1 | int x [((int)sizeof (float)) -8]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.cpp:1:30: error: size ‘-4’ of array ‘x’ is negative - 1 | int x [((int)sizeof (float)) -8]; - | ~~~~~~~~~~~~~~~~~~~~~~^~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.cpp -int x [((int)sizeof (float)) -7]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.cpp:1:32: error: narrowing conversion of ‘-3’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 1 | int x [((int)sizeof (float)) -7]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.cpp:1:30: error: size ‘-3’ of array ‘x’ is negative - 1 | int x [((int)sizeof (float)) -7]; - | ~~~~~~~~~~~~~~~~~~~~~~^~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.cpp -int x [((int)sizeof (float)) -6]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.cpp:1:32: error: narrowing conversion of ‘-2’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 1 | int x [((int)sizeof (float)) -6]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.cpp:1:30: error: size ‘-2’ of array ‘x’ is negative - 1 | int x [((int)sizeof (float)) -6]; - | ~~~~~~~~~~~~~~~~~~~~~~^~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.cpp -int x [((int)sizeof (float)) -5]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.cpp:1:32: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 1 | int x [((int)sizeof (float)) -5]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.cpp:1:30: error: size ‘-1’ of array ‘x’ is negative - 1 | int x [((int)sizeof (float)) -5]; - | ~~~~~~~~~~~~~~~~~~~~~~^~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_4.cpp -int x [((int)sizeof (float)) -4]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_4.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_4.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.cpp -struct X { char a; float b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -float b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.cpp:12:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 12 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.cpp:12:41: error: size ‘-1’ of array ‘x’ is negative - 12 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.cpp -struct X { char a; float b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -float b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.cpp:11:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 11 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.cpp:11:41: error: size ‘-1’ of array ‘x’ is negative - 11 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.cpp -struct X { char a; float b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -float b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.cpp:10:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 10 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.cpp:10:41: error: size ‘-1’ of array ‘x’ is negative - 10 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.cpp -struct X { char a; float b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -float b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.cpp:9:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 9 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.cpp:9:41: error: size ‘-1’ of array ‘x’ is negative - 9 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_4.cpp -struct X { char a; float b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -float b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_4.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_4.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -Detecting size and alignment of int * -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int__ptr_.cpp -int * x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int__ptr_.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int__ptr_.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__size_8.cpp -int x [((int)sizeof (int *)) -8]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__size_8.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__size_8.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__align_8.cpp -struct X { char a; int * b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -int * b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__align_8.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__align_8.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** END PROBE add_appropriate_type_size_and_alignment_switch **** -**** BEGIN PROBE run_char_bit_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_1.cpp -#define N 1 -#define SHIFT(VALUE,AMOUNT) \ - ((VALUE) << ((AMOUNT) >= 63 ? 7 : 0) \ - << ((AMOUNT) >= 56 ? 7 : 0) \ - << ((AMOUNT) >= 49 ? 7 : 0) \ - << ((AMOUNT) >= 42 ? 7 : 0) \ - << ((AMOUNT) >= 35 ? 7 : 0) \ - << ((AMOUNT) >= 28 ? 7 : 0) \ - << ((AMOUNT) >= 21 ? 7 : 0) \ - << ((AMOUNT) >= 14 ? 7 : 0) \ - << ((AMOUNT) >= 7 ? 7 : 0) \ - << ((AMOUNT) % 7)) -typedef unsigned char UC; -void foo() { - static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_1.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_1.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.cpp -#define N 9 -#define SHIFT(VALUE,AMOUNT) \ - ((VALUE) << ((AMOUNT) >= 63 ? 7 : 0) \ - << ((AMOUNT) >= 56 ? 7 : 0) \ - << ((AMOUNT) >= 49 ? 7 : 0) \ - << ((AMOUNT) >= 42 ? 7 : 0) \ - << ((AMOUNT) >= 35 ? 7 : 0) \ - << ((AMOUNT) >= 28 ? 7 : 0) \ - << ((AMOUNT) >= 21 ? 7 : 0) \ - << ((AMOUNT) >= 14 ? 7 : 0) \ - << ((AMOUNT) >= 7 ? 7 : 0) \ - << ((AMOUNT) % 7)) -typedef unsigned char UC; -void foo() { - static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.cpp: In function ‘void foo()’: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.cpp:15:61: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 15 | static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.cpp:15:53: error: size ‘-1’ of array ‘check_char_bit’ is negative - 15 | static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; - | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_8.cpp -#define N 8 -#define SHIFT(VALUE,AMOUNT) \ - ((VALUE) << ((AMOUNT) >= 63 ? 7 : 0) \ - << ((AMOUNT) >= 56 ? 7 : 0) \ - << ((AMOUNT) >= 49 ? 7 : 0) \ - << ((AMOUNT) >= 42 ? 7 : 0) \ - << ((AMOUNT) >= 35 ? 7 : 0) \ - << ((AMOUNT) >= 28 ? 7 : 0) \ - << ((AMOUNT) >= 21 ? 7 : 0) \ - << ((AMOUNT) >= 14 ? 7 : 0) \ - << ((AMOUNT) >= 7 ? 7 : 0) \ - << ((AMOUNT) % 7)) -typedef unsigned char UC; -void foo() { - static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_8.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_8.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** END PROBE run_char_bit_size_test **** -**** END PROBE run_type_size_and_alignment_tests **** -**** BEGIN PROBE add_appropriate_restrict_switch_if_needed **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.cpp -int * restrict i; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.cpp:1:16: error: expected initializer before ‘i’ - 1 | int * restrict i; - | ^ - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_restrict_switch_if_needed **** -**** BEGIN PROBE add_appropriate_cr_term_switch_if_needed **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/cr_term.cpp -int i; #define foo \ bar void foo() { }; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/cr_term.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/cr_term.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** END PROBE add_appropriate_cr_term_switch_if_needed **** -**** BEGIN PROBE add_enable_declspec_switch_if_needed **** -__declspec macro definition test. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.cpp -#ifndef __declspec -#error __declspec not defined -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.cpp:2:2: error: #error __declspec not defined - 2 | #error __declspec not defined - | ^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec2.cpp - -void __declspec(int x) { - x = 1; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec2.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec2.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** END PROBE add_enable_declspec_switch_if_needed **** -**** BEGIN PROBE add_appropriate_wchar_t_switch **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t.cpp -wchar_t x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t2.cpp -struct foo { int wchar_t; }; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t2.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t2.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t2.cpp:1:18: error: multiple types in one declaration - 1 | struct foo { int wchar_t; }; - | ^~~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t2.cpp:1:18: error: declaration does not declare anything [-fpermissive] - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_wchar_t_switch **** -**** BEGIN PROBE add_ignore_std_switch **** -Test test_ignore_std **** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/implicit_std.cpp -namespace std -{ - int foo; -} - -void bar () { int x = foo; } - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/implicit_std.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/implicit_std.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/implicit_std.cpp: In function ‘void bar()’: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/implicit_std.cpp:6:23: error: ‘foo’ was not declared in this scope; did you mean ‘std::foo’? - 6 | void bar () { int x = foo; } - | ^~~ - | std::foo -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/implicit_std.cpp:3:39: note: ‘std::foo’ declared here - 3 | int foo; - | ^~~ - -**** END FILE stderr *** -Test failed -**** END PROBE add_ignore_std_switch **** -**** BEGIN PROBE add_multiline_string_switch_if_needed **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.cpp -char* str = "Hello -World"; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.cpp:1:13: warning: missing terminating " character - 1 | char* str = "Hello - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.cpp:1:13: error: missing terminating " character - 1 | char* str = "Hello - | ^~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.cpp:2:6: warning: missing terminating " character - 2 | World"; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.cpp:2:6: error: missing terminating " character - 2 | World"; - | ^~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.cpp:2:1: error: ‘World’ was not declared in this scope - 2 | World"; - | ^~~~~ - -**** END FILE stderr *** -Test failed -**** END PROBE add_multiline_string_switch_if_needed **** -**** BEGIN PROBE add_appropriate_trigraphs_switch **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.cpp -char x ??( 3 ??) = "Hi"; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.cpp:1:8: warning: trigraph ??( ignored, use -trigraphs to enable [-Wtrigraphs] - 1 | char x ??( 3 ??) = "Hi"; - | -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.cpp:1:14: warning: trigraph ??) ignored, use -trigraphs to enable [-Wtrigraphs] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.cpp:1:8: error: expected initializer before ‘?’ token - 1 | char x ??( 3 ??) = "Hi"; - | ^ - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_trigraphs_switch **** -**** BEGIN PROBE run_x86_calling_conventions_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.cpp -void foo(void) __attribute__((__stdcall__)); - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.cpp:1:43: warning: ‘stdcall’ attribute ignored [-Wattributes] - 1 | void foo(void) __attribute__((__stdcall__)); - | ^ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.cpp -void f(void) ; -void (*p)() __attribute__((__stdcall__)) = &f; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.cpp:2:40: warning: ‘stdcall’ attribute ignored [-Wattributes] - 2 | void (*p)() __attribute__((__stdcall__)) = &f; - | ^ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.cpp -void f(void) ; -void (*p)() __attribute__((__cdecl__)) = &f; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.cpp:2:38: warning: ‘cdecl’ attribute ignored [-Wattributes] - 2 | void (*p)() __attribute__((__cdecl__)) = &f; - | ^ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.cpp -void f(void) ; -void (*p)() __attribute__((__fastcall__)) = &f; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.cpp:2:41: warning: ‘fastcall’ attribute ignored [-Wattributes] - 2 | void (*p)() __attribute__((__fastcall__)) = &f; - | ^ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.cpp -void f(void) ; -void (*p)() __attribute__((__vectorcall__)) = &f; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.cpp:2:43: warning: ‘vectorcall’ attribute directive ignored [-Wattributes] - 2 | void (*p)() __attribute__((__vectorcall__)) = &f; - | ^ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.cpp -void f(void) ; -void (*p)() __attribute__((__thiscall__)) = &f; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.cpp:2:41: warning: ‘thiscall’ attribute ignored [-Wattributes] - 2 | void (*p)() __attribute__((__thiscall__)) = &f; - | ^ - -**** END FILE stderr *** -Test succeded -**** END PROBE run_x86_calling_conventions_test **** -**** BEGIN PROBE add_appropriate_altivec_switch_if_needed **** -Detecting whether AltiVec is supported. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.cpp -__vector unsigned int a; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.cpp:1:1: error: ‘__vector’ does not name a type - 1 | __vector unsigned int a; - | ^~~~~~~~ - -**** END FILE stderr *** -Test failed -AltiVec is implicitly disabled. -**** END PROBE add_appropriate_altivec_switch_if_needed **** -**** BEGIN PROBE add_float80_and_128_switch_if_needed **** -Detecting whether __float80 and __float128 are supported. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float80.cpp -__float80 x; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float80.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float80.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -float80 appears to be enabled. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float128.cpp -__float128 x; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float128.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float128.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -float128 appears to be enabled. -**** END PROBE add_float80_and_128_switch_if_needed **** -**** BEGIN PROBE add_appropriate_macro_stack_pragma_switch **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_sanity.cpp -#define TEST 1 -#pragma push_macro("TEST") -#pragma pop_macro("TEST") - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_sanity.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_sanity.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_pragmas.cpp -#define TEST 1 -#pragma push_macro("TEST") -#undef TEST -#define TEST -1 -#pragma pop_macro("TEST") -int arr[TEST]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_pragmas.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_pragmas.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.cpp -#define TEST -1 -#pragma push_macro("TEST") -#undef TEST -#define TEST 1 -#pragma pop_macro("TEST") -int arr[TEST]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.cpp:6:13: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing] - 6 | int arr[TEST]; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.cpp:6:2: error: size ‘-1’ of array ‘arr’ is negative - 6 | int arr[TEST]; - | ^~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.cpp:6:9: note: in expansion of macro ‘TEST’ - 6 | int arr[TEST]; - | ^~~~ - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_macro_stack_pragma_switch **** -**** BEGIN PROBE add_appropriate_exceptions_switch **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/exceptions.cpp -class foo{}; void func(){try{}catch(foo &f){}} - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/exceptions.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/exceptions.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** END PROBE add_appropriate_exceptions_switch **** -**** BEGIN PROBE add_appropriate_arg_dependent_overload_switch **** -Detecting whether --arg_dependent_overload is needed. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.cpp -typedef unsigned short FIXED_FLOAT16; -typedef unsigned int FIXED_FLOAT32; - -namespace Y { -typedef struct _VECTOR3F { } VECTOR3F; - -float InnerProduct(const _VECTOR3F& v1, const _VECTOR3F& v2); -} - -namespace fxutil { - FIXED_FLOAT32 InnerProduct(const FIXED_FLOAT32& v1, const FIXED_FLOAT32& v2); - FIXED_FLOAT32 InnerProduct(const FIXED_FLOAT16& v1, const FIXED_FLOAT16& v2); -} - -namespace X { - float Sqrt(float f); - float Sqrt(FIXED_FLOAT32 f); -} -using namespace X; - -void f(Y::VECTOR3F &scale) -{ - using fxutil::InnerProduct; - Sqrt(InnerProduct(scale,scale)); -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded ---arg_dependent_overload is needed. -**** END PROBE add_appropriate_arg_dependent_overload_switch **** -**** BEGIN PROBE add_appropriate_vector_intrinsics_switch **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.cpp -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector bool int x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.cpp:1:90: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector bool int x) {f1(x);} - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.cpp:1:90: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.cpp:1:116: error: variable or field ‘f2’ declared void - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector bool int x) {f1(x);} - | ^~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.cpp:1:102: error: ‘__vector’ was not declared in this scope - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector bool int x) {f1(x);} - | ^~~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.cpp -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector __bool int x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.cpp:1:90: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector __bool int x) {f1(x);} - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.cpp:1:90: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.cpp:1:102: error: variable or field ‘f2’ declared void - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector __bool int x) {f1(x);} - | ^~~~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.cpp:1:102: error: ‘__vector’ was not declared in this scope - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.cpp -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector bool int x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.cpp:1:90: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector bool int x) {f1(x);} - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.cpp:1:90: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.cpp:1:114: error: variable or field ‘f2’ declared void - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector bool int x) {f1(x);} - | ^~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.cpp:1:102: error: ‘vector’ was not declared in this scope - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector bool int x) {f1(x);} - | ^~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.cpp -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector __bool int x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.cpp:1:90: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector __bool int x) {f1(x);} - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.cpp:1:90: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.cpp:1:102: error: variable or field ‘f2’ declared void - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector __bool int x) {f1(x);} - | ^~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.cpp:1:102: error: ‘vector’ was not declared in this scope - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.cpp -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector pixel x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.cpp:1:93: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector pixel x) {f1(x);} - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.cpp:1:93: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.cpp:1:105: error: variable or field ‘f2’ declared void - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector pixel x) {f1(x);} - | ^~~~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.cpp:1:105: error: ‘__vector’ was not declared in this scope - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.cpp -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector __pixel x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.cpp:1:93: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector __pixel x) {f1(x);} - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.cpp:1:93: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.cpp:1:105: error: variable or field ‘f2’ declared void - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector __pixel x) {f1(x);} - | ^~~~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.cpp:1:105: error: ‘__vector’ was not declared in this scope - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.cpp -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector pixel x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.cpp:1:93: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector pixel x) {f1(x);} - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.cpp:1:93: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.cpp:1:105: error: variable or field ‘f2’ declared void - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector pixel x) {f1(x);} - | ^~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.cpp:1:105: error: ‘vector’ was not declared in this scope - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.cpp -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector __pixel x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.cpp:1:93: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector __pixel x) {f1(x);} - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.cpp:1:93: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.cpp:1:105: error: variable or field ‘f2’ declared void - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector __pixel x) {f1(x);} - | ^~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.cpp:1:105: error: ‘vector’ was not declared in this scope - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_vector_intrinsics_switch **** -**** BEGIN PROBE set_appropriate_target_platform **** -**** BEGIN PROBE get_macros **** -compiler_prober_t::make_abs_preproc_command - cmd: /usr/bin/cc -std=gnu90 -/usr/bin/cc -std=gnu90 -xc++ -E -U__BLOCKS__ /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp -#ifdef __MINGW64__ -__coverity_macro __MINGW64__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __MINGW32__ -__coverity_macro __MINGW32__ -#else -__the_symbol_is_not_defined__ -#endif - -**** END source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc++ -E -U__BLOCKS__ /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc++ -E -U__BLOCKS__ /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp -**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/pp_out -# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp" -# 1 "" -# 1 "" -# 1 "/usr/include/stdc-predef.h" 1 3 4 -# 1 "" 2 -# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp" - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - -**** END FILE output *** -**** BEGIN FILE error: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE error *** -**** END PROBE get_macros **** -[WARNING] Failed to infer target platform of compiler using macro probes. Falling back on default value. -**** END PROBE set_appropriate_target_platform **** -pipe_command: /usr/bin/cc -std=gnu90 -c -print-sysroot -pipe_commands starting: /usr/bin/cc -std=gnu90 -c -print-sysroot -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.cpp -int inline = 0; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.cpp:1:12: error: expected unqualified-id before ‘=’ token - 1 | int inline = 0; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/inline_keyword.cpp -inline void foo() { } - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/inline_keyword.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/inline_keyword.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** BEGIN PROBE add_appropriate_has_include_switch **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_pos.cpp -#ifdef __has_include -# if __has_include("whatever") -# endif -#else -#error -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_pos.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_pos.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.cpp -#ifdef __has_include -#error -#else -#define __has_include int foo(void) -__has_include; -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.cpp:2:2: error: #error - 2 | #error - | ^~~~~ - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_has_include_switch **** -**** BEGIN PROBE add_appropriate_has_include_next_switch **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_pos.cpp -#ifdef __has_include_next -# if __has_include_next("whatever") -# endif -#else -#error -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_pos.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_pos.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.cpp -#ifdef __has_include_next -#error -#else -#define __has_include_next int foo(void) -__has_include_next; -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.cpp:2:2: error: #error - 2 | #error - | ^~~~~ - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_has_include_next_switch **** -**** BEGIN PROBE add_appropriate_has_cpp_attribute_switch **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_pos.cpp -#ifdef __has_cpp_attribute -# if __has_cpp_attribute(whatever) -# endif -#else -#error -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_pos.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_pos.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.cpp -#ifdef __has_cpp_attribute -#error -#else -#define __has_cpp_attribute int foo(void) -__has_cpp_attribute; -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.cpp -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.cpp:2:2: error: #error - 2 | #error - | ^~~~~ - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_has_cpp_attribute_switch **** -run_comp_tests: no defined custom tests -**** BEGIN PROBE get_standard_includes **** -Dryrun command: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.cpp -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.cpp - -**** END source file *** -pipe_command: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.cpp -**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.output -Using built-in specs. -COLLECT_GCC=/usr/bin/cc -OFFLOAD_TARGET_NAMES=nvptx-none:hsa -OFFLOAD_TARGET_DEFAULT=1 -Target: x86_64-linux-gnu -Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu -Thread model: posix -gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) -COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' - /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -E -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.cpp -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9" -ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" -#include "..." search starts here: -#include <...> search starts here: - /usr/include/c++/9 - /usr/include/x86_64-linux-gnu/c++/9 - /usr/include/c++/9/backward - /usr/lib/gcc/x86_64-linux-gnu/9/include - /usr/local/include - /usr/include/x86_64-linux-gnu - /usr/include -End of search list. -COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ -LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' - -**** END FILE output *** -**** BEGIN FILE error: -Using built-in specs. -COLLECT_GCC=/usr/bin/cc -OFFLOAD_TARGET_NAMES=nvptx-none:hsa -OFFLOAD_TARGET_DEFAULT=1 -Target: x86_64-linux-gnu -Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu -Thread model: posix -gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) -COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' - /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -E -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.cpp -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ -ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9" -ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" -#include "..." search starts here: -#include <...> search starts here: - /usr/include/c++/9 - /usr/include/x86_64-linux-gnu/c++/9 - /usr/include/c++/9/backward - /usr/lib/gcc/x86_64-linux-gnu/9/include - /usr/local/include - /usr/include/x86_64-linux-gnu - /usr/include -End of search list. -COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ -LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' - -**** END FILE error *** -Dryrun gcc found sys include path: /usr/include/c++/9 -Dryrun gcc found sys include path: /usr/include/x86_64-linux-gnu/c++/9 -Dryrun gcc found sys include path: /usr/include/c++/9/backward -Dryrun gcc found sys include path: /usr/lib/gcc/x86_64-linux-gnu/9/include -Dryrun gcc found sys include path: /usr/local/include -Dryrun gcc found sys include path: /usr/include/x86_64-linux-gnu -Dryrun gcc found sys include path: /usr/include -Dryrun gcc headers found: 7 -**** END PROBE get_standard_includes **** -compiler_prober_t::make_abs_preproc_command - cmd: /usr/bin/cc -std=gnu90 -/usr/bin/cc -std=gnu90 -dM -E /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.cpp -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.cpp - - -**** END source file *** -pipe_command: /usr/bin/cc -std=gnu90 -dM -E /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -dM -E /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.cpp -**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.output -#define __SSP_STRONG__ 3 -#define __DBL_MIN_EXP__ (-1021) -#define __FLT32X_MAX_EXP__ 1024 -#define __cpp_attributes 200809 -#define __UINT_LEAST16_MAX__ 0xffff -#define __ATOMIC_ACQUIRE 2 -#define __FLT128_MAX_10_EXP__ 4932 -#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F -#define __GCC_IEC_559_COMPLEX 2 -#define __cpp_aggregate_nsdmi 201304 -#define __UINT_LEAST8_TYPE__ unsigned char -#define __SIZEOF_FLOAT80__ 16 -#define __INTMAX_C(c) c ## L -#define __CHAR_BIT__ 8 -#define __UINT8_MAX__ 0xff -#define __WINT_MAX__ 0xffffffffU -#define __FLT32_MIN_EXP__ (-125) -#define __cpp_static_assert 200410 -#define __ORDER_LITTLE_ENDIAN__ 1234 -#define __SIZE_MAX__ 0xffffffffffffffffUL -#define __WCHAR_MAX__ 0x7fffffff -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 -#define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L) -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 -#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 -#define __GCC_IEC_559 2 -#define __FLT32X_DECIMAL_DIG__ 17 -#define __FLT_EVAL_METHOD__ 0 -#define __unix__ 1 -#define __cpp_binary_literals 201304 -#define __FLT64_DECIMAL_DIG__ 17 -#define __CET__ 3 -#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 -#define __x86_64 1 -#define __cpp_variadic_templates 200704 -#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL -#define __SIG_ATOMIC_TYPE__ int -#define __DBL_MIN_10_EXP__ (-307) -#define __FINITE_MATH_ONLY__ 0 -#define __cpp_variable_templates 201304 -#define __GNUC_PATCHLEVEL__ 0 -#define __FLT32_HAS_DENORM__ 1 -#define __UINT_FAST8_MAX__ 0xff -#define __cpp_rvalue_reference 200610 -#define __has_include(STR) __has_include__(STR) -#define __DEC64_MAX_EXP__ 385 -#define __INT8_C(c) c -#define __INT_LEAST8_WIDTH__ 8 -#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL -#define __SHRT_MAX__ 0x7fff -#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L -#define __FLT64X_MAX_10_EXP__ 4932 -#define __UINT_LEAST8_MAX__ 0xff -#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 -#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128 -#define __UINTMAX_TYPE__ long unsigned int -#define __linux 1 -#define __DEC32_EPSILON__ 1E-6DF -#define __FLT_EVAL_METHOD_TS_18661_3__ 0 -#define __unix 1 -#define __UINT32_MAX__ 0xffffffffU -#define __GXX_EXPERIMENTAL_CXX0X__ 1 -#define __LDBL_MAX_EXP__ 16384 -#define __FLT128_MIN_EXP__ (-16381) -#define __WINT_MIN__ 0U -#define __linux__ 1 -#define __FLT128_MIN_10_EXP__ (-4931) -#define __INT_LEAST16_WIDTH__ 16 -#define __SCHAR_MAX__ 0x7f -#define __FLT128_MANT_DIG__ 113 -#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) -#define __INT64_C(c) c ## L -#define __DBL_DIG__ 15 -#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 -#define __FLT64X_MANT_DIG__ 64 -#define __SIZEOF_INT__ 4 -#define __SIZEOF_POINTER__ 8 -#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 -#define __USER_LABEL_PREFIX__ -#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x -#define __STDC_HOSTED__ 1 -#define __LDBL_HAS_INFINITY__ 1 -#define __FLT32_DIG__ 6 -#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F -#define __GXX_WEAK__ 1 -#define __SHRT_WIDTH__ 16 -#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L -#define __DEC32_MAX__ 9.999999E96DF -#define __cpp_threadsafe_static_init 200806 -#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x -#define __FLT32X_HAS_INFINITY__ 1 -#define __INT32_MAX__ 0x7fffffff -#define __INT_WIDTH__ 32 -#define __SIZEOF_LONG__ 8 -#define __STDC_IEC_559__ 1 -#define __STDC_ISO_10646__ 201706L -#define __UINT16_C(c) c -#define __PTRDIFF_WIDTH__ 64 -#define __DECIMAL_DIG__ 21 -#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64 -#define __gnu_linux__ 1 -#define __INTMAX_WIDTH__ 64 -#define __FLT64_MIN_EXP__ (-1021) -#define __has_include_next(STR) __has_include_next__(STR) -#define __FLT64X_MIN_10_EXP__ (-4931) -#define __LDBL_HAS_QUIET_NAN__ 1 -#define __FLT64_MANT_DIG__ 53 -#define __GNUC__ 9 -#define __GXX_RTTI 1 -#define __pie__ 2 -#define __MMX__ 1 -#define __cpp_delegating_constructors 200604 -#define __FLT_HAS_DENORM__ 1 -#define __SIZEOF_LONG_DOUBLE__ 16 - - - -4_WIDTH__ 64 -#define __DEC64_MIN_EXP__ (-382) -#define __cpp_decltype 200707 -#define __FLT32_DECIMAL_DIG__ 9 -#define __INT_FAST64_MAX__ 0x7fffffffffffffffL -#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 -#define __FLT_DIG__ 6 -#define __FLT64X_MAX_EXP__ 16384 -#define __UINT_FAST64_TYPE__ long unsigned int -#define __INT_MAX__ 0x7fffffff -#define __amd64__ 1 -#define __INT64_TYPE__ long int -#define __FLT_MAX_EXP__ 128 -#define __ORDER_BIG_ENDIAN__ 4321 -#define __DBL_MANT_DIG__ 53 -#define __cpp_inheriting_constructors 201511 -#define __SIZEOF_FLOAT128__ 16 -#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL -#define __DEC64_MIN__ 1E-383DD -#define __WINT_TYPE__ unsigned int -#define __UINT_LEAST32_TYPE__ unsigned int -#define __SIZEOF_SHORT__ 2 -#define __SSE__ 1 -#define __LDBL_MIN_EXP__ (-16381) -#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64 -#define __WINT_WIDTH__ 32 -#define __INT_LEAST8_MAX__ 0x7f -#define __FLT32X_MAX_10_EXP__ 308 -#define __SIZEOF_INT128__ 16 -#define __LDBL_MAX_10_EXP__ 4932 -#define __ATOMIC_RELAXED 0 -#define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L) -#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128 -#define _LP64 1 -#define __UINT8_C(c) c -#define __FLT64_MAX_EXP__ 1024 -#define __INT_LEAST32_TYPE__ int -#define __SIZEOF_WCHAR_T__ 4 -#define __FLT128_HAS_QUIET_NAN__ 1 -#define __INT_FAST8_TYPE__ signed char -#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x -#define __GNUC_STDC_INLINE__ 1 -#define __FLT64_HAS_DENORM__ 1 -#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32 -#define __DBL_DECIMAL_DIG__ 17 -#define __STDC_UTF_32__ 1 -#define __INT_FAST8_WIDTH__ 8 -#define __FXSR__ 1 -#define __DEC_EVAL_METHOD__ 2 -#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x -#define __cpp_runtime_arrays 198712 -#define __UINT64_TYPE__ long unsigned int -#define __UINT32_C(c) c ## U -#define __INTMAX_MAX__ 0x7fffffffffffffffL -#define __cpp_alias_templates 200704 -#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ -#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F -#define __INT8_MAX__ 0x7f -#define __LONG_WIDTH__ 64 -#define __PIC__ 2 -#define __UINT_FAST32_TYPE__ long unsigned int -#define __CHAR32_TYPE__ unsigned int -#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F -#define __cpp_constexpr 201304 -#define __INT32_TYPE__ int -#define __SIZEOF_DOUBLE__ 8 -#define __cpp_exceptions 199711 -#define __FLT_MIN_10_EXP__ (-37) -#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64 -#define __INT_LEAST32_WIDTH__ 32 -#define __INTMAX_TYPE__ long int -#define __DEC128_MAX_EXP__ 6145 -#define __FLT32X_HAS_QUIET_NAN__ 1 -#define __ATOMIC_CONSUME 1 -#define __GNUC_MINOR__ 4 -#define __GLIBCXX_TYPE_INT_N_0 __int128 -#define __INT_FAST16_WIDTH__ 64 -#define __UINTMAX_MAX__ 0xffffffffffffffffUL -#define __DEC32_MANT_DIG__ 7 -#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x -#define __DBL_MAX_10_EXP__ 308 -#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L -#define __INT16_C(c) c -#define __cpp_generic_lambdas 201304 -#define __STDC__ 1 -#define __FLT32X_DIG__ 15 -#define __PTRDIFF_TYPE__ long int -#define __ATOMIC_SEQ_CST 5 -#define __UINT32_TYPE__ unsigned int -#define __FLT32X_MIN_10_EXP__ (-307) -#define __UINTPTR_TYPE__ long unsigned int -#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD -#define __DEC128_MANT_DIG__ 34 -#define __LDBL_MIN_10_EXP__ (-4931) -#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128 -#define __SSE_MATH__ 1 -#define __SIZEOF_LONG_LONG__ 8 -#define __cpp_user_defined_literals 200809 -#define __FLT128_DECIMAL_DIG__ 36 -#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 -#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x -#define __LDBL_DIG__ 18 -#define __FLT_DECIMAL_DIG__ 9 -#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL -#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 -#define __INT_LEAST64_WIDTH__ 64 -#define __UINT_FAST8_TYPE__ unsigned char -#define _GNU_SOURCE 1 -#define __cpp_init_captures 201304 -#define __ATOMIC_ACQ_REL 4 -#define __ATOMIC_RELEASE 3 - -**** END FILE output *** -**** BEGIN FILE error: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE error *** -Skipping looking for macros in standard headers. The header scan probe has been disabled by the no header scan option. -**** BEGIN PROBE get_macros **** -[STATUS] g++-config-0: Retrieving values for macros -compiler_prober_t::make_abs_preproc_command - cmd: /usr/bin/cc -std=gnu90 -/usr/bin/cc -std=gnu90 -xc++ -E -U__BLOCKS__ /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp -#ifdef _REENTRANT -__coverity_macro _REENTRANT -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __CET__ -__coverity_macro __CET__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __CHAR_UNSIGNED__ -__coverity_macro __CHAR_UNSIGNED__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __DEPRECATED -__coverity_macro __DEPRECATED -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __EXCEPTIONS -__coverity_macro __EXCEPTIONS -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FAST_MATH__ -__coverity_macro __FAST_MATH__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FINITE_MATH_ONLY__ -__coverity_macro __FINITE_MATH_ONLY__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMA -__coverity_macro __FP_FAST_FMA -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF -__coverity_macro __FP_FAST_FMAF -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF128 -__coverity_macro __FP_FAST_FMAF128 -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF128X -__coverity_macro __FP_FAST_FMAF128X -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF16 -__coverity_macro __FP_FAST_FMAF16 -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF32 -__coverity_macro __FP_FAST_FMAF32 -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF32X -__coverity_macro __FP_FAST_FMAF32X -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF64 -__coverity_macro __FP_FAST_FMAF64 -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF64X -__coverity_macro __FP_FAST_FMAF64X -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAL -__coverity_macro __FP_FAST_FMAL -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __GCC_HAVE_DWARF2_CFI_ASM -__coverity_macro __GCC_HAVE_DWARF2_CFI_ASM -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 -__coverity_macro __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __GCC_IEC_559_COMPLEX -__coverity_macro __GCC_IEC_559_COMPLEX -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __GNUG__ -__coverity_macro __GNUG__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __GXX_RTTI -__coverity_macro __GXX_RTTI -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __GXX_WEAK__ -__coverity_macro __GXX_WEAK__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __INCLUDE_LEVEL__ -__coverity_macro __INCLUDE_LEVEL__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __NO_MATH_ERRNO__ -__coverity_macro __NO_MATH_ERRNO__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __PIC__ -__coverity_macro __PIC__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __PIE__ -__coverity_macro __PIE__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __PTRDIFF_TYPE__ -__coverity_macro __PTRDIFF_TYPE__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __REGISTER_PREFIX__ -__coverity_macro __REGISTER_PREFIX__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __SANITIZE_ADDRESS__ -__coverity_macro __SANITIZE_ADDRESS__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __SANITIZE_THREAD__ -__coverity_macro __SANITIZE_THREAD__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __SIZE_TYPE__ -__coverity_macro __SIZE_TYPE__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __SSP_ALL__ -__coverity_macro __SSP_ALL__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __SSP_EXPLICIT__ -__coverity_macro __SSP_EXPLICIT__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __SSP_STRONG__ -__coverity_macro __SSP_STRONG__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __SSP__ -__coverity_macro __SSP__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __STDCPP_DEFAULT_NEW_ALIGNMENT__ -__coverity_macro __STDCPP_DEFAULT_NEW_ALIGNMENT__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __STDC_IEC_559_COMPLEX__ -__coverity_macro __STDC_IEC_559_COMPLEX__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __STDC_IEC_559__ -__coverity_macro __STDC_IEC_559__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __STDC_VERSION__ -__coverity_macro __STDC_VERSION__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __STDC__ -__coverity_macro __STDC__ -#else -__the_symbol_is_not_define - - - -ariables -__coverity_macro __cpp_inline_variables -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_lambdas -__coverity_macro __cpp_lambdas -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_modules -__coverity_macro __cpp_modules -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_namespace_attributes -__coverity_macro __cpp_namespace_attributes -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_nested_namespace_definitions -__coverity_macro __cpp_nested_namespace_definitions -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_noexcept_function_type -__coverity_macro __cpp_noexcept_function_type -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_nontype_template_args -__coverity_macro __cpp_nontype_template_args -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_nontype_template_parameter_auto -__coverity_macro __cpp_nontype_template_parameter_auto -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_nontype_template_parameter_class -__coverity_macro __cpp_nontype_template_parameter_class -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_nsdmi -__coverity_macro __cpp_nsdmi -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_range_based_for -__coverity_macro __cpp_range_based_for -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_raw_strings -__coverity_macro __cpp_raw_strings -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_ref_qualifiers -__coverity_macro __cpp_ref_qualifiers -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_return_type_deduction -__coverity_macro __cpp_return_type_deduction -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_rtti -__coverity_macro __cpp_rtti -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_runtime_arrays -__coverity_macro __cpp_runtime_arrays -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_rvalue_reference -__coverity_macro __cpp_rvalue_reference -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_rvalue_references -__coverity_macro __cpp_rvalue_references -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_size_t_suffix -__coverity_macro __cpp_size_t_suffix -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_sized_deallocation -__coverity_macro __cpp_sized_deallocation -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_static_assert -__coverity_macro __cpp_static_assert -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_structured_bindings -__coverity_macro __cpp_structured_bindings -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_template_template_args -__coverity_macro __cpp_template_template_args -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_threadsafe_static_init -__coverity_macro __cpp_threadsafe_static_init -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_transactional_memory -__coverity_macro __cpp_transactional_memory -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_unicode_characters -__coverity_macro __cpp_unicode_characters -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_unicode_literals -__coverity_macro __cpp_unicode_literals -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_user_defined_literals -__coverity_macro __cpp_user_defined_literals -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_using_enum -__coverity_macro __cpp_using_enum -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_variable_templates -__coverity_macro __cpp_variable_templates -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_variadic_templates -__coverity_macro __cpp_variadic_templates -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_variadic_using -__coverity_macro __cpp_variadic_using -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __pic__ -__coverity_macro __pic__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __pie__ -__coverity_macro __pie__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __private_extern__ -__coverity_macro __private_extern__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __unix__ -__coverity_macro __unix__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __vax__ -__coverity_macro __vax__ -#else -__the_symbol_is_not_defined__ -#endif - -**** END source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc++ -E -U__BLOCKS__ /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc++ -E -U__BLOCKS__ /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp -**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/pp_out -# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp" -# 1 "" -# 1 "" -# 1 "/usr/include/stdc-predef.h" 1 3 4 -# 1 "" 2 -# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp" - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 3 - - - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 1 - - - - -__coverity_macro 1 - - - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 0 - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 1 - - - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 2 - - - - -__coverity_macro 9 - - - - -__coverity_macro 1 - - - - -__coverity_macro 1 - - - - -__coverity_macro 0 - - - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 2 - - - - -__coverity_macro 2 - - - - -__coverity_macro long int - - - - -__coverity_macro - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro long unsigned int - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 3 - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro -# 187 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp" 3 4 - 1 - - - - - -# 192 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp" -__coverity_macro -# 192 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp" 3 4 - 1 - - - - - - - -# 199 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.cpp" -__the_symbol_is_not_defined__ - - -__coverity_macro 1 - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro - - - - -__coverity_macro "9.4.0" - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 201402L - - - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 201304 - - - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 200704 - - - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 200809 - - - - -__coverity_macro 201304 - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 201304 - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 200707 - - - - -__coverity_macro 201304 - - - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 200604 - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 199711 - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 201304 - - - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 201603 - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 201511 - - - - -__coverity_macro 201304 - - - - -__coverity_macro 200806 - - - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 200907 - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 200809 - - - - -__coverity_macro 200907 - - - - -__coverity_macro 200710 - - - - -__coverity_macro 200710 - - - - -__coverity_macro 201304 - - - - -__coverity_macro 199711 - - - - -__coverity_macro 198712 - - - - -__coverity_macro 200610 - - - - -__coverity_macro 200610 - - - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 201309 - - - - -__coverity_macro 200410 - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 200806 - - - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 200704 - - - - -__coverity_macro 200710 - - - - -__coverity_macro 200809 - - - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 201304 - - - - -__coverity_macro 200704 - - - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 2 - - - - -__coverity_macro 2 - - - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 1 - - - - - - -__the_symbol_is_not_defined__ - -**** END FILE output *** -**** BEGIN FILE error: -cc1plus: warning: command line option ‘-std=gnu90’ is valid for C/ObjC but not for C++ - -**** END FILE error *** -**** END PROBE get_macros **** -Failed to find header /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/templates/gnu/cpp.h -[STATUS] g++-config-0: Running config probes -**** BEGIN PROBE run_linker_config_probe **** -Running command "/usr/bin/cc -std=gnu90 -print-search-dirs". -pipe_command: /usr/bin/cc -std=gnu90 -print-search-dirs -pipe_commands starting: /usr/bin/cc -std=gnu90 -print-search-dirs -**** BEGIN OUTPUT run_linker_config_probe **** -install: /usr/lib/gcc/x86_64-linux-gnu/9/ -programs: =/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/ -libraries: =/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/9/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/9/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ -**** END OUTPUT run_linker_config_probe **** -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/'. -**** Found library search path '/lib/x86_64-linux-gnu/9/'. -**** Found library search path '/lib/x86_64-linux-gnu/'. -**** Found library search path '/lib/../lib/'. -**** Found library search path '/usr/lib/x86_64-linux-gnu/9/'. -**** Found library search path '/usr/lib/x86_64-linux-gnu/'. -**** Found library search path '/usr/lib/../lib/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../'. -**** Found library search path '/lib/'. -**** Found library search path '/usr/lib/'. -**** END PROBE run_linker_config_probe **** -**** BEGIN PROBE run_linker_config_probe **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -int main() {} -**** END FILE source file *** -Running command "/usr/bin/cc -std=gnu90 -Wl,--trace test.c". -pipe_command: /usr/bin/cc -std=gnu90 -Wl,--trace test.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -Wl,--trace test.c -**** BEGIN OUTPUT run_linker_config_probe **** -/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o -/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o -/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -/tmp/ccKCr9m5.o -/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -/usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so -/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 -/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so -/lib/x86_64-linux-gnu/libc.so.6 -/usr/lib/x86_64-linux-gnu/libc_nonshared.a -/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 -/usr/lib/x86_64-linux-gnu/libc_nonshared.a -/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 -/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -/usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so -/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 -/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o -/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o -**** END OUTPUT run_linker_config_probe **** -[WARNING]: expecting first line to be a mode line but got: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o -[WARNING]: /tmp/ccKCr9m5.o eliminated because it does not exist in the file system. -**** END PROBE run_linker_config_probe **** diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity-compiler-compat.h b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity-compiler-compat.h deleted file mode 100644 index e0ddbee51..000000000 --- a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity-compiler-compat.h +++ /dev/null @@ -1,8657 +0,0 @@ - -#if __COVERITY__ -#if !defined(COVERITY_COMPAT_4a622ee35a6c29d94c1d6dbcfdfbe3b3) -#define COVERITY_COMPAT_4a622ee35a6c29d94c1d6dbcfdfbe3b3 -#pragma builtin begin - -/* - Copyright (c) 2022 Synopsys, Inc. All rights reserved worldwide. - The information contained in this file is the proprietary and confidential - information of Synopsys, Inc. and its licensors, and is supplied subject to, - and may be used only by Synopsys customers in accordance with the terms and - conditions of a previously executed license agreement between Synopsys and - that customer. -*/ - - -/* DO NOT MODIFY THE CONTENTS OF THIS FILE */ - -// __coverity_cplusplus is provided to handle cases where the C++ standard -// __cplusplus predefined macro is not defined. -#define __coverity_cplusplus - -#if defined(__APPLE__) -#if defined(__BLOCKS__) -#undef __BLOCKS__ -#endif -const void* __builtin___CFStringMakeConstantString(const char*); -#endif - -/* Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. */ -#ifdef __coverity_cplusplus -extern "C" { -#endif - -#if defined(__arm__) || defined(__ARM_NEON__) || defined(__aarch64__) - -// Type aliases common to several targets - -typedef char __simd128_int8_t __attribute__((__vector_size__(16))); -typedef short __simd128_int16_t __attribute__((__vector_size__(16))); -typedef int __simd128_int32_t __attribute__((__vector_size__(16))); -typedef long long __simd128_int64_t __attribute__((__vector_size__(16))); -typedef unsigned char __simd128_uint8_t __attribute__((__vector_size__(16))); -typedef unsigned short __simd128_uint16_t __attribute__((__vector_size__(16))); -typedef unsigned int __simd128_uint32_t __attribute__((__vector_size__(16))); -typedef unsigned long long __simd128_uint64_t __attribute__((__vector_size__(16))); -typedef float cov_fp16_t __attribute__((mode(HF))); -typedef float __simd128_float32_t __attribute__((__vector_size__(16))); -typedef cov_fp16_t __simd128_float16_t __attribute__((__vector_size__(16))); -typedef int __builtin_neon_oi __attribute__ ((__vector_size__(32))); -typedef int __builtin_neon_xi __attribute__ ((__vector_size__(64))); -typedef cov_fp16_t __bf16; - -#endif // defined(__arm__) || defined(__ARM_NEON__) || defined(__aarch64__) - - -#ifdef __arm__ - -void __builtin_cxa_end_cleanup(); -void __builtin_arm_cdp(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); -void __builtin_arm_cdp2(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); -unsigned int __builtin_arm_crc32b(unsigned int, unsigned char); -unsigned int __builtin_arm_crc32cb(unsigned int, unsigned char); -unsigned int __builtin_arm_crc32ch(unsigned int, short unsigned int); -unsigned int __builtin_arm_crc32cw(unsigned int, unsigned int); -unsigned int __builtin_arm_crc32h(unsigned int, short unsigned int); -unsigned int __builtin_arm_crc32w(unsigned int, unsigned int); -void __builtin_arm_ldc(unsigned int, unsigned int, const void*); -void __builtin_arm_ldc2(unsigned int, unsigned int, const void*); -void __builtin_arm_ldc2l(unsigned int, unsigned int, const void*); -void __builtin_arm_ldcl(unsigned int, unsigned int, const void*); -void __builtin_arm_mcr(unsigned int, unsigned int, int, unsigned int, unsigned int, unsigned int); -void __builtin_arm_mcr2(unsigned int, unsigned int, int, unsigned int, unsigned int, unsigned int); -void __builtin_arm_mcrr(unsigned int, unsigned int, long long int, unsigned int); -void __builtin_arm_mcrr2(unsigned int, unsigned int, long long int, unsigned int); -int __builtin_arm_mrc(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); -int __builtin_arm_mrc2(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); -long long int __builtin_arm_mrrc(unsigned int, unsigned int, unsigned int); -long long int __builtin_arm_mrrc2(unsigned int, unsigned int, unsigned int); -void __builtin_arm_stc(unsigned int, unsigned int, void*); -void __builtin_arm_stc2(unsigned int, unsigned int, void*); -void __builtin_arm_stc2l(unsigned int, unsigned int, void*); -void __builtin_arm_stcl(unsigned int, unsigned int, void*); -void* __builtin___emutls_get_address(void*); -void __builtin___emutls_register_common(void*, unsigned int, unsigned int, void*); -unsigned int __builtin_arm_get_fpscr (); -void __builtin_arm_set_fpscr (unsigned int); - -int __builtin_arm_saturation_occurred(void); -int __builtin_arm_qadd(int, int); -int __builtin_arm_qadd16(int, int); -int __builtin_arm_qadd8(int, int); -int __builtin_arm_qasx(int, int); -int __builtin_arm_qsax(int, int); -int __builtin_arm_qsub(int, int); -int __builtin_arm_qsub16(int, int); -int __builtin_arm_qsub8(int, int); -int __builtin_arm_sadd16(int, int); -int __builtin_arm_sadd8(int, int); -int __builtin_arm_sasx(int, int); -unsigned int __builtin_arm_sel(unsigned int, unsigned int); -void __builtin_arm_set_saturation(int); -int __builtin_arm_shadd16(int, int); -int __builtin_arm_shadd8(int, int); -int __builtin_arm_shasx(int, int); -int __builtin_arm_shsax(int, int); -int __builtin_arm_shsub16(int, int); -int __builtin_arm_shsub8(int, int); -int __builtin_arm_smlabb(int, int, int); -int __builtin_arm_smlad(int, int, int); -int __builtin_arm_smladx(int, int, int); -long long int __builtin_arm_smlald(int, int, long long int); -long long int __builtin_arm_smlaldx(int, int, long long int); -int __builtin_arm_smlatb(int, int, int); -int __builtin_arm_smlatt(int, int, int); -int __builtin_arm_smlawb(int, int, int); -int __builtin_arm_smlawt(int, int, int); -int __builtin_arm_smlsd(int, int, int); -int __builtin_arm_smlsdx(int, int, int); -long long int __builtin_arm_smlsld(int, int, long long int); -long long int __builtin_arm_smlsldx(int, int, long long int); -int __builtin_arm_smuad(int, int); -int __builtin_arm_smuadx(int, int); -int __builtin_arm_smusd(int, int); -int __builtin_arm_smusdx(int, int); -unsigned int __builtin_arm_ssat(int, unsigned int); -unsigned int __builtin_arm_ssat16(int, unsigned int); -int __builtin_arm_ssax(int, int); -int __builtin_arm_ssub16(int, int); -int __builtin_arm_ssub8(int, int); -int __builtin_arm_sxtab16(int, int); -int __builtin_arm_sxtb16(int); -unsigned int __builtin_arm_uadd16(unsigned int, unsigned int); -unsigned int __builtin_arm_uadd8(unsigned int, unsigned int); -unsigned int __builtin_arm_uasx(unsigned int, unsigned int); -unsigned int __builtin_arm_uhadd16(unsigned int, unsigned int); -unsigned int __builtin_arm_uhadd8(unsigned int, unsigned int); -unsigned int __builtin_arm_uhasx(unsigned int, unsigned int); -unsigned int __builtin_arm_uhsax(unsigned int, unsigned int); -unsigned int __builtin_arm_uhsub16(unsigned int, unsigned int); -unsigned int __builtin_arm_uhsub8(unsigned int, unsigned int); -unsigned int __builtin_arm_uqadd16(unsigned int, unsigned int); -unsigned int __builtin_arm_uqadd8(unsigned int, unsigned int); -unsigned int __builtin_arm_uqasx(unsigned int, unsigned int); -unsigned int __builtin_arm_uqsax(unsigned int, unsigned int); -unsigned int __builtin_arm_uqsub16(unsigned int, unsigned int); -unsigned int __builtin_arm_uqsub8(unsigned int, unsigned int); -unsigned int __builtin_arm_usad8(unsigned int, unsigned int); -unsigned int __builtin_arm_usada8(unsigned int, unsigned int, unsigned int); -unsigned int __builtin_arm_usat(int, unsigned int); -unsigned int __builtin_arm_usat16(int, unsigned int); -unsigned int __builtin_arm_usax(unsigned int, unsigned int); -unsigned int __builtin_arm_usub16(unsigned int, unsigned int); -unsigned int __builtin_arm_usub8(unsigned int, unsigned int); -unsigned int __builtin_arm_uxtab16(unsigned int, unsigned int); -unsigned int __builtin_arm_uxtb16(unsigned int); -void __builtin_sat_imm_check(int, int, int); -void* __emutls_get_address(void*); -void __emutls_register_common(void*, unsigned int, unsigned int, void*); -__bf16 __divbc3(__bf16, __bf16, __bf16, __bf16); -__bf16 __mulbc3(__bf16, __bf16, __bf16, __bf16); - -// -mfp16-format=ieee -__bf16 __divhc3(__bf16, __bf16, __bf16, __bf16); -__bf16 __mulhc3(__bf16, __bf16, __bf16, __bf16); - -// -march=armv8-m.main+cdecp0 -long long int __builtin_arm_cx1adi(int, long long int, unsigned int); -int __builtin_arm_cx1asi(int, int, unsigned int); -long long int __builtin_arm_cx1di(int, unsigned int); -int __builtin_arm_cx1si(int, unsigned int); -long long int __builtin_arm_cx2adi(int, long long int, int, unsigned int); -int __builtin_arm_cx2asi(int, int, int, unsigned int); -long long int __builtin_arm_cx2di(int, int, unsigned int); -int __builtin_arm_cx2si(int, int, unsigned int); -long long int __builtin_arm_cx3adi(int, long long int, int, int, unsigned int); -int __builtin_arm_cx3asi(int, int, int, int, unsigned int); -long long int __builtin_arm_cx3di(int, int, int, unsigned int); -int __builtin_arm_cx3si(int, int, int, unsigned int); - -// -mfloat-abi=hard -march=armv8.1-m.main+mve+cdecp0 -long long int __builtin_arm_vcx1adi(int, long long int, unsigned int); -int __builtin_arm_vcx1asi(int, int, unsigned int); -long long int __builtin_arm_vcx1di(int, unsigned int); -__simd128_int8_t __builtin_arm_vcx1qa_p_v16qi(int, __simd128_int8_t, unsigned int, short unsigned int); -__simd128_int8_t __builtin_arm_vcx1qav16qi(int, __simd128_int8_t, unsigned int); -__simd128_int8_t __builtin_arm_vcx1q_p_v16qi(int, __simd128_int8_t, unsigned int, short unsigned int); -__simd128_int8_t __builtin_arm_vcx1qv16qi(int, unsigned int); -int __builtin_arm_vcx1si(int, unsigned int); -long long int __builtin_arm_vcx2adi(int, long long int, long long int, unsigned int); -int __builtin_arm_vcx2asi(int, int, int, unsigned int); -long long int __builtin_arm_vcx2di(int, long long int, unsigned int); -__simd128_int8_t __builtin_arm_vcx2qa_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); -__simd128_int8_t __builtin_arm_vcx2qav16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int); -__simd128_int8_t __builtin_arm_vcx2q_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); -__simd128_int8_t __builtin_arm_vcx2qv16qi(int, __simd128_int8_t, unsigned int); -int __builtin_arm_vcx2si(int, int, unsigned int); -long long int __builtin_arm_vcx3adi(int, long long int, long long int, long long int, unsigned int); -int __builtin_arm_vcx3asi(int, int, int, int, unsigned int); -long long int __builtin_arm_vcx3di(int, long long int, long long int, unsigned int); -__simd128_int8_t __builtin_arm_vcx3qa_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); -__simd128_int8_t __builtin_arm_vcx3qav16qi(int, __simd128_int8_t, __simd128_int8_t, __simd128_int8_t, unsigned int); -__simd128_int8_t __builtin_arm_vcx3q_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); -__simd128_int8_t __builtin_arm_vcx3qv16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int); -int __builtin_arm_vcx3si(int, int, int, unsigned int); - -// -march=armv8.1-m.main+mve -mfloat-abi=hard -int __builtin_arm_get_fpscr_nzcvqc(void); -void __builtin_arm_set_fpscr_nzcvqc(int); -long long int __builtin_mve_sqrshrl_sat48_di(long long int, int); -long long int __builtin_mve_sqrshrl_sat64_di(long long int, int); -int __builtin_mve_sqrshr_si(int, int); -long long unsigned int __builtin_mve_sqshll_di(long long unsigned int, const int); -unsigned int __builtin_mve_sqshl_si(long long unsigned int, const int); -long long unsigned int __builtin_mve_srshrl_di(long long unsigned int, const int); -unsigned int __builtin_mve_srshr_si(long long unsigned int, const int); -long long unsigned int __builtin_mve_uqrshll_sat48_di(long long unsigned int, int); -long long unsigned int __builtin_mve_uqrshll_sat64_di(long long unsigned int, int); -unsigned int __builtin_mve_uqrshl_si(unsigned int, int); -long long unsigned int __builtin_mve_uqshll_di(long long unsigned int, const int); -unsigned int __builtin_mve_uqshl_si(unsigned int, const int); -long long unsigned int __builtin_mve_urshrl_di(long long unsigned int, const int); -unsigned int __builtin_mve_urshr_si(unsigned int, const int); -unsigned int __builtin_mve_vabavq_p_sv16qi(unsigned int, __simd128_int8_t, __simd128_int8_t, short unsigned int); -unsigned int __builtin_mve_vabavq_p_sv4si(unsigned int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -unsigned int __builtin_mve_vabavq_p_sv8hi(unsigned int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -unsigned int __builtin_mve_vabavq_p_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -unsigned int __builtin_mve_vabavq_p_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -unsigned int __builtin_mve_vabavq_p_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -unsigned int __builtin_mve_vabavq_sv16qi(unsigned int, __simd128_int8_t, __simd128_int8_t); -unsigned int __builtin_mve_vabavq_sv4si(unsigned int, __simd128_int32_t, __simd128_int32_t); -unsigned int __builtin_mve_vabavq_sv8hi(unsigned int, __simd128_int16_t, __simd128_int16_t); -unsigned int __builtin_mve_vabavq_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t); -unsigned int __builtin_mve_vabavq_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t); -unsigned int __builtin_mve_vabavq_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vabdq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vabdq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vabdq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vabdq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vabdq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vabdq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vabdq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vabdq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vabdq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vabdq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vabdq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vabdq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vabdq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vabdq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vabdq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vabdq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vabsq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vabsq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vabsq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vabsq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vabsq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vabsq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vabsq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vabsq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vabsq_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vabsq_sv8hi(__simd128_int16_t); -__simd128_int32_t __builtin_mve_vadciq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vadciq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vadciq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_uint32_t __builtin_mve_vadciq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_int32_t __builtin_mve_vadcq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vadcq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vadcq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_uint32_t __builtin_mve_vadcq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -long long int __builtin_mve_vaddlvaq_p_sv4si(long long int, __simd128_int32_t, short unsigned int); -long long unsigned int __builtin_mve_vaddlvaq_p_uv4si(long long unsigned int, __simd128_uint32_t, short unsigned int); -long long int __builtin_mve_vaddlvaq_sv4si(long long int, __simd128_int32_t); -long long unsigned int __builtin_mve_vaddlvaq_uv4si(long long unsigned int, __simd128_uint32_t); -long long int __builtin_mve_vaddlvq_p_sv4si(__simd128_int32_t, short unsigned int); -long long unsigned int __builtin_mve_vaddlvq_p_uv4si(__simd128_uint32_t, short unsigned int); -long long int __builtin_mve_vaddlvq_sv4si(__simd128_int32_t); -long long unsigned int __builtin_mve_vaddlvq_uv4si(__simd128_uint32_t); -__simd128_float32_t __builtin_mve_vaddq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vaddq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vaddq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); -__simd128_float16_t __builtin_mve_vaddq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); -__simd128_int8_t __builtin_mve_vaddq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vaddq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vaddq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vaddq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vaddq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vaddq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vaddq_n_fv4sf(__simd128_float32_t, float); -__simd128_float16_t __builtin_mve_vaddq_n_fv8hf(__simd128_float16_t, __bf16); -__simd128_int8_t __builtin_mve_vaddq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vaddq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vaddq_n_sv8hi(__simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vaddq_n_uv16qi(__simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vaddq_n_uv4si(__simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vaddq_n_uv8hi(__simd128_uint16_t, short unsigned int); -int __builtin_mve_vaddvaq_p_sv16qi(int, __simd128_int8_t, short unsigned int); -int __builtin_mve_vaddvaq_p_sv4si(int, __simd128_int32_t, short unsigned int); -int __builtin_mve_vaddvaq_p_sv8hi(int, __simd128_int16_t, short unsigned int); -unsigned int __builtin_mve_vaddvaq_p_uv16qi(unsigned int, __simd128_uint8_t, short unsigned int); -unsigned int __builtin_mve_vaddvaq_p_uv4si(unsigned int, __simd128_uint32_t, short unsigned int); -unsigned int __builtin_mve_vaddvaq_p_uv8hi(unsigned int, __simd128_uint16_t, short unsigned int); -int __builtin_mve_vaddvaq_sv16qi(int, __simd128_int8_t); -int __builtin_mve_vaddvaq_sv4si(int, __simd128_int32_t); -int __builtin_mve_vaddvaq_sv8hi(int, __simd128_int16_t); -unsigned int __builtin_mve_vaddvaq_uv16qi(unsigned int, __simd128_uint8_t); -unsigned int __builtin_mve_vaddvaq_uv4si(unsigned int, __simd128_uint32_t); -unsigned int __builtin_mve_vaddvaq_uv8hi(unsigned int, __simd128_uint16_t); -int __builtin_mve_vaddvq_p_sv16qi(__simd128_int8_t, short unsigned int); -int __builtin_mve_vaddvq_p_sv4si(__simd128_int32_t, short unsigned int); -int __builtin_mve_vaddvq_p_sv8hi(__simd128_int16_t, short unsigned int); -unsigned int __builtin_mve_vaddvq_p_uv16qi(__simd128_uint8_t, short unsigned int); -unsigned int __builtin_mve_vaddvq_p_uv4si(__simd128_uint32_t, short unsigned int); -unsigned int __builtin_mve_vaddvq_p_uv8hi(__simd128_uint16_t, short unsigned int); -int __builtin_mve_vaddvq_sv16qi(__simd128_int8_t); -int __builtin_mve_vaddvq_sv4si(__simd128_int32_t); -int __builtin_mve_vaddvq_sv8hi(__simd128_int16_t); -unsigned int __builtin_mve_vaddvq_uv16qi(__simd128_uint8_t); -unsigned int __builtin_mve_vaddvq_uv4si(__simd128_uint32_t); -unsigned int __builtin_mve_vaddvq_uv8hi(__simd128_uint16_t); -__simd128_float32_t __builtin_mve_vandq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vandq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vandq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vandq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vandq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vandq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vandq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vandq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vandq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vandq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vandq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vandq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vandq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vandq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vandq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vandq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vbicq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vbicq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vbicq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vbicq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vbicq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vbicq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vbicq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vbicq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vbicq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vbicq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vbicq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vbicq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vbicq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vbicq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vbicq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vbicq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint32_t __builtin_mve_vbicq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vbicq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vbicq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vbicq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vbicq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vbicq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vbicq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vbicq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vbrsrq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, int, short unsigned int); -__simd128_float16_t __builtin_mve_vbrsrq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vbrsrq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vbrsrq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vbrsrq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vbrsrq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vbrsrq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vbrsrq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_float32_t __builtin_mve_vbrsrq_n_fv4sf(__simd128_float32_t, int); -__simd128_float16_t __builtin_mve_vbrsrq_n_fv8hf(__simd128_float16_t, int); -__simd128_int8_t __builtin_mve_vbrsrq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vbrsrq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vbrsrq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vbrsrq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vbrsrq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vbrsrq_n_uv8hi(__simd128_uint16_t, int); -__simd128_float32_t __builtin_mve_vcaddq_rot270_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcaddq_rot270_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcaddq_rot270_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcaddq_rot270_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vcaddq_rot270_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcaddq_rot270_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vcaddq_rot270_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vcaddq_rot270_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vcaddq_rot270_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vcaddq_rot270_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vcaddq_rot270_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vcaddq_rot270_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vcaddq_rot270_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vcaddq_rot270_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vcaddq_rot270_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vcaddq_rot270_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vcaddq_rot90_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcaddq_rot90_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcaddq_rot90_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcaddq_rot90_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vcaddq_rot90_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcaddq_rot90_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vcaddq_rot90_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vcaddq_rot90_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vcaddq_rot90_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vcaddq_rot90_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vcaddq_rot90_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vcaddq_rot90_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vcaddq_rot90_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vcaddq_rot90_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vcaddq_rot90_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vcaddq_rot90_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_int8_t __builtin_mve_vclsq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vclsq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vclsq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vclsq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vclsq_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vclsq_sv8hi(__simd128_int16_t); -__simd128_int8_t __builtin_mve_vclzq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vclzq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vclzq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vclzq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vclzq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vclzq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vclzq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vclzq_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vclzq_sv8hi(__simd128_int16_t); -__simd128_uint8_t __builtin_mve_vclzq_uv16qi(__simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vclzq_uv4si(__simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vclzq_uv8hi(__simd128_uint16_t); -__simd128_float32_t __builtin_mve_vcmlaq_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmlaq_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmlaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmlaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcmlaq_rot180_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmlaq_rot180_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmlaq_rot180_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmlaq_rot180_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcmlaq_rot270_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmlaq_rot270_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmlaq_rot270_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmlaq_rot270_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcmlaq_rot90_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmlaq_rot90_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmlaq_rot90_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmlaq_rot90_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_n_uv16qi(__simd128_uint8_t, unsigned char); -short unsigned int __builtin_mve_vcmpcsq_n_uv4si(__simd128_uint32_t, unsigned int); -short unsigned int __builtin_mve_vcmpcsq_n_uv8hi(__simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -short unsigned int __builtin_mve_vcmpcsq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -short unsigned int __builtin_mve_vcmpcsq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -short unsigned int __builtin_mve_vcmpeqq_fv4sf(__simd128_float32_t, __simd128_float32_t); -short unsigned int __builtin_mve_vcmpeqq_fv8hf(__simd128_float16_t, __simd128_float16_t); -short unsigned int __builtin_mve_vcmpeqq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_n_fv4sf(__simd128_float32_t, float); -short unsigned int __builtin_mve_vcmpeqq_n_fv8hf(__simd128_float16_t, __bf16); -short unsigned int __builtin_mve_vcmpeqq_n_sv16qi(__simd128_int8_t, signed char); -short unsigned int __builtin_mve_vcmpeqq_n_sv4si(__simd128_int32_t, int); -short unsigned int __builtin_mve_vcmpeqq_n_sv8hi(__simd128_int16_t, short int); -short unsigned int __builtin_mve_vcmpeqq_n_uv16qi(__simd128_uint8_t, unsigned char); -short unsigned int __builtin_mve_vcmpeqq_n_uv4si(__simd128_uint32_t, unsigned int); -short unsigned int __builtin_mve_vcmpeqq_n_uv8hi(__simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_sv16qi(__simd128_int8_t, __simd128_int8_t); -short unsigned int __builtin_mve_vcmpeqq_sv4si(__simd128_int32_t, __simd128_int32_t); -short unsigned int __builtin_mve_vcmpeqq_sv8hi(__simd128_int16_t, __simd128_int16_t); -short unsigned int __builtin_mve_vcmpeqq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -short unsigned int __builtin_mve_vcmpeqq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -short unsigned int __builtin_mve_vcmpeqq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -short unsigned int __builtin_mve_vcmpgeq_fv4sf(__simd128_float32_t, __simd128_float32_t); -short unsigned int __builtin_mve_vcmpgeq_fv8hf(__simd128_float16_t, __simd128_float16_t); -short unsigned int __builtin_mve_vcmpgeq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_n_fv4sf(__simd128_float32_t, float); -short unsigned int __builtin_mve_vcmpgeq_n_fv8hf(__simd128_float16_t, __bf16); -short unsigned int __builtin_mve_vcmpgeq_n_sv16qi(__simd128_int8_t, signed char); -short unsigned int __builtin_mve_vcmpgeq_n_sv4si(__simd128_int32_t, int); -short unsigned int __builtin_mve_vcmpgeq_n_sv8hi(__simd128_int16_t, short int); -short unsigned int __builtin_mve_vcmpgeq_sv16qi(__simd128_int8_t, __simd128_int8_t); -short unsigned int __builtin_mve_vcmpgeq_sv4si(__simd128_int32_t, __simd128_int32_t); -short unsigned int __builtin_mve_vcmpgeq_sv8hi(__simd128_int16_t, __simd128_int16_t); -short unsigned int __builtin_mve_vcmpgtq_fv4sf(__simd128_float32_t, __simd128_float32_t); -short unsigned int __builtin_mve_vcmpgtq_fv8hf(__simd128_float16_t, __simd128_float16_t); -short unsigned int __builtin_mve_vcmpgtq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_n_fv4sf(__simd128_float32_t, float); -short unsigned int __builtin_mve_vcmpgtq_n_fv8hf(__simd128_float16_t, __bf16); -short unsigned int __builtin_mve_vcmpgtq_n_sv16qi(__simd128_int8_t, signed char); -short unsigned int __builtin_mve_vcmpgtq_n_sv4si(__simd128_int32_t, int); -short unsigned int __builtin_mve_vcmpgtq_n_sv8hi(__simd128_int16_t, short int); -short unsigned int __builtin_mve_vcmpgtq_sv16qi(__simd128_int8_t, __simd128_int8_t); -short unsigned int __builtin_mve_vcmpgtq_sv4si(__simd128_int32_t, __simd128_int32_t); -short unsigned int __builtin_mve_vcmpgtq_sv8hi(__simd128_int16_t, __simd128_int16_t); -short unsigned int __builtin_mve_vcmphiq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); -short unsigned int __builtin_mve_vcmphiq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmphiq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmphiq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -short unsigned int __builtin_mve_vcmphiq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -short unsigned int __builtin_mve_vcmphiq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmphiq_n_uv16qi(__simd128_uint8_t, unsigned char); -short unsigned int __builtin_mve_vcmphiq_n_uv4si(__simd128_uint32_t, unsigned int); -short unsigned int __builtin_mve_vcmphiq_n_uv8hi(__simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmphiq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -short unsigned int __builtin_mve_vcmphiq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -short unsigned int __builtin_mve_vcmphiq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -short unsigned int __builtin_mve_vcmpleq_fv4sf(__simd128_float32_t, __simd128_float32_t); -short unsigned int __builtin_mve_vcmpleq_fv8hf(__simd128_float16_t, __simd128_float16_t); -short unsigned int __builtin_mve_vcmpleq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_n_fv4sf(__simd128_float32_t, float); -short unsigned int __builtin_mve_vcmpleq_n_fv8hf(__simd128_float16_t, __bf16); -short unsigned int __builtin_mve_vcmpleq_n_sv16qi(__simd128_int8_t, signed char); -short unsigned int __builtin_mve_vcmpleq_n_sv4si(__simd128_int32_t, int); -short unsigned int __builtin_mve_vcmpleq_n_sv8hi(__simd128_int16_t, short int); -short unsigned int __builtin_mve_vcmpleq_sv16qi(__simd128_int8_t, __simd128_int8_t); -short unsigned int __builtin_mve_vcmpleq_sv4si(__simd128_int32_t, __simd128_int32_t); -short unsigned int __builtin_mve_vcmpleq_sv8hi(__simd128_int16_t, __simd128_int16_t); -short unsigned int __builtin_mve_vcmpltq_fv4sf(__simd128_float32_t, __simd128_float32_t); -short unsigned int __builtin_mve_vcmpltq_fv8hf(__simd128_float16_t, __simd128_float16_t); -short unsigned int __builtin_mve_vcmpltq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_n_fv4sf(__simd128_float32_t, float); -short unsigned int __builtin_mve_vcmpltq_n_fv8hf(__simd128_float16_t, __bf16); -short unsigned int __builtin_mve_vcmpltq_n_sv16qi(__simd128_int8_t, signed char); -short unsigned int __builtin_mve_vcmpltq_n_sv4si(__simd128_int32_t, int); -short unsigned int __builtin_mve_vcmpltq_n_sv8hi(__simd128_int16_t, short int); -short unsigned int __builtin_mve_vcmpltq_sv16qi(__simd128_int8_t, __simd128_int8_t); -short unsigned int __builtin_mve_vcmpltq_sv4si(__simd128_int32_t, __simd128_int32_t); -short unsigned int __builtin_mve_vcmpltq_sv8hi(__simd128_int16_t, __simd128_int16_t); -short unsigned int __builtin_mve_vcmpneq_fv4sf(__simd128_float32_t, __simd128_float32_t); -short unsigned int __builtin_mve_vcmpneq_fv8hf(__simd128_float16_t, __simd128_float16_t); -short unsigned int __builtin_mve_vcmpneq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_n_fv4sf(__simd128_float32_t, float); -short unsigned int __builtin_mve_vcmpneq_n_fv8hf(__simd128_float16_t, __bf16); -short unsigned int __builtin_mve_vcmpneq_n_sv16qi(__simd128_int8_t, signed char); -short unsigned int __builtin_mve_vcmpneq_n_sv4si(__simd128_int32_t, int); -short unsigned int __builtin_mve_vcmpneq_n_sv8hi(__simd128_int16_t, short int); -short unsigned int __builtin_mve_vcmpneq_n_uv16qi(__simd128_uint8_t, unsigned char); -short unsigned int __builtin_mve_vcmpneq_n_uv4si(__simd128_uint32_t, unsigned int); -short unsigned int __builtin_mve_vcmpneq_n_uv8hi(__simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_sv16qi(__simd128_int8_t, __simd128_int8_t); -short unsigned int __builtin_mve_vcmpneq_sv4si(__simd128_int32_t, __simd128_int32_t); -short unsigned int __builtin_mve_vcmpneq_sv8hi(__simd128_int16_t, __simd128_int16_t); -short unsigned int __builtin_mve_vcmpneq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -short unsigned int __builtin_mve_vcmpneq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -short unsigned int __builtin_mve_vcmpneq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vcmulq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmulq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmulq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmulq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcmulq_rot180_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmulq_rot180_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmulq_rot180_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmulq_rot180_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcmulq_rot270_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmulq_rot270_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmulq_rot270_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmulq_rot270_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcmulq_rot90_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmulq_rot90_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmulq_rot90_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmulq_rot90_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcreateq_fv4sf(long long unsigned int, long long unsigned int); -__simd128_float16_t __builtin_mve_vcreateq_fv8hf(long long unsigned int, long long unsigned int); -__simd128_int8_t __builtin_mve_vcreateq_sv16qi(long long unsigned int, long long unsigned int); -__simd128_int64_t __builtin_mve_vcreateq_sv2di(long long unsigned int, long long unsigned int); -__simd128_int32_t __builtin_mve_vcreateq_sv4si(long long unsigned int, long long unsigned int); -__simd128_int16_t __builtin_mve_vcreateq_sv8hi(long long unsigned int, long long unsigned int); -__simd128_uint8_t __builtin_mve_vcreateq_uv16qi(long long unsigned int, long long unsigned int); -__simd128_uint64_t __builtin_mve_vcreateq_uv2di(long long unsigned int, long long unsigned int); -__simd128_uint32_t __builtin_mve_vcreateq_uv4si(long long unsigned int, long long unsigned int); -__simd128_uint16_t __builtin_mve_vcreateq_uv8hi(long long unsigned int, long long unsigned int); -short unsigned int __builtin_mve_vctp16qhi(unsigned int); -short unsigned int __builtin_mve_vctp16q_mhi(unsigned int, short unsigned int); -short unsigned int __builtin_mve_vctp32qhi(unsigned int); -short unsigned int __builtin_mve_vctp32q_mhi(unsigned int, short unsigned int); -short unsigned int __builtin_mve_vctp64qhi(unsigned int); -short unsigned int __builtin_mve_vctp64q_mhi(unsigned int, short unsigned int); -short unsigned int __builtin_mve_vctp8qhi(unsigned int); -short unsigned int __builtin_mve_vctp8q_mhi(unsigned int, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtaq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vcvtaq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vcvtaq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vcvtaq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtaq_sv4si(__simd128_float32_t); -__simd128_int16_t __builtin_mve_vcvtaq_sv8hi(__simd128_float16_t); -__simd128_uint32_t __builtin_mve_vcvtaq_uv4si(__simd128_float32_t); -__simd128_uint16_t __builtin_mve_vcvtaq_uv8hi(__simd128_float16_t); -__simd128_float16_t __builtin_mve_vcvtbq_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t); -__simd128_float32_t __builtin_mve_vcvtbq_f32_f16v4sf(__simd128_float16_t); -__simd128_float16_t __builtin_mve_vcvtbq_m_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcvtbq_m_f32_f16v4sf(__simd128_float32_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtmq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vcvtmq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vcvtmq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vcvtmq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtmq_sv4si(__simd128_float32_t); -__simd128_int16_t __builtin_mve_vcvtmq_sv8hi(__simd128_float16_t); -__simd128_uint32_t __builtin_mve_vcvtmq_uv4si(__simd128_float32_t); -__simd128_uint16_t __builtin_mve_vcvtmq_uv8hi(__simd128_float16_t); -__simd128_int32_t __builtin_mve_vcvtnq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vcvtnq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vcvtnq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vcvtnq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtnq_sv4si(__simd128_float32_t); -__simd128_int16_t __builtin_mve_vcvtnq_sv8hi(__simd128_float16_t); -__simd128_uint32_t __builtin_mve_vcvtnq_uv4si(__simd128_float32_t); -__simd128_uint16_t __builtin_mve_vcvtnq_uv8hi(__simd128_float16_t); -__simd128_int32_t __builtin_mve_vcvtpq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vcvtpq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vcvtpq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vcvtpq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtpq_sv4si(__simd128_float32_t); -__simd128_int16_t __builtin_mve_vcvtpq_sv8hi(__simd128_float16_t); -__simd128_uint32_t __builtin_mve_vcvtpq_uv4si(__simd128_float32_t); -__simd128_uint16_t __builtin_mve_vcvtpq_uv8hi(__simd128_float16_t); -__simd128_int32_t __builtin_mve_vcvtq_from_f_sv4si(__simd128_float32_t); -__simd128_int16_t __builtin_mve_vcvtq_from_f_sv8hi(__simd128_float16_t); -__simd128_uint32_t __builtin_mve_vcvtq_from_f_uv4si(__simd128_float32_t); -__simd128_uint16_t __builtin_mve_vcvtq_from_f_uv8hi(__simd128_float16_t); -__simd128_int32_t __builtin_mve_vcvtq_m_from_f_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vcvtq_m_from_f_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vcvtq_m_from_f_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vcvtq_m_from_f_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtq_m_n_from_f_sv4si(__simd128_int32_t, __simd128_float32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vcvtq_m_n_from_f_sv8hi(__simd128_int16_t, __simd128_float16_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vcvtq_m_n_from_f_uv4si(__simd128_uint32_t, __simd128_float32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vcvtq_m_n_from_f_uv8hi(__simd128_uint16_t, __simd128_float16_t, int, short unsigned int); -__simd128_float32_t __builtin_mve_vcvtq_m_n_to_f_sv4sf(__simd128_float32_t, __simd128_int32_t, int, short unsigned int); -__simd128_float16_t __builtin_mve_vcvtq_m_n_to_f_sv8hf(__simd128_float16_t, __simd128_int16_t, int, short unsigned int); -__simd128_float32_t __builtin_mve_vcvtq_m_n_to_f_uv4sf(__simd128_float32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_float16_t __builtin_mve_vcvtq_m_n_to_f_uv8hf(__simd128_float16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_float32_t __builtin_mve_vcvtq_m_to_f_sv4sf(__simd128_float32_t, __simd128_int32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcvtq_m_to_f_sv8hf(__simd128_float16_t, __simd128_int16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcvtq_m_to_f_uv4sf(__simd128_float32_t, __simd128_uint32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcvtq_m_to_f_uv8hf(__simd128_float16_t, __simd128_uint16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtq_n_from_f_sv4si(__simd128_float32_t, int); -__simd128_int16_t __builtin_mve_vcvtq_n_from_f_sv8hi(__simd128_float16_t, int); -__simd128_uint32_t __builtin_mve_vcvtq_n_from_f_uv4si(__simd128_float32_t, int); -__simd128_uint16_t __builtin_mve_vcvtq_n_from_f_uv8hi(__simd128_float16_t, int); -__simd128_float32_t __builtin_mve_vcvtq_n_to_f_sv4sf(__simd128_int32_t, int); -__simd128_float16_t __builtin_mve_vcvtq_n_to_f_sv8hf(__simd128_int16_t, int); -__simd128_float32_t __builtin_mve_vcvtq_n_to_f_uv4sf(__simd128_uint32_t, int); -__simd128_float16_t __builtin_mve_vcvtq_n_to_f_uv8hf(__simd128_uint16_t, int); -__simd128_float32_t __builtin_mve_vcvtq_to_f_sv4sf(__simd128_int32_t); -__simd128_float16_t __builtin_mve_vcvtq_to_f_sv8hf(__simd128_int16_t); -__simd128_float32_t __builtin_mve_vcvtq_to_f_uv4sf(__simd128_uint32_t); -__simd128_float16_t __builtin_mve_vcvtq_to_f_uv8hf(__simd128_uint16_t); -__simd128_float16_t __builtin_mve_vcvttq_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t); -__simd128_float32_t __builtin_mve_vcvttq_f32_f16v4sf(__simd128_float16_t); -__simd128_float16_t __builtin_mve_vcvttq_m_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcvttq_m_f32_f16v4sf(__simd128_float32_t, __simd128_float16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vddupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vddupq_m_n_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vddupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vddupq_n_uv16qi(unsigned int, int); -__simd128_uint32_t __builtin_mve_vddupq_n_uv4si(unsigned int, int); -__simd128_uint16_t __builtin_mve_vddupq_n_uv8hi(unsigned int, int); -__simd128_float32_t __builtin_mve_vdupq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); -__simd128_float16_t __builtin_mve_vdupq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); -__simd128_int8_t __builtin_mve_vdupq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vdupq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vdupq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vdupq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vdupq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vdupq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_float32_t __builtin_mve_vdupq_n_fv4sf(float); -__simd128_float16_t __builtin_mve_vdupq_n_fv8hf(__bf16); -__simd128_int8_t __builtin_mve_vdupq_n_sv16qi(signed char); -__simd128_int32_t __builtin_mve_vdupq_n_sv4si(int); -__simd128_int16_t __builtin_mve_vdupq_n_sv8hi(short int); -__simd128_uint8_t __builtin_mve_vdupq_n_uv16qi(unsigned char); -__simd128_uint32_t __builtin_mve_vdupq_n_uv4si(unsigned int); -__simd128_uint16_t __builtin_mve_vdupq_n_uv8hi(short unsigned int); -__simd128_uint8_t __builtin_mve_vdwdupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vdwdupq_m_n_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vdwdupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); -unsigned int __builtin_mve_vdwdupq_m_wb_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); -unsigned int __builtin_mve_vdwdupq_m_wb_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); -unsigned int __builtin_mve_vdwdupq_m_wb_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vdwdupq_n_uv16qi(unsigned int, long long unsigned int, int); -__simd128_uint32_t __builtin_mve_vdwdupq_n_uv4si(unsigned int, long long unsigned int, int); -__simd128_uint16_t __builtin_mve_vdwdupq_n_uv8hi(unsigned int, long long unsigned int, int); -unsigned int __builtin_mve_vdwdupq_wb_uv16qi(unsigned int, long long unsigned int, int); -unsigned int __builtin_mve_vdwdupq_wb_uv4si(unsigned int, long long unsigned int, int); -unsigned int __builtin_mve_vdwdupq_wb_uv8hi(unsigned int, long long unsigned int, int); -__simd128_float32_t __builtin_mve_veorq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_veorq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_veorq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_veorq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_veorq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_veorq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_veorq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_veorq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_veorq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_veorq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_veorq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_veorq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_veorq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_veorq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_veorq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_veorq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vfmaq_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vfmaq_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vfmaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vfmaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vfmaq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); -__simd128_float16_t __builtin_mve_vfmaq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); -__simd128_float32_t __builtin_mve_vfmaq_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float); -__simd128_float16_t __builtin_mve_vfmaq_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16); -__simd128_float32_t __builtin_mve_vfmasq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); -__simd128_float16_t __builtin_mve_vfmasq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); -__simd128_float32_t __builtin_mve_vfmasq_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float); -__simd128_float16_t __builtin_mve_vfmasq_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16); -__simd128_float32_t __builtin_mve_vfmsq_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vfmsq_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vfmsq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vfmsq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vhaddq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vhaddq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vhaddq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vhaddq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vhaddq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vhaddq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vhaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vhaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vhaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vhaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vhaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vhaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vhaddq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vhaddq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vhaddq_n_sv8hi(__simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vhaddq_n_uv16qi(__simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vhaddq_n_uv4si(__simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vhaddq_n_uv8hi(__simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vhaddq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vhaddq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vhaddq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vhaddq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vhaddq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vhaddq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_int8_t __builtin_mve_vhcaddq_rot270_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vhcaddq_rot270_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vhcaddq_rot270_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vhcaddq_rot270_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vhcaddq_rot270_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vhcaddq_rot270_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vhcaddq_rot90_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vhcaddq_rot90_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vhcaddq_rot90_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vhcaddq_rot90_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vhcaddq_rot90_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vhcaddq_rot90_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vhsubq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vhsubq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vhsubq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vhsubq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vhsubq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vhsubq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vhsubq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vhsubq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vhsubq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vhsubq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vhsubq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vhsubq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vhsubq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vhsubq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vhsubq_n_sv8hi(__simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vhsubq_n_uv16qi(__simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vhsubq_n_uv4si(__simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vhsubq_n_uv8hi(__simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vhsubq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vhsubq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vhsubq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vhsubq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vhsubq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vhsubq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_uint8_t __builtin_mve_vidupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vidupq_m_n_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vidupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vidupq_n_uv16qi(unsigned int, int); -__simd128_uint32_t __builtin_mve_vidupq_n_uv4si(unsigned int, int); -__simd128_uint16_t __builtin_mve_vidupq_n_uv8hi(unsigned int, int); -__simd128_uint8_t __builtin_mve_viwdupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); -__simd128_uint32_t __builtin_mve_viwdupq_m_n_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); -__simd128_uint16_t __builtin_mve_viwdupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); -unsigned int __builtin_mve_viwdupq_m_wb_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); -unsigned int __builtin_mve_viwdupq_m_wb_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); -unsigned int __builtin_mve_viwdupq_m_wb_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); -__simd128_uint8_t __builtin_mve_viwdupq_n_uv16qi(unsigned int, long long unsigned int, int); -__simd128_uint32_t __builtin_mve_viwdupq_n_uv4si(unsigned int, long long unsigned int, int); -__simd128_uint16_t __builtin_mve_viwdupq_n_uv8hi(unsigned int, long long unsigned int, int); -unsigned int __builtin_mve_viwdupq_wb_uv16qi(unsigned int, long long unsigned int, int); -unsigned int __builtin_mve_viwdupq_wb_uv4si(unsigned int, long long unsigned int, int); -unsigned int __builtin_mve_viwdupq_wb_uv8hi(unsigned int, long long unsigned int, int); -__simd128_float32_t __builtin_mve_vld1q_fv4sf(int*); -__simd128_float16_t __builtin_mve_vld1q_fv8hf(short int*); -__simd128_int8_t __builtin_mve_vld1q_sv16qi(signed char*); -__simd128_int32_t __builtin_mve_vld1q_sv4si(int*); -__simd128_int16_t __builtin_mve_vld1q_sv8hi(short int*); -__simd128_uint8_t __builtin_mve_vld1q_uv16qi(signed char*); -__simd128_uint32_t __builtin_mve_vld1q_uv4si(int*); -__simd128_uint16_t __builtin_mve_vld1q_uv8hi(short int*); -__builtin_neon_oi __builtin_mve_vld2qv16qi(const signed char*); -__builtin_neon_oi __builtin_mve_vld2qv4sf(const float*); -__builtin_neon_oi __builtin_mve_vld2qv4si(const int*); -__builtin_neon_oi __builtin_mve_vld2qv8hf(const __bf16*); -__builtin_neon_oi __builtin_mve_vld2qv8hi(const short int*); -__builtin_neon_xi __builtin_mve_vld4qv16qi(const signed char*); -__builtin_neon_xi __builtin_mve_vld4qv4sf(const float*); -__builtin_neon_xi __builtin_mve_vld4qv4si(const int*); -__builtin_neon_xi __builtin_mve_vld4qv8hf(const __bf16*); -__builtin_neon_xi __builtin_mve_vld4qv8hi(const short int*); -__simd128_int8_t __builtin_mve_vldrbq_gather_offset_sv16qi(signed char*, __simd128_uint8_t); -__simd128_int32_t __builtin_mve_vldrbq_gather_offset_sv4si(signed char*, __simd128_uint32_t); -__simd128_int16_t __builtin_mve_vldrbq_gather_offset_sv8hi(signed char*, __simd128_uint16_t); -__simd128_uint8_t __builtin_mve_vldrbq_gather_offset_uv16qi(signed char*, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vldrbq_gather_offset_uv4si(signed char*, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vldrbq_gather_offset_uv8hi(signed char*, __simd128_uint16_t); -__simd128_int8_t __builtin_mve_vldrbq_gather_offset_z_sv16qi(signed char*, __simd128_uint8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vldrbq_gather_offset_z_sv4si(signed char*, __simd128_uint32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vldrbq_gather_offset_z_sv8hi(signed char*, __simd128_uint16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vldrbq_gather_offset_z_uv16qi(signed char*, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrbq_gather_offset_z_uv4si(signed char*, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vldrbq_gather_offset_z_uv8hi(signed char*, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vldrbq_sv16qi(signed char*); -__simd128_int32_t __builtin_mve_vldrbq_sv4si(signed char*); -__simd128_int16_t __builtin_mve_vldrbq_sv8hi(signed char*); -__simd128_uint8_t __builtin_mve_vldrbq_uv16qi(signed char*); -__simd128_uint32_t __builtin_mve_vldrbq_uv4si(signed char*); -__simd128_uint16_t __builtin_mve_vldrbq_uv8hi(signed char*); -__simd128_int8_t __builtin_mve_vldrbq_z_sv16qi(signed char*, short unsigned int); -__simd128_int32_t __builtin_mve_vldrbq_z_sv4si(signed char*, short unsigned int); -__simd128_int16_t __builtin_mve_vldrbq_z_sv8hi(signed char*, short unsigned int); -__simd128_uint8_t __builtin_mve_vldrbq_z_uv16qi(signed char*, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrbq_z_uv4si(signed char*, short unsigned int); -__simd128_uint16_t __builtin_mve_vldrbq_z_uv8hi(signed char*, short unsigned int); -__simd128_int64_t __builtin_mve_vldrdq_gather_base_nowb_sv2di(__simd128_uint64_t, int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_nowb_uv2di(__simd128_uint64_t, int); -__simd128_int64_t __builtin_mve_vldrdq_gather_base_nowb_z_sv2di(__simd128_uint64_t, int, short unsigned int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_nowb_z_uv2di(__simd128_uint64_t, int, short unsigned int); -__simd128_int64_t __builtin_mve_vldrdq_gather_base_sv2di(__simd128_uint64_t, int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_uv2di(__simd128_uint64_t, int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_sv2di(__simd128_uint64_t, int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_uv2di(__simd128_uint64_t, int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_z_sv2di(__simd128_uint64_t, int, short unsigned int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_z_uv2di(__simd128_uint64_t, int, short unsigned int); -__simd128_int64_t __builtin_mve_vldrdq_gather_base_z_sv2di(__simd128_uint64_t, int, short unsigned int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_z_uv2di(__simd128_uint64_t, int, short unsigned int); -__simd128_int64_t __builtin_mve_vldrdq_gather_offset_sv2di(long long int*, __simd128_uint64_t); -__simd128_uint64_t __builtin_mve_vldrdq_gather_offset_uv2di(long long int*, __simd128_uint64_t); -__simd128_int64_t __builtin_mve_vldrdq_gather_offset_z_sv2di(long long int*, __simd128_uint64_t, short unsigned int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_offset_z_uv2di(long long int*, __simd128_uint64_t, short unsigned int); -__simd128_int64_t __builtin_mve_vldrdq_gather_shifted_offset_sv2di(long long int*, __simd128_uint64_t); -__simd128_uint64_t __builtin_mve_vldrdq_gather_shifted_offset_uv2di(long long int*, __simd128_uint64_t); -__simd128_int64_t __builtin_mve_vldrdq_gather_shifted_offset_z_sv2di(long long int*, __simd128_uint64_t, short unsigned int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_shifted_offset_z_uv2di(long long int*, __simd128_uint64_t, short unsigned int); -__simd128_float16_t __builtin_mve_vldrhq_fv8hf(short int*); -__simd128_float16_t __builtin_mve_vldrhq_gather_offset_fv8hf(short int*, __simd128_uint16_t); -__simd128_int32_t __builtin_mve_vldrhq_gather_offset_sv4si(short int*, __simd128_uint32_t); -__simd128_int16_t __builtin_mve_vldrhq_gather_offset_sv8hi(short int*, __simd128_uint16_t); -__simd128_uint32_t __builtin_mve_vldrhq_gather_offset_uv4si(short int*, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vldrhq_gather_offset_uv8hi(short int*, __simd128_uint16_t); -__simd128_float16_t __builtin_mve_vldrhq_gather_offset_z_fv8hf(short int*, __simd128_uint16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vldrhq_gather_offset_z_sv4si(short int*, __simd128_uint32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vldrhq_gather_offset_z_sv8hi(short int*, __simd128_uint16_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrhq_gather_offset_z_uv4si(short int*, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vldrhq_gather_offset_z_uv8hi(short int*, __simd128_uint16_t, short unsigned int); -__simd128_float16_t __builtin_mve_vldrhq_gather_shifted_offset_fv8hf(short int*, __simd128_uint16_t); -__simd128_int32_t __builtin_mve_vldrhq_gather_shifted_offset_sv4si(short int*, __simd128_uint32_t); -__simd128_int16_t __builtin_mve_vldrhq_gather_shifted_offset_sv8hi(short int*, __simd128_uint16_t); -__simd128_uint32_t __builtin_mve_vldrhq_gather_shifted_offset_uv4si(short int*, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vldrhq_gather_shifted_offset_uv8hi(short int*, __simd128_uint16_t); -__simd128_float16_t __builtin_mve_vldrhq_gather_shifted_offset_z_fv8hf(short int*, __simd128_uint16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vldrhq_gather_shifted_offset_z_sv4si(short int*, __simd128_uint32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vldrhq_gather_shifted_offset_z_sv8hi(short int*, __simd128_uint16_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrhq_gather_shifted_offset_z_uv4si(short int*, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vldrhq_gather_shifted_offset_z_uv8hi(short int*, __simd128_uint16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vldrhq_sv4si(short int*); -__simd128_int16_t __builtin_mve_vldrhq_sv8hi(short int*); -__simd128_uint32_t __builtin_mve_vldrhq_uv4si(short int*); -__simd128_uint16_t __builtin_mve_vldrhq_uv8hi(short int*); -__simd128_float16_t __builtin_mve_vldrhq_z_fv8hf(short int*, short unsigned int); -__simd128_int32_t __builtin_mve_vldrhq_z_sv4si(short int*, short unsigned int); -__simd128_int16_t __builtin_mve_vldrhq_z_sv8hi(short int*, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrhq_z_uv4si(short int*, short unsigned int); -__simd128_uint16_t __builtin_mve_vldrhq_z_uv8hi(short int*, short unsigned int); -__simd128_float32_t __builtin_mve_vldrwq_fv4sf(int*); -__simd128_float32_t __builtin_mve_vldrwq_gather_base_fv4sf(__simd128_uint32_t, int); -__simd128_float32_t __builtin_mve_vldrwq_gather_base_nowb_fv4sf(__simd128_uint32_t, int); -__simd128_int32_t __builtin_mve_vldrwq_gather_base_nowb_sv4si(__simd128_uint32_t, int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_nowb_uv4si(__simd128_uint32_t, int); -__simd128_float32_t __builtin_mve_vldrwq_gather_base_nowb_z_fv4sf(__simd128_uint32_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vldrwq_gather_base_nowb_z_sv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_nowb_z_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vldrwq_gather_base_sv4si(__simd128_uint32_t, int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_uv4si(__simd128_uint32_t, int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_fv4sf(__simd128_uint32_t, int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_sv4si(__simd128_uint32_t, int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_uv4si(__simd128_uint32_t, int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_z_fv4sf(__simd128_uint32_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_z_sv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_z_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_float32_t __builtin_mve_vldrwq_gather_base_z_fv4sf(__simd128_uint32_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vldrwq_gather_base_z_sv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_z_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_float32_t __builtin_mve_vldrwq_gather_offset_fv4sf(int*, __simd128_uint32_t); -__simd128_int32_t __builtin_mve_vldrwq_gather_offset_sv4si(int*, __simd128_uint32_t); -__simd128_uint32_t __builtin_mve_vldrwq_gather_offset_uv4si(int*, __simd128_uint32_t); -__simd128_float32_t __builtin_mve_vldrwq_gather_offset_z_fv4sf(int*, __simd128_uint32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vldrwq_gather_offset_z_sv4si(int*, __simd128_uint32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_offset_z_uv4si(int*, __simd128_uint32_t, short unsigned int); -__simd128_float32_t __builtin_mve_vldrwq_gather_shifted_offset_fv4sf(int*, __simd128_uint32_t); -__simd128_int32_t __builtin_mve_vldrwq_gather_shifted_offset_sv4si(int*, __simd128_uint32_t); -__simd128_uint32_t __builtin_mve_vldrwq_gather_shifted_offset_uv4si(int*, __simd128_uint32_t); -__simd128_float32_t __builtin_mve_vldrwq_gather_shifted_offset_z_fv4sf(int*, __simd128_uint32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vldrwq_gather_shifted_offset_z_sv4si(int*, __simd128_uint32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_shifted_offset_z_uv4si(int*, __simd128_uint32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vldrwq_sv4si(int*); -__simd128_uint32_t __builtin_mve_vldrwq_uv4si(int*); -__simd128_float32_t __builtin_mve_vldrwq_z_fv4sf(int*, short unsigned int); -__simd128_int32_t __builtin_mve_vldrwq_z_sv4si(int*, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrwq_z_uv4si(int*, short unsigned int); -__simd128_uint8_t __builtin_mve_vmaxaq_m_sv16qi(__simd128_uint8_t, __simd128_int8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmaxaq_m_sv4si(__simd128_uint32_t, __simd128_int32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmaxaq_m_sv8hi(__simd128_uint16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vmaxaq_sv16qi(__simd128_uint8_t, __simd128_int8_t); -__simd128_uint32_t __builtin_mve_vmaxaq_sv4si(__simd128_uint32_t, __simd128_int32_t); -__simd128_uint16_t __builtin_mve_vmaxaq_sv8hi(__simd128_uint16_t, __simd128_int16_t); -unsigned char __builtin_mve_vmaxavq_p_sv16qi(unsigned char, __simd128_int8_t, short unsigned int); -unsigned int __builtin_mve_vmaxavq_p_sv4si(unsigned int, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vmaxavq_p_sv8hi(short unsigned int, __simd128_int16_t, short unsigned int); -unsigned char __builtin_mve_vmaxavq_sv16qi(unsigned char, __simd128_int8_t); -unsigned int __builtin_mve_vmaxavq_sv4si(unsigned int, __simd128_int32_t); -short unsigned int __builtin_mve_vmaxavq_sv8hi(short unsigned int, __simd128_int16_t); -__simd128_float32_t __builtin_mve_vmaxnmaq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vmaxnmaq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vmaxnmaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vmaxnmaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -float __builtin_mve_vmaxnmavq_fv4sf(float, __simd128_float32_t); -__bf16 __builtin_mve_vmaxnmavq_fv8hf(__bf16, __simd128_float16_t); -float __builtin_mve_vmaxnmavq_p_fv4sf(float, __simd128_float32_t, short unsigned int); -__bf16 __builtin_mve_vmaxnmavq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vmaxnmq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vmaxnmq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vmaxnmq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vmaxnmq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -float __builtin_mve_vmaxnmvq_fv4sf(float, __simd128_float32_t); -__bf16 __builtin_mve_vmaxnmvq_fv8hf(__bf16, __simd128_float16_t); -float __builtin_mve_vmaxnmvq_p_fv4sf(float, __simd128_float32_t, short unsigned int); -__bf16 __builtin_mve_vmaxnmvq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vmaxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmaxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmaxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vmaxq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmaxq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmaxq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vmaxq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vmaxq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vmaxq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vmaxq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmaxq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vmaxq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -signed char __builtin_mve_vmaxvq_p_sv16qi(signed char, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmaxvq_p_sv4si(int, __simd128_int32_t, short unsigned int); -short int __builtin_mve_vmaxvq_p_sv8hi(short int, __simd128_int16_t, short unsigned int); -unsigned char __builtin_mve_vmaxvq_p_uv16qi(unsigned char, __simd128_uint8_t, short unsigned int); -unsigned int __builtin_mve_vmaxvq_p_uv4si(unsigned int, __simd128_uint32_t, short unsigned int); -short unsigned int __builtin_mve_vmaxvq_p_uv8hi(short unsigned int, __simd128_uint16_t, short unsigned int); -signed char __builtin_mve_vmaxvq_sv16qi(signed char, __simd128_int8_t); -int __builtin_mve_vmaxvq_sv4si(int, __simd128_int32_t); -short int __builtin_mve_vmaxvq_sv8hi(short int, __simd128_int16_t); -unsigned char __builtin_mve_vmaxvq_uv16qi(unsigned char, __simd128_uint8_t); -unsigned int __builtin_mve_vmaxvq_uv4si(unsigned int, __simd128_uint32_t); -short unsigned int __builtin_mve_vmaxvq_uv8hi(short unsigned int, __simd128_uint16_t); -__simd128_uint8_t __builtin_mve_vminaq_m_sv16qi(__simd128_uint8_t, __simd128_int8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vminaq_m_sv4si(__simd128_uint32_t, __simd128_int32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vminaq_m_sv8hi(__simd128_uint16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vminaq_sv16qi(__simd128_uint8_t, __simd128_int8_t); -__simd128_uint32_t __builtin_mve_vminaq_sv4si(__simd128_uint32_t, __simd128_int32_t); -__simd128_uint16_t __builtin_mve_vminaq_sv8hi(__simd128_uint16_t, __simd128_int16_t); -unsigned char __builtin_mve_vminavq_p_sv16qi(unsigned char, __simd128_int8_t, short unsigned int); -unsigned int __builtin_mve_vminavq_p_sv4si(unsigned int, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vminavq_p_sv8hi(short unsigned int, __simd128_int16_t, short unsigned int); -unsigned char __builtin_mve_vminavq_sv16qi(unsigned char, __simd128_int8_t); -unsigned int __builtin_mve_vminavq_sv4si(unsigned int, __simd128_int32_t); -short unsigned int __builtin_mve_vminavq_sv8hi(short unsigned int, __simd128_int16_t); -__simd128_float32_t __builtin_mve_vminnmaq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vminnmaq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vminnmaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vminnmaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -float __builtin_mve_vminnmavq_fv4sf(float, __simd128_float32_t); -__bf16 __builtin_mve_vminnmavq_fv8hf(__bf16, __simd128_float16_t); -float __builtin_mve_vminnmavq_p_fv4sf(float, __simd128_float32_t, short unsigned int); -__bf16 __builtin_mve_vminnmavq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vminnmq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vminnmq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vminnmq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vminnmq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -float __builtin_mve_vminnmvq_fv4sf(float, __simd128_float32_t); -__bf16 __builtin_mve_vminnmvq_fv8hf(__bf16, __simd128_float16_t); -float __builtin_mve_vminnmvq_p_fv4sf(float, __simd128_float32_t, short unsigned int); -__bf16 __builtin_mve_vminnmvq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vminq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vminq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vminq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vminq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vminq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vminq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vminq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vminq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vminq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vminq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vminq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vminq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -signed char __builtin_mve_vminvq_p_sv16qi(signed char, __simd128_int8_t, short unsigned int); -int __builtin_mve_vminvq_p_sv4si(int, __simd128_int32_t, short unsigned int); -short int __builtin_mve_vminvq_p_sv8hi(short int, __simd128_int16_t, short unsigned int); -unsigned char __builtin_mve_vminvq_p_uv16qi(unsigned char, __simd128_uint8_t, short unsigned int); -unsigned int __builtin_mve_vminvq_p_uv4si(unsigned int, __simd128_uint32_t, short unsigned int); -short unsigned int __builtin_mve_vminvq_p_uv8hi(short unsigned int, __simd128_uint16_t, short unsigned int); -signed char __builtin_mve_vminvq_sv16qi(signed char, __simd128_int8_t); -int __builtin_mve_vminvq_sv4si(int, __simd128_int32_t); -short int __builtin_mve_vminvq_sv8hi(short int, __simd128_int16_t); -unsigned char __builtin_mve_vminvq_uv16qi(unsigned char, __simd128_uint8_t); -unsigned int __builtin_mve_vminvq_uv4si(unsigned int, __simd128_uint32_t); -short unsigned int __builtin_mve_vminvq_uv8hi(short unsigned int, __simd128_uint16_t); -int __builtin_mve_vmladavaq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmladavaq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmladavaq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -unsigned int __builtin_mve_vmladavaq_p_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -unsigned int __builtin_mve_vmladavaq_p_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -unsigned int __builtin_mve_vmladavaq_p_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -int __builtin_mve_vmladavaq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmladavaq_sv4si(int, __simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmladavaq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); -unsigned int __builtin_mve_vmladavaq_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t); -unsigned int __builtin_mve_vmladavaq_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t); -unsigned int __builtin_mve_vmladavaq_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t); -int __builtin_mve_vmladavaxq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmladavaxq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmladavaxq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -int __builtin_mve_vmladavaxq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmladavaxq_sv4si(int, __simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmladavaxq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); -int __builtin_mve_vmladavq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmladavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmladavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -unsigned int __builtin_mve_vmladavq_p_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -unsigned int __builtin_mve_vmladavq_p_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -unsigned int __builtin_mve_vmladavq_p_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -int __builtin_mve_vmladavq_sv16qi(__simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmladavq_sv4si(__simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmladavq_sv8hi(__simd128_int16_t, __simd128_int16_t); -unsigned int __builtin_mve_vmladavq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -unsigned int __builtin_mve_vmladavq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -unsigned int __builtin_mve_vmladavq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -int __builtin_mve_vmladavxq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmladavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmladavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -int __builtin_mve_vmladavxq_sv16qi(__simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmladavxq_sv4si(__simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmladavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); -long long int __builtin_mve_vmlaldavaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlaldavaq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -long long unsigned int __builtin_mve_vmlaldavaq_p_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -long long unsigned int __builtin_mve_vmlaldavaq_p_uv8hi(long long unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -long long int __builtin_mve_vmlaldavaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlaldavaq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); -long long unsigned int __builtin_mve_vmlaldavaq_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t); -long long unsigned int __builtin_mve_vmlaldavaq_uv8hi(long long unsigned int, __simd128_uint16_t, __simd128_uint16_t); -long long int __builtin_mve_vmlaldavaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlaldavaxq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -long long unsigned int __builtin_mve_vmlaldavaxq_p_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -long long unsigned int __builtin_mve_vmlaldavaxq_p_uv8hi(long long unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -long long int __builtin_mve_vmlaldavaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlaldavaxq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); -long long int __builtin_mve_vmlaldavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlaldavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -long long unsigned int __builtin_mve_vmlaldavq_p_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -long long unsigned int __builtin_mve_vmlaldavq_p_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -long long int __builtin_mve_vmlaldavq_sv4si(__simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlaldavq_sv8hi(__simd128_int16_t, __simd128_int16_t); -long long unsigned int __builtin_mve_vmlaldavq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -long long unsigned int __builtin_mve_vmlaldavq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -long long int __builtin_mve_vmlaldavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlaldavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -long long int __builtin_mve_vmlaldavxq_sv4si(__simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlaldavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vmlaq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vmlaq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vmlaq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vmlaq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vmlaq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vmlaq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vmlaq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vmlaq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vmlaq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vmlaq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vmlaq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vmlaq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vmlasq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vmlasq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vmlasq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vmlasq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vmlasq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vmlasq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vmlasq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vmlasq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vmlasq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vmlasq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vmlasq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vmlasq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -int __builtin_mve_vmlsdavaq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmlsdavaq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmlsdavaq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -int __builtin_mve_vmlsdavaq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmlsdavaq_sv4si(int, __simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmlsdavaq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); -int __builtin_mve_vmlsdavaxq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmlsdavaxq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmlsdavaxq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -int __builtin_mve_vmlsdavaxq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmlsdavaxq_sv4si(int, __simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmlsdavaxq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); -int __builtin_mve_vmlsdavq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmlsdavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmlsdavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -int __builtin_mve_vmlsdavq_sv16qi(__simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmlsdavq_sv4si(__simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmlsdavq_sv8hi(__simd128_int16_t, __simd128_int16_t); -int __builtin_mve_vmlsdavxq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmlsdavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmlsdavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -int __builtin_mve_vmlsdavxq_sv16qi(__simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmlsdavxq_sv4si(__simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmlsdavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); -long long int __builtin_mve_vmlsldavaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlsldavaq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -long long int __builtin_mve_vmlsldavaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlsldavaq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); -long long int __builtin_mve_vmlsldavaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlsldavaxq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -long long int __builtin_mve_vmlsldavaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlsldavaxq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); -long long int __builtin_mve_vmlsldavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlsldavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -long long int __builtin_mve_vmlsldavq_sv4si(__simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlsldavq_sv8hi(__simd128_int16_t, __simd128_int16_t); -long long int __builtin_mve_vmlsldavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlsldavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -long long int __builtin_mve_vmlsldavxq_sv4si(__simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlsldavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_mve_vmovlbq_m_sv16qi(__simd128_int16_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmovlbq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmovlbq_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmovlbq_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmovlbq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vmovlbq_sv8hi(__simd128_int16_t); -__simd128_uint16_t __builtin_mve_vmovlbq_uv16qi(__simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmovlbq_uv8hi(__simd128_uint16_t); -__simd128_int16_t __builtin_mve_vmovltq_m_sv16qi(__simd128_int16_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmovltq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmovltq_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmovltq_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmovltq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vmovltq_sv8hi(__simd128_int16_t); -__simd128_uint16_t __builtin_mve_vmovltq_uv16qi(__simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmovltq_uv8hi(__simd128_uint16_t); -__simd128_int16_t __builtin_mve_vmovnbq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); -__simd128_int8_t __builtin_mve_vmovnbq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmovnbq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vmovnbq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmovnbq_sv4si(__simd128_int16_t, __simd128_int32_t); -__simd128_int8_t __builtin_mve_vmovnbq_sv8hi(__simd128_int8_t, __simd128_int16_t); -__simd128_uint16_t __builtin_mve_vmovnbq_uv4si(__simd128_uint16_t, __simd128_uint32_t); -__simd128_uint8_t __builtin_mve_vmovnbq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); -__simd128_int16_t __builtin_mve_vmovntq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); -__simd128_int8_t __builtin_mve_vmovntq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmovntq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vmovntq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmovntq_sv4si(__simd128_int16_t, __simd128_int32_t); -__simd128_int8_t __builtin_mve_vmovntq_sv8hi(__simd128_int8_t, __simd128_int16_t); -__simd128_uint16_t __builtin_mve_vmovntq_uv4si(__simd128_uint16_t, __simd128_uint32_t); -__simd128_uint8_t __builtin_mve_vmovntq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); -__simd128_int8_t __builtin_mve_vmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vmulhq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmulhq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmulhq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vmulhq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmulhq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vmulhq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_int16_t __builtin_mve_vmullbq_int_m_sv16qi(__simd128_int16_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int64_t __builtin_mve_vmullbq_int_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmullbq_int_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmullbq_int_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint64_t __builtin_mve_vmullbq_int_m_uv4si(__simd128_uint64_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmullbq_int_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmullbq_int_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int64_t __builtin_mve_vmullbq_int_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int32_t __builtin_mve_vmullbq_int_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint16_t __builtin_mve_vmullbq_int_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint64_t __builtin_mve_vmullbq_int_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_mve_vmullbq_int_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_uint16_t __builtin_mve_vmullbq_poly_m_pv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmullbq_poly_m_pv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmullbq_poly_pv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmullbq_poly_pv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_int16_t __builtin_mve_vmulltq_int_m_sv16qi(__simd128_int16_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int64_t __builtin_mve_vmulltq_int_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmulltq_int_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmulltq_int_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint64_t __builtin_mve_vmulltq_int_m_uv4si(__simd128_uint64_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmulltq_int_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmulltq_int_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int64_t __builtin_mve_vmulltq_int_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int32_t __builtin_mve_vmulltq_int_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint16_t __builtin_mve_vmulltq_int_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint64_t __builtin_mve_vmulltq_int_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_mve_vmulltq_int_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_uint16_t __builtin_mve_vmulltq_poly_m_pv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmulltq_poly_m_pv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmulltq_poly_pv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmulltq_poly_pv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vmulq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vmulq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vmulq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vmulq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vmulq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); -__simd128_float16_t __builtin_mve_vmulq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); -__simd128_int8_t __builtin_mve_vmulq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vmulq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vmulq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vmulq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vmulq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vmulq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vmulq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmulq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmulq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vmulq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmulq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmulq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vmulq_n_fv4sf(__simd128_float32_t, float); -__simd128_float16_t __builtin_mve_vmulq_n_fv8hf(__simd128_float16_t, __bf16); -__simd128_int8_t __builtin_mve_vmulq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vmulq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vmulq_n_sv8hi(__simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vmulq_n_uv16qi(__simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vmulq_n_uv4si(__simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vmulq_n_uv8hi(__simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vmulq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vmulq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vmulq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vmulq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmulq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vmulq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_int32_t __builtin_mve_vmvnq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vmvnq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vmvnq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vmvnq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vmvnq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmvnq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmvnq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vmvnq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmvnq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmvnq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmvnq_n_sv4si(short int); -__simd128_int16_t __builtin_mve_vmvnq_n_sv8hi(short int); -__simd128_uint32_t __builtin_mve_vmvnq_n_uv4si(short int); -__simd128_uint16_t __builtin_mve_vmvnq_n_uv8hi(short int); -__simd128_int8_t __builtin_mve_vmvnq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vmvnq_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vmvnq_sv8hi(__simd128_int16_t); -__simd128_uint8_t __builtin_mve_vmvnq_uv16qi(__simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmvnq_uv4si(__simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vmvnq_uv8hi(__simd128_uint16_t); -__simd128_float32_t __builtin_mve_vnegq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vnegq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vnegq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vnegq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vnegq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vnegq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vnegq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vnegq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vnegq_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vnegq_sv8hi(__simd128_int16_t); -__simd128_float32_t __builtin_mve_vornq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vornq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vornq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vornq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vornq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vornq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vornq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vornq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vornq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vornq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vornq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vornq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vornq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vornq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vornq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vornq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vorrq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vorrq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vorrq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vorrq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vorrq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vorrq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vorrq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vorrq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vorrq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vorrq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vorrq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vorrq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vorrq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vorrq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vorrq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vorrq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint32_t __builtin_mve_vorrq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vorrq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vorrq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vorrq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vorrq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vorrq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vorrq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vorrq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -short unsigned int __builtin_mve_vpnothi(short unsigned int); -__simd128_float32_t __builtin_mve_vpselq_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vpselq_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vpselq_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int64_t __builtin_mve_vpselq_sv2di(__simd128_int64_t, __simd128_int64_t, short unsigned int); -__simd128_int32_t __builtin_mve_vpselq_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vpselq_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vpselq_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint64_t __builtin_mve_vpselq_uv2di(__simd128_uint64_t, __simd128_uint64_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vpselq_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vpselq_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqabsq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqabsq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqabsq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqabsq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vqabsq_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vqabsq_sv8hi(__simd128_int16_t); -__simd128_int8_t __builtin_mve_vqaddq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vqaddq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqaddq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqaddq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vqaddq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqaddq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vqaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vqaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqaddq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vqaddq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqaddq_n_sv8hi(__simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vqaddq_n_uv16qi(__simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vqaddq_n_uv4si(__simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vqaddq_n_uv8hi(__simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqaddq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqaddq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqaddq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vqaddq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vqaddq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vqaddq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_int8_t __builtin_mve_vqdmladhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmladhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqdmladhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmladhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqdmladhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqdmladhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqdmladhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmladhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqdmladhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmladhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqdmladhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqdmladhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqdmlahq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmlahq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqdmlahq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmlahq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vqdmlahq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqdmlahq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vqdmlahq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vqdmlahq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vqdmlahq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmlsdhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmlsdhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqdmlsdhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmlsdhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqdmlsdhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqdmlsdhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqdmlsdhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmlsdhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqdmlsdhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmlsdhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqdmlsdhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqdmlsdhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqdmulhq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmulhq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqdmulhq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqdmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmulhq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vqdmulhq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqdmulhq_n_sv8hi(__simd128_int16_t, short int); -__simd128_int8_t __builtin_mve_vqdmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqdmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqdmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int64_t __builtin_mve_vqdmullbq_m_n_sv4si(__simd128_int64_t, __simd128_int32_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmullbq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, short int, short unsigned int); -__simd128_int64_t __builtin_mve_vqdmullbq_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmullbq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int64_t __builtin_mve_vqdmullbq_n_sv4si(__simd128_int32_t, int); -__simd128_int32_t __builtin_mve_vqdmullbq_n_sv8hi(__simd128_int16_t, short int); -__simd128_int64_t __builtin_mve_vqdmullbq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int32_t __builtin_mve_vqdmullbq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int64_t __builtin_mve_vqdmulltq_m_n_sv4si(__simd128_int64_t, __simd128_int32_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmulltq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, short int, short unsigned int); -__simd128_int64_t __builtin_mve_vqdmulltq_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmulltq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int64_t __builtin_mve_vqdmulltq_n_sv4si(__simd128_int32_t, int); -__simd128_int32_t __builtin_mve_vqdmulltq_n_sv8hi(__simd128_int16_t, short int); -__simd128_int64_t __builtin_mve_vqdmulltq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int32_t __builtin_mve_vqdmulltq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_mve_vqmovnbq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqmovnbq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqmovnbq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqmovnbq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqmovnbq_sv4si(__simd128_int16_t, __simd128_int32_t); -__simd128_int8_t __builtin_mve_vqmovnbq_sv8hi(__simd128_int8_t, __simd128_int16_t); -__simd128_uint16_t __builtin_mve_vqmovnbq_uv4si(__simd128_uint16_t, __simd128_uint32_t); -__simd128_uint8_t __builtin_mve_vqmovnbq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); -__simd128_int16_t __builtin_mve_vqmovntq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqmovntq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqmovntq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqmovntq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqmovntq_sv4si(__simd128_int16_t, __simd128_int32_t); -__simd128_int8_t __builtin_mve_vqmovntq_sv8hi(__simd128_int8_t, __simd128_int16_t); -__simd128_uint16_t __builtin_mve_vqmovntq_uv4si(__simd128_uint16_t, __simd128_uint32_t); -__simd128_uint8_t __builtin_mve_vqmovntq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); -__simd128_uint16_t __builtin_mve_vqmovunbq_m_sv4si(__simd128_uint16_t, __simd128_int32_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqmovunbq_m_sv8hi(__simd128_uint8_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqmovunbq_sv4si(__simd128_uint16_t, __simd128_int32_t); -__simd128_uint8_t __builtin_mve_vqmovunbq_sv8hi(__simd128_uint8_t, __simd128_int16_t); -__simd128_uint16_t __builtin_mve_vqmovuntq_m_sv4si(__simd128_uint16_t, __simd128_int32_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqmovuntq_m_sv8hi(__simd128_uint8_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqmovuntq_sv4si(__simd128_uint16_t, __simd128_int32_t); -__simd128_uint8_t __builtin_mve_vqmovuntq_sv8hi(__simd128_uint8_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqnegq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqnegq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqnegq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqnegq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vqnegq_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vqnegq_sv8hi(__simd128_int16_t); -__simd128_int8_t __builtin_mve_vqrdmladhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmladhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmladhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmladhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqrdmladhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqrdmladhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqrdmladhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmladhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmladhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmladhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqrdmladhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqrdmladhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqrdmlahq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmlahq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmlahq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmlahq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vqrdmlahq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqrdmlahq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vqrdmlahq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vqrdmlahq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vqrdmlahq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmlashq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmlashq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmlashq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmlashq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vqrdmlashq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqrdmlashq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vqrdmlashq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vqrdmlashq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vqrdmlashq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmlsdhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmlsdhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmlsdhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmlsdhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqrdmlsdhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqrdmlsdhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqrdmlsdhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmlsdhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmlsdhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmlsdhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqrdmlsdhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqrdmlsdhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqrdmulhq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmulhq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmulhq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmulhq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vqrdmulhq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqrdmulhq_n_sv8hi(__simd128_int16_t, short int); -__simd128_int8_t __builtin_mve_vqrdmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqrdmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqrdmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqrshlq_m_n_sv16qi(__simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vqrshlq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqrshlq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqrshlq_m_n_uv16qi(__simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vqrshlq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqrshlq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vqrshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqrshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqrshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqrshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vqrshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqrshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrshlq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vqrshlq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqrshlq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vqrshlq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vqrshlq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vqrshlq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vqrshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqrshlq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqrshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vqrshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); -__simd128_uint32_t __builtin_mve_vqrshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); -__simd128_uint16_t __builtin_mve_vqrshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); -__simd128_int16_t __builtin_mve_vqrshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vqrshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqrshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqrshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqrshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vqrshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vqrshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vqrshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_int16_t __builtin_mve_vqrshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vqrshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqrshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqrshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqrshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vqrshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vqrshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vqrshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_uint16_t __builtin_mve_vqrshrunbq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqrshrunbq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqrshrunbq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); -__simd128_uint8_t __builtin_mve_vqrshrunbq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vqrshruntq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqrshruntq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqrshruntq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); -__simd128_uint8_t __builtin_mve_vqrshruntq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); -__simd128_int8_t __builtin_mve_vqshlq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vqshlq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqshlq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshlq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vqshlq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshlq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vqshlq_m_r_sv16qi(__simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vqshlq_m_r_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqshlq_m_r_sv8hi(__simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshlq_m_r_uv16qi(__simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vqshlq_m_r_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshlq_m_r_uv8hi(__simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vqshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vqshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqshlq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vqshlq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqshlq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vqshlq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vqshlq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vqshlq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vqshlq_r_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vqshlq_r_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqshlq_r_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vqshlq_r_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vqshlq_r_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vqshlq_r_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vqshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqshlq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vqshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); -__simd128_uint32_t __builtin_mve_vqshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); -__simd128_uint16_t __builtin_mve_vqshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vqshluq_m_n_sv16qi(__simd128_uint8_t, __simd128_int8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vqshluq_m_n_sv4si(__simd128_uint32_t, __simd128_int32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshluq_m_n_sv8hi(__simd128_uint16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshluq_n_sv16qi(__simd128_int8_t, int); -__simd128_uint32_t __builtin_mve_vqshluq_n_sv4si(__simd128_int32_t, int); -__simd128_uint16_t __builtin_mve_vqshluq_n_sv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_mve_vqshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vqshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vqshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vqshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vqshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_int16_t __builtin_mve_vqshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vqshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vqshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vqshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vqshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_uint16_t __builtin_mve_vqshrunbq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshrunbq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshrunbq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); -__simd128_uint8_t __builtin_mve_vqshrunbq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vqshruntq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshruntq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshruntq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); -__simd128_uint8_t __builtin_mve_vqshruntq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); -__simd128_int8_t __builtin_mve_vqsubq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vqsubq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqsubq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqsubq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vqsubq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqsubq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vqsubq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqsubq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqsubq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqsubq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vqsubq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqsubq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqsubq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vqsubq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqsubq_n_sv8hi(__simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vqsubq_n_uv16qi(__simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vqsubq_n_uv4si(__simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vqsubq_n_uv8hi(__simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqsubq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqsubq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqsubq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vqsubq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vqsubq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vqsubq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_int8_t __builtin_mve_vrev16q_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vrev16q_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrev16q_sv16qi(__simd128_int8_t); -__simd128_uint8_t __builtin_mve_vrev16q_uv16qi(__simd128_uint8_t); -__simd128_float16_t __builtin_mve_vrev32q_fv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_mve_vrev32q_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrev32q_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int16_t __builtin_mve_vrev32q_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vrev32q_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vrev32q_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrev32q_sv16qi(__simd128_int8_t); -__simd128_int16_t __builtin_mve_vrev32q_sv8hi(__simd128_int16_t); -__simd128_uint8_t __builtin_mve_vrev32q_uv16qi(__simd128_uint8_t); -__simd128_uint16_t __builtin_mve_vrev32q_uv8hi(__simd128_uint16_t); -__simd128_float32_t __builtin_mve_vrev64q_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vrev64q_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vrev64q_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vrev64q_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrev64q_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vrev64q_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vrev64q_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vrev64q_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vrev64q_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vrev64q_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrev64q_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vrev64q_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vrev64q_sv8hi(__simd128_int16_t); -__simd128_uint8_t __builtin_mve_vrev64q_uv16qi(__simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vrev64q_uv4si(__simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vrev64q_uv8hi(__simd128_uint16_t); -__simd128_int8_t __builtin_mve_vrhaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vrhaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vrhaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vrhaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vrhaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vrhaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrhaddq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vrhaddq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vrhaddq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vrhaddq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vrhaddq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vrhaddq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -long long int __builtin_mve_vrmlaldavhaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long unsigned int __builtin_mve_vrmlaldavhaq_p_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -long long int __builtin_mve_vrmlaldavhaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long unsigned int __builtin_mve_vrmlaldavhaq_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t); -long long int __builtin_mve_vrmlaldavhaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vrmlaldavhaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vrmlaldavhq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long unsigned int __builtin_mve_vrmlaldavhq_p_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -long long int __builtin_mve_vrmlaldavhq_sv4si(__simd128_int32_t, __simd128_int32_t); -long long unsigned int __builtin_mve_vrmlaldavhq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -long long int __builtin_mve_vrmlaldavhxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vrmlaldavhxq_sv4si(__simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vrmlsldavhaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vrmlsldavhaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vrmlsldavhaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vrmlsldavhaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vrmlsldavhq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vrmlsldavhq_sv4si(__simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vrmlsldavhxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vrmlsldavhxq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int8_t __builtin_mve_vrmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vrmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vrmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vrmulhq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vrmulhq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vrmulhq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vrmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vrmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vrmulhq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vrmulhq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vrmulhq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vrndaq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vrndaq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vrndaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vrndaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vrndmq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vrndmq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vrndmq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vrndmq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vrndnq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vrndnq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vrndnq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vrndnq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vrndpq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vrndpq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vrndpq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vrndpq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vrndq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vrndq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vrndq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vrndq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vrndxq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vrndxq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vrndxq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vrndxq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrshlq_m_n_sv16qi(__simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vrshlq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vrshlq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vrshlq_m_n_uv16qi(__simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vrshlq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vrshlq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vrshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vrshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vrshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vrshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vrshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vrshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrshlq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vrshlq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vrshlq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vrshlq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vrshlq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vrshlq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vrshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vrshlq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vrshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vrshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); -__simd128_uint32_t __builtin_mve_vrshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); -__simd128_uint16_t __builtin_mve_vrshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); -__simd128_int16_t __builtin_mve_vrshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vrshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vrshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vrshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vrshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vrshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vrshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vrshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_int16_t __builtin_mve_vrshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vrshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vrshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vrshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vrshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vrshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vrshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vrshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vrshrq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vrshrq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vrshrq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vrshrq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vrshrq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vrshrq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vrshrq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vrshrq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vrshrq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vrshrq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vrshrq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vrshrq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int32_t __builtin_mve_vsbciq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vsbciq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vsbciq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_uint32_t __builtin_mve_vsbciq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_int32_t __builtin_mve_vsbcq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vsbcq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vsbcq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_uint32_t __builtin_mve_vsbcq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -unsigned int __builtin_mve_vshlcq_carry_sv16qi(__simd128_int8_t, unsigned int, int); -unsigned int __builtin_mve_vshlcq_carry_sv4si(__simd128_int32_t, unsigned int, int); -unsigned int __builtin_mve_vshlcq_carry_sv8hi(__simd128_int16_t, unsigned int, int); -unsigned int __builtin_mve_vshlcq_carry_uv16qi(__simd128_uint8_t, unsigned int, int); -unsigned int __builtin_mve_vshlcq_carry_uv4si(__simd128_uint32_t, unsigned int, int); -unsigned int __builtin_mve_vshlcq_carry_uv8hi(__simd128_uint16_t, unsigned int, int); -int __builtin_mve_vshlcq_m_carry_sv16qi(__simd128_int8_t, unsigned int, int, short unsigned int); -int __builtin_mve_vshlcq_m_carry_sv4si(__simd128_int32_t, unsigned int, int, short unsigned int); -int __builtin_mve_vshlcq_m_carry_sv8hi(__simd128_int16_t, unsigned int, int, short unsigned int); -unsigned int __builtin_mve_vshlcq_m_carry_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); -unsigned int __builtin_mve_vshlcq_m_carry_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); -unsigned int __builtin_mve_vshlcq_m_carry_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); -__simd128_int8_t __builtin_mve_vshlcq_m_vec_sv16qi(__simd128_int8_t, unsigned int, int, short unsigned int); -__simd128_int32_t __builtin_mve_vshlcq_m_vec_sv4si(__simd128_int32_t, unsigned int, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshlcq_m_vec_sv8hi(__simd128_int16_t, unsigned int, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vshlcq_m_vec_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vshlcq_m_vec_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshlcq_m_vec_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); -__simd128_int8_t __builtin_mve_vshlcq_vec_sv16qi(__simd128_int8_t, unsigned int, int); -__simd128_int32_t __builtin_mve_vshlcq_vec_sv4si(__simd128_int32_t, unsigned int, int); -__simd128_int16_t __builtin_mve_vshlcq_vec_sv8hi(__simd128_int16_t, unsigned int, int); -__simd128_uint8_t __builtin_mve_vshlcq_vec_uv16qi(__simd128_uint8_t, unsigned int, int); -__simd128_uint32_t __builtin_mve_vshlcq_vec_uv4si(__simd128_uint32_t, unsigned int, int); -__simd128_uint16_t __builtin_mve_vshlcq_vec_uv8hi(__simd128_uint16_t, unsigned int, int); -__simd128_int16_t __builtin_mve_vshllbq_m_n_sv16qi(__simd128_int16_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vshllbq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshllbq_m_n_uv16qi(__simd128_uint16_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vshllbq_m_n_uv8hi(__simd128_uint32_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshllbq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vshllbq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vshllbq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vshllbq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int16_t __builtin_mve_vshlltq_m_n_sv16qi(__simd128_int16_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vshlltq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshlltq_m_n_uv16qi(__simd128_uint16_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vshlltq_m_n_uv8hi(__simd128_uint32_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshlltq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vshlltq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vshlltq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vshlltq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vshlq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vshlq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshlq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vshlq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vshlq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshlq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vshlq_m_r_sv16qi(__simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vshlq_m_r_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshlq_m_r_sv8hi(__simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vshlq_m_r_uv16qi(__simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vshlq_m_r_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshlq_m_r_uv8hi(__simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vshlq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vshlq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vshlq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vshlq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vshlq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vshlq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vshlq_r_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vshlq_r_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vshlq_r_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vshlq_r_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vshlq_r_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vshlq_r_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vshlq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); -__simd128_uint32_t __builtin_mve_vshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); -__simd128_uint16_t __builtin_mve_vshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); -__simd128_int16_t __builtin_mve_vshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_int16_t __builtin_mve_vshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vshrq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vshrq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshrq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vshrq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vshrq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshrq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vshrq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vshrq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vshrq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vshrq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vshrq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vshrq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vsliq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vsliq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vsliq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vsliq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vsliq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vsliq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vsliq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vsliq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vsliq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vsliq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vsliq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vsliq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vsriq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vsriq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vsriq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vsriq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vsriq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vsriq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vsriq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vsriq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vsriq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vsriq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vsriq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vsriq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int); -void __builtin_mve_vst1q_fv4sf(int*, __simd128_float32_t); -void __builtin_mve_vst1q_fv8hf(short int*, __simd128_float16_t); -void __builtin_mve_vst1q_sv16qi(signed char*, __simd128_int8_t); -void __builtin_mve_vst1q_sv4si(int*, __simd128_int32_t); -void __builtin_mve_vst1q_sv8hi(short int*, __simd128_int16_t); -void __builtin_mve_vst1q_uv16qi(signed char*, __simd128_uint8_t); -void __builtin_mve_vst1q_uv4si(int*, __simd128_uint32_t); -void __builtin_mve_vst1q_uv8hi(short int*, __simd128_uint16_t); -void __builtin_mve_vst2qv16qi(signed char*, __builtin_neon_oi); -void __builtin_mve_vst2qv4sf(float*, __builtin_neon_oi); -void __builtin_mve_vst2qv4si(int*, __builtin_neon_oi); -void __builtin_mve_vst2qv8hf(__bf16*, __builtin_neon_oi); -void __builtin_mve_vst2qv8hi(short int*, __builtin_neon_oi); -void __builtin_mve_vst4qv16qi(signed char*, __builtin_neon_xi); -void __builtin_mve_vst4qv4sf(float*, __builtin_neon_xi); -void __builtin_mve_vst4qv4si(int*, __builtin_neon_xi); -void __builtin_mve_vst4qv8hf(__bf16*, __builtin_neon_xi); -void __builtin_mve_vst4qv8hi(short int*, __builtin_neon_xi); -void __builtin_mve_vstrbq_p_sv16qi(signed char*, __simd128_int8_t, short unsigned int); -void __builtin_mve_vstrbq_p_sv4si(signed char*, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrbq_p_sv8hi(signed char*, __simd128_int16_t, short unsigned int); -void __builtin_mve_vstrbq_p_uv16qi(signed char*, __simd128_uint8_t, short unsigned int); -void __builtin_mve_vstrbq_p_uv4si(signed char*, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrbq_p_uv8hi(signed char*, __simd128_uint16_t, short unsigned int); -void __builtin_mve_vstrbq_scatter_offset_p_sv16qi(signed char*, __simd128_uint8_t, __simd128_int8_t, short unsigned int); -void __builtin_mve_vstrbq_scatter_offset_p_sv4si(signed char*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrbq_scatter_offset_p_sv8hi(signed char*, __simd128_uint16_t, __simd128_int16_t, short unsigned int); -void __builtin_mve_vstrbq_scatter_offset_p_uv16qi(signed char*, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -void __builtin_mve_vstrbq_scatter_offset_p_uv4si(signed char*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrbq_scatter_offset_p_uv8hi(signed char*, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -void __builtin_mve_vstrbq_scatter_offset_sv16qi(signed char*, __simd128_uint8_t, __simd128_int8_t); -void __builtin_mve_vstrbq_scatter_offset_sv4si(signed char*, __simd128_uint32_t, __simd128_int32_t); -void __builtin_mve_vstrbq_scatter_offset_sv8hi(signed char*, __simd128_uint16_t, __simd128_int16_t); -void __builtin_mve_vstrbq_scatter_offset_uv16qi(signed char*, __simd128_uint8_t, __simd128_uint8_t); -void __builtin_mve_vstrbq_scatter_offset_uv4si(signed char*, __simd128_uint32_t, __simd128_uint32_t); -void __builtin_mve_vstrbq_scatter_offset_uv8hi(signed char*, __simd128_uint16_t, __simd128_uint16_t); -void __builtin_mve_vstrbq_sv16qi(signed char*, __simd128_int8_t); -void __builtin_mve_vstrbq_sv4si(signed char*, __simd128_int32_t); -void __builtin_mve_vstrbq_sv8hi(signed char*, __simd128_int16_t); -void __builtin_mve_vstrbq_uv16qi(signed char*, __simd128_uint8_t); -void __builtin_mve_vstrbq_uv4si(signed char*, __simd128_uint32_t); -void __builtin_mve_vstrbq_uv8hi(signed char*, __simd128_uint16_t); -void __builtin_mve_vstrdq_scatter_base_p_sv2di(__simd128_uint64_t, int, __simd128_int64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_base_p_uv2di(__simd128_uint64_t, int, __simd128_uint64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_base_sv2di(__simd128_uint64_t, int, __simd128_int64_t); -void __builtin_mve_vstrdq_scatter_base_uv2di(__simd128_uint64_t, int, __simd128_uint64_t); -void __builtin_mve_vstrdq_scatter_base_wb_add_sv2di(__simd128_uint64_t, const int, __simd128_uint64_t); -void __builtin_mve_vstrdq_scatter_base_wb_add_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t); -void __builtin_mve_vstrdq_scatter_base_wb_p_add_sv2di(__simd128_uint64_t, const int, __simd128_uint64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_base_wb_p_add_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_base_wb_p_sv2di(__simd128_uint64_t, const int, __simd128_int64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_base_wb_p_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_base_wb_sv2di(__simd128_uint64_t, const int, __simd128_int64_t); -void __builtin_mve_vstrdq_scatter_base_wb_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t); -void __builtin_mve_vstrdq_scatter_offset_p_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_offset_p_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_offset_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t); -void __builtin_mve_vstrdq_scatter_offset_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t); -void __builtin_mve_vstrdq_scatter_shifted_offset_p_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_shifted_offset_p_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_shifted_offset_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t); -void __builtin_mve_vstrdq_scatter_shifted_offset_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t); -void __builtin_mve_vstrhq_fv8hf(short int*, __simd128_float16_t); -void __builtin_mve_vstrhq_p_fv8hf(short int*, __simd128_float16_t, short unsigned int); -void __builtin_mve_vstrhq_p_sv4si(short int*, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrhq_p_sv8hi(short int*, __simd128_int16_t, short unsigned int); -void __builtin_mve_vstrhq_p_uv4si(short int*, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrhq_p_uv8hi(short int*, __simd128_uint16_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_offset_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t); -void __builtin_mve_vstrhq_scatter_offset_p_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_offset_p_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_offset_p_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_offset_p_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_offset_p_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_offset_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t); -void __builtin_mve_vstrhq_scatter_offset_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t); -void __builtin_mve_vstrhq_scatter_offset_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t); -void __builtin_mve_vstrhq_scatter_offset_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t); -void __builtin_mve_vstrhq_scatter_shifted_offset_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t); -void __builtin_mve_vstrhq_scatter_shifted_offset_p_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_shifted_offset_p_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_shifted_offset_p_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_shifted_offset_p_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_shifted_offset_p_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_shifted_offset_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t); -void __builtin_mve_vstrhq_scatter_shifted_offset_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t); -void __builtin_mve_vstrhq_scatter_shifted_offset_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t); -void __builtin_mve_vstrhq_scatter_shifted_offset_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t); -void __builtin_mve_vstrhq_sv4si(short int*, __simd128_int32_t); -void __builtin_mve_vstrhq_sv8hi(short int*, __simd128_int16_t); -void __builtin_mve_vstrhq_uv4si(short int*, __simd128_uint32_t); -void __builtin_mve_vstrhq_uv8hi(short int*, __simd128_uint16_t); -void __builtin_mve_vstrwq_fv4sf(int*, __simd128_float32_t); -void __builtin_mve_vstrwq_p_fv4sf(int*, __simd128_float32_t, short unsigned int); -void __builtin_mve_vstrwq_p_sv4si(int*, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrwq_p_uv4si(int*, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_fv4sf(__simd128_uint32_t, int, __simd128_float32_t); -void __builtin_mve_vstrwq_scatter_base_p_fv4sf(__simd128_uint32_t, int, __simd128_float32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_p_sv4si(__simd128_uint32_t, int, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_p_uv4si(__simd128_uint32_t, int, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_sv4si(__simd128_uint32_t, int, __simd128_int32_t); -void __builtin_mve_vstrwq_scatter_base_uv4si(__simd128_uint32_t, int, __simd128_uint32_t); -void __builtin_mve_vstrwq_scatter_base_wb_add_fv4sf(__simd128_uint32_t, const int, __simd128_uint32_t); -void __builtin_mve_vstrwq_scatter_base_wb_add_sv4si(__simd128_uint32_t, const int, __simd128_uint32_t); -void __builtin_mve_vstrwq_scatter_base_wb_add_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t); -void __builtin_mve_vstrwq_scatter_base_wb_fv4sf(__simd128_uint32_t, const int, __simd128_float32_t); -void __builtin_mve_vstrwq_scatter_base_wb_p_add_fv4sf(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_wb_p_add_sv4si(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_wb_p_add_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_wb_p_fv4sf(__simd128_uint32_t, const int, __simd128_float32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_wb_p_sv4si(__simd128_uint32_t, const int, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_wb_p_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_wb_sv4si(__simd128_uint32_t, const int, __simd128_int32_t); -void __builtin_mve_vstrwq_scatter_base_wb_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t); -void __builtin_mve_vstrwq_scatter_offset_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t); -void __builtin_mve_vstrwq_scatter_offset_p_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_offset_p_sv4si(int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_offset_p_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_offset_sv4si(int*, __simd128_uint32_t, __simd128_int32_t); -void __builtin_mve_vstrwq_scatter_offset_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t); -void __builtin_mve_vstrwq_scatter_shifted_offset_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t); -void __builtin_mve_vstrwq_scatter_shifted_offset_p_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_shifted_offset_p_sv4si(int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_shifted_offset_p_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_shifted_offset_sv4si(int*, __simd128_uint32_t, __simd128_int32_t); -void __builtin_mve_vstrwq_scatter_shifted_offset_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t); -void __builtin_mve_vstrwq_sv4si(int*, __simd128_int32_t); -void __builtin_mve_vstrwq_uv4si(int*, __simd128_uint32_t); -__simd128_float32_t __builtin_mve_vsubq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vsubq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vsubq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vsubq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vsubq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); -__simd128_float16_t __builtin_mve_vsubq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); -__simd128_int8_t __builtin_mve_vsubq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vsubq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vsubq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vsubq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vsubq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vsubq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vsubq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vsubq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vsubq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vsubq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vsubq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vsubq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vsubq_n_fv4sf(__simd128_float32_t, float); -__simd128_float16_t __builtin_mve_vsubq_n_fv8hf(__simd128_float16_t, __bf16); -__simd128_int8_t __builtin_mve_vsubq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vsubq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vsubq_n_sv8hi(__simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vsubq_n_uv16qi(__simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vsubq_n_uv4si(__simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vsubq_n_uv8hi(__simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vsubq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vsubq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vsubq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vsubq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vsubq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vsubq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); - -#endif // __arm__ - -#ifdef __ARM_FEATURE_CMSE //eg, __ARM_FEATURE_CMSE is defined when passing -mcpu=cortex-m23 -mcmse -unsigned int __builtin_arm_cmse_nonsecure_caller(); -#endif - -#ifdef __ARM_NEON__ -typedef signed char __builtin_neon_qi; -typedef short int __builtin_neon_hi; -typedef int __builtin_neon_si; -typedef long long int __builtin_neon_di; -typedef int __builtin_neon_ti __attribute__((mode(TI))); -typedef unsigned int __builtin_neon_uti __attribute__((mode(TI))); -typedef unsigned char __builtin_neon_uqi; -typedef short unsigned int __builtin_neon_uhi; -typedef unsigned int __builtin_neon_usi; -typedef unsigned long long __builtin_neon_udi; -typedef int __builtin_neon_ei __attribute__ ((__vector_size__(32))); -typedef int __builtin_neon_ci __attribute__ ((__vector_size__(64))); -typedef int __builtin_neon_poly8 __attribute__((mode(QI))); -typedef int __builtin_neon_poly16 __attribute__((mode(HI))); -typedef float __builtin_neon_sf; -typedef float __builtin_neon_hf; -typedef unsigned long long __builtin_neon_poly64; -typedef unsigned int __builtin_neon_poly128 __attribute__((mode(TI))); - -typedef char __simd64_int8_t __attribute__((__vector_size__(8))); -typedef short __simd64_int16_t __attribute__((__vector_size__(8))); -typedef int __simd64_int32_t __attribute__((__vector_size__(8))); -typedef unsigned char __simd64_uint8_t __attribute__((__vector_size__(8))); -typedef unsigned short __simd64_uint16_t __attribute__((__vector_size__(8))); -typedef unsigned int __simd64_uint32_t __attribute__((__vector_size__(8))); - -#ifdef __ARM_FEATURE_FP16_SCALAR_ARITHMETIC -typedef cov_fp16_t __fp16; -#endif -typedef cov_fp16_t __simd64_float16_t __attribute__((__vector_size__(8))); -typedef float __simd64_float32_t __attribute__((__vector_size__(8))); - -typedef signed char __simd64_poly8_t __attribute__((__vector_size__(8))); -typedef short __simd64_poly16_t __attribute__((__vector_size__(8))); -typedef signed char __simd128_poly8_t __attribute__((__vector_size__(16))); -typedef short __simd128_poly16_t __attribute__((__vector_size__(16))); -typedef __bf16 __simd128_bfloat16_t __attribute__((__vector_size__(16))); -typedef __bf16 __simd64_bfloat16_t __attribute__((__vector_size__(8))); - -__simd128_uint8_t __builtin_arm_crypto_aesd(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint8_t __builtin_arm_crypto_aese(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint8_t __builtin_arm_crypto_aesimc(__simd128_uint8_t); -__simd128_uint8_t __builtin_arm_crypto_aesmc(__simd128_uint8_t); -__simd128_uint32_t __builtin_arm_crypto_sha1c(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha1h(__simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha1m(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha1p(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha1su0(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha1su1(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha256h(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha256h2(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha256su0(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha256su1(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); -__builtin_neon_uti __builtin_arm_crypto_vmullp64(long long unsigned int, long long unsigned int); -void __builtin_arm_lane_check(int, int); - -__builtin_neon_ci __builtin_neon_vld3_lanev4sf (const __builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); -__builtin_neon_ci __builtin_neon_vld3_lanev4si (const __builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); -__builtin_neon_ci __builtin_neon_vld3_lanev8hf(const cov_fp16_t*, __builtin_neon_ci, int); -__builtin_neon_ci __builtin_neon_vld3_lanev8hi (const __builtin_neon_hi * __a, __builtin_neon_ci __b, const int __c); -__builtin_neon_ci __builtin_neon_vld3v16qi (const __builtin_neon_qi * __a); -__builtin_neon_ci __builtin_neon_vld3v4sf (const __builtin_neon_sf * __a); -__builtin_neon_ci __builtin_neon_vld3v4si (const __builtin_neon_si * __a); -__builtin_neon_ci __builtin_neon_vld3v8hf(const cov_fp16_t*); -__builtin_neon_ci __builtin_neon_vld3v8hi (const __builtin_neon_hi * __a); -__builtin_neon_ci __builtin_neon_vld4_lanev4sf (const __builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); -__builtin_neon_ci __builtin_neon_vld4_lanev4si (const __builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); -__builtin_neon_ci __builtin_neon_vld4_lanev8hi (const __builtin_neon_hi * __a, __builtin_neon_ci __b, const int __c); -__builtin_neon_ci __builtin_neon_vld4v16qi (const __builtin_neon_qi * __a); -__builtin_neon_ci __builtin_neon_vld4v4sf (const __builtin_neon_sf * __a); -__builtin_neon_ci __builtin_neon_vld4v4si (const __builtin_neon_si * __a); -__builtin_neon_ci __builtin_neon_vld4v8hi (const __builtin_neon_hi * __a); -__builtin_neon_ei __builtin_neon_vld3di (const __builtin_neon_di * __a); -__builtin_neon_ei __builtin_neon_vld3_dupdi (const __builtin_neon_di * __a); -__builtin_neon_ei __builtin_neon_vld3_dupv2sf (const __builtin_neon_sf * __a); -__builtin_neon_ei __builtin_neon_vld3_dupv2si (const __builtin_neon_si * __a); -__builtin_neon_ei __builtin_neon_vld3_dupv4hf(const cov_fp16_t*); -__builtin_neon_ei __builtin_neon_vld3_dupv4hi (const __builtin_neon_hi * __a); -__builtin_neon_ei __builtin_neon_vld3_dupv8qi (const __builtin_neon_qi * __a); -__builtin_neon_ei __builtin_neon_vld3_lanev2sf (const __builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld3_lanev2si (const __builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld3_lanev4hf(const cov_fp16_t*, __builtin_neon_ei, int); -__builtin_neon_ei __builtin_neon_vld3_lanev4hi (const __builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld3_lanev8qi (const __builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld3v2sf (const __builtin_neon_sf * __a); -__builtin_neon_ei __builtin_neon_vld3v2si (const __builtin_neon_si * __a); -__builtin_neon_ei __builtin_neon_vld3v4hf(const cov_fp16_t*); -__builtin_neon_ei __builtin_neon_vld3v4hi (const __builtin_neon_hi * __a); -__builtin_neon_ei __builtin_neon_vld3v8qi (const __builtin_neon_qi * __a); -__builtin_neon_ei __builtin_neon_vld4di (const __builtin_neon_di * __a); -__builtin_neon_ei __builtin_neon_vld4_dupdi (const __builtin_neon_di * __a); -__builtin_neon_ei __builtin_neon_vld4_dupv2sf (const __builtin_neon_sf * __a); -__builtin_neon_ei __builtin_neon_vld4_dupv2si (const __builtin_neon_si * __a); -__builtin_neon_ei __builtin_neon_vld4_dupv4hi (const __builtin_neon_hi * __a); -__builtin_neon_ei __builtin_neon_vld4_dupv8qi (const __builtin_neon_qi * __a); -__builtin_neon_ei __builtin_neon_vld4_lanev2sf (const __builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld4_lanev2si (const __builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld4_lanev4hi (const __builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld4_lanev8qi (const __builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld4v2sf (const __builtin_neon_sf * __a); -__builtin_neon_ei __builtin_neon_vld4v2si (const __builtin_neon_si * __a); -__builtin_neon_ei __builtin_neon_vld4v4hi (const __builtin_neon_hi * __a); -__builtin_neon_ei __builtin_neon_vld4v8qi (const __builtin_neon_qi * __a); -__builtin_neon_oi __builtin_neon_vld2_lanev4sf (const __builtin_neon_sf * __a, __builtin_neon_oi __b, const int __c); -__builtin_neon_oi __builtin_neon_vld2_lanev4si (const __builtin_neon_si * __a, __builtin_neon_oi __b, const int __c); -__builtin_neon_oi __builtin_neon_vld2_lanev8hf(const cov_fp16_t*, __builtin_neon_oi, int); -__builtin_neon_oi __builtin_neon_vld2_lanev8hi (const __builtin_neon_hi * __a, __builtin_neon_oi __b, const int __c); -__builtin_neon_oi __builtin_neon_vld2v16qi (const __builtin_neon_qi * __a); -__builtin_neon_oi __builtin_neon_vld2v4sf (const __builtin_neon_sf * __a); -__builtin_neon_oi __builtin_neon_vld2v4si (const __builtin_neon_si * __a); -__builtin_neon_oi __builtin_neon_vld2v8hf(const cov_fp16_t*); -__builtin_neon_oi __builtin_neon_vld2v8hi (const __builtin_neon_hi * __a); -__builtin_neon_oi __builtin_neon_vld4_dupv4hf(const cov_fp16_t*); -__builtin_neon_oi __builtin_neon_vld4_lanev4hf(const cov_fp16_t*, __builtin_neon_oi, int); -__builtin_neon_oi __builtin_neon_vld4v4hf(const cov_fp16_t*); -__builtin_neon_ti __builtin_neon_vld2di (const __builtin_neon_di * __a); -__builtin_neon_ti __builtin_neon_vld2_dupdi (const __builtin_neon_di * __a); -__builtin_neon_ti __builtin_neon_vld2_dupv2sf (const __builtin_neon_sf * __a); -__builtin_neon_ti __builtin_neon_vld2_dupv2si (const __builtin_neon_si * __a); -__builtin_neon_ti __builtin_neon_vld2_dupv4hf(const cov_fp16_t*); -__builtin_neon_ti __builtin_neon_vld2_dupv4hi (const __builtin_neon_hi * __a); -__builtin_neon_ti __builtin_neon_vld2_dupv8qi (const __builtin_neon_qi * __a); -__builtin_neon_ti __builtin_neon_vld2_lanev2sf (const __builtin_neon_sf * __a, float __b, const int __c); -__builtin_neon_ti __builtin_neon_vld2_lanev2si (const __builtin_neon_si * __a, int __b, const int __c); -__builtin_neon_ti __builtin_neon_vld2_lanev4hf(const cov_fp16_t*, __builtin_neon_ti, int); -__builtin_neon_ti __builtin_neon_vld2_lanev4hi (const __builtin_neon_hi * __a, int __b, const int __c); -__builtin_neon_ti __builtin_neon_vld2_lanev8qi (const __builtin_neon_qi * __a, int __b, const int __c); -__builtin_neon_ti __builtin_neon_vld2v2sf (const __builtin_neon_sf * __a); -__builtin_neon_ti __builtin_neon_vld2v2si (const __builtin_neon_si * __a); -__builtin_neon_ti __builtin_neon_vld2v4hf(const cov_fp16_t*); -__builtin_neon_ti __builtin_neon_vld2v4hi (const __builtin_neon_hi * __a); -__builtin_neon_ti __builtin_neon_vld2v8qi (const __builtin_neon_qi * __a); -__builtin_neon_uti __builtin_arm_crypto_vmullp64(long long unsigned int, long long unsigned int); -__builtin_neon_xi __builtin_neon_vld4_lanev8hf(const cov_fp16_t*, __builtin_neon_xi, int); -__builtin_neon_xi __builtin_neon_vld4v8hf(const cov_fp16_t*); -cov_fp16_t __builtin_neon_vabshf(cov_fp16_t); -cov_fp16_t __builtin_neon_vcvthshf(int); -cov_fp16_t __builtin_neon_vcvths_nhf(int, int); -cov_fp16_t __builtin_neon_vcvthuhf(int); -cov_fp16_t __builtin_neon_vcvthu_nhf(int, int); -cov_fp16_t __builtin_neon_vfmahf(cov_fp16_t, cov_fp16_t, cov_fp16_t); -cov_fp16_t __builtin_neon_vfmshf(cov_fp16_t, cov_fp16_t, cov_fp16_t); -cov_fp16_t __builtin_neon_vmaxnmhf(cov_fp16_t, cov_fp16_t); -cov_fp16_t __builtin_neon_vminnmhf(cov_fp16_t, cov_fp16_t); -cov_fp16_t __builtin_neon_vrndahf(cov_fp16_t); -cov_fp16_t __builtin_neon_vrndhf(cov_fp16_t); -cov_fp16_t __builtin_neon_vrndihf(cov_fp16_t); -cov_fp16_t __builtin_neon_vrndmhf(cov_fp16_t); -cov_fp16_t __builtin_neon_vrndnhf(cov_fp16_t); -cov_fp16_t __builtin_neon_vrndphf(cov_fp16_t); -cov_fp16_t __builtin_neon_vrndxhf(cov_fp16_t); -cov_fp16_t __builtin_neon_vsqrthf(cov_fp16_t); -float __builtin_neon_vget_lanev2sf (__simd64_float32_t __a, const int __b); -float __builtin_neon_vget_lanev4sf (__simd128_float32_t __a, const int __b); -int __builtin_neon_vbsldi (int __a, int __b, int __c); -int __builtin_neon_vcreatedi (__builtin_neon_di __a); -int __builtin_neon_vcvtahssi(cov_fp16_t); -int __builtin_neon_vcvtahusi(cov_fp16_t); -int __builtin_neon_vcvths_nsi(cov_fp16_t, int); -int __builtin_neon_vcvthssi(cov_fp16_t); -int __builtin_neon_vcvthu_nsi(cov_fp16_t, int); -int __builtin_neon_vcvthusi(cov_fp16_t); -int __builtin_neon_vcvtmhssi(cov_fp16_t); -int __builtin_neon_vcvtmhusi(cov_fp16_t); -int __builtin_neon_vcvtnhssi(cov_fp16_t); -int __builtin_neon_vcvtnhusi(cov_fp16_t); -int __builtin_neon_vcvtphssi(cov_fp16_t); -int __builtin_neon_vcvtphusi(cov_fp16_t); -int __builtin_neon_vdup_lanedi (int __a, const int __b); -int __builtin_neon_vdup_ndi (__builtin_neon_di __a); -int __builtin_neon_vextdi (int __a, int __b, const int __c); -int __builtin_neon_vget_lanedi (int __a, const int __b); -int __builtin_neon_vget_laneuv16qi(__simd128_int8_t, int); -int __builtin_neon_vget_laneuv4hi(__simd64_int16_t, int); -int __builtin_neon_vget_laneuv8hi(__simd128_int16_t, int); -int __builtin_neon_vget_laneuv8qi(__simd64_int8_t, int); -int __builtin_neon_vget_lanev16qi(__simd128_int8_t, int); -int __builtin_neon_vget_lanev2si (__simd64_int32_t __a, const int __b); -int __builtin_neon_vget_lanev4hi(__simd64_int16_t, int); -int __builtin_neon_vget_lanev4si (__simd128_int32_t __a, const int __b); -int __builtin_neon_vget_lanev8hi(__simd128_int16_t, int); -int __builtin_neon_vget_lanev8qi(__simd64_int8_t, int); -int __builtin_neon_vld1di (const __builtin_neon_di * __a); -int __builtin_neon_vld1_dupdi (const __builtin_neon_di * __a); -int __builtin_neon_vld1_lanedi (const __builtin_neon_di* __a, int __b, const int __c); -int __builtin_neon_vpadalsv2si (int __a, __simd64_int32_t __b); -int __builtin_neon_vpaddlsv2si (__simd64_int32_t __a); -int __builtin_neon_vqaddsdi (int __a, int __b); -int __builtin_neon_vqrshlsdi (int __a, int __b); -int __builtin_neon_vqshlsdi (int __a, int __b); -int __builtin_neon_vqshl_s_ndi (int __a, const int __b); -int __builtin_neon_vqsubsdi (int __a, int __b); -int __builtin_neon_vqsubudi (int __a, int __b); -int __builtin_neon_vreinterpretdidi (int __a); -int __builtin_neon_vreinterpretdiv2sf (__simd64_float32_t __a); -int __builtin_neon_vreinterpretdiv2si (__simd64_int32_t __a); -int __builtin_neon_vreinterpretdiv4hi (__simd64_int32_t __a); -int __builtin_neon_vreinterpretdiv8qi (__simd64_int32_t __a); -int __builtin_neon_vrshlsdi (int __a, int __b); -int __builtin_neon_vrshrs_ndi (int __a, const int __b); -int __builtin_neon_vrsras_ndi (int __a, int __b, const int __c); -int __builtin_neon_vset_lanedi (__builtin_neon_di __a, int __b, const int __c); -int __builtin_neon_vshl_ndi (int __a, const int __b); -int __builtin_neon_vshlsdi (int __a, int __b); -int __builtin_neon_vshrs_ndi (int __a, const int __b); -int __builtin_neon_vsli_ndi (int __a, int __b, const int __c); -int __builtin_neon_vsras_ndi (int __a, int __b, const int __c); -int __builtin_neon_vsri_ndi (int __a, int __b, const int __c); -int __builtin_neon_vst1_lanedi (__builtin_neon_di * __a, int __b, const int __c); -void __builtin_neon_vst2di(long long int*, __builtin_neon_ti); -int __builtin_neon_vst2_lanev2sf (__builtin_neon_sf * __a, float __b, const int __c); -int __builtin_neon_vst2_lanev2si (__builtin_neon_si * __a, int __b, const int __c); -int __builtin_neon_vst2_lanev4hi (__builtin_neon_hi * __a, int __b, const int __c); -int __builtin_neon_vst2_lanev4sf (__builtin_neon_sf * __a, __builtin_neon_oi __b, const int __c); -int __builtin_neon_vst2_lanev4si (__builtin_neon_si * __a, __builtin_neon_oi __b, const int __c); -int __builtin_neon_vst2_lanev8hi (__builtin_neon_hi* __a, __builtin_neon_oi __b, const int __c); -int __builtin_neon_vst2_lanev8qi (__builtin_neon_qi * __a, int __b, const int __c); -void __builtin_neon_vst2v16qi(signed char*, __builtin_neon_oi); -void __builtin_neon_vst2v2sf(float*, __builtin_neon_ti); -void __builtin_neon_vst2v2si(int*, __builtin_neon_ti); -void __builtin_neon_vst2v4hi(short int*, __builtin_neon_ti); -void __builtin_neon_vst2v4sf(float*, __builtin_neon_oi); -void __builtin_neon_vst2v4si(int*, __builtin_neon_oi); -void __builtin_neon_vst2v8hi(short int*, __builtin_neon_oi); -void __builtin_neon_vst2v8qi(signed char*, __builtin_neon_ti); -void __builtin_neon_vst3di(long long int*, __builtin_neon_ei); -int __builtin_neon_vst3_lanev2sf (__builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); -int __builtin_neon_vst3_lanev2si (__builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); -int __builtin_neon_vst3_lanev4hi (__builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); -int __builtin_neon_vst3_lanev4sf (__builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); -int __builtin_neon_vst3_lanev4si (__builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); -int __builtin_neon_vst3_lanev8hi (__builtin_neon_hi* __a, __builtin_neon_ci __b, const int __c); -int __builtin_neon_vst3_lanev8qi (__builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); -void __builtin_neon_vst3v16qi(signed char*, __builtin_neon_ci); -void __builtin_neon_vst3v2sf(float*, __builtin_neon_ei); -void __builtin_neon_vst3v2si(int*, __builtin_neon_ei); -void __builtin_neon_vst3v4hi(short int*, __builtin_neon_ei); -void __builtin_neon_vst3v4sf(float*, __builtin_neon_ci); -void __builtin_neon_vst3v4si(int*, __builtin_neon_ci); -void __builtin_neon_vst3v8hi(short int*, __builtin_neon_ci); -void __builtin_neon_vst3v8qi(signed char*, __builtin_neon_ei); -void __builtin_neon_vst4di(long long int*, __builtin_neon_oi); -int __builtin_neon_vst4_lanev2sf (__builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); -int __builtin_neon_vst4_lanev2si (__builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); -int __builtin_neon_vst4_lanev4hi (__builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); -int __builtin_neon_vst4_lanev4sf (__builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); -int __builtin_neon_vst4_lanev4si (__builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); -int __builtin_neon_vst4_lanev8hi (__builtin_neon_hi* __a, __builtin_neon_ci __b, const int __c); -int __builtin_neon_vst4_lanev8qi (__builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); -void __builtin_neon_vst4v16qi(signed char*, __builtin_neon_xi); -void __builtin_neon_vst4v2sf(float*, __builtin_neon_oi); -void __builtin_neon_vst4v2si(int*, __builtin_neon_oi); -void __builtin_neon_vst4v4hi(short int*, __builtin_neon_oi); -void __builtin_neon_vst4v4sf(float*, __builtin_neon_xi); -void __builtin_neon_vst4v4si(int*, __builtin_neon_xi); -void __builtin_neon_vst4v8hi(short int*, __builtin_neon_xi); -void __builtin_neon_vst4v8qi(signed char*, __builtin_neon_oi); -long long int __builtin_neon_vget_highv2di(__simd128_int64_t); -long long int __builtin_neon_vget_lanev2di(__simd128_int64_t, int); -long long int __builtin_neon_vget_lowv2di(__simd128_int64_t); -__simd128_float16_t __builtin_neon_vabdv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vabsv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vaddv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vbslv8hf(__simd128_int16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vcadd90v8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vcmla0v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vcmla180v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vcmla270v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vcmla90v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vcmla_lane0v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float16_t __builtin_neon_vcmla_lane180v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float16_t __builtin_neon_vcmla_lane270v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float16_t __builtin_neon_vcmla_lane90v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float16_t __builtin_neon_vcmlaq_lane0v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float16_t __builtin_neon_vcmlaq_lane180v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float16_t __builtin_neon_vcmlaq_lane270v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float16_t __builtin_neon_vcmlaq_lane90v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float16_t __builtin_neon_vcombinev4hf(__simd64_float16_t, __simd64_float16_t); -__simd128_float16_t __builtin_neon_vcvts_nv8hi(__simd128_int16_t, int); -__simd128_float16_t __builtin_neon_vcvtsv8hi(__simd128_int16_t); -__simd128_float16_t __builtin_neon_vcvtu_nv8hi(__simd128_int16_t, int); -__simd128_float16_t __builtin_neon_vcvtuv8hi(__simd128_int16_t); -__simd128_float16_t __builtin_neon_vdup_lanev8hf(__simd64_float16_t, int); -__simd128_float16_t __builtin_neon_vdup_nv8hf(cov_fp16_t); -__simd128_float16_t __builtin_neon_vextv8hf(__simd128_float16_t, __simd128_float16_t, int); -__simd128_float16_t __builtin_neon_vfmav8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vfmsv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vld1v8hf(const cov_fp16_t*); -__simd128_float16_t __builtin_neon_vmaxfv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vmaxnmv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vminfv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vminnmv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vmulfv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vmul_lanev8hf(__simd128_float16_t, __simd64_float16_t, int); -__simd128_float16_t __builtin_neon_vmul_nv8hf(__simd128_float16_t, cov_fp16_t); -__simd128_float16_t __builtin_neon_vnegv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrecpev8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrecpsv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vrndav8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrndmv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrndnv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrndpv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrndv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrndxv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrsqrtev8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrsqrtsv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vsubv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_neon_vabdfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_float32_t __builtin_neon_vabsv4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vaddv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_float32_t __builtin_neon_vbslv4sf (__simd128_int32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); -__simd128_float32_t __builtin_neon_vcadd90v4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vcmla0v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vcmla180v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vcmla270v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vcmla90v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vcmla_lane0v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); -__simd128_float32_t __builtin_neon_vcmla_lane180v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); -__simd128_float32_t __builtin_neon_vcmla_lane270v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); -__simd128_float32_t __builtin_neon_vcmla_lane90v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); -__simd128_float32_t __builtin_neon_vcmlaq_lane0v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); -__simd128_float32_t __builtin_neon_vcmlaq_lane180v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); -__simd128_float32_t __builtin_neon_vcmlaq_lane270v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); -__simd128_float32_t __builtin_neon_vcmlaq_lane90v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); -__simd128_float32_t __builtin_neon_vcombinev2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd128_float32_t __builtin_neon_vcvts_nv4si (__simd128_int32_t __a, const int __b); -__simd128_float32_t __builtin_neon_vcvtsv4si (__simd128_int32_t __a); -__simd128_float32_t __builtin_neon_vcvtu_nv4si (__simd128_int32_t __a, const int __b); -__simd128_float32_t __builtin_neon_vcvtuv4si (__simd128_int32_t __a); -__simd128_float32_t __builtin_neon_vcvtv4sfv4hf(__simd64_float16_t); -__simd128_float32_t __builtin_neon_vdup_lanev4sf (__simd64_float32_t __a, const int __b); -__simd128_float32_t __builtin_neon_vdup_nv4sf (__builtin_neon_sf __a); -__simd128_float32_t __builtin_neon_vextv4sf (__simd128_float32_t __a, __simd128_float32_t __b, const int __c); -__simd128_float32_t __builtin_neon_vfmal_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_neon_vfmal_lane_highv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float32_t __builtin_neon_vfmal_lane_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float32_t __builtin_neon_vfmal_lane_lowv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float32_t __builtin_neon_vfmal_lane_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float32_t __builtin_neon_vfmal_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_neon_vfmav4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); -__simd128_float32_t __builtin_neon_vfmsl_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_neon_vfmsl_lane_highv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float32_t __builtin_neon_vfmsl_lane_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float32_t __builtin_neon_vfmsl_lane_lowv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float32_t __builtin_neon_vfmsl_lane_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float32_t __builtin_neon_vfmsl_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_neon_vfmsv4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); -__simd128_float32_t __builtin_neon_vld1_dupv4sf (const __builtin_neon_sf * __a); -__simd128_float32_t __builtin_neon_vld1_lanev4sf (const float * __a, __simd128_float32_t __b, const int __c); -__simd128_float32_t __builtin_neon_vld1v4sf (const __builtin_neon_sf * __a); -__simd128_float32_t __builtin_neon_vmaxfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_float32_t __builtin_neon_vmaxnmv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vminfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_float32_t __builtin_neon_vminnmv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vmla_lanev4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd64_float32_t __c, const int __d); -__simd128_float32_t __builtin_neon_vmla_nv4sf (__simd128_float32_t __a, __simd128_float32_t __b, float __c); -__simd128_float32_t __builtin_neon_vmlav4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); -__simd128_float32_t __builtin_neon_vmls_lanev4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd64_float32_t __c, const int __d); -__simd128_float32_t __builtin_neon_vmls_nv4sf (__simd128_float32_t __a, __simd128_float32_t __b, float __c); -__simd128_float32_t __builtin_neon_vmlsv4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); -__simd128_float32_t __builtin_neon_vmulfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_float32_t __builtin_neon_vmul_lanev4sf (__simd128_float32_t __a, __simd64_float32_t __b, const int __c); -__simd128_float32_t __builtin_neon_vmul_nv4sf (__simd128_float32_t __a, float __b); -__simd128_float32_t __builtin_neon_vnegv4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrecpev4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrecpsv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_float32_t __builtin_neon_vreinterpretv4sfti (__builtin_neon_ti __a); -__simd128_float32_t __builtin_neon_vreinterpretv4sfv16qi (__simd128_int32_t __a); -__simd128_float32_t __builtin_neon_vreinterpretv4sfv2di (__simd128_int32_t __a); -__simd128_float32_t __builtin_neon_vreinterpretv4sfv4si (__simd128_int32_t __a); -__simd128_float32_t __builtin_neon_vreinterpretv4sfv8hi (__simd128_int32_t __a); -__simd128_float32_t __builtin_neon_vrintav4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrintmv4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrintnv4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrintpv4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrintxv4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrintzv4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrsqrtev4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrsqrtsv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_float32_t __builtin_neon_vset_lanev4sf (float __a, __simd128_float32_t __b, const int __c); -void __builtin_neon_vst1_lanev4sf(float*, __simd128_float32_t, int); -void __builtin_neon_vst1v4sf(float*, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vsubv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_int16_t __builtin_neon_vabalsv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vabaluv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vabasv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vabauv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vabdlsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vabdluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vabdsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vabduv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vabsv8hi(__simd128_int16_t); -__simd128_int16_t __builtin_neon_vaddlsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vaddluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vaddwsv8qi(__simd128_int16_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vaddwuv8qi(__simd128_int16_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vbslv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vcagev8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vcagtv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vcalev8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vcaltv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vceqv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vceqv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vceqzv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcgeuv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vcgev8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vcgev8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vcgezv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcgtuv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vcgtv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vcgtv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vcgtzv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vclev8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vclezv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vclsv8hi(__simd128_int16_t); -__simd128_int16_t __builtin_neon_vcltv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vcltzv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vclzv8hi(__simd128_int16_t); -__simd128_int16_t __builtin_neon_vcombinev4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int16_t __builtin_neon_vcvtasv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtauv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtmsv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtmuv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtnsv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtnuv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtpsv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtpuv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvts_nv8hf(__simd128_float16_t, int); -__simd128_int16_t __builtin_neon_vcvtsv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtu_nv8hf(__simd128_float16_t, int); -__simd128_int16_t __builtin_neon_vcvtuv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vdup_lanev8hi(__simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vextv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vhaddsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vhadduv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vhsubsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vhsubuv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vld1_lanev8hi(const short int*, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vmaxsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vmaxuv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vminsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vminuv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vmla_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vmlalsv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vmlaluv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vmla_nv8hi(__simd128_int16_t, __simd128_int16_t, short int); -__simd128_int16_t __builtin_neon_vmlav8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vmls_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vmlslsv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vmlsluv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vmls_nv8hi(__simd128_int16_t, __simd128_int16_t, short int); -__simd128_int16_t __builtin_neon_vmlsv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vmovlsv8qi(__simd64_int8_t); -__simd128_int16_t __builtin_neon_vmovluv8qi(__simd64_int8_t); -__simd128_int16_t __builtin_neon_vmul_lanev8hi(__simd128_int16_t, __simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vmullpv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vmullsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vmulluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vmul_nv8hi(__simd128_int16_t, short int); -__simd128_int16_t __builtin_neon_vmvnv8hi(__simd128_int16_t); -__simd128_int16_t __builtin_neon_vnegv8hi(__simd128_int16_t); -__simd128_int16_t __builtin_neon_vpadalsv16qi(__simd128_int16_t, __simd128_int8_t); -__simd128_int16_t __builtin_neon_vpadaluv16qi(__simd128_int16_t, __simd128_int8_t); -__simd128_int16_t __builtin_neon_vpaddlsv16qi(__simd128_int8_t); -__simd128_int16_t __builtin_neon_vpaddluv16qi(__simd128_int8_t); -__simd128_int16_t __builtin_neon_vqabsv8hi(__simd128_int16_t); -__simd128_int16_t __builtin_neon_vqaddsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqadduv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqdmulh_lanev8hi(__simd128_int16_t, __simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vqdmulh_nv8hi(__simd128_int16_t, short int); -__simd128_int16_t __builtin_neon_vqdmulhv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqnegv8hi(__simd128_int16_t); -__simd128_int16_t __builtin_neon_vqrdmlah_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vqrdmlahv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqrdmlsh_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vqrdmlshv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqrdmulh_lanev8hi(__simd128_int16_t, __simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vqrdmulh_nv8hi(__simd128_int16_t, short int); -__simd128_int16_t __builtin_neon_vqrdmulhv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqrshlsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqrshluv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqshl_s_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vqshlsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqshl_u_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vqshlu_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vqshluv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqsubsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqsubuv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vrhaddsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vrhadduv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vrshlsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vrshluv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vrshrs_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vrshru_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vrsras_nv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vrsrau_nv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vset_lanev8hi(short int, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vshlls_nv8qi(__simd64_int8_t, int); -__simd128_int16_t __builtin_neon_vshllu_nv8qi(__simd64_int8_t, int); -__simd128_int16_t __builtin_neon_vshl_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vshlsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vshluv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vshrs_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vshru_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vsli_nv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vsras_nv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vsrau_nv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vsri_nv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vsublsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vsubluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vsubwsv8qi(__simd128_int16_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vsubwuv8qi(__simd128_int16_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vtstv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int32_t __builtin_neon_sdot_lanev16qi(__simd128_int32_t, __simd128_int8_t, __simd64_int8_t, int); -__simd128_int32_t __builtin_neon_sdotv16qi(__simd128_int32_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_neon_vabalsv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vabaluv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vabasv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); -__simd128_int32_t __builtin_neon_vabauv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); -__simd128_int32_t __builtin_neon_vabdlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vabdlsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vabdluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vabdluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vabdsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vabduv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vabsv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vaddlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vaddlsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vaddluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vaddluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vaddwsv4hi(__simd128_int32_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vaddwuv4hi(__simd128_int32_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vbslv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); -__simd128_int32_t __builtin_neon_vcagev4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_int32_t __builtin_neon_vcagtv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_int32_t __builtin_neon_vceqv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_int32_t __builtin_neon_vceqv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vcgeuv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vcgev4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_int32_t __builtin_neon_vcgev4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vcgtuv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vcgtv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_int32_t __builtin_neon_vcgtv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vclsv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vclzv4si (__simd128_int32_t __a); -__simd128_int64_t __builtin_neon_vcombinedi (long long int __a, long long int __b); -__simd128_int32_t __builtin_neon_vcombinev2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vcvts_nv4sf (__simd128_float32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vcvtsv4sf (__simd128_float32_t __a); -__simd128_int32_t __builtin_neon_vcvtu_nv4sf (__simd128_float32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vcvtuv4sf (__simd128_float32_t __a); -__simd128_int32_t __builtin_neon_vdup_lanev2di (int __a, const int __b); -__simd128_int32_t __builtin_neon_vdup_lanev4si (__simd64_int32_t __a, const int __b); -__simd128_int8_t __builtin_neon_vdup_nv16qi(signed char); -__simd128_int64_t __builtin_neon_vdup_nv2di(long long int); -__simd128_int32_t __builtin_neon_vdup_nv4si (__builtin_neon_si __a); -__simd128_int16_t __builtin_neon_vdup_nv8hi(short int); -__simd128_int32_t __builtin_neon_vextv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vhaddsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vhadduv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vhsubsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vhsubuv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int8_t __builtin_neon_vld1_dupv16qi(const signed char*); -__simd128_int64_t __builtin_neon_vld1_dupv2di(const long long int*); -__simd128_int32_t __builtin_neon_vld1_dupv4si (const __builtin_neon_si * __a); -__simd128_int16_t __builtin_neon_vld1_dupv8hi(const short int*); -__simd128_int32_t __builtin_neon_vld1_lanev4si (const int * __a, __simd128_int32_t __b, const int __c); -__simd128_int8_t __builtin_neon_vld1v16qi(const signed char*); -__simd128_int64_t __builtin_neon_vld1v2di(const long long int*); -__simd128_int32_t __builtin_neon_vld1v4si (const __builtin_neon_si * __a); -__simd128_int16_t __builtin_neon_vld1v8hi(const short int*); -__simd128_int32_t __builtin_neon_vmaxsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vmaxuv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vminsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vminuv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vmla_lanev4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd64_int32_t __c, const int __d); -__simd128_int32_t __builtin_neon_vmlals_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vmlals_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vmlalsv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vmlalu_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vmlalu_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vmlaluv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vmla_nv4si (__simd128_int32_t __a, __simd128_int32_t __a, int __c); -__simd128_int32_t __builtin_neon_vmlav4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); -__simd128_int32_t __builtin_neon_vmls_lanev4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd64_int32_t __c, const int __d); -__simd128_int32_t __builtin_neon_vmlsls_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vmlsls_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vmlslsv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vmlslu_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vmlslu_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vmlsluv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vmls_nv4si (__simd128_int32_t __a, __simd128_int32_t __a, int __c); -__simd128_int32_t __builtin_neon_vmlsv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); -__simd128_int32_t __builtin_neon_vmovlsv2si (__simd64_int32_t __a); -__simd128_int32_t __builtin_neon_vmovlsv4hi(__simd64_int16_t); -__simd128_int32_t __builtin_neon_vmovluv2si (__simd64_int32_t __a); -__simd128_int32_t __builtin_neon_vmovluv4hi(__simd64_int16_t); -__simd128_int32_t __builtin_neon_vmul_lanev4si (__simd128_int32_t __a, __simd64_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vmulls_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vmulls_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vmulls_nv2si (__simd64_int32_t __a, int __b); -__simd128_int32_t __builtin_neon_vmulls_nv4hi(__simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vmullsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vmullsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vmullu_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vmullu_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vmullu_nv2si (__simd64_int32_t __a, __builtin_neon_si __b); -__simd128_int32_t __builtin_neon_vmullu_nv4hi(__simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vmulluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vmulluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vmul_nv4si (__simd128_int32_t __a, int __b); -__simd128_int32_t __builtin_neon_vmvnv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vnegv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vpadalsv8hi(__simd128_int32_t, __simd128_int16_t); -__simd128_int32_t __builtin_neon_vpadaluv8hi(__simd128_int32_t, __simd128_int16_t); -__simd128_int32_t __builtin_neon_vpaddlsv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vpaddlsv8hi(__simd128_int16_t); -__simd128_int32_t __builtin_neon_vpaddluv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vpaddluv8hi(__simd128_int16_t); -__simd128_int32_t __builtin_neon_vqabsv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vqaddsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqadduv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqdmlal_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vqdmlal_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vqdmlalv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vqdmlsl_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vqdmlsl_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vqdmlslv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vqdmulh_lanev4si (__simd128_int32_t __a, __simd64_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vqdmulh_nv4si (__simd128_int32_t __a, int __b); -__simd128_int32_t __builtin_neon_vqdmulhv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqdmull_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vqdmull_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vqdmull_nv2si (__simd64_int32_t __a, int __b); -__simd128_int32_t __builtin_neon_vqdmull_nv4hi(__simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vqdmullv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vqdmullv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vqnegv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vqrdmlah_lanev4si(__simd128_int32_t, __simd128_int32_t, __simd64_int32_t, int); -__simd128_int32_t __builtin_neon_vqrdmlahv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int32_t __builtin_neon_vqrdmlsh_lanev4si(__simd128_int32_t, __simd128_int32_t, __simd64_int32_t, int); -__simd128_int32_t __builtin_neon_vqrdmlshv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int32_t __builtin_neon_vqrdmulh_lanev4si (__simd128_int32_t __a, __simd64_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vqrdmulh_nv4si (__simd128_int32_t __a, int __b); -__simd128_int32_t __builtin_neon_vqrdmulhv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqrshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqrshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqshl_s_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vqshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqshl_u_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vqshlu_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vqshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqsubsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqsubuv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vrecpev4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterprettiv16qi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterprettiv2di (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterprettiv4sf (__simd128_float32_t __a); -__simd128_int32_t __builtin_neon_vreinterprettiv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterprettiv8hi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv16qiti (__builtin_neon_ti __a); -__simd128_int32_t __builtin_neon_vreinterpretv16qiv16qi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv16qiv2di (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv16qiv4sf (__simd128_float32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv16qiv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv16qiv8hi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv2diti (__builtin_neon_ti __a); -__simd128_int32_t __builtin_neon_vreinterpretv2div16qi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv2div2di (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv2div4sf (__simd128_float32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv2div4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv2div8hi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv4siti (__builtin_neon_ti __a); -__simd128_int32_t __builtin_neon_vreinterpretv4siv16qi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv4siv2di (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv4siv4sf (__simd128_float32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv4siv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv4siv8hi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv8hiti (__builtin_neon_ti __a); -__simd128_int32_t __builtin_neon_vreinterpretv8hiv16qi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv8hiv2di (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv8hiv4sf (__simd128_float32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv8hiv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv8hiv8hi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vrhaddsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vrhadduv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vrshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vrshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vrshrs_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vrshru_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vrsqrtev4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vrsras_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vrsrau_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vset_lanev4si (int __a, __simd128_int32_t __a, const int __c); -__simd128_int32_t __builtin_neon_vshlls_nv2si (__simd64_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vshlls_nv4hi(__simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vshllu_nv2si (__simd64_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vshllu_nv4hi(__simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vshl_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vshrs_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vshru_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vsli_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vsras_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vsrau_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vsri_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); -void __builtin_neon_vst1_lanev4si(int*, __simd128_int32_t, int); -void __builtin_neon_vst1v4si(int*, __simd128_int32_t); -__simd128_int32_t __builtin_neon_vsublsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vsublsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vsubluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vsubluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vsubwsv4hi(__simd128_int32_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vsubwuv4hi(__simd128_int32_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vtstv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int64_t __builtin_neon_vabalsv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vabaluv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vaddwsv2si(__simd128_int64_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vaddwuv2si(__simd128_int64_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vbslv2di(__simd128_int64_t, __simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vextv2di(__simd128_int64_t, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vld1_lanev2di(const long long int*, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vmlals_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlals_nv2si(__simd128_int64_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlalsv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vmlalu_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlalu_nv2si(__simd128_int64_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlaluv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vmlsls_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlsls_nv2si(__simd128_int64_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlslsv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vmlslu_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlslu_nv2si(__simd128_int64_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlsluv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vpadalsv4si(__simd128_int64_t, __simd128_int32_t); -__simd128_int64_t __builtin_neon_vpadaluv4si(__simd128_int64_t, __simd128_int32_t); -__simd128_int64_t __builtin_neon_vqaddsv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vqadduv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vqdmlal_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vqdmlal_nv2si(__simd128_int64_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vqdmlalv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vqdmlsl_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vqdmlsl_nv2si(__simd128_int64_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vqdmlslv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vqrshlsv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vqrshluv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vqshl_s_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vqshlsv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vqshl_u_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vqshlu_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vqshluv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vqsubsv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vqsubuv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vrshlsv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vrshluv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vrshrs_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vrshru_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vrsras_nv2di(__simd128_int64_t, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vrsrau_nv2di(__simd128_int64_t, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vset_lanev2di(long long int, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vshl_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vshlsv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vshluv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vshrs_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vshru_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vsli_nv2di(__simd128_int64_t, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vsras_nv2di(__simd128_int64_t, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vsrau_nv2di(__simd128_int64_t, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vsri_nv2di(__simd128_int64_t, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vsubwsv2si(__simd128_int64_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vsubwuv2si(__simd128_int64_t, __simd64_int32_t); -__simd128_int8_t __builtin_neon_vabasv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vabauv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vabdsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vabduv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vabsv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vbslv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vceqv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vcgeuv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vcgev16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vcgtuv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vcgtv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vclsv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vclzv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vcntv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vcombinev8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int8_t __builtin_neon_vdup_lanev16qi(__simd64_int8_t, int); -__simd128_int8_t __builtin_neon_vextv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vhaddsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vhadduv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vhsubsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vhsubuv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vld1_lanev16qi(const signed char*, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vmaxsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vmaxuv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vminsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vminuv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vmlav16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vmlsv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vmulpv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vmvnv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vnegv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vqabsv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vqaddsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vqadduv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vqnegv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vqrshlsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vqrshluv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vqshl_s_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vqshlsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vqshl_u_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vqshlu_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vqshluv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vqsubsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vqsubuv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vrhaddsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vrhadduv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vrshlsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vrshluv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vrshrs_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vrshru_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vrsras_nv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vrsrau_nv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vset_lanev16qi(signed char, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vshl_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vshlsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vshluv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vshrs_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vshru_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vsli_nv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vsras_nv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vsrau_nv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vsri_nv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vtstv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_uint32_t __builtin_neon_udot_lanev16qi_uuuus(__simd128_uint32_t, __simd128_uint8_t, __simd64_uint8_t, int); -__simd128_uint32_t __builtin_neon_udotv16qi_uuuu(__simd128_uint32_t, __simd128_uint8_t, __simd128_uint8_t); -__simd64_float16_t __builtin_neon_vabdv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vabsv4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vaddv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vbslv4hf(__simd64_int16_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vcadd90v4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vcmla0v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vcmla180v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vcmla270v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vcmla90v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vcmla_lane0v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float16_t __builtin_neon_vcmla_lane180v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float16_t __builtin_neon_vcmla_lane270v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float16_t __builtin_neon_vcmla_lane90v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float16_t __builtin_neon_vcmla_laneq0v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float16_t __builtin_neon_vcmla_laneq180v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float16_t __builtin_neon_vcmla_laneq270v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float16_t __builtin_neon_vcmla_laneq90v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float16_t __builtin_neon_vcvts_nv4hi(__simd64_int16_t, int); -__simd64_float16_t __builtin_neon_vcvtsv4hi(__simd64_int16_t); -__simd64_float16_t __builtin_neon_vcvtu_nv4hi(__simd64_int16_t, int); -__simd64_float16_t __builtin_neon_vcvtuv4hi(__simd64_int16_t); -__simd64_float16_t __builtin_neon_vdup_lanev4hf(__simd64_float16_t, int); -__simd64_float16_t __builtin_neon_vdup_nv4hf(cov_fp16_t); -__simd64_float16_t __builtin_neon_vextv4hf(__simd64_float16_t, __simd64_float16_t, int); -__simd64_float16_t __builtin_neon_vfmav4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vfmsv4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vget_highv8hf(__simd128_float16_t); -__simd64_float16_t __builtin_neon_vget_lowv8hf(__simd128_float16_t); -__simd64_float16_t __builtin_neon_vld1v4hf(const cov_fp16_t*); -__simd64_float16_t __builtin_neon_vmaxfv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vmaxnmv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vminfv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vminnmv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vmulfv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vmul_lanev4hf(__simd64_float16_t, __simd64_float16_t, int); -__simd64_float16_t __builtin_neon_vmul_nv4hf(__simd64_float16_t, cov_fp16_t); -__simd64_float16_t __builtin_neon_vnegv4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vpaddv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vpmaxfv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vpminfv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vrecpev4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrecpsv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vrndav4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrndmv4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrndnv4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrndpv4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrndv4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrndxv4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrsqrtev4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrsqrtsv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vsubv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float32_t __builtin_neon_vabdfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vabsv2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vaddv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vbslv2sf (__simd64_int32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); -__simd64_float32_t __builtin_neon_vcadd90v2sf(__simd64_float32_t, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vcmla0v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vcmla180v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vcmla270v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vcmla90v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vcmla_lane0v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); -__simd64_float32_t __builtin_neon_vcmla_lane180v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); -__simd64_float32_t __builtin_neon_vcmla_lane270v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); -__simd64_float32_t __builtin_neon_vcmla_lane90v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); -__simd64_float32_t __builtin_neon_vcmla_laneq0v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); -__simd64_float32_t __builtin_neon_vcmla_laneq180v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); -__simd64_float32_t __builtin_neon_vcmla_laneq270v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); -__simd64_float32_t __builtin_neon_vcmla_laneq90v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); -__simd64_float32_t __builtin_neon_vcreatev2sf (__builtin_neon_di __a); -__simd64_float32_t __builtin_neon_vcvts_nv2si (__simd64_int32_t __a, const int __b); -__simd64_float32_t __builtin_neon_vcvtsv2si (__simd64_int32_t __a); -__simd64_float32_t __builtin_neon_vcvtu_nv2si (__simd64_int32_t __a, const int __b); -__simd64_float32_t __builtin_neon_vcvtuv2si (__simd64_int32_t __a); -__simd64_float16_t __builtin_neon_vcvtv4hfv4sf(__simd128_float32_t); -__simd64_float32_t __builtin_neon_vdup_lanev2sf (__simd64_float32_t __a, const int __b); -__simd64_float32_t __builtin_neon_vdup_nv2sf (__builtin_neon_sf __a); -__simd64_float32_t __builtin_neon_vextv2sf (__simd64_float32_t __a, __simd64_float32_t __b, const int __c); -__simd64_float32_t __builtin_neon_vfmal_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float32_t __builtin_neon_vfmal_lane_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float32_t __builtin_neon_vfmal_lane_highv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float32_t __builtin_neon_vfmal_lane_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float32_t __builtin_neon_vfmal_lane_lowv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float32_t __builtin_neon_vfmal_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float32_t __builtin_neon_vfmav2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); -__simd64_float32_t __builtin_neon_vfmsl_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float32_t __builtin_neon_vfmsl_lane_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float32_t __builtin_neon_vfmsl_lane_highv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float32_t __builtin_neon_vfmsl_lane_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float32_t __builtin_neon_vfmsl_lane_lowv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float32_t __builtin_neon_vfmsl_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float32_t __builtin_neon_vfmsv2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); -__simd64_float32_t __builtin_neon_vget_highv4sf (__simd128_float32_t __a); -__simd64_float32_t __builtin_neon_vget_lowv4sf (__simd128_float32_t __a); -__simd64_float32_t __builtin_neon_vld1_dupv2sf (const __builtin_neon_sf * __a); -__simd64_float32_t __builtin_neon_vld1_lanev2sf (const float * __a, __simd64_float32_t __b, const int __c); -__simd64_float32_t __builtin_neon_vld1v2sf (const __builtin_neon_sf * __a); -__simd64_float32_t __builtin_neon_vmaxfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vmaxnmv2sf(__simd64_float32_t, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vminfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vminnmv2sf(__simd64_float32_t, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vmla_lanev2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c, const int __d); -__simd64_float32_t __builtin_neon_vmla_nv2sf (__simd64_float32_t __a, __simd64_float32_t __b, float __c); -__simd64_float32_t __builtin_neon_vmlav2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); -__simd64_float32_t __builtin_neon_vmls_lanev2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c, const int __d); -__simd64_float32_t __builtin_neon_vmls_nv2sf (__simd64_float32_t __a, __simd64_float32_t __b, float __c); -__simd64_float32_t __builtin_neon_vmlsv2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); -__simd64_float32_t __builtin_neon_vmulfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vmul_lanev2sf (__simd64_float32_t __a, __simd64_float32_t __b, const int __c); -__simd64_float32_t __builtin_neon_vmul_nv2sf (__simd64_float32_t __a, float __b); -__simd64_float32_t __builtin_neon_vnegv2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vpaddv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vpmaxfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vpminfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vrecpev2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrecpsv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vrintav2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrintmv2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrintnv2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrintpv2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrintxv2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrintzv2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrsqrtev2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrsqrtsv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vset_lanev2sf (float __a, __simd64_float32_t __b, const int __c); -void __builtin_neon_vst1_lanev2sf(float*, __simd64_float32_t, int); -void __builtin_neon_vst1v2sf(float*, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vsubv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_int16_t __builtin_neon_vabasv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vabauv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vabdsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vabduv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vabsv4hi(__simd64_int16_t); -__simd64_int16_t __builtin_neon_vbslv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vcagev4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vcagtv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vcalev4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vcaltv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vceqv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vceqv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vceqzv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcgeuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vcgev4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vcgev4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vcgezv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcgtuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vcgtv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vcgtv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vcgtzv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vclev4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vclezv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vclsv4hi(__simd64_int16_t); -__simd64_int16_t __builtin_neon_vcltv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vcltzv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vclzv4hi(__simd64_int16_t); -__simd64_int16_t __builtin_neon_vcvtasv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtauv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtmsv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtmuv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtnsv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtnuv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtpsv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtpuv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvts_nv4hf(__simd64_float16_t, int); -__simd64_int16_t __builtin_neon_vcvtsv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtu_nv4hf(__simd64_float16_t, int); -__simd64_int16_t __builtin_neon_vcvtuv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vdup_lanev4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vextv4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vget_highv8hi(__simd128_int16_t); -__simd64_int16_t __builtin_neon_vget_lowv8hi(__simd128_int16_t); -__simd64_int16_t __builtin_neon_vhaddsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vhadduv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vhsubsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vhsubuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vld1_lanev4hi(const short int*, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vmaxsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vmaxuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vminsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vminuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vmla_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vmla_nv4hi(__simd64_int16_t, __simd64_int16_t, short int); -__simd64_int16_t __builtin_neon_vmlav4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vmls_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vmls_nv4hi(__simd64_int16_t, __simd64_int16_t, short int); -__simd64_int16_t __builtin_neon_vmlsv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vmul_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vmul_nv4hi(__simd64_int16_t, short int); -__simd64_int16_t __builtin_neon_vmvnv4hi(__simd64_int16_t); -__simd64_int16_t __builtin_neon_vnegv4hi(__simd64_int16_t); -__simd64_int16_t __builtin_neon_vpadalsv8qi(__simd64_int16_t, __simd64_int8_t); -__simd64_int16_t __builtin_neon_vpadaluv8qi(__simd64_int16_t, __simd64_int8_t); -__simd64_int16_t __builtin_neon_vpaddlsv8qi(__simd64_int8_t); -__simd64_int16_t __builtin_neon_vpaddluv8qi(__simd64_int8_t); -__simd64_int16_t __builtin_neon_vpaddv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vpmaxsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vpmaxuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vpminsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vpminuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqabsv4hi(__simd64_int16_t); -__simd64_int16_t __builtin_neon_vqaddsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqadduv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqdmulh_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vqdmulh_nv4hi(__simd64_int16_t, short int); -__simd64_int16_t __builtin_neon_vqdmulhv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqnegv4hi(__simd64_int16_t); -__simd64_int16_t __builtin_neon_vqrdmlah_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vqrdmlahv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqrdmlsh_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vqrdmlshv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqrdmulh_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vqrdmulh_nv4hi(__simd64_int16_t, short int); -__simd64_int16_t __builtin_neon_vqrdmulhv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqrshlsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqrshluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqshl_s_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vqshlsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqshl_u_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vqshlu_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vqshluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqsubsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqsubuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vrhaddsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vrhadduv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vrshlsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vrshluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vrshrs_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vrshru_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vrsras_nv4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vrsrau_nv4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vset_lanev4hi(short int, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vshl_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vshlsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vshluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vshrs_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vshru_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vsli_nv4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vsras_nv4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vsrau_nv4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vsri_nv4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vtstv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int32_t __builtin_neon_sdot_lanev8qi(__simd64_int32_t, __simd64_int8_t, __simd64_int8_t, int); -__simd64_int32_t __builtin_neon_sdotv8qi(__simd64_int32_t, __simd64_int8_t, __simd64_int8_t); -__simd64_int32_t __builtin_neon_vabasv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); -__simd64_int32_t __builtin_neon_vabauv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); -__simd64_int32_t __builtin_neon_vabdsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vabduv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vabsv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vaddhnv2di(__simd128_int64_t, __simd128_int64_t); -__simd64_int32_t __builtin_neon_vaddhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd64_int32_t __builtin_neon_vbslv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); -__simd64_int32_t __builtin_neon_vcagev2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_int32_t __builtin_neon_vcagtv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_int32_t __builtin_neon_vceqv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_int32_t __builtin_neon_vceqv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vcgeuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vcgev2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_int32_t __builtin_neon_vcgev2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vcgtuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vcgtv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_int32_t __builtin_neon_vcgtv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vclsv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vclzv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vcreatev2si (__builtin_neon_di __a); -__simd64_int16_t __builtin_neon_vcreatev4hi(long long int); -__simd64_int8_t __builtin_neon_vcreatev8qi(long long int); -__simd64_int32_t __builtin_neon_vcvts_nv2sf (__simd64_float32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vcvtsv2sf (__simd64_float32_t __a); -__simd64_int32_t __builtin_neon_vcvtu_nv2sf (__simd64_float32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vcvtuv2sf (__simd64_float32_t __a); -__simd64_int32_t __builtin_neon_vdup_lanev2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vdup_nv2si (__builtin_neon_si __a); -__simd64_int16_t __builtin_neon_vdup_nv4hi (__builtin_neon_hi __a); -__simd64_int8_t __builtin_neon_vdup_nv8qi(signed char); -__simd64_int32_t __builtin_neon_vextv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vget_highv4si (__simd128_int32_t __a); -__simd64_int32_t __builtin_neon_vget_lowv4si (__simd128_int32_t __a); -__simd64_int32_t __builtin_neon_vhaddsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vhadduv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vhsubsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vhsubuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vld1_dupv2si (const __builtin_neon_si * __a); -__simd64_int16_t __builtin_neon_vld1_dupv4hi(const short int*); -__simd64_int8_t __builtin_neon_vld1_dupv8qi(const signed char*); -__simd64_int32_t __builtin_neon_vld1_lanev2si (const int * __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vld1v2si (const __builtin_neon_si * __a); -__simd64_int16_t __builtin_neon_vld1v4hi(const short int*); -__simd64_int8_t __builtin_neon_vld1v8qi(const signed char*); -__simd64_int32_t __builtin_neon_vmaxsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vmaxuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vminsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vminuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vmla_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c, const int __d); -__simd64_int32_t __builtin_neon_vmla_nv2si (__simd64_int32_t __a, __simd64_int32_t __a, int __c); -__simd64_int32_t __builtin_neon_vmlav2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); -__simd64_int32_t __builtin_neon_vmls_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c, const int __d); -__simd64_int32_t __builtin_neon_vmls_nv2si (__simd64_int32_t __a, __simd64_int32_t __a, int __c); -__simd64_int32_t __builtin_neon_vmlsv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); -__simd64_int32_t __builtin_neon_vmovnv2di(__simd128_int64_t); -__simd64_int32_t __builtin_neon_vmovnv4si (__simd128_int32_t __a); -__simd64_int32_t __builtin_neon_vmul_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vmul_nv2si (__simd64_int32_t __a, int __b); -__simd64_int32_t __builtin_neon_vmvnv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vnegv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vpadalsv4hi(__simd64_int32_t, __simd64_int16_t); -__simd64_int32_t __builtin_neon_vpadaluv4hi(__simd64_int32_t, __simd64_int16_t); -__simd64_int32_t __builtin_neon_vpaddlsv4hi(__simd64_int16_t); -__simd64_int32_t __builtin_neon_vpaddluv4hi(__simd64_int16_t); -__simd64_int32_t __builtin_neon_vpaddv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vpmaxsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vpmaxuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vpminsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vpminuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqabsv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vqaddsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqadduv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqdmulh_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vqdmulh_nv2si (__simd64_int32_t __a, int __b); -__simd64_int32_t __builtin_neon_vqdmulhv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqmovnsv2di(__simd128_int64_t); -__simd64_int32_t __builtin_neon_vqmovnsv4si (__simd128_int32_t __a); -__simd64_int32_t __builtin_neon_vqmovnuv2di(__simd128_int64_t); -__simd64_int32_t __builtin_neon_vqmovnuv4si (__simd128_int32_t __a); -__simd64_int32_t __builtin_neon_vqmovunv2di(__simd128_int64_t); -__simd64_int32_t __builtin_neon_vqmovunv4si (__simd128_int32_t __a); -__simd64_int32_t __builtin_neon_vqnegv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vqrdmlah_lanev2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t, int); -__simd64_int32_t __builtin_neon_vqrdmlahv2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t); -__simd64_int32_t __builtin_neon_vqrdmlsh_lanev2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t, int); -__simd64_int32_t __builtin_neon_vqrdmlshv2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t); -__simd64_int32_t __builtin_neon_vqrdmulh_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vqrdmulh_nv2si (__simd64_int32_t __a, int __b); -__simd64_int32_t __builtin_neon_vqrdmulhv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqrshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqrshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqrshrns_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vqrshrns_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqrshrnu_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vqrshrnu_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqrshrun_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vqrshrun_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqshl_s_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqshl_u_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqshlu_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqshrns_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vqshrns_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqshrnu_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vqshrnu_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqshrun_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vqshrun_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqsubsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqsubuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vraddhnv2di(__simd128_int64_t, __simd128_int64_t); -__simd64_int32_t __builtin_neon_vraddhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd64_int32_t __builtin_neon_vrecpev2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2sfdi (int __a); -__simd64_int32_t __builtin_neon_vreinterpretv2sfv2sf (__simd64_float32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2sfv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2sfv4hi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2sfv8qi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2sidi (int __a); -__simd64_int32_t __builtin_neon_vreinterpretv2siv2sf (__simd64_float32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2siv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2siv4hi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2siv8qi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv4hidi (int __a); -__simd64_int32_t __builtin_neon_vreinterpretv4hiv2sf (__simd64_float32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv4hiv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv4hiv4hi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv4hiv8qi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv8qidi (int __a); -__simd64_int32_t __builtin_neon_vreinterpretv8qiv2sf (__simd64_float32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv8qiv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv8qiv4hi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv8qiv8qi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vrhaddsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vrhadduv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vrshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vrshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vrshrn_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vrshrn_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vrshrs_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vrshru_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vrsqrtev2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vrsras_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vrsrau_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vrsubhnv2di(__simd128_int64_t, __simd128_int64_t); -__simd64_int32_t __builtin_neon_vrsubhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd64_int32_t __builtin_neon_vset_lanev2si (int __a, __simd64_int32_t __a, const int __c); -__simd64_int32_t __builtin_neon_vshl_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vshrn_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vshrn_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vshrs_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vshru_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vsli_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vsras_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vsrau_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vsri_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -void __builtin_neon_vst1di(long long int*, long long int); -void __builtin_neon_vst1_lanev2si(int*, __simd64_int32_t, int); -void __builtin_neon_vst1v2si(int*, __simd64_int32_t); -__simd64_int32_t __builtin_neon_vsubhnv2di(__simd128_int64_t, __simd128_int64_t); -__simd64_int32_t __builtin_neon_vsubhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd64_int32_t __builtin_neon_vtstv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int8_t __builtin_neon_vabasv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vabauv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vabdsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vabduv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vabsv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vaddhnv8hi(__simd128_int16_t, __simd128_int16_t); -__simd64_int8_t __builtin_neon_vbslv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vceqv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vcgeuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vcgev8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vcgtuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vcgtv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vclsv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vclzv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vcntv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vdup_lanev8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vextv8qi(__simd64_int8_t, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vget_highv16qi(__simd128_int8_t); -__simd64_int8_t __builtin_neon_vget_lowv16qi(__simd128_int8_t); -__simd64_int8_t __builtin_neon_vhaddsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vhadduv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vhsubsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vhsubuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vld1_lanev8qi(const signed char*, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vmaxsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vmaxuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vminsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vminuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vmlav8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vmlsv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vmovnv8hi(__simd128_int16_t); -__simd64_int8_t __builtin_neon_vmulpv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vmvnv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vnegv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vpaddv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vpmaxsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vpmaxuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vpminsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vpminuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqabsv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vqaddsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqadduv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqmovnsv8hi(__simd128_int16_t); -__simd64_int8_t __builtin_neon_vqmovnuv8hi(__simd128_int16_t); -__simd64_int8_t __builtin_neon_vqmovunv8hi(__simd128_int16_t); -__simd64_int8_t __builtin_neon_vqnegv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vqrshlsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqrshluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqrshrns_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vqrshrnu_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vqrshrun_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vqshl_s_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vqshlsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqshl_u_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vqshlu_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vqshluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqshrns_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vqshrnu_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vqshrun_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vqsubsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqsubuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vraddhnv8hi(__simd128_int16_t, __simd128_int16_t); -__simd64_int8_t __builtin_neon_vrhaddsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vrhadduv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vrshlsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vrshluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vrshrn_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vrshrs_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vrshru_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vrsras_nv8qi(__simd64_int8_t, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vrsrau_nv8qi(__simd64_int8_t, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vrsubhnv8hi(__simd128_int16_t, __simd128_int16_t); -__simd64_int8_t __builtin_neon_vset_lanev8qi(signed char, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vshl_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vshlsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vshluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vshrn_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vshrs_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vshru_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vsli_nv8qi(__simd64_int8_t, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vsras_nv8qi(__simd64_int8_t, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vsrau_nv8qi(__simd64_int8_t, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vsri_nv8qi(__simd64_int8_t, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vsubhnv8hi(__simd128_int16_t, __simd128_int16_t); -__simd64_int8_t __builtin_neon_vtbl1v8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtbl2v8qi(__builtin_neon_ti, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtbl3v8qi(__builtin_neon_ei, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtbl4v8qi(__builtin_neon_oi, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtbx1v8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtbx2v8qi(__simd64_int8_t, __builtin_neon_ti, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtbx3v8qi(__simd64_int8_t, __builtin_neon_ei, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtbx4v8qi(__simd64_int8_t, __builtin_neon_oi, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtstv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_uint32_t __builtin_neon_udot_lanev8qi_uuuus(__simd64_uint32_t, __simd64_uint8_t, __simd64_uint8_t, int); -__simd64_uint32_t __builtin_neon_udotv8qi_uuuu(__simd64_uint32_t, __simd64_uint8_t, __simd64_uint8_t); -unsigned int __builtin_neon_vget_laneuv2si (__simd64_int32_t __a, const int __b); -unsigned int __builtin_neon_vget_laneuv4si (__simd128_int32_t __a, const int __b); -unsigned int __builtin_neon_vpadaluv2si (int __a, __simd64_int32_t __b); -unsigned int __builtin_neon_vpaddluv2si (__simd64_int32_t __a); -unsigned int __builtin_neon_vqaddudi (int __a, int __b); -unsigned int __builtin_neon_vqrshludi (int __a, int __b); -unsigned int __builtin_neon_vqshludi (int __a, int __b); -unsigned int __builtin_neon_vqshl_u_ndi (int __a, const int __b); -unsigned int __builtin_neon_vqshlu_ndi (int __a, const int __b); -unsigned int __builtin_neon_vrshludi (int __a, int __b); -unsigned int __builtin_neon_vrshru_ndi (int __a, const int __b); -unsigned int __builtin_neon_vrsrau_ndi (int __a, int __b, const int __c); -unsigned int __builtin_neon_vshludi (int __a, int __b); -unsigned int __builtin_neon_vshru_ndi (int __a, const int __b); -unsigned int __builtin_neon_vsrau_ndi (int __a, int __b, const int __c); -void __builtin_neon_vst1_lanev16qi(signed char*, __simd128_int8_t, int); -void __builtin_neon_vst1_lanev2di(long long int*, __simd128_int64_t, int); -void __builtin_neon_vst1_lanev4hf(cov_fp16_t*, __simd64_float16_t, int); -void __builtin_neon_vst1_lanev4hi(short int*, __simd64_int16_t, int); -void __builtin_neon_vst1_lanev8hf(cov_fp16_t*, __simd128_float16_t, int); -void __builtin_neon_vst1_lanev8hi(short int*, __simd128_int16_t, int); -void __builtin_neon_vst1_lanev8qi(signed char*, __simd64_int8_t, int); -void __builtin_neon_vst1v16qi(signed char*, __simd128_int8_t); -void __builtin_neon_vst1v2di(long long int*, __simd128_int64_t); -void __builtin_neon_vst1v4hf(cov_fp16_t*, __simd64_float16_t); -void __builtin_neon_vst1v4hi(short int*, __simd64_int16_t); -void __builtin_neon_vst1v8hf(cov_fp16_t*, __simd128_float16_t); -void __builtin_neon_vst1v8hi(short int*, __simd128_int16_t); -void __builtin_neon_vst1v8qi(signed char*, __simd64_int8_t); -void __builtin_neon_vst2_lanev4hf(cov_fp16_t*, __builtin_neon_ti, int); -void __builtin_neon_vst2_lanev8hf(cov_fp16_t*, __builtin_neon_oi, int); -void __builtin_neon_vst2v4hf(cov_fp16_t*, __builtin_neon_ti); -void __builtin_neon_vst2v8hf(cov_fp16_t*, __builtin_neon_oi); -void __builtin_neon_vst3_lanev4hf(cov_fp16_t*, __builtin_neon_ei, int); -void __builtin_neon_vst3_lanev8hf(cov_fp16_t*, __builtin_neon_ci, int); -void __builtin_neon_vst3v4hf(cov_fp16_t*, __builtin_neon_ei); -void __builtin_neon_vst3v8hf(cov_fp16_t*, __builtin_neon_ci); -void __builtin_neon_vst4_lanev4hf(cov_fp16_t*, __builtin_neon_oi, int); -void __builtin_neon_vst4_lanev8hf(cov_fp16_t*, __builtin_neon_xi, int); -void __builtin_neon_vst4v4hf(cov_fp16_t*, __builtin_neon_oi); -void __builtin_neon_vst4v8hf(cov_fp16_t*, __builtin_neon_xi); - -// -mfpu=vfpv2 -mfloat-abi=hard -mfpu=neon -__simd128_uint64_t __builtin_neon_bswapv2di_uu(__simd128_uint64_t); -__simd64_uint32_t __builtin_neon_bswapv2si_uu(__simd64_uint32_t); -__simd64_uint16_t __builtin_neon_bswapv4hi_uu(__simd64_uint16_t); -__simd128_uint32_t __builtin_neon_bswapv4si_uu(__simd128_uint32_t); -__simd128_uint16_t __builtin_neon_bswapv8hi_uu(__simd128_uint16_t); -__simd64_float32_t __builtin_neon_copysignfv2sf(__simd64_float32_t); -__simd128_float32_t __builtin_neon_copysignfv4sf(__simd128_float32_t); -__simd128_int32_t __builtin_neon_smmlav16qi(__simd128_int32_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_neon_sudot_lanev16qi_sssus(__simd128_int32_t, __simd128_int8_t, __simd64_uint8_t, int); -__simd64_int32_t __builtin_neon_sudot_lanev8qi_sssus(__simd64_int32_t, __simd64_int8_t, __simd64_uint8_t, int); -__simd128_uint32_t __builtin_neon_ummlav16qi_uuuu(__simd128_uint32_t, __simd128_uint8_t, __simd128_uint8_t); -__simd128_int32_t __builtin_neon_usdot_lanev16qi_ssuss(__simd128_int32_t, __simd128_uint8_t, __simd64_int8_t, int); -__simd64_int32_t __builtin_neon_usdot_lanev8qi_ssuss(__simd64_int32_t, __simd64_uint8_t, __simd64_int8_t, int); -__simd64_int32_t __builtin_neon_usdotv8qi_ssus(__simd64_int32_t, __simd64_uint8_t, __simd64_int8_t); -__simd128_int32_t __builtin_neon_usmmlav16qi_ssus(__simd128_int32_t, __simd128_uint8_t, __simd128_int8_t); -float __builtin_neon_vbfcvtbf(__bf16); -__simd128_float32_t __builtin_neon_vbfcvt_highv8bf(__simd128_bfloat16_t); -__bf16 __builtin_neon_vbfcvtsf(float); -__simd128_float32_t __builtin_neon_vbfcvtv4bf(__simd64_bfloat16_t); -__simd128_bfloat16_t __builtin_neon_vbfcvtv4sf_highv8bf(__simd128_bfloat16_t, __simd128_float32_t); -__simd64_bfloat16_t __builtin_neon_vbfcvtv4sfv4bf(__simd128_float32_t); -__simd128_bfloat16_t __builtin_neon_vbfcvtv4sfv8bf(__simd128_float32_t); -__simd128_float32_t __builtin_neon_vbfcvtv8bf(__simd128_bfloat16_t); -__simd64_float32_t __builtin_neon_vbfdot_lanev4bfv2sf(__simd64_float32_t, __simd64_bfloat16_t, __simd64_bfloat16_t, int); -__simd128_float32_t __builtin_neon_vbfdot_lanev4bfv4sf(__simd128_float32_t, __simd128_bfloat16_t, __simd64_bfloat16_t, int); -__simd64_float32_t __builtin_neon_vbfdot_lanev8bfv2sf(__simd64_float32_t, __simd64_bfloat16_t, __simd128_bfloat16_t, int); -__simd128_float32_t __builtin_neon_vbfdot_lanev8bfv4sf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t, int); -__simd64_float32_t __builtin_neon_vbfdotv2sf(__simd64_float32_t, __simd64_bfloat16_t, __simd64_bfloat16_t); -__simd128_float32_t __builtin_neon_vbfdotv4sf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); -__simd64_float32_t __builtin_neon_vcadd270v2sf(__simd64_float32_t, __simd64_float32_t); -__simd64_float16_t __builtin_neon_vcadd270v4hf(__simd64_float16_t, __simd64_float16_t); -__simd128_float32_t __builtin_neon_vcadd270v4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_neon_vcadd270v8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_bfloat16_t __builtin_neon_vcombinev4bf(__simd64_bfloat16_t, __simd64_bfloat16_t); -__simd64_int32_t __builtin_neon_vcvtauv2sfv2si(__simd64_float32_t); -__simd128_int32_t __builtin_neon_vcvtauv4sfv4si(__simd128_float32_t); -__simd64_int32_t __builtin_neon_vcvtav2sfv2si(__simd64_float32_t); -__simd128_int32_t __builtin_neon_vcvtav4sfv4si(__simd128_float32_t); -__simd64_int32_t __builtin_neon_vcvtmuv2sfv2si(__simd64_float32_t); -__simd128_int32_t __builtin_neon_vcvtmuv4sfv4si(__simd128_float32_t); -__simd64_int32_t __builtin_neon_vcvtmv2sfv2si(__simd64_float32_t); -__simd128_int32_t __builtin_neon_vcvtmv4sfv4si(__simd128_float32_t); -__simd64_int32_t __builtin_neon_vcvtpuv2sfv2si(__simd64_float32_t); -__simd128_int32_t __builtin_neon_vcvtpuv4sfv4si(__simd128_float32_t); -__simd64_int32_t __builtin_neon_vcvtpv2sfv2si(__simd64_float32_t); -__simd128_int32_t __builtin_neon_vcvtpv4sfv4si(__simd128_float32_t); -__simd64_bfloat16_t __builtin_neon_vdup_lanev4bf(__simd64_bfloat16_t, int); -__simd128_bfloat16_t __builtin_neon_vdup_lanev8bf(__simd64_bfloat16_t, int); -__simd64_bfloat16_t __builtin_neon_vdup_nv4bf(__bf16); -__simd128_bfloat16_t __builtin_neon_vdup_nv8bf(__bf16); -__simd128_float32_t __builtin_neon_vfmab_laneqv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t, int); -__simd128_float32_t __builtin_neon_vfmab_lanev8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd64_bfloat16_t, int); -__simd128_float32_t __builtin_neon_vfmabv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); -__simd128_float32_t __builtin_neon_vfmat_laneqv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t, int); -__simd128_float32_t __builtin_neon_vfmat_lanev8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd64_bfloat16_t, int); -__simd128_float32_t __builtin_neon_vfmatv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); -__simd64_bfloat16_t __builtin_neon_vget_highv8bf(__simd128_bfloat16_t); -__simd64_bfloat16_t __builtin_neon_vget_lowv8bf(__simd128_bfloat16_t); -__builtin_neon_ti __builtin_neon_vld2_dupv4bf(const __bf16*); -__builtin_neon_oi __builtin_neon_vld2_dupv8bf(const __bf16*); -__builtin_neon_ti __builtin_neon_vld2v4bf(const __bf16*); -__builtin_neon_oi __builtin_neon_vld2v8bf(const __bf16*); -__builtin_neon_ei __builtin_neon_vld3_dupv4bf(const __bf16*); -__builtin_neon_ci __builtin_neon_vld3_dupv8bf(const __bf16*); -__builtin_neon_ei __builtin_neon_vld3v4bf(const __bf16*); -__builtin_neon_ci __builtin_neon_vld3v8bf(const __bf16*); -__builtin_neon_oi __builtin_neon_vld4_dupv4bf(const __bf16*); -__builtin_neon_xi __builtin_neon_vld4_dupv8bf(const __bf16*); -__builtin_neon_oi __builtin_neon_vld4v4bf(const __bf16*); -__builtin_neon_xi __builtin_neon_vld4v8bf(const __bf16*); -__simd128_float32_t __builtin_neon_vmmlav8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); -__simd128_int64_t __builtin_neon_vmullpv2si(__simd64_int32_t, __simd64_int32_t); -__simd128_int32_t __builtin_neon_vmullpv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int8_t __builtin_neon_vrev16v16qi(__simd128_int8_t); -__simd64_int8_t __builtin_neon_vrev16v8qi(__simd64_int8_t); -__simd128_int8_t __builtin_neon_vrev32v16qi(__simd128_int8_t); -__simd64_int16_t __builtin_neon_vrev32v4hi(__simd64_int16_t); -__simd128_int16_t __builtin_neon_vrev32v8hi(__simd128_int16_t); -__simd64_int8_t __builtin_neon_vrev32v8qi(__simd64_int8_t); -__simd128_int8_t __builtin_neon_vrev64v16qi(__simd128_int8_t); -__simd64_float32_t __builtin_neon_vrev64v2sf(__simd64_float32_t); -__simd64_int32_t __builtin_neon_vrev64v2si(__simd64_int32_t); -__simd64_int16_t __builtin_neon_vrev64v4hi(__simd64_int16_t); -__simd128_float32_t __builtin_neon_vrev64v4sf(__simd128_float32_t); -__simd128_int32_t __builtin_neon_vrev64v4si(__simd128_int32_t); -__simd128_int16_t __builtin_neon_vrev64v8hi(__simd128_int16_t); -__simd64_int8_t __builtin_neon_vrev64v8qi(__simd64_int8_t); -void __builtin_neon_vst2v4bf(__bf16*, __builtin_neon_ti); -void __builtin_neon_vst2v8bf(__bf16*, __builtin_neon_oi); -void __builtin_neon_vst3v4bf(__bf16*, __builtin_neon_ei); -void __builtin_neon_vst3v8bf(__bf16*, __builtin_neon_ci); -void __builtin_neon_vst4v4bf(__bf16*, __builtin_neon_oi); -void __builtin_neon_vst4v8bf(__bf16*, __builtin_neon_xi); - -#endif // __ARM_NEON__ - -/* aarch64 support */ -#ifdef __aarch64__ -typedef int __builtin_aarch64_simd_qi __attribute__((mode(QI))); -typedef int __builtin_aarch64_simd_hi __attribute__((mode(HI))); -typedef int __builtin_aarch64_simd_si __attribute__((mode(SI))); -typedef int __builtin_aarch64_simd_di __attribute__((mode(DI))); -typedef float __builtin_aarch64_simd_bf __attribute__((mode(BF))); -typedef int __builtin_aarch64_simd_poly8 __attribute__((mode(QI))); -typedef int __builtin_aarch64_simd_poly16 __attribute__((mode(HI))); -typedef int __builtin_aarch64_simd_poly64 __attribute__ ((mode (DI))); -typedef unsigned int __builtin_aarch64_simd_poly128 __attribute__ ((mode (TI))); -typedef float __builtin_aarch64_simd_df __attribute__ ((mode (DF))); -typedef float __builtin_aarch64_simd_sf __attribute__ ((mode (SF))); -typedef unsigned int __builtin_aarch64_simd_udi __attribute__((mode(DI))); -typedef unsigned int __builtin_aarch64_simd_uqi __attribute__((mode(QI))); -typedef unsigned int __builtin_aarch64_simd_uhi __attribute__((mode(HI))); -typedef unsigned int __builtin_aarch64_simd_usi __attribute__((mode(SI))); -typedef float __builtin_aarch64_simd_hf __attribute__((mode(HF))); -typedef __builtin_aarch64_simd_hf __fp16; -typedef int __Poly64_t __attribute__((mode(DI))); -typedef __coverity_decimal long long __Poly64x1_t __attribute__((vector_size (8))); -typedef int __Poly128_t __attribute__((mode(TI))); - -unsigned int __builtin_aarch64_get_fpcr(); -void __builtin_aarch64_set_fpcr(unsigned int); -unsigned int __builtin_aarch64_get_fpsr(); -void __builtin_aarch64_set_fpsr(unsigned int); -//CMPCPP-6477 -typedef char __Int8x8_t __attribute__ ((vector_size (8))); -typedef short __Int16x4_t __attribute__ ((vector_size (8))); -typedef int __Int32x2_t __attribute__ ((vector_size (8))); -typedef long __Int64x1_t __attribute__((vector_size (8))); -typedef __coverity_float __fp16 __Float16x4_t __attribute__((vector_size (8))); -typedef float __Float32x2_t __attribute__((vector_size (8))); -typedef __coverity_decimal unsigned char __Poly8x8_t __attribute__((vector_size (8))); -typedef __coverity_decimal short __Poly16x4_t __attribute__((vector_size (8))); -typedef unsigned char __Uint8x8_t __attribute__((vector_size (8))); -typedef unsigned short __Uint16x4_t __attribute__((vector_size (8))); -typedef unsigned int __Uint32x2_t __attribute__((vector_size (8))); -typedef double __Float64x1_t __attribute__((vector_size (8))); -typedef unsigned long __Uint64x1_t __attribute__((vector_size (8))); -typedef char __Int8x16_t __attribute__((vector_size (16))); -typedef short __Int16x8_t __attribute__((vector_size (16))); -typedef int __Int32x4_t __attribute__((vector_size (16))); -typedef long __Int64x2_t __attribute__((vector_size (16))); -typedef __coverity_float __fp16 __Float16x8_t __attribute__((vector_size (16))); -typedef __coverity_float __bf16 __Bfloat16x8_t __attribute__((vector_size (16))); -typedef __coverity_float __bf16 __Bfloat16x4_t __attribute__((vector_size (8))); -typedef float __Float32x4_t __attribute__((vector_size (16))); -typedef double __Float64x2_t __attribute__((vector_size (16))); -typedef __coverity_decimal unsigned char __Poly8x16_t __attribute__((vector_size (16))); -typedef __coverity_decimal unsigned short __Poly16x8_t __attribute__((vector_size (16))); -typedef __coverity_decimal long __Poly64x2_t __attribute__((vector_size (16))); -typedef unsigned char __Uint8x16_t __attribute__((vector_size (16))); -typedef unsigned short __Uint16x8_t __attribute__((vector_size (16))); -typedef unsigned int __Uint32x4_t __attribute__((vector_size (16))); -typedef unsigned long __Uint64x2_t __attribute__((vector_size (16))); -typedef unsigned char __Poly8_t; -typedef unsigned short __Poly16_t; - -typedef int __builtin_aarch64_simd_oi __attribute__((mode(OI))); -typedef int __builtin_aarch64_simd_ci __attribute__((mode(CI))); -typedef int __builtin_aarch64_simd_xi __attribute__((mode(XI))); - -__Int8x8_t __builtin_aarch64_tbl3v8qi(__builtin_aarch64_simd_oi, __Int8x8_t); -__Float32x2_t __builtin_aarch64_absv2sf(__Float32x2_t); -__Int8x8_t __builtin_aarch64_absv8qi(__Int8x8_t); -__Int16x4_t __builtin_aarch64_absv4hi(__Int16x4_t); -__Int32x2_t __builtin_aarch64_absv2si(__Int32x2_t); -int __builtin_aarch64_absdi(int); -__Float32x4_t __builtin_aarch64_absv4sf(__Float32x4_t); -__Float64x2_t __builtin_aarch64_absv2df(__Float64x2_t); -__Int8x16_t __builtin_aarch64_absv16qi(__Int8x16_t); -int __builtin_aarch64_im_lane_boundsi(int, int, int); -__Int64x1_t __builtin_aarch64_get_dregoidi(__builtin_aarch64_simd_oi, int); -float __builtin_aarch64_get_dregoidf(__builtin_aarch64_simd_oi, int); -__Int8x8_t __builtin_aarch64_get_dregoiv8qi(__builtin_aarch64_simd_oi, int); -__Int16x4_t __builtin_aarch64_get_dregoiv4hi(__builtin_aarch64_simd_oi, int); -__Int32x2_t __builtin_aarch64_get_dregoiv2si(__builtin_aarch64_simd_oi, int); -__Float16x4_t __builtin_aarch64_get_dregoiv4hf(__builtin_aarch64_simd_oi, int); -__Float32x2_t __builtin_aarch64_get_dregoiv2sf(__builtin_aarch64_simd_oi, int); -__Int8x16_t __builtin_aarch64_get_qregoiv16qi(__builtin_aarch64_simd_oi, const int); -__Int16x8_t __builtin_aarch64_get_qregoiv8hi(__builtin_aarch64_simd_oi, const int); -__Int32x4_t __builtin_aarch64_get_qregoiv4si(__builtin_aarch64_simd_oi, const int); -__Int64x2_t __builtin_aarch64_get_qregoiv2di(__builtin_aarch64_simd_oi, const int); -__Float16x8_t __builtin_aarch64_get_qregoiv8hf(__builtin_aarch64_simd_oi, const int); -__Float32x4_t __builtin_aarch64_get_qregoiv4sf(__builtin_aarch64_simd_oi, const int); -__Float64x2_t __builtin_aarch64_get_qregoiv2df(__builtin_aarch64_simd_oi, const int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv8hf(__builtin_aarch64_simd_oi, __Float16x8_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv4sf(__builtin_aarch64_simd_oi, __Float32x4_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv2df(__builtin_aarch64_simd_oi, __Float64x2_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv16qi(__builtin_aarch64_simd_oi, __Int8x16_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv8hi(__builtin_aarch64_simd_oi, __Int16x8_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv4si(__builtin_aarch64_simd_oi, __Int32x4_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv2di(__builtin_aarch64_simd_oi, __Int64x2_t, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3di(const __builtin_aarch64_simd_di*); -__Int64x1_t __builtin_aarch64_get_dregcidi(__builtin_aarch64_simd_ci, int); -float __builtin_aarch64_get_dregcidf(__builtin_aarch64_simd_ci, int); -__Int8x8_t __builtin_aarch64_get_dregciv8qi(__builtin_aarch64_simd_ci, int); -__Int16x4_t __builtin_aarch64_get_dregciv4hi(__builtin_aarch64_simd_ci, int); -__Int32x2_t __builtin_aarch64_get_dregciv2si(__builtin_aarch64_simd_ci, int); -__Float16x4_t __builtin_aarch64_get_dregciv4hf(__builtin_aarch64_simd_ci, int); -__Float32x2_t __builtin_aarch64_get_dregciv2sf(__builtin_aarch64_simd_ci, int); -__Int8x16_t __builtin_aarch64_get_qregciv16qi(__builtin_aarch64_simd_ci, const int); -__Int16x8_t __builtin_aarch64_get_qregciv8hi(__builtin_aarch64_simd_ci, const int); -__Int32x4_t __builtin_aarch64_get_qregciv4si(__builtin_aarch64_simd_ci, const int); -__Int64x2_t __builtin_aarch64_get_qregciv2di(__builtin_aarch64_simd_ci, const int); -__Float16x8_t __builtin_aarch64_get_qregciv8hf(__builtin_aarch64_simd_ci, const int); -__Float32x4_t __builtin_aarch64_get_qregciv4sf(__builtin_aarch64_simd_ci, const int); -__Float64x2_t __builtin_aarch64_get_qregciv2df(__builtin_aarch64_simd_ci, const int); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv8hf(__builtin_aarch64_simd_ci, __Float16x8_t, int); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv4sf(__builtin_aarch64_simd_ci, __Float32x4_t, int); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv2df(__builtin_aarch64_simd_ci, __Float64x2_t, int); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv16qi(__builtin_aarch64_simd_ci, __Int8x16_t, int); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv8hi(__builtin_aarch64_simd_ci, __Int16x8_t, int); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv4si(__builtin_aarch64_simd_ci, __Int32x4_t, int); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv2di(__builtin_aarch64_simd_ci, __Int64x2_t, int); -__Int64x1_t __builtin_aarch64_get_dregxidi(__builtin_aarch64_simd_xi, int); -float __builtin_aarch64_get_dregxidf(__builtin_aarch64_simd_xi, int); -__Int8x8_t __builtin_aarch64_get_dregxiv8qi(__builtin_aarch64_simd_xi, int); -__Int16x4_t __builtin_aarch64_get_dregxiv4hi(__builtin_aarch64_simd_xi, int); -__Int32x2_t __builtin_aarch64_get_dregxiv2si(__builtin_aarch64_simd_xi, int); -__Float16x4_t __builtin_aarch64_get_dregxiv4hf(__builtin_aarch64_simd_xi, int); -__Float32x2_t __builtin_aarch64_get_dregxiv2sf(__builtin_aarch64_simd_xi, int); -__Int8x16_t __builtin_aarch64_get_qregxiv16qi(__builtin_aarch64_simd_xi, const int); -__Int16x8_t __builtin_aarch64_get_qregxiv8hi(__builtin_aarch64_simd_xi, const int); -__Int32x4_t __builtin_aarch64_get_qregxiv4si(__builtin_aarch64_simd_xi, const int); -__Int64x2_t __builtin_aarch64_get_qregxiv2di(__builtin_aarch64_simd_xi, const int); -__Float16x8_t __builtin_aarch64_get_qregxiv8hf(__builtin_aarch64_simd_xi, const int); -__Float32x4_t __builtin_aarch64_get_qregxiv4sf(__builtin_aarch64_simd_xi, const int); -__Float64x2_t __builtin_aarch64_get_qregxiv2df(__builtin_aarch64_simd_xi, const int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv8hf(__builtin_aarch64_simd_xi, __Float16x8_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv4sf(__builtin_aarch64_simd_xi, __Float32x4_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv2df(__builtin_aarch64_simd_xi, __Float64x2_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv16qi(__builtin_aarch64_simd_xi, __Int8x16_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv8hi(__builtin_aarch64_simd_xi, __Int16x8_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv4si(__builtin_aarch64_simd_xi, __Int32x4_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv2di(__builtin_aarch64_simd_xi, __Int64x2_t, int); -__Int32x4_t __builtin_aarch64_saddlv4hi(__Int16x4_t, __Int16x4_t); -__Int16x8_t __builtin_aarch64_saddlv8qi(__Int8x8_t, __Int8x8_t); -__Uint16x8_t __builtin_aarch64_uaddlv8qi(__Int8x8_t, __Int8x8_t); -__Int16x8_t __builtin_aarch64_saddl2v16qi(__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_uaddl2v16qi(__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_saddwv8qi(__Int16x8_t, __Int8x8_t); -__Uint16x8_t __builtin_aarch64_uaddwv8qi(__Int16x8_t, __Int8x8_t); -__Int16x8_t __builtin_aarch64_saddw2v16qi(__Int16x8_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_uaddw2v16qi(__Int16x8_t, __Int8x16_t); -__Int8x8_t __builtin_aarch64_shaddv8qi(__Int8x8_t, __Int8x8_t); -__Uint8x8_t __builtin_aarch64_uhaddv8qi(__Int8x8_t, __Int8x8_t); -__Int8x16_t __builtin_aarch64_shaddv16qi(__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_shaddv8hi(__Int16x8_t, __Int16x8_t); -__Uint8x16_t __builtin_aarch64_uhaddv16qi(__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_uhaddv8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_srhaddv8qi(__Int8x8_t, __Int8x8_t); -__Uint8x8_t __builtin_aarch64_urhaddv8qi(__Int8x8_t, __Int8x8_t); -__Int8x16_t __builtin_aarch64_srhaddv16qi(__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_srhaddv8hi(__Int16x8_t, __Int16x8_t); -__Uint8x16_t __builtin_aarch64_urhaddv16qi(__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_urhaddv8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_addhnv8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_raddhnv8hi(__Int16x8_t, __Int16x8_t); -__Int8x16_t __builtin_aarch64_addhn2v8hi(__Int8x8_t, __Int16x8_t, __Int16x8_t); -__Int16x8_t __builtin_aarch64_addhn2v4si(__Int16x4_t, __Int32x4_t, __Int32x4_t); -__Int8x16_t __builtin_aarch64_raddhn2v8hi(__Int8x8_t, __Int16x8_t, __Int16x8_t); -__Int16x8_t __builtin_aarch64_raddhn2v4si(__Int16x4_t, __Int32x4_t, __Int32x4_t); -__Poly8x8_t __builtin_aarch64_pmulv8qi(__Int8x8_t, __Int8x8_t); -__Poly8x16_t __builtin_aarch64_pmulv16qi(__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_ssublv8qi(__Int8x8_t, __Int8x8_t); -__Uint16x8_t __builtin_aarch64_usublv8qi(__Int8x8_t, __Int8x8_t); -__Float32x2_t __builtin_aarch64_smax_nanpv2sf(__Float32x2_t, __Float32x2_t); -__Int64x2_t __builtin_aarch64_saddlv2si(__Int32x2_t, __Int32x2_t); -__Uint32x4_t __builtin_aarch64_uaddlv4hi (__Int16x4_t, __Int16x4_t); -__Uint64x2_t __builtin_aarch64_uaddlv2si (__Int32x2_t, __Int32x2_t); -__Int32x4_t __builtin_aarch64_saddl2v8hi (__Int16x8_t, __Int16x8_t); -__Int64x2_t __builtin_aarch64_saddl2v4si (__Int32x4_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_uaddl2v8hi (__Int16x8_t, __Int16x8_t); -__Uint64x2_t __builtin_aarch64_uaddl2v4si (__Int32x4_t, __Int32x4_t); -__Int32x4_t __builtin_aarch64_saddwv4hi (__Int32x4_t, __Int16x4_t); -__Int64x2_t __builtin_aarch64_saddwv2si (__Int64x2_t, __Int32x2_t); -__Uint32x4_t __builtin_aarch64_uaddwv4hi (__Int32x4_t, __Int16x4_t); -__Uint64x2_t __builtin_aarch64_uaddwv2si (__Int64x2_t, __Int32x2_t); -__Int32x4_t __builtin_aarch64_saddw2v8hi (__Int32x4_t, __Int16x8_t); -__Int64x2_t __builtin_aarch64_saddw2v4si (__Int64x2_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_uaddw2v8hi (__Int32x4_t, __Int16x8_t); -__Uint64x2_t __builtin_aarch64_uaddw2v4si (__Int64x2_t, __Int32x4_t); -__Int16x4_t __builtin_aarch64_shaddv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_shaddv2si (__Int32x2_t, __Int32x2_t); -__Uint16x4_t __builtin_aarch64_uhaddv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_uhaddv2si (__Int32x2_t, __Int32x2_t); -__Int32x4_t __builtin_aarch64_shaddv4si (__Int32x4_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_uhaddv4si (__Int32x4_t, __Int32x4_t); -__Int16x4_t __builtin_aarch64_srhaddv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_srhaddv2si (__Int32x2_t, __Int32x2_t); -__Uint16x4_t __builtin_aarch64_urhaddv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_urhaddv2si (__Int32x2_t, __Int32x2_t); -__Int32x4_t __builtin_aarch64_srhaddv4si (__Int32x4_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_urhaddv4si (__Int32x4_t, __Int32x4_t); -__Int16x4_t __builtin_aarch64_addhnv4si (__Int32x4_t, __Int32x4_t); -__Int32x2_t __builtin_aarch64_addhnv2di (__Int64x2_t, __Int64x2_t); -__Uint32x2_t __builtin_aarch64_addhnv2di (__Int64x2_t, __Int64x2_t); -__Int16x4_t __builtin_aarch64_raddhnv4si (__Int32x4_t, __Int32x4_t); -__Int32x2_t __builtin_aarch64_raddhnv2di (__Int64x2_t, __Int64x2_t); -__Uint16x4_t __builtin_aarch64_raddhnv4si (__Int32x4_t, __Int32x4_t); -__Uint32x2_t __builtin_aarch64_raddhnv2di (__Int64x2_t, __Int64x2_t); -__Int32x4_t __builtin_aarch64_addhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Uint32x4_t __builtin_aarch64_addhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Int32x4_t __builtin_aarch64_raddhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Uint32x4_t __builtin_aarch64_raddhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Int32x4_t __builtin_aarch64_ssublv4hi (__Int16x4_t, __Int16x4_t); -__Int64x2_t __builtin_aarch64_ssublv2si (__Int32x2_t, __Int32x2_t); -__Uint32x4_t __builtin_aarch64_usublv4hi (__Int16x4_t, __Int16x4_t); -__Uint64x2_t __builtin_aarch64_usublv2si (__Int32x2_t, __Int32x2_t); -__Int16x8_t __builtin_aarch64_ssubl2v16qi (__Int8x16_t, __Int8x16_t); -__Int32x4_t __builtin_aarch64_ssubl2v8hi (__Int16x8_t, __Int16x8_t); -__Int64x2_t __builtin_aarch64_ssubl2v4si (__Int32x4_t, __Int32x4_t); -__Uint16x8_t __builtin_aarch64_usubl2v16qi (__Int8x16_t, __Int8x16_t); -__Uint32x4_t __builtin_aarch64_usubl2v8hi (__Int16x8_t, __Int16x8_t); -__Uint64x2_t __builtin_aarch64_usubl2v4si (__Int32x4_t, __Int32x4_t); -__Int16x8_t __builtin_aarch64_ssubwv8qi (__Int16x8_t, __Int8x8_t); -__Int32x4_t __builtin_aarch64_ssubwv4hi (__Int32x4_t, __Int16x4_t); -__Int64x2_t __builtin_aarch64_ssubwv2si (__Int64x2_t, __Int32x2_t); -__Uint16x8_t __builtin_aarch64_usubwv8qi (__Int16x8_t, __Int8x8_t); -__Uint32x4_t __builtin_aarch64_usubwv4hi (__Int32x4_t, __Int16x4_t); -__Uint64x2_t __builtin_aarch64_usubwv2si (__Int64x2_t, __Int32x2_t); -__Int16x8_t __builtin_aarch64_ssubw2v16qi (__Int16x8_t, __Int8x16_t); -__Int32x4_t __builtin_aarch64_ssubw2v8hi (__Int32x4_t, __Int16x8_t); -__Int64x2_t __builtin_aarch64_ssubw2v4si (__Int64x2_t, __Int32x4_t); -__Uint16x8_t __builtin_aarch64_usubw2v16qi (__Int16x8_t, __Int8x16_t); -__Uint32x4_t __builtin_aarch64_usubw2v8hi (__Int32x4_t, __Int16x8_t); -__Uint64x2_t __builtin_aarch64_usubw2v4si (__Int64x2_t, __Int32x4_t); -__Int8x8_t __builtin_aarch64_sqaddv8qi (__Int8x8_t, __Int8x8_t); -__Int16x4_t __builtin_aarch64_sqaddv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_sqaddv2si (__Int32x2_t, __Int32x2_t); -__Int8x8_t __builtin_aarch64_shsubv8qi (__Int8x8_t, __Int8x8_t); -__Int16x4_t __builtin_aarch64_shsubv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_shsubv2si (__Int32x2_t, __Int32x2_t); -__Uint8x8_t __builtin_aarch64_uhsubv8qi (__Int8x8_t, __Int8x8_t); -__Uint16x4_t __builtin_aarch64_uhsubv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_uhsubv2si (__Int32x2_t, __Int32x2_t); -__Int8x16_t __builtin_aarch64_shsubv16qi (__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_shsubv8hi (__Int16x8_t, __Int16x8_t); -__Int32x4_t __builtin_aarch64_shsubv4si (__Int32x4_t, __Int32x4_t); -__Uint8x16_t __builtin_aarch64_uhsubv16qi (__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_uhsubv8hi (__Int16x8_t, __Int16x8_t); -__Uint32x4_t __builtin_aarch64_uhsubv4si (__Int32x4_t, __Int32x4_t); -__Int8x8_t __builtin_aarch64_subhnv8hi (__Int16x8_t, __Int16x8_t); -__Int16x4_t __builtin_aarch64_subhnv4si (__Int32x4_t, __Int32x4_t); -__Int32x2_t __builtin_aarch64_subhnv2di (__Int64x2_t, __Int64x2_t); -__Uint8x8_t __builtin_aarch64_subhnv8hi (__Int16x8_t, __Int16x8_t); -__Uint16x4_t __builtin_aarch64_subhnv4si (__Int32x4_t, __Int32x4_t); -__Uint32x2_t __builtin_aarch64_subhnv2di (__Int64x2_t, __Int64x2_t); -__Int8x8_t __builtin_aarch64_rsubhnv8hi (__Int16x8_t, __Int16x8_t); -__Int16x4_t __builtin_aarch64_rsubhnv4si (__Int32x4_t, __Int32x4_t); -__Int32x2_t __builtin_aarch64_rsubhnv2di (__Int64x2_t, __Int64x2_t); -__Uint8x8_t __builtin_aarch64_rsubhnv8hi (__Int16x8_t, __Int16x8_t); -__Uint16x4_t __builtin_aarch64_rsubhnv4si (__Int32x4_t, __Int32x4_t); -__Uint32x2_t __builtin_aarch64_rsubhnv2di (__Int64x2_t, __Int64x2_t); -__Int8x16_t __builtin_aarch64_rsubhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); -__Int16x8_t __builtin_aarch64_rsubhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); -__Int32x4_t __builtin_aarch64_rsubhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Uint8x16_t __builtin_aarch64_rsubhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); -__Uint16x8_t __builtin_aarch64_rsubhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_rsubhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Int8x16_t __builtin_aarch64_subhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); -__Int16x8_t __builtin_aarch64_subhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); -__Int32x4_t __builtin_aarch64_subhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Uint8x16_t __builtin_aarch64_subhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); -__Uint16x8_t __builtin_aarch64_subhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_subhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Int8x16_t __builtin_aarch64_sqaddv16qi (__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_sqaddv8hi (__Int16x8_t, __Int16x8_t); -__Int32x4_t __builtin_aarch64_sqaddv4si (__Int32x4_t, __Int32x4_t); -__Int64x2_t __builtin_aarch64_sqaddv2di (__Int64x2_t, __Int64x2_t); -__Int8x8_t __builtin_aarch64_sqsubv8qi (__Int8x8_t, __Int8x8_t); -__Int16x4_t __builtin_aarch64_sqsubv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_sqsubv2si (__Int32x2_t, __Int32x2_t); -__Int8x16_t __builtin_aarch64_sqsubv16qi (__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_sqsubv8hi (__Int16x8_t, __Int16x8_t); -__Int32x4_t __builtin_aarch64_sqsubv4si (__Int32x4_t, __Int32x4_t); -__Int64x2_t __builtin_aarch64_sqsubv2di (__Int64x2_t, __Int64x2_t); -__Int8x8_t __builtin_aarch64_sqnegv8qi (__Int8x8_t); -__Int16x4_t __builtin_aarch64_sqnegv4hi (__Int16x4_t); -__Int32x2_t __builtin_aarch64_sqnegv2si (__Int32x2_t); -__Int8x16_t __builtin_aarch64_sqnegv16qi (__Int8x16_t); -__Int16x8_t __builtin_aarch64_sqnegv8hi (__Int16x8_t); -__Int32x4_t __builtin_aarch64_sqnegv4si (__Int32x4_t); -__Int8x8_t __builtin_aarch64_sqabsv8qi (__Int8x8_t); -__Int16x4_t __builtin_aarch64_sqabsv4hi (__Int16x4_t); -__Int32x2_t __builtin_aarch64_sqabsv2si (__Int32x2_t); -__Int8x16_t __builtin_aarch64_sqabsv16qi (__Int8x16_t); -__Int16x8_t __builtin_aarch64_sqabsv8hi (__Int16x8_t); -__Int32x4_t __builtin_aarch64_sqabsv4si (__Int32x4_t); -__Int16x4_t __builtin_aarch64_sqdmulhv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_sqdmulhv2si (__Int32x2_t, __Int32x2_t); -__Int16x8_t __builtin_aarch64_sqdmulhv8hi (__Int16x8_t, __Int16x8_t); -__Int32x4_t __builtin_aarch64_sqdmulhv4si (__Int32x4_t, __Int32x4_t); -__Int16x4_t __builtin_aarch64_sqrdmulhv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_sqrdmulhv2si (__Int32x2_t, __Int32x2_t); -__Int16x8_t __builtin_aarch64_sqrdmulhv8hi (__Int16x8_t, __Int16x8_t); -__Int32x4_t __builtin_aarch64_sqrdmulhv4si (__Int32x4_t, __Int32x4_t); -__Int8x16_t __builtin_aarch64_combinev8qi (__Int8x8_t, __Int8x8_t); -__Int16x8_t __builtin_aarch64_combinev4hi (__Int16x4_t, __Int16x4_t); -__Int32x4_t __builtin_aarch64_combinev2si (__Int32x2_t, __Int32x2_t); -__Float32x4_t __builtin_aarch64_combinev2sf (__Float32x2_t, __Float32x2_t); -__Uint8x16_t __builtin_aarch64_combinev8qi (__Int8x8_t, __Int8x8_t); -__Uint16x8_t __builtin_aarch64_combinev4hi (__Int16x4_t, __Int16x4_t); -__Uint32x4_t __builtin_aarch64_combinev2si (__Int32x2_t, __Int32x2_t); -__Poly8x16_t __builtin_aarch64_combinev8qi (__Int8x8_t, __Int8x8_t); -__Poly16x8_t __builtin_aarch64_combinev4hi (__Int16x4_t, __Int16x4_t); -__Uint8x8_t __builtin_aarch64_clzv8qi (__Int8x8_t); -__Uint16x4_t __builtin_aarch64_clzv4hi (__Int16x4_t); -__Uint32x2_t __builtin_aarch64_clzv2si (__Int32x2_t); -__Uint8x16_t __builtin_aarch64_clzv16qi (__Int8x16_t); -__Uint16x8_t __builtin_aarch64_clzv8hi (__Int16x8_t); -__Uint32x4_t __builtin_aarch64_clzv4si (__Int32x4_t); -__Poly8x8_t __builtin_aarch64_popcountv8qi (__Int8x8_t); -__Uint8x8_t __builtin_aarch64_popcountv8qi (__Int8x8_t); -__Poly8x16_t __builtin_aarch64_popcountv16qi (__Int8x16_t); -__Uint8x16_t __builtin_aarch64_popcountv16qi (__Int8x16_t); -__Uint8x8_t __builtin_aarch64_umaxv8qi (__Int8x8_t, __Int8x8_t); -__Uint16x4_t __builtin_aarch64_umaxv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_umaxv2si (__Int32x2_t, __Int32x2_t); -__Uint8x16_t __builtin_aarch64_umaxv16qi (__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_umaxv8hi (__Int16x8_t, __Int16x8_t); -__Uint32x4_t __builtin_aarch64_umaxv4si (__Int32x4_t, __Int32x4_t); -__Uint8x8_t __builtin_aarch64_umaxpv8qi (__Int8x8_t, __Int8x8_t); -__Uint16x4_t __builtin_aarch64_umaxpv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_umaxpv2si (__Int32x2_t, __Int32x2_t); -__Uint8x16_t __builtin_aarch64_umaxpv16qi (__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_umaxpv8hi (__Int16x8_t, __Int16x8_t); -__Uint32x4_t __builtin_aarch64_umaxpv4si (__Int32x4_t, __Int32x4_t); -__Uint8x8_t __builtin_aarch64_uminpv8qi (__Int8x8_t, __Int8x8_t); -__Uint16x4_t __builtin_aarch64_uminpv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_uminpv2si (__Int32x2_t, __Int32x2_t); -__Uint8x16_t __builtin_aarch64_uminpv16qi (__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_uminpv8hi (__Int16x8_t, __Int16x8_t); -__Uint32x4_t __builtin_aarch64_uminpv4si (__Int32x4_t, __Int32x4_t); -__Uint8x8_t __builtin_aarch64_uminv8qi (__Int8x8_t, __Int8x8_t); -__Uint16x4_t __builtin_aarch64_uminv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_uminv2si (__Int32x2_t, __Int32x2_t); -__Uint8x16_t __builtin_aarch64_uminv16qi (__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_uminv8hi (__Int16x8_t, __Int16x8_t); -__Uint32x4_t __builtin_aarch64_uminv4si (__Int32x4_t, __Int32x4_t); -__Uint8x8_t __builtin_aarch64_addpv8qi (__Int8x8_t, __Int8x8_t); -__Uint16x4_t __builtin_aarch64_addpv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_addpv2si (__Int32x2_t, __Int32x2_t); -__Int64x2_t __builtin_aarch64_sqabsv2di (__Int64x2_t); -__Int8x8_t __builtin_aarch64_sqmovnv8hi (__Int16x8_t); -__Int16x4_t __builtin_aarch64_sqmovnv4si (__Int32x4_t); -__Int32x2_t __builtin_aarch64_sqmovnv2di (__Int64x2_t); -__Uint8x8_t __builtin_aarch64_uqmovnv8hi (__Int16x8_t); -__Uint16x4_t __builtin_aarch64_uqmovnv4si (__Int32x4_t); -__Uint32x2_t __builtin_aarch64_uqmovnv2di (__Int64x2_t); -__Uint8x8_t __builtin_aarch64_sqmovunv8hi (__Int16x8_t); -__Uint16x4_t __builtin_aarch64_sqmovunv4si (__Int32x4_t); -__Uint32x2_t __builtin_aarch64_sqmovunv2di (__Int64x2_t); -__Int64x2_t __builtin_aarch64_sqnegv2di (__Int64x2_t); -__Int8x8_t __builtin_aarch64_sqrshrn_nv8hi (__Int16x8_t, const int); -__Int16x4_t __builtin_aarch64_sqrshrn_nv4si (__Int32x4_t, const int); -__Int32x2_t __builtin_aarch64_sqrshrn_nv2di (__Int64x2_t, const int); -__Uint8x8_t __builtin_aarch64_sqrshrun_nv8hi (__Int16x8_t, const int); -__Uint16x4_t __builtin_aarch64_sqrshrun_nv4si (__Int32x4_t, const int); -__Uint32x2_t __builtin_aarch64_sqrshrun_nv2di (__Int64x2_t, const int); -__Int8x8_t __builtin_aarch64_sqshl_nv8qi (__Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_sqshl_nv4hi (__Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_sqshl_nv2si (__Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_sqshl_nv16qi (__Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_sqshl_nv8hi (__Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_sqshl_nv4si (__Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_sqshl_nv2di (__Int64x2_t, const int); -__Int8x8_t __builtin_aarch64_sqshrn_nv8hi (__Int16x8_t, const int); -__Int16x4_t __builtin_aarch64_sqshrn_nv4si (__Int32x4_t, const int); -__Int32x2_t __builtin_aarch64_sqshrn_nv2di (__Int64x2_t, const int); -__Uint8x8_t __builtin_aarch64_sqshrun_nv8hi (__Int16x8_t, const int); -__Uint16x4_t __builtin_aarch64_sqshrun_nv4si (__Int32x4_t, const int); -__Uint32x2_t __builtin_aarch64_sqshrun_nv2di (__Int64x2_t, const int); -__Poly8x8_t __builtin_aarch64_rbitv8qi (__Int8x8_t); -__Uint8x8_t __builtin_aarch64_rbitv8qi (__Int8x8_t); -__Poly8x16_t __builtin_aarch64_rbitv16qi (__Int8x16_t); -__Uint8x16_t __builtin_aarch64_rbitv16qi (__Int8x16_t); -__Uint32x2_t __builtin_aarch64_urecpev2si (__Int32x2_t); -__Uint32x4_t __builtin_aarch64_urecpev4si (__Int32x4_t); -__Int8x8_t __builtin_aarch64_srshlv8qi (__Int8x8_t, __Int8x8_t); -__Int16x4_t __builtin_aarch64_srshlv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_srshlv2si (__Int32x2_t, __Int32x2_t); -__Int8x16_t __builtin_aarch64_srshlv16qi (__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_srshlv8hi (__Int16x8_t, __Int16x8_t); -__Int32x4_t __builtin_aarch64_srshlv4si (__Int32x4_t, __Int32x4_t); -__Int64x2_t __builtin_aarch64_srshlv2di (__Int64x2_t, __Int64x2_t); -__Int8x8_t __builtin_aarch64_srshr_nv8qi (__Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_srshr_nv4hi (__Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_srshr_nv2si (__Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_srshr_nv16qi (__Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_srshr_nv8hi (__Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_srshr_nv4si (__Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_srshr_nv2di (__Int64x2_t, const int); -__Int8x8_t __builtin_aarch64_srsra_nv8qi (__Int8x8_t, __Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_srsra_nv4hi (__Int16x4_t, __Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_srsra_nv2si (__Int32x2_t, __Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_srsra_nv16qi (__Int8x16_t, __Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_srsra_nv8hi (__Int16x8_t, __Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_srsra_nv4si (__Int32x4_t, __Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_srsra_nv2di (__Int64x2_t, __Int64x2_t, const int); -__Int8x8_t __builtin_aarch64_ashlv8qi (__Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_ashlv4hi (__Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_ashlv2si (__Int32x2_t, const int); -__Uint8x8_t __builtin_aarch64_ashlv8qi (__Int8x8_t, const int); -__Uint16x4_t __builtin_aarch64_ashlv4hi (__Int16x4_t, const int); -__Uint32x2_t __builtin_aarch64_ashlv2si (__Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_ashlv16qi (__Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_ashlv8hi (__Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_ashlv4si (__Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_ashlv2di (__Int64x2_t, const int); -__Uint8x16_t __builtin_aarch64_ashlv16qi (__Int8x16_t, const int); -__Uint16x8_t __builtin_aarch64_ashlv8hi (__Int16x8_t, const int); -__Uint32x4_t __builtin_aarch64_ashlv4si (__Int32x4_t, const int); -__Uint64x2_t __builtin_aarch64_ashlv2di (__Int64x2_t, const int); -__Uint16x8_t __builtin_aarch64_ushll2_nv16qi (__Int8x16_t, const int); -__Uint32x4_t __builtin_aarch64_ushll2_nv8hi (__Int16x8_t, const int); -__Uint64x2_t __builtin_aarch64_ushll2_nv4si (__Int32x4_t, const int); -__Int8x8_t __builtin_aarch64_ashrv8qi (__Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_ashrv4hi (__Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_ashrv2si (__Int32x2_t, const int); -__Uint8x8_t __builtin_aarch64_lshrv8qi (__Int8x8_t, const int); -__Uint16x4_t __builtin_aarch64_lshrv4hi (__Int16x4_t, const int); -__Uint32x2_t __builtin_aarch64_lshrv2si (__Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_ashrv16qi (__Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_ashrv8hi (__Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_ashrv4si (__Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_ashrv2di (__Int64x2_t, const int); -__Uint8x16_t __builtin_aarch64_lshrv16qi (__Int8x16_t, const int); -__Uint16x8_t __builtin_aarch64_lshrv8hi (__Int16x8_t, const int); -__Int8x8_t __builtin_aarch64_ssli_nv8qi (__Int8x8_t, __Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_ssli_nv4hi (__Int16x4_t, __Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_ssli_nv2si (__Int32x2_t, __Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_ssli_nv16qi (__Int8x16_t, __Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_ssli_nv8hi (__Int16x8_t, __Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_ssli_nv4si (__Int32x4_t, __Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_ssli_nv2di (__Int64x2_t, __Int64x2_t, const int); -__Int8x8_t __builtin_aarch64_ssra_nv8qi (__Int8x8_t, __Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_ssra_nv4hi (__Int16x4_t, __Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_ssra_nv2si (__Int32x2_t, __Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_ssra_nv16qi (__Int8x16_t, __Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_ssra_nv8hi (__Int16x8_t, __Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_ssra_nv4si (__Int32x4_t, __Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_ssra_nv2di (__Int64x2_t, __Int64x2_t, const int); -__Int8x8_t __builtin_aarch64_ssri_nv8qi (__Int8x8_t, __Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_ssri_nv4hi (__Int16x4_t, __Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_ssri_nv2si (__Int32x2_t, __Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_ssri_nv16qi (__Int8x16_t, __Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_ssri_nv8hi (__Int16x8_t, __Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_ssri_nv4si (__Int32x4_t, __Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_ssri_nv2di (__Int64x2_t, __Int64x2_t, const int); -__Uint8x8_t __builtin_aarch64_uqaddv8qi_uuu (__Uint8x8_t, __Uint8x8_t); -__Uint32x2_t __builtin_aarch64_uqaddv2si_uuu (__Uint32x2_t, __Uint32x2_t); -__Uint8x16_t __builtin_aarch64_uqaddv16qi_uuu (__Uint8x16_t, __Uint8x16_t); -__Uint16x8_t __builtin_aarch64_uqaddv8hi_uuu (__Uint16x8_t, __Uint16x8_t); -__Uint32x4_t __builtin_aarch64_uqaddv4si_uuu (__Uint32x4_t, __Uint32x4_t); -__Uint64x2_t __builtin_aarch64_uqaddv2di_uuu (__Uint64x2_t, __Uint64x2_t); -__Uint8x8_t __builtin_aarch64_uqsubv8qi_uuu (__Uint8x8_t, __Uint8x8_t); -__Uint16x4_t __builtin_aarch64_uqsubv4hi_uuu (__Uint16x4_t, __Uint16x4_t); -__Uint32x2_t __builtin_aarch64_uqsubv2si_uuu (__Uint32x2_t, __Uint32x2_t); -__Uint8x16_t __builtin_aarch64_uqsubv16qi_uuu (__Uint8x16_t, __Uint8x16_t); -__Uint16x8_t __builtin_aarch64_uqsubv8hi_uuu (__Uint16x8_t, __Uint16x8_t); -__Uint32x4_t __builtin_aarch64_uqsubv4si_uuu (__Uint32x4_t, __Uint32x4_t); -__Uint64x2_t __builtin_aarch64_uqsubv2di_uuu (__Uint64x2_t, __Uint64x2_t); -__Float16x8_t __builtin_aarch64_combinev4hf (__Float16x4_t, __Float16x4_t); -__Uint16x4_t __builtin_aarch64_uqaddv4hi_uuu(__Uint16x4_t, __Uint16x4_t); -__Int16x4_t __builtin_aarch64_sqdmulh_laneqv4hi(__Int16x4_t, __Int16x8_t, const int); -__Int32x2_t __builtin_aarch64_sqdmulh_laneqv2si(__Int32x2_t, __Int32x4_t, const int); -__Int16x8_t __builtin_aarch64_sqdmulh_laneqv8hi(__Int16x8_t, __Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_sqdmulh_laneqv4si(__Int32x4_t, __Int32x4_t, const int); -__Int16x4_t __builtin_aarch64_sqrdmulh_laneqv4hi(__Int16x4_t, __Int16x8_t, const int); -__Int32x2_t __builtin_aarch64_sqrdmulh_laneqv2si(__Int32x2_t, __Int32x4_t, const int); -__Int16x8_t __builtin_aarch64_sqrdmulh_laneqv8hi(__Int16x8_t, __Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_sqrdmulh_laneqv4si(__Int32x4_t, __Int32x4_t, const int); -__Uint16x4_t __builtin_aarch64_uqaddv4hi_uuu (__Uint16x4_t __a, __Uint16x4_t __b); -__Int64x2_t __builtin_aarch64_combinedi (long int, long int); -__Float64x2_t __builtin_aarch64_combinedf (float , float); -__Int16x4_t __builtin_aarch64_sqdmulh_laneqv4hi (__Int16x4_t __a, __Int16x8_t __b, const int __c); -__Int32x2_t __builtin_aarch64_sqdmulh_laneqv2si (__Int32x2_t __a, __Int32x4_t __b, const int __c); -__Int16x8_t __builtin_aarch64_sqdmulh_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, const int __c); -__Int32x4_t __builtin_aarch64_sqdmulh_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, const int __c); -__Int16x4_t __builtin_aarch64_sqrdmulh_laneqv4hi (__Int16x4_t __a, __Int16x8_t __b, const int __c); -__Int32x2_t __builtin_aarch64_sqrdmulh_laneqv2si (__Int32x2_t __a, __Int32x4_t __b, const int __c); -__Int16x8_t __builtin_aarch64_sqrdmulh_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, const int __c); -__Int32x4_t __builtin_aarch64_sqrdmulh_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, const int __c); -__Int8x8_t __builtin_aarch64_absv8qi (__Int8x8_t __a); -__Int16x4_t __builtin_aarch64_absv4hi (__Int16x4_t __a); -__Int32x2_t __builtin_aarch64_absv2si (__Int32x2_t __a); -__Float32x4_t __builtin_aarch64_absv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_absv2df (__Float64x2_t __a); -__Int8x16_t __builtin_aarch64_absv16qi (__Int8x16_t __a); -__Int16x8_t __builtin_aarch64_absv8hi (__Int16x8_t __a); -__Int32x4_t __builtin_aarch64_absv4si (__Int32x4_t __a); -__Int64x2_t __builtin_aarch64_absv2di (__Int64x2_t __a); -__Float32x2_t __builtin_aarch64_simd_bslv2sf_suss (__Uint32x2_t __a, __Float32x2_t __b, __Float32x2_t __c); -__Poly8x8_t __builtin_aarch64_simd_bslv8qi_pupp (__Uint8x8_t __a, __Poly8x8_t __b, __Poly8x8_t __c); -__Poly16x4_t __builtin_aarch64_simd_bslv4hi_pupp (__Uint16x4_t __a, __Poly16x4_t __b, __Poly16x4_t __c); -__Int8x8_t __builtin_aarch64_simd_bslv8qi_suss (__Uint8x8_t __a, __Int8x8_t __b, __Int8x8_t __c); -__Int16x4_t __builtin_aarch64_simd_bslv4hi_suss (__Uint16x4_t __a, __Int16x4_t __b, __Int16x4_t __c); -__Int32x2_t __builtin_aarch64_simd_bslv2si_suss (__Uint32x2_t __a, __Int32x2_t __b, __Int32x2_t __c); -__Uint8x8_t __builtin_aarch64_simd_bslv8qi_uuuu (__Uint8x8_t __a, __Uint8x8_t __b, __Uint8x8_t __c); -__Uint16x4_t __builtin_aarch64_simd_bslv4hi_uuuu (__Uint16x4_t __a, __Uint16x4_t __b, __Uint16x4_t __c); -__Uint32x2_t __builtin_aarch64_simd_bslv2si_uuuu (__Uint32x2_t __a, __Uint32x2_t __b, __Uint32x2_t __c); -__Float32x4_t __builtin_aarch64_simd_bslv4sf_suss (__Uint32x4_t __a, __Float32x4_t __b, __Float32x4_t __c); -__Float64x2_t __builtin_aarch64_simd_bslv2df_suss (__Uint64x2_t __a, __Float64x2_t __b, __Float64x2_t __c); -__Poly8x16_t __builtin_aarch64_simd_bslv16qi_pupp (__Uint8x16_t __a, __Poly8x16_t __b, __Poly8x16_t __c); -__Poly16x8_t __builtin_aarch64_simd_bslv8hi_pupp (__Uint16x8_t __a, __Poly16x8_t __b, __Poly16x8_t __c); -__Int8x16_t __builtin_aarch64_simd_bslv16qi_suss (__Uint8x16_t __a, __Int8x16_t __b, __Int8x16_t __c); -__Int16x8_t __builtin_aarch64_simd_bslv8hi_suss (__Uint16x8_t __a, __Int16x8_t __b, __Int16x8_t __c); -__Int32x4_t __builtin_aarch64_simd_bslv4si_suss (__Uint32x4_t __a, __Int32x4_t __b, __Int32x4_t __c); -__Int64x2_t __builtin_aarch64_simd_bslv2di_suss (__Uint64x2_t __a, __Int64x2_t __b, __Int64x2_t __c); -__Uint8x16_t __builtin_aarch64_simd_bslv16qi_uuuu (__Uint8x16_t __a, __Uint8x16_t __b, __Uint8x16_t __c); -__Uint16x8_t __builtin_aarch64_simd_bslv8hi_uuuu (__Uint16x8_t __a, __Uint16x8_t __b, __Uint16x8_t __c); -__Uint32x4_t __builtin_aarch64_simd_bslv4si_uuuu (__Uint32x4_t __a, __Uint32x4_t __b, __Uint32x4_t __c); -__Uint64x2_t __builtin_aarch64_simd_bslv2di_uuuu (__Uint64x2_t __a, __Uint64x2_t __b, __Uint64x2_t __c); -__Int16x4_t __builtin_aarch64_sqrdmlahv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c); -__Int32x2_t __builtin_aarch64_sqrdmlahv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c); -__Int16x8_t __builtin_aarch64_sqrdmlahv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c); -__Int32x4_t __builtin_aarch64_sqrdmlahv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c); -__Int16x4_t __builtin_aarch64_sqrdmlshv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c); -__Int32x2_t __builtin_aarch64_sqrdmlshv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c); -__Int16x8_t __builtin_aarch64_sqrdmlshv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c); -__Int32x4_t __builtin_aarch64_sqrdmlshv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c); -__Int16x4_t __builtin_aarch64_sqrdmlah_laneqv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x8_t __c, const int __d); -__Int32x2_t __builtin_aarch64_sqrdmlah_laneqv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x4_t __c, const int __d); -__Int16x8_t __builtin_aarch64_sqrdmlah_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c, const int __d); -__Int32x4_t __builtin_aarch64_sqrdmlah_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c, const int __d); -__Int16x4_t __builtin_aarch64_sqrdmlsh_laneqv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x8_t __c, const int __d); -__Int32x2_t __builtin_aarch64_sqrdmlsh_laneqv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x4_t __c, const int __d); -__Int16x8_t __builtin_aarch64_sqrdmlsh_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c, const int __d); -__Int32x4_t __builtin_aarch64_sqrdmlsh_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c, const int __d); -__Int16x4_t __builtin_aarch64_sqrdmlah_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c, const int __d); -__Int32x2_t __builtin_aarch64_sqrdmlah_lanev2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c, const int __d); -__Int16x8_t __builtin_aarch64_sqrdmlah_lanev8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x4_t __c, const int __d); -__Int32x4_t __builtin_aarch64_sqrdmlah_lanev4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x2_t __c, const int __d); -__Int16x4_t __builtin_aarch64_sqrdmlsh_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c, const int __d); -__Int32x2_t __builtin_aarch64_sqrdmlsh_lanev2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c, const int __d); -__Int16x8_t __builtin_aarch64_sqrdmlsh_lanev8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x4_t __c, const int __d); -__Int32x4_t __builtin_aarch64_sqrdmlsh_lanev4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x2_t __c, const int __d); -__Uint8x16_t __builtin_aarch64_crypto_aesev16qi_uuu (__Uint8x16_t data, __Uint8x16_t key); -__Uint8x16_t __builtin_aarch64_crypto_aesdv16qi_uuu (__Uint8x16_t data, __Uint8x16_t key); -__Uint8x16_t __builtin_aarch64_crypto_aesmcv16qi_uu (__Uint8x16_t data); -__Uint8x16_t __builtin_aarch64_crypto_aesimcv16qi_uu (__Uint8x16_t data); -__Int8x8_t __builtin_aarch64_clrsbv8qi (__Int8x8_t __a); -__Int16x4_t __builtin_aarch64_clrsbv4hi (__Int16x4_t __a); -__Int32x2_t __builtin_aarch64_clrsbv2si (__Int32x2_t __a); -__Int8x16_t __builtin_aarch64_clrsbv16qi (__Int8x16_t __a); -__Int16x8_t __builtin_aarch64_clrsbv8hi (__Int16x8_t __a); -__Int32x4_t __builtin_aarch64_clrsbv4si (__Int32x4_t __a); -__Int8x8_t __builtin_aarch64_clzv8qi (__Int8x8_t __a); -__Int16x4_t __builtin_aarch64_clzv4hi (__Int16x4_t __a); -__Int32x2_t __builtin_aarch64_clzv2si (__Int32x2_t __a); -__Int8x16_t __builtin_aarch64_clzv16qi (__Int8x16_t __a); -__Int16x8_t __builtin_aarch64_clzv8hi (__Int16x8_t __a); -__Int32x4_t __builtin_aarch64_clzv4si (__Int32x4_t __a); -__Int8x8_t __builtin_aarch64_popcountv8qi (__Int8x8_t __a); -__Int8x16_t __builtin_aarch64_popcountv16qi (__Int8x16_t __a); -__Float16x4_t __builtin_aarch64_float_truncate_lo_v4hf (__Float32x4_t __a); -__Float16x8_t __builtin_aarch64_float_truncate_hi_v8hf (__Float16x4_t __a, __Float32x4_t __b); -__Float32x2_t __builtin_aarch64_float_truncate_lo_v2sf (__Float64x2_t __a); -__Float32x4_t __builtin_aarch64_float_truncate_hi_v4sf (__Float32x2_t __a, __Float64x2_t __b); -__Float32x4_t __builtin_aarch64_float_extend_lo_v4sf (__Float16x4_t __a); -__Float64x2_t __builtin_aarch64_float_extend_lo_v2df (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_vec_unpacks_hi_v8hf (__Float16x8_t __a); -__Float64x2_t __builtin_aarch64_vec_unpacks_hi_v4sf (__Float32x4_t __a); -__Float32x2_t __builtin_aarch64_floatv2siv2sf (__Int32x2_t __a); -__Float32x2_t __builtin_aarch64_floatunsv2siv2sf (__Int32x2_t __a); -__Float32x4_t __builtin_aarch64_floatv4siv4sf (__Int32x4_t __a); -__Float32x4_t __builtin_aarch64_floatunsv4siv4sf (__Int32x4_t __a); -__Float64x2_t __builtin_aarch64_floatv2div2df (__Int64x2_t __a); -__Float64x2_t __builtin_aarch64_floatunsv2div2df (__Int64x2_t __a); -__Int32x2_t __builtin_aarch64_lbtruncv2sfv2si (__Float32x2_t __a); -__Uint32x2_t __builtin_aarch64_lbtruncuv2sfv2si_us (__Float32x2_t __a); -__Int32x4_t __builtin_aarch64_lbtruncv4sfv4si (__Float32x4_t __a); -__Uint32x4_t __builtin_aarch64_lbtruncuv4sfv4si_us (__Float32x4_t __a); -__Int64x2_t __builtin_aarch64_lbtruncv2dfv2di (__Float64x2_t __a); -__Uint64x2_t __builtin_aarch64_lbtruncuv2dfv2di_us (__Float64x2_t __a); -__Int32x2_t __builtin_aarch64_lroundv2sfv2si (__Float32x2_t __a); -__Uint32x2_t __builtin_aarch64_lrounduv2sfv2si_us (__Float32x2_t __a); -__Int32x4_t __builtin_aarch64_lroundv4sfv4si (__Float32x4_t __a); -__Uint32x4_t __builtin_aarch64_lrounduv4sfv4si_us (__Float32x4_t __a); -__Int64x2_t __builtin_aarch64_lroundv2dfv2di (__Float64x2_t __a); -__Uint64x2_t __builtin_aarch64_lrounduv2dfv2di_us (__Float64x2_t __a); -__Int32x2_t __builtin_aarch64_lfloorv2sfv2si (__Float32x2_t __a); -__Uint32x2_t __builtin_aarch64_lflooruv2sfv2si_us (__Float32x2_t __a); -__Int32x4_t __builtin_aarch64_lfloorv4sfv4si (__Float32x4_t __a); -__Uint32x4_t __builtin_aarch64_lflooruv4sfv4si_us (__Float32x4_t __a); -__Int64x2_t __builtin_aarch64_lfloorv2dfv2di (__Float64x2_t __a); -__Uint64x2_t __builtin_aarch64_lflooruv2dfv2di_us (__Float64x2_t __a); -__Int32x2_t __builtin_aarch64_lfrintnv2sfv2si (__Float32x2_t __a); -__Uint32x2_t __builtin_aarch64_lfrintnuv2sfv2si_us (__Float32x2_t __a); -__Int32x4_t __builtin_aarch64_lfrintnv4sfv4si (__Float32x4_t __a); -__Uint32x4_t __builtin_aarch64_lfrintnuv4sfv4si_us (__Float32x4_t __a); -__Int64x2_t __builtin_aarch64_lfrintnv2dfv2di (__Float64x2_t __a); -__Uint64x2_t __builtin_aarch64_lfrintnuv2dfv2di_us (__Float64x2_t __a); -__Int32x2_t __builtin_aarch64_lceilv2sfv2si (__Float32x2_t __a); -__Uint32x2_t __builtin_aarch64_lceiluv2sfv2si_us (__Float32x2_t __a); -__Int32x4_t __builtin_aarch64_lceilv4sfv4si (__Float32x4_t __a); -__Uint32x4_t __builtin_aarch64_lceiluv4sfv4si_us (__Float32x4_t __a); -__Int64x2_t __builtin_aarch64_lceilv2dfv2di (__Float64x2_t __a); -__Uint64x2_t __builtin_aarch64_lceiluv2dfv2di_us (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_fmav2sf (__Float32x2_t __a, __Float32x2_t __b, __Float32x2_t __c); -__Float32x4_t __builtin_aarch64_fmav4sf (__Float32x4_t __a, __Float32x4_t __b, __Float32x4_t __c); -__Float64x2_t __builtin_aarch64_fmav2df (__Float64x2_t __a, __Float64x2_t __b, __Float64x2_t __c); -__Float16x4_t __builtin_aarch64_ld1v4hf (const __fp16 *__a); -__Float32x2_t __builtin_aarch64_ld1v2sf (const __builtin_aarch64_simd_sf * a); -__Int8x8_t __builtin_aarch64_ld1v8qi (const __builtin_aarch64_simd_qi * a); -__Int16x4_t __builtin_aarch64_ld1v4hi (const __builtin_aarch64_simd_hi * a); -__Int32x2_t __builtin_aarch64_ld1v2si (const __builtin_aarch64_simd_si * a); -__Float16x8_t __builtin_aarch64_ld1v8hf (const __fp16 *__a); -__Float32x4_t __builtin_aarch64_ld1v4sf (const __builtin_aarch64_simd_sf * a); -__Float64x2_t __builtin_aarch64_ld1v2df (const __builtin_aarch64_simd_df * a); -__Int8x16_t __builtin_aarch64_ld1v16qi (const __builtin_aarch64_simd_qi * a); -__Int16x8_t __builtin_aarch64_ld1v8hi (const __builtin_aarch64_simd_hi * a); -__Int32x4_t __builtin_aarch64_ld1v4si (const __builtin_aarch64_simd_si * a); -__Int64x2_t __builtin_aarch64_ld1v2di (const __builtin_aarch64_simd_di * a); -__Float32x2_t __builtin_aarch64_smax_nanv2sf (__Float32x2_t __a, __Float32x2_t __b); -__Int8x8_t __builtin_aarch64_smaxv8qi (__Int8x8_t __a, __Int8x8_t __b); -__Int16x4_t __builtin_aarch64_smaxv4hi (__Int16x4_t __a, __Int16x4_t __b); -__Int32x2_t __builtin_aarch64_smaxv2si (__Int32x2_t __a, __Int32x2_t __b); -__Float32x4_t __builtin_aarch64_smax_nanv4sf (__Float32x4_t __a, __Float32x4_t __b); -__Float64x2_t __builtin_aarch64_smax_nanv2df (__Float64x2_t __a, __Float64x2_t __b); -__Int8x16_t __builtin_aarch64_smaxv16qi (__Int8x16_t __a, __Int8x16_t __b); -__Int16x8_t __builtin_aarch64_smaxv8hi (__Int16x8_t __a, __Int16x8_t __b); -__Int32x4_t __builtin_aarch64_smaxv4si (__Int32x4_t __a, __Int32x4_t __b); -__Int8x8_t __builtin_aarch64_smaxpv8qi (__Int8x8_t a, __Int8x8_t b); -__Int16x4_t __builtin_aarch64_smaxpv4hi (__Int16x4_t a, __Int16x4_t b); -__Int32x2_t __builtin_aarch64_smaxpv2si (__Int32x2_t a, __Int32x2_t b); -__Int8x16_t __builtin_aarch64_smaxpv16qi (__Int8x16_t a, __Int8x16_t b); -__Int16x8_t __builtin_aarch64_smaxpv8hi (__Int16x8_t a, __Int16x8_t b); -__Int32x4_t __builtin_aarch64_smaxpv4si (__Int32x4_t a, __Int32x4_t b); -__Float32x4_t __builtin_aarch64_smax_nanpv4sf (__Float32x4_t a, __Float32x4_t b); -__Float64x2_t __builtin_aarch64_smax_nanpv2df (__Float64x2_t a, __Float64x2_t b); -__Float32x2_t __builtin_aarch64_smaxpv2sf (__Float32x2_t a, __Float32x2_t b); -__Float32x4_t __builtin_aarch64_smaxpv4sf (__Float32x4_t a, __Float32x4_t b); -__Float64x2_t __builtin_aarch64_smaxpv2df (__Float64x2_t a, __Float64x2_t b); -__Int8x8_t __builtin_aarch64_sminpv8qi (__Int8x8_t a, __Int8x8_t b); -__Int16x4_t __builtin_aarch64_sminpv4hi (__Int16x4_t a, __Int16x4_t b); -__Int32x2_t __builtin_aarch64_sminpv2si (__Int32x2_t a, __Int32x2_t b); -__Int8x16_t __builtin_aarch64_sminpv16qi (__Int8x16_t a, __Int8x16_t b); -__Int16x8_t __builtin_aarch64_sminpv8hi (__Int16x8_t a, __Int16x8_t b); -__Int32x4_t __builtin_aarch64_sminpv4si (__Int32x4_t a, __Int32x4_t b); -__Float32x2_t __builtin_aarch64_smin_nanpv2sf (__Float32x2_t a, __Float32x2_t b); -__Float32x4_t __builtin_aarch64_smin_nanpv4sf (__Float32x4_t a, __Float32x4_t b); -__Float64x2_t __builtin_aarch64_smin_nanpv2df (__Float64x2_t a, __Float64x2_t b); -__Float32x2_t __builtin_aarch64_sminpv2sf (__Float32x2_t a, __Float32x2_t b); -__Float32x4_t __builtin_aarch64_sminpv4sf (__Float32x4_t a, __Float32x4_t b); -__Float64x2_t __builtin_aarch64_sminpv2df (__Float64x2_t a, __Float64x2_t b); -__Float32x2_t __builtin_aarch64_smaxv2sf (__Float32x2_t __a, __Float32x2_t __b); -__Float32x4_t __builtin_aarch64_smaxv4sf (__Float32x4_t __a, __Float32x4_t __b); -__Float64x2_t __builtin_aarch64_smaxv2df (__Float64x2_t __a, __Float64x2_t __b); -__Float32x2_t __builtin_aarch64_smin_nanv2sf (__Float32x2_t __a, __Float32x2_t __b); -__Int8x8_t __builtin_aarch64_sminv8qi (__Int8x8_t __a, __Int8x8_t __b); -__Int16x4_t __builtin_aarch64_sminv4hi (__Int16x4_t __a, __Int16x4_t __b); -__Int32x2_t __builtin_aarch64_sminv2si (__Int32x2_t __a, __Int32x2_t __b); -__Float32x4_t __builtin_aarch64_smin_nanv4sf (__Float32x4_t __a, __Float32x4_t __b); -__Float64x2_t __builtin_aarch64_smin_nanv2df (__Float64x2_t __a, __Float64x2_t __b); -__Int8x16_t __builtin_aarch64_sminv16qi (__Int8x16_t __a, __Int8x16_t __b); -__Int16x8_t __builtin_aarch64_sminv8hi (__Int16x8_t __a, __Int16x8_t __b); -__Int32x4_t __builtin_aarch64_sminv4si (__Int32x4_t __a, __Int32x4_t __b); -__Float32x2_t __builtin_aarch64_sminv2sf (__Float32x2_t __a, __Float32x2_t __b); -__Float32x4_t __builtin_aarch64_sminv4sf (__Float32x4_t __a, __Float32x4_t __b); -__Float64x2_t __builtin_aarch64_sminv2df (__Float64x2_t __a, __Float64x2_t __b); -__Int8x8_t __builtin_aarch64_addpv8qi (__Int8x8_t __a, __Int8x8_t __b); -__Int16x4_t __builtin_aarch64_addpv4hi (__Int16x4_t __a, __Int16x4_t __b); -__Int32x2_t __builtin_aarch64_addpv2si (__Int32x2_t __a, __Int32x2_t __b); -__Int32x4_t __builtin_aarch64_sqdmlalv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c); -__Int32x4_t __builtin_aarch64_sqdmlal2v8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c); -__Int32x4_t __builtin_aarch64_sqdmlal2_lanev8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x4_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlal2_laneqv8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlal2_nv8hi (__Int32x4_t __a, __Int16x8_t __b, short int __c); -__Int32x4_t __builtin_aarch64_sqdmlal_lanev4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlal_laneqv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x8_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlal_nv4hi (__Int32x4_t __a, __Int16x4_t __b, short int __c); -__Int64x2_t __builtin_aarch64_sqdmlalv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c); -__Int64x2_t __builtin_aarch64_sqdmlal2v4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c); -__Int64x2_t __builtin_aarch64_sqdmlal2_lanev4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x2_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlal2_laneqv4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlal2_nv4si (__Int64x2_t __a, __Int32x4_t __b, int __c); -__Int64x2_t __builtin_aarch64_sqdmlal_lanev2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlal_laneqv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x4_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlal_nv2si (__Int64x2_t __a, __Int32x2_t __b, int __c); -__Int32x4_t __builtin_aarch64_sqdmlslv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c); -__Int32x4_t __builtin_aarch64_sqdmlsl2v8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c); -__Int32x4_t __builtin_aarch64_sqdmlsl2_lanev8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x4_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlsl2_laneqv8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlsl2_nv8hi (__Int32x4_t __a, __Int16x8_t __b, short int __c); -__Int32x4_t __builtin_aarch64_sqdmlsl_lanev4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlsl_laneqv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x8_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlsl_nv4hi (__Int32x4_t __a, __Int16x4_t __b, short int __c); -__Int64x2_t __builtin_aarch64_sqdmlslv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c); -__Int64x2_t __builtin_aarch64_sqdmlsl2v4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c); -__Int64x2_t __builtin_aarch64_sqdmlsl2_lanev4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x2_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlsl2_laneqv4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlsl2_nv4si (__Int64x2_t __a, __Int32x4_t __b, int __c); -__Int64x2_t __builtin_aarch64_sqdmlsl_lanev2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlsl_laneqv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x4_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlsl_nv2si (__Int64x2_t __a, __Int32x2_t __b, int __c); -__Int16x4_t __builtin_aarch64_sqdmulh_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, const int __c); -__Int32x2_t __builtin_aarch64_sqdmulh_lanev2si (__Int32x2_t __a, __Int32x2_t __b, const int __c); -__Int16x8_t __builtin_aarch64_sqdmulh_lanev8hi (__Int16x8_t __a, __Int16x4_t __b, const int __c); -__Int32x4_t __builtin_aarch64_sqdmulh_lanev4si (__Int32x4_t __a, __Int32x2_t __b, const int __c); -__Int32x4_t __builtin_aarch64_sqdmullv4hi (__Int16x4_t __a, __Int16x4_t __b); -__Int32x4_t __builtin_aarch64_sqdmull2v8hi (__Int16x8_t __a, __Int16x8_t __b); -__Int32x4_t __builtin_aarch64_sqdmull2_lanev8hi (__Int16x8_t __a, __Int16x4_t __b, int const __c); -__Int32x4_t __builtin_aarch64_sqdmull2_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, int const __c); -__Int32x4_t __builtin_aarch64_sqdmull2_nv8hi (__Int16x8_t __a, short int __b); -__Int32x4_t __builtin_aarch64_sqdmull_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, int const __c); -__Int32x4_t __builtin_aarch64_sqdmull_laneqv4hi (__Int16x4_t __a, __Int16x8_t __b, int const __c); -__Int32x4_t __builtin_aarch64_sqdmull_nv4hi (__Int16x4_t __a, short int __b); -__Int64x2_t __builtin_aarch64_sqdmullv2si (__Int32x2_t __a, __Int32x2_t __b); -__Int64x2_t __builtin_aarch64_sqdmull2v4si (__Int32x4_t __a, __Int32x4_t __b); -__Int64x2_t __builtin_aarch64_sqdmull2_lanev4si (__Int32x4_t __a, __Int32x2_t __b, int const __c); -__Int64x2_t __builtin_aarch64_sqdmull2_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, int const __c); -__Int64x2_t __builtin_aarch64_sqdmull2_nv4si (__Int32x4_t __a, int __b); -__Int64x2_t __builtin_aarch64_sqdmull_lanev2si (__Int32x2_t __a, __Int32x2_t __b, int const __c); -__Int64x2_t __builtin_aarch64_sqdmull_laneqv2si (__Int32x2_t __a, __Int32x4_t __b, int const __c); -__Int64x2_t __builtin_aarch64_sqdmull_nv2si (__Int32x2_t __a, int __b); -__Int16x4_t __builtin_aarch64_sqrdmulh_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, const int __c); -__Int32x2_t __builtin_aarch64_sqrdmulh_lanev2si (__Int32x2_t __a, __Int32x2_t __b, const int __c); -__Int16x8_t __builtin_aarch64_sqrdmulh_lanev8hi (__Int16x8_t __a, __Int16x4_t __b, const int __c); -__Int32x4_t __builtin_aarch64_sqrdmulh_lanev4si (__Int32x4_t __a, __Int32x2_t __b, const int __c); -__Int8x8_t __builtin_aarch64_sqrshlv8qi (__Int8x8_t __a, __Int8x8_t __b); -__Int16x4_t __builtin_aarch64_sqrshlv4hi (__Int16x4_t __a, __Int16x4_t __b); -__Int32x2_t __builtin_aarch64_sqrshlv2si (__Int32x2_t __a, __Int32x2_t __b); -__Uint8x8_t __builtin_aarch64_uqrshlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); -__Uint16x4_t __builtin_aarch64_uqrshlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); -__Uint32x2_t __builtin_aarch64_uqrshlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); -__Int8x16_t __builtin_aarch64_sqrshlv16qi (__Int8x16_t __a, __Int8x16_t __b); -__Int16x8_t __builtin_aarch64_sqrshlv8hi (__Int16x8_t __a, __Int16x8_t __b); -__Int32x4_t __builtin_aarch64_sqrshlv4si (__Int32x4_t __a, __Int32x4_t __b); -__Int64x2_t __builtin_aarch64_sqrshlv2di (__Int64x2_t __a, __Int64x2_t __b); -__Uint8x16_t __builtin_aarch64_uqrshlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); -__Uint16x8_t __builtin_aarch64_uqrshlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); -__Uint32x4_t __builtin_aarch64_uqrshlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); -__Uint64x2_t __builtin_aarch64_uqrshlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); -__Uint8x8_t __builtin_aarch64_uqrshrn_nv8hi_uus (__Uint16x8_t __a, const int __b); -__Uint16x4_t __builtin_aarch64_uqrshrn_nv4si_uus (__Uint32x4_t __a, const int __b); -__Uint32x2_t __builtin_aarch64_uqrshrn_nv2di_uus (__Uint64x2_t __a, const int __b); -__Int8x8_t __builtin_aarch64_sqshlv8qi (__Int8x8_t __a, __Int8x8_t __b); -__Int16x4_t __builtin_aarch64_sqshlv4hi (__Int16x4_t __a, __Int16x4_t __b); -__Int32x2_t __builtin_aarch64_sqshlv2si (__Int32x2_t __a, __Int32x2_t __b); -__Uint8x8_t __builtin_aarch64_uqshlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); -__Uint16x4_t __builtin_aarch64_uqshlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); -__Uint32x2_t __builtin_aarch64_uqshlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); -__Int8x16_t __builtin_aarch64_sqshlv16qi (__Int8x16_t __a, __Int8x16_t __b); -__Int16x8_t __builtin_aarch64_sqshlv8hi (__Int16x8_t __a, __Int16x8_t __b); -__Int32x4_t __builtin_aarch64_sqshlv4si (__Int32x4_t __a, __Int32x4_t __b); -__Int64x2_t __builtin_aarch64_sqshlv2di (__Int64x2_t __a, __Int64x2_t __b); -__Uint8x16_t __builtin_aarch64_uqshlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); -__Uint16x8_t __builtin_aarch64_uqshlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); -__Uint32x4_t __builtin_aarch64_uqshlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); -__Uint64x2_t __builtin_aarch64_uqshlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); -__Uint8x8_t __builtin_aarch64_uqshl_nv8qi_uus (__Uint8x8_t __a, const int __b); -__Uint16x4_t __builtin_aarch64_uqshl_nv4hi_uus (__Uint16x4_t __a, const int __b); -__Uint32x2_t __builtin_aarch64_uqshl_nv2si_uus (__Uint32x2_t __a, const int __b); -__Uint8x16_t __builtin_aarch64_uqshl_nv16qi_uus (__Uint8x16_t __a, const int __b); -__Uint16x8_t __builtin_aarch64_uqshl_nv8hi_uus (__Uint16x8_t __a, const int __b); -__Uint32x4_t __builtin_aarch64_uqshl_nv4si_uus (__Uint32x4_t __a, const int __b); -__Uint64x2_t __builtin_aarch64_uqshl_nv2di_uus (__Uint64x2_t __a, const int __b); -__Uint8x8_t __builtin_aarch64_sqshlu_nv8qi_uss (__Int8x8_t __a, const int __b); -__Uint16x4_t __builtin_aarch64_sqshlu_nv4hi_uss (__Int16x4_t __a, const int __b); -__Uint32x2_t __builtin_aarch64_sqshlu_nv2si_uss (__Int32x2_t __a, const int __b); -__Uint8x16_t __builtin_aarch64_sqshlu_nv16qi_uss (__Int8x16_t __a, const int __b); -__Uint16x8_t __builtin_aarch64_sqshlu_nv8hi_uss (__Int16x8_t __a, const int __b); -__Uint32x4_t __builtin_aarch64_sqshlu_nv4si_uss (__Int32x4_t __a, const int __b); -__Uint64x2_t __builtin_aarch64_sqshlu_nv2di_uss (__Int64x2_t __a, const int __b); -__Uint8x8_t __builtin_aarch64_uqshrn_nv8hi_uus (__Uint16x8_t __a, const int __b); -__Uint16x4_t __builtin_aarch64_uqshrn_nv4si_uus (__Uint32x4_t __a, const int __b); -__Uint32x2_t __builtin_aarch64_uqshrn_nv2di_uus (__Uint64x2_t __a, const int __b); -__Int8x8_t __builtin_aarch64_rbitv8qi (__Int8x8_t __a); -__Int8x16_t __builtin_aarch64_rbitv16qi (__Int8x16_t __a); -__Float32x2_t __builtin_aarch64_frecpev2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_frecpev4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_frecpev2df (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_frecpsv2sf (__Float32x2_t __a, __Float32x2_t __b); -__Float32x4_t __builtin_aarch64_frecpsv4sf (__Float32x4_t __a, __Float32x4_t __b); -__Float64x2_t __builtin_aarch64_frecpsv2df (__Float64x2_t __a, __Float64x2_t __b); -__Float32x2_t __builtin_aarch64_btruncv2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_btruncv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_btruncv2df (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_roundv2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_roundv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_roundv2df (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_nearbyintv2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_nearbyintv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_nearbyintv2df (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_floorv2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_floorv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_floorv2df (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_frintnv2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_frintnv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_frintnv2df (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_ceilv2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_ceilv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_ceilv2df (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_rintv2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_rintv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_rintv2df (__Float64x2_t __a); -__Uint8x8_t __builtin_aarch64_urshlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); -__Uint16x4_t __builtin_aarch64_urshlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); -__Uint32x2_t __builtin_aarch64_urshlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); -__Uint8x16_t __builtin_aarch64_urshlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); -__Uint16x8_t __builtin_aarch64_urshlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); -__Uint32x4_t __builtin_aarch64_urshlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); -__Uint64x2_t __builtin_aarch64_urshlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); -__Uint8x8_t __builtin_aarch64_urshr_nv8qi_uus (__Uint8x8_t __a, const int __b); -__Uint16x4_t __builtin_aarch64_urshr_nv4hi_uus (__Uint16x4_t __a, const int __b); -__Uint32x2_t __builtin_aarch64_urshr_nv2si_uus (__Uint32x2_t __a, const int __b); -__Uint8x16_t __builtin_aarch64_urshr_nv16qi_uus (__Uint8x16_t __a, const int __b); -__Uint16x8_t __builtin_aarch64_urshr_nv8hi_uus (__Uint16x8_t __a, const int __b); -__Uint32x4_t __builtin_aarch64_urshr_nv4si_uus (__Uint32x4_t __a, const int __b); -__Uint64x2_t __builtin_aarch64_urshr_nv2di_uus (__Uint64x2_t __a, const int __b); -__Uint8x8_t __builtin_aarch64_ursra_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); -__Uint16x4_t __builtin_aarch64_ursra_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); -__Uint32x2_t __builtin_aarch64_ursra_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); -__Uint8x16_t __builtin_aarch64_ursra_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); -__Uint16x8_t __builtin_aarch64_ursra_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); -__Uint32x4_t __builtin_aarch64_ursra_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); -__Uint64x2_t __builtin_aarch64_ursra_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); -__Uint32x4_t __builtin_aarch64_crypto_sha1cv4si_uuuu (__Uint32x4_t hash_abcd, unsigned int hash_e, __Uint32x4_t wk); -__Uint32x4_t __builtin_aarch64_crypto_sha1mv4si_uuuu (__Uint32x4_t hash_abcd, unsigned int hash_e, __Uint32x4_t wk); -__Uint32x4_t __builtin_aarch64_crypto_sha1pv4si_uuuu (__Uint32x4_t hash_abcd, unsigned int hash_e, __Uint32x4_t wk); -__Uint32x4_t __builtin_aarch64_crypto_sha1su0v4si_uuuu (__Uint32x4_t w0_3, __Uint32x4_t w4_7, __Uint32x4_t w8_11); -__Uint32x4_t __builtin_aarch64_crypto_sha1su1v4si_uuu (__Uint32x4_t tw0_3, __Uint32x4_t w12_15); -__Uint32x4_t __builtin_aarch64_crypto_sha256hv4si_uuuu (__Uint32x4_t hash_abcd, __Uint32x4_t hash_efgh, __Uint32x4_t wk); -__Uint32x4_t __builtin_aarch64_crypto_sha256h2v4si_uuuu (__Uint32x4_t hash_efgh, __Uint32x4_t hash_abcd, __Uint32x4_t wk); -__Uint32x4_t __builtin_aarch64_crypto_sha256su0v4si_uuu (__Uint32x4_t w0_3, __Uint32x4_t w4_7); -__Uint32x4_t __builtin_aarch64_crypto_sha256su1v4si_uuuu (__Uint32x4_t tw0_3, __Uint32x4_t w8_11, __Uint32x4_t w12_15); -__Poly128_t __builtin_aarch64_crypto_pmullv2di_ppp (__Poly64x2_t a, __Poly64x2_t b); -__Int8x8_t __builtin_aarch64_sshlv8qi (__Int8x8_t __a, __Int8x8_t __b); -__Int16x4_t __builtin_aarch64_sshlv4hi (__Int16x4_t __a, __Int16x4_t __b); -__Int32x2_t __builtin_aarch64_sshlv2si (__Int32x2_t __a, __Int32x2_t __b); -__Uint8x8_t __builtin_aarch64_ushlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); -__Uint16x4_t __builtin_aarch64_ushlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); -__Uint32x2_t __builtin_aarch64_ushlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); -__Int8x16_t __builtin_aarch64_sshlv16qi (__Int8x16_t __a, __Int8x16_t __b); -__Int16x8_t __builtin_aarch64_sshlv8hi (__Int16x8_t __a, __Int16x8_t __b); -__Int32x4_t __builtin_aarch64_sshlv4si (__Int32x4_t __a, __Int32x4_t __b); -__Int64x2_t __builtin_aarch64_sshlv2di (__Int64x2_t __a, __Int64x2_t __b); -__Uint8x16_t __builtin_aarch64_ushlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); -__Uint16x8_t __builtin_aarch64_ushlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); -__Uint32x4_t __builtin_aarch64_ushlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); -__Uint64x2_t __builtin_aarch64_ushlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); -__Int16x8_t __builtin_aarch64_sshll2_nv16qi (__Int8x16_t __a, const int __b); -__Int32x4_t __builtin_aarch64_sshll2_nv8hi (__Int16x8_t __a, const int __b); -__Int64x2_t __builtin_aarch64_sshll2_nv4si (__Int32x4_t __a, const int __b); -__Int16x8_t __builtin_aarch64_sshll_nv8qi (__Int8x8_t __a, const int __b); -__Int32x4_t __builtin_aarch64_sshll_nv4hi (__Int16x4_t __a, const int __b); -__Int64x2_t __builtin_aarch64_sshll_nv2si (__Int32x2_t __a, const int __b); -__Uint16x8_t __builtin_aarch64_ushll_nv8qi_uus (__Uint8x8_t __a, const int __b); -__Uint32x4_t __builtin_aarch64_ushll_nv4hi_uus (__Uint16x4_t __a, const int __b); -__Uint64x2_t __builtin_aarch64_ushll_nv2si_uus (__Uint32x2_t __a, const int __b); -__Int32x4_t __builtin_aarch64_lshrv4si (__Int32x4_t __a, const int __b); -__Int64x2_t __builtin_aarch64_lshrv2di (__Int64x2_t __a, const int __b); -__Uint8x8_t __builtin_aarch64_usli_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); -__Uint16x4_t __builtin_aarch64_usli_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); -__Uint32x2_t __builtin_aarch64_usli_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); -__Uint8x16_t __builtin_aarch64_usli_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); -__Uint16x8_t __builtin_aarch64_usli_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); -__Uint32x4_t __builtin_aarch64_usli_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); -__Uint64x2_t __builtin_aarch64_usli_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); -__Uint8x8_t __builtin_aarch64_usqaddv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); -__Uint16x4_t __builtin_aarch64_usqaddv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); -__Uint32x2_t __builtin_aarch64_usqaddv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); -__Uint8x16_t __builtin_aarch64_usqaddv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); -__Uint16x8_t __builtin_aarch64_usqaddv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); -__Uint32x4_t __builtin_aarch64_usqaddv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); -__Uint64x2_t __builtin_aarch64_usqaddv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); -__Float32x2_t __builtin_aarch64_sqrtv2sf (__Float32x2_t a); -__Float32x4_t __builtin_aarch64_sqrtv4sf (__Float32x4_t a); -__Float64x2_t __builtin_aarch64_sqrtv2df (__Float64x2_t a); -__Uint8x8_t __builtin_aarch64_usra_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); -__Uint16x4_t __builtin_aarch64_usra_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); -__Uint32x2_t __builtin_aarch64_usra_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); -__Uint8x16_t __builtin_aarch64_usra_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); -__Uint16x8_t __builtin_aarch64_usra_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); -__Uint32x4_t __builtin_aarch64_usra_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); -__Uint64x2_t __builtin_aarch64_usra_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); -__Uint8x8_t __builtin_aarch64_usri_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); -__Uint16x4_t __builtin_aarch64_usri_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); -__Uint32x2_t __builtin_aarch64_usri_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); -__Uint8x16_t __builtin_aarch64_usri_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); -__Uint16x8_t __builtin_aarch64_usri_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); -__Uint32x4_t __builtin_aarch64_usri_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); -__Uint64x2_t __builtin_aarch64_usri_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); -__Int8x8_t __builtin_aarch64_suqaddv8qi_ssu (__Int8x8_t __a, __Uint8x8_t __b); -__Int16x4_t __builtin_aarch64_suqaddv4hi_ssu (__Int16x4_t __a, __Uint16x4_t __b); -__Int32x2_t __builtin_aarch64_suqaddv2si_ssu (__Int32x2_t __a, __Uint32x2_t __b); -__Int8x16_t __builtin_aarch64_suqaddv16qi_ssu (__Int8x16_t __a, __Uint8x16_t __b); -__Int16x8_t __builtin_aarch64_suqaddv8hi_ssu (__Int16x8_t __a, __Uint16x8_t __b); -__Int32x4_t __builtin_aarch64_suqaddv4si_ssu (__Int32x4_t __a, __Uint32x4_t __b); -__Int64x2_t __builtin_aarch64_suqaddv2di_ssu (__Int64x2_t __a, __Uint64x2_t __b); -__Poly128_t __builtin_aarch64_crypto_pmulldi_ppp (__Poly64_t a, __Poly64_t b); -__Int8x8_t __builtin_aarch64_tbx4v8qi (__Int8x8_t, __builtin_aarch64_simd_oi, __Int8x8_t); -//end CMPCPP-6477 -void __builtin_aarch64_st2_lanev4hf(__fp16*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev2sf(float*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanedf(double*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev8qi(signed char*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev4hi(short int*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanedi(long int*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev2si(int*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st3_lanev4hf(__fp16*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev2sf(float*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanedf(double*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev8qi(signed char*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev4hi(short int*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanedi(long int*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev2si(int*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st4_lanev4hf(__fp16*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev2sf(float*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanedf(double*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev8qi(signed char*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev4hi(short int*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanedi(long int*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev2si(int*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4hf(const __fp16*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2sf(const float*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanedf(const double*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8qi(const signed char*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4hi(const short int*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanedi(const long int*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2si(const int*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4hf(const __fp16*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2sf(const float*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanedf(const double*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8qi(const signed char*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4hi(const short int*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanedi(const long int*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2si(const int*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4hf(const __fp16*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2sf(const float*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanedf(const double*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8qi(const signed char*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4hi(const short int*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanedi(const long int*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2si(const int*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev16qi(const signed char*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2df(const double*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2di(const long int*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4sf(const float*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4si(const int*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8hf(const __fp16*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8hi(const short int*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev16qi(const signed char*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2df(const double*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2di(const long int*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4sf(const float*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4si(const int*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8hf(const __fp16*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8hi(const short int*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev16qi(const signed char*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2df(const double*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2di(const long int*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4sf(const float*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4si(const int*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8hf(const __fp16*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8hi(const short int*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st2_lanev16qi(signed char*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev2df(double*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev2di(long int*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev4sf(float*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev4si(int*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev8hf(__fp16*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev8hi(short int*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st3_lanev16qi(signed char*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev2df(double*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev2di(long int*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev4sf(float*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev4si(int*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev8hf(__fp16*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev8hi(short int*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st4_lanev16qi(signed char*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev2df(double*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev2di(long int*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev4sf(float*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev4si(int*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev8hf(__fp16*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev8hi(short int*, __builtin_aarch64_simd_xi, int); -__fp16 __builtin_aarch64_abshf(__fp16); -__Float16x4_t __builtin_aarch64_absv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_absv8hf(__Float16x8_t); -long int __builtin_aarch64_addpdi(__Int64x2_t); -long int __builtin_aarch64_ashldi(long int, signed char); -long int __builtin_aarch64_ashr_simddi(long int, int); -__Int8x16_t __builtin_aarch64_bcaxqv16qi(__Int8x16_t, __Int8x16_t, __Int8x16_t); -__Uint8x16_t __builtin_aarch64_bcaxqv16qi_uuuu(__Uint8x16_t, __Uint8x16_t, __Uint8x16_t); -__Int64x2_t __builtin_aarch64_bcaxqv2di(__Int64x2_t, __Int64x2_t, __Int64x2_t); -__Uint64x2_t __builtin_aarch64_bcaxqv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); -__Int32x4_t __builtin_aarch64_bcaxqv4si(__Int32x4_t, __Int32x4_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_bcaxqv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); -__Int16x8_t __builtin_aarch64_bcaxqv8hi(__Int16x8_t, __Int16x8_t, __Int16x8_t); -__Uint16x8_t __builtin_aarch64_bcaxqv8hi_uuuu(__Uint16x8_t, __Uint16x8_t, __Uint16x8_t); -__fp16 __builtin_aarch64_btrunchf(__fp16); -__Float16x4_t __builtin_aarch64_btruncv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_btruncv8hf(__Float16x8_t); -__fp16 __builtin_aarch64_ceilhf(__fp16); -__Float16x4_t __builtin_aarch64_ceilv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_ceilv8hf(__Float16x8_t); -short unsigned int __builtin_aarch64_cmeqhf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_cmeqv4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_cmeqv8hf_uss(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_cmgehf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_cmgev4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_cmgev8hf_uss(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_cmgthf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_cmgtv4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_cmgtv8hf_uss(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_cmlehf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_cmlev4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_cmlev8hf_uss(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_cmlthf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_cmltv4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_cmltv8hf_uss(__Float16x8_t, __Float16x8_t); -__Poly64x2_t __builtin_aarch64_combinedi_ppp(__Poly64_t, __Poly64_t); -unsigned int __builtin_aarch64_crc32b(unsigned int, unsigned char); -unsigned int __builtin_aarch64_crc32cb(unsigned int, unsigned char); -unsigned int __builtin_aarch64_crc32ch(unsigned int, short unsigned int); -unsigned int __builtin_aarch64_crc32cw(unsigned int, unsigned int); -unsigned int __builtin_aarch64_crc32cx(unsigned int, long unsigned int); -unsigned int __builtin_aarch64_crc32h(unsigned int, short unsigned int); -unsigned int __builtin_aarch64_crc32w(unsigned int, unsigned int); -unsigned int __builtin_aarch64_crc32x(unsigned int, long unsigned int); -unsigned int __builtin_aarch64_crypto_sha1hsi_uu(unsigned int); -__Uint64x2_t __builtin_aarch64_crypto_sha512h2qv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); -__Uint64x2_t __builtin_aarch64_crypto_sha512hqv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); -__Uint64x2_t __builtin_aarch64_crypto_sha512su0qv2di_uuu(__Uint64x2_t, __Uint64x2_t); -__Uint64x2_t __builtin_aarch64_crypto_sha512su1qv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); -__Int8x16_t __builtin_aarch64_eor3qv16qi(__Int8x16_t, __Int8x16_t, __Int8x16_t); -__Uint8x16_t __builtin_aarch64_eor3qv16qi_uuuu(__Uint8x16_t, __Uint8x16_t, __Uint8x16_t); -__Int64x2_t __builtin_aarch64_eor3qv2di(__Int64x2_t, __Int64x2_t, __Int64x2_t); -__Uint64x2_t __builtin_aarch64_eor3qv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); -__Int32x4_t __builtin_aarch64_eor3qv4si(__Int32x4_t, __Int32x4_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_eor3qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); -__Int16x8_t __builtin_aarch64_eor3qv8hi(__Int16x8_t, __Int16x8_t, __Int16x8_t); -__Uint16x8_t __builtin_aarch64_eor3qv8hi_uuuu(__Uint16x8_t, __Uint16x8_t, __Uint16x8_t); -double __builtin_aarch64_fabddf(double, double); -__fp16 __builtin_aarch64_fabdhf(__fp16, __fp16); -float __builtin_aarch64_fabdsf(float, float); -__Float64x2_t __builtin_aarch64_fabdv2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fabdv2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fabdv4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fabdv4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fabdv8hf(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_facgehf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_facgev4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_facgev8hf_uss(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_facgthf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_facgtv4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_facgtv8hf_uss(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_faclehf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_faclev4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_faclev8hf_uss(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_faclthf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_facltv4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_facltv8hf_uss(__Float16x8_t, __Float16x8_t); -__Float64x2_t __builtin_aarch64_faddpv2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_faddpv2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_faddpv4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_faddpv4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_faddpv8hf(__Float16x8_t, __Float16x8_t); -__Float64x2_t __builtin_aarch64_fcadd270v2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fcadd270v2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fcadd270v4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fcadd270v4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fcadd270v8hf(__Float16x8_t, __Float16x8_t); -__Float64x2_t __builtin_aarch64_fcadd90v2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fcadd90v2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fcadd90v4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fcadd90v4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fcadd90v8hf(__Float16x8_t, __Float16x8_t); -__Float64x2_t __builtin_aarch64_fcmla0v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fcmla0v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fcmla0v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fcmla0v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fcmla0v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); -__Float64x2_t __builtin_aarch64_fcmla180v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fcmla180v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fcmla180v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fcmla180v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fcmla180v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); -__Float64x2_t __builtin_aarch64_fcmla270v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fcmla270v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fcmla270v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fcmla270v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fcmla270v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); -__Float64x2_t __builtin_aarch64_fcmla90v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fcmla90v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fcmla90v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fcmla90v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fcmla90v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); -__Float32x2_t __builtin_aarch64_fcmla_lane0v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); -__Float16x4_t __builtin_aarch64_fcmla_lane0v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fcmla_lane0v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); -__Float16x8_t __builtin_aarch64_fcmla_lane0v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fcmla_lane180v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); -__Float16x4_t __builtin_aarch64_fcmla_lane180v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fcmla_lane180v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); -__Float16x8_t __builtin_aarch64_fcmla_lane180v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fcmla_lane270v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); -__Float16x4_t __builtin_aarch64_fcmla_lane270v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fcmla_lane270v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); -__Float16x8_t __builtin_aarch64_fcmla_lane270v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fcmla_lane90v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); -__Float16x4_t __builtin_aarch64_fcmla_lane90v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fcmla_lane90v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); -__Float16x8_t __builtin_aarch64_fcmla_lane90v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fcmla_laneq0v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); -__Float16x4_t __builtin_aarch64_fcmla_laneq0v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); -__Float32x2_t __builtin_aarch64_fcmla_laneq180v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); -__Float16x4_t __builtin_aarch64_fcmla_laneq180v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); -__Float32x2_t __builtin_aarch64_fcmla_laneq270v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); -__Float16x4_t __builtin_aarch64_fcmla_laneq270v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); -__Float32x2_t __builtin_aarch64_fcmla_laneq90v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); -__Float16x4_t __builtin_aarch64_fcmla_laneq90v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); -__Float32x4_t __builtin_aarch64_fcmlaq_lane0v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); -__Float16x8_t __builtin_aarch64_fcmlaq_lane0v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fcmlaq_lane180v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); -__Float16x8_t __builtin_aarch64_fcmlaq_lane180v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fcmlaq_lane270v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); -__Float16x8_t __builtin_aarch64_fcmlaq_lane270v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fcmlaq_lane90v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); -__Float16x8_t __builtin_aarch64_fcmlaq_lane90v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); -long int __builtin_aarch64_fcvtzsdf(double, int); -short int __builtin_aarch64_fcvtzshf(__fp16, int); -long int __builtin_aarch64_fcvtzshfdi(__fp16, int); -int __builtin_aarch64_fcvtzshfsi(__fp16, int); -int __builtin_aarch64_fcvtzssf(float, int); -__Int64x2_t __builtin_aarch64_fcvtzsv2df(__Float64x2_t, int); -__Int32x2_t __builtin_aarch64_fcvtzsv2sf(__Float32x2_t, int); -__Int16x4_t __builtin_aarch64_fcvtzsv4hf(__Float16x4_t, int); -__Int32x4_t __builtin_aarch64_fcvtzsv4sf(__Float32x4_t, int); -__Int16x8_t __builtin_aarch64_fcvtzsv8hf(__Float16x8_t, int); -long unsigned int __builtin_aarch64_fcvtzudf_uss(double, int); -long unsigned int __builtin_aarch64_fcvtzuhfdi_uss(__fp16, int); -unsigned int __builtin_aarch64_fcvtzuhfsi_uss(__fp16, int); -short unsigned int __builtin_aarch64_fcvtzuhf_uss(__fp16, int); -unsigned int __builtin_aarch64_fcvtzusf_uss(float, int); -__Uint64x2_t __builtin_aarch64_fcvtzuv2df_uss(__Float64x2_t, int); -__Uint32x2_t __builtin_aarch64_fcvtzuv2sf_uss(__Float32x2_t, int); -__Uint16x4_t __builtin_aarch64_fcvtzuv4hf_uss(__Float16x4_t, int); -__Uint32x4_t __builtin_aarch64_fcvtzuv4sf_uss(__Float32x4_t, int); -__Uint16x8_t __builtin_aarch64_fcvtzuv8hf_uss(__Float16x8_t, int); -long int __builtin_aarch64_fix_trunchfdi(__fp16); -short int __builtin_aarch64_fix_trunchfhi(__fp16); -int __builtin_aarch64_fix_trunchfsi(__fp16); -long unsigned int __builtin_aarch64_fixuns_trunchfdi_us(__fp16); -short unsigned int __builtin_aarch64_fixuns_trunchfhi_us(__fp16); -unsigned int __builtin_aarch64_fixuns_trunchfsi_us(__fp16); -__fp16 __builtin_aarch64_floatdihf(long int); -__fp16 __builtin_aarch64_floathihf(short int); -__fp16 __builtin_aarch64_floatsihf(int); -__fp16 __builtin_aarch64_floatunsdihf_us(long int); -__fp16 __builtin_aarch64_floatunshihf_us(short int); -__fp16 __builtin_aarch64_floatunssihf_us(int); -__Float16x4_t __builtin_aarch64_floatunsv4hiv4hf(__Int16x4_t); -__Float16x8_t __builtin_aarch64_floatunsv8hiv8hf(__Int16x8_t); -__Float16x4_t __builtin_aarch64_floatv4hiv4hf(__Int16x4_t); -__Float16x8_t __builtin_aarch64_floatv8hiv8hf(__Int16x8_t); -__fp16 __builtin_aarch64_floorhf(__fp16); -__Float16x4_t __builtin_aarch64_floorv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_floorv8hf(__Float16x8_t); -__fp16 __builtin_aarch64_fmahf(__fp16, __fp16, __fp16); -__Float16x4_t __builtin_aarch64_fmav4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_fmav8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); -double __builtin_aarch64_fmaxdf(double, double); -__fp16 __builtin_aarch64_fmaxhf(__fp16, __fp16); -__Float64x2_t __builtin_aarch64_fmaxv2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fmaxv2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fmaxv4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fmaxv4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fmaxv8hf(__Float16x8_t, __Float16x8_t); -double __builtin_aarch64_fmindf(double, double); -__fp16 __builtin_aarch64_fminhf(__fp16, __fp16); -__Float64x2_t __builtin_aarch64_fminv2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fminv2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fminv4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fminv4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fminv8hf(__Float16x8_t, __Float16x8_t); -__Float32x2_t __builtin_aarch64_fmlal_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); -__Float32x2_t __builtin_aarch64_fmlal_lane_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); -__Float32x2_t __builtin_aarch64_fmlal_lane_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); -__Float32x2_t __builtin_aarch64_fmlal_laneq_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fmlal_laneq_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fmlal_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fmlalq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); -__Float32x4_t __builtin_aarch64_fmlalq_lane_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fmlalq_lane_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fmlalq_laneq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); -__Float32x4_t __builtin_aarch64_fmlalq_laneq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); -__Float32x4_t __builtin_aarch64_fmlalq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); -__Float32x2_t __builtin_aarch64_fmlsl_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); -__Float32x2_t __builtin_aarch64_fmlsl_lane_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); -__Float32x2_t __builtin_aarch64_fmlsl_lane_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); -__Float32x2_t __builtin_aarch64_fmlsl_laneq_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fmlsl_laneq_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fmlsl_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fmlslq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); -__Float32x4_t __builtin_aarch64_fmlslq_lane_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fmlslq_lane_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fmlslq_laneq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); -__Float32x4_t __builtin_aarch64_fmlslq_laneq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); -__Float32x4_t __builtin_aarch64_fmlslq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); -double __builtin_aarch64_fmulxdf(double, double); -__fp16 __builtin_aarch64_fmulxhf(__fp16, __fp16); -float __builtin_aarch64_fmulxsf(float, float); -__Float64x2_t __builtin_aarch64_fmulxv2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fmulxv2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fmulxv4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fmulxv4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fmulxv8hf(__Float16x8_t, __Float16x8_t); -__fp16 __builtin_aarch64_fnmahf(__fp16, __fp16, __fp16); -__Float16x4_t __builtin_aarch64_fnmav4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_fnmav8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); -double __builtin_aarch64_frecpedf(double); -__fp16 __builtin_aarch64_frecpehf(__fp16); -float __builtin_aarch64_frecpesf(float); -__Float16x4_t __builtin_aarch64_frecpev4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_frecpev8hf(__Float16x8_t); -double __builtin_aarch64_frecpsdf(double, double); -__fp16 __builtin_aarch64_frecpshf(__fp16, __fp16); -float __builtin_aarch64_frecpssf(float, float); -__Float16x4_t __builtin_aarch64_frecpsv4hf(__Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_frecpsv8hf(__Float16x8_t, __Float16x8_t); -double __builtin_aarch64_frecpxdf(double); -__fp16 __builtin_aarch64_frecpxhf(__fp16); -float __builtin_aarch64_frecpxsf(float); -double __builtin_aarch64_frintndf(double); -__fp16 __builtin_aarch64_frintnhf(__fp16); -__Float16x4_t __builtin_aarch64_frintnv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_frintnv8hf(__Float16x8_t); -__Poly64_t __builtin_aarch64_get_dregcidi_pss(__builtin_aarch64_simd_ci, int); -__Poly64_t __builtin_aarch64_get_dregoidi_pss(__builtin_aarch64_simd_oi, int); -__Poly64_t __builtin_aarch64_get_dregxidi_pss(__builtin_aarch64_simd_xi, int); -__Poly64x2_t __builtin_aarch64_get_qregciv2di_pss(__builtin_aarch64_simd_ci, int); -__Poly64x2_t __builtin_aarch64_get_qregoiv2di_pss(__builtin_aarch64_simd_oi, int); -__Poly64x2_t __builtin_aarch64_get_qregxiv2di_pss(__builtin_aarch64_simd_xi, int); -__Uint16x4_t __builtin_aarch64_lbtruncuv4hfv4hi_us(__Float16x4_t); -__Uint16x8_t __builtin_aarch64_lbtruncuv8hfv8hi_us(__Float16x8_t); -__Int16x4_t __builtin_aarch64_lbtruncv4hfv4hi(__Float16x4_t); -__Int16x8_t __builtin_aarch64_lbtruncv8hfv8hi(__Float16x8_t); -long int __builtin_aarch64_lceilhfdi(__fp16); -short int __builtin_aarch64_lceilhfhi(__fp16); -int __builtin_aarch64_lceilhfsi(__fp16); -long unsigned int __builtin_aarch64_lceiludfdi_us(double); -long unsigned int __builtin_aarch64_lceiluhfdi_us(__fp16); -short unsigned int __builtin_aarch64_lceiluhfhi_us(__fp16); -unsigned int __builtin_aarch64_lceiluhfsi_us(__fp16); -unsigned int __builtin_aarch64_lceilusfsi_us(float); -__Uint16x4_t __builtin_aarch64_lceiluv4hfv4hi_us(__Float16x4_t); -__Uint16x8_t __builtin_aarch64_lceiluv8hfv8hi_us(__Float16x8_t); -__Int16x4_t __builtin_aarch64_lceilv4hfv4hi(__Float16x4_t); -__Int16x8_t __builtin_aarch64_lceilv8hfv8hi(__Float16x8_t); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2df(const double*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2di(const long int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v16qi(const signed char*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2df(const double*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2di(const long int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2sf(const float*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2si(const int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4hf(const __fp16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4hi(const short int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4sf(const float*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4si(const int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8hf(const __fp16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8hi(const short int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8qi(const signed char*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3df(const double*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3di(const long int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v16qi(const signed char*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2df(const double*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2di(const long int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2sf(const float*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2si(const int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4hf(const __fp16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4hi(const short int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4sf(const float*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4si(const int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8hf(const __fp16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8hi(const short int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8qi(const signed char*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2df(const double*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2di(const long int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rdf(const double*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rdi(const long int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv16qi(const signed char*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2df(const double*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2di(const long int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2sf(const float*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2si(const int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4hf(const __fp16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4hi(const short int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4sf(const float*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4si(const int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8hf(const __fp16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8hi(const short int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8qi(const signed char*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v16qi(const signed char*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2df(const double*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2di(const long int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2sf(const float*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2si(const int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4hf(const __fp16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4hi(const short int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4sf(const float*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4si(const int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8hf(const __fp16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8hi(const short int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8qi(const signed char*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3df(const double*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rdf(const double*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rdi(const long int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv16qi(const signed char*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2df(const double*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2di(const long int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2sf(const float*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2si(const int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4hf(const __fp16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4hi(const short int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4sf(const float*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4si(const int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8hf(const __fp16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8hi(const short int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8qi(const signed char*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v16qi(const signed char*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2df(const double*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2di(const long int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2sf(const float*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2si(const int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4hf(const __fp16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4hi(const short int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4sf(const float*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4si(const int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8hf(const __fp16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8hi(const short int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8qi(const signed char*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4df(const double*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4di(const long int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rdf(const double*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rdi(const long int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv16qi(const signed char*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2df(const double*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2di(const long int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2sf(const float*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2si(const int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4hf(const __fp16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4hi(const short int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4sf(const float*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4si(const int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8hf(const __fp16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8hi(const short int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8qi(const signed char*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v16qi(const signed char*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2df(const double*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2di(const long int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2sf(const float*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2si(const int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4hf(const __fp16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4hi(const short int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4sf(const float*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4si(const int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8hf(const __fp16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8hi(const short int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8qi(const signed char*); -long int __builtin_aarch64_lfloorhfdi(__fp16); -short int __builtin_aarch64_lfloorhfhi(__fp16); -int __builtin_aarch64_lfloorhfsi(__fp16); -long unsigned int __builtin_aarch64_lfloorudfdi_us(double); -long unsigned int __builtin_aarch64_lflooruhfdi_us(__fp16); -short unsigned int __builtin_aarch64_lflooruhfhi_us(__fp16); -unsigned int __builtin_aarch64_lflooruhfsi_us(__fp16); -unsigned int __builtin_aarch64_lfloorusfsi_us(float); -__Uint16x4_t __builtin_aarch64_lflooruv4hfv4hi_us(__Float16x4_t); -__Uint16x8_t __builtin_aarch64_lflooruv8hfv8hi_us(__Float16x8_t); -__Int16x4_t __builtin_aarch64_lfloorv4hfv4hi(__Float16x4_t); -__Int16x8_t __builtin_aarch64_lfloorv8hfv8hi(__Float16x8_t); -long int __builtin_aarch64_lfrintndfdi(double); -long int __builtin_aarch64_lfrintnhfdi(__fp16); -short int __builtin_aarch64_lfrintnhfhi(__fp16); -int __builtin_aarch64_lfrintnhfsi(__fp16); -int __builtin_aarch64_lfrintnsfsi(float); -long unsigned int __builtin_aarch64_lfrintnudfdi_us(double); -long unsigned int __builtin_aarch64_lfrintnuhfdi_us(__fp16); -short unsigned int __builtin_aarch64_lfrintnuhfhi_us(__fp16); -unsigned int __builtin_aarch64_lfrintnuhfsi_us(__fp16); -unsigned int __builtin_aarch64_lfrintnusfsi_us(float); -__Uint16x4_t __builtin_aarch64_lfrintnuv4hfv4hi_us(__Float16x4_t); -__Uint16x8_t __builtin_aarch64_lfrintnuv8hfv8hi_us(__Float16x8_t); -__Int16x4_t __builtin_aarch64_lfrintnv4hfv4hi(__Float16x4_t); -__Int16x8_t __builtin_aarch64_lfrintnv8hfv8hi(__Float16x8_t); -long int __builtin_aarch64_lrounddfdi(double); -long int __builtin_aarch64_lroundhfdi(__fp16); -short int __builtin_aarch64_lroundhfhi(__fp16); -int __builtin_aarch64_lroundhfsi(__fp16); -int __builtin_aarch64_lroundsfsi(float); -long unsigned int __builtin_aarch64_lroundudfdi_us(double); -long unsigned int __builtin_aarch64_lrounduhfdi_us(__fp16); -short unsigned int __builtin_aarch64_lrounduhfhi_us(__fp16); -unsigned int __builtin_aarch64_lrounduhfsi_us(__fp16); -unsigned int __builtin_aarch64_lroundusfsi_us(float); -__Uint16x4_t __builtin_aarch64_lrounduv4hfv4hi_us(__Float16x4_t); -__Uint16x8_t __builtin_aarch64_lrounduv8hfv8hi_us(__Float16x8_t); -__Int16x4_t __builtin_aarch64_lroundv4hfv4hi(__Float16x4_t); -__Int16x8_t __builtin_aarch64_lroundv8hfv8hi(__Float16x8_t); -long unsigned int __builtin_aarch64_lshr_simddi_uus(long unsigned int, int); -__fp16 __builtin_aarch64_nearbyinthf(__fp16); -__Float16x4_t __builtin_aarch64_nearbyintv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_nearbyintv8hf(__Float16x8_t); -__fp16 __builtin_aarch64_neghf(__fp16); -__Int8x16_t __builtin_aarch64_qtbl3v16qi(__builtin_aarch64_simd_ci, __Int8x16_t); -__Int8x8_t __builtin_aarch64_qtbl3v8qi(__builtin_aarch64_simd_ci, __Int8x8_t); -__Int8x16_t __builtin_aarch64_qtbl4v16qi(__builtin_aarch64_simd_xi, __Int8x16_t); -__Int8x8_t __builtin_aarch64_qtbl4v8qi(__builtin_aarch64_simd_xi, __Int8x8_t); -__Int8x16_t __builtin_aarch64_qtbx3v16qi(__Int8x16_t, __builtin_aarch64_simd_ci, __Int8x16_t); -__Int8x8_t __builtin_aarch64_qtbx3v8qi(__Int8x8_t, __builtin_aarch64_simd_ci, __Int8x8_t); -__Int8x16_t __builtin_aarch64_qtbx4v16qi(__Int8x16_t, __builtin_aarch64_simd_xi, __Int8x16_t); -__Int8x8_t __builtin_aarch64_qtbx4v8qi(__Int8x8_t, __builtin_aarch64_simd_xi, __Int8x8_t); -__Uint64x2_t __builtin_aarch64_rax1qv2di_uuu(__Uint64x2_t, __Uint64x2_t); -signed char __builtin_aarch64_reduc_plus_scal_v16qi(__Int8x16_t); -double __builtin_aarch64_reduc_plus_scal_v2df(__Float64x2_t); -long int __builtin_aarch64_reduc_plus_scal_v2di(__Int64x2_t); -float __builtin_aarch64_reduc_plus_scal_v2sf(__Float32x2_t); -int __builtin_aarch64_reduc_plus_scal_v2si(__Int32x2_t); -short int __builtin_aarch64_reduc_plus_scal_v4hi(__Int16x4_t); -float __builtin_aarch64_reduc_plus_scal_v4sf(__Float32x4_t); -int __builtin_aarch64_reduc_plus_scal_v4si(__Int32x4_t); -short int __builtin_aarch64_reduc_plus_scal_v8hi(__Int16x8_t); -signed char __builtin_aarch64_reduc_plus_scal_v8qi(__Int8x8_t); -double __builtin_aarch64_reduc_smax_nan_scal_v2df(__Float64x2_t); -float __builtin_aarch64_reduc_smax_nan_scal_v2sf(__Float32x2_t); -__fp16 __builtin_aarch64_reduc_smax_nan_scal_v4hf(__Float16x4_t); -float __builtin_aarch64_reduc_smax_nan_scal_v4sf(__Float32x4_t); -__fp16 __builtin_aarch64_reduc_smax_nan_scal_v8hf(__Float16x8_t); -signed char __builtin_aarch64_reduc_smax_scal_v16qi(__Int8x16_t); -double __builtin_aarch64_reduc_smax_scal_v2df(__Float64x2_t); -float __builtin_aarch64_reduc_smax_scal_v2sf(__Float32x2_t); -int __builtin_aarch64_reduc_smax_scal_v2si(__Int32x2_t); -__fp16 __builtin_aarch64_reduc_smax_scal_v4hf(__Float16x4_t); -short int __builtin_aarch64_reduc_smax_scal_v4hi(__Int16x4_t); -float __builtin_aarch64_reduc_smax_scal_v4sf(__Float32x4_t); -int __builtin_aarch64_reduc_smax_scal_v4si(__Int32x4_t); -__fp16 __builtin_aarch64_reduc_smax_scal_v8hf(__Float16x8_t); -short int __builtin_aarch64_reduc_smax_scal_v8hi(__Int16x8_t); -signed char __builtin_aarch64_reduc_smax_scal_v8qi(__Int8x8_t); -double __builtin_aarch64_reduc_smin_nan_scal_v2df(__Float64x2_t); -float __builtin_aarch64_reduc_smin_nan_scal_v2sf(__Float32x2_t); -__fp16 __builtin_aarch64_reduc_smin_nan_scal_v4hf(__Float16x4_t); -float __builtin_aarch64_reduc_smin_nan_scal_v4sf(__Float32x4_t); -__fp16 __builtin_aarch64_reduc_smin_nan_scal_v8hf(__Float16x8_t); -signed char __builtin_aarch64_reduc_smin_scal_v16qi(__Int8x16_t); -double __builtin_aarch64_reduc_smin_scal_v2df(__Float64x2_t); -float __builtin_aarch64_reduc_smin_scal_v2sf(__Float32x2_t); -int __builtin_aarch64_reduc_smin_scal_v2si(__Int32x2_t); -__fp16 __builtin_aarch64_reduc_smin_scal_v4hf(__Float16x4_t); -short int __builtin_aarch64_reduc_smin_scal_v4hi(__Int16x4_t); -float __builtin_aarch64_reduc_smin_scal_v4sf(__Float32x4_t); -int __builtin_aarch64_reduc_smin_scal_v4si(__Int32x4_t); -__fp16 __builtin_aarch64_reduc_smin_scal_v8hf(__Float16x8_t); -short int __builtin_aarch64_reduc_smin_scal_v8hi(__Int16x8_t); -signed char __builtin_aarch64_reduc_smin_scal_v8qi(__Int8x8_t); -unsigned char __builtin_aarch64_reduc_umax_scal_v16qi_uu(__Uint8x16_t); -unsigned int __builtin_aarch64_reduc_umax_scal_v2si_uu(__Uint32x2_t); -short unsigned int __builtin_aarch64_reduc_umax_scal_v4hi_uu(__Uint16x4_t); -unsigned int __builtin_aarch64_reduc_umax_scal_v4si_uu(__Uint32x4_t); -short unsigned int __builtin_aarch64_reduc_umax_scal_v8hi_uu(__Uint16x8_t); -unsigned char __builtin_aarch64_reduc_umax_scal_v8qi_uu(__Uint8x8_t); -unsigned char __builtin_aarch64_reduc_umin_scal_v16qi_uu(__Uint8x16_t); -unsigned int __builtin_aarch64_reduc_umin_scal_v2si_uu(__Uint32x2_t); -short unsigned int __builtin_aarch64_reduc_umin_scal_v4hi_uu(__Uint16x4_t); -unsigned int __builtin_aarch64_reduc_umin_scal_v4si_uu(__Uint32x4_t); -short unsigned int __builtin_aarch64_reduc_umin_scal_v8hi_uu(__Uint16x8_t); -unsigned char __builtin_aarch64_reduc_umin_scal_v8qi_uu(__Uint8x8_t); -__fp16 __builtin_aarch64_rinthf(__fp16); -__Float16x4_t __builtin_aarch64_rintv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_rintv8hf(__Float16x8_t); -__fp16 __builtin_aarch64_roundhf(__fp16); -__Float16x4_t __builtin_aarch64_roundv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_roundv8hf(__Float16x8_t); -double __builtin_aarch64_rsqrtedf(double); -__fp16 __builtin_aarch64_rsqrtehf(__fp16); -float __builtin_aarch64_rsqrtesf(float); -__Float64x2_t __builtin_aarch64_rsqrtev2df(__Float64x2_t); -__Float32x2_t __builtin_aarch64_rsqrtev2sf(__Float32x2_t); -__Float16x4_t __builtin_aarch64_rsqrtev4hf(__Float16x4_t); -__Float32x4_t __builtin_aarch64_rsqrtev4sf(__Float32x4_t); -__Float16x8_t __builtin_aarch64_rsqrtev8hf(__Float16x8_t); -double __builtin_aarch64_rsqrtsdf(double, double); -__fp16 __builtin_aarch64_rsqrtshf(__fp16, __fp16); -float __builtin_aarch64_rsqrtssf(float, float); -__Float64x2_t __builtin_aarch64_rsqrtsv2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_rsqrtsv2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_rsqrtsv4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_rsqrtsv4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_rsqrtsv8hf(__Float16x8_t, __Float16x8_t); -double __builtin_aarch64_scvtfdi(long int, int); -__fp16 __builtin_aarch64_scvtfdihf(long int, int); -__fp16 __builtin_aarch64_scvtfhi(short int, int); -float __builtin_aarch64_scvtfsi(int, int); -__fp16 __builtin_aarch64_scvtfsihf(int, int); -__Float64x2_t __builtin_aarch64_scvtfv2di(__Int64x2_t, int); -__Float32x2_t __builtin_aarch64_scvtfv2si(__Int32x2_t, int); -__Float16x4_t __builtin_aarch64_scvtfv4hi(__Int16x4_t, int); -__Float32x4_t __builtin_aarch64_scvtfv4si(__Int32x4_t, int); -__Float16x8_t __builtin_aarch64_scvtfv8hi(__Int16x8_t, int); -__Int32x4_t __builtin_aarch64_sdot_laneqv16qi(__Int32x4_t, __Int8x16_t, __Int8x16_t, int); -__Int32x2_t __builtin_aarch64_sdot_laneqv8qi(__Int32x2_t, __Int8x8_t, __Int8x16_t, int); -__Int32x4_t __builtin_aarch64_sdot_lanev16qi(__Int32x4_t, __Int8x16_t, __Int8x8_t, int); -__Int32x2_t __builtin_aarch64_sdot_lanev8qi(__Int32x2_t, __Int8x8_t, __Int8x8_t, int); -__Int32x4_t __builtin_aarch64_sdotv16qi(__Int32x4_t, __Int8x16_t, __Int8x16_t); -__Int32x2_t __builtin_aarch64_sdotv8qi(__Int32x2_t, __Int8x8_t, __Int8x8_t); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv2di_ssps(__builtin_aarch64_simd_ci, __Poly64x2_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv2di_ssps(__builtin_aarch64_simd_oi, __Poly64x2_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv2di_ssps(__builtin_aarch64_simd_xi, __Poly64x2_t, int); -double __builtin_aarch64_simd_bsldf_suss(long unsigned int, double, double); -__Poly64_t __builtin_aarch64_simd_bsldi_pupp(long unsigned int, __Poly64_t, __Poly64_t); -long int __builtin_aarch64_simd_bsldi_suss(long unsigned int, long int, long int); -long unsigned int __builtin_aarch64_simd_bsldi_uuuu(long unsigned int, long unsigned int, long unsigned int); -__Poly64x2_t __builtin_aarch64_simd_bslv2di_pupp(__Uint64x2_t, __Poly64x2_t, __Poly64x2_t); -__Float16x4_t __builtin_aarch64_simd_bslv4hf_suss(__Uint16x4_t, __Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_simd_bslv8hf_suss(__Uint16x8_t, __Float16x8_t, __Float16x8_t); -__Uint32x4_t __builtin_aarch64_sm3partw1qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); -__Uint32x4_t __builtin_aarch64_sm3partw2qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); -__Uint32x4_t __builtin_aarch64_sm3ss1qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); -__Uint32x4_t __builtin_aarch64_sm3tt1aqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); -__Uint32x4_t __builtin_aarch64_sm3tt1bqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); -__Uint32x4_t __builtin_aarch64_sm3tt2aqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); -__Uint32x4_t __builtin_aarch64_sm3tt2bqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); -__Uint32x4_t __builtin_aarch64_sm4ekeyqv4si_uuu(__Uint32x4_t, __Uint32x4_t); -__Uint32x4_t __builtin_aarch64_sm4eqv4si_uuu(__Uint32x4_t, __Uint32x4_t); -double __builtin_aarch64_smax_nandf(double, double); -__Float16x4_t __builtin_aarch64_smax_nanpv4hf(__Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_smax_nanpv8hf(__Float16x8_t, __Float16x8_t); -__Float16x4_t __builtin_aarch64_smax_nanv4hf(__Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_smax_nanv8hf(__Float16x8_t, __Float16x8_t); -__Float16x4_t __builtin_aarch64_smaxpv4hf(__Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_smaxpv8hf(__Float16x8_t, __Float16x8_t); -double __builtin_aarch64_smin_nandf(double, double); -__Float16x4_t __builtin_aarch64_smin_nanpv4hf(__Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_smin_nanpv8hf(__Float16x8_t, __Float16x8_t); -__Float16x4_t __builtin_aarch64_smin_nanv4hf(__Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_smin_nanv8hf(__Float16x8_t, __Float16x8_t); -__Float16x4_t __builtin_aarch64_sminpv4hf(__Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_sminpv8hf(__Float16x8_t, __Float16x8_t); -long int __builtin_aarch64_sqabsdi(long int); -short int __builtin_aarch64_sqabshi(short int); -signed char __builtin_aarch64_sqabsqi(signed char); -int __builtin_aarch64_sqabssi(int); -long int __builtin_aarch64_sqadddi(long int, long int); -short int __builtin_aarch64_sqaddhi(short int, short int); -signed char __builtin_aarch64_sqaddqi(signed char, signed char); -int __builtin_aarch64_sqaddsi(int, int); -int __builtin_aarch64_sqdmlalhi(int, short int, short int); -int __builtin_aarch64_sqdmlal_lanehi(int, short int, __Int16x4_t, int); -int __builtin_aarch64_sqdmlal_laneqhi(int, short int, __Int16x8_t, int); -long int __builtin_aarch64_sqdmlal_laneqsi(long int, int, __Int32x4_t, int); -long int __builtin_aarch64_sqdmlal_lanesi(long int, int, __Int32x2_t, int); -long int __builtin_aarch64_sqdmlalsi(long int, int, int); -int __builtin_aarch64_sqdmlslhi(int, short int, short int); -int __builtin_aarch64_sqdmlsl_lanehi(int, short int, __Int16x4_t, int); -int __builtin_aarch64_sqdmlsl_laneqhi(int, short int, __Int16x8_t, int); -long int __builtin_aarch64_sqdmlsl_laneqsi(long int, int, __Int32x4_t, int); -long int __builtin_aarch64_sqdmlsl_lanesi(long int, int, __Int32x2_t, int); -long int __builtin_aarch64_sqdmlslsi(long int, int, int); -short int __builtin_aarch64_sqdmulhhi(short int, short int); -short int __builtin_aarch64_sqdmulh_lanehi(short int, __Int16x4_t, int); -short int __builtin_aarch64_sqdmulh_laneqhi(short int, __Int16x8_t, int); -int __builtin_aarch64_sqdmulh_laneqsi(int, __Int32x4_t, int); -int __builtin_aarch64_sqdmulh_lanesi(int, __Int32x2_t, int); -int __builtin_aarch64_sqdmulhsi(int, int); -int __builtin_aarch64_sqdmullhi(short int, short int); -int __builtin_aarch64_sqdmull_lanehi(short int, __Int16x4_t, int); -int __builtin_aarch64_sqdmull_laneqhi(short int, __Int16x8_t, int); -long int __builtin_aarch64_sqdmull_laneqsi(int, __Int32x4_t, int); -long int __builtin_aarch64_sqdmull_lanesi(int, __Int32x2_t, int); -long int __builtin_aarch64_sqdmullsi(int, int); -int __builtin_aarch64_sqmovndi(long int); -signed char __builtin_aarch64_sqmovnhi(short int); -short int __builtin_aarch64_sqmovnsi(int); -int __builtin_aarch64_sqmovundi(long int); -signed char __builtin_aarch64_sqmovunhi(short int); -short int __builtin_aarch64_sqmovunsi(int); -long int __builtin_aarch64_sqnegdi(long int); -short int __builtin_aarch64_sqneghi(short int); -signed char __builtin_aarch64_sqnegqi(signed char); -int __builtin_aarch64_sqnegsi(int); -short int __builtin_aarch64_sqrdmlahhi(short int, short int, short int); -short int __builtin_aarch64_sqrdmlah_lanehi(short int, short int, __Int16x4_t, int); -short int __builtin_aarch64_sqrdmlah_laneqhi(short int, short int, __Int16x8_t, int); -int __builtin_aarch64_sqrdmlah_laneqsi(int, int, __Int32x4_t, int); -int __builtin_aarch64_sqrdmlah_lanesi(int, int, __Int32x2_t, int); -int __builtin_aarch64_sqrdmlahsi(int, int, int); -short int __builtin_aarch64_sqrdmlshhi(short int, short int, short int); -short int __builtin_aarch64_sqrdmlsh_lanehi(short int, short int, __Int16x4_t, int); -short int __builtin_aarch64_sqrdmlsh_laneqhi(short int, short int, __Int16x8_t, int); -int __builtin_aarch64_sqrdmlsh_laneqsi(int, int, __Int32x4_t, int); -int __builtin_aarch64_sqrdmlsh_lanesi(int, int, __Int32x2_t, int); -int __builtin_aarch64_sqrdmlshsi(int, int, int); -short int __builtin_aarch64_sqrdmulhhi(short int, short int); -short int __builtin_aarch64_sqrdmulh_lanehi(short int, __Int16x4_t, int); -short int __builtin_aarch64_sqrdmulh_laneqhi(short int, __Int16x8_t, int); -int __builtin_aarch64_sqrdmulh_laneqsi(int, __Int32x4_t, int); -int __builtin_aarch64_sqrdmulh_lanesi(int, __Int32x2_t, int); -int __builtin_aarch64_sqrdmulhsi(int, int); -long int __builtin_aarch64_sqrshldi(long int, long int); -short int __builtin_aarch64_sqrshlhi(short int, short int); -signed char __builtin_aarch64_sqrshlqi(signed char, signed char); -int __builtin_aarch64_sqrshlsi(int, int); -int __builtin_aarch64_sqrshrn_ndi(long int, int); -signed char __builtin_aarch64_sqrshrn_nhi(short int, int); -short int __builtin_aarch64_sqrshrn_nsi(int, int); -int __builtin_aarch64_sqrshrun_ndi(long int, int); -signed char __builtin_aarch64_sqrshrun_nhi(short int, int); -short int __builtin_aarch64_sqrshrun_nsi(int, int); -double __builtin_aarch64_sqrtdf(double); -__fp16 __builtin_aarch64_sqrthf(__fp16); -__Float16x4_t __builtin_aarch64_sqrtv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_sqrtv8hf(__Float16x8_t); -long int __builtin_aarch64_sqshldi(long int, long int); -short int __builtin_aarch64_sqshlhi(short int, short int); -long int __builtin_aarch64_sqshl_ndi(long int, int); -short int __builtin_aarch64_sqshl_nhi(short int, int); -signed char __builtin_aarch64_sqshl_nqi(signed char, int); -int __builtin_aarch64_sqshl_nsi(int, int); -signed char __builtin_aarch64_sqshlqi(signed char, signed char); -int __builtin_aarch64_sqshlsi(int, int); -long unsigned int __builtin_aarch64_sqshlu_ndi_uss(long int, int); -short unsigned int __builtin_aarch64_sqshlu_nhi_uss(short int, int); -unsigned char __builtin_aarch64_sqshlu_nqi_uss(signed char, int); -unsigned int __builtin_aarch64_sqshlu_nsi_uss(int, int); -int __builtin_aarch64_sqshrn_ndi(long int, int); -signed char __builtin_aarch64_sqshrn_nhi(short int, int); -short int __builtin_aarch64_sqshrn_nsi(int, int); -int __builtin_aarch64_sqshrun_ndi(long int, int); -signed char __builtin_aarch64_sqshrun_nhi(short int, int); -short int __builtin_aarch64_sqshrun_nsi(int, int); -long int __builtin_aarch64_sqsubdi(long int, long int); -short int __builtin_aarch64_sqsubhi(short int, short int); -signed char __builtin_aarch64_sqsubqi(signed char, signed char); -int __builtin_aarch64_sqsubsi(int, int); -long int __builtin_aarch64_srshldi(long int, long int); -long int __builtin_aarch64_srshr_ndi(long int, int); -long int __builtin_aarch64_srsra_ndi(long int, long int, int); -long int __builtin_aarch64_sshldi(long int, long int); -long int __builtin_aarch64_ssli_ndi(long int, long int, int); -__Poly64_t __builtin_aarch64_ssli_ndi_ppps(__Poly64_t, __Poly64_t, int); -__Poly64x2_t __builtin_aarch64_ssli_nv2di_ppps(__Poly64x2_t, __Poly64x2_t, int); -long int __builtin_aarch64_ssra_ndi(long int, long int, int); -long int __builtin_aarch64_ssri_ndi(long int, long int, int); -void __builtin_aarch64_st1v16qi(signed char*, __Int8x16_t); -void __builtin_aarch64_st1v2df(double*, __Float64x2_t); -void __builtin_aarch64_st1v2di(long int*, __Int64x2_t); -void __builtin_aarch64_st1v2di_sp(long int*, __Poly64x2_t); -void __builtin_aarch64_st1v2sf(float*, __Float32x2_t); -void __builtin_aarch64_st1v2si(int*, __Int32x2_t); -void __builtin_aarch64_st1v4hf(__fp16*, __Float16x4_t); -void __builtin_aarch64_st1v4hi(short int*, __Int16x4_t); -void __builtin_aarch64_st1v4sf(float*, __Float32x4_t); -void __builtin_aarch64_st1v4si(int*, __Int32x4_t); -void __builtin_aarch64_st1v8hf(__fp16*, __Float16x8_t); -void __builtin_aarch64_st1v8hi(short int*, __Int16x8_t); -void __builtin_aarch64_st1v8qi(signed char*, __Int8x8_t); -void __builtin_aarch64_st1x2df(double*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2di(long int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v16qi(signed char*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v2df(double*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v2di(long int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v2sf(float*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v2si(int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v4hf(__fp16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v4hi(short int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v4sf(float*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v4si(int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v8hf(__fp16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v8hi(short int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v8qi(signed char*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x3df(double*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3di(long int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v16qi(signed char*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v2df(double*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v2di(long int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v2sf(float*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v2si(int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v4hf(__fp16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v4hi(short int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v4sf(float*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v4si(int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v8hf(__fp16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v8hi(short int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v8qi(signed char*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st2df(double*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2di(long int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v16qi(signed char*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v2df(double*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v2di(long int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v2sf(float*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v2si(int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v4hf(__fp16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v4hi(short int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v4sf(float*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v4si(int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v8hf(__fp16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v8hi(short int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v8qi(signed char*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st3df(double*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3di(long int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v16qi(signed char*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v2df(double*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v2di(long int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v2sf(float*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v2si(int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v4hf(__fp16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v4hi(short int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v4sf(float*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v4si(int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v8hf(__fp16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v8hi(short int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v8qi(signed char*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st4df(double*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4di(long int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v16qi(signed char*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v2df(double*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v2di(long int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v2sf(float*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v2si(int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v4hf(__fp16*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v4hi(short int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v4sf(float*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v4si(int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v8hf(__fp16*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v8hi(short int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v8qi(signed char*, __builtin_aarch64_simd_xi); -long int __builtin_aarch64_suqadddi_ssu(long int, long unsigned int); -short int __builtin_aarch64_suqaddhi_ssu(short int, short unsigned int); -signed char __builtin_aarch64_suqaddqi_ssu(signed char, unsigned char); -int __builtin_aarch64_suqaddsi_ssu(int, unsigned int); -__Int8x16_t __builtin_aarch64_tbl3v16qi(__builtin_aarch64_simd_oi, __Int8x16_t); -__Int8x16_t __builtin_aarch64_tbx4v16qi(__Int8x16_t, __builtin_aarch64_simd_oi, __Int8x16_t); -__fp16 __builtin_aarch64_ucvtfdihf_sus(long unsigned int, int); -double __builtin_aarch64_ucvtfdi_sus(long unsigned int, int); -__fp16 __builtin_aarch64_ucvtfhi_sus(short unsigned int, int); -__fp16 __builtin_aarch64_ucvtfsihf_sus(unsigned int, int); -float __builtin_aarch64_ucvtfsi_sus(unsigned int, int); -__Float64x2_t __builtin_aarch64_ucvtfv2di_sus(__Uint64x2_t, int); -__Float32x2_t __builtin_aarch64_ucvtfv2si_sus(__Uint32x2_t, int); -__Float16x4_t __builtin_aarch64_ucvtfv4hi_sus(__Uint16x4_t, int); -__Float32x4_t __builtin_aarch64_ucvtfv4si_sus(__Uint32x4_t, int); -__Float16x8_t __builtin_aarch64_ucvtfv8hi_sus(__Uint16x8_t, int); -__Uint32x4_t __builtin_aarch64_udot_laneqv16qi_uuuus(__Uint32x4_t, __Uint8x16_t, __Uint8x16_t, int); -__Uint32x2_t __builtin_aarch64_udot_laneqv8qi_uuuus(__Uint32x2_t, __Uint8x8_t, __Uint8x16_t, int); -__Uint32x4_t __builtin_aarch64_udot_lanev16qi_uuuus(__Uint32x4_t, __Uint8x16_t, __Uint8x8_t, int); -__Uint32x2_t __builtin_aarch64_udot_lanev8qi_uuuus(__Uint32x2_t, __Uint8x8_t, __Uint8x8_t, int); -__Uint32x4_t __builtin_aarch64_udotv16qi_uuuu(__Uint32x4_t, __Uint8x16_t, __Uint8x16_t); -__Uint32x2_t __builtin_aarch64_udotv8qi_uuuu(__Uint32x2_t, __Uint8x8_t, __Uint8x8_t); -long unsigned int __builtin_aarch64_uqadddi_uuu(long unsigned int, long unsigned int); -short unsigned int __builtin_aarch64_uqaddhi_uuu(short unsigned int, short unsigned int); -unsigned char __builtin_aarch64_uqaddqi_uuu(unsigned char, unsigned char); -unsigned int __builtin_aarch64_uqaddsi_uuu(unsigned int, unsigned int); -int __builtin_aarch64_uqmovndi(long int); -signed char __builtin_aarch64_uqmovnhi(short int); -short int __builtin_aarch64_uqmovnsi(int); -long unsigned int __builtin_aarch64_uqrshldi_uus(long unsigned int, long int); -short unsigned int __builtin_aarch64_uqrshlhi_uus(short unsigned int, short int); -unsigned char __builtin_aarch64_uqrshlqi_uus(unsigned char, signed char); -unsigned int __builtin_aarch64_uqrshlsi_uus(unsigned int, int); -unsigned int __builtin_aarch64_uqrshrn_ndi_uus(long unsigned int, int); -unsigned char __builtin_aarch64_uqrshrn_nhi_uus(short unsigned int, int); -short unsigned int __builtin_aarch64_uqrshrn_nsi_uus(unsigned int, int); -long unsigned int __builtin_aarch64_uqshldi_uus(long unsigned int, long int); -short unsigned int __builtin_aarch64_uqshlhi_uus(short unsigned int, short int); -long unsigned int __builtin_aarch64_uqshl_ndi_uus(long unsigned int, int); -short unsigned int __builtin_aarch64_uqshl_nhi_uus(short unsigned int, int); -unsigned char __builtin_aarch64_uqshl_nqi_uus(unsigned char, int); -unsigned int __builtin_aarch64_uqshl_nsi_uus(unsigned int, int); -unsigned char __builtin_aarch64_uqshlqi_uus(unsigned char, signed char); -unsigned int __builtin_aarch64_uqshlsi_uus(unsigned int, int); -unsigned int __builtin_aarch64_uqshrn_ndi_uus(long unsigned int, int); -unsigned char __builtin_aarch64_uqshrn_nhi_uus(short unsigned int, int); -short unsigned int __builtin_aarch64_uqshrn_nsi_uus(unsigned int, int); -long unsigned int __builtin_aarch64_uqsubdi_uuu(long unsigned int, long unsigned int); -short unsigned int __builtin_aarch64_uqsubhi_uuu(short unsigned int, short unsigned int); -unsigned char __builtin_aarch64_uqsubqi_uuu(unsigned char, unsigned char); -unsigned int __builtin_aarch64_uqsubsi_uuu(unsigned int, unsigned int); -long unsigned int __builtin_aarch64_urshldi_uus(long unsigned int, long int); -long unsigned int __builtin_aarch64_urshr_ndi_uus(long unsigned int, int); -long unsigned int __builtin_aarch64_ursra_ndi_uuus(long unsigned int, long unsigned int, int); -long unsigned int __builtin_aarch64_ushldi_uus(long unsigned int, long int); -long unsigned int __builtin_aarch64_usli_ndi_uuus(long unsigned int, long unsigned int, int); -long unsigned int __builtin_aarch64_usqadddi_uus(long unsigned int, long int); -short unsigned int __builtin_aarch64_usqaddhi_uus(short unsigned int, short int); -unsigned char __builtin_aarch64_usqaddqi_uus(unsigned char, signed char); -unsigned int __builtin_aarch64_usqaddsi_uus(unsigned int, int); -long unsigned int __builtin_aarch64_usra_ndi_uuus(long unsigned int, long unsigned int, int); -long unsigned int __builtin_aarch64_usri_ndi_uuus(long unsigned int, long unsigned int, int); -__Uint64x2_t __builtin_aarch64_xarqv2di_uuus(__Uint64x2_t, __Uint64x2_t, int); - -void* __builtin_aarch64_autia1716(void*, long unsigned int); -void* __builtin_aarch64_autib1716(void*, long unsigned int); -__bf16 __builtin_aarch64_bfcvtbf(float); -__Bfloat16x8_t __builtin_aarch64_bfcvtn2v8bf(__Bfloat16x8_t, __Float32x4_t); -__Bfloat16x8_t __builtin_aarch64_bfcvtn_qv8bf(__Float32x4_t); -__Bfloat16x4_t __builtin_aarch64_bfcvtnv4bf(__Float32x4_t); -__Float32x2_t __builtin_aarch64_bfdot_laneqv2sf(__Float32x2_t, __Bfloat16x4_t, __Bfloat16x8_t, int); -__Float32x4_t __builtin_aarch64_bfdot_laneqv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t, int); -__Float32x2_t __builtin_aarch64_bfdot_lanev2sf(__Float32x2_t, __Bfloat16x4_t, __Bfloat16x4_t, int); -__Float32x4_t __builtin_aarch64_bfdot_lanev4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x4_t, int); -__Float32x2_t __builtin_aarch64_bfdotv2sf(__Float32x2_t, __Bfloat16x4_t, __Bfloat16x4_t); -__Float32x4_t __builtin_aarch64_bfdotv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); -__Float32x4_t __builtin_aarch64_bfmlalb_lane_qv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t, int); -__Float32x4_t __builtin_aarch64_bfmlalb_lanev4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x4_t, int); -__Float32x4_t __builtin_aarch64_bfmlalbv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); -__Float32x4_t __builtin_aarch64_bfmlalt_lane_qv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t, int); -__Float32x4_t __builtin_aarch64_bfmlalt_lanev4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x4_t, int); -__Float32x4_t __builtin_aarch64_bfmlaltv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); -__Float32x4_t __builtin_aarch64_bfmmlaqv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); -__Uint64x2_t __builtin_aarch64_bswapv2di_uu(__Uint64x2_t); -__Uint32x2_t __builtin_aarch64_bswapv2si_uu(__Uint32x2_t); -__Uint16x4_t __builtin_aarch64_bswapv4hi_uu(__Uint16x4_t); -__Uint32x4_t __builtin_aarch64_bswapv4si_uu(__Uint32x4_t); -__Uint16x8_t __builtin_aarch64_bswapv8hi_uu(__Uint16x8_t); -long unsigned int __builtin_aarch64_cmeqdf_uss(double, double); -unsigned int __builtin_aarch64_cmeqsf_uss(float, float); -__Uint64x2_t __builtin_aarch64_cmeqv2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_cmeqv2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_cmeqv4sf_uss(__Float32x4_t, __Float32x4_t); -long unsigned int __builtin_aarch64_cmgedf_uss(double, double); -unsigned int __builtin_aarch64_cmgesf_uss(float, float); -__Uint64x2_t __builtin_aarch64_cmgev2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_cmgev2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_cmgev4sf_uss(__Float32x4_t, __Float32x4_t); -long unsigned int __builtin_aarch64_cmgtdf_uss(double, double); -unsigned int __builtin_aarch64_cmgtsf_uss(float, float); -__Uint64x2_t __builtin_aarch64_cmgtv2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_cmgtv2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_cmgtv4sf_uss(__Float32x4_t, __Float32x4_t); -long unsigned int __builtin_aarch64_cmledf_uss(double, double); -unsigned int __builtin_aarch64_cmlesf_uss(float, float); -__Uint64x2_t __builtin_aarch64_cmlev2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_cmlev2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_cmlev4sf_uss(__Float32x4_t, __Float32x4_t); -long unsigned int __builtin_aarch64_cmltdf_uss(double, double); -unsigned int __builtin_aarch64_cmltsf_uss(float, float); -__Uint64x2_t __builtin_aarch64_cmltv2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_cmltv2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_cmltv4sf_uss(__Float32x4_t, __Float32x4_t); -__Bfloat16x8_t __builtin_aarch64_combinev4bf(__Bfloat16x4_t, __Bfloat16x4_t); -__Int32x2_t __builtin_aarch64_ctzv2si(__Int32x2_t); -__Int32x4_t __builtin_aarch64_ctzv4si(__Int32x4_t); -long unsigned int __builtin_aarch64_facgedf_uss(double, double); -unsigned int __builtin_aarch64_facgesf_uss(float, float); -__Uint64x2_t __builtin_aarch64_facgev2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_facgev2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_facgev4sf_uss(__Float32x4_t, __Float32x4_t); -long unsigned int __builtin_aarch64_facgtdf_uss(double, double); -unsigned int __builtin_aarch64_facgtsf_uss(float, float); -__Uint64x2_t __builtin_aarch64_facgtv2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_facgtv2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_facgtv4sf_uss(__Float32x4_t, __Float32x4_t); -long unsigned int __builtin_aarch64_facledf_uss(double, double); -unsigned int __builtin_aarch64_faclesf_uss(float, float); -__Uint64x2_t __builtin_aarch64_faclev2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_faclev2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_faclev4sf_uss(__Float32x4_t, __Float32x4_t); -long unsigned int __builtin_aarch64_facltdf_uss(double, double); -unsigned int __builtin_aarch64_facltsf_uss(float, float); -__Uint64x2_t __builtin_aarch64_facltv2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_facltv2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_facltv4sf_uss(__Float32x4_t, __Float32x4_t); -__Float64x2_t __builtin_aarch64_fcmla_lane0v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); -__Float64x2_t __builtin_aarch64_fcmla_lane180v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); -__Float64x2_t __builtin_aarch64_fcmla_lane270v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); -__Float64x2_t __builtin_aarch64_fcmla_lane90v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); -long int __builtin_aarch64_fix_truncdfdi(double); -int __builtin_aarch64_fix_truncdfsi(double); -long int __builtin_aarch64_fix_truncsfdi(float); -int __builtin_aarch64_fix_truncsfsi(float); -long unsigned int __builtin_aarch64_fixuns_truncdfdi_us(double); -unsigned int __builtin_aarch64_fixuns_truncdfsi_us(double); -long unsigned int __builtin_aarch64_fixuns_truncsfdi_us(float); -unsigned int __builtin_aarch64_fixuns_truncsfsi_us(float); -float __builtin_aarch64_fmaxsf(float, float); -float __builtin_aarch64_fminsf(float, float); -__Float64x2_t __builtin_aarch64_fnmav2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fnmav2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); -__Float32x4_t __builtin_aarch64_fnmav4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); -double __builtin_aarch64_frint32xdf(double); -float __builtin_aarch64_frint32xsf(float); -__Float64x2_t __builtin_aarch64_frint32xv2df(__Float64x2_t); -__Float32x2_t __builtin_aarch64_frint32xv2sf(__Float32x2_t); -__Float32x4_t __builtin_aarch64_frint32xv4sf(__Float32x4_t); -double __builtin_aarch64_frint32zdf(double); -float __builtin_aarch64_frint32zsf(float); -__Float64x2_t __builtin_aarch64_frint32zv2df(__Float64x2_t); -__Float32x2_t __builtin_aarch64_frint32zv2sf(__Float32x2_t); -__Float32x4_t __builtin_aarch64_frint32zv4sf(__Float32x4_t); -double __builtin_aarch64_frint64xdf(double); -float __builtin_aarch64_frint64xsf(float); -__Float64x2_t __builtin_aarch64_frint64xv2df(__Float64x2_t); -__Float32x2_t __builtin_aarch64_frint64xv2sf(__Float32x2_t); -__Float32x4_t __builtin_aarch64_frint64xv4sf(__Float32x4_t); -double __builtin_aarch64_frint64zdf(double); -float __builtin_aarch64_frint64zsf(float); -__Float64x2_t __builtin_aarch64_frint64zv2df(__Float64x2_t); -__Float32x2_t __builtin_aarch64_frint64zv2sf(__Float32x2_t); -__Float32x4_t __builtin_aarch64_frint64zv4sf(__Float32x4_t); -__Bfloat16x4_t __builtin_aarch64_get_dregciv4bf(__builtin_aarch64_simd_ci, int); -__Bfloat16x4_t __builtin_aarch64_get_dregoiv4bf(__builtin_aarch64_simd_oi, int); -__Bfloat16x4_t __builtin_aarch64_get_dregxiv4bf(__builtin_aarch64_simd_xi, int); -__Bfloat16x8_t __builtin_aarch64_get_qregciv8bf(__builtin_aarch64_simd_ci, int); -__Bfloat16x8_t __builtin_aarch64_get_qregoiv8bf(__builtin_aarch64_simd_oi, int); -__Bfloat16x8_t __builtin_aarch64_get_qregxiv8bf(__builtin_aarch64_simd_xi, int); -__Int64x2_t __builtin_aarch64_intrinsic_vec_smult_lo_v2si(__Int32x2_t, __Int32x2_t); -__Int32x4_t __builtin_aarch64_intrinsic_vec_smult_lo_v4hi(__Int16x4_t, __Int16x4_t); -__Int16x8_t __builtin_aarch64_intrinsic_vec_smult_lo_v8qi(__Int8x8_t, __Int8x8_t); -__Uint64x2_t __builtin_aarch64_intrinsic_vec_umult_lo_v2si_uuu(__Uint32x2_t, __Uint32x2_t); -__Uint32x4_t __builtin_aarch64_intrinsic_vec_umult_lo_v4hi_uuu(__Uint16x4_t, __Uint16x4_t); -__Uint16x8_t __builtin_aarch64_intrinsic_vec_umult_lo_v8qi_uuu(__Uint8x8_t, __Uint8x8_t); -int __builtin_aarch64_jcvtzs(double); -void __builtin_aarch64_ld1v2di_sp(long int*, __Poly64_t); -__Bfloat16x4_t __builtin_aarch64_ld1v4bf(const __bf16*); -__Bfloat16x8_t __builtin_aarch64_ld1v8bf(const __bf16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4bf(const __bf16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8bf(const __bf16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4bf(const __bf16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8bf(const __bf16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4df(const double*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4di(const long int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v16qi(const signed char*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2df(const double*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2di(const long int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2sf(const float*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2si(const int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4bf(const __bf16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4hf(const __fp16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4hi(const short int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4sf(const float*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4si(const int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8bf(const __bf16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8hf(const __fp16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8hi(const short int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8qi(const signed char*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4bf(const __bf16*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8bf(const __bf16*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4bf(const __bf16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8bf(const __bf16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4bf(const __bf16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8bf(const __bf16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4bf(const __bf16*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8bf(const __bf16*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4bf(const __bf16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8bf(const __bf16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4bf(const __bf16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8bf(const __bf16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4bf(const __bf16*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8bf(const __bf16*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4bf(const __bf16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8bf(const __bf16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4bf(const __bf16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8bf(const __bf16*); -double __builtin_aarch64_negdf(double); -float __builtin_aarch64_negsf(float); -__Float64x2_t __builtin_aarch64_negv2df(__Float64x2_t); -__Float32x2_t __builtin_aarch64_negv2sf(__Float32x2_t); -__Float16x4_t __builtin_aarch64_negv4hf(__Float16x4_t); -__Float32x4_t __builtin_aarch64_negv4sf(__Float32x4_t); -__Float16x8_t __builtin_aarch64_negv8hf(__Float16x8_t); -void* __builtin_aarch64_pacia1716(void*, long unsigned int); -void* __builtin_aarch64_pacib1716(void*, long unsigned int); -int __builtin_aarch64_rndr(long unsigned int*); -int __builtin_aarch64_rndrrs(long unsigned int*); -double __builtin_aarch64_rsqrt_df(double); -float __builtin_aarch64_rsqrt_sf(float); -__Float64x2_t __builtin_aarch64_rsqrt_v2df(__Float64x2_t); -__Float32x2_t __builtin_aarch64_rsqrt_v2sf(__Float32x2_t); -__Float32x4_t __builtin_aarch64_rsqrt_v4sf(__Float32x4_t); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv8bf(__builtin_aarch64_simd_ci, __Bfloat16x8_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv8bf(__builtin_aarch64_simd_oi, __Bfloat16x8_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv8bf(__builtin_aarch64_simd_xi, __Bfloat16x8_t, int); -__Bfloat16x4_t __builtin_aarch64_simd_bslv4bf_suss(__Uint16x4_t, __Bfloat16x4_t, __Bfloat16x4_t); -__Bfloat16x8_t __builtin_aarch64_simd_bslv8bf_suss(__Uint16x8_t, __Bfloat16x8_t, __Bfloat16x8_t); -__Int32x4_t __builtin_aarch64_simd_smmlav16qi(__Int32x4_t, __Int8x16_t, __Int8x16_t); -__Uint32x4_t __builtin_aarch64_simd_ummlav16qi_uuuu(__Uint32x4_t, __Uint8x16_t, __Uint8x16_t); -__Int32x4_t __builtin_aarch64_simd_usmmlav16qi_ssus(__Int32x4_t, __Uint8x16_t, __Int8x16_t); -void __builtin_aarch64_st1v4bf(__bf16*, __Bfloat16x4_t); -void __builtin_aarch64_st1v8bf(__bf16*, __Bfloat16x8_t); -void __builtin_aarch64_st1x2v4bf(__bf16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v8bf(__bf16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x3v4bf(__bf16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v8bf(__bf16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x4df(double*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4di(long int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v16qi(signed char*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v2df(double*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v2di(long int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v2sf(float*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v2si(int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v4bf(__bf16*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v4hf(__fp16*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v4hi(short int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v4sf(float*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v4si(int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v8bf(__bf16*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v8hf(__fp16*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v8hi(short int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v8qi(signed char*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st2_lanev4bf(__bf16*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev8bf(__bf16*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2v4bf(__bf16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v8bf(__bf16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st3_lanev4bf(__bf16*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev8bf(__bf16*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3v4bf(__bf16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v8bf(__bf16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st4_lanev4bf(__bf16*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev8bf(__bf16*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4v4bf(__bf16*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v8bf(__bf16*, __builtin_aarch64_simd_xi); -__Int32x4_t __builtin_aarch64_sudot_laneqv16qi_sssus(__Int32x4_t, __Int8x16_t, __Uint8x16_t, int); -__Int32x2_t __builtin_aarch64_sudot_laneqv8qi_sssus(__Int32x2_t, __Int8x8_t, __Uint8x16_t, int); -__Int32x4_t __builtin_aarch64_sudot_lanev16qi_sssus(__Int32x4_t, __Int8x16_t, __Uint8x8_t, int); -__Int32x2_t __builtin_aarch64_sudot_lanev8qi_sssus(__Int32x2_t, __Int8x8_t, __Uint8x8_t, int); -__Int8x16_t __builtin_aarch64_trn1v16qi(__Int8x16_t, __Int8x16_t); -__Float64x2_t __builtin_aarch64_trn1v2df(__Float64x2_t, __Float64x2_t); -__Int64x2_t __builtin_aarch64_trn1v2di(__Int64x2_t, __Int64x2_t); -__Float32x2_t __builtin_aarch64_trn1v2sf(__Float32x2_t, __Float32x2_t); -__Int32x2_t __builtin_aarch64_trn1v2si(__Int32x2_t, __Int32x2_t); -__Int16x4_t __builtin_aarch64_trn1v4hi(__Int16x4_t, __Int16x4_t); -__Float32x4_t __builtin_aarch64_trn1v4sf(__Float32x4_t, __Float32x4_t); -__Int32x4_t __builtin_aarch64_trn1v4si(__Int32x4_t, __Int32x4_t); -__Int16x8_t __builtin_aarch64_trn1v8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_trn1v8qi(__Int8x8_t, __Int8x8_t); -__Int8x16_t __builtin_aarch64_trn2v16qi(__Int8x16_t, __Int8x16_t); -__Float64x2_t __builtin_aarch64_trn2v2df(__Float64x2_t, __Float64x2_t); -__Int64x2_t __builtin_aarch64_trn2v2di(__Int64x2_t, __Int64x2_t); -__Float32x2_t __builtin_aarch64_trn2v2sf(__Float32x2_t, __Float32x2_t); -__Int32x2_t __builtin_aarch64_trn2v2si(__Int32x2_t, __Int32x2_t); -__Int16x4_t __builtin_aarch64_trn2v4hi(__Int16x4_t, __Int16x4_t); -__Float32x4_t __builtin_aarch64_trn2v4sf(__Float32x4_t, __Float32x4_t); -__Int32x4_t __builtin_aarch64_trn2v4si(__Int32x4_t, __Int32x4_t); -__Int16x8_t __builtin_aarch64_trn2v8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_trn2v8qi(__Int8x8_t, __Int8x8_t); -__Int32x4_t __builtin_aarch64_usdot_laneqv16qi_ssuss(__Int32x4_t, __Uint8x16_t, __Int8x16_t, int); -__Int32x2_t __builtin_aarch64_usdot_laneqv8qi_ssuss(__Int32x2_t, __Uint8x8_t, __Int8x16_t, int); -__Int32x4_t __builtin_aarch64_usdot_lanev16qi_ssuss(__Int32x4_t, __Uint8x16_t, __Int8x8_t, int); -__Int32x2_t __builtin_aarch64_usdot_lanev8qi_ssuss(__Int32x2_t, __Uint8x8_t, __Int8x8_t, int); -__Int32x4_t __builtin_aarch64_usdotv16qi_ssus(__Int32x4_t, __Uint8x16_t, __Int8x16_t); -__Int32x2_t __builtin_aarch64_usdotv8qi_ssus(__Int32x2_t, __Uint8x8_t, __Int8x8_t); -__Int8x16_t __builtin_aarch64_uzp1v16qi(__Int8x16_t, __Int8x16_t); -__Float64x2_t __builtin_aarch64_uzp1v2df(__Float64x2_t, __Float64x2_t); -__Int64x2_t __builtin_aarch64_uzp1v2di(__Int64x2_t, __Int64x2_t); -__Float32x2_t __builtin_aarch64_uzp1v2sf(__Float32x2_t, __Float32x2_t); -__Int32x2_t __builtin_aarch64_uzp1v2si(__Int32x2_t, __Int32x2_t); -__Int16x4_t __builtin_aarch64_uzp1v4hi(__Int16x4_t, __Int16x4_t); -__Float32x4_t __builtin_aarch64_uzp1v4sf(__Float32x4_t, __Float32x4_t); -__Int32x4_t __builtin_aarch64_uzp1v4si(__Int32x4_t, __Int32x4_t); -__Int16x8_t __builtin_aarch64_uzp1v8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_uzp1v8qi(__Int8x8_t, __Int8x8_t); -__Int8x16_t __builtin_aarch64_uzp2v16qi(__Int8x16_t, __Int8x16_t); -__Float64x2_t __builtin_aarch64_uzp2v2df(__Float64x2_t, __Float64x2_t); -__Int64x2_t __builtin_aarch64_uzp2v2di(__Int64x2_t, __Int64x2_t); -__Float32x2_t __builtin_aarch64_uzp2v2sf(__Float32x2_t, __Float32x2_t); -__Int32x2_t __builtin_aarch64_uzp2v2si(__Int32x2_t, __Int32x2_t); -__Int16x4_t __builtin_aarch64_uzp2v4hi(__Int16x4_t, __Int16x4_t); -__Float32x4_t __builtin_aarch64_uzp2v4sf(__Float32x4_t, __Float32x4_t); -__Int32x4_t __builtin_aarch64_uzp2v4si(__Int32x4_t, __Int32x4_t); -__Int16x8_t __builtin_aarch64_uzp2v8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_uzp2v8qi(__Int8x8_t, __Int8x8_t); -__Int64x2_t __builtin_aarch64_vec_smlal_laneq_v2si(__Int64x2_t, __Int32x2_t, __Int32x4_t, int); -__Int32x4_t __builtin_aarch64_vec_smlal_laneq_v4hi(__Int32x4_t, __Int16x4_t, __Int16x8_t, int); -__Int64x2_t __builtin_aarch64_vec_smlal_lane_v2si(__Int64x2_t, __Int32x2_t, __Int32x2_t, int); -__Int32x4_t __builtin_aarch64_vec_smlal_lane_v4hi(__Int32x4_t, __Int16x4_t, __Int16x4_t, int); -__Int64x2_t __builtin_aarch64_vec_smult_laneq_v2si(__Int32x2_t, __Int32x4_t, int); -__Int32x4_t __builtin_aarch64_vec_smult_laneq_v4hi(__Int16x4_t, __Int16x8_t, int); -__Int64x2_t __builtin_aarch64_vec_smult_lane_v2si(__Int32x2_t, __Int32x2_t, int); -__Int32x4_t __builtin_aarch64_vec_smult_lane_v4hi(__Int16x4_t, __Int16x4_t, int); -__Uint64x2_t __builtin_aarch64_vec_umlal_laneq_v2si_uuuus(__Uint64x2_t, __Uint32x2_t, __Uint32x4_t, int); -__Uint32x4_t __builtin_aarch64_vec_umlal_laneq_v4hi_uuuus(__Uint32x4_t, __Uint16x4_t, __Uint16x8_t, int); -__Uint64x2_t __builtin_aarch64_vec_umlal_lane_v2si_uuuus(__Uint64x2_t, __Uint32x2_t, __Uint32x2_t, int); -__Uint32x4_t __builtin_aarch64_vec_umlal_lane_v4hi_uuuus(__Uint32x4_t, __Uint16x4_t, __Uint16x4_t, int); -__Uint64x2_t __builtin_aarch64_vec_umult_laneq_v2si_uuus(__Uint32x2_t, __Uint32x4_t, int); -__Uint32x4_t __builtin_aarch64_vec_umult_laneq_v4hi_uuus(__Uint16x4_t, __Uint16x8_t, int); -__Uint64x2_t __builtin_aarch64_vec_umult_lane_v2si_uuus(__Uint32x2_t, __Uint32x2_t, int); -__Uint32x4_t __builtin_aarch64_vec_umult_lane_v4hi_uuus(__Uint16x4_t, __Uint16x4_t, int); -__Int16x8_t __builtin_aarch64_vec_widen_smult_hi_v16qi(__Int8x16_t, __Int8x16_t); -__Int64x2_t __builtin_aarch64_vec_widen_smult_hi_v4si(__Int32x4_t, __Int32x4_t); -__Int32x4_t __builtin_aarch64_vec_widen_smult_hi_v8hi(__Int16x8_t, __Int16x8_t); -__Uint16x8_t __builtin_aarch64_vec_widen_umult_hi_v16qi_uuu(__Uint8x16_t, __Uint8x16_t); -__Uint64x2_t __builtin_aarch64_vec_widen_umult_hi_v4si_uuu(__Uint32x4_t, __Uint32x4_t); -__Uint32x4_t __builtin_aarch64_vec_widen_umult_hi_v8hi_uuu(__Uint16x8_t, __Uint16x8_t); -void* __builtin_aarch64_xpaclri(void*); -__Int8x16_t __builtin_aarch64_zip1v16qi(__Int8x16_t, __Int8x16_t); -__Float64x2_t __builtin_aarch64_zip1v2df(__Float64x2_t, __Float64x2_t); -__Int64x2_t __builtin_aarch64_zip1v2di(__Int64x2_t, __Int64x2_t); -__Float32x2_t __builtin_aarch64_zip1v2sf(__Float32x2_t, __Float32x2_t); -__Int32x2_t __builtin_aarch64_zip1v2si(__Int32x2_t, __Int32x2_t); -__Int16x4_t __builtin_aarch64_zip1v4hi(__Int16x4_t, __Int16x4_t); -__Float32x4_t __builtin_aarch64_zip1v4sf(__Float32x4_t, __Float32x4_t); -__Int32x4_t __builtin_aarch64_zip1v4si(__Int32x4_t, __Int32x4_t); -__Int16x8_t __builtin_aarch64_zip1v8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_zip1v8qi(__Int8x8_t, __Int8x8_t); -__Int8x16_t __builtin_aarch64_zip2v16qi(__Int8x16_t, __Int8x16_t); -__Float64x2_t __builtin_aarch64_zip2v2df(__Float64x2_t, __Float64x2_t); -__Int64x2_t __builtin_aarch64_zip2v2di(__Int64x2_t, __Int64x2_t); -__Float32x2_t __builtin_aarch64_zip2v2sf(__Float32x2_t, __Float32x2_t); -__Int32x2_t __builtin_aarch64_zip2v2si(__Int32x2_t, __Int32x2_t); -__Int16x4_t __builtin_aarch64_zip2v4hi(__Int16x4_t, __Int16x4_t); -__Float32x4_t __builtin_aarch64_zip2v4sf(__Float32x4_t, __Float32x4_t); -__Int32x4_t __builtin_aarch64_zip2v4si(__Int32x4_t, __Int32x4_t); -__Int16x8_t __builtin_aarch64_zip2v8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_zip2v8qi(__Int8x8_t, __Int8x8_t); - -// -march=armv8.5-a+memtag -void* __builtin_aarch64_memtag_get_tag(void*); -long unsigned int __builtin_aarch64_memtag_gmi(void*, long unsigned int); -void* __builtin_aarch64_memtag_inc_tag(void*, unsigned int); -void* __builtin_aarch64_memtag_irg(void*, long unsigned int); -void __builtin_aarch64_memtag_set_tag(void*); -long int __builtin_aarch64_memtag_subp(void*, void*); -// -march=armv8.5-a+tme -void __builtin_aarch64_tcancel(long unsigned int); -void __builtin_aarch64_tcommit(void); -long unsigned int __builtin_aarch64_tstart(void); -long unsigned int __builtin_aarch64_ttest(void); - -#endif - -#ifdef __IWMMXT__ -typedef unsigned long long __mmx_m64; -typedef int __mmx_v2si __attribute__ ((vector_size (8))); -typedef short __mmx_v4hi __attribute__ ((vector_size (8))); - -#ifdef __ANDROID__ -typedef char __mmx_v8qi __attribute__ ((vector_size (8))); -__mmx_m64 __builtin_arm_wsadb (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wsadh (__mmx_v4hi __A, __mmx_v4hi __B); -void __builtin_arm_setwcx(int x, int y); -int __builtin_arm_getwcx(int x); -#else -typedef signed char __mmx_v8qi __attribute__ ((vector_size (8))); -__mmx_m64 __builtin_arm_wsadb (__mmx_v2si __A, __mmx_v8qi __B, __mmx_v8qi __C); -__mmx_m64 __builtin_arm_wsadh (__mmx_v2si __A, __mmx_v4hi __B, __mmx_v4hi __C); -#endif // __ANDROID__ - -__mmx_m64 __builtin_arm_walign (__mmx_v8qi __a, __mmx_v8qi __b, int __C); -__mmx_m64 __builtin_arm_wpackhss (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wpackwss (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wpackdss (long long __m1, long long __m2); -__mmx_m64 __builtin_arm_wpackhus (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wpackwus (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wpackdus (long long __m1, long long __m2); -__mmx_m64 __builtin_arm_wunpckihb (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wunpckihh (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wunpckihw (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wunpckilb (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wunpckilh (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wunpckilw (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wunpckelsb (__mmx_v8qi __m1); -__mmx_m64 __builtin_arm_wunpckelsh (__mmx_v4hi __m1); -__mmx_m64 __builtin_arm_wunpckelsw (__mmx_v2si __m1); -__mmx_m64 __builtin_arm_wunpckehsb (__mmx_v8qi __m1); -__mmx_m64 __builtin_arm_wunpckehsh (__mmx_v4hi __m1); -__mmx_m64 __builtin_arm_wunpckehsw (__mmx_v2si __m1); -__mmx_m64 __builtin_arm_wunpckelub (__mmx_v8qi __m1); -__mmx_m64 __builtin_arm_wunpckeluh (__mmx_v4hi __m1); -__mmx_m64 __builtin_arm_wunpckeluw (__mmx_v2si __m1); -__mmx_m64 __builtin_arm_wunpckehub (__mmx_v8qi __m1); -__mmx_m64 __builtin_arm_wunpckehuh (__mmx_v4hi __m1); -__mmx_m64 __builtin_arm_wunpckehuw (__mmx_v2si __m1); -__mmx_m64 __builtin_arm_waddb (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_waddh (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_waddw (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_waddbss (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_waddhss (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_waddwss (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_waddbus (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_waddhus (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_waddwus (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wsubb (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wsubh (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wsubw (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wsubbss (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wsubhss (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wsubwss (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wsubbus (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wsubhus (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wsubwus (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wmadds (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wmaddu (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wmulsm (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wmulum (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wmulul (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wsllh (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wsllhi (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wsllw (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wsllwi (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wslld (int __m, int __count); -__mmx_m64 __builtin_arm_wslldi (int __m, int __count); -__mmx_m64 __builtin_arm_wsrah (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wsrahi (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wsraw (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wsrawi (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wsrad (int __m, int __count); -__mmx_m64 __builtin_arm_wsradi (int __m, int __count); -__mmx_m64 __builtin_arm_wsrlh (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wsrlhi (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wsrlw (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wsrlwi (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wsrld (int __m, int __count); -__mmx_m64 __builtin_arm_wsrldi (int __m, int __count); -__mmx_m64 __builtin_arm_wrorh (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wrorhi (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wrorw (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wrorwi (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wrord (int __m, int __count); -__mmx_m64 __builtin_arm_wrordi (int __m, int __count); -__mmx_m64 __builtin_arm_wand (int __m1, int __m2); -__mmx_m64 __builtin_arm_wandn (int __m2, int __m1); -__mmx_m64 __builtin_arm_wor (int __m1, int __m2); -__mmx_m64 __builtin_arm_wxor (int __m1, int __m2); -__mmx_m64 __builtin_arm_wcmpeqb (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wcmpgtsb (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wcmpgtub (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wcmpeqh (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wcmpgtsh (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wcmpgtuh (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wcmpeqw (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wcmpgtsw (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wcmpgtuw (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wmacu (int __A, __mmx_v4hi __B, __mmx_v4hi __C); -__mmx_m64 __builtin_arm_wmacs (int __A, __mmx_v4hi __B, __mmx_v4hi __C); -__mmx_m64 __builtin_arm_wmacuz (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wmacsz (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_waccb (__mmx_v8qi __A); -__mmx_m64 __builtin_arm_wacch (__mmx_v4hi __A); -__mmx_m64 __builtin_arm_waccw (__mmx_v2si __A); -__mmx_m64 __builtin_arm_tmia (int __A, int __B, int __C); -__mmx_m64 __builtin_arm_tmiaph (int __A, int __B, int __C); -__mmx_m64 __builtin_arm_tmiabb (int __A, int __B, int __C); -__mmx_m64 __builtin_arm_tmiabt (int __A, int __B, int __C); -__mmx_m64 __builtin_arm_tmiatb (int __A, int __B, int __C); -__mmx_m64 __builtin_arm_tmiatt (int __A, int __B, int __C); -__mmx_m64 __builtin_arm_wmaxsb (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wmaxsh (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wmaxsw (__mmx_v2si __A, __mmx_v2si __B); -__mmx_m64 __builtin_arm_wmaxub (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wmaxuh (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wmaxuw (__mmx_v2si __A, __mmx_v2si __B); -__mmx_m64 __builtin_arm_wminsb (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wminsh (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wminsw (__mmx_v2si __A, __mmx_v2si __B); -__mmx_m64 __builtin_arm_wminub (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wminuh (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wminuw (__mmx_v2si __A, __mmx_v2si __B); -__mmx_m64 __builtin_arm_tmovmskb (__mmx_v8qi __A); -__mmx_m64 __builtin_arm_tmovmskh (__mmx_v4hi __A); -__mmx_m64 __builtin_arm_tmovmskw (__mmx_v2si __A); -__mmx_m64 __builtin_arm_wavg2br (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wavg2hr (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wavg2b (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wavg2h (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wsadbz (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wsadhz (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wsadbz (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wsadhz (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wzero (); -__mmx_m64 __builtin_arm_setwcgr0 (int __value); -__mmx_m64 __builtin_arm_setwcgr1 (int __value); -__mmx_m64 __builtin_arm_setwcgr2 (int __value); -__mmx_m64 __builtin_arm_setwcgr3 (int __value); -__mmx_m64 __builtin_arm_getwcgr0 (); -__mmx_m64 __builtin_arm_getwcgr1 (); -__mmx_m64 __builtin_arm_getwcgr2 (); -__mmx_m64 __builtin_arm_getwcgr3 (); -__mmx_m64 __builtin_arm_wabsb (__mmx_v8qi m1); -__mmx_m64 __builtin_arm_wabsh (__mmx_v4hi __m1); -__mmx_m64 __builtin_arm_wabsw (__mmx_v2si __m1); -__mmx_m64 __builtin_arm_waddsubhx (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wabsdiffb (__mmx_v8qi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_wabsdiffh (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wabsdiffw (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wavg4 (__mmx_v8qi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_wavg4r (__mmx_v8qi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_wmaddsx (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wmaddux (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wmaddsn (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wmaddun (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wmulwsm (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wmulwum (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wmulsmr (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wmulwsmr (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wmulumr (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wmulwumr (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wmulwl (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wqmulm (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wqmulwm (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wqmulmr (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wqmulwmr (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wsubaddhx (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_waddbhusl (__mmx_v4hi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_waddbhusm (__mmx_v4hi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_walignr0 (__mmx_v8qi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_walignr1 (__mmx_v8qi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_walignr2 (__mmx_v8qi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_walignr3 (__mmx_v8qi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_tbcstb (signed char value); -__mmx_m64 __builtin_arm_tbcsth (short value); -__mmx_m64 __builtin_arm_tbcstw (int value); -int __builtin_arm_textrmsb(__mmx_v8qi, int); -int __builtin_arm_textrmsh(__mmx_v4hi, int); -int __builtin_arm_textrmsw(__mmx_v2si, int); -int __builtin_arm_textrmub(__mmx_v8qi, int); -int __builtin_arm_textrmuh(___mmx_v4hi, int); -int __builtin_arm_textrmuw(__mmx_v2si, int); -__mmx_v8qi __builtin_arm_tinsrb(__mmx_v8qi, int, int); -___mmx_v4hi __builtin_arm_tinsrh(___mmx_v4hi, int, int); -__mmx_v2si __builtin_arm_tinsrw(__mmx_v2si, int, int); -___mmx_v4hi __builtin_arm_wshufh(___mmx_v4hi, int); -#endif // __IWMMX__ - -#ifdef __IWMMXT2__ //enable with -march=iwmmxt2 -long long unsigned int __builtin_arm_wmerge(long long unsigned int, long long unsigned int, int); -long long unsigned int __builtin_arm_wmiabb(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiabbn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiabt(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiabtn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiatb(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiatbn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiatt(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiattn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiawbb(long long unsigned int, __mmx_v2si, __mmx_v2si); -long long unsigned int __builtin_arm_wmiawbbn(long long unsigned int, __mmx_v2si, __mmx_v2si); -long long unsigned int __builtin_arm_wmiawbt(long long unsigned int, __mmx_v2si, __mmx_v2si); -long long unsigned int __builtin_arm_wmiawbtn(long long unsigned int, __mmx_v2si, __mmx_v2si); -long long unsigned int __builtin_arm_wmiawtb(long long unsigned int, __mmx_v2si, __mmx_v2si); -long long unsigned int __builtin_arm_wmiawtbn(long long unsigned int, __mmx_v2si, __mmx_v2si); -long long unsigned int __builtin_arm_wmiawtt(long long unsigned int, __mmx_v2si, __mmx_v2si); -long long unsigned int __builtin_arm_wmiawttn(long long unsigned int, __mmx_v2si, __mmx_v2si); -__mmx_v2si __builtin_arm_wqmiabb(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -__mmx_v2si __builtin_arm_wqmiabbn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -__mmx_v2si __builtin_arm_wqmiabt(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -__mmx_v2si __builtin_arm_wqmiabtn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -__mmx_v2si __builtin_arm_wqmiatb(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -__mmx_v2si __builtin_arm_wqmiatbn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -__mmx_v2si __builtin_arm_wqmiatt(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -__mmx_v2si __builtin_arm_wqmiattn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -#endif - -#ifdef __ARM_FP16_ARGS // arm-eabi -mfp16-format=ieee or aarch64 -typedef float cov_fp16 __attribute__((mode(HF))); - -cov_fp16 __builtin_ceilf16(cov_fp16); -cov_fp16 __builtin_copysignf16(cov_fp16, cov_fp16); -cov_fp16 __builtin_fabsf16(cov_fp16); -cov_fp16 __builtin_floorf16(cov_fp16); -cov_fp16 __builtin_fmaf16(cov_fp16, cov_fp16, cov_fp16); -cov_fp16 __builtin_fmaxf16(cov_fp16, cov_fp16); -cov_fp16 __builtin_fminf16(cov_fp16, cov_fp16); -cov_fp16 __builtin_nanf16(const char*); -cov_fp16 __builtin_nansf16(const char*); -cov_fp16 __builtin_nearbyintf16(cov_fp16); -cov_fp16 __builtin_rintf16(cov_fp16); -cov_fp16 __builtin_roundevenf16(cov_fp16); -cov_fp16 __builtin_roundf16(cov_fp16); -cov_fp16 __builtin_sqrtf16(cov_fp16); -cov_fp16 __builtin_truncf16(cov_fp16); -cov_fp16 __builtin_huge_valf16(void); -cov_fp16 __builtin_inff16(void); -#endif - -#ifdef __coverity_cplusplus -} -#endif -/* - Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. - The information contained in this file is the proprietary and confidential - information of Synopsys, Inc. and its licensors, and is supplied subject to, - and may be used only by Synopsys customers in accordance with the terms and - conditions of a previously executed license agreement between Synopsys and - that customer. -*/ - - -#define __COVERITY_GCC_VERSION_AT_LEAST(maj, min) \ - ((__GNUC__ > (maj)) || (__GNUC__ == (maj) && __GNUC_MINOR__ >= (min))) - -#if __COVERITY_GCC_VERSION_AT_LEAST(4, 9) -// Starting with GCC 4.9, instruction set intrinsics are always visible -// regardless of whether or not the instruction set is enabled. -#define __COVERITY_GCC49_INTRINSICS 1 -#else // GCC <4.9 -#define __COVERITY_GCC49_INTRINSICS 0 -#endif - -#ifdef __IA64__ -typedef __coverity___fpreg long double __fpreg; -#endif - - -#ifdef __coverity_cplusplus -extern "C" { -#endif - -#if defined(__SIZEOF_FLOAT128__) && defined(__coverity_cplusplus) -#define cov_f128_t __float128 -#else -#define cov_f128_t long double -#endif - -// The following macros are used in the Linux Kernel -#if defined(__linux__) && defined(__KERNEL__) -#nodef BUG_ON(x) do { if (x) __coverity_panic__(); } while (0) -#nodef WARN_ON(x) ({ int result = !!(x); if (result) __coverity_panic__(); result; }) -#nodef BUG() __coverity_panic__() -void __coverity_panic__(); -#endif // Linux kernel - -#nodef setjmp -int setjmp(void *); - -#ifndef __COVERITY_NO_STRING_NODEFS__ -// Function list obtained from "cstring"+memrchr+stpcopy (from bits/string.h) - -#nodef memcpy -void *memcpy(void *, const void *, __COVERITY_SIZE_TYPE__); - -#nodef memmove -void *memmove(void *, const void *, __COVERITY_SIZE_TYPE__); - -#nodef strcpy -char *strcpy(char *, const char *); - -#nodef strncpy -char *strncpy(char *, const char *, __COVERITY_SIZE_TYPE__); - -#nodef strcat -char *strcat(char *, const char *); - -#nodef strncat -char *strncat(char *, const char *, __COVERITY_SIZE_TYPE__); - -#nodef memcmp -int memcmp(const void *, const void *, __COVERITY_SIZE_TYPE__ n); - -#nodef strcmp -int strcmp(const char *, const char *); - -#nodef strcoll -int strcoll(const char *, const char *); - -#nodef strncmp -int strncmp(const char *, const char *, __COVERITY_SIZE_TYPE__); - -#nodef strxfrm -__COVERITY_SIZE_TYPE__ -strxfrm(char *, const char *, __COVERITY_SIZE_TYPE__); - -#nodef memchr -void *memchr(const void *, int, __COVERITY_SIZE_TYPE__); - -#nodef strchr -char *strchr(const char *, int); - -#nodef strcspn -__COVERITY_SIZE_TYPE__ strcspn(const char *, const char *); - -#nodef strpbrk -char *strpbrk(const char *, const char *); - -#nodef strrchr -char *strrchr(const char *, int); - -#nodef strspn -__COVERITY_SIZE_TYPE__ strspn(const char *, const char *); - -#nodef strstr -char *strstr(const char *, const char *); - -#nodef strtok -char *strtok(char *, const char *); - -#nodef memset -void *memset(void *, int, __COVERITY_SIZE_TYPE__); - -#nodef strlen -__COVERITY_SIZE_TYPE__ strlen(const char *); - -#nodef strerror -char *strerror(int); - -#nodef memrchr -void *memrchr(const void *, int, __COVERITY_SIZE_TYPE__); - -#nodef stpcpy -char *stpcpy(char *, const char *); - -#nodef strdup -char *strdup(const char *); -#endif // __COVERITY_NO_STRING_NODEFS__ - -#define __builtin_expect_with_probability(expr, value, probability) (expr) -#define __builtin_speculation_safe_value(t1, t2) (t1) - -#ifndef __coverity_cplusplus -#if __COVERITY_GCC_VERSION_AT_LEAST(7, 0) -typedef float __coverity_float _Float32; -typedef double __coverity_floatx _Float32x; -typedef double __coverity_float _Float64; -typedef long double _Float64x; -typedef long double _Float128; -#endif /* GCC >= 7.0 */ -#endif /* __coverity_cplusplus */ - -#ifdef __coverity_cplusplus -} -#endif -#if __COVERITY_GCC_VERSION_AT_LEAST(4, 0) -typedef float __coverity_decimal _Decimal32; -typedef double __coverity_decimal _Decimal64; -typedef long double __coverity_decimal _Decimal128; - -_Decimal32 __builtin_nand32(const char*); -_Decimal32 __builtin_infd32(); -_Decimal64 __builtin_infd64(); -_Decimal64 __builtin_nand64(const char*); -_Decimal128 __builtin_infd128(); -_Decimal128 __builtin_nand128(const char*); -_Decimal128 __builtin_fabsd128(_Decimal128); -_Decimal32 __builtin_fabsd32(_Decimal32); -_Decimal64 __builtin_fabsd64(_Decimal64); -int __builtin_finited128(_Decimal128); -int __builtin_finited32(_Decimal32); -int __builtin_finited64(_Decimal64); -int __builtin_isinfd128(_Decimal128); -int __builtin_isinfd32(_Decimal32); -int __builtin_isinfd64(_Decimal64); -int __builtin_isnand128(_Decimal128); -int __builtin_isnand32(_Decimal32); -int __builtin_isnand64(_Decimal64); -int __builtin_signbitd128(_Decimal128); -int __builtin_signbitd32(_Decimal32); -int __builtin_signbitd64(_Decimal64); -_Decimal128 __builtin_nansd128(const char*); -_Decimal32 __builtin_nansd32(const char*); -_Decimal64 __builtin_nansd64(const char*); -#endif /* GCC >= 4.0 */ - -#ifdef __COVERITY_CILKPLUS -#define _Cilk_spawn -#define _Cilk_sync -#define _Cilk_for for -#endif /* __cilk */ - -#if __COVERITY_GCC_VERSION_AT_LEAST(8, 0) -/* - * The following macros are used to implement __builtin_tgmath. This GCC - * intrinsic is used to support type generic math operations in C modes. These - * can be disabled by defining __COVERITY_DISABLE_TGTMATH. - */ -#if !defined(__COVERITY_DISABLE_TGTMATH) && !defined(__coverity_cplusplus) -#define __coverity_count_args(...) __coverity_count_args_n(-,##__VA_ARGS__,9,8,7,6,5,4,3,2,1,0) -#define __coverity_count_args_n(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, count, ...) count -#define __coverity_cat(x, ...) __coverity_cat_n(x, __VA_ARGS__) -#define __coverity_cat_n(x, ...) x ## __VA_ARGS__ - -#define __builtin_tgmath(...) \ - __coverity_cat(__coverity_tgmath_,__coverity_count_args(__VA_ARGS__))(__VA_ARGS__) - -#define __coverity_tgmath_4(...) __coverity_tgmath_real(__VA_ARGS__) -#define __coverity_tgmath_5(...) __coverity_tgmath_real(__VA_ARGS__) -#define __coverity_tgmath_6(...) __coverity_tgmath_real(__VA_ARGS__) -#define __coverity_tgmath_7(...) __coverity_tgmath_cplx(__VA_ARGS__) -#define __coverity_tgmath_8(...) __coverity_tgmath_cplx(__VA_ARGS__) -#define __coverity_tgmath_9(...) __coverity_tgmath_cplx(__VA_ARGS__) - -#define __coverity_tgmath_real(rf, r, rl, arg0, ...) \ - _Generic((arg0), \ - float: (rf)(arg0, ## __VA_ARGS__), \ - long double: (rl)(arg0, ## __VA_ARGS__), \ - default: (r)(arg0, ## __VA_ARGS__)) -#define __coverity_tgmath_cplx(rf, r, rl, cf, c, cl, arg0, ...) \ - _Generic((arg0), \ - float: (rf)(arg0, ## __VA_ARGS__), \ - long double: (rl)(arg0, ## __VA_ARGS__), \ - __complex__ float: (cf)(arg0, ## __VA_ARGS__), \ - __complex__ long double: (cl)(arg0, ## __VA_ARGS__), \ - __complex__ double: (c)(arg0, ## __VA_ARGS__), \ - default: (r)(arg0, ## __VA_ARGS__)) -#endif /* !__COVERITY_DISABLE_TGTMATH_DECLS && !__coverity_cplusplus */ -#endif /* GCC 8+ */ -/* - Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. - The information contained in this file is the proprietary and confidential - information of Synopsys, Inc. and its licensors, and is supplied subject to, - and may be used only by Synopsys customers in accordance with the terms and - conditions of a previously executed license agreement between Synopsys and - that customer. -*/ - -/* - * These declarations are needed for GCC's transactional memory support. They - * are not supported intrinsically by cov-emit. - */ - -// -fgnu-tm -mavx -void __builtin__ITM_abortTransaction(int); -unsigned int __builtin__ITM_beginTransaction(unsigned int, ...); -void* __builtin__ITM_calloc(long unsigned int, long unsigned int); -void __builtin__ITM_changeTransactionMode(int); -void __builtin__ITM_commitTransactionEH(void*); -void __builtin__ITM_free(void*); -void* __builtin__ITM_getTMCloneOrIrrevocable(void*); -void* __builtin__ITM_getTMCloneSafe(void*); -void __builtin__ITM_LB(volatile void*, long unsigned int); -void __builtin__ITM_LD(volatile void*); -void __builtin__ITM_LE(volatile void*); -void __builtin__ITM_LF(volatile void*); -void __builtin__ITM_LM128(const void*); -void __builtin__ITM_LM256(const void*); -void __builtin__ITM_LM64(const void*); -void __builtin__ITM_LU1(volatile void*); -void __builtin__ITM_LU2(volatile void*); -void __builtin__ITM_LU4(volatile void*); -void __builtin__ITM_LU8(volatile void*); -void* __builtin__ITM_malloc(long unsigned int); -void __builtin__ITM_memcpyRnWt(void*, const void*, long unsigned int); -void __builtin__ITM_memcpyRtWn(void*, const void*, long unsigned int); -void __builtin__ITM_memcpyRtWt(void*, const void*, long unsigned int); -void __builtin__ITM_memmoveRtWt(void*, const void*, long unsigned int); -void __builtin__ITM_memsetW(void*, int, long unsigned int); -double __builtin__ITM_RaRD(double*); -long double __builtin__ITM_RaRE(volatile void*); -float __builtin__ITM_RaRF(volatile void*); -__edg_vector_type__(float,4) __builtin__ITM_RaRM128(const __edg_vector_type__(float,4)*); -__edg_vector_type__(float,8) __builtin__ITM_RaRM256(const __edg_vector_type__(float,8)*); -__edg_vector_type__(int,2) __builtin__ITM_RaRM64(const __edg_vector_type__(int,2)*); -unsigned char __builtin__ITM_RaRU1(volatile void*); -short unsigned int __builtin__ITM_RaRU2(volatile void*); -unsigned int __builtin__ITM_RaRU4(volatile void*); -long unsigned int __builtin__ITM_RaRU8(volatile void*); -double __builtin__ITM_RaWD(double*); -long double __builtin__ITM_RaWE(volatile void*); -float __builtin__ITM_RaWF(volatile void*); -__edg_vector_type__(float,4) __builtin__ITM_RaWM128(const __edg_vector_type__(float,4)*); -__edg_vector_type__(float,8) __builtin__ITM_RaWM256(const __edg_vector_type__(float,8)*); -__edg_vector_type__(int,2) __builtin__ITM_RaWM64(const __edg_vector_type__(int,2)*); -unsigned char __builtin__ITM_RaWU1(volatile void*); -short unsigned int __builtin__ITM_RaWU2(volatile void*); -unsigned int __builtin__ITM_RaWU4(volatile void*); -long unsigned int __builtin__ITM_RaWU8(volatile void*); -double __builtin__ITM_RD(double*); -long double __builtin__ITM_RE(volatile void*); -float __builtin__ITM_RF(volatile void*); -double __builtin__ITM_RfWD(double*); -long double __builtin__ITM_RfWE(volatile void*); -float __builtin__ITM_RfWF(volatile void*); -__edg_vector_type__(float,4) __builtin__ITM_RfWM128(const __edg_vector_type__(float,4)*); -__edg_vector_type__(float,8) __builtin__ITM_RfWM256(const __edg_vector_type__(float,8)*); -__edg_vector_type__(int,2) __builtin__ITM_RfWM64(const __edg_vector_type__(int,2)*); -unsigned char __builtin__ITM_RfWU1(volatile void*); -short unsigned int __builtin__ITM_RfWU2(volatile void*); -unsigned int __builtin__ITM_RfWU4(volatile void*); -long unsigned int __builtin__ITM_RfWU8(volatile void*); -__edg_vector_type__(float,4) __builtin__ITM_RM128(const __edg_vector_type__(float,4)*); -__edg_vector_type__(float,8) __builtin__ITM_RM256(const __edg_vector_type__(float,8)*); -__edg_vector_type__(int,2) __builtin__ITM_RM64(const __edg_vector_type__(int,2)*); -unsigned char __builtin__ITM_RU1(volatile void*); -short unsigned int __builtin__ITM_RU2(volatile void*); -unsigned int __builtin__ITM_RU4(volatile void*); -long unsigned int __builtin__ITM_RU8(volatile void*); -void __builtin__ITM_WaRD(volatile void*, double); -void __builtin__ITM_WaRE(volatile void*, long double); -void __builtin__ITM_WaRF(volatile void*, float); -void __builtin__ITM_WaRM128(__edg_vector_type__(float,4)*, __edg_vector_type__(float,4)); -void __builtin__ITM_WaRM256(__edg_vector_type__(float,8)*, __edg_vector_type__(float,8)); -void __builtin__ITM_WaRM64(__edg_vector_type__(int,2)*, __edg_vector_type__(int,2)); -void __builtin__ITM_WaRU1(volatile void*, unsigned char); -void __builtin__ITM_WaRU2(volatile void*, short unsigned int); -void __builtin__ITM_WaRU4(volatile void*, unsigned int); -void __builtin__ITM_WaRU8(volatile void*, long unsigned int); -void __builtin__ITM_WaWD(volatile void*, double); -void __builtin__ITM_WaWE(volatile void*, long double); -void __builtin__ITM_WaWF(volatile void*, float); -void __builtin__ITM_WaWM128(__edg_vector_type__(float,4)*, __edg_vector_type__(float,4)); -void __builtin__ITM_WaWM256(__edg_vector_type__(float,8)*, __edg_vector_type__(float,8)); -void __builtin__ITM_WaWM64(__edg_vector_type__(int,2)*, __edg_vector_type__(int,2)); -void __builtin__ITM_WaWU1(volatile void*, unsigned char); -void __builtin__ITM_WaWU2(volatile void*, short unsigned int); -void __builtin__ITM_WaWU4(volatile void*, unsigned int); -void __builtin__ITM_WaWU8(volatile void*, long unsigned int); -void __builtin__ITM_WD(volatile void*, double); -void __builtin__ITM_WE(volatile void*, long double); -void __builtin__ITM_WF(volatile void*, float); -void __builtin__ITM_WM128(__edg_vector_type__(float,4)*, __edg_vector_type__(float,4)); -void __builtin__ITM_WM256(__edg_vector_type__(float,8)*, __edg_vector_type__(float,8)); -void __builtin__ITM_WM64(__edg_vector_type__(int,2)*, __edg_vector_type__(int,2)); -void __builtin__ITM_WU1(volatile void*, unsigned char); -void __builtin__ITM_WU2(volatile void*, short unsigned int); -void __builtin__ITM_WU4(volatile void*, unsigned int); -void __builtin__ITM_WU8(volatile void*, long unsigned int); -void __builtin__ITM_commitTransaction(void); - -/* - Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. - The information contained in this file is the proprietary and confidential - information of Synopsys, Inc. and its licensors, and is supplied subject to, - and may be used only by Synopsys customers in accordance with the terms and - conditions of a previously executed license agreement between Synopsys and - that customer. -*/ - -/* - * These declarations are needed for GCC's OpenMP/OpenACC support. They are not - * supported intrinsically by cov-emit. - */ - -#ifdef _OPENMP -int __builtin_acc_get_device_type(void); -void __builtin_GOACC_data_end(void); -void __builtin_GOMP_atomic_end(void); -void __builtin_GOMP_atomic_start(void); -void __builtin_GOMP_barrier(void); -__edg_bool_type__ __builtin_GOMP_barrier_cancel(void); -void __builtin_GOMP_critical_end(void); -void __builtin_GOMP_critical_start(void); -void __builtin_GOMP_loop_end(void); -__edg_bool_type__ __builtin_GOMP_loop_end_cancel(void); -void __builtin_GOMP_loop_end_nowait(void); -void __builtin_GOMP_ordered_end(void); -void __builtin_GOMP_ordered_start(void); -void __builtin_GOMP_sections_end(void); -__edg_bool_type__ __builtin_GOMP_sections_end_cancel(void); -void __builtin_GOMP_sections_end_nowait(void); -unsigned int __builtin_GOMP_sections_next(void); -void* __builtin_GOMP_single_copy_start(void); -__edg_bool_type__ __builtin_GOMP_single_start(void); -void __builtin_GOMP_target_end_data(void); -void __builtin_GOMP_taskgroup_end(void); -void __builtin_GOMP_taskgroup_start(void); -void __builtin_GOMP_taskwait(void); -void __builtin_GOMP_taskyield(void); -int __builtin_omp_get_num_teams(void); -int __builtin_omp_get_num_threads(void); -int __builtin_omp_get_team_num(void); -int __builtin_omp_get_thread_num(void); -void __builtin_GOACC_data_start(int, long unsigned int, void*, void*, void*); -void __builtin_GOACC_declare(int, long unsigned int, void*, void*, void*); -void __builtin_GOACC_enter_exit_data(int, long unsigned int, void*, void*, void*, int, int, ...); -void __builtin_GOACC_parallel_keyed(int, void (*)(void*), long unsigned int, void*, void*, void*, ...); -int __builtin_goacc_parlevel_id(int); -int __builtin_goacc_parlevel_size(int); -void __builtin_GOACC_update(int, long unsigned int, void*, void*, void*, int, int, ...); -void __builtin_GOACC_wait(int, int, ...); -__edg_bool_type__ __builtin_GOMP_cancel(int, __edg_bool_type__); -__edg_bool_type__ __builtin_GOMP_cancellation_point(int); -void __builtin_GOMP_critical_name_end(void**); -void __builtin_GOMP_critical_name_start(void**); -void __builtin_GOMP_doacross_post(void*); -void __builtin_GOMP_doacross_ull_post(void*); -void __builtin_GOMP_doacross_ull_wait(long long unsigned int, ...); -void __builtin_GOMP_doacross_wait(long int, ...); -__edg_bool_type__ __builtin_GOMP_loop_doacross_dynamic_start(unsigned int, long int*, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_doacross_guided_start(unsigned int, long int*, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_doacross_runtime_start(unsigned int, long int*, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_doacross_start(unsigned int, long int*, long int, long int, long int*, long int*, void*, void*); -__edg_bool_type__ __builtin_GOMP_loop_doacross_static_start(unsigned int, long int*, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_dynamic_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_dynamic_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_guided_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_guided_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_maybe_nonmonotonic_runtime_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_maybe_nonmonotonic_runtime_start(long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_dynamic_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_dynamic_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_guided_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_guided_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_runtime_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_runtime_start(long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_dynamic_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_dynamic_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_guided_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_guided_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_runtime_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_runtime_start(long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_start(long int, long int, long int, long int, long int, long int*, long int*, void*, void*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_static_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_static_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_runtime_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_runtime_start(long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_start(long int, long int, long int, long int, long int, long int*, long int*, void*, void*); -__edg_bool_type__ __builtin_GOMP_loop_static_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_static_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_dynamic_start(unsigned int, long long unsigned int*, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_guided_start(unsigned int, long long unsigned int*, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_runtime_start(unsigned int, long long unsigned int*, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_start(unsigned int, long long unsigned int*, long int, long long unsigned int, long long unsigned int*, long long unsigned int*, void*, void*); -__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_static_start(unsigned int, long long unsigned int*, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_dynamic_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_dynamic_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_guided_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_guided_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_maybe_nonmonotonic_runtime_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_maybe_nonmonotonic_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_dynamic_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_dynamic_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_guided_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_guided_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_runtime_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_dynamic_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_dynamic_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_guided_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_guided_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_runtime_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long int, long long unsigned int, long long unsigned int*, long long unsigned int*, void*, void*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_static_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_static_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_runtime_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long int, long long unsigned int, long long unsigned int*, long long unsigned int*, void*, void*); -__edg_bool_type__ __builtin_GOMP_loop_ull_static_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_static_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -void __builtin_GOMP_offload_register_ver(int, void*, int, void*); -void __builtin_GOMP_offload_unregister_ver(int, void*, int, void*); -void __builtin_GOMP_parallel(void (*)(void*), void*, unsigned int, unsigned int); -void __builtin_GOMP_parallel_loop_dynamic(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); -void __builtin_GOMP_parallel_loop_guided(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); -void __builtin_GOMP_parallel_loop_maybe_nonmonotonic_runtime(void (*)(void*), void*, unsigned int, long int, long int, long int, unsigned int); -void __builtin_GOMP_parallel_loop_nonmonotonic_dynamic(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); -void __builtin_GOMP_parallel_loop_nonmonotonic_guided(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); -void __builtin_GOMP_parallel_loop_nonmonotonic_runtime(void (*)(void*), void*, unsigned int, long int, long int, long int, unsigned int); -void __builtin_GOMP_parallel_loop_runtime(void (*)(void*), void*, unsigned int, long int, long int, long int, unsigned int); -void __builtin_GOMP_parallel_loop_static(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); -unsigned int __builtin_GOMP_parallel_reductions(void (*)(void*), void*, unsigned int, unsigned int); -void __builtin_GOMP_parallel_sections(void (*)(void*), void*, unsigned int, unsigned int, unsigned int); -unsigned int __builtin_GOMP_sections2_start(unsigned int, void*, void*); -unsigned int __builtin_GOMP_sections_start(unsigned int); -void __builtin_GOMP_single_copy_end(void*); -void __builtin_GOMP_target_data_ext(int, long unsigned int, void*, void*, void*); -void __builtin_GOMP_target_enter_exit_data(int, long unsigned int, void*, void*, void*, unsigned int, void*); -void __builtin_GOMP_target_ext(int, void (*)(void*), long unsigned int, void*, void*, void*, unsigned int, void*, void*); -void __builtin_GOMP_target_update_ext(int, long unsigned int, void*, void*, void*, unsigned int, void*); -#if __COVERITY_GCC_VERSION_AT_LEAST(6, 0) -void __builtin_GOMP_task(void (*)(void*), void*, void (*)(void*, void*), long int, long int, __edg_bool_type__, unsigned int, void*, int); -#endif -void __builtin_GOMP_taskgroup_reduction_register(void*); -void __builtin_GOMP_taskgroup_reduction_unregister(void*); -void __builtin_GOMP_taskloop(void (*)(void*), void*, void (*)(void*, void*), long int, long int, unsigned int, long int, int, long int, long int, long int); -void __builtin_GOMP_taskloop_ull(void (*)(void*), void*, void (*)(void*, void*), long int, long int, unsigned int, long int, int, long long unsigned int, long long unsigned int, long long unsigned int); -void __builtin_GOMP_task_reduction_remap(long unsigned int, long unsigned int, void*); -void __builtin_GOMP_taskwait_depend(void*); -void __builtin_GOMP_teams(unsigned int, unsigned int); -void __builtin_GOMP_teams_reg(void (*)(void*), void*, unsigned int, unsigned int, unsigned int); -void __builtin_GOMP_workshare_task_reduction_unregister(__edg_bool_type__); -void* __builtin_GOMP_alloc(long unsigned int, long unsigned int, long int); -void __builtin_GOMP_free(void*, long int); - -#if __COVERITY_GCC_VERSION_AT_LEAST(12, 0) -void __builtin_GOACC_barrier(); -void __builtin_GOACC_enter_data(int, long unsigned int, void*, void*, void*, int, int, ...); -void __builtin_GOACC_exit_data(int, long unsigned int, void*, void*, void*, int, int, ...); -void __builtin_GOACC_single_copy_end(void*); -void* __builtin_GOACC_single_copy_start(); -__cov_bool __builtin_GOACC_single_start(); -void __builtin_GOMP_error(const void*, long unsigned int); -void __builtin_GOMP_scope_start(void*); -__cov_bool __builtin_GOMP_teams4(unsigned int, unsigned int, unsigned int, __cov_bool); -void __builtin_GOMP_warning(const void*, long unsigned int); -#endif /* GCC >= 12.0 */ -#endif /* _OPENMP */ -/* Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. */ -#ifdef __coverity_cplusplus -extern "C" { -#endif - -#ifdef __PPC__ - -typedef int __attribute__((vector_size(8))) __ev64_opaque__; -typedef int __ppc_v2i __attribute__ ((__vector_size__ (8))); - -int __builtin_spe_brinc(int, int); -__ppc_v2i __builtin_spe_evabs(__ppc_v2i); -__ppc_v2i __builtin_spe_evaddiw(__ppc_v2i, char); -__ppc_v2i __builtin_spe_evaddsmiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evaddssiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evaddumiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evaddusiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evaddw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evand(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evandc(__ppc_v2i, __ppc_v2i); -int __builtin_spe_evcmpeq(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evcmpgts(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evcmpgtu(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evcmplts(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evcmpltu(int, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evcntlsw(__ppc_v2i); -__ppc_v2i __builtin_spe_evcntlzw(__ppc_v2i); -__ppc_v2i __builtin_spe_evdivws(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evdivwu(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_eveqv(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evextsb(__ppc_v2i); -__ppc_v2i __builtin_spe_evextsh(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsabs(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsadd(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evfscfsf(__ppc_v2i); -__ppc_v2i __builtin_spe_evfscfsi(__ppc_v2i); -__ppc_v2i __builtin_spe_evfscfuf(__ppc_v2i); -__ppc_v2i __builtin_spe_evfscfui(__ppc_v2i); -int __builtin_spe_evfscmpeq(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evfscmpgt(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evfscmplt(int, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evfsctsf(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsctsi(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsctsiz(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsctuf(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsctui(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsctuiz(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsdiv(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evfsmul(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evfsnabs(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsneg(__ppc_v2i); -__ppc_v2i __builtin_spe_evfssub(__ppc_v2i, __ppc_v2i); -int __builtin_spe_evfststeq(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evfststgt(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evfststlt(int, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evldd(__ppc_v2i*, int); -__ppc_v2i __builtin_spe_evlddx(__ppc_v2i*, int); -__ppc_v2i __builtin_spe_evldh(__ppc_v2i*, int); -__ppc_v2i __builtin_spe_evldhx(__ppc_v2i*, int); -__ppc_v2i __builtin_spe_evldw(__ppc_v2i*, int); -__ppc_v2i __builtin_spe_evldwx(__ppc_v2i*, int); -__ppc_v2i __builtin_spe_evlhhesplat(short unsigned int*, int); -__ppc_v2i __builtin_spe_evlhhesplatx(short unsigned int*, int); -__ppc_v2i __builtin_spe_evlhhossplat(short unsigned int*, int); -__ppc_v2i __builtin_spe_evlhhossplatx(short unsigned int*, int); -__ppc_v2i __builtin_spe_evlhhousplat(short unsigned int*, int); -__ppc_v2i __builtin_spe_evlhhousplatx(short unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhe(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhex(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhos(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhosx(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhou(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhoux(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhsplat(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhsplatx(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwwsplat(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwwsplatx(unsigned int*, int); -__ppc_v2i __builtin_spe_evmergehi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmergehilo(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmergelo(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmergelohi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhegsmfaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhegsmfan(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhegsmiaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhegsmian(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhegumiaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhegumian(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmfaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmfanw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhessf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhessfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhessfaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhessfanw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhessiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhessianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmheumi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmheumia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmheumiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmheumianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmheusiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmheusianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhogsmfaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhogsmfan(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhogsmiaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhogsmian(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhogumiaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhogumian(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmfaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmfanw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhossf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhossfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhossfaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhossfanw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhossiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhossianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhoumi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhoumia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhoumiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhoumianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhousiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhousianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmra(__ppc_v2i); -__ppc_v2i __builtin_spe_evmwhsmf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwhsmfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwhsmi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwhsmia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwhssf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwhssfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwhumi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwhumia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlsmiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlsmianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlssiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlssianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlumi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlumia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlumiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlumianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlusiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlusianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmfaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmfan(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmiaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmian(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwssf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwssfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwssfaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwssfan(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwumi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwumia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwumiaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwumian(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evnand(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evneg(__ppc_v2i); -__ppc_v2i __builtin_spe_evnor(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evor(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evorc(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evrlw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evrlwi(__ppc_v2i, char); -__ppc_v2i __builtin_spe_evrndw(__ppc_v2i); -__ppc_v2i __builtin_spe_evsel_eq(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_fseq(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_fsgt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_fslt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_fststeq(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_fststgt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_fststlt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_gts(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_gtu(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_lts(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_ltu(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evslw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evslwi(__ppc_v2i, char); -__ppc_v2i __builtin_spe_evsplatfi(signed char); -__ppc_v2i __builtin_spe_evsplati(signed char); -__ppc_v2i __builtin_spe_evsrwis(__ppc_v2i, char); -__ppc_v2i __builtin_spe_evsrwiu(__ppc_v2i, char); -__ppc_v2i __builtin_spe_evsrws(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsrwu(__ppc_v2i, __ppc_v2i); -void __builtin_spe_evstdd(__ppc_v2i, __ppc_v2i*, char); -void __builtin_spe_evstddx(__ppc_v2i, __ppc_v2i*, int); -void __builtin_spe_evstdh(__ppc_v2i, __ppc_v2i*, char); -void __builtin_spe_evstdhx(__ppc_v2i, __ppc_v2i*, int); -void __builtin_spe_evstdw(__ppc_v2i, __ppc_v2i*, char); -void __builtin_spe_evstdwx(__ppc_v2i, __ppc_v2i*, int); -void __builtin_spe_evstwhe(__ppc_v2i, unsigned int*, char); -void __builtin_spe_evstwhex(__ppc_v2i, unsigned int*, int); -void __builtin_spe_evstwho(__ppc_v2i, unsigned int*, char); -void __builtin_spe_evstwhox(__ppc_v2i, unsigned int*, int); -void __builtin_spe_evstwwe(__ppc_v2i, unsigned int*, char); -void __builtin_spe_evstwwex(__ppc_v2i, unsigned int*, int); -void __builtin_spe_evstwwo(__ppc_v2i, unsigned int*, char); -void __builtin_spe_evstwwox(__ppc_v2i, unsigned int*, int); -__ppc_v2i __builtin_spe_evsubfsmiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evsubfssiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evsubfumiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evsubfusiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evsubfw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsubifw(__ppc_v2i, char); -__ppc_v2i __builtin_spe_evxor(__ppc_v2i, __ppc_v2i); -int __builtin_spe_mfspefscr(); -void __builtin_spe_mtspefscr(int); - -__ppc_v2i __builtin_spe2_evaddwss(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evaddhss(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evsubfwss(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evsubfhss(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evsatsdsw(__ppc_v2i); -__ppc_v2i __internal_ev_mwhssfanw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evmwhssfanw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evmwhssfaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evdotpwcssf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evdotphihcssf(__ppc_v2i, __ppc_v2i); - -#endif - -#ifdef __coverity_cplusplus -} -#endif - -#ifdef __COVERITY_ALTIVEC__ -/* Declarations of AltiVec PPU built-in intrinsic functions. */ -/* Many of these are overloaded, so they can't be declared in C. For those - * that have operator equivalents those equivalents are used in C instead, - * otherwise a generic version with no parameter types is declared. - */ - -typedef vector int __coverity_generic_altivec_vector; - -#ifdef __coverity_cplusplus -extern vector signed char __builtin_vec_abs (vector signed char a1); -extern vector signed short __builtin_vec_abs (vector signed short a1); -extern vector signed int __builtin_vec_abs (vector signed int a1); -extern vector float __builtin_vec_abs (vector float a1); - -extern vector signed char __builtin_vec_abss (vector signed char a1); -extern vector signed short __builtin_vec_abss (vector signed short a1); -#else -__coverity_generic_altivec_vector __builtin_vec_abs(); -__coverity_generic_altivec_vector __builtin_vec_abss(); -#endif - -#ifdef __coverity_cplusplus - extern vector unsigned int __builtin_vec_vslw (vector unsigned int a1, vector unsigned int a2); -#else -__coverity_generic_altivec_vector __builtin_vec_vslw (); -#endif - -#ifdef __coverity_cplusplus -extern int __builtin_vec_vcmpgt_p(int, vector signed char a1, vector signed char a2); -extern int __builtin_vec_vcmpgt_p(int, vector unsigned char a1, vector unsigned char a2); -extern int __builtin_vec_vcmpgt_p(int, vector signed short a1, vector signed short a2); -extern int __builtin_vec_vcmpgt_p(int, vector unsigned short a1, vector unsigned short a2); -extern int __builtin_vec_vcmpgt_p(int, vector signed int a1, vector signed int a2); -extern int __builtin_vec_vcmpgt_p(int, vector unsigned int a1, vector unsigned int a2); -extern int __builtin_vec_vcmpgt_p(int, vector signed char a1, vector signed char a2); -extern int __builtin_vec_vcmpgt_p(int, vector float a1, vector float a2); -#else -int __builtin_vec_vcmpgt_p(); -#endif - -#ifdef __coverity_cplusplus -extern vector signed char __builtin_vec_add (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_add (vector signed char a1, vector unsigned char a2); - -extern vector unsigned char __builtin_vec_add (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_add (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_add (vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_vec_add (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_add (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_add (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_add (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_add (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_add (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_add (vector unsigned int a1, vector unsigned int a2); -extern vector float __builtin_vec_add (vector float a1, vector float a2); -#else -# define __builtin_vec_add(a, b) ((a) + (b)) -#endif - -extern vector unsigned int __builtin_vec_addc (vector unsigned int a1, vector unsigned int a2); - -#ifdef __coverity_cplusplus -extern vector unsigned char __builtin_vec_adds (vector signed char a1, - vector unsigned char a2); -extern vector unsigned char __builtin_vec_adds (vector unsigned char a1, - vector signed char a2); -extern vector unsigned char __builtin_vec_adds (vector unsigned char a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_adds (vector signed char a1, vector signed char a2); -extern vector unsigned short __builtin_vec_adds (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_adds (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_adds (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_adds (vector signed short a1, vector signed short a2); - -extern vector unsigned int __builtin_vec_adds (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_adds (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_adds (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_adds (vector signed int a1, vector signed int a2); -#else -__coverity_generic_altivec_vector __builtin_vec_adds (); -#endif - -#ifdef __coverity_cplusplus -extern vector float __builtin_vec_and (vector float a1, vector float a2); -extern vector float __builtin_vec_and (vector float a1, vector signed int a2); -extern vector float __builtin_vec_and (vector signed int a1, vector float a2); -extern vector signed int __builtin_vec_and (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_and (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_and (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_and (vector unsigned int a1, vector unsigned int a2); -extern vector signed short __builtin_vec_and (vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_vec_and (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_and (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_and (vector unsigned short a1, - vector unsigned short a2); -extern vector signed char __builtin_vec_and (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_and (vector signed char a1, vector unsigned char a2); - -extern vector unsigned char __builtin_vec_and (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_and (vector unsigned char a1, - vector unsigned char a2); -#else -# define __builtin_vec_and(a, b) ((a) & (b)) -#endif - -#ifdef __coverity_cplusplus -extern vector float __builtin_vec_andc (vector float a1, vector float a2); -extern vector float __builtin_vec_andc (vector float a1, vector signed int a2); -extern vector float __builtin_vec_andc (vector signed int a1, vector float a2); -extern vector signed int __builtin_vec_andc (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_andc (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_andc (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_andc (vector unsigned int a1, vector unsigned int a2); - -extern vector signed short __builtin_vec_andc (vector signed short a1, vector signed short a2); - -extern vector unsigned short __builtin_vec_andc (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_andc (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_andc (vector unsigned short a1, - vector unsigned short a2); -extern vector signed char __builtin_vec_andc (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_andc (vector signed char a1, - vector unsigned char a2); -extern vector unsigned char __builtin_vec_andc (vector unsigned char a1, - vector signed char a2); -extern vector unsigned char __builtin_vec_andc (vector unsigned char a1, - vector unsigned char a2); -#else -__coverity_generic_altivec_vector __builtin_vec_andc (); -#endif - -#ifdef __coverity_cplusplus -extern vector unsigned char __builtin_vec_avg (vector unsigned char a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_avg (vector signed char a1, vector signed char a2); -extern vector unsigned short __builtin_vec_avg (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_avg (vector signed short a1, vector signed short a2); -extern vector unsigned int __builtin_vec_avg (vector unsigned int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_avg (vector signed int a1, vector signed int a2); -#else -__coverity_generic_altivec_vector __builtin_vec_avg (); -#endif - -extern vector float __builtin_vec_ceil (vector float a1); - -extern vector signed int __builtin_vec_cmpb (vector float a1, vector float a2); - -#ifdef __coverity_cplusplus -extern vector signed char __builtin_vec_cmpeq (vector signed char a1, vector signed char a2); -extern vector signed char __builtin_vec_cmpeq (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_cmpeq (vector signed short a1, - vector signed short a2); -extern vector signed short __builtin_vec_cmpeq (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_cmpeq (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_cmpeq (vector unsigned int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_cmpeq (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_cmpge (vector float a1, vector float a2); - -extern vector signed char __builtin_vec_cmpgt (vector unsigned char a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_cmpgt (vector signed char a1, vector signed char a2); -extern vector signed short __builtin_vec_cmpgt (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_cmpgt (vector signed short a1, - vector signed short a2); -extern vector signed int __builtin_vec_cmpgt (vector unsigned int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_cmpgt (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_cmpgt (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_cmple (vector float a1, vector float a2); - -extern vector signed char __builtin_vec_cmplt (vector unsigned char a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_cmplt (vector signed char a1, vector signed char a2); -extern vector signed short __builtin_vec_cmplt (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_cmplt (vector signed short a1, - vector signed short a2); -extern vector signed int __builtin_vec_cmplt (vector unsigned int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_cmplt (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_cmplt (vector float a1, vector float a2); -#else -__coverity_generic_altivec_vector __builtin_vec_cmpeq (); -__coverity_generic_altivec_vector __builtin_vec_cmpge (); -__coverity_generic_altivec_vector __builtin_vec_cmpgt (); -__coverity_generic_altivec_vector __builtin_vec_cmple (); -__coverity_generic_altivec_vector __builtin_vec_cmplt (); -#endif - -#ifdef __coverity_cplusplus -extern vector float __builtin_vec_ctf (vector unsigned int a1, const char a2); -extern vector float __builtin_vec_ctf (vector signed int a1, const char a2); -#else -extern vector float __builtin_vec_ctf (); -#endif - -extern vector signed int __builtin_vec_cts (vector float a1, const char a2); - -extern vector unsigned int __builtin_vec_ctu (vector float a1, const char a2); - -extern void __builtin_vec_dss (const char a1); - -extern void __builtin_vec_dssall (void); - -extern void __builtin_vec_dst (const void * a1, int a2, const char a3); - -extern void __builtin_vec_dstst (const void * a1, int a2, const char a3); - -extern void __builtin_vec_dststt (const void * a1, int a2, const char a3); - -extern void __builtin_vec_dstt (const void * a1, int a2, const char a3); - -#ifdef __coverity_cplusplus -extern vector float __builtin_vec_expte (vector float a1, vector float a2); -extern vector float __builtin_vec_expte (vector float a1); - -extern vector float __builtin_vec_floor (vector float a1, vector float a2); -extern vector float __builtin_vec_floor (vector float a1); -#else -__coverity_generic_altivec_vector __builtin_vec_expte(); -__coverity_generic_altivec_vector __builtin_vec_floor(); -#endif - -#ifdef __coverity_cplusplus -extern vector float __builtin_vec_ld (int a1, vector float * a2); -extern vector float __builtin_vec_ld (int a1, float * a2); -extern vector signed int __builtin_vec_ld (int a1, int * a2); -extern vector signed int __builtin_vec_ld (int a1, vector signed int * a2); -extern vector unsigned int __builtin_vec_ld (int a1, vector unsigned int * a2); -extern vector unsigned int __builtin_vec_ld (int a1, unsigned int * a2); -extern vector signed short __builtin_vec_ld (int a1, short * a2, vector signed short * a3); -extern vector unsigned short __builtin_vec_ld (int a1, unsigned short * a2, - vector unsigned short * a3); -extern vector signed char __builtin_vec_ld (int a1, signed char * a2); -extern vector signed char __builtin_vec_ld (int a1, vector signed char * a2); -extern vector unsigned char __builtin_vec_ld (int a1, unsigned char * a2); -extern vector unsigned char __builtin_vec_ld (int a1, vector unsigned char * a2); - -extern vector signed char __builtin_vec_lde (int a1, signed char * a2); -extern vector unsigned char __builtin_vec_lde (int a1, unsigned char * a2); -extern vector signed short __builtin_vec_lde (int a1, short * a2); -extern vector unsigned short __builtin_vec_lde (int a1, unsigned short * a2); -extern vector float __builtin_vec_lde (int a1, float * a2); -extern vector signed int __builtin_vec_lde (int a1, int * a2); -extern vector unsigned int __builtin_vec_lde (int a1, unsigned int * a2); - -extern vector float __builtin_vec_ldl (int a1, float * a2); -extern vector float __builtin_vec_ldl (int a1, vector float * a2); -extern vector signed int __builtin_vec_ldl (int a1, vector signed int * a2); -extern vector signed int __builtin_vec_ldl (int a1, int * a2); -extern vector unsigned int __builtin_vec_ldl (int a1, unsigned int * a2); -extern vector unsigned int __builtin_vec_ldl (int a1, vector unsigned int * a2); -extern vector signed short __builtin_vec_ldl (int a1, vector signed short * a2); -extern vector signed short __builtin_vec_ldl (int a1, short * a2); -extern vector unsigned short __builtin_vec_ldl (int a1, vector unsigned short * a2); -extern vector unsigned short __builtin_vec_ldl (int a1, unsigned short * a2); -extern vector signed char __builtin_vec_ldl (int a1, vector signed char * a2); -extern vector signed char __builtin_vec_ldl (int a1, signed char * a2); -extern vector unsigned char __builtin_vec_ldl (int a1, vector unsigned char * a2); -extern vector unsigned char __builtin_vec_ldl (int a1, unsigned char * a2); -#else -__coverity_generic_altivec_vector __builtin_vec_ld (); -__coverity_generic_altivec_vector __builtin_vec_lde (); -__coverity_generic_altivec_vector __builtin_vec_ldl (); -#endif - -extern vector float __builtin_vec_loge (vector float a1); - -extern vector unsigned char __builtin_vec_lvsl (int a1, const void * a2, int * a3); - -extern vector unsigned char __builtin_vec_lvsr (int a1, const void * a2, int * a3); - -extern vector float __builtin_vec_madd (vector float a1, vector float a2, vector float a3); - -extern vector signed short __builtin_vec_madds (vector signed short a1, vector signed short a2, - vector signed short a3); - -#ifdef __coverity_cplusplus -extern vector unsigned char __builtin_vec_max (vector signed char a1, vector unsigned char a2); - -extern vector unsigned char __builtin_vec_max (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_max (vector unsigned char a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_max (vector signed char a1, vector signed char a2); -extern vector unsigned short __builtin_vec_max (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_max (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_max (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_max (vector signed short a1, vector signed short a2); -extern vector unsigned int __builtin_vec_max (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_max (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_max (vector unsigned int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_max (vector signed int a1, vector signed int a2); -extern vector float __builtin_vec_max (vector float a1, vector float a2); - -extern vector signed char __builtin_vec_mergeh (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_mergeh (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_mergeh (vector signed short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_mergeh (vector unsigned short a1, - vector unsigned short a2); -extern vector float __builtin_vec_mergeh (vector float a1, vector float a2); -extern vector signed int __builtin_vec_mergeh (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_mergeh (vector unsigned int a1, - vector unsigned int a2); - -extern vector signed char __builtin_vec_mergel (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_mergel (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_mergel (vector signed short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_mergel (vector unsigned short a1, - vector unsigned short a2); -extern vector float __builtin_vec_mergel (vector float a1, vector float a2); -extern vector signed int __builtin_vec_mergel (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_mergel (vector unsigned int a1, - vector unsigned int a2); -#else -__coverity_generic_altivec_vector __builtin_vec_max (); -__coverity_generic_altivec_vector __builtin_vec_mergeh (); -__coverity_generic_altivec_vector __builtin_vec_mergel (); -#endif - -extern vector unsigned short __builtin_vec_mfvscr (void); - -#ifdef __coverity_cplusplus -extern vector unsigned char __builtin_vec_min (vector signed char a1, vector unsigned char a2); - -extern vector unsigned char __builtin_vec_min (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_min (vector unsigned char a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_min (vector signed char a1, vector signed char a2); -extern vector unsigned short __builtin_vec_min (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_min (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_min (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_min (vector signed short a1, vector signed short a2); -extern vector unsigned int __builtin_vec_min (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_min (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_min (vector unsigned int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_min (vector signed int a1, vector signed int a2); -extern vector float __builtin_vec_min (vector float a1, vector float a2); - -extern vector signed short __builtin_vec_mladd (vector signed short a1, vector signed short a2, - vector signed short a3); -extern vector signed short __builtin_vec_mladd (vector signed short a1, - vector unsigned short a2, - vector unsigned short a3); -extern vector signed short __builtin_vec_mladd (vector unsigned short a1, - vector signed short a2, - vector signed short a3); -extern vector unsigned short __builtin_vec_mladd (vector unsigned short a1, - vector unsigned short a2, - vector unsigned short a3); -#else -__coverity_generic_altivec_vector __builtin_vec_min (); -__coverity_generic_altivec_vector __builtin_vec_mladd (); -#endif - -extern vector signed short __builtin_vec_mradds (vector signed short a1, - vector signed short a2, - vector signed short a3); - -#ifdef __coverity_cplusplus -extern vector unsigned int __builtin_vec_msum (vector unsigned char a1, - vector unsigned char a2, - vector unsigned int a3); -extern vector signed int __builtin_vec_msum (vector signed char a1, vector unsigned char a2, - vector signed int a3); -extern vector unsigned int __builtin_vec_msum (vector unsigned short a1, - vector unsigned short a2, - vector unsigned int a3); -extern vector signed int __builtin_vec_msum (vector signed short a1, vector signed short a2, - vector signed int a3); - -extern vector unsigned int __builtin_vec_msums (vector unsigned short a1, - vector unsigned short a2, - vector unsigned int a3); -extern vector signed int __builtin_vec_msums (vector signed short a1, vector signed short a2, - vector signed int a3); - -extern void __builtin_vec_mtvscr (vector signed int a1); -extern void __builtin_vec_mtvscr (vector unsigned int a1); -extern void __builtin_vec_mtvscr (vector signed short a1); -extern void __builtin_vec_mtvscr (vector unsigned short a1); -extern void __builtin_vec_mtvscr (vector signed char a1); -extern void __builtin_vec_mtvscr (vector unsigned char a1); - -extern vector unsigned short __builtin_vec_mule (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_mule (vector signed char a1, vector signed char a2); -extern vector unsigned int __builtin_vec_mule (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_mule (vector signed short a1, vector signed short a2); - -extern vector unsigned short __builtin_vec_mulo (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_mulo (vector signed char a1, vector signed char a2); -extern vector unsigned int __builtin_vec_mulo (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_mulo (vector signed short a1, vector signed short a2); -#else -__coverity_generic_altivec_vector __builtin_vec_msum (); -__coverity_generic_altivec_vector __builtin_vec_msums (); -extern void __builtin_vec_mtvscr (); -__coverity_generic_altivec_vector __builtin_vec_mule (); -__coverity_generic_altivec_vector __builtin_vec_mulo (); -#endif - -extern vector float __builtin_vec_nmsub (vector float a1, vector float a2, vector float a3); - -#ifdef __coverity_cplusplus -extern vector float __builtin_vec_nor (vector float a1, vector float a2); -extern vector signed int __builtin_vec_nor (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_nor (vector unsigned int a1, vector unsigned int a2); -extern vector signed short __builtin_vec_nor (vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_vec_nor (vector unsigned short a1, - vector unsigned short a2); -extern vector signed char __builtin_vec_nor (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_nor (vector unsigned char a1, - vector unsigned char a2); - -extern vector float __builtin_vec_or (vector float a1, vector float a2); -extern vector float __builtin_vec_or (vector float a1, vector signed int a2); -extern vector float __builtin_vec_or (vector signed int a1, vector float a2); -extern vector signed int __builtin_vec_or (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_or (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_or (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_or (vector unsigned int a1, vector unsigned int a2); -extern vector signed short __builtin_vec_or (vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_vec_or (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_or (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_or (vector unsigned short a1, - vector unsigned short a2); -extern vector signed char __builtin_vec_or (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_or (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_or (vector unsigned char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_or (vector unsigned char a1, - vector unsigned char a2); - -extern vector signed char __builtin_vec_pack (vector signed short a1, vector signed short a2); -extern vector unsigned char __builtin_vec_pack (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_pack (vector signed int a1, vector signed int a2); -extern vector unsigned short __builtin_vec_pack (vector unsigned int a1, - vector unsigned int a2); -#else -# define __builtin_vec_nor(a, b) (~((a) | (b))) -# define __builtin_vec_or(a, b) ((a) | (b)) -__coverity_generic_altivec_vector __builtin_vec_pack (); -#endif - -extern vector signed short __builtin_vec_packpx (vector unsigned int a1, - vector unsigned int a2); - -#ifdef __coverity_cplusplus -extern vector unsigned char __builtin_vec_packs (vector unsigned short a1, - vector unsigned short a2); -extern vector signed char __builtin_vec_packs (vector signed short a1, vector signed short a2); - -extern vector unsigned short __builtin_vec_packs (vector unsigned int a1, - vector unsigned int a2); -extern vector signed short __builtin_vec_packs (vector signed int a1, vector signed int a2); - -extern vector unsigned char __builtin_vec_packsu (vector unsigned short a1, - vector unsigned short a2); -extern vector unsigned char __builtin_vec_packsu (vector signed short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_packsu (vector unsigned int a1, - vector unsigned int a2); -extern vector unsigned short __builtin_vec_packsu (vector signed int a1, vector signed int a2); - -extern vector float __builtin_vec_perm (vector float a1, vector float a2, - vector unsigned char a3); -extern vector signed int __builtin_vec_perm (vector signed int a1, vector signed int a2, - vector unsigned char a3); -extern vector unsigned int __builtin_vec_perm (vector unsigned int a1, vector unsigned int a2, - vector unsigned char a3); -extern vector signed short __builtin_vec_perm (vector signed short a1, vector signed short a2, - vector unsigned char a3); -extern vector unsigned short __builtin_vec_perm (vector unsigned short a1, - vector unsigned short a2, - vector unsigned char a3); -extern vector signed char __builtin_vec_perm (vector signed char a1, vector signed char a2, - vector unsigned char a3); -extern vector unsigned char __builtin_vec_perm (vector unsigned char a1, - vector unsigned char a2, - vector unsigned char a3); -#else -__coverity_generic_altivec_vector __builtin_vec_packs (); -__coverity_generic_altivec_vector __builtin_vec_packsu (); -__coverity_generic_altivec_vector __builtin_vec_perm (); -#endif - -extern vector float __builtin_vec_re (vector float a1); - -#ifdef __coverity_cplusplus -extern vector signed char __builtin_vec_rl (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_rl (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_rl (vector signed short a1, vector unsigned short a2); - -extern vector unsigned short __builtin_vec_rl (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_rl (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_rl (vector unsigned int a1, vector unsigned int a2); -#else -__coverity_generic_altivec_vector __builtin_vec_rl (); -#endif - -extern vector float __builtin_vec_round (vector float a1); - -extern vector float __builtin_vec_rsqrte (vector float a1); - -#ifdef __coverity_cplusplus -extern vector float __builtin_vec_sel (vector float a1, vector float a2, vector signed int a3); -extern vector float __builtin_vec_sel (vector float a1, vector float a2, vector unsigned int a3); -extern vector signed int __builtin_vec_sel (vector signed int a1, vector signed int a2, - vector signed int a3); -extern vector signed int __builtin_vec_sel (vector signed int a1, vector signed int a2, - vector unsigned int a3); -extern vector unsigned int __builtin_vec_sel (vector unsigned int a1, vector unsigned int a2, - vector signed int a3); -extern vector unsigned int __builtin_vec_sel (vector unsigned int a1, vector unsigned int a2, - vector unsigned int a3); -extern vector signed short __builtin_vec_sel (vector signed short a1, vector signed short a2, - vector signed short a3); -extern vector signed short __builtin_vec_sel (vector signed short a1, vector signed short a2, - vector unsigned short a3); -extern vector unsigned short __builtin_vec_sel (vector unsigned short a1, - vector unsigned short a2, - vector signed short a3); -extern vector unsigned short __builtin_vec_sel (vector unsigned short a1, - vector unsigned short a2, - vector unsigned short a3); -extern vector signed char __builtin_vec_sel (vector signed char a1, vector signed char a2, - vector signed char a3); -extern vector signed char __builtin_vec_sel (vector signed char a1, vector signed char a2, - vector unsigned char a3); -extern vector unsigned char __builtin_vec_sel (vector unsigned char a1, - vector unsigned char a2, - vector signed char a3); -extern vector unsigned char __builtin_vec_sel (vector unsigned char a1, - vector unsigned char a2, - vector unsigned char a3); - -extern vector signed char __builtin_vec_sl (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_sl (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_sl (vector signed short a1, vector unsigned short a2); - -extern vector unsigned short __builtin_vec_sl (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_sl (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_sl (vector unsigned int a1, vector unsigned int a2); - -extern vector float __builtin_vec_sld (vector float a1, vector float a2, const char a3); -extern vector signed int __builtin_vec_sld (vector signed int a1, vector signed int a2, - const char a3); -extern vector unsigned int __builtin_vec_sld (vector unsigned int a1, vector unsigned int a2, - const char a3); -extern vector signed short __builtin_vec_sld (vector signed short a1, vector signed short a2, - const char a3); -extern vector unsigned short __builtin_vec_sld (vector unsigned short a1, - vector unsigned short a2, const char a3); -extern vector signed char __builtin_vec_sld (vector signed char a1, vector signed char a2, - const char a3); -extern vector unsigned char __builtin_vec_sld (vector unsigned char a1, - vector unsigned char a2, - const char a3); - -extern vector signed int __builtin_vec_sll (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_sll (vector signed int a1, vector unsigned short a2); -extern vector signed int __builtin_vec_sll (vector signed int a1, vector unsigned char a2); -extern vector unsigned int __builtin_vec_sll (vector unsigned int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_sll (vector unsigned int a1, - vector unsigned short a2); -extern vector unsigned int __builtin_vec_sll (vector unsigned int a1, vector unsigned char a2); - -extern vector signed short __builtin_vec_sll (vector signed short a1, vector unsigned int a2); -extern vector signed short __builtin_vec_sll (vector signed short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_sll (vector signed short a1, vector unsigned char a2); - -extern vector unsigned short __builtin_vec_sll (vector unsigned short a1, - vector unsigned int a2); -extern vector unsigned short __builtin_vec_sll (vector unsigned short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_sll (vector unsigned short a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_sll (vector signed char a1, vector unsigned int a2); -extern vector signed char __builtin_vec_sll (vector signed char a1, vector unsigned short a2); -extern vector signed char __builtin_vec_sll (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_sll (vector unsigned char a1, - vector unsigned int a2); -extern vector unsigned char __builtin_vec_sll (vector unsigned char a1, - vector unsigned short a2); -extern vector unsigned char __builtin_vec_sll (vector unsigned char a1, - vector unsigned char a2); - -extern vector float __builtin_vec_slo (vector float a1, vector signed char a2); -extern vector float __builtin_vec_slo (vector float a1, vector unsigned char a2); -extern vector signed int __builtin_vec_slo (vector signed int a1, vector signed char a2); -extern vector signed int __builtin_vec_slo (vector signed int a1, vector unsigned char a2); -extern vector unsigned int __builtin_vec_slo (vector unsigned int a1, vector signed char a2); -extern vector unsigned int __builtin_vec_slo (vector unsigned int a1, vector unsigned char a2); - -extern vector signed short __builtin_vec_slo (vector signed short a1, vector signed char a2); -extern vector signed short __builtin_vec_slo (vector signed short a1, vector unsigned char a2); - -extern vector unsigned short __builtin_vec_slo (vector unsigned short a1, - vector signed char a2); -extern vector unsigned short __builtin_vec_slo (vector unsigned short a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_slo (vector signed char a1, vector signed char a2); -extern vector signed char __builtin_vec_slo (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_slo (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_slo (vector unsigned char a1, - vector unsigned char a2); - -extern vector signed char __builtin_vec_splat (vector signed char a1, const char a2); -extern vector unsigned char __builtin_vec_splat (vector unsigned char a1, const char a2); -extern vector signed short __builtin_vec_splat (vector signed short a1, const char a2); -extern vector unsigned short __builtin_vec_splat (vector unsigned short a1, const char a2); -extern vector float __builtin_vec_splat (vector float a1, const char a2); -extern vector signed int __builtin_vec_splat (vector signed int a1, const char a2); -extern vector unsigned int __builtin_vec_splat (vector unsigned int a1, const char a2); -#else -# define __builtin_vec_sl(a, b) ((a) << (b)) -__coverity_generic_altivec_vector __builtin_vec_sel (); -__coverity_generic_altivec_vector __builtin_vec_sel (); -__coverity_generic_altivec_vector __builtin_vec_sld (); -__coverity_generic_altivec_vector __builtin_vec_sll (); -__coverity_generic_altivec_vector __builtin_vec_slo (); -#endif - -extern vector signed char __builtin_vec_splat_s8 (const char a1); - -extern vector signed short __builtin_vec_splat_s16 (const char a1); - -extern vector signed int __builtin_vec_splat_s32 (const char a1); - -extern vector unsigned char __builtin_vec_splat_u8 (const char a1); - -extern vector unsigned short __builtin_vec_splat_u16 (const char a1); - -extern vector unsigned int __builtin_vec_splat_u32 (const char a1); - -#ifdef __coverity_cplusplus -extern vector signed char __builtin_vec_sr (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_sr (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_sr (vector signed short a1, vector unsigned short a2); - -extern vector unsigned short __builtin_vec_sr (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_sr (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_sr (vector unsigned int a1, vector unsigned int a2); - -extern vector signed char __builtin_vec_sra (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_sra (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_sra (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_sra (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_sra (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_sra (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_srl (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_srl (vector signed int a1, vector unsigned short a2); -extern vector signed int __builtin_vec_srl (vector signed int a1, vector unsigned char a2); -extern vector unsigned int __builtin_vec_srl (vector unsigned int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_srl (vector unsigned int a1, - vector unsigned short a2); -extern vector unsigned int __builtin_vec_srl (vector unsigned int a1, vector unsigned char a2); - -extern vector signed short __builtin_vec_srl (vector signed short a1, vector unsigned int a2); -extern vector signed short __builtin_vec_srl (vector signed short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_srl (vector signed short a1, vector unsigned char a2); - -extern vector unsigned short __builtin_vec_srl (vector unsigned short a1, - vector unsigned int a2); -extern vector unsigned short __builtin_vec_srl (vector unsigned short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_srl (vector unsigned short a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_srl (vector signed char a1, vector unsigned int a2); -extern vector signed char __builtin_vec_srl (vector signed char a1, vector unsigned short a2); -extern vector signed char __builtin_vec_srl (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_srl (vector unsigned char a1, - vector unsigned int a2); -extern vector unsigned char __builtin_vec_srl (vector unsigned char a1, - vector unsigned short a2); -extern vector unsigned char __builtin_vec_srl (vector unsigned char a1, - vector unsigned char a2); - -extern vector float __builtin_vec_sro (vector float a1, vector signed char a2); -extern vector float __builtin_vec_sro (vector float a1, vector unsigned char a2); -extern vector signed int __builtin_vec_sro (vector signed int a1, vector signed char a2); -extern vector signed int __builtin_vec_sro (vector signed int a1, vector unsigned char a2); -extern vector unsigned int __builtin_vec_sro (vector unsigned int a1, vector signed char a2); -extern vector unsigned int __builtin_vec_sro (vector unsigned int a1, vector unsigned char a2); - -extern vector signed short __builtin_vec_sro (vector signed short a1, vector signed char a2); -extern vector signed short __builtin_vec_sro (vector signed short a1, vector unsigned char a2); - -extern vector unsigned short __builtin_vec_sro (vector unsigned short a1, - vector signed char a2); -extern vector unsigned short __builtin_vec_sro (vector unsigned short a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_sro (vector signed char a1, vector signed char a2); -extern vector signed char __builtin_vec_sro (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_sro (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_sro (vector unsigned char a1, - vector unsigned char a2); - -extern void __builtin_vec_st (vector float a1, int a2, const void * a3); -extern void __builtin_vec_st (vector signed int a1, int a2, const void * a3); -extern void __builtin_vec_st (vector unsigned int a1, int a2, const void * a3); -extern void __builtin_vec_st (vector signed short a1, int a2, const void * a3); -extern void __builtin_vec_st (vector unsigned short a1, int a2, const void * a3); -extern void __builtin_vec_st (vector signed char a1, int a2, const void * a3); -extern void __builtin_vec_st (vector unsigned char a1, int a2, const void * a3); - -extern void __builtin_vec_ste (vector signed char a1, int a2, const void * a3); -extern void __builtin_vec_ste (vector unsigned char a1, int a2, unsigned char * a3); -extern void __builtin_vec_ste (vector signed short a1, int a2, const void * a3); -extern void __builtin_vec_ste (vector unsigned short a1, int a2, const void * a3); -extern void __builtin_vec_ste (vector signed int a1, int a2, const void * a3); -extern void __builtin_vec_ste (vector unsigned int a1, int a2, unsigned int * a3); -extern void __builtin_vec_ste (vector float a1, int a2, float * a3); - -extern void __builtin_vec_stl (vector float a1, int a2, const void * a3); -extern void __builtin_vec_stl (vector signed int a1, int a2, const void * a3); -extern void __builtin_vec_stl (vector unsigned int a1, int a2, const void * a3); -extern void __builtin_vec_stl (vector signed short a1, int a2, const void * a3); -extern void __builtin_vec_stl (vector unsigned short a1, int a2, const void * a3); -extern void __builtin_vec_stl (vector signed char a1, int a2, const void * a3); -extern void __builtin_vec_stl (vector unsigned char a1, int a2, const void * a3); - -extern vector signed char __builtin_vec_sub (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_sub (vector signed char a1, vector unsigned char a2); - -extern vector unsigned char __builtin_vec_sub (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_sub (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_sub (vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_vec_sub (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_sub (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_sub (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_sub (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_sub (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_sub (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_sub (vector unsigned int a1, vector unsigned int a2); -extern vector float __builtin_vec_sub (vector float a1, vector float a2); - -extern vector unsigned int __builtin_vec_subc (vector unsigned int a1, vector unsigned int a2); - -extern vector unsigned char __builtin_vec_subs (vector signed char a1, - vector unsigned char a2); -extern vector unsigned char __builtin_vec_subs (vector unsigned char a1, - vector signed char a2); -extern vector unsigned char __builtin_vec_subs (vector unsigned char a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_subs (vector signed char a1, vector signed char a2); -extern vector unsigned short __builtin_vec_subs (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_subs (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_subs (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_subs (vector signed short a1, vector signed short a2); - -extern vector unsigned int __builtin_vec_subs (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_subs (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_subs (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_subs (vector signed int a1, vector signed int a2); - -extern vector unsigned int __builtin_vec_sum4s (vector unsigned char a1, - vector unsigned int a2); -extern vector signed int __builtin_vec_sum4s (vector signed char a1, vector signed int a2); -extern vector signed int __builtin_vec_sum4s (vector signed short a1, vector signed int a2); -#else -# define __builtin_vec_sr(a, b) ((a) >> (b)) -# define __builtin_vec_sub(a, b) ((a) - (b)) -__coverity_generic_altivec_vector __builtin_vec_sra (); -__coverity_generic_altivec_vector __builtin_vec_srl (); -__coverity_generic_altivec_vector __builtin_vec_sro (); -extern void __builtin_vec_st (); -extern void __builtin_vec_ste (); -extern void __builtin_vec_stl (); -__coverity_generic_altivec_vector __builtin_vec_subc (); -__coverity_generic_altivec_vector __builtin_vec_subs (); -__coverity_generic_altivec_vector __builtin_vec_sum4s (); -#endif - -extern vector signed int __builtin_vec_sum2s (vector signed int a1, vector signed int a2); - -extern vector signed int __builtin_vec_sums (vector signed int a1, vector signed int a2); - -extern vector float __builtin_vec_trunc (vector float a1); - -#ifdef __coverity_cplusplus -extern vector signed short __builtin_vec_unpackh (vector signed char a1); -extern vector unsigned int __builtin_vec_unpackh (vector unsigned short a1); -extern vector signed int __builtin_vec_unpackh (vector signed short a1); - -extern vector signed short __builtin_vec_unpackl (vector signed char a1); -extern vector unsigned int __builtin_vec_unpackl (vector unsigned short a1); -extern vector signed int __builtin_vec_unpackl (vector signed short a1); - -extern vector float __builtin_vec_xor (vector float a1, vector float a2); -extern vector float __builtin_vec_xor (vector float a1, vector signed int a2); -extern vector float __builtin_vec_xor (vector signed int a1, vector float a2); -extern vector signed int __builtin_vec_xor (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_xor (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_xor (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_xor (vector unsigned int a1, vector unsigned int a2); -extern vector signed short __builtin_vec_xor (vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_vec_xor (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_xor (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_xor (vector unsigned short a1, - vector unsigned short a2); -extern vector signed char __builtin_vec_xor (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_xor (vector signed char a1, vector unsigned char a2); - -extern vector unsigned char __builtin_vec_xor (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_xor (vector unsigned char a1, - vector unsigned char a2); - -extern vector signed int __builtin_vec_all_eq (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_all_eq (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_all_eq (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_all_eq (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_all_eq (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_eq (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_all_eq (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_all_eq (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_eq (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_all_eq (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_eq (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_eq (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_all_eq (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_ge (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_all_ge (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_all_ge (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_all_ge (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_all_ge (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_ge (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_all_ge (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_ge (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_all_ge (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_all_ge (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_ge (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_all_ge (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_ge (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_gt (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_all_gt (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_all_gt (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_all_gt (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_all_gt (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_gt (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_all_gt (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_gt (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_all_gt (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_all_gt (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_gt (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_all_gt (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_gt (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_in (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_le (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_all_le (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_all_le (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_all_le (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_all_le (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_le (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_all_le (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_le (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_all_le (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_all_le (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_le (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_all_le (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_le (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_lt (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_all_lt (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_all_lt (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_all_lt (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_all_lt (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_lt (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_all_lt (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_lt (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_all_lt (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_all_lt (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_lt (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_all_lt (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_lt (vector float a1, vector float a2); -#else -__coverity_generic_altivec_vector __builtin_vec_unpackh (); -__coverity_generic_altivec_vector __builtin_vec_unpackl (); -#define __builtin_vec_xor(a1, a2) ((a1) ^ (a2)) -__coverity_generic_altivec_vector __builtin_vec_all_eq (); -__coverity_generic_altivec_vector __builtin_vec_all_ge (); -__coverity_generic_altivec_vector __builtin_vec_all_gt (); -__coverity_generic_altivec_vector __builtin_vec_all_le (); -__coverity_generic_altivec_vector __builtin_vec_all_lt (); -#endif - -extern vector signed int __builtin_vec_all_nan (vector float a1); - -#ifdef __coverity_cplusplus -extern vector signed int __builtin_vec_all_ne (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_all_ne (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_all_ne (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_all_ne (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_all_ne (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_ne (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_all_ne (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_all_ne (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_ne (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_all_ne (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_ne (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_ne (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_all_ne (vector float a1, vector float a2); - -#else -__coverity_generic_altivec_vector __builtin_vec_all_ne (); -#endif - -extern vector signed int __builtin_vec_all_nge (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_ngt (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_nle (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_nlt (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_numeric (vector float a1); - -#ifdef __coverity_cplusplus -extern vector signed int __builtin_vec_any_eq (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_any_eq (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_any_eq (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_any_eq (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_any_eq (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_eq (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_any_eq (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_any_eq (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_eq (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_any_eq (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_eq (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_eq (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_any_eq (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_ge (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_any_ge (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_any_ge (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_any_ge (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_any_ge (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_ge (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_any_ge (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_ge (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_any_ge (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_any_ge (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_ge (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_any_ge (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_ge (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_gt (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_any_gt (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_any_gt (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_any_gt (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_any_gt (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_gt (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_any_gt (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_gt (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_any_gt (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_any_gt (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_gt (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_any_gt (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_gt (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_le (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_any_le (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_any_le (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_any_le (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_any_le (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_le (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_any_le (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_le (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_any_le (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_any_le (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_le (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_any_le (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_le (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_lt (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_any_lt (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_any_lt (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_any_lt (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_any_lt (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_lt (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_any_lt (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_lt (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_any_lt (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_any_lt (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_lt (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_any_lt (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_lt (vector float a1, vector float a2); -#else -__coverity_generic_altivec_vector __builtin_vec_any_eq (); -__coverity_generic_altivec_vector __builtin_vec_any_ge (); -__coverity_generic_altivec_vector __builtin_vec_any_gt (); -__coverity_generic_altivec_vector __builtin_vec_any_le (); -__coverity_generic_altivec_vector __builtin_vec_any_lt (); -#endif - -extern vector signed int __builtin_vec_any_nan (vector float a1); - -#ifdef __coverity_cplusplus -extern vector signed int __builtin_vec_any_ne (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_any_ne (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_any_ne (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_any_ne (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_any_ne (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_ne (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_any_ne (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_any_ne (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_ne (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_any_ne (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_ne (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_ne (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_any_ne (vector float a1, vector float a2); -#else -__coverity_generic_altivec_vector __builtin_vec_any_ne (); -#endif - -extern vector signed int __builtin_vec_any_nge (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_ngt (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_nle (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_nlt (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_numeric (vector float a1); - -extern vector signed int __builtin_vec_any_out (vector float a1, vector float a2); - -# ifndef OFFSET_T -# ifdef _ARCH_PPC64 -# define OFFSET_T long -# else -# define OFFSET_T int -# endif -# endif - -extern int __builtin_altivec_vcmpbfp_p(int a1, vector float a2, vector float a3); -extern int __builtin_altivec_vcmpeqfp_p(int a1, vector float a2, vector float a3); -extern int __builtin_altivec_vcmpeqfp_p(int, vector float a1, vector float a2); -extern int __builtin_altivec_vcmpequb_p(int a1, vector signed char a2, vector signed char a3); -extern int __builtin_altivec_vcmpequh_p(int a1, vector signed short a2, vector signed short a3); -extern int __builtin_altivec_vcmpequw_p(int a1, vector signed int a2, vector signed int a3); -extern int __builtin_altivec_vcmpgefp_p(int a1, vector float a2, vector float a3); -extern int __builtin_altivec_vcmpgtfp_p(int a1, vector float a2, vector float a3); -extern int __builtin_altivec_vcmpgtsb_p(int a1, vector signed char a2, vector signed char a3); -extern int __builtin_altivec_vcmpgtsh_p(int a1, vector signed short a2, vector signed short a3); -extern int __builtin_altivec_vcmpgtsw_p(int a1, vector signed int a2, vector signed int a3); -extern int __builtin_altivec_vcmpgtub_p(int a1, vector signed char a2, vector signed char a3); -extern int __builtin_altivec_vcmpgtuh_p(int a1, vector signed short a2, vector signed short a3); -extern int __builtin_altivec_vcmpgtuw_p(int a1, vector signed int a2, vector signed int a3); -extern vector bool char __builtin_altivec_lvx(OFFSET_T a1, const void * a2); -extern vector bool char __builtin_altivec_lvxl(OFFSET_T a1, const void * a2); -extern vector bool char __builtin_altivec_vand(vector signed int a1, vector signed int a2); -extern vector bool char __builtin_altivec_vandc(vector signed int a1, vector signed int a2); -extern vector bool char __builtin_altivec_vcmpequb(vector signed char a1, vector signed char a2); -extern vector bool char __builtin_altivec_vcmpgtsb(vector signed char a1, vector signed char a2); -extern vector bool char __builtin_altivec_vcmpgtub(vector signed char a1, vector signed char a2); -extern vector bool char __builtin_altivec_vmrghb(vector signed char a1, vector signed char a2); -extern vector bool char __builtin_altivec_vmrglb(vector signed char a1, vector signed char a2); -extern vector bool char __builtin_altivec_vnor(vector signed int a1, vector signed int a2); -extern vector bool char __builtin_altivec_vor(vector signed int a1, vector signed int a2); -extern vector bool char __builtin_altivec_vperm_4si(vector signed int a1, vector signed int a2, vector signed char a3); -extern vector bool char __builtin_altivec_vpkuhum(vector signed short a1, vector signed short a2); -extern vector bool char __builtin_altivec_vsel_4si(vector signed int a1, vector signed int a2, vector signed int a3); -extern vector bool char __builtin_altivec_vsl(vector signed int a1, vector signed int a2); -extern vector bool char __builtin_altivec_vsldoi_4si(vector signed int a1, vector signed int a2, const int a3); -extern vector bool char __builtin_altivec_vsldoi_4sf(vector float a1, vector float a2, const int a3); -extern vector bool char __builtin_altivec_vspltb(vector signed char a1, const int a2); -extern vector bool char __builtin_altivec_vsr(vector signed int a1, vector signed int a2); -extern vector bool char __builtin_altivec_vxor(vector signed int a1, vector signed int a2); -extern vector bool int __builtin_altivec_vcmpeqfp(vector float a1, vector float a2); -extern vector bool int __builtin_altivec_vcmpequw(vector signed int a1, vector signed int a2); -extern vector bool int __builtin_altivec_vcmpgefp(vector float a1, vector float a2); -extern vector bool int __builtin_altivec_vcmpgtfp(vector float a1, vector float a2); -extern vector bool int __builtin_altivec_vcmpgtsw(vector signed int a1, vector signed int a2); -extern vector bool int __builtin_altivec_vcmpgtuw(vector signed int a1, vector signed int a2); -extern vector bool int __builtin_altivec_vmrghw(vector signed int a1, vector signed int a2); -extern vector bool int __builtin_altivec_vmrglw(vector signed int a1, vector signed int a2); -extern vector bool int __builtin_altivec_vspltw(vector signed int a1, const int a2); -extern vector bool int __builtin_altivec_vupkhsh(vector signed short a1); -extern vector bool int __builtin_altivec_vupklsh(vector signed short a1); -extern vector bool short __builtin_altivec_vcmpequh(vector signed short a1, vector signed short a2); -extern vector bool short __builtin_altivec_vcmpgtsh(vector signed short a1, vector signed short a2); -extern vector bool short __builtin_altivec_vcmpgtuh(vector signed short a1, vector signed short a2); -extern vector bool short __builtin_altivec_vmrghh(vector signed short a1, vector signed short a2); -extern vector bool short __builtin_altivec_vmrglh(vector signed short a1, vector signed short a2); -extern vector bool short __builtin_altivec_vpkuwum(vector signed int a1, vector signed int a2); -extern vector bool short __builtin_altivec_vsplth(vector signed short a1, const int a2); -extern vector bool short __builtin_altivec_vupkhsb(vector signed char a1); -extern vector bool short __builtin_altivec_vupklsb(vector signed char a1); -extern vector float __builtin_altivec_abs_v4sf(vector float a1); -extern vector float __builtin_altivec_lvewx(OFFSET_T a1, const void * a2); -extern vector float __builtin_altivec_vaddfp(vector float a1, vector float a2); -extern vector float __builtin_altivec_vcfsx(vector signed int a1, const int a2); -extern vector float __builtin_altivec_vcfux(vector signed int a1, const int a2); -extern vector float __builtin_altivec_vexptefp(vector float a1); -extern vector float __builtin_altivec_vlogefp(vector float a1); -extern vector float __builtin_altivec_vmaddfp(vector float a1, vector float a2, vector float a3); -extern vector float __builtin_altivec_vmaxfp(vector float a1, vector float a2); -extern vector float __builtin_altivec_vminfp(vector float a1, vector float a2); -extern vector float __builtin_altivec_vnmsubfp(vector float a1, vector float a2, vector float a3); -extern vector float __builtin_altivec_vrefp(vector float a1); -extern vector float __builtin_altivec_vrfim(vector float a1); -extern vector float __builtin_altivec_vrfin(vector float a1); -extern vector float __builtin_altivec_vrfip(vector float a1); -extern vector float __builtin_altivec_vrfiz(vector float a1); -extern vector float __builtin_altivec_vrsqrtefp(vector float a1); -extern vector float __builtin_altivec_vslo(vector signed int a1, vector signed int a2); -extern vector float __builtin_altivec_vsro(vector signed int a1, vector signed int a2); -extern vector float __builtin_altivec_vsubfp(vector float a1, vector float a2); -extern vector pixel __builtin_altivec_vpkpx(vector signed int a1, vector signed int a2); -extern vector signed char __builtin_altivec_abs_v16qi(vector signed char a1); -extern vector signed char __builtin_altivec_abss_v16qi(vector signed char a1); -extern vector signed char __builtin_altivec_lvebx(OFFSET_T a1, const void * a2); -extern vector signed char __builtin_altivec_vaddsbs(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vaddubm(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vavgsb(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vmaxsb(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vminsb(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vpkshss(vector signed short a1, vector signed short a2); -extern vector signed char __builtin_altivec_vrlb(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vslb(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vspltisb(const int a1); -extern vector signed char __builtin_altivec_vsrab(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vsrb(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vsubsbs(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vsububm(vector signed char a1, vector signed char a2); -extern vector signed int __builtin_altivec_abs_v4si(vector signed int a1); -extern vector signed int __builtin_altivec_abss_v4si(vector signed int a1); -extern vector signed int __builtin_altivec_vaddsws(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vadduwm(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vavgsw(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vcmpbfp(vector float a1, vector float a2); -extern vector signed int __builtin_altivec_vctsxs(vector float a1, const int a2); -extern vector signed int __builtin_altivec_vmaxsw(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vminsw(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vmsummbm(vector signed char a1, vector signed char a2, vector signed int a3); -extern vector signed int __builtin_altivec_vmsumshm(vector signed short a1, vector signed short a2, vector signed int a3); -extern vector signed int __builtin_altivec_vmsumshs(vector signed short a1, vector signed short a2, vector signed int a3); -extern vector signed int __builtin_altivec_vmulesh(vector signed short a1, vector signed short a2); -extern vector signed int __builtin_altivec_vmulosh(vector signed short a1, vector signed short a2); -extern vector signed int __builtin_altivec_vrlw(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vslw(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vspltisw(const int a1); -extern vector signed int __builtin_altivec_vsraw(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vsrw(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vsubsws(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vsubuwm(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vsum2sws(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vsum4sbs(vector signed char a1, vector signed int a2); -extern vector signed int __builtin_altivec_vsum4shs(vector signed short a1, vector signed int a2); -extern vector signed int __builtin_altivec_vsumsws(vector signed int a1, vector signed int a2); -extern vector signed short __builtin_altivec_abs_v8hi(vector signed short a1); -extern vector signed short __builtin_altivec_abss_v8hi(vector signed short a1); -extern vector signed short __builtin_altivec_lvehx(OFFSET_T a1, const void * a2); -extern vector signed short __builtin_altivec_vaddshs(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vadduhm(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vavgsh(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vmaxsh(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vmhaddshs(vector signed short a1, vector signed short a2, vector signed short a3); -extern vector signed short __builtin_altivec_vmhraddshs(vector signed short a1, vector signed short a2, vector signed short a3); -extern vector signed short __builtin_altivec_vminsh(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vmladduhm(vector signed short a1, vector signed short a2, vector signed short a3); -extern vector signed short __builtin_altivec_vmulesb(vector signed char a1, vector signed char a2); -extern vector signed short __builtin_altivec_vmuleub(vector signed char a1, vector signed char a2); -extern vector signed short __builtin_altivec_vmulosb(vector signed char a1, vector signed char a2); -extern vector signed short __builtin_altivec_vpkswss(vector signed int a1, vector signed int a2); -extern vector signed short __builtin_altivec_vrlh(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vslh(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vspltish(const int a1); -extern vector signed short __builtin_altivec_vsrah(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vsrh(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vsubshs(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vsubuhm(vector signed short a1, vector signed short a2); -extern vector unsigned char __builtin_altivec_lvlx(OFFSET_T a1, const void * a2); -extern vector unsigned char __builtin_altivec_lvlxl(OFFSET_T a1, const void * a2); -extern vector unsigned char __builtin_altivec_lvrx(OFFSET_T a1, const void * a2); -extern vector unsigned char __builtin_altivec_lvrxl(OFFSET_T a1, const void * a2); -extern vector unsigned char __builtin_altivec_lvsl(OFFSET_T a1, const void * a2); -extern vector unsigned char __builtin_altivec_lvsr(OFFSET_T a1, const void * a2); -extern vector unsigned char __builtin_altivec_vaddubs(vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_altivec_vavgub(vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_altivec_vmaxub(vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_altivec_vminub(vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_altivec_vpkshus(vector signed short a1, vector signed short a2); -extern vector unsigned char __builtin_altivec_vpkuhus(vector signed short a1, vector signed short a2); -extern vector unsigned char __builtin_altivec_vsububs(vector signed char a1, vector signed char a2); -extern vector unsigned int __builtin_altivec_vaddcuw(vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vadduws(vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vavguw(vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vctuxs(vector float a1, const int a2); -extern vector unsigned int __builtin_altivec_vmaxuw(vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vminuw(vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vmsumubm(vector signed char a1, vector signed char a2, vector signed int a3); -extern vector unsigned int __builtin_altivec_vmsumuhm(vector signed short a1, vector signed short a2, vector signed int a3); -extern vector unsigned int __builtin_altivec_vmsumuhs(vector signed short a1, vector signed short a2, vector signed int a3); -extern vector unsigned int __builtin_altivec_vmuleuh(vector signed short a1, vector signed short a2); -extern vector unsigned int __builtin_altivec_vmulouh(vector signed short a1, vector signed short a2); -extern vector unsigned int __builtin_altivec_vsubcuw(vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vsubuws(vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vsum4ubs(vector signed char a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vupkhpx(vector signed short a1); -extern vector unsigned int __builtin_altivec_vupklpx(vector signed short a1); -extern vector unsigned short __builtin_altivec_mfvscr(); -extern vector unsigned short __builtin_altivec_vadduhs(vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_altivec_vavguh(vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_altivec_vmaxuh(vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_altivec_vminuh(vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_altivec_vmuloub(vector signed char a1, vector signed char a2); -extern vector unsigned short __builtin_altivec_vpkswus(vector signed int a1, vector signed int a2); -extern vector unsigned short __builtin_altivec_vpkuwus(vector signed int a1, vector signed int a2); -extern vector unsigned short __builtin_altivec_vsubuhs(vector signed short a1, vector signed short a2); -extern void __builtin_altivec_dss(int a1); -extern void __builtin_altivec_dssall(); -extern void __builtin_altivec_dst(const void *a1, OFFSET_T a2, const int a3); -extern void __builtin_altivec_dstst(const void *a1, OFFSET_T a2, const int a3); -extern void __builtin_altivec_dststt(const void *a1, OFFSET_T a2, const int a3); -extern void __builtin_altivec_dstt(const void *a1, OFFSET_T a2, const int a3); -extern void __builtin_altivec_mtvscr(vector signed int a1); -#ifdef __coverity_cplusplus -extern void __builtin_altivec_stvebx(vector signed char a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvehx(vector signed short a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvewx(vector signed int a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvlx(vector signed char a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvlxl(vector signed char a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvrx(vector signed char a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvrxl(vector signed char a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvx(vector signed int a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvxl(vector signed int a1, OFFSET_T a2, const void * a3); -extern vector bool char __builtin_altivec_vsel_4sf(vector float a1, vector float a2, vector float a3); -extern vector bool char __builtin_altivec_vsel_4sf(vector float a1, vector float a2, vector signed int a3); -#else -extern void __builtin_altivec_stvebx(); -extern void __builtin_altivec_stvehx(); -extern void __builtin_altivec_stvewx(); -extern void __builtin_altivec_stvlx(); -extern void __builtin_altivec_stvlxl(); -extern void __builtin_altivec_stvrx(); -extern void __builtin_altivec_stvrxl(); -extern void __builtin_altivec_stvx(); -extern void __builtin_altivec_stvxl(); -extern __coverity_generic_altivec_vector __builtin_altivec_vsel_4sf(); -#endif -#endif /* __ALTIVEC__ */ -/* - Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. - The information contained in this file is the proprietary and confidential - information of Synopsys, Inc. and its licensors, and is supplied subject to, - and may be used only by Synopsys customers in accordance with the terms and - conditions of a previously executed license agreement between Synopsys and - that customer. -*/ - -/* - * These declarations are used to implement various sanitizer modes. They are - * not supported intrinsically by cov-emit. - */ - -// -fsanitize-coverage=trace-cmp -void __asan_after_dynamic_init(void); -void __asan_handle_no_return(void); -void __asan_init(void); -void __asan_version_mismatch_check_v8(void); -void __builtin___asan_after_dynamic_init(void); -void __builtin___asan_handle_no_return(void); -void __builtin___asan_init(void); -void __builtin___asan_version_mismatch_check_v8(void); -void __builtin___sanitizer_cov_trace_pc(void); -void __builtin___tsan_init(void); -void __sanitizer_cov_trace_pc(void); -void __tsan_init(void); -void __asan_alloca_poison(void*, long int); -void __asan_allocas_unpoison(void*, long int); -void __asan_before_dynamic_init(const void*); -void __asan_load1(void*); -void __asan_load16(void*); -void __asan_load16_noabort(void*); -void __asan_load1_noabort(void*); -void __asan_load2(void*); -void __asan_load2_noabort(void*); -void __asan_load4(void*); -void __asan_load4_noabort(void*); -void __asan_load8(void*); -void __asan_load8_noabort(void*); -void __asan_loadN(void*, long int); -void __asan_loadN_noabort(void*, long int); -void __asan_poison_stack_memory(void*, long int); -void __asan_register_globals(void*, long int); -void __asan_report_load1(void*); -void __asan_report_load16(void*); -void __asan_report_load16_noabort(void*); -void __asan_report_load1_noabort(void*); -void __asan_report_load2(void*); -void __asan_report_load2_noabort(void*); -void __asan_report_load4(void*); -void __asan_report_load4_noabort(void*); -void __asan_report_load8(void*); -void __asan_report_load8_noabort(void*); -void __asan_report_load_n(void*, long int); -void __asan_report_load_n_noabort(void*, long int); -void __asan_report_store1(void*); -void __asan_report_store16(void*); -void __asan_report_store16_noabort(void*); -void __asan_report_store1_noabort(void*); -void __asan_report_store2(void*); -void __asan_report_store2_noabort(void*); -void __asan_report_store4(void*); -void __asan_report_store4_noabort(void*); -void __asan_report_store8(void*); -void __asan_report_store8_noabort(void*); -void __asan_report_store_n(void*, long int); -void __asan_report_store_n_noabort(void*, long int); -void __asan_store1(void*); -void __asan_store16(void*); -void __asan_store16_noabort(void*); -void __asan_store1_noabort(void*); -void __asan_store2(void*); -void __asan_store2_noabort(void*); -void __asan_store4(void*); -void __asan_store4_noabort(void*); -void __asan_store8(void*); -void __asan_store8_noabort(void*); -void __asan_storeN(void*, long int); -void __asan_storeN_noabort(void*, long int); -void __asan_unpoison_stack_memory(void*, long int); -void __asan_unregister_globals(void*, long int); -void __builtin___asan_alloca_poison(void*, long int); -void __builtin___asan_allocas_unpoison(void*, long int); -void __builtin___asan_before_dynamic_init(const void*); -void __builtin___asan_load1(void*); -void __builtin___asan_load16(void*); -void __builtin___asan_load16_noabort(void*); -void __builtin___asan_load1_noabort(void*); -void __builtin___asan_load2(void*); -void __builtin___asan_load2_noabort(void*); -void __builtin___asan_load4(void*); -void __builtin___asan_load4_noabort(void*); -void __builtin___asan_load8(void*); -void __builtin___asan_load8_noabort(void*); -void __builtin___asan_loadN(void*, long int); -void __builtin___asan_loadN_noabort(void*, long int); -void __builtin___asan_poison_stack_memory(void*, long int); -void __builtin___asan_register_globals(void*, long int); -void __builtin___asan_report_load1(void*); -void __builtin___asan_report_load16(void*); -void __builtin___asan_report_load16_noabort(void*); -void __builtin___asan_report_load1_noabort(void*); -void __builtin___asan_report_load2(void*); -void __builtin___asan_report_load2_noabort(void*); -void __builtin___asan_report_load4(void*); -void __builtin___asan_report_load4_noabort(void*); -void __builtin___asan_report_load8(void*); -void __builtin___asan_report_load8_noabort(void*); -void __builtin___asan_report_load_n(void*, long int); -void __builtin___asan_report_load_n_noabort(void*, long int); -void __builtin___asan_report_store1(void*); -void __builtin___asan_report_store16(void*); -void __builtin___asan_report_store16_noabort(void*); -void __builtin___asan_report_store1_noabort(void*); -void __builtin___asan_report_store2(void*); -void __builtin___asan_report_store2_noabort(void*); -void __builtin___asan_report_store4(void*); -void __builtin___asan_report_store4_noabort(void*); -void __builtin___asan_report_store8(void*); -void __builtin___sanitizer_cov_trace_cmp2(short unsigned int, short unsigned int); -void __builtin___sanitizer_cov_trace_cmp4(unsigned int, unsigned int); -void __builtin___sanitizer_cov_trace_cmp8(long unsigned int, long unsigned int); -void __builtin___sanitizer_cov_trace_cmpd(double, double); -void __builtin___sanitizer_cov_trace_cmpf(float, float); -void __builtin___sanitizer_cov_trace_const_cmp1(unsigned char, unsigned char); -void __builtin___sanitizer_cov_trace_const_cmp2(short unsigned int, short unsigned int); -void __builtin___sanitizer_cov_trace_const_cmp4(unsigned int, unsigned int); -void __builtin___sanitizer_cov_trace_const_cmp8(long unsigned int, long unsigned int); -void __builtin___sanitizer_cov_trace_switch(long unsigned int, void*); -void __builtin___sanitizer_ptr_cmp(void*, long int); -void __builtin___sanitizer_ptr_sub(void*, long int); - -void __builtin___hwasan_handle_longjmp(const void*); -void __builtin___hwasan_load1(void*); -void __builtin___hwasan_load16(void*); -void __builtin___hwasan_load16_noabort(void*); -void __builtin___hwasan_load1_noabort(void*); -void __builtin___hwasan_load2(void*); -void __builtin___hwasan_load2_noabort(void*); -void __builtin___hwasan_load4(void*); -void __builtin___hwasan_load4_noabort(void*); -void __builtin___hwasan_load8(void*); -void __builtin___hwasan_load8_noabort(void*); -void __builtin___hwasan_loadN(void*, long int); -void __builtin___hwasan_loadN_noabort(void*, long int); -void __builtin___hwasan_store1(void*); -void __builtin___hwasan_store16(void*); -void __builtin___hwasan_store16_noabort(void*); -void __builtin___hwasan_store1_noabort(void*); -void __builtin___hwasan_store2(void*); -void __builtin___hwasan_store2_noabort(void*); -void __builtin___hwasan_store4(void*); -void __builtin___hwasan_store4_noabort(void*); -void __builtin___hwasan_store8(void*); -void __builtin___hwasan_store8_noabort(void*); -void __builtin___hwasan_storeN(void*, long int); -void __builtin___hwasan_storeN_noabort(void*, long int); -void __builtin___hwasan_tag_memory(void*, unsigned char, long int); -void __builtin___hwasan_tag_mismatch4(void*); -void* __builtin___hwasan_tag_pointer(const void*, unsigned char); -void __builtin___tsan_volatile_read1(void*); -void __builtin___tsan_volatile_read16(void*); -void __builtin___tsan_volatile_read2(void*); -void __builtin___tsan_volatile_read4(void*); -void __builtin___tsan_volatile_read8(void*); -void __builtin___tsan_volatile_write1(void*); -void __builtin___tsan_volatile_write16(void*); -void __builtin___tsan_volatile_write2(void*); -void __builtin___tsan_volatile_write4(void*); -void __builtin___tsan_volatile_write8(void*); -void __hwasan_handle_longjmp(const void*); -void __hwasan_load1(void*); -void __hwasan_load16(void*); -void __hwasan_load16_noabort(void*); -void __hwasan_load1_noabort(void*); -void __hwasan_load2(void*); -void __hwasan_load2_noabort(void*); -void __hwasan_load4(void*); -void __hwasan_load4_noabort(void*); -void __hwasan_load8(void*); -void __hwasan_load8_noabort(void*); -void __hwasan_loadN(void*, long int); -void __hwasan_loadN_noabort(void*, long int); -void __hwasan_store1(void*); -void __hwasan_store16(void*); -void __hwasan_store16_noabort(void*); -void __hwasan_store1_noabort(void*); -void __hwasan_store2(void*); -void __hwasan_store2_noabort(void*); -void __hwasan_store4(void*); -void __hwasan_store4_noabort(void*); -void __hwasan_store8(void*); -void __hwasan_store8_noabort(void*); -void __hwasan_storeN(void*, long int); -void __hwasan_storeN_noabort(void*, long int); -void __hwasan_tag_memory(void*, unsigned char, long int); -void __hwasan_tag_mismatch4(void*); -void* __hwasan_tag_pointer(const void*, unsigned char); -void __tsan_volatile_read1(void*); -void __tsan_volatile_read16(void*); -void __tsan_volatile_read2(void*); -void __tsan_volatile_read4(void*); -void __tsan_volatile_read8(void*); -void __tsan_volatile_write1(void*); -void __tsan_volatile_write16(void*); -void __tsan_volatile_write2(void*); -void __tsan_volatile_write4(void*); -void __tsan_volatile_write8(void*); -void __builtin___hwasan_init(void); -void __hwasan_init(void); - -#if defined(__SIZEOF_INT128__) -__edg_bool_type__ __builtin___tsan_atomic128_compare_exchange_strong(volatile void*, void*, __int128 unsigned, int, int); -__edg_bool_type__ __builtin___tsan_atomic128_compare_exchange_weak(volatile void*, void*, __int128 unsigned, int, int); -__int128 unsigned __builtin___tsan_atomic128_exchange(volatile void*, __int128 unsigned, int); -__int128 unsigned __builtin___tsan_atomic128_fetch_add(volatile void*, __int128 unsigned, int); -__int128 unsigned __builtin___tsan_atomic128_fetch_and(volatile void*, __int128 unsigned, int); -__int128 unsigned __builtin___tsan_atomic128_fetch_nand(volatile void*, __int128 unsigned, int); -__int128 unsigned __builtin___tsan_atomic128_fetch_or(volatile void*, __int128 unsigned, int); -__int128 unsigned __builtin___tsan_atomic128_fetch_sub(volatile void*, __int128 unsigned, int); -__int128 unsigned __builtin___tsan_atomic128_fetch_xor(volatile void*, __int128 unsigned, int); -__int128 unsigned __builtin___tsan_atomic128_load(const volatile void*, int); -void __builtin___tsan_atomic128_store(volatile void*, __int128 unsigned, int); -__edg_bool_type__ __tsan_atomic128_compare_exchange_strong(volatile void*, void*, __int128 unsigned, int, int); -__edg_bool_type__ __tsan_atomic128_compare_exchange_weak(volatile void*, void*, __int128 unsigned, int, int); -__int128 unsigned __tsan_atomic128_exchange(volatile void*, __int128 unsigned, int); -__int128 unsigned __tsan_atomic128_fetch_add(volatile void*, __int128 unsigned, int); -__int128 unsigned __tsan_atomic128_fetch_and(volatile void*, __int128 unsigned, int); -__int128 unsigned __tsan_atomic128_fetch_nand(volatile void*, __int128 unsigned, int); -__int128 unsigned __tsan_atomic128_fetch_or(volatile void*, __int128 unsigned, int); -__int128 unsigned __tsan_atomic128_fetch_sub(volatile void*, __int128 unsigned, int); -__int128 unsigned __tsan_atomic128_fetch_xor(volatile void*, __int128 unsigned, int); -__int128 unsigned __tsan_atomic128_load(const volatile void*, int); -void __tsan_atomic128_store(volatile void*, __int128 unsigned, int); - -__int128 unsigned __builtin_bswap128(__int128 unsigned); -#endif /* defined(__SIZEOF_INT128__) */ - -__edg_bool_type__ __builtin___tsan_atomic16_compare_exchange_strong(volatile void*, void*, short unsigned int, int, int); -__edg_bool_type__ __builtin___tsan_atomic16_compare_exchange_weak(volatile void*, void*, short unsigned int, int, int); -short unsigned int __builtin___tsan_atomic16_exchange(volatile void*, short unsigned int, int); -short unsigned int __builtin___tsan_atomic16_fetch_add(volatile void*, short unsigned int, int); -short unsigned int __builtin___tsan_atomic16_fetch_and(volatile void*, short unsigned int, int); -short unsigned int __builtin___tsan_atomic16_fetch_nand(volatile void*, short unsigned int, int); -short unsigned int __builtin___tsan_atomic16_fetch_or(volatile void*, short unsigned int, int); -short unsigned int __builtin___tsan_atomic16_fetch_sub(volatile void*, short unsigned int, int); -short unsigned int __builtin___tsan_atomic16_fetch_xor(volatile void*, short unsigned int, int); -short unsigned int __builtin___tsan_atomic16_load(const volatile void*, int); -void __builtin___tsan_atomic16_store(volatile void*, short unsigned int, int); -__edg_bool_type__ __builtin___tsan_atomic32_compare_exchange_strong(volatile void*, void*, unsigned int, int, int); -__edg_bool_type__ __builtin___tsan_atomic32_compare_exchange_weak(volatile void*, void*, unsigned int, int, int); -unsigned int __builtin___tsan_atomic32_exchange(volatile void*, unsigned int, int); -unsigned int __builtin___tsan_atomic32_fetch_add(volatile void*, unsigned int, int); -unsigned int __builtin___tsan_atomic32_fetch_and(volatile void*, unsigned int, int); -unsigned int __builtin___tsan_atomic32_fetch_nand(volatile void*, unsigned int, int); -unsigned int __builtin___tsan_atomic32_fetch_or(volatile void*, unsigned int, int); -unsigned int __builtin___tsan_atomic32_fetch_sub(volatile void*, unsigned int, int); -unsigned int __builtin___tsan_atomic32_fetch_xor(volatile void*, unsigned int, int); -unsigned int __builtin___tsan_atomic32_load(const volatile void*, int); -void __builtin___tsan_atomic32_store(volatile void*, unsigned int, int); -__edg_bool_type__ __builtin___tsan_atomic64_compare_exchange_strong(volatile void*, void*, long unsigned int, int, int); -__edg_bool_type__ __builtin___tsan_atomic64_compare_exchange_weak(volatile void*, void*, long unsigned int, int, int); -long unsigned int __builtin___tsan_atomic64_exchange(volatile void*, long unsigned int, int); -long unsigned int __builtin___tsan_atomic64_fetch_add(volatile void*, long unsigned int, int); -long unsigned int __builtin___tsan_atomic64_fetch_and(volatile void*, long unsigned int, int); -long unsigned int __builtin___tsan_atomic64_fetch_nand(volatile void*, long unsigned int, int); -long unsigned int __builtin___tsan_atomic64_fetch_or(volatile void*, long unsigned int, int); -long unsigned int __builtin___tsan_atomic64_fetch_sub(volatile void*, long unsigned int, int); -long unsigned int __builtin___tsan_atomic64_fetch_xor(volatile void*, long unsigned int, int); -long unsigned int __builtin___tsan_atomic64_load(const volatile void*, int); -void __builtin___tsan_atomic64_store(volatile void*, long unsigned int, int); -__edg_bool_type__ __builtin___tsan_atomic8_compare_exchange_strong(volatile void*, void*, unsigned char, int, int); -__edg_bool_type__ __builtin___tsan_atomic8_compare_exchange_weak(volatile void*, void*, unsigned char, int, int); -unsigned char __builtin___tsan_atomic8_exchange(volatile void*, unsigned char, int); -unsigned char __builtin___tsan_atomic8_fetch_add(volatile void*, unsigned char, int); -unsigned char __builtin___tsan_atomic8_fetch_and(volatile void*, unsigned char, int); -unsigned char __builtin___tsan_atomic8_fetch_nand(volatile void*, unsigned char, int); -unsigned char __builtin___tsan_atomic8_fetch_or(volatile void*, unsigned char, int); -unsigned char __builtin___tsan_atomic8_fetch_sub(volatile void*, unsigned char, int); -unsigned char __builtin___tsan_atomic8_fetch_xor(volatile void*, unsigned char, int); -unsigned char __builtin___tsan_atomic8_load(const volatile void*, int); -void __builtin___tsan_atomic8_store(volatile void*, unsigned char, int); -void __builtin___tsan_atomic_signal_fence(int); -void __builtin___tsan_atomic_thread_fence(int); -void __builtin___tsan_func_entry(void*); -void __builtin___tsan_func_exit(void*); -void __builtin___tsan_read1(void*); -void __builtin___tsan_read16(void*); -void __builtin___tsan_read2(void*); -void __builtin___tsan_read4(void*); -void __builtin___tsan_read8(void*); -void __builtin___tsan_read_range(void*, long int); -#if __COVERITY_GCC_VERSION_AT_LEAST(5, 1) -void __builtin___tsan_vptr_update(void*, void*); -void __tsan_vptr_update(void*, void*); -#else -void __tsan_vptr_update(void*); -void __builtin___tsan_vptr_update(void*); -#endif -void __builtin___tsan_write1(void*); -void __builtin___tsan_write16(void*); -void __builtin___tsan_write2(void*); -void __builtin___tsan_write4(void*); -void __builtin___tsan_write8(void*); -void __builtin___tsan_write_range(void*, long int); -void __builtin___ubsan_handle_add_overflow(void*, void*, void*); -void __builtin___ubsan_handle_add_overflow_abort(void*, void*, void*); -void __builtin___ubsan_handle_builtin_unreachable(void*); -void __builtin___ubsan_handle_divrem_overflow(void*, void*, void*); -void __builtin___ubsan_handle_divrem_overflow_abort(void*, void*, void*); -void __builtin___ubsan_handle_dynamic_type_cache_miss(void*, void*, void*); -void __builtin___ubsan_handle_dynamic_type_cache_miss_abort(void*, void*, void*); -void __builtin___ubsan_handle_float_cast_overflow(void*, void*); -void __builtin___ubsan_handle_float_cast_overflow_abort(void*, void*); -void __builtin___ubsan_handle_invalid_builtin(void*); -void __builtin___ubsan_handle_invalid_builtin_abort(void*); -void __builtin___ubsan_handle_load_invalid_value(void*, void*); -void __builtin___ubsan_handle_load_invalid_value_abort(void*, void*); -void __builtin___ubsan_handle_missing_return(void*); -void __builtin___ubsan_handle_mul_overflow(void*, void*, void*); -void __builtin___ubsan_handle_mul_overflow_abort(void*, void*, void*); -void __builtin___ubsan_handle_negate_overflow(void*, void*); -void __builtin___ubsan_handle_negate_overflow_abort(void*, void*); -#if __COVERITY_GCC_VERSION_AT_LEAST(6, 0) -void __builtin___ubsan_handle_nonnull_arg(void*); -void __builtin___ubsan_handle_nonnull_arg_abort(void*); -void __ubsan_handle_nonnull_arg(void*); -void __ubsan_handle_nonnull_arg_abort(void*); -#else -void __ubsan_handle_nonnull_arg(void*, int); -void __ubsan_handle_nonnull_arg_abort(void*, int); -void __builtin___ubsan_handle_nonnull_arg(void*, int); -void __builtin___ubsan_handle_nonnull_arg_abort(void*, int); -#endif -void __builtin___ubsan_handle_nonnull_return_v1(void*, void*); -void __builtin___ubsan_handle_nonnull_return_v1_abort(void*, void*); -void __builtin___ubsan_handle_out_of_bounds(void*, void*); -void __builtin___ubsan_handle_out_of_bounds_abort(void*, void*); -void __builtin___ubsan_handle_pointer_overflow(void*, void*, void*); -void __builtin___ubsan_handle_pointer_overflow_abort(void*, void*, void*); -void __builtin___ubsan_handle_shift_out_of_bounds(void*, void*, void*); -void __builtin___ubsan_handle_shift_out_of_bounds_abort(void*, void*, void*); -void __builtin___ubsan_handle_sub_overflow(void*, void*, void*); -void __builtin___ubsan_handle_sub_overflow_abort(void*, void*, void*); -void __builtin___ubsan_handle_type_mismatch_v1(void*, void*); -void __builtin___ubsan_handle_type_mismatch_v1_abort(void*, void*); -void __builtin___ubsan_handle_vla_bound_not_positive(void*, void*); -void __builtin___ubsan_handle_vla_bound_not_positive_abort(void*, void*); -void __sanitizer_cov_trace_cmp1(unsigned char, unsigned char); -void __sanitizer_cov_trace_cmp2(short unsigned int, short unsigned int); -void __sanitizer_cov_trace_cmp4(unsigned int, unsigned int); -void __sanitizer_cov_trace_cmp8(long unsigned int, long unsigned int); -void __sanitizer_cov_trace_cmpd(double, double); -void __sanitizer_cov_trace_cmpf(float, float); -void __sanitizer_cov_trace_const_cmp1(unsigned char, unsigned char); -void __sanitizer_cov_trace_const_cmp2(short unsigned int, short unsigned int); -void __sanitizer_cov_trace_const_cmp4(unsigned int, unsigned int); -void __sanitizer_cov_trace_const_cmp8(long unsigned int, long unsigned int); -void __sanitizer_cov_trace_switch(long unsigned int, void*); -void __sanitizer_ptr_cmp(void*, long int); -void __sanitizer_ptr_sub(void*, long int); -__edg_bool_type__ __tsan_atomic16_compare_exchange_strong(volatile void*, void*, short unsigned int, int, int); -__edg_bool_type__ __tsan_atomic16_compare_exchange_weak(volatile void*, void*, short unsigned int, int, int); -short unsigned int __tsan_atomic16_exchange(volatile void*, short unsigned int, int); -short unsigned int __tsan_atomic16_fetch_add(volatile void*, short unsigned int, int); -short unsigned int __tsan_atomic16_fetch_and(volatile void*, short unsigned int, int); -short unsigned int __tsan_atomic16_fetch_nand(volatile void*, short unsigned int, int); -short unsigned int __tsan_atomic16_fetch_or(volatile void*, short unsigned int, int); -short unsigned int __tsan_atomic16_fetch_sub(volatile void*, short unsigned int, int); -short unsigned int __tsan_atomic16_fetch_xor(volatile void*, short unsigned int, int); -short unsigned int __tsan_atomic16_load(const volatile void*, int); -void __tsan_atomic16_store(volatile void*, short unsigned int, int); -__edg_bool_type__ __tsan_atomic32_compare_exchange_strong(volatile void*, void*, unsigned int, int, int); -__edg_bool_type__ __tsan_atomic32_compare_exchange_weak(volatile void*, void*, unsigned int, int, int); -unsigned int __tsan_atomic32_exchange(volatile void*, unsigned int, int); -unsigned int __tsan_atomic32_fetch_add(volatile void*, unsigned int, int); -unsigned int __tsan_atomic32_fetch_and(volatile void*, unsigned int, int); -unsigned int __tsan_atomic32_fetch_nand(volatile void*, unsigned int, int); -unsigned int __tsan_atomic32_fetch_or(volatile void*, unsigned int, int); -unsigned int __tsan_atomic32_fetch_sub(volatile void*, unsigned int, int); -unsigned int __tsan_atomic32_fetch_xor(volatile void*, unsigned int, int); -unsigned int __tsan_atomic32_load(const volatile void*, int); -void __tsan_atomic32_store(volatile void*, unsigned int, int); -__edg_bool_type__ __tsan_atomic64_compare_exchange_strong(volatile void*, void*, long unsigned int, int, int); -__edg_bool_type__ __tsan_atomic64_compare_exchange_weak(volatile void*, void*, long unsigned int, int, int); -long unsigned int __tsan_atomic64_exchange(volatile void*, long unsigned int, int); -long unsigned int __tsan_atomic64_fetch_add(volatile void*, long unsigned int, int); -long unsigned int __tsan_atomic64_fetch_and(volatile void*, long unsigned int, int); -long unsigned int __tsan_atomic64_fetch_nand(volatile void*, long unsigned int, int); -long unsigned int __tsan_atomic64_fetch_or(volatile void*, long unsigned int, int); -long unsigned int __tsan_atomic64_fetch_sub(volatile void*, long unsigned int, int); -long unsigned int __tsan_atomic64_fetch_xor(volatile void*, long unsigned int, int); -long unsigned int __tsan_atomic64_load(const volatile void*, int); -void __tsan_atomic64_store(volatile void*, long unsigned int, int); -__edg_bool_type__ __tsan_atomic8_compare_exchange_strong(volatile void*, void*, unsigned char, int, int); -__edg_bool_type__ __tsan_atomic8_compare_exchange_weak(volatile void*, void*, unsigned char, int, int); -unsigned char __tsan_atomic8_exchange(volatile void*, unsigned char, int); -unsigned char __tsan_atomic8_fetch_add(volatile void*, unsigned char, int); -unsigned char __tsan_atomic8_fetch_and(volatile void*, unsigned char, int); -unsigned char __tsan_atomic8_fetch_nand(volatile void*, unsigned char, int); -unsigned char __tsan_atomic8_fetch_or(volatile void*, unsigned char, int); -unsigned char __tsan_atomic8_fetch_sub(volatile void*, unsigned char, int); -unsigned char __tsan_atomic8_fetch_xor(volatile void*, unsigned char, int); -unsigned char __tsan_atomic8_load(const volatile void*, int); -void __tsan_atomic8_store(volatile void*, unsigned char, int); -void __tsan_atomic_signal_fence(int); -void __tsan_atomic_thread_fence(int); -void __tsan_func_entry(void*); -void __tsan_func_exit(void*); -void __tsan_read1(void*); -void __tsan_read16(void*); -void __tsan_read2(void*); -void __tsan_read4(void*); -void __tsan_read8(void*); -void __tsan_read_range(void*, long int); -void __tsan_write1(void*); -void __tsan_write16(void*); -void __tsan_write2(void*); -void __tsan_write4(void*); -void __tsan_write8(void*); -void __tsan_write_range(void*, long int); -void __ubsan_handle_add_overflow(void*, void*, void*); -void __ubsan_handle_add_overflow_abort(void*, void*, void*); -void __ubsan_handle_builtin_unreachable(void*); -void __ubsan_handle_divrem_overflow(void*, void*, void*); -void __ubsan_handle_divrem_overflow_abort(void*, void*, void*); -void __ubsan_handle_dynamic_type_cache_miss(void*, void*, void*); -void __ubsan_handle_dynamic_type_cache_miss_abort(void*, void*, void*); -void __ubsan_handle_float_cast_overflow(void*, void*); -void __ubsan_handle_float_cast_overflow_abort(void*, void*); -void __ubsan_handle_invalid_builtin(void*); -void __ubsan_handle_invalid_builtin_abort(void*); -void __ubsan_handle_load_invalid_value(void*, void*); -void __ubsan_handle_load_invalid_value_abort(void*, void*); -void __ubsan_handle_missing_return(void*); -void __ubsan_handle_mul_overflow(void*, void*, void*); -void __ubsan_handle_mul_overflow_abort(void*, void*, void*); -void __ubsan_handle_negate_overflow(void*, void*); -void __ubsan_handle_negate_overflow_abort(void*, void*); -void __ubsan_handle_nonnull_return_v1(void*, void*); -void __ubsan_handle_nonnull_return_v1_abort(void*, void*); -void __ubsan_handle_out_of_bounds(void*, void*); -void __ubsan_handle_out_of_bounds_abort(void*, void*); -void __ubsan_handle_pointer_overflow(void*, void*, void*); -void __ubsan_handle_pointer_overflow_abort(void*, void*, void*); -void __ubsan_handle_shift_out_of_bounds(void*, void*, void*); -void __ubsan_handle_shift_out_of_bounds_abort(void*, void*, void*); -void __ubsan_handle_sub_overflow(void*, void*, void*); -void __ubsan_handle_sub_overflow_abort(void*, void*, void*); -void __ubsan_handle_type_mismatch_v1(void*, void*); -void __ubsan_handle_type_mismatch_v1_abort(void*, void*); -void __ubsan_handle_vla_bound_not_positive(void*, void*); -void __ubsan_handle_vla_bound_not_positive_abort(void*, void*); - -/* Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. */ - -/* - * These declarations are used to support Windows targets. They are not - * supported intrinsically by cov-emit. - */ - -#if __COVERITY_GCC_VERSION_AT_LEAST(4, 4) -#define __builtin_ms_va_list __builtin_va_list -#define __builtin_ms_va_copy __builtin_va_copy -#define __builtin_ms_va_start __builtin_va_start -#define __builtin_ms_va_end __builtin_va_end - -#define __builtin_sysv_va_list __builtin_va_list -#define __builtin_sysv_va_copy __builtin_va_copy -#define __builtin_sysv_va_start __builtin_va_start -#define __builtin_sysv_va_end __builtin_va_end - -#define __ms_va_copy(__d,__s) __builtin_ms_va_copy(__d,__s) -#define __ms_va_start(__v,__l) __builtin_ms_va_start(__v,__l) -#define __ms_va_arg(__v,__l) __builtin_va_arg(__v,__l) -#define __ms_va_end(__v) __builtin_ms_va_end(__v) - -#define __sysv_va_copy(__d,__s) __builtin_sysv_va_copy(__d,__s) -#define __sysv_va_start(__v,__l) __builtin_sysv_va_start(__v,__l) -#define __sysv_va_arg(__v,__l) __builtin_va_arg(__v,__l) -#define __sysv_va_end(__v) __builtin_sysv_va_end(__v) -#endif /* GCC >= 4.4 */ - -#pragma builtin end -#endif /* COVERITY_COMPAT_4a622ee35a6c29d94c1d6dbcfdfbe3b3 */ -#endif /* __COVERITY__ */ diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity-macro-compat.h b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity-macro-compat.h deleted file mode 100644 index 0a9ae4486..000000000 --- a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity-macro-compat.h +++ /dev/null @@ -1,1333 +0,0 @@ - -#if !(defined(__SSP_STRONG__) || defined(__coverity_undefine___SSP_STRONG__)) -#define __SSP_STRONG__ 3 -#endif -#if !(defined(__DBL_MIN_EXP__) || defined(__coverity_undefine___DBL_MIN_EXP__)) -#define __DBL_MIN_EXP__ (-1021) -#endif -#if !(defined(__FLT32X_MAX_EXP__) || defined(__coverity_undefine___FLT32X_MAX_EXP__)) -#define __FLT32X_MAX_EXP__ 1024 -#endif -#if !(defined(__cpp_attributes) || defined(__coverity_undefine___cpp_attributes)) -#define __cpp_attributes 200809 -#endif -#if !(defined(__UINT_LEAST16_MAX__) || defined(__coverity_undefine___UINT_LEAST16_MAX__)) -#define __UINT_LEAST16_MAX__ 0xffff -#endif -#if !(defined(__ATOMIC_ACQUIRE) || defined(__coverity_undefine___ATOMIC_ACQUIRE)) -#define __ATOMIC_ACQUIRE 2 -#endif -#if !(defined(__FLT128_MAX_10_EXP__) || defined(__coverity_undefine___FLT128_MAX_10_EXP__)) -#define __FLT128_MAX_10_EXP__ 4932 -#endif -#if !(defined(__FLT_MIN__) || defined(__coverity_undefine___FLT_MIN__)) -#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F -#endif -#if !(defined(__GCC_IEC_559_COMPLEX) || defined(__coverity_undefine___GCC_IEC_559_COMPLEX)) -#define __GCC_IEC_559_COMPLEX 2 -#endif -#if !(defined(__cpp_aggregate_nsdmi) || defined(__coverity_undefine___cpp_aggregate_nsdmi)) -#define __cpp_aggregate_nsdmi 201304 -#endif -#if !(defined(__UINT_LEAST8_TYPE__) || defined(__coverity_undefine___UINT_LEAST8_TYPE__)) -#define __UINT_LEAST8_TYPE__ unsigned char -#endif -#if !(defined(__SIZEOF_FLOAT80__) || defined(__coverity_undefine___SIZEOF_FLOAT80__)) -#define __SIZEOF_FLOAT80__ 16 -#endif -#if !(defined(__INTMAX_C) || defined(__coverity_undefine___INTMAX_C)) -#define __INTMAX_C(c) c ## L -#endif -#if !(defined(__CHAR_BIT__) || defined(__coverity_undefine___CHAR_BIT__)) -#define __CHAR_BIT__ 8 -#endif -#if !(defined(__UINT8_MAX__) || defined(__coverity_undefine___UINT8_MAX__)) -#define __UINT8_MAX__ 0xff -#endif -#if !(defined(__WINT_MAX__) || defined(__coverity_undefine___WINT_MAX__)) -#define __WINT_MAX__ 0xffffffffU -#endif -#if !(defined(__FLT32_MIN_EXP__) || defined(__coverity_undefine___FLT32_MIN_EXP__)) -#define __FLT32_MIN_EXP__ (-125) -#endif -#if !(defined(__cpp_static_assert) || defined(__coverity_undefine___cpp_static_assert)) -#define __cpp_static_assert 200410 -#endif -#if !(defined(__ORDER_LITTLE_ENDIAN__) || defined(__coverity_undefine___ORDER_LITTLE_ENDIAN__)) -#define __ORDER_LITTLE_ENDIAN__ 1234 -#endif -#if !(defined(__SIZE_MAX__) || defined(__coverity_undefine___SIZE_MAX__)) -#define __SIZE_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__WCHAR_MAX__) || defined(__coverity_undefine___WCHAR_MAX__)) -#define __WCHAR_MAX__ 0x7fffffff -#endif -#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_1)) -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 -#endif -#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_2)) -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 -#endif -#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4)) -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 -#endif -#if !(defined(__DBL_DENORM_MIN__) || defined(__coverity_undefine___DBL_DENORM_MIN__)) -#define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L) -#endif -#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_8)) -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 -#endif -#if !(defined(__GCC_ATOMIC_CHAR_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_CHAR_LOCK_FREE)) -#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 -#endif -#if !(defined(__GCC_IEC_559) || defined(__coverity_undefine___GCC_IEC_559)) -#define __GCC_IEC_559 2 -#endif -#if !(defined(__FLT32X_DECIMAL_DIG__) || defined(__coverity_undefine___FLT32X_DECIMAL_DIG__)) -#define __FLT32X_DECIMAL_DIG__ 17 -#endif -#if !(defined(__FLT_EVAL_METHOD__) || defined(__coverity_undefine___FLT_EVAL_METHOD__)) -#define __FLT_EVAL_METHOD__ 0 -#endif -#if !(defined(__unix__) || defined(__coverity_undefine___unix__)) -#define __unix__ 1 -#endif -#if !(defined(__cpp_binary_literals) || defined(__coverity_undefine___cpp_binary_literals)) -#define __cpp_binary_literals 201304 -#endif -#if !(defined(__FLT64_DECIMAL_DIG__) || defined(__coverity_undefine___FLT64_DECIMAL_DIG__)) -#define __FLT64_DECIMAL_DIG__ 17 -#endif -#if !(defined(__CET__) || defined(__coverity_undefine___CET__)) -#define __CET__ 3 -#endif -#if !(defined(__GCC_ATOMIC_CHAR32_T_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_CHAR32_T_LOCK_FREE)) -#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 -#endif -#if !(defined(__x86_64) || defined(__coverity_undefine___x86_64)) -#define __x86_64 1 -#endif -#if !(defined(__cpp_variadic_templates) || defined(__coverity_undefine___cpp_variadic_templates)) -#define __cpp_variadic_templates 200704 -#endif -#if !(defined(__UINT_FAST64_MAX__) || defined(__coverity_undefine___UINT_FAST64_MAX__)) -#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__SIG_ATOMIC_TYPE__) || defined(__coverity_undefine___SIG_ATOMIC_TYPE__)) -#define __SIG_ATOMIC_TYPE__ int -#endif -#if !(defined(__DBL_MIN_10_EXP__) || defined(__coverity_undefine___DBL_MIN_10_EXP__)) -#define __DBL_MIN_10_EXP__ (-307) -#endif -#if !(defined(__FINITE_MATH_ONLY__) || defined(__coverity_undefine___FINITE_MATH_ONLY__)) -#define __FINITE_MATH_ONLY__ 0 -#endif -#if !(defined(__cpp_variable_templates) || defined(__coverity_undefine___cpp_variable_templates)) -#define __cpp_variable_templates 201304 -#endif -#if !(defined(__GNUC_PATCHLEVEL__) || defined(__coverity_undefine___GNUC_PATCHLEVEL__)) -#define __GNUC_PATCHLEVEL__ 0 -#endif -#if !(defined(__FLT32_HAS_DENORM__) || defined(__coverity_undefine___FLT32_HAS_DENORM__)) -#define __FLT32_HAS_DENORM__ 1 -#endif -#if !(defined(__UINT_FAST8_MAX__) || defined(__coverity_undefine___UINT_FAST8_MAX__)) -#define __UINT_FAST8_MAX__ 0xff -#endif -#if !(defined(__cpp_rvalue_reference) || defined(__coverity_undefine___cpp_rvalue_reference)) -#define __cpp_rvalue_reference 200610 -#endif -#if !(defined(__DEC64_MAX_EXP__) || defined(__coverity_undefine___DEC64_MAX_EXP__)) -#define __DEC64_MAX_EXP__ 385 -#endif -#if !(defined(__INT8_C) || defined(__coverity_undefine___INT8_C)) -#define __INT8_C(c) c -#endif -#if !(defined(__INT_LEAST8_WIDTH__) || defined(__coverity_undefine___INT_LEAST8_WIDTH__)) -#define __INT_LEAST8_WIDTH__ 8 -#endif -#if !(defined(__UINT_LEAST64_MAX__) || defined(__coverity_undefine___UINT_LEAST64_MAX__)) -#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__SHRT_MAX__) || defined(__coverity_undefine___SHRT_MAX__)) -#define __SHRT_MAX__ 0x7fff -#endif -#if !(defined(__LDBL_MAX__) || defined(__coverity_undefine___LDBL_MAX__)) -#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L -#endif -#if !(defined(__FLT64X_MAX_10_EXP__) || defined(__coverity_undefine___FLT64X_MAX_10_EXP__)) -#define __FLT64X_MAX_10_EXP__ 4932 -#endif -#if !(defined(__UINT_LEAST8_MAX__) || defined(__coverity_undefine___UINT_LEAST8_MAX__)) -#define __UINT_LEAST8_MAX__ 0xff -#endif -#if !(defined(__GCC_ATOMIC_BOOL_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_BOOL_LOCK_FREE)) -#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 -#endif -#if !(defined(__FLT128_DENORM_MIN__) || defined(__coverity_undefine___FLT128_DENORM_MIN__)) -#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128 -#endif -#if !(defined(__UINTMAX_TYPE__) || defined(__coverity_undefine___UINTMAX_TYPE__)) -#define __UINTMAX_TYPE__ long unsigned int -#endif -#if !(defined(__linux) || defined(__coverity_undefine___linux)) -#define __linux 1 -#endif -#if !(defined(__DEC32_EPSILON__) || defined(__coverity_undefine___DEC32_EPSILON__)) -#define __DEC32_EPSILON__ 1E-6DF -#endif -#if !(defined(__FLT_EVAL_METHOD_TS_18661_3__) || defined(__coverity_undefine___FLT_EVAL_METHOD_TS_18661_3__)) -#define __FLT_EVAL_METHOD_TS_18661_3__ 0 -#endif -#if !(defined(__unix) || defined(__coverity_undefine___unix)) -#define __unix 1 -#endif -#if !(defined(__UINT32_MAX__) || defined(__coverity_undefine___UINT32_MAX__)) -#define __UINT32_MAX__ 0xffffffffU -#endif -#if !(defined(__GXX_EXPERIMENTAL_CXX0X__) || defined(__coverity_undefine___GXX_EXPERIMENTAL_CXX0X__)) -#define __GXX_EXPERIMENTAL_CXX0X__ 1 -#endif -#if !(defined(__LDBL_MAX_EXP__) || defined(__coverity_undefine___LDBL_MAX_EXP__)) -#define __LDBL_MAX_EXP__ 16384 -#endif -#if !(defined(__FLT128_MIN_EXP__) || defined(__coverity_undefine___FLT128_MIN_EXP__)) -#define __FLT128_MIN_EXP__ (-16381) -#endif -#if !(defined(__WINT_MIN__) || defined(__coverity_undefine___WINT_MIN__)) -#define __WINT_MIN__ 0U -#endif -#if !(defined(__linux__) || defined(__coverity_undefine___linux__)) -#define __linux__ 1 -#endif -#if !(defined(__FLT128_MIN_10_EXP__) || defined(__coverity_undefine___FLT128_MIN_10_EXP__)) -#define __FLT128_MIN_10_EXP__ (-4931) -#endif -#if !(defined(__INT_LEAST16_WIDTH__) || defined(__coverity_undefine___INT_LEAST16_WIDTH__)) -#define __INT_LEAST16_WIDTH__ 16 -#endif -#if !(defined(__SCHAR_MAX__) || defined(__coverity_undefine___SCHAR_MAX__)) -#define __SCHAR_MAX__ 0x7f -#endif -#if !(defined(__FLT128_MANT_DIG__) || defined(__coverity_undefine___FLT128_MANT_DIG__)) -#define __FLT128_MANT_DIG__ 113 -#endif -#if !(defined(__WCHAR_MIN__) || defined(__coverity_undefine___WCHAR_MIN__)) -#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) -#endif -#if !(defined(__INT64_C) || defined(__coverity_undefine___INT64_C)) -#define __INT64_C(c) c ## L -#endif -#if !(defined(__DBL_DIG__) || defined(__coverity_undefine___DBL_DIG__)) -#define __DBL_DIG__ 15 -#endif -#if !(defined(__GCC_ATOMIC_POINTER_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_POINTER_LOCK_FREE)) -#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 -#endif -#if !(defined(__FLT64X_MANT_DIG__) || defined(__coverity_undefine___FLT64X_MANT_DIG__)) -#define __FLT64X_MANT_DIG__ 64 -#endif -#if !(defined(__SIZEOF_INT__) || defined(__coverity_undefine___SIZEOF_INT__)) -#define __SIZEOF_INT__ 4 -#endif -#if !(defined(__SIZEOF_POINTER__) || defined(__coverity_undefine___SIZEOF_POINTER__)) -#define __SIZEOF_POINTER__ 8 -#endif -#if !(defined(__GCC_ATOMIC_CHAR16_T_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_CHAR16_T_LOCK_FREE)) -#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 -#endif -#if !(defined(__USER_LABEL_PREFIX__) || defined(__coverity_undefine___USER_LABEL_PREFIX__)) -#define __USER_LABEL_PREFIX__ -#endif -#if !(defined(__FLT64X_EPSILON__) || defined(__coverity_undefine___FLT64X_EPSILON__)) -#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x -#endif -#if !(defined(__STDC_HOSTED__) || defined(__coverity_undefine___STDC_HOSTED__)) -#define __STDC_HOSTED__ 1 -#endif -#if !(defined(__LDBL_HAS_INFINITY__) || defined(__coverity_undefine___LDBL_HAS_INFINITY__)) -#define __LDBL_HAS_INFINITY__ 1 -#endif -#if !(defined(__FLT32_DIG__) || defined(__coverity_undefine___FLT32_DIG__)) -#define __FLT32_DIG__ 6 -#endif -#if !(defined(__FLT_EPSILON__) || defined(__coverity_undefine___FLT_EPSILON__)) -#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F -#endif -#if !(defined(__GXX_WEAK__) || defined(__coverity_undefine___GXX_WEAK__)) -#define __GXX_WEAK__ 1 -#endif -#if !(defined(__SHRT_WIDTH__) || defined(__coverity_undefine___SHRT_WIDTH__)) -#define __SHRT_WIDTH__ 16 -#endif -#if !(defined(__LDBL_MIN__) || defined(__coverity_undefine___LDBL_MIN__)) -#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L -#endif -#if !(defined(__DEC32_MAX__) || defined(__coverity_undefine___DEC32_MAX__)) -#define __DEC32_MAX__ 9.999999E96DF -#endif -#if !(defined(__cpp_threadsafe_static_init) || defined(__coverity_undefine___cpp_threadsafe_static_init)) -#define __cpp_threadsafe_static_init 200806 -#endif -#if !(defined(__FLT64X_DENORM_MIN__) || defined(__coverity_undefine___FLT64X_DENORM_MIN__)) -#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x -#endif -#if !(defined(__FLT32X_HAS_INFINITY__) || defined(__coverity_undefine___FLT32X_HAS_INFINITY__)) -#define __FLT32X_HAS_INFINITY__ 1 -#endif -#if !(defined(__INT32_MAX__) || defined(__coverity_undefine___INT32_MAX__)) -#define __INT32_MAX__ 0x7fffffff -#endif -#if !(defined(__INT_WIDTH__) || defined(__coverity_undefine___INT_WIDTH__)) -#define __INT_WIDTH__ 32 -#endif -#if !(defined(__SIZEOF_LONG__) || defined(__coverity_undefine___SIZEOF_LONG__)) -#define __SIZEOF_LONG__ 8 -#endif -#if !(defined(__STDC_IEC_559__) || defined(__coverity_undefine___STDC_IEC_559__)) -#define __STDC_IEC_559__ 1 -#endif -#if !(defined(__STDC_ISO_10646__) || defined(__coverity_undefine___STDC_ISO_10646__)) -#define __STDC_ISO_10646__ 201706L -#endif -#if !(defined(__UINT16_C) || defined(__coverity_undefine___UINT16_C)) -#define __UINT16_C(c) c -#endif -#if !(defined(__PTRDIFF_WIDTH__) || defined(__coverity_undefine___PTRDIFF_WIDTH__)) -#define __PTRDIFF_WIDTH__ 64 -#endif -#if !(defined(__DECIMAL_DIG__) || defined(__coverity_undefine___DECIMAL_DIG__)) -#define __DECIMAL_DIG__ 21 -#endif -#if !(defined(__FLT64_EPSILON__) || defined(__coverity_undefine___FLT64_EPSILON__)) -#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64 -#endif -#if !(defined(__gnu_linux__) || defined(__coverity_undefine___gnu_linux__)) -#define __gnu_linux__ 1 -#endif -#if !(defined(__INTMAX_WIDTH__) || defined(__coverity_undefine___INTMAX_WIDTH__)) -#define __INTMAX_WIDTH__ 64 -#endif -#if !(defined(__FLT64_MIN_EXP__) || defined(__coverity_undefine___FLT64_MIN_EXP__)) -#define __FLT64_MIN_EXP__ (-1021) -#endif -#if !(defined(__FLT64X_MIN_10_EXP__) || defined(__coverity_undefine___FLT64X_MIN_10_EXP__)) -#define __FLT64X_MIN_10_EXP__ (-4931) -#endif -#if !(defined(__LDBL_HAS_QUIET_NAN__) || defined(__coverity_undefine___LDBL_HAS_QUIET_NAN__)) -#define __LDBL_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__FLT64_MANT_DIG__) || defined(__coverity_undefine___FLT64_MANT_DIG__)) -#define __FLT64_MANT_DIG__ 53 -#endif -#if !(defined(__GNUC__) || defined(__coverity_undefine___GNUC__)) -#define __GNUC__ 9 -#endif -#if !(defined(__GXX_RTTI) || defined(__coverity_undefine___GXX_RTTI)) -#define __GXX_RTTI 1 -#endif -#if !(defined(__pie__) || defined(__coverity_undefine___pie__)) -#define __pie__ 2 -#endif -#if !(defined(__MMX__) || defined(__coverity_undefine___MMX__)) -#define __MMX__ 1 -#endif -#if !(defined(__cpp_delegating_constructors) || defined(__coverity_undefine___cpp_delegating_constructors)) -#define __cpp_delegating_constructors 200604 -#endif -#if !(defined(__FLT_HAS_DENORM__) || defined(__coverity_undefine___FLT_HAS_DENORM__)) -#define __FLT_HAS_DENORM__ 1 -#endif -#if !(defined(__SIZEOF_LONG_DOUBLE__) || defined(__coverity_undefine___SIZEOF_LONG_DOUBLE__)) -#define __SIZEOF_LONG_DOUBLE__ 16 -#endif -#if !(defined(__BIGGEST_ALIGNMENT__) || defined(__coverity_undefine___BIGGEST_ALIGNMENT__)) -#define __BIGGEST_ALIGNMENT__ 16 -#endif -#if !(defined(__STDC_UTF_16__) || defined(__coverity_undefine___STDC_UTF_16__)) -#define __STDC_UTF_16__ 1 -#endif -#if !(defined(__FLT64_MAX_10_EXP__) || defined(__coverity_undefine___FLT64_MAX_10_EXP__)) -#define __FLT64_MAX_10_EXP__ 308 -#endif -#if !(defined(__FLT32_HAS_INFINITY__) || defined(__coverity_undefine___FLT32_HAS_INFINITY__)) -#define __FLT32_HAS_INFINITY__ 1 -#endif -#if !(defined(__DBL_MAX__) || defined(__coverity_undefine___DBL_MAX__)) -#define __DBL_MAX__ double(1.79769313486231570814527423731704357e+308L) -#endif -#if !(defined(__cpp_raw_strings) || defined(__coverity_undefine___cpp_raw_strings)) -#define __cpp_raw_strings 200710 -#endif -#if !(defined(__INT_FAST32_MAX__) || defined(__coverity_undefine___INT_FAST32_MAX__)) -#define __INT_FAST32_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__DBL_HAS_INFINITY__) || defined(__coverity_undefine___DBL_HAS_INFINITY__)) -#define __DBL_HAS_INFINITY__ 1 -#endif -#if !(defined(__HAVE_SPECULATION_SAFE_VALUE) || defined(__coverity_undefine___HAVE_SPECULATION_SAFE_VALUE)) -#define __HAVE_SPECULATION_SAFE_VALUE 1 -#endif -#if !(defined(__DEC32_MIN_EXP__) || defined(__coverity_undefine___DEC32_MIN_EXP__)) -#define __DEC32_MIN_EXP__ (-94) -#endif -#if !(defined(__INTPTR_WIDTH__) || defined(__coverity_undefine___INTPTR_WIDTH__)) -#define __INTPTR_WIDTH__ 64 -#endif -#if !(defined(__FLT32X_HAS_DENORM__) || defined(__coverity_undefine___FLT32X_HAS_DENORM__)) -#define __FLT32X_HAS_DENORM__ 1 -#endif -#if !(defined(__INT_FAST16_TYPE__) || defined(__coverity_undefine___INT_FAST16_TYPE__)) -#define __INT_FAST16_TYPE__ long int -#endif -#if !(defined(__LDBL_HAS_DENORM__) || defined(__coverity_undefine___LDBL_HAS_DENORM__)) -#define __LDBL_HAS_DENORM__ 1 -#endif -#if !(defined(__cplusplus) || defined(__coverity_undefine___cplusplus)) -#define __cplusplus 201402L -#endif -#if !(defined(__cpp_ref_qualifiers) || defined(__coverity_undefine___cpp_ref_qualifiers)) -#define __cpp_ref_qualifiers 200710 -#endif -#if !(defined(__DEC128_MAX__) || defined(__coverity_undefine___DEC128_MAX__)) -#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL -#endif -#if !(defined(__INT_LEAST32_MAX__) || defined(__coverity_undefine___INT_LEAST32_MAX__)) -#define __INT_LEAST32_MAX__ 0x7fffffff -#endif -#if !(defined(__DEC32_MIN__) || defined(__coverity_undefine___DEC32_MIN__)) -#define __DEC32_MIN__ 1E-95DF -#endif -#if !(defined(__DEPRECATED) || defined(__coverity_undefine___DEPRECATED)) -#define __DEPRECATED 1 -#endif -#if !(defined(__cpp_rvalue_references) || defined(__coverity_undefine___cpp_rvalue_references)) -#define __cpp_rvalue_references 200610 -#endif -#if !(defined(__DBL_MAX_EXP__) || defined(__coverity_undefine___DBL_MAX_EXP__)) -#define __DBL_MAX_EXP__ 1024 -#endif -#if !(defined(__WCHAR_WIDTH__) || defined(__coverity_undefine___WCHAR_WIDTH__)) -#define __WCHAR_WIDTH__ 32 -#endif -#if !(defined(__FLT32_MAX__) || defined(__coverity_undefine___FLT32_MAX__)) -#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32 -#endif -#if !(defined(__DEC128_EPSILON__) || defined(__coverity_undefine___DEC128_EPSILON__)) -#define __DEC128_EPSILON__ 1E-33DL -#endif -#if !(defined(__SSE2_MATH__) || defined(__coverity_undefine___SSE2_MATH__)) -#define __SSE2_MATH__ 1 -#endif -#if !(defined(__ATOMIC_HLE_RELEASE) || defined(__coverity_undefine___ATOMIC_HLE_RELEASE)) -#define __ATOMIC_HLE_RELEASE 131072 -#endif -#if !(defined(__PTRDIFF_MAX__) || defined(__coverity_undefine___PTRDIFF_MAX__)) -#define __PTRDIFF_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__amd64) || defined(__coverity_undefine___amd64)) -#define __amd64 1 -#endif -#if !(defined(__ATOMIC_HLE_ACQUIRE) || defined(__coverity_undefine___ATOMIC_HLE_ACQUIRE)) -#define __ATOMIC_HLE_ACQUIRE 65536 -#endif -#if !(defined(__FLT32_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT32_HAS_QUIET_NAN__)) -#define __FLT32_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__GNUG__) || defined(__coverity_undefine___GNUG__)) -#define __GNUG__ 9 -#endif -#if !(defined(__LONG_LONG_MAX__) || defined(__coverity_undefine___LONG_LONG_MAX__)) -#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL -#endif -#if !(defined(__SIZEOF_SIZE_T__) || defined(__coverity_undefine___SIZEOF_SIZE_T__)) -#define __SIZEOF_SIZE_T__ 8 -#endif -#if !(defined(__cpp_nsdmi) || defined(__coverity_undefine___cpp_nsdmi)) -#define __cpp_nsdmi 200809 -#endif -#if !(defined(__FLT64X_MIN_EXP__) || defined(__coverity_undefine___FLT64X_MIN_EXP__)) -#define __FLT64X_MIN_EXP__ (-16381) -#endif -#if !(defined(__SIZEOF_WINT_T__) || defined(__coverity_undefine___SIZEOF_WINT_T__)) -#define __SIZEOF_WINT_T__ 4 -#endif -#if !(defined(__LONG_LONG_WIDTH__) || defined(__coverity_undefine___LONG_LONG_WIDTH__)) -#define __LONG_LONG_WIDTH__ 64 -#endif -#if !(defined(__cpp_initializer_lists) || defined(__coverity_undefine___cpp_initializer_lists)) -#define __cpp_initializer_lists 200806 -#endif -#if !(defined(__FLT32_MAX_EXP__) || defined(__coverity_undefine___FLT32_MAX_EXP__)) -#define __FLT32_MAX_EXP__ 128 -#endif -#if !(defined(__cpp_hex_float) || defined(__coverity_undefine___cpp_hex_float)) -#define __cpp_hex_float 201603 -#endif -#if !(defined(__GCC_HAVE_DWARF2_CFI_ASM) || defined(__coverity_undefine___GCC_HAVE_DWARF2_CFI_ASM)) -#define __GCC_HAVE_DWARF2_CFI_ASM 1 -#endif -#if !(defined(__GXX_ABI_VERSION) || defined(__coverity_undefine___GXX_ABI_VERSION)) -#define __GXX_ABI_VERSION 1013 -#endif -#if !(defined(__FLT128_HAS_INFINITY__) || defined(__coverity_undefine___FLT128_HAS_INFINITY__)) -#define __FLT128_HAS_INFINITY__ 1 -#endif -#if !(defined(__FLT_MIN_EXP__) || defined(__coverity_undefine___FLT_MIN_EXP__)) -#define __FLT_MIN_EXP__ (-125) -#endif -#if !(defined(__cpp_lambdas) || defined(__coverity_undefine___cpp_lambdas)) -#define __cpp_lambdas 200907 -#endif -#if !(defined(__FLT64X_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT64X_HAS_QUIET_NAN__)) -#define __FLT64X_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__INT_FAST64_TYPE__) || defined(__coverity_undefine___INT_FAST64_TYPE__)) -#define __INT_FAST64_TYPE__ long int -#endif -#if !(defined(__FLT64_DENORM_MIN__) || defined(__coverity_undefine___FLT64_DENORM_MIN__)) -#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64 -#endif -#if !(defined(__DBL_MIN__) || defined(__coverity_undefine___DBL_MIN__)) -#define __DBL_MIN__ double(2.22507385850720138309023271733240406e-308L) -#endif -#if !(defined(__PIE__) || defined(__coverity_undefine___PIE__)) -#define __PIE__ 2 -#endif -#if !(defined(__LP64__) || defined(__coverity_undefine___LP64__)) -#define __LP64__ 1 -#endif -#if !(defined(__FLT32X_EPSILON__) || defined(__coverity_undefine___FLT32X_EPSILON__)) -#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x -#endif -#if !(defined(__DECIMAL_BID_FORMAT__) || defined(__coverity_undefine___DECIMAL_BID_FORMAT__)) -#define __DECIMAL_BID_FORMAT__ 1 -#endif -#if !(defined(__FLT64_MIN_10_EXP__) || defined(__coverity_undefine___FLT64_MIN_10_EXP__)) -#define __FLT64_MIN_10_EXP__ (-307) -#endif -#if !(defined(__FLT64X_DECIMAL_DIG__) || defined(__coverity_undefine___FLT64X_DECIMAL_DIG__)) -#define __FLT64X_DECIMAL_DIG__ 21 -#endif -#if !(defined(__DEC128_MIN__) || defined(__coverity_undefine___DEC128_MIN__)) -#define __DEC128_MIN__ 1E-6143DL -#endif -#if !(defined(__REGISTER_PREFIX__) || defined(__coverity_undefine___REGISTER_PREFIX__)) -#define __REGISTER_PREFIX__ -#endif -#if !(defined(__UINT16_MAX__) || defined(__coverity_undefine___UINT16_MAX__)) -#define __UINT16_MAX__ 0xffff -#endif -#if !(defined(__FLT32_MIN__) || defined(__coverity_undefine___FLT32_MIN__)) -#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32 -#endif -#if !(defined(__UINT8_TYPE__) || defined(__coverity_undefine___UINT8_TYPE__)) -#define __UINT8_TYPE__ unsigned char -#endif -#if !(defined(__FLT_MANT_DIG__) || defined(__coverity_undefine___FLT_MANT_DIG__)) -#define __FLT_MANT_DIG__ 24 -#endif -#if !(defined(__LDBL_DECIMAL_DIG__) || defined(__coverity_undefine___LDBL_DECIMAL_DIG__)) -#define __LDBL_DECIMAL_DIG__ 21 -#endif -#if !(defined(__VERSION__) || defined(__coverity_undefine___VERSION__)) -#define __VERSION__ "9.4.0" -#endif -#if !(defined(__UINT64_C) || defined(__coverity_undefine___UINT64_C)) -#define __UINT64_C(c) c ## UL -#endif -#if !(defined(__cpp_unicode_characters) || defined(__coverity_undefine___cpp_unicode_characters)) -#define __cpp_unicode_characters 200704 -#endif -#if !(defined(_STDC_PREDEF_H) || defined(__coverity_undefine__STDC_PREDEF_H)) -#define _STDC_PREDEF_H 1 -#endif -#if !(defined(__cpp_decltype_auto) || defined(__coverity_undefine___cpp_decltype_auto)) -#define __cpp_decltype_auto 201304 -#endif -#if !(defined(__GCC_ATOMIC_INT_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_INT_LOCK_FREE)) -#define __GCC_ATOMIC_INT_LOCK_FREE 2 -#endif -#if !(defined(__FLT128_MAX_EXP__) || defined(__coverity_undefine___FLT128_MAX_EXP__)) -#define __FLT128_MAX_EXP__ 16384 -#endif -#if !(defined(__FLT32_MANT_DIG__) || defined(__coverity_undefine___FLT32_MANT_DIG__)) -#define __FLT32_MANT_DIG__ 24 -#endif -#if !(defined(__FLOAT_WORD_ORDER__) || defined(__coverity_undefine___FLOAT_WORD_ORDER__)) -#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ -#endif -#if !(defined(__STDC_IEC_559_COMPLEX__) || defined(__coverity_undefine___STDC_IEC_559_COMPLEX__)) -#define __STDC_IEC_559_COMPLEX__ 1 -#endif -#if !(defined(__FLT128_HAS_DENORM__) || defined(__coverity_undefine___FLT128_HAS_DENORM__)) -#define __FLT128_HAS_DENORM__ 1 -#endif -#if !(defined(__FLT128_DIG__) || defined(__coverity_undefine___FLT128_DIG__)) -#define __FLT128_DIG__ 33 -#endif -#if !(defined(__SCHAR_WIDTH__) || defined(__coverity_undefine___SCHAR_WIDTH__)) -#define __SCHAR_WIDTH__ 8 -#endif -#if !(defined(__INT32_C) || defined(__coverity_undefine___INT32_C)) -#define __INT32_C(c) c -#endif -#if !(defined(__DEC64_EPSILON__) || defined(__coverity_undefine___DEC64_EPSILON__)) -#define __DEC64_EPSILON__ 1E-15DD -#endif -#if !(defined(__ORDER_PDP_ENDIAN__) || defined(__coverity_undefine___ORDER_PDP_ENDIAN__)) -#define __ORDER_PDP_ENDIAN__ 3412 -#endif -#if !(defined(__DEC128_MIN_EXP__) || defined(__coverity_undefine___DEC128_MIN_EXP__)) -#define __DEC128_MIN_EXP__ (-6142) -#endif -#if !(defined(__FLT32_MAX_10_EXP__) || defined(__coverity_undefine___FLT32_MAX_10_EXP__)) -#define __FLT32_MAX_10_EXP__ 38 -#endif -#if !(defined(__INT_FAST32_TYPE__) || defined(__coverity_undefine___INT_FAST32_TYPE__)) -#define __INT_FAST32_TYPE__ long int -#endif -#if !(defined(__UINT_LEAST16_TYPE__) || defined(__coverity_undefine___UINT_LEAST16_TYPE__)) -#define __UINT_LEAST16_TYPE__ short unsigned int -#endif -#if !(defined(__FLT64X_HAS_INFINITY__) || defined(__coverity_undefine___FLT64X_HAS_INFINITY__)) -#define __FLT64X_HAS_INFINITY__ 1 -#endif -#if !(defined(unix) || defined(__coverity_undefine_unix)) -#define unix 1 -#endif -#if !(defined(__DBL_HAS_DENORM__) || defined(__coverity_undefine___DBL_HAS_DENORM__)) -#define __DBL_HAS_DENORM__ 1 -#endif -#if !(defined(__INT16_MAX__) || defined(__coverity_undefine___INT16_MAX__)) -#define __INT16_MAX__ 0x7fff -#endif -#if !(defined(__cpp_rtti) || defined(__coverity_undefine___cpp_rtti)) -#define __cpp_rtti 199711 -#endif -#if !(defined(__SIZE_TYPE__) || defined(__coverity_undefine___SIZE_TYPE__)) -#define __SIZE_TYPE__ long unsigned int -#endif -#if !(defined(__UINT64_MAX__) || defined(__coverity_undefine___UINT64_MAX__)) -#define __UINT64_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__FLT64X_DIG__) || defined(__coverity_undefine___FLT64X_DIG__)) -#define __FLT64X_DIG__ 18 -#endif -#if !(defined(__INT8_TYPE__) || defined(__coverity_undefine___INT8_TYPE__)) -#define __INT8_TYPE__ signed char -#endif -#if !(defined(__cpp_digit_separators) || defined(__coverity_undefine___cpp_digit_separators)) -#define __cpp_digit_separators 201309 -#endif -#if !(defined(__ELF__) || defined(__coverity_undefine___ELF__)) -#define __ELF__ 1 -#endif -#if !(defined(__GCC_ASM_FLAG_OUTPUTS__) || defined(__coverity_undefine___GCC_ASM_FLAG_OUTPUTS__)) -#define __GCC_ASM_FLAG_OUTPUTS__ 1 -#endif -#if !(defined(__FLT_RADIX__) || defined(__coverity_undefine___FLT_RADIX__)) -#define __FLT_RADIX__ 2 -#endif -#if !(defined(__INT_LEAST16_TYPE__) || defined(__coverity_undefine___INT_LEAST16_TYPE__)) -#define __INT_LEAST16_TYPE__ short int -#endif -#if !(defined(__LDBL_EPSILON__) || defined(__coverity_undefine___LDBL_EPSILON__)) -#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L -#endif -#if !(defined(__UINTMAX_C) || defined(__coverity_undefine___UINTMAX_C)) -#define __UINTMAX_C(c) c ## UL -#endif -#if !(defined(__GLIBCXX_BITSIZE_INT_N_0) || defined(__coverity_undefine___GLIBCXX_BITSIZE_INT_N_0)) -#define __GLIBCXX_BITSIZE_INT_N_0 128 -#endif -#if !(defined(__k8) || defined(__coverity_undefine___k8)) -#define __k8 1 -#endif -#if !(defined(__SIG_ATOMIC_MAX__) || defined(__coverity_undefine___SIG_ATOMIC_MAX__)) -#define __SIG_ATOMIC_MAX__ 0x7fffffff -#endif -#if !(defined(__GCC_ATOMIC_WCHAR_T_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_WCHAR_T_LOCK_FREE)) -#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 -#endif -#if !(defined(__SIZEOF_PTRDIFF_T__) || defined(__coverity_undefine___SIZEOF_PTRDIFF_T__)) -#define __SIZEOF_PTRDIFF_T__ 8 -#endif -#if !(defined(__FLT32X_MANT_DIG__) || defined(__coverity_undefine___FLT32X_MANT_DIG__)) -#define __FLT32X_MANT_DIG__ 53 -#endif -#if !(defined(__x86_64__) || defined(__coverity_undefine___x86_64__)) -#define __x86_64__ 1 -#endif -#if !(defined(__FLT32X_MIN_EXP__) || defined(__coverity_undefine___FLT32X_MIN_EXP__)) -#define __FLT32X_MIN_EXP__ (-1021) -#endif -#if !(defined(__DEC32_SUBNORMAL_MIN__) || defined(__coverity_undefine___DEC32_SUBNORMAL_MIN__)) -#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF -#endif -#if !(defined(__INT_FAST16_MAX__) || defined(__coverity_undefine___INT_FAST16_MAX__)) -#define __INT_FAST16_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__FLT64_DIG__) || defined(__coverity_undefine___FLT64_DIG__)) -#define __FLT64_DIG__ 15 -#endif -#if !(defined(__UINT_FAST32_MAX__) || defined(__coverity_undefine___UINT_FAST32_MAX__)) -#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__UINT_LEAST64_TYPE__) || defined(__coverity_undefine___UINT_LEAST64_TYPE__)) -#define __UINT_LEAST64_TYPE__ long unsigned int -#endif -#if !(defined(__FLT_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT_HAS_QUIET_NAN__)) -#define __FLT_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__FLT_MAX_10_EXP__) || defined(__coverity_undefine___FLT_MAX_10_EXP__)) -#define __FLT_MAX_10_EXP__ 38 -#endif -#if !(defined(__LONG_MAX__) || defined(__coverity_undefine___LONG_MAX__)) -#define __LONG_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__FLT64X_HAS_DENORM__) || defined(__coverity_undefine___FLT64X_HAS_DENORM__)) -#define __FLT64X_HAS_DENORM__ 1 -#endif -#if !(defined(__DEC128_SUBNORMAL_MIN__) || defined(__coverity_undefine___DEC128_SUBNORMAL_MIN__)) -#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL -#endif -#if !(defined(__FLT_HAS_INFINITY__) || defined(__coverity_undefine___FLT_HAS_INFINITY__)) -#define __FLT_HAS_INFINITY__ 1 -#endif -#if !(defined(__cpp_unicode_literals) || defined(__coverity_undefine___cpp_unicode_literals)) -#define __cpp_unicode_literals 200710 -#endif -#if !(defined(__UINT_FAST16_TYPE__) || defined(__coverity_undefine___UINT_FAST16_TYPE__)) -#define __UINT_FAST16_TYPE__ long unsigned int -#endif -#if !(defined(__DEC64_MAX__) || defined(__coverity_undefine___DEC64_MAX__)) -#define __DEC64_MAX__ 9.999999999999999E384DD -#endif -#if !(defined(__INT_FAST32_WIDTH__) || defined(__coverity_undefine___INT_FAST32_WIDTH__)) -#define __INT_FAST32_WIDTH__ 64 -#endif -#if !(defined(__CHAR16_TYPE__) || defined(__coverity_undefine___CHAR16_TYPE__)) -#define __CHAR16_TYPE__ short unsigned int -#endif -#if !(defined(__PRAGMA_REDEFINE_EXTNAME) || defined(__coverity_undefine___PRAGMA_REDEFINE_EXTNAME)) -#define __PRAGMA_REDEFINE_EXTNAME 1 -#endif -#if !(defined(__SIZE_WIDTH__) || defined(__coverity_undefine___SIZE_WIDTH__)) -#define __SIZE_WIDTH__ 64 -#endif -#if !(defined(__SEG_FS) || defined(__coverity_undefine___SEG_FS)) -#define __SEG_FS 1 -#endif -#if !(defined(__INT_LEAST16_MAX__) || defined(__coverity_undefine___INT_LEAST16_MAX__)) -#define __INT_LEAST16_MAX__ 0x7fff -#endif -#if !(defined(__DEC64_MANT_DIG__) || defined(__coverity_undefine___DEC64_MANT_DIG__)) -#define __DEC64_MANT_DIG__ 16 -#endif -#if !(defined(__INT64_MAX__) || defined(__coverity_undefine___INT64_MAX__)) -#define __INT64_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__UINT_LEAST32_MAX__) || defined(__coverity_undefine___UINT_LEAST32_MAX__)) -#define __UINT_LEAST32_MAX__ 0xffffffffU -#endif -#if !(defined(__SEG_GS) || defined(__coverity_undefine___SEG_GS)) -#define __SEG_GS 1 -#endif -#if !(defined(__FLT32_DENORM_MIN__) || defined(__coverity_undefine___FLT32_DENORM_MIN__)) -#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32 -#endif -#if !(defined(__GCC_ATOMIC_LONG_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_LONG_LOCK_FREE)) -#define __GCC_ATOMIC_LONG_LOCK_FREE 2 -#endif -#if !(defined(__SIG_ATOMIC_WIDTH__) || defined(__coverity_undefine___SIG_ATOMIC_WIDTH__)) -#define __SIG_ATOMIC_WIDTH__ 32 -#endif -#if !(defined(__INT_LEAST64_TYPE__) || defined(__coverity_undefine___INT_LEAST64_TYPE__)) -#define __INT_LEAST64_TYPE__ long int -#endif -#if !(defined(__INT16_TYPE__) || defined(__coverity_undefine___INT16_TYPE__)) -#define __INT16_TYPE__ short int -#endif -#if !(defined(__INT_LEAST8_TYPE__) || defined(__coverity_undefine___INT_LEAST8_TYPE__)) -#define __INT_LEAST8_TYPE__ signed char -#endif -#if !(defined(__DEC32_MAX_EXP__) || defined(__coverity_undefine___DEC32_MAX_EXP__)) -#define __DEC32_MAX_EXP__ 97 -#endif -#if !(defined(__INT_FAST8_MAX__) || defined(__coverity_undefine___INT_FAST8_MAX__)) -#define __INT_FAST8_MAX__ 0x7f -#endif -#if !(defined(__FLT128_MAX__) || defined(__coverity_undefine___FLT128_MAX__)) -#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128 -#endif -#if !(defined(__INTPTR_MAX__) || defined(__coverity_undefine___INTPTR_MAX__)) -#define __INTPTR_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__cpp_sized_deallocation) || defined(__coverity_undefine___cpp_sized_deallocation)) -#define __cpp_sized_deallocation 201309 -#endif -#if !(defined(linux) || defined(__coverity_undefine_linux)) -#define linux 1 -#endif -#if !(defined(__cpp_range_based_for) || defined(__coverity_undefine___cpp_range_based_for)) -#define __cpp_range_based_for 200907 -#endif -#if !(defined(__FLT64_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT64_HAS_QUIET_NAN__)) -#define __FLT64_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__FLT32_MIN_10_EXP__) || defined(__coverity_undefine___FLT32_MIN_10_EXP__)) -#define __FLT32_MIN_10_EXP__ (-37) -#endif -#if !(defined(__SSE2__) || defined(__coverity_undefine___SSE2__)) -#define __SSE2__ 1 -#endif -#if !(defined(__EXCEPTIONS) || defined(__coverity_undefine___EXCEPTIONS)) -#define __EXCEPTIONS 1 -#endif -#if !(defined(__LDBL_MANT_DIG__) || defined(__coverity_undefine___LDBL_MANT_DIG__)) -#define __LDBL_MANT_DIG__ 64 -#endif -#if !(defined(__DBL_HAS_QUIET_NAN__) || defined(__coverity_undefine___DBL_HAS_QUIET_NAN__)) -#define __DBL_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__FLT64_HAS_INFINITY__) || defined(__coverity_undefine___FLT64_HAS_INFINITY__)) -#define __FLT64_HAS_INFINITY__ 1 -#endif -#if !(defined(__FLT64X_MAX__) || defined(__coverity_undefine___FLT64X_MAX__)) -#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x -#endif -#if !(defined(__SIG_ATOMIC_MIN__) || defined(__coverity_undefine___SIG_ATOMIC_MIN__)) -#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) -#endif -#if !(defined(__code_model_small__) || defined(__coverity_undefine___code_model_small__)) -#define __code_model_small__ 1 -#endif -#if !(defined(__cpp_return_type_deduction) || defined(__coverity_undefine___cpp_return_type_deduction)) -#define __cpp_return_type_deduction 201304 -#endif -#if !(defined(__k8__) || defined(__coverity_undefine___k8__)) -#define __k8__ 1 -#endif -#if !(defined(__INTPTR_TYPE__) || defined(__coverity_undefine___INTPTR_TYPE__)) -#define __INTPTR_TYPE__ long int -#endif -#if !(defined(__UINT16_TYPE__) || defined(__coverity_undefine___UINT16_TYPE__)) -#define __UINT16_TYPE__ short unsigned int -#endif -#if !(defined(__WCHAR_TYPE__) || defined(__coverity_undefine___WCHAR_TYPE__)) -#define __WCHAR_TYPE__ int -#endif -#if !(defined(__SIZEOF_FLOAT__) || defined(__coverity_undefine___SIZEOF_FLOAT__)) -#define __SIZEOF_FLOAT__ 4 -#endif -#if !(defined(__pic__) || defined(__coverity_undefine___pic__)) -#define __pic__ 2 -#endif -#if !(defined(__UINTPTR_MAX__) || defined(__coverity_undefine___UINTPTR_MAX__)) -#define __UINTPTR_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__INT_FAST64_WIDTH__) || defined(__coverity_undefine___INT_FAST64_WIDTH__)) -#define __INT_FAST64_WIDTH__ 64 -#endif -#if !(defined(__DEC64_MIN_EXP__) || defined(__coverity_undefine___DEC64_MIN_EXP__)) -#define __DEC64_MIN_EXP__ (-382) -#endif -#if !(defined(__cpp_decltype) || defined(__coverity_undefine___cpp_decltype)) -#define __cpp_decltype 200707 -#endif -#if !(defined(__FLT32_DECIMAL_DIG__) || defined(__coverity_undefine___FLT32_DECIMAL_DIG__)) -#define __FLT32_DECIMAL_DIG__ 9 -#endif -#if !(defined(__INT_FAST64_MAX__) || defined(__coverity_undefine___INT_FAST64_MAX__)) -#define __INT_FAST64_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__GCC_ATOMIC_TEST_AND_SET_TRUEVAL) || defined(__coverity_undefine___GCC_ATOMIC_TEST_AND_SET_TRUEVAL)) -#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 -#endif -#if !(defined(__FLT_DIG__) || defined(__coverity_undefine___FLT_DIG__)) -#define __FLT_DIG__ 6 -#endif -#if !(defined(__FLT64X_MAX_EXP__) || defined(__coverity_undefine___FLT64X_MAX_EXP__)) -#define __FLT64X_MAX_EXP__ 16384 -#endif -#if !(defined(__UINT_FAST64_TYPE__) || defined(__coverity_undefine___UINT_FAST64_TYPE__)) -#define __UINT_FAST64_TYPE__ long unsigned int -#endif -#if !(defined(__INT_MAX__) || defined(__coverity_undefine___INT_MAX__)) -#define __INT_MAX__ 0x7fffffff -#endif -#if !(defined(__amd64__) || defined(__coverity_undefine___amd64__)) -#define __amd64__ 1 -#endif -#if !(defined(__INT64_TYPE__) || defined(__coverity_undefine___INT64_TYPE__)) -#define __INT64_TYPE__ long int -#endif -#if !(defined(__FLT_MAX_EXP__) || defined(__coverity_undefine___FLT_MAX_EXP__)) -#define __FLT_MAX_EXP__ 128 -#endif -#if !(defined(__ORDER_BIG_ENDIAN__) || defined(__coverity_undefine___ORDER_BIG_ENDIAN__)) -#define __ORDER_BIG_ENDIAN__ 4321 -#endif -#if !(defined(__DBL_MANT_DIG__) || defined(__coverity_undefine___DBL_MANT_DIG__)) -#define __DBL_MANT_DIG__ 53 -#endif -#if !(defined(__cpp_inheriting_constructors) || defined(__coverity_undefine___cpp_inheriting_constructors)) -#define __cpp_inheriting_constructors 201511 -#endif -#if !(defined(__SIZEOF_FLOAT128__) || defined(__coverity_undefine___SIZEOF_FLOAT128__)) -#define __SIZEOF_FLOAT128__ 16 -#endif -#if !(defined(__INT_LEAST64_MAX__) || defined(__coverity_undefine___INT_LEAST64_MAX__)) -#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__DEC64_MIN__) || defined(__coverity_undefine___DEC64_MIN__)) -#define __DEC64_MIN__ 1E-383DD -#endif -#if !(defined(__WINT_TYPE__) || defined(__coverity_undefine___WINT_TYPE__)) -#define __WINT_TYPE__ unsigned int -#endif -#if !(defined(__UINT_LEAST32_TYPE__) || defined(__coverity_undefine___UINT_LEAST32_TYPE__)) -#define __UINT_LEAST32_TYPE__ unsigned int -#endif -#if !(defined(__SIZEOF_SHORT__) || defined(__coverity_undefine___SIZEOF_SHORT__)) -#define __SIZEOF_SHORT__ 2 -#endif -#if !(defined(__SSE__) || defined(__coverity_undefine___SSE__)) -#define __SSE__ 1 -#endif -#if !(defined(__LDBL_MIN_EXP__) || defined(__coverity_undefine___LDBL_MIN_EXP__)) -#define __LDBL_MIN_EXP__ (-16381) -#endif -#if !(defined(__FLT64_MAX__) || defined(__coverity_undefine___FLT64_MAX__)) -#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64 -#endif -#if !(defined(__WINT_WIDTH__) || defined(__coverity_undefine___WINT_WIDTH__)) -#define __WINT_WIDTH__ 32 -#endif -#if !(defined(__INT_LEAST8_MAX__) || defined(__coverity_undefine___INT_LEAST8_MAX__)) -#define __INT_LEAST8_MAX__ 0x7f -#endif -#if !(defined(__FLT32X_MAX_10_EXP__) || defined(__coverity_undefine___FLT32X_MAX_10_EXP__)) -#define __FLT32X_MAX_10_EXP__ 308 -#endif -#if !(defined(__SIZEOF_INT128__) || defined(__coverity_undefine___SIZEOF_INT128__)) -#define __SIZEOF_INT128__ 16 -#endif -#if !(defined(__LDBL_MAX_10_EXP__) || defined(__coverity_undefine___LDBL_MAX_10_EXP__)) -#define __LDBL_MAX_10_EXP__ 4932 -#endif -#if !(defined(__ATOMIC_RELAXED) || defined(__coverity_undefine___ATOMIC_RELAXED)) -#define __ATOMIC_RELAXED 0 -#endif -#if !(defined(__DBL_EPSILON__) || defined(__coverity_undefine___DBL_EPSILON__)) -#define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L) -#endif -#if !(defined(__FLT128_MIN__) || defined(__coverity_undefine___FLT128_MIN__)) -#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128 -#endif -#if !(defined(_LP64) || defined(__coverity_undefine__LP64)) -#define _LP64 1 -#endif -#if !(defined(__UINT8_C) || defined(__coverity_undefine___UINT8_C)) -#define __UINT8_C(c) c -#endif -#if !(defined(__FLT64_MAX_EXP__) || defined(__coverity_undefine___FLT64_MAX_EXP__)) -#define __FLT64_MAX_EXP__ 1024 -#endif -#if !(defined(__INT_LEAST32_TYPE__) || defined(__coverity_undefine___INT_LEAST32_TYPE__)) -#define __INT_LEAST32_TYPE__ int -#endif -#if !(defined(__SIZEOF_WCHAR_T__) || defined(__coverity_undefine___SIZEOF_WCHAR_T__)) -#define __SIZEOF_WCHAR_T__ 4 -#endif -#if !(defined(__FLT128_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT128_HAS_QUIET_NAN__)) -#define __FLT128_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__INT_FAST8_TYPE__) || defined(__coverity_undefine___INT_FAST8_TYPE__)) -#define __INT_FAST8_TYPE__ signed char -#endif -#if !(defined(__FLT64X_MIN__) || defined(__coverity_undefine___FLT64X_MIN__)) -#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x -#endif -#if !(defined(__GNUC_STDC_INLINE__) || defined(__coverity_undefine___GNUC_STDC_INLINE__)) -#define __GNUC_STDC_INLINE__ 1 -#endif -#if !(defined(__FLT64_HAS_DENORM__) || defined(__coverity_undefine___FLT64_HAS_DENORM__)) -#define __FLT64_HAS_DENORM__ 1 -#endif -#if !(defined(__FLT32_EPSILON__) || defined(__coverity_undefine___FLT32_EPSILON__)) -#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32 -#endif -#if !(defined(__DBL_DECIMAL_DIG__) || defined(__coverity_undefine___DBL_DECIMAL_DIG__)) -#define __DBL_DECIMAL_DIG__ 17 -#endif -#if !(defined(__STDC_UTF_32__) || defined(__coverity_undefine___STDC_UTF_32__)) -#define __STDC_UTF_32__ 1 -#endif -#if !(defined(__INT_FAST8_WIDTH__) || defined(__coverity_undefine___INT_FAST8_WIDTH__)) -#define __INT_FAST8_WIDTH__ 8 -#endif -#if !(defined(__FXSR__) || defined(__coverity_undefine___FXSR__)) -#define __FXSR__ 1 -#endif -#if !(defined(__DEC_EVAL_METHOD__) || defined(__coverity_undefine___DEC_EVAL_METHOD__)) -#define __DEC_EVAL_METHOD__ 2 -#endif -#if !(defined(__FLT32X_MAX__) || defined(__coverity_undefine___FLT32X_MAX__)) -#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x -#endif -#if !(defined(__cpp_runtime_arrays) || defined(__coverity_undefine___cpp_runtime_arrays)) -#define __cpp_runtime_arrays 198712 -#endif -#if !(defined(__UINT64_TYPE__) || defined(__coverity_undefine___UINT64_TYPE__)) -#define __UINT64_TYPE__ long unsigned int -#endif -#if !(defined(__UINT32_C) || defined(__coverity_undefine___UINT32_C)) -#define __UINT32_C(c) c ## U -#endif -#if !(defined(__INTMAX_MAX__) || defined(__coverity_undefine___INTMAX_MAX__)) -#define __INTMAX_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__cpp_alias_templates) || defined(__coverity_undefine___cpp_alias_templates)) -#define __cpp_alias_templates 200704 -#endif -#if !(defined(__BYTE_ORDER__) || defined(__coverity_undefine___BYTE_ORDER__)) -#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ -#endif -#if !(defined(__FLT_DENORM_MIN__) || defined(__coverity_undefine___FLT_DENORM_MIN__)) -#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F -#endif -#if !(defined(__INT8_MAX__) || defined(__coverity_undefine___INT8_MAX__)) -#define __INT8_MAX__ 0x7f -#endif -#if !(defined(__LONG_WIDTH__) || defined(__coverity_undefine___LONG_WIDTH__)) -#define __LONG_WIDTH__ 64 -#endif -#if !(defined(__PIC__) || defined(__coverity_undefine___PIC__)) -#define __PIC__ 2 -#endif -#if !(defined(__UINT_FAST32_TYPE__) || defined(__coverity_undefine___UINT_FAST32_TYPE__)) -#define __UINT_FAST32_TYPE__ long unsigned int -#endif -#if !(defined(__CHAR32_TYPE__) || defined(__coverity_undefine___CHAR32_TYPE__)) -#define __CHAR32_TYPE__ unsigned int -#endif -#if !(defined(__FLT_MAX__) || defined(__coverity_undefine___FLT_MAX__)) -#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F -#endif -#if !(defined(__cpp_constexpr) || defined(__coverity_undefine___cpp_constexpr)) -#define __cpp_constexpr 201304 -#endif -#if !(defined(__INT32_TYPE__) || defined(__coverity_undefine___INT32_TYPE__)) -#define __INT32_TYPE__ int -#endif -#if !(defined(__SIZEOF_DOUBLE__) || defined(__coverity_undefine___SIZEOF_DOUBLE__)) -#define __SIZEOF_DOUBLE__ 8 -#endif -#if !(defined(__cpp_exceptions) || defined(__coverity_undefine___cpp_exceptions)) -#define __cpp_exceptions 199711 -#endif -#if !(defined(__FLT_MIN_10_EXP__) || defined(__coverity_undefine___FLT_MIN_10_EXP__)) -#define __FLT_MIN_10_EXP__ (-37) -#endif -#if !(defined(__FLT64_MIN__) || defined(__coverity_undefine___FLT64_MIN__)) -#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64 -#endif -#if !(defined(__INT_LEAST32_WIDTH__) || defined(__coverity_undefine___INT_LEAST32_WIDTH__)) -#define __INT_LEAST32_WIDTH__ 32 -#endif -#if !(defined(__INTMAX_TYPE__) || defined(__coverity_undefine___INTMAX_TYPE__)) -#define __INTMAX_TYPE__ long int -#endif -#if !(defined(__DEC128_MAX_EXP__) || defined(__coverity_undefine___DEC128_MAX_EXP__)) -#define __DEC128_MAX_EXP__ 6145 -#endif -#if !(defined(__FLT32X_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT32X_HAS_QUIET_NAN__)) -#define __FLT32X_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__ATOMIC_CONSUME) || defined(__coverity_undefine___ATOMIC_CONSUME)) -#define __ATOMIC_CONSUME 1 -#endif -#if !(defined(__GNUC_MINOR__) || defined(__coverity_undefine___GNUC_MINOR__)) -#define __GNUC_MINOR__ 4 -#endif -#if !(defined(__GLIBCXX_TYPE_INT_N_0) || defined(__coverity_undefine___GLIBCXX_TYPE_INT_N_0)) -#define __GLIBCXX_TYPE_INT_N_0 __int128 -#endif -#if !(defined(__INT_FAST16_WIDTH__) || defined(__coverity_undefine___INT_FAST16_WIDTH__)) -#define __INT_FAST16_WIDTH__ 64 -#endif -#if !(defined(__UINTMAX_MAX__) || defined(__coverity_undefine___UINTMAX_MAX__)) -#define __UINTMAX_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__DEC32_MANT_DIG__) || defined(__coverity_undefine___DEC32_MANT_DIG__)) -#define __DEC32_MANT_DIG__ 7 -#endif -#if !(defined(__FLT32X_DENORM_MIN__) || defined(__coverity_undefine___FLT32X_DENORM_MIN__)) -#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x -#endif -#if !(defined(__DBL_MAX_10_EXP__) || defined(__coverity_undefine___DBL_MAX_10_EXP__)) -#define __DBL_MAX_10_EXP__ 308 -#endif -#if !(defined(__LDBL_DENORM_MIN__) || defined(__coverity_undefine___LDBL_DENORM_MIN__)) -#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L -#endif -#if !(defined(__INT16_C) || defined(__coverity_undefine___INT16_C)) -#define __INT16_C(c) c -#endif -#if !(defined(__cpp_generic_lambdas) || defined(__coverity_undefine___cpp_generic_lambdas)) -#define __cpp_generic_lambdas 201304 -#endif -#if !(defined(__STDC__) || defined(__coverity_undefine___STDC__)) -#define __STDC__ 1 -#endif -#if !(defined(__FLT32X_DIG__) || defined(__coverity_undefine___FLT32X_DIG__)) -#define __FLT32X_DIG__ 15 -#endif -#if !(defined(__PTRDIFF_TYPE__) || defined(__coverity_undefine___PTRDIFF_TYPE__)) -#define __PTRDIFF_TYPE__ long int -#endif -#if !(defined(__ATOMIC_SEQ_CST) || defined(__coverity_undefine___ATOMIC_SEQ_CST)) -#define __ATOMIC_SEQ_CST 5 -#endif -#if !(defined(__UINT32_TYPE__) || defined(__coverity_undefine___UINT32_TYPE__)) -#define __UINT32_TYPE__ unsigned int -#endif -#if !(defined(__FLT32X_MIN_10_EXP__) || defined(__coverity_undefine___FLT32X_MIN_10_EXP__)) -#define __FLT32X_MIN_10_EXP__ (-307) -#endif -#if !(defined(__UINTPTR_TYPE__) || defined(__coverity_undefine___UINTPTR_TYPE__)) -#define __UINTPTR_TYPE__ long unsigned int -#endif -#if !(defined(__DEC64_SUBNORMAL_MIN__) || defined(__coverity_undefine___DEC64_SUBNORMAL_MIN__)) -#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD -#endif -#if !(defined(__DEC128_MANT_DIG__) || defined(__coverity_undefine___DEC128_MANT_DIG__)) -#define __DEC128_MANT_DIG__ 34 -#endif -#if !(defined(__LDBL_MIN_10_EXP__) || defined(__coverity_undefine___LDBL_MIN_10_EXP__)) -#define __LDBL_MIN_10_EXP__ (-4931) -#endif -#if !(defined(__FLT128_EPSILON__) || defined(__coverity_undefine___FLT128_EPSILON__)) -#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128 -#endif -#if !(defined(__SSE_MATH__) || defined(__coverity_undefine___SSE_MATH__)) -#define __SSE_MATH__ 1 -#endif -#if !(defined(__SIZEOF_LONG_LONG__) || defined(__coverity_undefine___SIZEOF_LONG_LONG__)) -#define __SIZEOF_LONG_LONG__ 8 -#endif -#if !(defined(__cpp_user_defined_literals) || defined(__coverity_undefine___cpp_user_defined_literals)) -#define __cpp_user_defined_literals 200809 -#endif -#if !(defined(__FLT128_DECIMAL_DIG__) || defined(__coverity_undefine___FLT128_DECIMAL_DIG__)) -#define __FLT128_DECIMAL_DIG__ 36 -#endif -#if !(defined(__GCC_ATOMIC_LLONG_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_LLONG_LOCK_FREE)) -#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 -#endif -#if !(defined(__FLT32X_MIN__) || defined(__coverity_undefine___FLT32X_MIN__)) -#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x -#endif -#if !(defined(__LDBL_DIG__) || defined(__coverity_undefine___LDBL_DIG__)) -#define __LDBL_DIG__ 18 -#endif -#if !(defined(__FLT_DECIMAL_DIG__) || defined(__coverity_undefine___FLT_DECIMAL_DIG__)) -#define __FLT_DECIMAL_DIG__ 9 -#endif -#if !(defined(__UINT_FAST16_MAX__) || defined(__coverity_undefine___UINT_FAST16_MAX__)) -#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__GCC_ATOMIC_SHORT_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_SHORT_LOCK_FREE)) -#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 -#endif -#if !(defined(__INT_LEAST64_WIDTH__) || defined(__coverity_undefine___INT_LEAST64_WIDTH__)) -#define __INT_LEAST64_WIDTH__ 64 -#endif -#if !(defined(__UINT_FAST8_TYPE__) || defined(__coverity_undefine___UINT_FAST8_TYPE__)) -#define __UINT_FAST8_TYPE__ unsigned char -#endif -#if !(defined(_GNU_SOURCE) || defined(__coverity_undefine__GNU_SOURCE)) -#define _GNU_SOURCE 1 -#endif -#if !(defined(__cpp_init_captures) || defined(__coverity_undefine___cpp_init_captures)) -#define __cpp_init_captures 201304 -#endif -#if !(defined(__ATOMIC_ACQ_REL) || defined(__coverity_undefine___ATOMIC_ACQ_REL)) -#define __ATOMIC_ACQ_REL 4 -#endif -#if !(defined(__ATOMIC_RELEASE) || defined(__coverity_undefine___ATOMIC_RELEASE)) -#define __ATOMIC_RELEASE 3 -#endif -#if !(defined(__CET__) || defined(__coverity_undefine___CET__)) -#define __CET__ 3 -#endif -#if !(defined(__DEPRECATED) || defined(__coverity_undefine___DEPRECATED)) -#define __DEPRECATED 1 -#endif -#if !(defined(__EXCEPTIONS) || defined(__coverity_undefine___EXCEPTIONS)) -#define __EXCEPTIONS 1 -#endif -#if !(defined(__FINITE_MATH_ONLY__) || defined(__coverity_undefine___FINITE_MATH_ONLY__)) -#define __FINITE_MATH_ONLY__ 0 -#endif -#if !(defined(__GCC_HAVE_DWARF2_CFI_ASM) || defined(__coverity_undefine___GCC_HAVE_DWARF2_CFI_ASM)) -#define __GCC_HAVE_DWARF2_CFI_ASM 1 -#endif -#if !(defined(__GCC_IEC_559_COMPLEX) || defined(__coverity_undefine___GCC_IEC_559_COMPLEX)) -#define __GCC_IEC_559_COMPLEX 2 -#endif -#if !(defined(__GNUG__) || defined(__coverity_undefine___GNUG__)) -#define __GNUG__ 9 -#endif -#if !(defined(__GXX_RTTI) || defined(__coverity_undefine___GXX_RTTI)) -#define __GXX_RTTI 1 -#endif -#if !(defined(__GXX_WEAK__) || defined(__coverity_undefine___GXX_WEAK__)) -#define __GXX_WEAK__ 1 -#endif -#if !(defined(__INCLUDE_LEVEL__) || defined(__coverity_undefine___INCLUDE_LEVEL__)) -#define __INCLUDE_LEVEL__ 0 -#endif -#if !(defined(__PIC__) || defined(__coverity_undefine___PIC__)) -#define __PIC__ 2 -#endif -#if !(defined(__PIE__) || defined(__coverity_undefine___PIE__)) -#define __PIE__ 2 -#endif -#if !(defined(__PTRDIFF_TYPE__) || defined(__coverity_undefine___PTRDIFF_TYPE__)) -#define __PTRDIFF_TYPE__ long int -#endif -#if !(defined(__REGISTER_PREFIX__) || defined(__coverity_undefine___REGISTER_PREFIX__)) -#define __REGISTER_PREFIX__ -#endif -#if !(defined(__SIZE_TYPE__) || defined(__coverity_undefine___SIZE_TYPE__)) -#define __SIZE_TYPE__ long unsigned int -#endif -#if !(defined(__SSP_STRONG__) || defined(__coverity_undefine___SSP_STRONG__)) -#define __SSP_STRONG__ 3 -#endif -#if !(defined(__STDC_IEC_559_COMPLEX__) || defined(__coverity_undefine___STDC_IEC_559_COMPLEX__)) -#define __STDC_IEC_559_COMPLEX__ -#endif -#if !(defined(__STDC_IEC_559__) || defined(__coverity_undefine___STDC_IEC_559__)) -#define __STDC_IEC_559__ -#endif -#if !(defined(__STDC__) || defined(__coverity_undefine___STDC__)) -#define __STDC__ 1 -#endif -#if !(defined(__USER_LABEL_PREFIX__) || defined(__coverity_undefine___USER_LABEL_PREFIX__)) -#define __USER_LABEL_PREFIX__ -#endif -#if !(defined(__VERSION__) || defined(__coverity_undefine___VERSION__)) -#define __VERSION__ "9.4.0" -#endif -#if !(defined(__cplusplus) || defined(__coverity_undefine___cplusplus)) -#define __cplusplus 201402L -#endif -#if !(defined(__cpp_aggregate_nsdmi) || defined(__coverity_undefine___cpp_aggregate_nsdmi)) -#define __cpp_aggregate_nsdmi 201304 -#endif -#if !(defined(__cpp_alias_templates) || defined(__coverity_undefine___cpp_alias_templates)) -#define __cpp_alias_templates 200704 -#endif -#if !(defined(__cpp_attributes) || defined(__coverity_undefine___cpp_attributes)) -#define __cpp_attributes 200809 -#endif -#if !(defined(__cpp_binary_literals) || defined(__coverity_undefine___cpp_binary_literals)) -#define __cpp_binary_literals 201304 -#endif -#if !(defined(__cpp_constexpr) || defined(__coverity_undefine___cpp_constexpr)) -#define __cpp_constexpr 201304 -#endif -#if !(defined(__cpp_decltype) || defined(__coverity_undefine___cpp_decltype)) -#define __cpp_decltype 200707 -#endif -#if !(defined(__cpp_decltype_auto) || defined(__coverity_undefine___cpp_decltype_auto)) -#define __cpp_decltype_auto 201304 -#endif -#if !(defined(__cpp_delegating_constructors) || defined(__coverity_undefine___cpp_delegating_constructors)) -#define __cpp_delegating_constructors 200604 -#endif -#if !(defined(__cpp_exceptions) || defined(__coverity_undefine___cpp_exceptions)) -#define __cpp_exceptions 199711 -#endif -#if !(defined(__cpp_generic_lambdas) || defined(__coverity_undefine___cpp_generic_lambdas)) -#define __cpp_generic_lambdas 201304 -#endif -#if !(defined(__cpp_hex_float) || defined(__coverity_undefine___cpp_hex_float)) -#define __cpp_hex_float 201603 -#endif -#if !(defined(__cpp_inheriting_constructors) || defined(__coverity_undefine___cpp_inheriting_constructors)) -#define __cpp_inheriting_constructors 201511 -#endif -#if !(defined(__cpp_init_captures) || defined(__coverity_undefine___cpp_init_captures)) -#define __cpp_init_captures 201304 -#endif -#if !(defined(__cpp_initializer_lists) || defined(__coverity_undefine___cpp_initializer_lists)) -#define __cpp_initializer_lists 200806 -#endif -#if !(defined(__cpp_lambdas) || defined(__coverity_undefine___cpp_lambdas)) -#define __cpp_lambdas 200907 -#endif -#if !(defined(__cpp_nsdmi) || defined(__coverity_undefine___cpp_nsdmi)) -#define __cpp_nsdmi 200809 -#endif -#if !(defined(__cpp_range_based_for) || defined(__coverity_undefine___cpp_range_based_for)) -#define __cpp_range_based_for 200907 -#endif -#if !(defined(__cpp_raw_strings) || defined(__coverity_undefine___cpp_raw_strings)) -#define __cpp_raw_strings 200710 -#endif -#if !(defined(__cpp_ref_qualifiers) || defined(__coverity_undefine___cpp_ref_qualifiers)) -#define __cpp_ref_qualifiers 200710 -#endif -#if !(defined(__cpp_return_type_deduction) || defined(__coverity_undefine___cpp_return_type_deduction)) -#define __cpp_return_type_deduction 201304 -#endif -#if !(defined(__cpp_rtti) || defined(__coverity_undefine___cpp_rtti)) -#define __cpp_rtti 199711 -#endif -#if !(defined(__cpp_runtime_arrays) || defined(__coverity_undefine___cpp_runtime_arrays)) -#define __cpp_runtime_arrays 198712 -#endif -#if !(defined(__cpp_rvalue_reference) || defined(__coverity_undefine___cpp_rvalue_reference)) -#define __cpp_rvalue_reference 200610 -#endif -#if !(defined(__cpp_rvalue_references) || defined(__coverity_undefine___cpp_rvalue_references)) -#define __cpp_rvalue_references 200610 -#endif -#if !(defined(__cpp_sized_deallocation) || defined(__coverity_undefine___cpp_sized_deallocation)) -#define __cpp_sized_deallocation 201309 -#endif -#if !(defined(__cpp_static_assert) || defined(__coverity_undefine___cpp_static_assert)) -#define __cpp_static_assert 200410 -#endif -#if !(defined(__cpp_threadsafe_static_init) || defined(__coverity_undefine___cpp_threadsafe_static_init)) -#define __cpp_threadsafe_static_init 200806 -#endif -#if !(defined(__cpp_unicode_characters) || defined(__coverity_undefine___cpp_unicode_characters)) -#define __cpp_unicode_characters 200704 -#endif -#if !(defined(__cpp_unicode_literals) || defined(__coverity_undefine___cpp_unicode_literals)) -#define __cpp_unicode_literals 200710 -#endif -#if !(defined(__cpp_user_defined_literals) || defined(__coverity_undefine___cpp_user_defined_literals)) -#define __cpp_user_defined_literals 200809 -#endif -#if !(defined(__cpp_variable_templates) || defined(__coverity_undefine___cpp_variable_templates)) -#define __cpp_variable_templates 201304 -#endif -#if !(defined(__cpp_variadic_templates) || defined(__coverity_undefine___cpp_variadic_templates)) -#define __cpp_variadic_templates 200704 -#endif -#if !(defined(__pic__) || defined(__coverity_undefine___pic__)) -#define __pic__ 2 -#endif -#if !(defined(__pie__) || defined(__coverity_undefine___pie__)) -#define __pie__ 2 -#endif -#if !(defined(__unix__) || defined(__coverity_undefine___unix__)) -#define __unix__ 1 -#endif diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity_config.xml b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity_config.xml deleted file mode 100644 index 74ee81bd6..000000000 --- a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++-config-0/coverity_config.xml +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - - 1 - - - - cc - gcc - gcc-9 - x86_64-linux-gnu-gcc-9 - /usr/bin - g++ - C++ - cov-emit - GNU C++ Compiler - g++cc - gnu - -std=gnu90 - g++-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 - 9.4.0 - true - true - all - - - g++-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 - g++-cc-.* - - /usr/include/c++/9 - /usr/include/x86_64-linux-gnu/c++/9 - /usr/include/c++/9/backward - /usr/lib/gcc/x86_64-linux-gnu/9/include - /usr/local/include - /usr/include/x86_64-linux-gnu - /usr/include - -E - -v - -dM - -E - -o.+ - -c - -Werror - -o - -xc++ - -E - -U__BLOCKS__ - -C - - - 2 - $CONFIGDIR$/coverity-compiler-compat.h - $CONFIGDIR$/coverity-macro-compat.h - --add_type_modifier=__coverity___fpreg - --add_type_modifier=__coverity_decimal - --add_type_modifier=__coverity_float - --add_type_modifier=__coverity_floatx - --no_predefined_feature_test_macros - --no_stdarg_builtin - --enable_128bit_int - --no_predefined_cplusplus - -w - --no_predefines - --comp_ver - 9.4.0 - --size_t_type=m - --ptrdiff_t_type=l - --type_sizes=w4xl8i4s2e16d8f4P8 - --type_alignments=w4xl8i4s2e16d8f4P8 - --char_bit_size=8 - --gnu_carriage_return_line_terminator - --wchar_t_keyword - --no_multiline_string - --no_trigraphs - --ignore_calling_convention - --enable_80bit_float - --enable_128bit_float - --macro_stack_pragmas - --exceptions - --arg_dependent_overload - --inline_keyword - --has_include_macro - --has_include_next_macro - --has_cpp_attribute_macro - --no_predefines - conftest\.c{1,2}$ - conftest\.cpp$ - cgo-cc-input-[0-9]+\.(c|cc|cpp|cxx) - $CONFIGDIR$/../user_nodefs.h - - gcc - - - /usr/lib/gcc/x86_64-linux-gnu/9/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/ - /lib/x86_64-linux-gnu/9/ - /lib/x86_64-linux-gnu/ - /lib/../lib/ - /usr/lib/x86_64-linux-gnu/9/ - /usr/lib/x86_64-linux-gnu/ - /usr/lib/../lib/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../ - /lib/ - /usr/lib/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o - /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o - /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 - /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so - /lib/x86_64-linux-gnu/libc.so.6 - /usr/lib/x86_64-linux-gnu/libc_nonshared.a - /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 - /usr/lib/x86_64-linux-gnu/libc_nonshared.a - /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 - /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 - /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o - - - -coverity_c_suffixes_are_cxx - - - - - CPLUS_INCLUDE_PATH - --c++ - - - - - - @(.*) - --coverity_resp_file=$1 - - - - - - gnu_pre_translate - - - - - CPATH - true - - - - - - - 74dcbc851f07efc12a994173d38d61db - - diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/configure-log.txt b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/configure-log.txt deleted file mode 100644 index 766918647..000000000 --- a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/configure-log.txt +++ /dev/null @@ -1,4096 +0,0 @@ -Getting compiler identification output with: /usr/bin/cc -std=gnu90 --version /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -int main() {} - -**** END source file *** -pipe_command: /usr/bin/cc -std=gnu90 --version /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -pipe_commands starting: /usr/bin/cc -std=gnu90 --version /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.output -cc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 -Copyright (C) 2019 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - -**** END FILE output *** -**** BEGIN FILE error: - -**** END FILE error *** -**** Compiler identification output begin **** -cc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 -Copyright (C) 2019 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - -**** Compiler identification output end **** -**** BEGIN PROBE run_test_sanity **** -[STATUS] g++cc-config-0: Running sanity tests on native compiler -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/simple.c -int x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/simple.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/simple.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c -#x -int a b c d; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c:1:2: error: invalid preprocessing directive #x - 1 | #x - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c:2:7: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘b’ - 2 | int a b c d; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c:2:7: error: unknown type name ‘b’ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/stddef.c -#include -struct mystruct { - int field1; - int field2; -} var; -size_t sz = sizeof(struct mystruct); -ptrdiff_t pd; -void func() { - pd = &var.field1 - &var.field2; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/stddef.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/stddef.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE run_test_sanity **** -**** BEGIN PROBE get_version_switch_output **** -Version switch: -E -v -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -int main() {} - -**** END source file *** -pipe_command: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/version_output -# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c" -# 1 "" -# 1 "" -# 31 "" -# 1 "/usr/include/stdc-predef.h" 1 3 4 -# 32 "" 2 -# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c" -int main() {} - -**** END FILE output *** -**** BEGIN FILE error: -Using built-in specs. -COLLECT_GCC=/usr/bin/cc -OFFLOAD_TARGET_NAMES=nvptx-none:hsa -OFFLOAD_TARGET_DEFAULT=1 -Target: x86_64-linux-gnu -Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu -Thread model: posix -gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) -COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' - /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -E -quiet -v -imultiarch x86_64-linux-gnu /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" -#include "..." search starts here: -#include <...> search starts here: - /usr/lib/gcc/x86_64-linux-gnu/9/include - /usr/local/include - /usr/include/x86_64-linux-gnu - /usr/include -End of search list. -COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ -LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' - -**** END FILE error *** -**** END PROBE get_version_switch_output **** -Version string before regex: # 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c" # 1 "" # 1 "" # 31 "" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 32 "" 2 # 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c" int main() {} Using built-in specs. COLLECT_GCC=/usr/bin/cc OFFLOAD_TARGET_NAMES=nvptx-none:hsa OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -E -quiet -v -imultiarch x86_64-linux-gnu /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/x86_64-linux-gnu/9/include /usr/local/include /usr/include/x86_64-linux-gnu /usr/include End of search list. COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' -Attempting to match the following regex: .*g[c+][c+] version 2\.9.* \(2.96.*\).* -Attempting to match the following regex: .*g[c+][c+][^\s]* [^\s]+ (\d+\.\d+(\.\d+)?) \(.*\).* -Match found. Version string after regex: 9.4.0 -Attempting to match the following regex: .*g[c+][c+][^\s]* \([^)]*\) (\d+\.\d+(\.\d+)?).* -Attempting to match the following regex: .*(?:cc|\+\+)(?:-[^\h]+)?(?:\.exe)?\h+(?:.*?\h+)?(\d+\.\d+(\.\d+)?).* -Attempting to match the following regex: .*[^0-9.](\d+\.\d+\.\d+).* -Compiler version found: 9.4.0 -**** BEGIN PROBE run_type_size_and_alignment_tests **** -**** BEGIN PROBE probe_helpful_compiler_info **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.c -int *i; unsigned long *c; void foo() { c = i; } - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.c: In function ‘foo’: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.c:1:42: warning: assignment to ‘long unsigned int *’ from incompatible pointer type ‘int *’ [-Wincompatible-pointer-types] - 1 | int *i; unsigned long *c; void foo() { c = i; } - | ^ - -**** END FILE stderr *** -Test succeded -Native compiler allows sloppy assigns. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.c - int x[((int)sizeof (int *)) - 13000]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.c:1:6: error: size of array ‘x’ is negative - 1 | int x[((int)sizeof (int *)) - 13000]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/zero_size_array.c - int x[0]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/zero_size_array.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/zero_size_array.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -Native compiler minimum array index is 0. -**** END PROBE probe_helpful_compiler_info **** -**** BEGIN PROBE Detecting size_t **** -Detecting size_t. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.c -size_t * s; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.c:1:1: error: unknown type name ‘size_t’ - 1 | size_t * s; - | ^~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.c:1:1: note: ‘size_t’ is defined in header ‘’; did you forget to ‘#include ’? - +++ |+#include - 1 | size_t * s; - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type2.c -#include -size_t * s; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type2.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type2.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_sloppy_typedef.c -#include -typedef void ***size_t; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_sloppy_typedef.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_sloppy_typedef.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_sloppy_typedef.c:2:17: error: conflicting types for ‘size_t’ - 2 | typedef void ***size_t; - | ^~~~~~ -In file included from /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_sloppy_typedef.c:1: -/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h:209:23: note: previous declaration of ‘size_t’ was here - 209 | typedef __SIZE_TYPE__ size_t; - | ^~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.c -#include -typedef unsigned int size_t;size_t x; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.c:2:22: error: conflicting types for ‘size_t’ - 2 | typedef unsigned int size_t;size_t x; - | ^~~~~~ -In file included from /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.c:1: -/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h:209:23: note: previous declaration of ‘size_t’ was here - 209 | typedef __SIZE_TYPE__ size_t; - | ^~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_long.c -#include -typedef unsigned long size_t;size_t x; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_long.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_long.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE Detecting size_t **** -**** BEGIN PROBE Detecting ptrdiff_t **** -Detecting ptrdiff_t. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.c -ptrdiff_t * s; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.c:1:1: error: unknown type name ‘ptrdiff_t’ - 1 | ptrdiff_t * s; - | ^~~~~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.c:1:1: note: ‘ptrdiff_t’ is defined in header ‘’; did you forget to ‘#include ’? - +++ |+#include - 1 | ptrdiff_t * s; - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type2.c -#include -ptrdiff_t * s; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type2.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type2.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_sloppy_typedef.c -#include -typedef void ***ptrdiff_t; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_sloppy_typedef.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_sloppy_typedef.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_sloppy_typedef.c:2:17: error: conflicting types for ‘ptrdiff_t’ - 2 | typedef void ***ptrdiff_t; - | ^~~~~~~~~ -In file included from /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_sloppy_typedef.c:1: -/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h:143:26: note: previous declaration of ‘ptrdiff_t’ was here - 143 | typedef __PTRDIFF_TYPE__ ptrdiff_t; - | ^~~~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.c -#include -typedef int ptrdiff_t;ptrdiff_t x; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.c:2:13: error: conflicting types for ‘ptrdiff_t’ - 2 | typedef int ptrdiff_t;ptrdiff_t x; - | ^~~~~~~~~ -In file included from /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.c:1: -/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h:143:26: note: previous declaration of ‘ptrdiff_t’ was here - 143 | typedef __PTRDIFF_TYPE__ ptrdiff_t; - | ^~~~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_long.c -#include -typedef long ptrdiff_t;ptrdiff_t x; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_long.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_long.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE Detecting ptrdiff_t **** -**** BEGIN PROBE add_appropriate_type_size_and_alignment_switch **** -[STATUS] g++cc-config-0: Detecting size and alignment of fundamental types. -Detecting size and alignment of wchar_t -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.c -wchar_t x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.c:1:1: error: unknown type name ‘wchar_t’ - 1 | wchar_t x; - | ^~~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.c:1:1: note: ‘wchar_t’ is defined in header ‘’; did you forget to ‘#include ’? - +++ |+#include - 1 | wchar_t x; - -**** END FILE stderr *** -Test failed -**** END PROBE run_type_size_test **** -Detecting size and alignment of long long -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_long.c -long long x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_long.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_long.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_size_8.c -int x [((int)sizeof (long long)) -8]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_size_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_size_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_align_8.c -struct X { char a; long long b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -long long b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_align_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_align_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -Detecting size and alignment of long -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long.c -long x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_size_8.c -int x [((int)sizeof (long)) -8]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_size_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_size_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_align_8.c -struct X { char a; long b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -long b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_align_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_align_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -Detecting size and alignment of int -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int.c -int x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.c -int x [((int)sizeof (int)) -8]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (int)) -8]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.c -int x [((int)sizeof (int)) -7]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (int)) -7]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.c -int x [((int)sizeof (int)) -6]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (int)) -6]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.c -int x [((int)sizeof (int)) -5]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (int)) -5]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_4.c -int x [((int)sizeof (int)) -4]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_4.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_4.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.c -struct X { char a; int b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -int b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.c:12:5: error: size of array ‘x’ is negative - 12 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.c -struct X { char a; int b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -int b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.c:11:5: error: size of array ‘x’ is negative - 11 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.c -struct X { char a; int b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -int b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.c:10:5: error: size of array ‘x’ is negative - 10 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.c -struct X { char a; int b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -int b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.c:9:5: error: size of array ‘x’ is negative - 9 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_4.c -struct X { char a; int b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -int b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_4.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_4.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -Detecting size and alignment of short -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_short.c -short x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_short.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_short.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.c -int x [((int)sizeof (short)) -4]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (short)) -4]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.c -int x [((int)sizeof (short)) -3]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (short)) -3]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_2.c -int x [((int)sizeof (short)) -2]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_2.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_2.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.c -struct X { char a; short b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -short b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.c:8:5: error: size of array ‘x’ is negative - 8 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.c -struct X { char a; short b; }; -struct Y { -char a1; -char a2; -char a3; -short b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.c:7:5: error: size of array ‘x’ is negative - 7 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_2.c -struct X { char a; short b; }; -struct Y { -char a1; -char a2; -short b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_2.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_2.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -Detecting size and alignment of long double -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_double.c -long double x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_double.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_double.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_size_16.c -int x [((int)sizeof (long double)) -16]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_size_16.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_size_16.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_align_16.c -struct X { char a; long double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -char a11; -char a12; -char a13; -char a14; -char a15; -char a16; -long double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_align_16.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_align_16.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -Detecting size and alignment of double -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_double.c -double x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_double.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_double.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.c -int x [((int)sizeof (double)) -16]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -16]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.c -int x [((int)sizeof (double)) -15]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -15]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.c -int x [((int)sizeof (double)) -14]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -14]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.c -int x [((int)sizeof (double)) -13]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -13]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.c -int x [((int)sizeof (double)) -12]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -12]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.c -int x [((int)sizeof (double)) -11]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -11]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.c -int x [((int)sizeof (double)) -10]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -10]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.c -int x [((int)sizeof (double)) -9]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -9]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_8.c -int x [((int)sizeof (double)) -8]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.c -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -char a11; -char a12; -char a13; -char a14; -char a15; -char a16; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.c:20:5: error: size of array ‘x’ is negative - 20 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.c -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -char a11; -char a12; -char a13; -char a14; -char a15; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.c:19:5: error: size of array ‘x’ is negative - 19 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.c -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -char a11; -char a12; -char a13; -char a14; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.c:18:5: error: size of array ‘x’ is negative - 18 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.c -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -char a11; -char a12; -char a13; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.c:17:5: error: size of array ‘x’ is negative - 17 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.c -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -char a11; -char a12; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.c:16:5: error: size of array ‘x’ is negative - 16 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.c -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -char a11; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.c:15:5: error: size of array ‘x’ is negative - 15 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.c -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.c:14:5: error: size of array ‘x’ is negative - 14 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.c -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.c:13:5: error: size of array ‘x’ is negative - 13 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_8.c -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -Detecting size and alignment of float -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_float.c -float x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_float.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_float.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.c -int x [((int)sizeof (float)) -8]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (float)) -8]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.c -int x [((int)sizeof (float)) -7]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (float)) -7]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.c -int x [((int)sizeof (float)) -6]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (float)) -6]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.c -int x [((int)sizeof (float)) -5]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (float)) -5]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_4.c -int x [((int)sizeof (float)) -4]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_4.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_4.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.c -struct X { char a; float b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -float b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.c:12:5: error: size of array ‘x’ is negative - 12 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.c -struct X { char a; float b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -float b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.c:11:5: error: size of array ‘x’ is negative - 11 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.c -struct X { char a; float b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -float b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.c:10:5: error: size of array ‘x’ is negative - 10 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.c -struct X { char a; float b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -float b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.c:9:5: error: size of array ‘x’ is negative - 9 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_4.c -struct X { char a; float b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -float b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_4.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_4.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -Detecting size and alignment of int * -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int__ptr_.c -int * x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int__ptr_.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int__ptr_.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__size_8.c -int x [((int)sizeof (int *)) -8]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__size_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__size_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__align_8.c -struct X { char a; int * b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -int * b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__align_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__align_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE add_appropriate_type_size_and_alignment_switch **** -**** BEGIN PROBE run_char_bit_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_1.c -#define N 1 -#define SHIFT(VALUE,AMOUNT) \ - ((VALUE) << ((AMOUNT) >= 63 ? 7 : 0) \ - << ((AMOUNT) >= 56 ? 7 : 0) \ - << ((AMOUNT) >= 49 ? 7 : 0) \ - << ((AMOUNT) >= 42 ? 7 : 0) \ - << ((AMOUNT) >= 35 ? 7 : 0) \ - << ((AMOUNT) >= 28 ? 7 : 0) \ - << ((AMOUNT) >= 21 ? 7 : 0) \ - << ((AMOUNT) >= 14 ? 7 : 0) \ - << ((AMOUNT) >= 7 ? 7 : 0) \ - << ((AMOUNT) % 7)) -typedef unsigned char UC; -void foo() { - static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_1.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_1.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.c -#define N 9 -#define SHIFT(VALUE,AMOUNT) \ - ((VALUE) << ((AMOUNT) >= 63 ? 7 : 0) \ - << ((AMOUNT) >= 56 ? 7 : 0) \ - << ((AMOUNT) >= 49 ? 7 : 0) \ - << ((AMOUNT) >= 42 ? 7 : 0) \ - << ((AMOUNT) >= 35 ? 7 : 0) \ - << ((AMOUNT) >= 28 ? 7 : 0) \ - << ((AMOUNT) >= 21 ? 7 : 0) \ - << ((AMOUNT) >= 14 ? 7 : 0) \ - << ((AMOUNT) >= 7 ? 7 : 0) \ - << ((AMOUNT) % 7)) -typedef unsigned char UC; -void foo() { - static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.c: In function ‘foo’: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.c:15:14: error: size of array ‘check_char_bit’ is negative - 15 | static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; - | ^~~~~~~~~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_8.c -#define N 8 -#define SHIFT(VALUE,AMOUNT) \ - ((VALUE) << ((AMOUNT) >= 63 ? 7 : 0) \ - << ((AMOUNT) >= 56 ? 7 : 0) \ - << ((AMOUNT) >= 49 ? 7 : 0) \ - << ((AMOUNT) >= 42 ? 7 : 0) \ - << ((AMOUNT) >= 35 ? 7 : 0) \ - << ((AMOUNT) >= 28 ? 7 : 0) \ - << ((AMOUNT) >= 21 ? 7 : 0) \ - << ((AMOUNT) >= 14 ? 7 : 0) \ - << ((AMOUNT) >= 7 ? 7 : 0) \ - << ((AMOUNT) % 7)) -typedef unsigned char UC; -void foo() { - static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE run_char_bit_size_test **** -**** END PROBE run_type_size_and_alignment_tests **** -**** BEGIN PROBE add_appropriate_restrict_switch_if_needed **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.c -int * restrict i; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.c:1:16: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘i’ - 1 | int * restrict i; - | ^ - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_restrict_switch_if_needed **** -**** BEGIN PROBE add_appropriate_cr_term_switch_if_needed **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/cr_term.c -int i; #define foo \ bar void foo() { }; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/cr_term.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/cr_term.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE add_appropriate_cr_term_switch_if_needed **** -**** BEGIN PROBE add_enable_declspec_switch_if_needed **** -__declspec macro definition test. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.c -#ifndef __declspec -#error __declspec not defined -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.c:2:2: error: #error __declspec not defined - 2 | #error __declspec not defined - | ^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec2.c - -void __declspec(int x) { - x = 1; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec2.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec2.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE add_enable_declspec_switch_if_needed **** -**** BEGIN PROBE add_appropriate_wchar_t_type_switch **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c -void f() { - static const unsigned short invalid_wcs[] = L"Invalid wide format string."; - static const unsigned short prefix[] = L"+\0-\0 \0000x\0000X"; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c: In function ‘f’: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c:2:47: error: cannot initialize array of ‘short unsigned int’ from a string literal with type array of ‘int’ - 2 | static const unsigned short invalid_wcs[] = L"Invalid wide format string."; - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c:3:42: error: cannot initialize array of ‘short unsigned int’ from a string literal with type array of ‘int’ - 3 | static const unsigned short prefix[] = L"+\0-\0 \0000x\0000X"; - | ^~~~~~~~~~~~~~~~~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c -void f() { - static const short invalid_wcs[] = L"Invalid wide format string."; - static const short prefix[] = L"+\0-\0 \0000x\0000X"; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c: In function ‘f’: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c:2:38: error: array of inappropriate type initialized from string constant - 2 | static const short invalid_wcs[] = L"Invalid wide format string."; - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c:3:33: error: array of inappropriate type initialized from string constant - 3 | static const short prefix[] = L"+\0-\0 \0000x\0000X"; - | ^~~~~~~~~~~~~~~~~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c -void f() { - static const unsigned int invalid_wcs[] = L"Invalid wide format string."; - static const unsigned int prefix[] = L"+\0-\0 \0000x\0000X"; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c: In function ‘f’: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c:2:45: error: cannot initialize array of ‘unsigned int’ from a string literal with type array of ‘int’ - 2 | static const unsigned int invalid_wcs[] = L"Invalid wide format string."; - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c:3:40: error: cannot initialize array of ‘unsigned int’ from a string literal with type array of ‘int’ - 3 | static const unsigned int prefix[] = L"+\0-\0 \0000x\0000X"; - | ^~~~~~~~~~~~~~~~~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typei.c -void f() { - static const int invalid_wcs[] = L"Invalid wide format string."; - static const int prefix[] = L"+\0-\0 \0000x\0000X"; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typei.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typei.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE add_appropriate_wchar_t_type_switch **** -**** BEGIN PROBE add_multiline_string_switch_if_needed **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c -char* str = "Hello -World"; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:1:13: warning: missing terminating " character - 1 | char* str = "Hello - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:1:13: error: missing terminating " character - 1 | char* str = "Hello - | ^~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:2:6: warning: missing terminating " character - 2 | World"; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:2:6: error: missing terminating " character - 2 | World"; - | ^~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:2:1: error: ‘World’ undeclared here (not in a function) - 2 | World"; - | ^~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:2:1: error: expected ‘,’ or ‘;’ at end of input - -**** END FILE stderr *** -Test failed -**** END PROBE add_multiline_string_switch_if_needed **** -**** BEGIN PROBE add_appropriate_trigraphs_switch **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c -char x ??( 3 ??) = "Hi"; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c:1:8: warning: trigraph ??( ignored, use -trigraphs to enable [-Wtrigraphs] - 1 | char x ??( 3 ??) = "Hi"; - | -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c:1:8: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘?’ token - 1 | char x ??( 3 ??) = "Hi"; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c:1:14: warning: trigraph ??) ignored, use -trigraphs to enable [-Wtrigraphs] - 1 | char x ??( 3 ??) = "Hi"; - | - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_trigraphs_switch **** -**** BEGIN PROBE run_x86_calling_conventions_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.c -void foo(void) __attribute__((__stdcall__)); - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.c:1:1: warning: ‘stdcall’ attribute ignored [-Wattributes] - 1 | void foo(void) __attribute__((__stdcall__)); - | ^~~~ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.c -void f(void) ; -void (*p)() __attribute__((__stdcall__)) = &f; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.c:2:1: warning: ‘stdcall’ attribute ignored [-Wattributes] - 2 | void (*p)() __attribute__((__stdcall__)) = &f; - | ^~~~ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.c -void f(void) ; -void (*p)() __attribute__((__cdecl__)) = &f; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.c:2:1: warning: ‘cdecl’ attribute ignored [-Wattributes] - 2 | void (*p)() __attribute__((__cdecl__)) = &f; - | ^~~~ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.c -void f(void) ; -void (*p)() __attribute__((__fastcall__)) = &f; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.c:2:1: warning: ‘fastcall’ attribute ignored [-Wattributes] - 2 | void (*p)() __attribute__((__fastcall__)) = &f; - | ^~~~ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.c -void f(void) ; -void (*p)() __attribute__((__vectorcall__)) = &f; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.c:2:1: warning: ‘vectorcall’ attribute directive ignored [-Wattributes] - 2 | void (*p)() __attribute__((__vectorcall__)) = &f; - | ^~~~ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.c -void f(void) ; -void (*p)() __attribute__((__thiscall__)) = &f; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.c:2:1: warning: ‘thiscall’ attribute ignored [-Wattributes] - 2 | void (*p)() __attribute__((__thiscall__)) = &f; - | ^~~~ - -**** END FILE stderr *** -Test succeded -**** END PROBE run_x86_calling_conventions_test **** -**** BEGIN PROBE add_appropriate_altivec_switch_if_needed **** -Detecting whether AltiVec is supported. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.c -__vector unsigned int a; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.c:1:9: error: expected ‘;’ before ‘unsigned’ - 1 | __vector unsigned int a; - | ^~~~~~~~~ - | ; - -**** END FILE stderr *** -Test failed -AltiVec is implicitly disabled. -**** END PROBE add_appropriate_altivec_switch_if_needed **** -**** BEGIN PROBE add_appropriate_c_version_switch **** -Detecting which C mode is in use. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c11.c -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L -int using_c11; -#else -#error "Not c11" -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c11.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c11.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c11.c:4:2: error: #error "Not c11" - 4 | #error "Not c11" - | ^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c99.c -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L -int using_c99; -#else -#error "Not c99" -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c99.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c99.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c99.c:4:2: error: #error "Not c99" - 4 | #error "Not c99" - | ^~~~~ - -**** END FILE stderr *** -Test failed -c99 mode appears to be disabled. -**** END PROBE add_appropriate_c_version_switch **** -**** BEGIN PROBE add_float80_and_128_switch_if_needed **** -Detecting whether __float80 and __float128 are supported. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float80.c -__float80 x; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float80.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float80.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -float80 appears to be enabled. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float128.c -__float128 x; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float128.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float128.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -float128 appears to be enabled. -**** END PROBE add_float80_and_128_switch_if_needed **** -**** BEGIN PROBE add_appropriate__Bool_switch **** -Detecting whether _Bool keyword is in use. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_Bool.c -#ifdef _Bool -#undef _Bool -#endif - -_Bool foo; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_Bool.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_Bool.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -_Bool keyword appears to be in use. -**** END PROBE add_appropriate__Bool_switch **** -**** BEGIN PROBE add_appropriate_macro_stack_pragma_switch **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_sanity.c -#define TEST 1 -#pragma push_macro("TEST") -#pragma pop_macro("TEST") - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_sanity.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_sanity.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_pragmas.c -#define TEST 1 -#pragma push_macro("TEST") -#undef TEST -#define TEST -1 -#pragma pop_macro("TEST") -int arr[TEST]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_pragmas.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_pragmas.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.c -#define TEST -1 -#pragma push_macro("TEST") -#undef TEST -#define TEST 1 -#pragma pop_macro("TEST") -int arr[TEST]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.c:6:5: error: size of array ‘arr’ is negative - 6 | int arr[TEST]; - | ^~~ - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_macro_stack_pragma_switch **** -**** BEGIN PROBE add_appropriate_arg_dependent_overload_switch **** -Detecting whether --arg_dependent_overload is needed. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c -typedef unsigned short FIXED_FLOAT16; -typedef unsigned int FIXED_FLOAT32; - -namespace Y { -typedef struct _VECTOR3F { } VECTOR3F; - -float InnerProduct(const _VECTOR3F& v1, const _VECTOR3F& v2); -} - -namespace fxutil { - FIXED_FLOAT32 InnerProduct(const FIXED_FLOAT32& v1, const FIXED_FLOAT32& v2); - FIXED_FLOAT32 InnerProduct(const FIXED_FLOAT16& v1, const FIXED_FLOAT16& v2); -} - -namespace X { - float Sqrt(float f); - float Sqrt(FIXED_FLOAT32 f); -} -using namespace X; - -void f(Y::VECTOR3F &scale) -{ - using fxutil::InnerProduct; - Sqrt(InnerProduct(scale,scale)); -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:4:1: error: unknown type name ‘namespace’ - 4 | namespace Y { - | ^~~~~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:4:13: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token - 4 | namespace Y { - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:10:1: error: unknown type name ‘namespace’ - 10 | namespace fxutil { - | ^~~~~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:10:18: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token - 10 | namespace fxutil { - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:15:1: error: unknown type name ‘namespace’ - 15 | namespace X { - | ^~~~~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:15:13: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token - 15 | namespace X { - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:19:1: error: unknown type name ‘using’ - 19 | using namespace X; - | ^~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:19:17: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘X’ - 19 | using namespace X; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:21:9: error: expected ‘)’ before ‘:’ token - 21 | void f(Y::VECTOR3F &scale) - | ^ - | ) - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_arg_dependent_overload_switch **** -**** BEGIN PROBE add_appropriate_vector_intrinsics_switch **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector bool int x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector bool int x) {f1(x);} - | ^~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c:1:102: error: unknown type name ‘__vector’ - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector bool int x) {f1(x);} - | ^~~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector __bool int x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector __bool int x) {f1(x);} - | ^~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c:1:102: error: unknown type name ‘__vector’ - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector __bool int x) {f1(x);} - | ^~~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector bool int x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector bool int x) {f1(x);} - | ^~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c:1:102: error: unknown type name ‘vector’ - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector bool int x) {f1(x);} - | ^~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector __bool int x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector __bool int x) {f1(x);} - | ^~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c:1:102: error: unknown type name ‘vector’ - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector __bool int x) {f1(x);} - | ^~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector pixel x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector pixel x) {f1(x);} - | ^~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c:1:105: error: unknown type name ‘__vector’ - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector pixel x) {f1(x);} - | ^~~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector __pixel x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector __pixel x) {f1(x);} - | ^~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c:1:105: error: unknown type name ‘__vector’ - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector __pixel x) {f1(x);} - | ^~~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector pixel x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector pixel x) {f1(x);} - | ^~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c:1:105: error: unknown type name ‘vector’ - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector pixel x) {f1(x);} - | ^~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector __pixel x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector __pixel x) {f1(x);} - | ^~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c:1:105: error: unknown type name ‘vector’ - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector __pixel x) {f1(x);} - | ^~~~~~ - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_vector_intrinsics_switch **** -**** BEGIN PROBE set_appropriate_target_platform **** -**** BEGIN PROBE get_macros **** -compiler_prober_t::make_abs_preproc_command - cmd: /usr/bin/cc -std=gnu90 -/usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c -#ifdef __MINGW64__ -__coverity_macro __MINGW64__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __MINGW32__ -__coverity_macro __MINGW32__ -#else -__the_symbol_is_not_defined__ -#endif - -**** END source file *** -pipe_command: /usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c -**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/pp_out -# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" -# 1 "" -# 1 "" -# 1 "/usr/include/stdc-predef.h" 1 3 4 -# 1 "" 2 -# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - -**** END FILE output *** -**** BEGIN FILE error: - -**** END FILE error *** -**** END PROBE get_macros **** -[WARNING] Failed to infer target platform of compiler using macro probes. Falling back on default value. -**** END PROBE set_appropriate_target_platform **** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c -print-sysroot -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c -print-sysroot -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.c -int inline = 0; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.c:1:12: error: expected identifier or ‘(’ before ‘=’ token - 1 | int inline = 0; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/inline_keyword.c -inline void foo() { } - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/inline_keyword.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/inline_keyword.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN PROBE add_appropriate_has_include_switch **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_pos.c -#ifdef __has_include -# if __has_include("whatever") -# endif -#else -#error -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_pos.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_pos.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.c -#ifdef __has_include -#error -#else -#define __has_include int foo(void) -__has_include; -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.c:2:2: error: #error - 2 | #error - | ^~~~~ - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_has_include_switch **** -**** BEGIN PROBE add_appropriate_has_include_next_switch **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_pos.c -#ifdef __has_include_next -# if __has_include_next("whatever") -# endif -#else -#error -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_pos.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_pos.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.c -#ifdef __has_include_next -#error -#else -#define __has_include_next int foo(void) -__has_include_next; -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.c:2:2: error: #error - 2 | #error - | ^~~~~ - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_has_include_next_switch **** -**** BEGIN PROBE add_appropriate_has_cpp_attribute_switch **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_pos.c -#ifdef __has_cpp_attribute -# if __has_cpp_attribute(whatever) -# endif -#else -#error -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_pos.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_pos.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.c -#ifdef __has_cpp_attribute -#error -#else -#define __has_cpp_attribute int foo(void) -__has_cpp_attribute; -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.c:2:2: error: #error - 2 | #error - | ^~~~~ - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_has_cpp_attribute_switch **** -run_comp_tests: no defined custom tests -**** BEGIN PROBE get_standard_includes **** -Dryrun command: /usr/bin/cc -std=gnu90 -xc -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c - -**** END source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c -**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.output -Using built-in specs. -COLLECT_GCC=/usr/bin/cc -OFFLOAD_TARGET_NAMES=nvptx-none:hsa -OFFLOAD_TARGET_DEFAULT=1 -Target: x86_64-linux-gnu -Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu -Thread model: posix -gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) -COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' - /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -E -quiet -v -imultiarch x86_64-linux-gnu /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" -#include "..." search starts here: -#include <...> search starts here: - /usr/lib/gcc/x86_64-linux-gnu/9/include - /usr/local/include - /usr/include/x86_64-linux-gnu - /usr/include -End of search list. -COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ -LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' - -**** END FILE output *** -**** BEGIN FILE error: -Using built-in specs. -COLLECT_GCC=/usr/bin/cc -OFFLOAD_TARGET_NAMES=nvptx-none:hsa -OFFLOAD_TARGET_DEFAULT=1 -Target: x86_64-linux-gnu -Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu -Thread model: posix -gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) -COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' - /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -E -quiet -v -imultiarch x86_64-linux-gnu /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" -#include "..." search starts here: -#include <...> search starts here: - /usr/lib/gcc/x86_64-linux-gnu/9/include - /usr/local/include - /usr/include/x86_64-linux-gnu - /usr/include -End of search list. -COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ -LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' - -**** END FILE error *** -Dryrun gcc found sys include path: /usr/lib/gcc/x86_64-linux-gnu/9/include -Dryrun gcc found sys include path: /usr/local/include -Dryrun gcc found sys include path: /usr/include/x86_64-linux-gnu -Dryrun gcc found sys include path: /usr/include -Dryrun gcc headers found: 4 -**** END PROBE get_standard_includes **** -compiler_prober_t::make_abs_preproc_command - cmd: /usr/bin/cc -std=gnu90 -/usr/bin/cc -std=gnu90 -xc -dM -E /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c - - -**** END source file *** -pipe_command: /usr/bin/cc -std=gnu90 -xc -dM -E /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -xc -dM -E /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c -**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.output -#define __SSP_STRONG__ 3 -#define __DBL_MIN_EXP__ (-1021) -#define __FLT32X_MAX_EXP__ 1024 -#define __UINT_LEAST16_MAX__ 0xffff -#define __ATOMIC_ACQUIRE 2 -#define __FLT128_MAX_10_EXP__ 4932 -#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F -#define __GCC_IEC_559_COMPLEX 2 -#define __UINT_LEAST8_TYPE__ unsigned char -#define __SIZEOF_FLOAT80__ 16 -#define __INTMAX_C(c) c ## L -#define __CHAR_BIT__ 8 -#define __UINT8_MAX__ 0xff -#define __WINT_MAX__ 0xffffffffU -#define __FLT32_MIN_EXP__ (-125) -#define __ORDER_LITTLE_ENDIAN__ 1234 -#define __SIZE_MAX__ 0xffffffffffffffffUL -#define __WCHAR_MAX__ 0x7fffffff -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 -#define __DBL_DENORM_MIN__ ((double)4.94065645841246544176568792868221372e-324L) -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 -#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 -#define __GCC_IEC_559 2 -#define __FLT32X_DECIMAL_DIG__ 17 -#define __FLT_EVAL_METHOD__ 0 -#define __unix__ 1 -#define __FLT64_DECIMAL_DIG__ 17 -#define __CET__ 3 -#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 -#define __x86_64 1 -#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL -#define __SIG_ATOMIC_TYPE__ int -#define __DBL_MIN_10_EXP__ (-307) -#define __FINITE_MATH_ONLY__ 0 -#define __GNUC_PATCHLEVEL__ 0 -#define __FLT32_HAS_DENORM__ 1 -#define __UINT_FAST8_MAX__ 0xff -#define __has_include(STR) __has_include__(STR) -#define __DEC64_MAX_EXP__ 385 -#define __INT8_C(c) c -#define __INT_LEAST8_WIDTH__ 8 -#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL -#define __SHRT_MAX__ 0x7fff -#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L -#define __FLT64X_MAX_10_EXP__ 4932 -#define __UINT_LEAST8_MAX__ 0xff -#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 -#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128 -#define __UINTMAX_TYPE__ long unsigned int -#define __linux 1 -#define __DEC32_EPSILON__ 1E-6DF -#define __FLT_EVAL_METHOD_TS_18661_3__ 0 -#define __unix 1 -#define __UINT32_MAX__ 0xffffffffU -#define __LDBL_MAX_EXP__ 16384 -#define __FLT128_MIN_EXP__ (-16381) -#define __WINT_MIN__ 0U -#define __linux__ 1 -#define __FLT128_MIN_10_EXP__ (-4931) -#define __INT_LEAST16_WIDTH__ 16 -#define __SCHAR_MAX__ 0x7f -#define __FLT128_MANT_DIG__ 113 -#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) -#define __INT64_C(c) c ## L -#define __DBL_DIG__ 15 -#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 -#define __FLT64X_MANT_DIG__ 64 -#define __SIZEOF_INT__ 4 -#define __SIZEOF_POINTER__ 8 -#define __USER_LABEL_PREFIX__ -#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x -#define __STDC_HOSTED__ 1 -#define __LDBL_HAS_INFINITY__ 1 -#define __FLT32_DIG__ 6 -#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F -#define __SHRT_WIDTH__ 16 -#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L -#define __DEC32_MAX__ 9.999999E96DF -#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x -#define __FLT32X_HAS_INFINITY__ 1 -#define __INT32_MAX__ 0x7fffffff -#define __INT_WIDTH__ 32 -#define __SIZEOF_LONG__ 8 -#define __STDC_IEC_559__ 1 -#define __STDC_ISO_10646__ 201706L -#define __UINT16_C(c) c -#define __PTRDIFF_WIDTH__ 64 -#define __DECIMAL_DIG__ 21 -#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64 -#define __gnu_linux__ 1 -#define __INTMAX_WIDTH__ 64 -#define __has_include_next(STR) __has_include_next__(STR) -#define __FLT64X_MIN_10_EXP__ (-4931) -#define __LDBL_HAS_QUIET_NAN__ 1 -#define __FLT64_MANT_DIG__ 53 -#define __GNUC__ 9 -#define __pie__ 2 -#define __MMX__ 1 -#define __FLT_HAS_DENORM__ 1 -#define __SIZEOF_LONG_DOUBLE__ 16 -#define __BIGGEST_ALIGNMENT__ 16 -#define __FLT64_MAX_10_EXP__ 308 -#define __DBL_MAX__ ((double)1.79769313486231570814527423731704357e+308L) -#define __INT_FAST32_MAX__ 0x7fffffffffffffffL -#define __DBL_HAS_INFINITY__ 1 -#define __HAVE_SPECULATION_SAFE_VALUE 1 -#define __DEC32_MIN_EXP__ (-94) -#define __INTPTR_WIDTH__ 64 -#define __FLT32X_HAS_DENORM__ 1 -#define __INT_FAST16_TYPE__ long int -#define __LDBL_HAS_DENORM__ 1 -#define __FLT128_HAS_INFINITY__ 1 -#define __DEC128_MAX__ 9.99999999999999999999999999 - - - - 1 -#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x -#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) -#define __code_model_small__ 1 -#define __k8__ 1 -#define __INTPTR_TYPE__ long int -#define __UINT16_TYPE__ short unsigned int -#define __WCHAR_TYPE__ int -#define __SIZEOF_FLOAT__ 4 -#define __pic__ 2 -#define __UINTPTR_MAX__ 0xffffffffffffffffUL -#define __INT_FAST64_WIDTH__ 64 -#define __DEC64_MIN_EXP__ (-382) -#define __FLT32_DECIMAL_DIG__ 9 -#define __INT_FAST64_MAX__ 0x7fffffffffffffffL -#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 -#define __FLT_DIG__ 6 -#define __FLT32_HAS_INFINITY__ 1 -#define __FLT64X_MAX_EXP__ 16384 -#define __UINT_FAST64_TYPE__ long unsigned int -#define __INT_MAX__ 0x7fffffff -#define __amd64__ 1 -#define __INT64_TYPE__ long int -#define __FLT_MAX_EXP__ 128 -#define __ORDER_BIG_ENDIAN__ 4321 -#define __DBL_MANT_DIG__ 53 -#define __SIZEOF_FLOAT128__ 16 -#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL -#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 -#define __DEC64_MIN__ 1E-383DD -#define __WINT_TYPE__ unsigned int -#define __UINT_LEAST32_TYPE__ unsigned int -#define __SIZEOF_SHORT__ 2 -#define __SSE__ 1 -#define __LDBL_MIN_EXP__ (-16381) -#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64 -#define __WINT_WIDTH__ 32 -#define __INT_LEAST8_MAX__ 0x7f -#define __FLT32X_MAX_10_EXP__ 308 -#define __SIZEOF_INT128__ 16 -#define __LDBL_MAX_10_EXP__ 4932 -#define __ATOMIC_RELAXED 0 -#define __DBL_EPSILON__ ((double)2.22044604925031308084726333618164062e-16L) -#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128 -#define _LP64 1 -#define __UINT8_C(c) c -#define __FLT64_MAX_EXP__ 1024 -#define __INT_LEAST32_TYPE__ int -#define __SIZEOF_WCHAR_T__ 4 -#define __UINT64_TYPE__ long unsigned int -#define __FLT128_HAS_QUIET_NAN__ 1 -#define __INT_FAST8_TYPE__ signed char -#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x -#define __FLT64_HAS_DENORM__ 1 -#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32 -#define __DBL_DECIMAL_DIG__ 17 -#define __INT_FAST8_WIDTH__ 8 -#define __FXSR__ 1 -#define __DEC_EVAL_METHOD__ 2 -#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x -#define __UINT32_C(c) c ## U -#define __INTMAX_MAX__ 0x7fffffffffffffffL -#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ -#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F -#define __INT8_MAX__ 0x7f -#define __LONG_WIDTH__ 64 -#define __PIC__ 2 -#define __UINT_FAST32_TYPE__ long unsigned int -#define __CHAR32_TYPE__ unsigned int -#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F -#define __INT32_TYPE__ int -#define __SIZEOF_DOUBLE__ 8 -#define __FLT_MIN_10_EXP__ (-37) -#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64 -#define __INT_LEAST32_WIDTH__ 32 -#define __INTMAX_TYPE__ long int -#define __DEC128_MAX_EXP__ 6145 -#define __FLT32X_HAS_QUIET_NAN__ 1 -#define __ATOMIC_CONSUME 1 -#define __GNUC_MINOR__ 4 -#define __INT_FAST16_WIDTH__ 64 -#define __UINTMAX_MAX__ 0xffffffffffffffffUL -#define __DEC32_MANT_DIG__ 7 -#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x -#define __DBL_MAX_10_EXP__ 308 -#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L -#define __INT16_C(c) c -#define __STDC__ 1 -#define __PTRDIFF_TYPE__ long int -#define __ATOMIC_SEQ_CST 5 -#define __UINT32_TYPE__ unsigned int -#define __FLT32X_MIN_10_EXP__ (-307) -#define __UINTPTR_TYPE__ long unsigned int -#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD -#define __DEC128_MANT_DIG__ 34 -#define __LDBL_MIN_10_EXP__ (-4931) -#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128 -#define __SIZEOF_LONG_LONG__ 8 -#define __FLT128_DECIMAL_DIG__ 36 -#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 -#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x -#define __LDBL_DIG__ 18 -#define __FLT_DECIMAL_DIG__ 9 -#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL -#define __GNUC_GNU_INLINE__ 1 -#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 -#define __INT_LEAST64_WIDTH__ 64 -#define __UINT_FAST8_TYPE__ unsigned char -#define __ATOMIC_ACQ_REL 4 -#define __ATOMIC_RELEASE 3 - -**** END FILE output *** -**** BEGIN FILE error: - -**** END FILE error *** -Skipping looking for macros in standard headers. The header scan probe has been disabled by the no header scan option. -**** BEGIN PROBE get_macros **** -[STATUS] g++cc-config-0: Retrieving values for macros -compiler_prober_t::make_abs_preproc_command - cmd: /usr/bin/cc -std=gnu90 -/usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c -#ifdef _REENTRANT -__coverity_macro _REENTRANT -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __CET__ -__coverity_macro __CET__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __CHAR_UNSIGNED__ -__coverity_macro __CHAR_UNSIGNED__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __DEPRECATED -__coverity_macro __DEPRECATED -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __EXCEPTIONS -__coverity_macro __EXCEPTIONS -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FAST_MATH__ -__coverity_macro __FAST_MATH__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FINITE_MATH_ONLY__ -__coverity_macro __FINITE_MATH_ONLY__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMA -__coverity_macro __FP_FAST_FMA -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF -__coverity_macro __FP_FAST_FMAF -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF128 -__coverity_macro __FP_FAST_FMAF128 -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF128X -__coverity_macro __FP_FAST_FMAF128X -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF16 -__coverity_macro __FP_FAST_FMAF16 -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF32 -__coverity_macro __FP_FAST_FMAF32 -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF32X -__coverity_macro __FP_FAST_FMAF32X -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF64 -__coverity_macro __FP_FAST_FMAF64 -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF64X -__coverity_macro __FP_FAST_FMAF64X -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAL -__coverity_macro __FP_FAST_FMAL -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __GCC_HAVE_DWARF2_CFI_ASM -__coverity_macro __GCC_HAVE_DWARF2_CFI_ASM -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 -__coverity_macro __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __GCC_IEC_559_COMPLEX -__coverity_macro __GCC_IEC_559_COMPLEX -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __GNUG__ -__coverity_macro __GNUG__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __GXX_RTTI -__coverity_macro __GXX_RTTI -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __GXX_WEAK__ -__coverity_macro __GXX_WEAK__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __INCLUDE_LEVEL__ -__coverity_macro __INCLUDE_LEVEL__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __NO_MATH_ERRNO__ -__coverity_macro __NO_MATH_ERRNO__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __PIC__ -__coverity_macro __PIC__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __PIE__ -__coverity_macro __PIE__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __PTRDIFF_TYPE__ -__coverity_macro __PTRDIFF_TYPE__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __REGISTER_PREFIX__ -__coverity_macro __REGISTER_PREFIX__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __SANITIZE_ADDRESS__ -__coverity_macro __SANITIZE_ADDRESS__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __SANITIZE_THREAD__ -__coverity_macro __SANITIZE_THREAD__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __SIZE_TYPE__ -__coverity_macro __SIZE_TYPE__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __SSP_ALL__ -__coverity_macro __SSP_ALL__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __SSP_EXPLICIT__ -__coverity_macro __SSP_EXPLICIT__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __SSP_STRONG__ -__coverity_macro __SSP_STRONG__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __SSP__ -__coverity_macro __SSP__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __STDCPP_DEFAULT_NEW_ALIGNMENT__ -__coverity_macro __STDCPP_DEFAULT_NEW_ALIGNMENT__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __STDC_IEC_559_COMPLEX__ -__coverity_macro __STDC_IEC_559_COMPLEX__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __STDC_IEC_559__ -__coverity_macro __STDC_IEC_559__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __STDC_VERSION__ -__coverity_macro __STDC_VERSION__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __STDC__ -__coverity_macro __STDC__ -#else -__the_symbol_is_not_define - - - -ariables -__coverity_macro __cpp_inline_variables -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_lambdas -__coverity_macro __cpp_lambdas -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_modules -__coverity_macro __cpp_modules -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_namespace_attributes -__coverity_macro __cpp_namespace_attributes -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_nested_namespace_definitions -__coverity_macro __cpp_nested_namespace_definitions -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_noexcept_function_type -__coverity_macro __cpp_noexcept_function_type -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_nontype_template_args -__coverity_macro __cpp_nontype_template_args -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_nontype_template_parameter_auto -__coverity_macro __cpp_nontype_template_parameter_auto -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_nontype_template_parameter_class -__coverity_macro __cpp_nontype_template_parameter_class -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_nsdmi -__coverity_macro __cpp_nsdmi -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_range_based_for -__coverity_macro __cpp_range_based_for -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_raw_strings -__coverity_macro __cpp_raw_strings -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_ref_qualifiers -__coverity_macro __cpp_ref_qualifiers -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_return_type_deduction -__coverity_macro __cpp_return_type_deduction -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_rtti -__coverity_macro __cpp_rtti -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_runtime_arrays -__coverity_macro __cpp_runtime_arrays -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_rvalue_reference -__coverity_macro __cpp_rvalue_reference -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_rvalue_references -__coverity_macro __cpp_rvalue_references -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_size_t_suffix -__coverity_macro __cpp_size_t_suffix -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_sized_deallocation -__coverity_macro __cpp_sized_deallocation -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_static_assert -__coverity_macro __cpp_static_assert -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_structured_bindings -__coverity_macro __cpp_structured_bindings -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_template_template_args -__coverity_macro __cpp_template_template_args -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_threadsafe_static_init -__coverity_macro __cpp_threadsafe_static_init -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_transactional_memory -__coverity_macro __cpp_transactional_memory -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_unicode_characters -__coverity_macro __cpp_unicode_characters -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_unicode_literals -__coverity_macro __cpp_unicode_literals -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_user_defined_literals -__coverity_macro __cpp_user_defined_literals -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_using_enum -__coverity_macro __cpp_using_enum -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_variable_templates -__coverity_macro __cpp_variable_templates -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_variadic_templates -__coverity_macro __cpp_variadic_templates -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_variadic_using -__coverity_macro __cpp_variadic_using -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __pic__ -__coverity_macro __pic__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __pie__ -__coverity_macro __pie__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __private_extern__ -__coverity_macro __private_extern__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __unix__ -__coverity_macro __unix__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __vax__ -__coverity_macro __vax__ -#else -__the_symbol_is_not_defined__ -#endif - -**** END source file *** -pipe_command: /usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c -**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/pp_out -# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" -# 1 "" -# 1 "" -# 1 "/usr/include/stdc-predef.h" 1 3 4 -# 1 "" 2 -# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 3 - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 0 - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 1 - - - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 2 - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 0 - - - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 2 - - - - -__coverity_macro 2 - - - - -__coverity_macro long int - - - - -__coverity_macro - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro long unsigned int - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 3 - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro -# 187 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" 3 4 - 1 - - - - - -# 192 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" -__coverity_macro -# 192 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" 3 4 - 1 - - - - - - - -# 199 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" -__the_symbol_is_not_defined__ - - -__coverity_macro 1 - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro - - - - -__coverity_macro "9.4.0" - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 2 - - - - -__coverity_macro 2 - - - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 1 - - - - - - -__the_symbol_is_not_defined__ - -**** END FILE output *** -**** BEGIN FILE error: - -**** END FILE error *** -**** END PROBE get_macros **** -Failed to find header /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/templates/gnu/cc.h -[STATUS] g++cc-config-0: Running config probes -**** BEGIN PROBE run_linker_config_probe **** -Running command "/usr/bin/cc -std=gnu90 -print-search-dirs". -pipe_command: /usr/bin/cc -std=gnu90 -print-search-dirs -pipe_commands starting: /usr/bin/cc -std=gnu90 -print-search-dirs -**** BEGIN OUTPUT run_linker_config_probe **** -install: /usr/lib/gcc/x86_64-linux-gnu/9/ -programs: =/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/ -libraries: =/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/9/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/9/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ -**** END OUTPUT run_linker_config_probe **** -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/'. -**** Found library search path '/lib/x86_64-linux-gnu/9/'. -**** Found library search path '/lib/x86_64-linux-gnu/'. -**** Found library search path '/lib/../lib/'. -**** Found library search path '/usr/lib/x86_64-linux-gnu/9/'. -**** Found library search path '/usr/lib/x86_64-linux-gnu/'. -**** Found library search path '/usr/lib/../lib/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../'. -**** Found library search path '/lib/'. -**** Found library search path '/usr/lib/'. -**** END PROBE run_linker_config_probe **** -**** BEGIN PROBE run_linker_config_probe **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -int main() {} -**** END FILE source file *** -Running command "/usr/bin/cc -std=gnu90 -Wl,--trace test.c". -pipe_command: /usr/bin/cc -std=gnu90 -Wl,--trace test.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -Wl,--trace test.c -**** BEGIN OUTPUT run_linker_config_probe **** -/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o -/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o -/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -/tmp/ccdvAW1g.o -/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -/usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so -/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 -/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so -/lib/x86_64-linux-gnu/libc.so.6 -/usr/lib/x86_64-linux-gnu/libc_nonshared.a -/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 -/usr/lib/x86_64-linux-gnu/libc_nonshared.a -/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 -/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -/usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so -/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 -/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o -/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o -**** END OUTPUT run_linker_config_probe **** -[WARNING]: expecting first line to be a mode line but got: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o -[WARNING]: /tmp/ccdvAW1g.o eliminated because it does not exist in the file system. -**** END PROBE run_linker_config_probe **** diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity-compiler-compat.h b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity-compiler-compat.h deleted file mode 100644 index 02b721e89..000000000 --- a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity-compiler-compat.h +++ /dev/null @@ -1,8645 +0,0 @@ - -#if __COVERITY__ -#if !defined(COVERITY_COMPAT_78500a2f2d31ccbe7af41d295f2190b8) -#define COVERITY_COMPAT_78500a2f2d31ccbe7af41d295f2190b8 -#pragma builtin begin - -/* - Copyright (c) 2020 Synopsys, Inc. All rights reserved worldwide. - The information contained in this file is the proprietary and confidential - information of Synopsys, Inc. and its licensors, and is supplied subject to, - and may be used only by Synopsys customers in accordance with the terms and - conditions of a previously executed license agreement between Synopsys and - that customer. -*/ - - -/* DO NOT MODIFY THE CONTENTS OF THIS FILE */ -/* Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. */ -#ifdef __coverity_cplusplus -extern "C" { -#endif - -#if defined(__arm__) || defined(__ARM_NEON__) || defined(__aarch64__) - -// Type aliases common to several targets - -typedef char __simd128_int8_t __attribute__((__vector_size__(16))); -typedef short __simd128_int16_t __attribute__((__vector_size__(16))); -typedef int __simd128_int32_t __attribute__((__vector_size__(16))); -typedef long long __simd128_int64_t __attribute__((__vector_size__(16))); -typedef unsigned char __simd128_uint8_t __attribute__((__vector_size__(16))); -typedef unsigned short __simd128_uint16_t __attribute__((__vector_size__(16))); -typedef unsigned int __simd128_uint32_t __attribute__((__vector_size__(16))); -typedef unsigned long long __simd128_uint64_t __attribute__((__vector_size__(16))); -typedef float cov_fp16_t __attribute__((mode(HF))); -typedef float __simd128_float32_t __attribute__((__vector_size__(16))); -typedef cov_fp16_t __simd128_float16_t __attribute__((__vector_size__(16))); -typedef int __builtin_neon_oi __attribute__ ((__vector_size__(32))); -typedef int __builtin_neon_xi __attribute__ ((__vector_size__(64))); -typedef cov_fp16_t __bf16; - -#endif // defined(__arm__) || defined(__ARM_NEON__) || defined(__aarch64__) - - -#ifdef __arm__ - -void __builtin_cxa_end_cleanup(); -void __builtin_arm_cdp(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); -void __builtin_arm_cdp2(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); -unsigned int __builtin_arm_crc32b(unsigned int, unsigned char); -unsigned int __builtin_arm_crc32cb(unsigned int, unsigned char); -unsigned int __builtin_arm_crc32ch(unsigned int, short unsigned int); -unsigned int __builtin_arm_crc32cw(unsigned int, unsigned int); -unsigned int __builtin_arm_crc32h(unsigned int, short unsigned int); -unsigned int __builtin_arm_crc32w(unsigned int, unsigned int); -void __builtin_arm_ldc(unsigned int, unsigned int, const void*); -void __builtin_arm_ldc2(unsigned int, unsigned int, const void*); -void __builtin_arm_ldc2l(unsigned int, unsigned int, const void*); -void __builtin_arm_ldcl(unsigned int, unsigned int, const void*); -void __builtin_arm_mcr(unsigned int, unsigned int, int, unsigned int, unsigned int, unsigned int); -void __builtin_arm_mcr2(unsigned int, unsigned int, int, unsigned int, unsigned int, unsigned int); -void __builtin_arm_mcrr(unsigned int, unsigned int, long long int, unsigned int); -void __builtin_arm_mcrr2(unsigned int, unsigned int, long long int, unsigned int); -int __builtin_arm_mrc(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); -int __builtin_arm_mrc2(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); -long long int __builtin_arm_mrrc(unsigned int, unsigned int, unsigned int); -long long int __builtin_arm_mrrc2(unsigned int, unsigned int, unsigned int); -void __builtin_arm_stc(unsigned int, unsigned int, void*); -void __builtin_arm_stc2(unsigned int, unsigned int, void*); -void __builtin_arm_stc2l(unsigned int, unsigned int, void*); -void __builtin_arm_stcl(unsigned int, unsigned int, void*); -void* __builtin___emutls_get_address(void*); -void __builtin___emutls_register_common(void*, unsigned int, unsigned int, void*); -unsigned int __builtin_arm_get_fpscr (); -void __builtin_arm_set_fpscr (unsigned int); - -int __builtin_arm_saturation_occurred(void); -int __builtin_arm_qadd(int, int); -int __builtin_arm_qadd16(int, int); -int __builtin_arm_qadd8(int, int); -int __builtin_arm_qasx(int, int); -int __builtin_arm_qsax(int, int); -int __builtin_arm_qsub(int, int); -int __builtin_arm_qsub16(int, int); -int __builtin_arm_qsub8(int, int); -int __builtin_arm_sadd16(int, int); -int __builtin_arm_sadd8(int, int); -int __builtin_arm_sasx(int, int); -unsigned int __builtin_arm_sel(unsigned int, unsigned int); -void __builtin_arm_set_saturation(int); -int __builtin_arm_shadd16(int, int); -int __builtin_arm_shadd8(int, int); -int __builtin_arm_shasx(int, int); -int __builtin_arm_shsax(int, int); -int __builtin_arm_shsub16(int, int); -int __builtin_arm_shsub8(int, int); -int __builtin_arm_smlabb(int, int, int); -int __builtin_arm_smlad(int, int, int); -int __builtin_arm_smladx(int, int, int); -long long int __builtin_arm_smlald(int, int, long long int); -long long int __builtin_arm_smlaldx(int, int, long long int); -int __builtin_arm_smlatb(int, int, int); -int __builtin_arm_smlatt(int, int, int); -int __builtin_arm_smlawb(int, int, int); -int __builtin_arm_smlawt(int, int, int); -int __builtin_arm_smlsd(int, int, int); -int __builtin_arm_smlsdx(int, int, int); -long long int __builtin_arm_smlsld(int, int, long long int); -long long int __builtin_arm_smlsldx(int, int, long long int); -int __builtin_arm_smuad(int, int); -int __builtin_arm_smuadx(int, int); -int __builtin_arm_smusd(int, int); -int __builtin_arm_smusdx(int, int); -unsigned int __builtin_arm_ssat(int, unsigned int); -unsigned int __builtin_arm_ssat16(int, unsigned int); -int __builtin_arm_ssax(int, int); -int __builtin_arm_ssub16(int, int); -int __builtin_arm_ssub8(int, int); -int __builtin_arm_sxtab16(int, int); -int __builtin_arm_sxtb16(int); -unsigned int __builtin_arm_uadd16(unsigned int, unsigned int); -unsigned int __builtin_arm_uadd8(unsigned int, unsigned int); -unsigned int __builtin_arm_uasx(unsigned int, unsigned int); -unsigned int __builtin_arm_uhadd16(unsigned int, unsigned int); -unsigned int __builtin_arm_uhadd8(unsigned int, unsigned int); -unsigned int __builtin_arm_uhasx(unsigned int, unsigned int); -unsigned int __builtin_arm_uhsax(unsigned int, unsigned int); -unsigned int __builtin_arm_uhsub16(unsigned int, unsigned int); -unsigned int __builtin_arm_uhsub8(unsigned int, unsigned int); -unsigned int __builtin_arm_uqadd16(unsigned int, unsigned int); -unsigned int __builtin_arm_uqadd8(unsigned int, unsigned int); -unsigned int __builtin_arm_uqasx(unsigned int, unsigned int); -unsigned int __builtin_arm_uqsax(unsigned int, unsigned int); -unsigned int __builtin_arm_uqsub16(unsigned int, unsigned int); -unsigned int __builtin_arm_uqsub8(unsigned int, unsigned int); -unsigned int __builtin_arm_usad8(unsigned int, unsigned int); -unsigned int __builtin_arm_usada8(unsigned int, unsigned int, unsigned int); -unsigned int __builtin_arm_usat(int, unsigned int); -unsigned int __builtin_arm_usat16(int, unsigned int); -unsigned int __builtin_arm_usax(unsigned int, unsigned int); -unsigned int __builtin_arm_usub16(unsigned int, unsigned int); -unsigned int __builtin_arm_usub8(unsigned int, unsigned int); -unsigned int __builtin_arm_uxtab16(unsigned int, unsigned int); -unsigned int __builtin_arm_uxtb16(unsigned int); -void __builtin_sat_imm_check(int, int, int); -void* __emutls_get_address(void*); -void __emutls_register_common(void*, unsigned int, unsigned int, void*); -__bf16 __divbc3(__bf16, __bf16, __bf16, __bf16); -__bf16 __mulbc3(__bf16, __bf16, __bf16, __bf16); - -// -mfp16-format=ieee -__bf16 __divhc3(__bf16, __bf16, __bf16, __bf16); -__bf16 __mulhc3(__bf16, __bf16, __bf16, __bf16); - -// -march=armv8-m.main+cdecp0 -long long int __builtin_arm_cx1adi(int, long long int, unsigned int); -int __builtin_arm_cx1asi(int, int, unsigned int); -long long int __builtin_arm_cx1di(int, unsigned int); -int __builtin_arm_cx1si(int, unsigned int); -long long int __builtin_arm_cx2adi(int, long long int, int, unsigned int); -int __builtin_arm_cx2asi(int, int, int, unsigned int); -long long int __builtin_arm_cx2di(int, int, unsigned int); -int __builtin_arm_cx2si(int, int, unsigned int); -long long int __builtin_arm_cx3adi(int, long long int, int, int, unsigned int); -int __builtin_arm_cx3asi(int, int, int, int, unsigned int); -long long int __builtin_arm_cx3di(int, int, int, unsigned int); -int __builtin_arm_cx3si(int, int, int, unsigned int); - -// -mfloat-abi=hard -march=armv8.1-m.main+mve+cdecp0 -long long int __builtin_arm_vcx1adi(int, long long int, unsigned int); -int __builtin_arm_vcx1asi(int, int, unsigned int); -long long int __builtin_arm_vcx1di(int, unsigned int); -__simd128_int8_t __builtin_arm_vcx1qa_p_v16qi(int, __simd128_int8_t, unsigned int, short unsigned int); -__simd128_int8_t __builtin_arm_vcx1qav16qi(int, __simd128_int8_t, unsigned int); -__simd128_int8_t __builtin_arm_vcx1q_p_v16qi(int, __simd128_int8_t, unsigned int, short unsigned int); -__simd128_int8_t __builtin_arm_vcx1qv16qi(int, unsigned int); -int __builtin_arm_vcx1si(int, unsigned int); -long long int __builtin_arm_vcx2adi(int, long long int, long long int, unsigned int); -int __builtin_arm_vcx2asi(int, int, int, unsigned int); -long long int __builtin_arm_vcx2di(int, long long int, unsigned int); -__simd128_int8_t __builtin_arm_vcx2qa_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); -__simd128_int8_t __builtin_arm_vcx2qav16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int); -__simd128_int8_t __builtin_arm_vcx2q_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); -__simd128_int8_t __builtin_arm_vcx2qv16qi(int, __simd128_int8_t, unsigned int); -int __builtin_arm_vcx2si(int, int, unsigned int); -long long int __builtin_arm_vcx3adi(int, long long int, long long int, long long int, unsigned int); -int __builtin_arm_vcx3asi(int, int, int, int, unsigned int); -long long int __builtin_arm_vcx3di(int, long long int, long long int, unsigned int); -__simd128_int8_t __builtin_arm_vcx3qa_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); -__simd128_int8_t __builtin_arm_vcx3qav16qi(int, __simd128_int8_t, __simd128_int8_t, __simd128_int8_t, unsigned int); -__simd128_int8_t __builtin_arm_vcx3q_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); -__simd128_int8_t __builtin_arm_vcx3qv16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int); -int __builtin_arm_vcx3si(int, int, int, unsigned int); - -// -march=armv8.1-m.main+mve -mfloat-abi=hard -int __builtin_arm_get_fpscr_nzcvqc(void); -void __builtin_arm_set_fpscr_nzcvqc(int); -long long int __builtin_mve_sqrshrl_sat48_di(long long int, int); -long long int __builtin_mve_sqrshrl_sat64_di(long long int, int); -int __builtin_mve_sqrshr_si(int, int); -long long unsigned int __builtin_mve_sqshll_di(long long unsigned int, const int); -unsigned int __builtin_mve_sqshl_si(long long unsigned int, const int); -long long unsigned int __builtin_mve_srshrl_di(long long unsigned int, const int); -unsigned int __builtin_mve_srshr_si(long long unsigned int, const int); -long long unsigned int __builtin_mve_uqrshll_sat48_di(long long unsigned int, int); -long long unsigned int __builtin_mve_uqrshll_sat64_di(long long unsigned int, int); -unsigned int __builtin_mve_uqrshl_si(unsigned int, int); -long long unsigned int __builtin_mve_uqshll_di(long long unsigned int, const int); -unsigned int __builtin_mve_uqshl_si(unsigned int, const int); -long long unsigned int __builtin_mve_urshrl_di(long long unsigned int, const int); -unsigned int __builtin_mve_urshr_si(unsigned int, const int); -unsigned int __builtin_mve_vabavq_p_sv16qi(unsigned int, __simd128_int8_t, __simd128_int8_t, short unsigned int); -unsigned int __builtin_mve_vabavq_p_sv4si(unsigned int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -unsigned int __builtin_mve_vabavq_p_sv8hi(unsigned int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -unsigned int __builtin_mve_vabavq_p_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -unsigned int __builtin_mve_vabavq_p_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -unsigned int __builtin_mve_vabavq_p_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -unsigned int __builtin_mve_vabavq_sv16qi(unsigned int, __simd128_int8_t, __simd128_int8_t); -unsigned int __builtin_mve_vabavq_sv4si(unsigned int, __simd128_int32_t, __simd128_int32_t); -unsigned int __builtin_mve_vabavq_sv8hi(unsigned int, __simd128_int16_t, __simd128_int16_t); -unsigned int __builtin_mve_vabavq_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t); -unsigned int __builtin_mve_vabavq_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t); -unsigned int __builtin_mve_vabavq_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vabdq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vabdq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vabdq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vabdq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vabdq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vabdq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vabdq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vabdq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vabdq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vabdq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vabdq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vabdq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vabdq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vabdq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vabdq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vabdq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vabsq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vabsq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vabsq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vabsq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vabsq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vabsq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vabsq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vabsq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vabsq_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vabsq_sv8hi(__simd128_int16_t); -__simd128_int32_t __builtin_mve_vadciq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vadciq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vadciq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_uint32_t __builtin_mve_vadciq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_int32_t __builtin_mve_vadcq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vadcq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vadcq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_uint32_t __builtin_mve_vadcq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -long long int __builtin_mve_vaddlvaq_p_sv4si(long long int, __simd128_int32_t, short unsigned int); -long long unsigned int __builtin_mve_vaddlvaq_p_uv4si(long long unsigned int, __simd128_uint32_t, short unsigned int); -long long int __builtin_mve_vaddlvaq_sv4si(long long int, __simd128_int32_t); -long long unsigned int __builtin_mve_vaddlvaq_uv4si(long long unsigned int, __simd128_uint32_t); -long long int __builtin_mve_vaddlvq_p_sv4si(__simd128_int32_t, short unsigned int); -long long unsigned int __builtin_mve_vaddlvq_p_uv4si(__simd128_uint32_t, short unsigned int); -long long int __builtin_mve_vaddlvq_sv4si(__simd128_int32_t); -long long unsigned int __builtin_mve_vaddlvq_uv4si(__simd128_uint32_t); -__simd128_float32_t __builtin_mve_vaddq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vaddq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vaddq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); -__simd128_float16_t __builtin_mve_vaddq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); -__simd128_int8_t __builtin_mve_vaddq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vaddq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vaddq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vaddq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vaddq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vaddq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vaddq_n_fv4sf(__simd128_float32_t, float); -__simd128_float16_t __builtin_mve_vaddq_n_fv8hf(__simd128_float16_t, __bf16); -__simd128_int8_t __builtin_mve_vaddq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vaddq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vaddq_n_sv8hi(__simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vaddq_n_uv16qi(__simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vaddq_n_uv4si(__simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vaddq_n_uv8hi(__simd128_uint16_t, short unsigned int); -int __builtin_mve_vaddvaq_p_sv16qi(int, __simd128_int8_t, short unsigned int); -int __builtin_mve_vaddvaq_p_sv4si(int, __simd128_int32_t, short unsigned int); -int __builtin_mve_vaddvaq_p_sv8hi(int, __simd128_int16_t, short unsigned int); -unsigned int __builtin_mve_vaddvaq_p_uv16qi(unsigned int, __simd128_uint8_t, short unsigned int); -unsigned int __builtin_mve_vaddvaq_p_uv4si(unsigned int, __simd128_uint32_t, short unsigned int); -unsigned int __builtin_mve_vaddvaq_p_uv8hi(unsigned int, __simd128_uint16_t, short unsigned int); -int __builtin_mve_vaddvaq_sv16qi(int, __simd128_int8_t); -int __builtin_mve_vaddvaq_sv4si(int, __simd128_int32_t); -int __builtin_mve_vaddvaq_sv8hi(int, __simd128_int16_t); -unsigned int __builtin_mve_vaddvaq_uv16qi(unsigned int, __simd128_uint8_t); -unsigned int __builtin_mve_vaddvaq_uv4si(unsigned int, __simd128_uint32_t); -unsigned int __builtin_mve_vaddvaq_uv8hi(unsigned int, __simd128_uint16_t); -int __builtin_mve_vaddvq_p_sv16qi(__simd128_int8_t, short unsigned int); -int __builtin_mve_vaddvq_p_sv4si(__simd128_int32_t, short unsigned int); -int __builtin_mve_vaddvq_p_sv8hi(__simd128_int16_t, short unsigned int); -unsigned int __builtin_mve_vaddvq_p_uv16qi(__simd128_uint8_t, short unsigned int); -unsigned int __builtin_mve_vaddvq_p_uv4si(__simd128_uint32_t, short unsigned int); -unsigned int __builtin_mve_vaddvq_p_uv8hi(__simd128_uint16_t, short unsigned int); -int __builtin_mve_vaddvq_sv16qi(__simd128_int8_t); -int __builtin_mve_vaddvq_sv4si(__simd128_int32_t); -int __builtin_mve_vaddvq_sv8hi(__simd128_int16_t); -unsigned int __builtin_mve_vaddvq_uv16qi(__simd128_uint8_t); -unsigned int __builtin_mve_vaddvq_uv4si(__simd128_uint32_t); -unsigned int __builtin_mve_vaddvq_uv8hi(__simd128_uint16_t); -__simd128_float32_t __builtin_mve_vandq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vandq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vandq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vandq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vandq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vandq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vandq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vandq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vandq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vandq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vandq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vandq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vandq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vandq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vandq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vandq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vbicq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vbicq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vbicq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vbicq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vbicq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vbicq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vbicq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vbicq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vbicq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vbicq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vbicq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vbicq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vbicq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vbicq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vbicq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vbicq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint32_t __builtin_mve_vbicq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vbicq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vbicq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vbicq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vbicq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vbicq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vbicq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vbicq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vbrsrq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, int, short unsigned int); -__simd128_float16_t __builtin_mve_vbrsrq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vbrsrq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vbrsrq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vbrsrq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vbrsrq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vbrsrq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vbrsrq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_float32_t __builtin_mve_vbrsrq_n_fv4sf(__simd128_float32_t, int); -__simd128_float16_t __builtin_mve_vbrsrq_n_fv8hf(__simd128_float16_t, int); -__simd128_int8_t __builtin_mve_vbrsrq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vbrsrq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vbrsrq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vbrsrq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vbrsrq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vbrsrq_n_uv8hi(__simd128_uint16_t, int); -__simd128_float32_t __builtin_mve_vcaddq_rot270_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcaddq_rot270_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcaddq_rot270_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcaddq_rot270_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vcaddq_rot270_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcaddq_rot270_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vcaddq_rot270_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vcaddq_rot270_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vcaddq_rot270_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vcaddq_rot270_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vcaddq_rot270_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vcaddq_rot270_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vcaddq_rot270_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vcaddq_rot270_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vcaddq_rot270_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vcaddq_rot270_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vcaddq_rot90_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcaddq_rot90_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcaddq_rot90_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcaddq_rot90_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vcaddq_rot90_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcaddq_rot90_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vcaddq_rot90_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vcaddq_rot90_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vcaddq_rot90_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vcaddq_rot90_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vcaddq_rot90_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vcaddq_rot90_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vcaddq_rot90_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vcaddq_rot90_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vcaddq_rot90_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vcaddq_rot90_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_int8_t __builtin_mve_vclsq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vclsq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vclsq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vclsq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vclsq_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vclsq_sv8hi(__simd128_int16_t); -__simd128_int8_t __builtin_mve_vclzq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vclzq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vclzq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vclzq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vclzq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vclzq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vclzq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vclzq_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vclzq_sv8hi(__simd128_int16_t); -__simd128_uint8_t __builtin_mve_vclzq_uv16qi(__simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vclzq_uv4si(__simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vclzq_uv8hi(__simd128_uint16_t); -__simd128_float32_t __builtin_mve_vcmlaq_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmlaq_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmlaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmlaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcmlaq_rot180_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmlaq_rot180_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmlaq_rot180_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmlaq_rot180_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcmlaq_rot270_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmlaq_rot270_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmlaq_rot270_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmlaq_rot270_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcmlaq_rot90_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmlaq_rot90_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmlaq_rot90_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmlaq_rot90_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_n_uv16qi(__simd128_uint8_t, unsigned char); -short unsigned int __builtin_mve_vcmpcsq_n_uv4si(__simd128_uint32_t, unsigned int); -short unsigned int __builtin_mve_vcmpcsq_n_uv8hi(__simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -short unsigned int __builtin_mve_vcmpcsq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -short unsigned int __builtin_mve_vcmpcsq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -short unsigned int __builtin_mve_vcmpeqq_fv4sf(__simd128_float32_t, __simd128_float32_t); -short unsigned int __builtin_mve_vcmpeqq_fv8hf(__simd128_float16_t, __simd128_float16_t); -short unsigned int __builtin_mve_vcmpeqq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_n_fv4sf(__simd128_float32_t, float); -short unsigned int __builtin_mve_vcmpeqq_n_fv8hf(__simd128_float16_t, __bf16); -short unsigned int __builtin_mve_vcmpeqq_n_sv16qi(__simd128_int8_t, signed char); -short unsigned int __builtin_mve_vcmpeqq_n_sv4si(__simd128_int32_t, int); -short unsigned int __builtin_mve_vcmpeqq_n_sv8hi(__simd128_int16_t, short int); -short unsigned int __builtin_mve_vcmpeqq_n_uv16qi(__simd128_uint8_t, unsigned char); -short unsigned int __builtin_mve_vcmpeqq_n_uv4si(__simd128_uint32_t, unsigned int); -short unsigned int __builtin_mve_vcmpeqq_n_uv8hi(__simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_sv16qi(__simd128_int8_t, __simd128_int8_t); -short unsigned int __builtin_mve_vcmpeqq_sv4si(__simd128_int32_t, __simd128_int32_t); -short unsigned int __builtin_mve_vcmpeqq_sv8hi(__simd128_int16_t, __simd128_int16_t); -short unsigned int __builtin_mve_vcmpeqq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -short unsigned int __builtin_mve_vcmpeqq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -short unsigned int __builtin_mve_vcmpeqq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -short unsigned int __builtin_mve_vcmpgeq_fv4sf(__simd128_float32_t, __simd128_float32_t); -short unsigned int __builtin_mve_vcmpgeq_fv8hf(__simd128_float16_t, __simd128_float16_t); -short unsigned int __builtin_mve_vcmpgeq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_n_fv4sf(__simd128_float32_t, float); -short unsigned int __builtin_mve_vcmpgeq_n_fv8hf(__simd128_float16_t, __bf16); -short unsigned int __builtin_mve_vcmpgeq_n_sv16qi(__simd128_int8_t, signed char); -short unsigned int __builtin_mve_vcmpgeq_n_sv4si(__simd128_int32_t, int); -short unsigned int __builtin_mve_vcmpgeq_n_sv8hi(__simd128_int16_t, short int); -short unsigned int __builtin_mve_vcmpgeq_sv16qi(__simd128_int8_t, __simd128_int8_t); -short unsigned int __builtin_mve_vcmpgeq_sv4si(__simd128_int32_t, __simd128_int32_t); -short unsigned int __builtin_mve_vcmpgeq_sv8hi(__simd128_int16_t, __simd128_int16_t); -short unsigned int __builtin_mve_vcmpgtq_fv4sf(__simd128_float32_t, __simd128_float32_t); -short unsigned int __builtin_mve_vcmpgtq_fv8hf(__simd128_float16_t, __simd128_float16_t); -short unsigned int __builtin_mve_vcmpgtq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_n_fv4sf(__simd128_float32_t, float); -short unsigned int __builtin_mve_vcmpgtq_n_fv8hf(__simd128_float16_t, __bf16); -short unsigned int __builtin_mve_vcmpgtq_n_sv16qi(__simd128_int8_t, signed char); -short unsigned int __builtin_mve_vcmpgtq_n_sv4si(__simd128_int32_t, int); -short unsigned int __builtin_mve_vcmpgtq_n_sv8hi(__simd128_int16_t, short int); -short unsigned int __builtin_mve_vcmpgtq_sv16qi(__simd128_int8_t, __simd128_int8_t); -short unsigned int __builtin_mve_vcmpgtq_sv4si(__simd128_int32_t, __simd128_int32_t); -short unsigned int __builtin_mve_vcmpgtq_sv8hi(__simd128_int16_t, __simd128_int16_t); -short unsigned int __builtin_mve_vcmphiq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); -short unsigned int __builtin_mve_vcmphiq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmphiq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmphiq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -short unsigned int __builtin_mve_vcmphiq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -short unsigned int __builtin_mve_vcmphiq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmphiq_n_uv16qi(__simd128_uint8_t, unsigned char); -short unsigned int __builtin_mve_vcmphiq_n_uv4si(__simd128_uint32_t, unsigned int); -short unsigned int __builtin_mve_vcmphiq_n_uv8hi(__simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmphiq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -short unsigned int __builtin_mve_vcmphiq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -short unsigned int __builtin_mve_vcmphiq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -short unsigned int __builtin_mve_vcmpleq_fv4sf(__simd128_float32_t, __simd128_float32_t); -short unsigned int __builtin_mve_vcmpleq_fv8hf(__simd128_float16_t, __simd128_float16_t); -short unsigned int __builtin_mve_vcmpleq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_n_fv4sf(__simd128_float32_t, float); -short unsigned int __builtin_mve_vcmpleq_n_fv8hf(__simd128_float16_t, __bf16); -short unsigned int __builtin_mve_vcmpleq_n_sv16qi(__simd128_int8_t, signed char); -short unsigned int __builtin_mve_vcmpleq_n_sv4si(__simd128_int32_t, int); -short unsigned int __builtin_mve_vcmpleq_n_sv8hi(__simd128_int16_t, short int); -short unsigned int __builtin_mve_vcmpleq_sv16qi(__simd128_int8_t, __simd128_int8_t); -short unsigned int __builtin_mve_vcmpleq_sv4si(__simd128_int32_t, __simd128_int32_t); -short unsigned int __builtin_mve_vcmpleq_sv8hi(__simd128_int16_t, __simd128_int16_t); -short unsigned int __builtin_mve_vcmpltq_fv4sf(__simd128_float32_t, __simd128_float32_t); -short unsigned int __builtin_mve_vcmpltq_fv8hf(__simd128_float16_t, __simd128_float16_t); -short unsigned int __builtin_mve_vcmpltq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_n_fv4sf(__simd128_float32_t, float); -short unsigned int __builtin_mve_vcmpltq_n_fv8hf(__simd128_float16_t, __bf16); -short unsigned int __builtin_mve_vcmpltq_n_sv16qi(__simd128_int8_t, signed char); -short unsigned int __builtin_mve_vcmpltq_n_sv4si(__simd128_int32_t, int); -short unsigned int __builtin_mve_vcmpltq_n_sv8hi(__simd128_int16_t, short int); -short unsigned int __builtin_mve_vcmpltq_sv16qi(__simd128_int8_t, __simd128_int8_t); -short unsigned int __builtin_mve_vcmpltq_sv4si(__simd128_int32_t, __simd128_int32_t); -short unsigned int __builtin_mve_vcmpltq_sv8hi(__simd128_int16_t, __simd128_int16_t); -short unsigned int __builtin_mve_vcmpneq_fv4sf(__simd128_float32_t, __simd128_float32_t); -short unsigned int __builtin_mve_vcmpneq_fv8hf(__simd128_float16_t, __simd128_float16_t); -short unsigned int __builtin_mve_vcmpneq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_n_fv4sf(__simd128_float32_t, float); -short unsigned int __builtin_mve_vcmpneq_n_fv8hf(__simd128_float16_t, __bf16); -short unsigned int __builtin_mve_vcmpneq_n_sv16qi(__simd128_int8_t, signed char); -short unsigned int __builtin_mve_vcmpneq_n_sv4si(__simd128_int32_t, int); -short unsigned int __builtin_mve_vcmpneq_n_sv8hi(__simd128_int16_t, short int); -short unsigned int __builtin_mve_vcmpneq_n_uv16qi(__simd128_uint8_t, unsigned char); -short unsigned int __builtin_mve_vcmpneq_n_uv4si(__simd128_uint32_t, unsigned int); -short unsigned int __builtin_mve_vcmpneq_n_uv8hi(__simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_sv16qi(__simd128_int8_t, __simd128_int8_t); -short unsigned int __builtin_mve_vcmpneq_sv4si(__simd128_int32_t, __simd128_int32_t); -short unsigned int __builtin_mve_vcmpneq_sv8hi(__simd128_int16_t, __simd128_int16_t); -short unsigned int __builtin_mve_vcmpneq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -short unsigned int __builtin_mve_vcmpneq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -short unsigned int __builtin_mve_vcmpneq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vcmulq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmulq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmulq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmulq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcmulq_rot180_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmulq_rot180_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmulq_rot180_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmulq_rot180_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcmulq_rot270_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmulq_rot270_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmulq_rot270_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmulq_rot270_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcmulq_rot90_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmulq_rot90_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmulq_rot90_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmulq_rot90_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcreateq_fv4sf(long long unsigned int, long long unsigned int); -__simd128_float16_t __builtin_mve_vcreateq_fv8hf(long long unsigned int, long long unsigned int); -__simd128_int8_t __builtin_mve_vcreateq_sv16qi(long long unsigned int, long long unsigned int); -__simd128_int64_t __builtin_mve_vcreateq_sv2di(long long unsigned int, long long unsigned int); -__simd128_int32_t __builtin_mve_vcreateq_sv4si(long long unsigned int, long long unsigned int); -__simd128_int16_t __builtin_mve_vcreateq_sv8hi(long long unsigned int, long long unsigned int); -__simd128_uint8_t __builtin_mve_vcreateq_uv16qi(long long unsigned int, long long unsigned int); -__simd128_uint64_t __builtin_mve_vcreateq_uv2di(long long unsigned int, long long unsigned int); -__simd128_uint32_t __builtin_mve_vcreateq_uv4si(long long unsigned int, long long unsigned int); -__simd128_uint16_t __builtin_mve_vcreateq_uv8hi(long long unsigned int, long long unsigned int); -short unsigned int __builtin_mve_vctp16qhi(unsigned int); -short unsigned int __builtin_mve_vctp16q_mhi(unsigned int, short unsigned int); -short unsigned int __builtin_mve_vctp32qhi(unsigned int); -short unsigned int __builtin_mve_vctp32q_mhi(unsigned int, short unsigned int); -short unsigned int __builtin_mve_vctp64qhi(unsigned int); -short unsigned int __builtin_mve_vctp64q_mhi(unsigned int, short unsigned int); -short unsigned int __builtin_mve_vctp8qhi(unsigned int); -short unsigned int __builtin_mve_vctp8q_mhi(unsigned int, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtaq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vcvtaq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vcvtaq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vcvtaq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtaq_sv4si(__simd128_float32_t); -__simd128_int16_t __builtin_mve_vcvtaq_sv8hi(__simd128_float16_t); -__simd128_uint32_t __builtin_mve_vcvtaq_uv4si(__simd128_float32_t); -__simd128_uint16_t __builtin_mve_vcvtaq_uv8hi(__simd128_float16_t); -__simd128_float16_t __builtin_mve_vcvtbq_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t); -__simd128_float32_t __builtin_mve_vcvtbq_f32_f16v4sf(__simd128_float16_t); -__simd128_float16_t __builtin_mve_vcvtbq_m_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcvtbq_m_f32_f16v4sf(__simd128_float32_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtmq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vcvtmq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vcvtmq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vcvtmq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtmq_sv4si(__simd128_float32_t); -__simd128_int16_t __builtin_mve_vcvtmq_sv8hi(__simd128_float16_t); -__simd128_uint32_t __builtin_mve_vcvtmq_uv4si(__simd128_float32_t); -__simd128_uint16_t __builtin_mve_vcvtmq_uv8hi(__simd128_float16_t); -__simd128_int32_t __builtin_mve_vcvtnq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vcvtnq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vcvtnq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vcvtnq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtnq_sv4si(__simd128_float32_t); -__simd128_int16_t __builtin_mve_vcvtnq_sv8hi(__simd128_float16_t); -__simd128_uint32_t __builtin_mve_vcvtnq_uv4si(__simd128_float32_t); -__simd128_uint16_t __builtin_mve_vcvtnq_uv8hi(__simd128_float16_t); -__simd128_int32_t __builtin_mve_vcvtpq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vcvtpq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vcvtpq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vcvtpq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtpq_sv4si(__simd128_float32_t); -__simd128_int16_t __builtin_mve_vcvtpq_sv8hi(__simd128_float16_t); -__simd128_uint32_t __builtin_mve_vcvtpq_uv4si(__simd128_float32_t); -__simd128_uint16_t __builtin_mve_vcvtpq_uv8hi(__simd128_float16_t); -__simd128_int32_t __builtin_mve_vcvtq_from_f_sv4si(__simd128_float32_t); -__simd128_int16_t __builtin_mve_vcvtq_from_f_sv8hi(__simd128_float16_t); -__simd128_uint32_t __builtin_mve_vcvtq_from_f_uv4si(__simd128_float32_t); -__simd128_uint16_t __builtin_mve_vcvtq_from_f_uv8hi(__simd128_float16_t); -__simd128_int32_t __builtin_mve_vcvtq_m_from_f_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vcvtq_m_from_f_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vcvtq_m_from_f_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vcvtq_m_from_f_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtq_m_n_from_f_sv4si(__simd128_int32_t, __simd128_float32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vcvtq_m_n_from_f_sv8hi(__simd128_int16_t, __simd128_float16_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vcvtq_m_n_from_f_uv4si(__simd128_uint32_t, __simd128_float32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vcvtq_m_n_from_f_uv8hi(__simd128_uint16_t, __simd128_float16_t, int, short unsigned int); -__simd128_float32_t __builtin_mve_vcvtq_m_n_to_f_sv4sf(__simd128_float32_t, __simd128_int32_t, int, short unsigned int); -__simd128_float16_t __builtin_mve_vcvtq_m_n_to_f_sv8hf(__simd128_float16_t, __simd128_int16_t, int, short unsigned int); -__simd128_float32_t __builtin_mve_vcvtq_m_n_to_f_uv4sf(__simd128_float32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_float16_t __builtin_mve_vcvtq_m_n_to_f_uv8hf(__simd128_float16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_float32_t __builtin_mve_vcvtq_m_to_f_sv4sf(__simd128_float32_t, __simd128_int32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcvtq_m_to_f_sv8hf(__simd128_float16_t, __simd128_int16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcvtq_m_to_f_uv4sf(__simd128_float32_t, __simd128_uint32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcvtq_m_to_f_uv8hf(__simd128_float16_t, __simd128_uint16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtq_n_from_f_sv4si(__simd128_float32_t, int); -__simd128_int16_t __builtin_mve_vcvtq_n_from_f_sv8hi(__simd128_float16_t, int); -__simd128_uint32_t __builtin_mve_vcvtq_n_from_f_uv4si(__simd128_float32_t, int); -__simd128_uint16_t __builtin_mve_vcvtq_n_from_f_uv8hi(__simd128_float16_t, int); -__simd128_float32_t __builtin_mve_vcvtq_n_to_f_sv4sf(__simd128_int32_t, int); -__simd128_float16_t __builtin_mve_vcvtq_n_to_f_sv8hf(__simd128_int16_t, int); -__simd128_float32_t __builtin_mve_vcvtq_n_to_f_uv4sf(__simd128_uint32_t, int); -__simd128_float16_t __builtin_mve_vcvtq_n_to_f_uv8hf(__simd128_uint16_t, int); -__simd128_float32_t __builtin_mve_vcvtq_to_f_sv4sf(__simd128_int32_t); -__simd128_float16_t __builtin_mve_vcvtq_to_f_sv8hf(__simd128_int16_t); -__simd128_float32_t __builtin_mve_vcvtq_to_f_uv4sf(__simd128_uint32_t); -__simd128_float16_t __builtin_mve_vcvtq_to_f_uv8hf(__simd128_uint16_t); -__simd128_float16_t __builtin_mve_vcvttq_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t); -__simd128_float32_t __builtin_mve_vcvttq_f32_f16v4sf(__simd128_float16_t); -__simd128_float16_t __builtin_mve_vcvttq_m_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcvttq_m_f32_f16v4sf(__simd128_float32_t, __simd128_float16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vddupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vddupq_m_n_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vddupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vddupq_n_uv16qi(unsigned int, int); -__simd128_uint32_t __builtin_mve_vddupq_n_uv4si(unsigned int, int); -__simd128_uint16_t __builtin_mve_vddupq_n_uv8hi(unsigned int, int); -__simd128_float32_t __builtin_mve_vdupq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); -__simd128_float16_t __builtin_mve_vdupq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); -__simd128_int8_t __builtin_mve_vdupq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vdupq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vdupq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vdupq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vdupq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vdupq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_float32_t __builtin_mve_vdupq_n_fv4sf(float); -__simd128_float16_t __builtin_mve_vdupq_n_fv8hf(__bf16); -__simd128_int8_t __builtin_mve_vdupq_n_sv16qi(signed char); -__simd128_int32_t __builtin_mve_vdupq_n_sv4si(int); -__simd128_int16_t __builtin_mve_vdupq_n_sv8hi(short int); -__simd128_uint8_t __builtin_mve_vdupq_n_uv16qi(unsigned char); -__simd128_uint32_t __builtin_mve_vdupq_n_uv4si(unsigned int); -__simd128_uint16_t __builtin_mve_vdupq_n_uv8hi(short unsigned int); -__simd128_uint8_t __builtin_mve_vdwdupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vdwdupq_m_n_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vdwdupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); -unsigned int __builtin_mve_vdwdupq_m_wb_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); -unsigned int __builtin_mve_vdwdupq_m_wb_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); -unsigned int __builtin_mve_vdwdupq_m_wb_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vdwdupq_n_uv16qi(unsigned int, long long unsigned int, int); -__simd128_uint32_t __builtin_mve_vdwdupq_n_uv4si(unsigned int, long long unsigned int, int); -__simd128_uint16_t __builtin_mve_vdwdupq_n_uv8hi(unsigned int, long long unsigned int, int); -unsigned int __builtin_mve_vdwdupq_wb_uv16qi(unsigned int, long long unsigned int, int); -unsigned int __builtin_mve_vdwdupq_wb_uv4si(unsigned int, long long unsigned int, int); -unsigned int __builtin_mve_vdwdupq_wb_uv8hi(unsigned int, long long unsigned int, int); -__simd128_float32_t __builtin_mve_veorq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_veorq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_veorq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_veorq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_veorq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_veorq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_veorq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_veorq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_veorq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_veorq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_veorq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_veorq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_veorq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_veorq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_veorq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_veorq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vfmaq_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vfmaq_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vfmaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vfmaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vfmaq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); -__simd128_float16_t __builtin_mve_vfmaq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); -__simd128_float32_t __builtin_mve_vfmaq_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float); -__simd128_float16_t __builtin_mve_vfmaq_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16); -__simd128_float32_t __builtin_mve_vfmasq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); -__simd128_float16_t __builtin_mve_vfmasq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); -__simd128_float32_t __builtin_mve_vfmasq_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float); -__simd128_float16_t __builtin_mve_vfmasq_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16); -__simd128_float32_t __builtin_mve_vfmsq_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vfmsq_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vfmsq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vfmsq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vhaddq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vhaddq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vhaddq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vhaddq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vhaddq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vhaddq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vhaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vhaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vhaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vhaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vhaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vhaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vhaddq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vhaddq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vhaddq_n_sv8hi(__simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vhaddq_n_uv16qi(__simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vhaddq_n_uv4si(__simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vhaddq_n_uv8hi(__simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vhaddq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vhaddq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vhaddq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vhaddq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vhaddq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vhaddq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_int8_t __builtin_mve_vhcaddq_rot270_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vhcaddq_rot270_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vhcaddq_rot270_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vhcaddq_rot270_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vhcaddq_rot270_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vhcaddq_rot270_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vhcaddq_rot90_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vhcaddq_rot90_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vhcaddq_rot90_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vhcaddq_rot90_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vhcaddq_rot90_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vhcaddq_rot90_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vhsubq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vhsubq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vhsubq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vhsubq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vhsubq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vhsubq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vhsubq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vhsubq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vhsubq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vhsubq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vhsubq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vhsubq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vhsubq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vhsubq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vhsubq_n_sv8hi(__simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vhsubq_n_uv16qi(__simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vhsubq_n_uv4si(__simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vhsubq_n_uv8hi(__simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vhsubq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vhsubq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vhsubq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vhsubq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vhsubq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vhsubq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_uint8_t __builtin_mve_vidupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vidupq_m_n_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vidupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vidupq_n_uv16qi(unsigned int, int); -__simd128_uint32_t __builtin_mve_vidupq_n_uv4si(unsigned int, int); -__simd128_uint16_t __builtin_mve_vidupq_n_uv8hi(unsigned int, int); -__simd128_uint8_t __builtin_mve_viwdupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); -__simd128_uint32_t __builtin_mve_viwdupq_m_n_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); -__simd128_uint16_t __builtin_mve_viwdupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); -unsigned int __builtin_mve_viwdupq_m_wb_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); -unsigned int __builtin_mve_viwdupq_m_wb_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); -unsigned int __builtin_mve_viwdupq_m_wb_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); -__simd128_uint8_t __builtin_mve_viwdupq_n_uv16qi(unsigned int, long long unsigned int, int); -__simd128_uint32_t __builtin_mve_viwdupq_n_uv4si(unsigned int, long long unsigned int, int); -__simd128_uint16_t __builtin_mve_viwdupq_n_uv8hi(unsigned int, long long unsigned int, int); -unsigned int __builtin_mve_viwdupq_wb_uv16qi(unsigned int, long long unsigned int, int); -unsigned int __builtin_mve_viwdupq_wb_uv4si(unsigned int, long long unsigned int, int); -unsigned int __builtin_mve_viwdupq_wb_uv8hi(unsigned int, long long unsigned int, int); -__simd128_float32_t __builtin_mve_vld1q_fv4sf(int*); -__simd128_float16_t __builtin_mve_vld1q_fv8hf(short int*); -__simd128_int8_t __builtin_mve_vld1q_sv16qi(signed char*); -__simd128_int32_t __builtin_mve_vld1q_sv4si(int*); -__simd128_int16_t __builtin_mve_vld1q_sv8hi(short int*); -__simd128_uint8_t __builtin_mve_vld1q_uv16qi(signed char*); -__simd128_uint32_t __builtin_mve_vld1q_uv4si(int*); -__simd128_uint16_t __builtin_mve_vld1q_uv8hi(short int*); -__builtin_neon_oi __builtin_mve_vld2qv16qi(const signed char*); -__builtin_neon_oi __builtin_mve_vld2qv4sf(const float*); -__builtin_neon_oi __builtin_mve_vld2qv4si(const int*); -__builtin_neon_oi __builtin_mve_vld2qv8hf(const __bf16*); -__builtin_neon_oi __builtin_mve_vld2qv8hi(const short int*); -__builtin_neon_xi __builtin_mve_vld4qv16qi(const signed char*); -__builtin_neon_xi __builtin_mve_vld4qv4sf(const float*); -__builtin_neon_xi __builtin_mve_vld4qv4si(const int*); -__builtin_neon_xi __builtin_mve_vld4qv8hf(const __bf16*); -__builtin_neon_xi __builtin_mve_vld4qv8hi(const short int*); -__simd128_int8_t __builtin_mve_vldrbq_gather_offset_sv16qi(signed char*, __simd128_uint8_t); -__simd128_int32_t __builtin_mve_vldrbq_gather_offset_sv4si(signed char*, __simd128_uint32_t); -__simd128_int16_t __builtin_mve_vldrbq_gather_offset_sv8hi(signed char*, __simd128_uint16_t); -__simd128_uint8_t __builtin_mve_vldrbq_gather_offset_uv16qi(signed char*, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vldrbq_gather_offset_uv4si(signed char*, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vldrbq_gather_offset_uv8hi(signed char*, __simd128_uint16_t); -__simd128_int8_t __builtin_mve_vldrbq_gather_offset_z_sv16qi(signed char*, __simd128_uint8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vldrbq_gather_offset_z_sv4si(signed char*, __simd128_uint32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vldrbq_gather_offset_z_sv8hi(signed char*, __simd128_uint16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vldrbq_gather_offset_z_uv16qi(signed char*, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrbq_gather_offset_z_uv4si(signed char*, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vldrbq_gather_offset_z_uv8hi(signed char*, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vldrbq_sv16qi(signed char*); -__simd128_int32_t __builtin_mve_vldrbq_sv4si(signed char*); -__simd128_int16_t __builtin_mve_vldrbq_sv8hi(signed char*); -__simd128_uint8_t __builtin_mve_vldrbq_uv16qi(signed char*); -__simd128_uint32_t __builtin_mve_vldrbq_uv4si(signed char*); -__simd128_uint16_t __builtin_mve_vldrbq_uv8hi(signed char*); -__simd128_int8_t __builtin_mve_vldrbq_z_sv16qi(signed char*, short unsigned int); -__simd128_int32_t __builtin_mve_vldrbq_z_sv4si(signed char*, short unsigned int); -__simd128_int16_t __builtin_mve_vldrbq_z_sv8hi(signed char*, short unsigned int); -__simd128_uint8_t __builtin_mve_vldrbq_z_uv16qi(signed char*, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrbq_z_uv4si(signed char*, short unsigned int); -__simd128_uint16_t __builtin_mve_vldrbq_z_uv8hi(signed char*, short unsigned int); -__simd128_int64_t __builtin_mve_vldrdq_gather_base_nowb_sv2di(__simd128_uint64_t, int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_nowb_uv2di(__simd128_uint64_t, int); -__simd128_int64_t __builtin_mve_vldrdq_gather_base_nowb_z_sv2di(__simd128_uint64_t, int, short unsigned int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_nowb_z_uv2di(__simd128_uint64_t, int, short unsigned int); -__simd128_int64_t __builtin_mve_vldrdq_gather_base_sv2di(__simd128_uint64_t, int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_uv2di(__simd128_uint64_t, int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_sv2di(__simd128_uint64_t, int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_uv2di(__simd128_uint64_t, int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_z_sv2di(__simd128_uint64_t, int, short unsigned int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_z_uv2di(__simd128_uint64_t, int, short unsigned int); -__simd128_int64_t __builtin_mve_vldrdq_gather_base_z_sv2di(__simd128_uint64_t, int, short unsigned int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_z_uv2di(__simd128_uint64_t, int, short unsigned int); -__simd128_int64_t __builtin_mve_vldrdq_gather_offset_sv2di(long long int*, __simd128_uint64_t); -__simd128_uint64_t __builtin_mve_vldrdq_gather_offset_uv2di(long long int*, __simd128_uint64_t); -__simd128_int64_t __builtin_mve_vldrdq_gather_offset_z_sv2di(long long int*, __simd128_uint64_t, short unsigned int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_offset_z_uv2di(long long int*, __simd128_uint64_t, short unsigned int); -__simd128_int64_t __builtin_mve_vldrdq_gather_shifted_offset_sv2di(long long int*, __simd128_uint64_t); -__simd128_uint64_t __builtin_mve_vldrdq_gather_shifted_offset_uv2di(long long int*, __simd128_uint64_t); -__simd128_int64_t __builtin_mve_vldrdq_gather_shifted_offset_z_sv2di(long long int*, __simd128_uint64_t, short unsigned int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_shifted_offset_z_uv2di(long long int*, __simd128_uint64_t, short unsigned int); -__simd128_float16_t __builtin_mve_vldrhq_fv8hf(short int*); -__simd128_float16_t __builtin_mve_vldrhq_gather_offset_fv8hf(short int*, __simd128_uint16_t); -__simd128_int32_t __builtin_mve_vldrhq_gather_offset_sv4si(short int*, __simd128_uint32_t); -__simd128_int16_t __builtin_mve_vldrhq_gather_offset_sv8hi(short int*, __simd128_uint16_t); -__simd128_uint32_t __builtin_mve_vldrhq_gather_offset_uv4si(short int*, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vldrhq_gather_offset_uv8hi(short int*, __simd128_uint16_t); -__simd128_float16_t __builtin_mve_vldrhq_gather_offset_z_fv8hf(short int*, __simd128_uint16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vldrhq_gather_offset_z_sv4si(short int*, __simd128_uint32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vldrhq_gather_offset_z_sv8hi(short int*, __simd128_uint16_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrhq_gather_offset_z_uv4si(short int*, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vldrhq_gather_offset_z_uv8hi(short int*, __simd128_uint16_t, short unsigned int); -__simd128_float16_t __builtin_mve_vldrhq_gather_shifted_offset_fv8hf(short int*, __simd128_uint16_t); -__simd128_int32_t __builtin_mve_vldrhq_gather_shifted_offset_sv4si(short int*, __simd128_uint32_t); -__simd128_int16_t __builtin_mve_vldrhq_gather_shifted_offset_sv8hi(short int*, __simd128_uint16_t); -__simd128_uint32_t __builtin_mve_vldrhq_gather_shifted_offset_uv4si(short int*, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vldrhq_gather_shifted_offset_uv8hi(short int*, __simd128_uint16_t); -__simd128_float16_t __builtin_mve_vldrhq_gather_shifted_offset_z_fv8hf(short int*, __simd128_uint16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vldrhq_gather_shifted_offset_z_sv4si(short int*, __simd128_uint32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vldrhq_gather_shifted_offset_z_sv8hi(short int*, __simd128_uint16_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrhq_gather_shifted_offset_z_uv4si(short int*, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vldrhq_gather_shifted_offset_z_uv8hi(short int*, __simd128_uint16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vldrhq_sv4si(short int*); -__simd128_int16_t __builtin_mve_vldrhq_sv8hi(short int*); -__simd128_uint32_t __builtin_mve_vldrhq_uv4si(short int*); -__simd128_uint16_t __builtin_mve_vldrhq_uv8hi(short int*); -__simd128_float16_t __builtin_mve_vldrhq_z_fv8hf(short int*, short unsigned int); -__simd128_int32_t __builtin_mve_vldrhq_z_sv4si(short int*, short unsigned int); -__simd128_int16_t __builtin_mve_vldrhq_z_sv8hi(short int*, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrhq_z_uv4si(short int*, short unsigned int); -__simd128_uint16_t __builtin_mve_vldrhq_z_uv8hi(short int*, short unsigned int); -__simd128_float32_t __builtin_mve_vldrwq_fv4sf(int*); -__simd128_float32_t __builtin_mve_vldrwq_gather_base_fv4sf(__simd128_uint32_t, int); -__simd128_float32_t __builtin_mve_vldrwq_gather_base_nowb_fv4sf(__simd128_uint32_t, int); -__simd128_int32_t __builtin_mve_vldrwq_gather_base_nowb_sv4si(__simd128_uint32_t, int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_nowb_uv4si(__simd128_uint32_t, int); -__simd128_float32_t __builtin_mve_vldrwq_gather_base_nowb_z_fv4sf(__simd128_uint32_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vldrwq_gather_base_nowb_z_sv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_nowb_z_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vldrwq_gather_base_sv4si(__simd128_uint32_t, int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_uv4si(__simd128_uint32_t, int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_fv4sf(__simd128_uint32_t, int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_sv4si(__simd128_uint32_t, int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_uv4si(__simd128_uint32_t, int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_z_fv4sf(__simd128_uint32_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_z_sv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_z_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_float32_t __builtin_mve_vldrwq_gather_base_z_fv4sf(__simd128_uint32_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vldrwq_gather_base_z_sv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_z_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_float32_t __builtin_mve_vldrwq_gather_offset_fv4sf(int*, __simd128_uint32_t); -__simd128_int32_t __builtin_mve_vldrwq_gather_offset_sv4si(int*, __simd128_uint32_t); -__simd128_uint32_t __builtin_mve_vldrwq_gather_offset_uv4si(int*, __simd128_uint32_t); -__simd128_float32_t __builtin_mve_vldrwq_gather_offset_z_fv4sf(int*, __simd128_uint32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vldrwq_gather_offset_z_sv4si(int*, __simd128_uint32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_offset_z_uv4si(int*, __simd128_uint32_t, short unsigned int); -__simd128_float32_t __builtin_mve_vldrwq_gather_shifted_offset_fv4sf(int*, __simd128_uint32_t); -__simd128_int32_t __builtin_mve_vldrwq_gather_shifted_offset_sv4si(int*, __simd128_uint32_t); -__simd128_uint32_t __builtin_mve_vldrwq_gather_shifted_offset_uv4si(int*, __simd128_uint32_t); -__simd128_float32_t __builtin_mve_vldrwq_gather_shifted_offset_z_fv4sf(int*, __simd128_uint32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vldrwq_gather_shifted_offset_z_sv4si(int*, __simd128_uint32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_shifted_offset_z_uv4si(int*, __simd128_uint32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vldrwq_sv4si(int*); -__simd128_uint32_t __builtin_mve_vldrwq_uv4si(int*); -__simd128_float32_t __builtin_mve_vldrwq_z_fv4sf(int*, short unsigned int); -__simd128_int32_t __builtin_mve_vldrwq_z_sv4si(int*, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrwq_z_uv4si(int*, short unsigned int); -__simd128_uint8_t __builtin_mve_vmaxaq_m_sv16qi(__simd128_uint8_t, __simd128_int8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmaxaq_m_sv4si(__simd128_uint32_t, __simd128_int32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmaxaq_m_sv8hi(__simd128_uint16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vmaxaq_sv16qi(__simd128_uint8_t, __simd128_int8_t); -__simd128_uint32_t __builtin_mve_vmaxaq_sv4si(__simd128_uint32_t, __simd128_int32_t); -__simd128_uint16_t __builtin_mve_vmaxaq_sv8hi(__simd128_uint16_t, __simd128_int16_t); -unsigned char __builtin_mve_vmaxavq_p_sv16qi(unsigned char, __simd128_int8_t, short unsigned int); -unsigned int __builtin_mve_vmaxavq_p_sv4si(unsigned int, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vmaxavq_p_sv8hi(short unsigned int, __simd128_int16_t, short unsigned int); -unsigned char __builtin_mve_vmaxavq_sv16qi(unsigned char, __simd128_int8_t); -unsigned int __builtin_mve_vmaxavq_sv4si(unsigned int, __simd128_int32_t); -short unsigned int __builtin_mve_vmaxavq_sv8hi(short unsigned int, __simd128_int16_t); -__simd128_float32_t __builtin_mve_vmaxnmaq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vmaxnmaq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vmaxnmaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vmaxnmaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -float __builtin_mve_vmaxnmavq_fv4sf(float, __simd128_float32_t); -__bf16 __builtin_mve_vmaxnmavq_fv8hf(__bf16, __simd128_float16_t); -float __builtin_mve_vmaxnmavq_p_fv4sf(float, __simd128_float32_t, short unsigned int); -__bf16 __builtin_mve_vmaxnmavq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vmaxnmq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vmaxnmq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vmaxnmq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vmaxnmq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -float __builtin_mve_vmaxnmvq_fv4sf(float, __simd128_float32_t); -__bf16 __builtin_mve_vmaxnmvq_fv8hf(__bf16, __simd128_float16_t); -float __builtin_mve_vmaxnmvq_p_fv4sf(float, __simd128_float32_t, short unsigned int); -__bf16 __builtin_mve_vmaxnmvq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vmaxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmaxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmaxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vmaxq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmaxq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmaxq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vmaxq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vmaxq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vmaxq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vmaxq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmaxq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vmaxq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -signed char __builtin_mve_vmaxvq_p_sv16qi(signed char, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmaxvq_p_sv4si(int, __simd128_int32_t, short unsigned int); -short int __builtin_mve_vmaxvq_p_sv8hi(short int, __simd128_int16_t, short unsigned int); -unsigned char __builtin_mve_vmaxvq_p_uv16qi(unsigned char, __simd128_uint8_t, short unsigned int); -unsigned int __builtin_mve_vmaxvq_p_uv4si(unsigned int, __simd128_uint32_t, short unsigned int); -short unsigned int __builtin_mve_vmaxvq_p_uv8hi(short unsigned int, __simd128_uint16_t, short unsigned int); -signed char __builtin_mve_vmaxvq_sv16qi(signed char, __simd128_int8_t); -int __builtin_mve_vmaxvq_sv4si(int, __simd128_int32_t); -short int __builtin_mve_vmaxvq_sv8hi(short int, __simd128_int16_t); -unsigned char __builtin_mve_vmaxvq_uv16qi(unsigned char, __simd128_uint8_t); -unsigned int __builtin_mve_vmaxvq_uv4si(unsigned int, __simd128_uint32_t); -short unsigned int __builtin_mve_vmaxvq_uv8hi(short unsigned int, __simd128_uint16_t); -__simd128_uint8_t __builtin_mve_vminaq_m_sv16qi(__simd128_uint8_t, __simd128_int8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vminaq_m_sv4si(__simd128_uint32_t, __simd128_int32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vminaq_m_sv8hi(__simd128_uint16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vminaq_sv16qi(__simd128_uint8_t, __simd128_int8_t); -__simd128_uint32_t __builtin_mve_vminaq_sv4si(__simd128_uint32_t, __simd128_int32_t); -__simd128_uint16_t __builtin_mve_vminaq_sv8hi(__simd128_uint16_t, __simd128_int16_t); -unsigned char __builtin_mve_vminavq_p_sv16qi(unsigned char, __simd128_int8_t, short unsigned int); -unsigned int __builtin_mve_vminavq_p_sv4si(unsigned int, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vminavq_p_sv8hi(short unsigned int, __simd128_int16_t, short unsigned int); -unsigned char __builtin_mve_vminavq_sv16qi(unsigned char, __simd128_int8_t); -unsigned int __builtin_mve_vminavq_sv4si(unsigned int, __simd128_int32_t); -short unsigned int __builtin_mve_vminavq_sv8hi(short unsigned int, __simd128_int16_t); -__simd128_float32_t __builtin_mve_vminnmaq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vminnmaq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vminnmaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vminnmaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -float __builtin_mve_vminnmavq_fv4sf(float, __simd128_float32_t); -__bf16 __builtin_mve_vminnmavq_fv8hf(__bf16, __simd128_float16_t); -float __builtin_mve_vminnmavq_p_fv4sf(float, __simd128_float32_t, short unsigned int); -__bf16 __builtin_mve_vminnmavq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vminnmq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vminnmq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vminnmq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vminnmq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -float __builtin_mve_vminnmvq_fv4sf(float, __simd128_float32_t); -__bf16 __builtin_mve_vminnmvq_fv8hf(__bf16, __simd128_float16_t); -float __builtin_mve_vminnmvq_p_fv4sf(float, __simd128_float32_t, short unsigned int); -__bf16 __builtin_mve_vminnmvq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vminq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vminq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vminq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vminq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vminq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vminq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vminq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vminq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vminq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vminq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vminq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vminq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -signed char __builtin_mve_vminvq_p_sv16qi(signed char, __simd128_int8_t, short unsigned int); -int __builtin_mve_vminvq_p_sv4si(int, __simd128_int32_t, short unsigned int); -short int __builtin_mve_vminvq_p_sv8hi(short int, __simd128_int16_t, short unsigned int); -unsigned char __builtin_mve_vminvq_p_uv16qi(unsigned char, __simd128_uint8_t, short unsigned int); -unsigned int __builtin_mve_vminvq_p_uv4si(unsigned int, __simd128_uint32_t, short unsigned int); -short unsigned int __builtin_mve_vminvq_p_uv8hi(short unsigned int, __simd128_uint16_t, short unsigned int); -signed char __builtin_mve_vminvq_sv16qi(signed char, __simd128_int8_t); -int __builtin_mve_vminvq_sv4si(int, __simd128_int32_t); -short int __builtin_mve_vminvq_sv8hi(short int, __simd128_int16_t); -unsigned char __builtin_mve_vminvq_uv16qi(unsigned char, __simd128_uint8_t); -unsigned int __builtin_mve_vminvq_uv4si(unsigned int, __simd128_uint32_t); -short unsigned int __builtin_mve_vminvq_uv8hi(short unsigned int, __simd128_uint16_t); -int __builtin_mve_vmladavaq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmladavaq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmladavaq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -unsigned int __builtin_mve_vmladavaq_p_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -unsigned int __builtin_mve_vmladavaq_p_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -unsigned int __builtin_mve_vmladavaq_p_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -int __builtin_mve_vmladavaq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmladavaq_sv4si(int, __simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmladavaq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); -unsigned int __builtin_mve_vmladavaq_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t); -unsigned int __builtin_mve_vmladavaq_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t); -unsigned int __builtin_mve_vmladavaq_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t); -int __builtin_mve_vmladavaxq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmladavaxq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmladavaxq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -int __builtin_mve_vmladavaxq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmladavaxq_sv4si(int, __simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmladavaxq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); -int __builtin_mve_vmladavq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmladavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmladavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -unsigned int __builtin_mve_vmladavq_p_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -unsigned int __builtin_mve_vmladavq_p_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -unsigned int __builtin_mve_vmladavq_p_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -int __builtin_mve_vmladavq_sv16qi(__simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmladavq_sv4si(__simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmladavq_sv8hi(__simd128_int16_t, __simd128_int16_t); -unsigned int __builtin_mve_vmladavq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -unsigned int __builtin_mve_vmladavq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -unsigned int __builtin_mve_vmladavq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -int __builtin_mve_vmladavxq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmladavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmladavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -int __builtin_mve_vmladavxq_sv16qi(__simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmladavxq_sv4si(__simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmladavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); -long long int __builtin_mve_vmlaldavaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlaldavaq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -long long unsigned int __builtin_mve_vmlaldavaq_p_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -long long unsigned int __builtin_mve_vmlaldavaq_p_uv8hi(long long unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -long long int __builtin_mve_vmlaldavaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlaldavaq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); -long long unsigned int __builtin_mve_vmlaldavaq_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t); -long long unsigned int __builtin_mve_vmlaldavaq_uv8hi(long long unsigned int, __simd128_uint16_t, __simd128_uint16_t); -long long int __builtin_mve_vmlaldavaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlaldavaxq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -long long unsigned int __builtin_mve_vmlaldavaxq_p_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -long long unsigned int __builtin_mve_vmlaldavaxq_p_uv8hi(long long unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -long long int __builtin_mve_vmlaldavaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlaldavaxq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); -long long int __builtin_mve_vmlaldavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlaldavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -long long unsigned int __builtin_mve_vmlaldavq_p_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -long long unsigned int __builtin_mve_vmlaldavq_p_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -long long int __builtin_mve_vmlaldavq_sv4si(__simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlaldavq_sv8hi(__simd128_int16_t, __simd128_int16_t); -long long unsigned int __builtin_mve_vmlaldavq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -long long unsigned int __builtin_mve_vmlaldavq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -long long int __builtin_mve_vmlaldavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlaldavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -long long int __builtin_mve_vmlaldavxq_sv4si(__simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlaldavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vmlaq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vmlaq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vmlaq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vmlaq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vmlaq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vmlaq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vmlaq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vmlaq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vmlaq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vmlaq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vmlaq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vmlaq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vmlasq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vmlasq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vmlasq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vmlasq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vmlasq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vmlasq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vmlasq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vmlasq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vmlasq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vmlasq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vmlasq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vmlasq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -int __builtin_mve_vmlsdavaq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmlsdavaq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmlsdavaq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -int __builtin_mve_vmlsdavaq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmlsdavaq_sv4si(int, __simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmlsdavaq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); -int __builtin_mve_vmlsdavaxq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmlsdavaxq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmlsdavaxq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -int __builtin_mve_vmlsdavaxq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmlsdavaxq_sv4si(int, __simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmlsdavaxq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); -int __builtin_mve_vmlsdavq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmlsdavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmlsdavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -int __builtin_mve_vmlsdavq_sv16qi(__simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmlsdavq_sv4si(__simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmlsdavq_sv8hi(__simd128_int16_t, __simd128_int16_t); -int __builtin_mve_vmlsdavxq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmlsdavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmlsdavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -int __builtin_mve_vmlsdavxq_sv16qi(__simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmlsdavxq_sv4si(__simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmlsdavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); -long long int __builtin_mve_vmlsldavaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlsldavaq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -long long int __builtin_mve_vmlsldavaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlsldavaq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); -long long int __builtin_mve_vmlsldavaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlsldavaxq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -long long int __builtin_mve_vmlsldavaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlsldavaxq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); -long long int __builtin_mve_vmlsldavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlsldavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -long long int __builtin_mve_vmlsldavq_sv4si(__simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlsldavq_sv8hi(__simd128_int16_t, __simd128_int16_t); -long long int __builtin_mve_vmlsldavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlsldavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -long long int __builtin_mve_vmlsldavxq_sv4si(__simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlsldavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_mve_vmovlbq_m_sv16qi(__simd128_int16_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmovlbq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmovlbq_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmovlbq_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmovlbq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vmovlbq_sv8hi(__simd128_int16_t); -__simd128_uint16_t __builtin_mve_vmovlbq_uv16qi(__simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmovlbq_uv8hi(__simd128_uint16_t); -__simd128_int16_t __builtin_mve_vmovltq_m_sv16qi(__simd128_int16_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmovltq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmovltq_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmovltq_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmovltq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vmovltq_sv8hi(__simd128_int16_t); -__simd128_uint16_t __builtin_mve_vmovltq_uv16qi(__simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmovltq_uv8hi(__simd128_uint16_t); -__simd128_int16_t __builtin_mve_vmovnbq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); -__simd128_int8_t __builtin_mve_vmovnbq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmovnbq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vmovnbq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmovnbq_sv4si(__simd128_int16_t, __simd128_int32_t); -__simd128_int8_t __builtin_mve_vmovnbq_sv8hi(__simd128_int8_t, __simd128_int16_t); -__simd128_uint16_t __builtin_mve_vmovnbq_uv4si(__simd128_uint16_t, __simd128_uint32_t); -__simd128_uint8_t __builtin_mve_vmovnbq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); -__simd128_int16_t __builtin_mve_vmovntq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); -__simd128_int8_t __builtin_mve_vmovntq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmovntq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vmovntq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmovntq_sv4si(__simd128_int16_t, __simd128_int32_t); -__simd128_int8_t __builtin_mve_vmovntq_sv8hi(__simd128_int8_t, __simd128_int16_t); -__simd128_uint16_t __builtin_mve_vmovntq_uv4si(__simd128_uint16_t, __simd128_uint32_t); -__simd128_uint8_t __builtin_mve_vmovntq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); -__simd128_int8_t __builtin_mve_vmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vmulhq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmulhq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmulhq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vmulhq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmulhq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vmulhq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_int16_t __builtin_mve_vmullbq_int_m_sv16qi(__simd128_int16_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int64_t __builtin_mve_vmullbq_int_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmullbq_int_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmullbq_int_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint64_t __builtin_mve_vmullbq_int_m_uv4si(__simd128_uint64_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmullbq_int_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmullbq_int_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int64_t __builtin_mve_vmullbq_int_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int32_t __builtin_mve_vmullbq_int_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint16_t __builtin_mve_vmullbq_int_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint64_t __builtin_mve_vmullbq_int_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_mve_vmullbq_int_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_uint16_t __builtin_mve_vmullbq_poly_m_pv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmullbq_poly_m_pv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmullbq_poly_pv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmullbq_poly_pv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_int16_t __builtin_mve_vmulltq_int_m_sv16qi(__simd128_int16_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int64_t __builtin_mve_vmulltq_int_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmulltq_int_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmulltq_int_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint64_t __builtin_mve_vmulltq_int_m_uv4si(__simd128_uint64_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmulltq_int_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmulltq_int_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int64_t __builtin_mve_vmulltq_int_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int32_t __builtin_mve_vmulltq_int_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint16_t __builtin_mve_vmulltq_int_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint64_t __builtin_mve_vmulltq_int_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_mve_vmulltq_int_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_uint16_t __builtin_mve_vmulltq_poly_m_pv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmulltq_poly_m_pv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmulltq_poly_pv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmulltq_poly_pv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vmulq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vmulq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vmulq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vmulq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vmulq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); -__simd128_float16_t __builtin_mve_vmulq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); -__simd128_int8_t __builtin_mve_vmulq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vmulq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vmulq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vmulq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vmulq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vmulq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vmulq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmulq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmulq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vmulq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmulq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmulq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vmulq_n_fv4sf(__simd128_float32_t, float); -__simd128_float16_t __builtin_mve_vmulq_n_fv8hf(__simd128_float16_t, __bf16); -__simd128_int8_t __builtin_mve_vmulq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vmulq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vmulq_n_sv8hi(__simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vmulq_n_uv16qi(__simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vmulq_n_uv4si(__simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vmulq_n_uv8hi(__simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vmulq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vmulq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vmulq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vmulq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmulq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vmulq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_int32_t __builtin_mve_vmvnq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vmvnq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vmvnq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vmvnq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vmvnq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmvnq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmvnq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vmvnq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmvnq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmvnq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmvnq_n_sv4si(short int); -__simd128_int16_t __builtin_mve_vmvnq_n_sv8hi(short int); -__simd128_uint32_t __builtin_mve_vmvnq_n_uv4si(short int); -__simd128_uint16_t __builtin_mve_vmvnq_n_uv8hi(short int); -__simd128_int8_t __builtin_mve_vmvnq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vmvnq_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vmvnq_sv8hi(__simd128_int16_t); -__simd128_uint8_t __builtin_mve_vmvnq_uv16qi(__simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmvnq_uv4si(__simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vmvnq_uv8hi(__simd128_uint16_t); -__simd128_float32_t __builtin_mve_vnegq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vnegq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vnegq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vnegq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vnegq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vnegq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vnegq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vnegq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vnegq_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vnegq_sv8hi(__simd128_int16_t); -__simd128_float32_t __builtin_mve_vornq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vornq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vornq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vornq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vornq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vornq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vornq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vornq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vornq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vornq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vornq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vornq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vornq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vornq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vornq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vornq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vorrq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vorrq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vorrq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vorrq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vorrq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vorrq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vorrq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vorrq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vorrq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vorrq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vorrq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vorrq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vorrq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vorrq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vorrq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vorrq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint32_t __builtin_mve_vorrq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vorrq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vorrq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vorrq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vorrq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vorrq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vorrq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vorrq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -short unsigned int __builtin_mve_vpnothi(short unsigned int); -__simd128_float32_t __builtin_mve_vpselq_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vpselq_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vpselq_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int64_t __builtin_mve_vpselq_sv2di(__simd128_int64_t, __simd128_int64_t, short unsigned int); -__simd128_int32_t __builtin_mve_vpselq_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vpselq_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vpselq_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint64_t __builtin_mve_vpselq_uv2di(__simd128_uint64_t, __simd128_uint64_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vpselq_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vpselq_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqabsq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqabsq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqabsq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqabsq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vqabsq_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vqabsq_sv8hi(__simd128_int16_t); -__simd128_int8_t __builtin_mve_vqaddq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vqaddq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqaddq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqaddq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vqaddq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqaddq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vqaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vqaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqaddq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vqaddq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqaddq_n_sv8hi(__simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vqaddq_n_uv16qi(__simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vqaddq_n_uv4si(__simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vqaddq_n_uv8hi(__simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqaddq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqaddq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqaddq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vqaddq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vqaddq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vqaddq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_int8_t __builtin_mve_vqdmladhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmladhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqdmladhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmladhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqdmladhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqdmladhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqdmladhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmladhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqdmladhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmladhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqdmladhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqdmladhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqdmlahq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmlahq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqdmlahq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmlahq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vqdmlahq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqdmlahq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vqdmlahq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vqdmlahq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vqdmlahq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmlsdhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmlsdhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqdmlsdhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmlsdhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqdmlsdhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqdmlsdhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqdmlsdhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmlsdhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqdmlsdhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmlsdhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqdmlsdhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqdmlsdhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqdmulhq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmulhq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqdmulhq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqdmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmulhq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vqdmulhq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqdmulhq_n_sv8hi(__simd128_int16_t, short int); -__simd128_int8_t __builtin_mve_vqdmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqdmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqdmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int64_t __builtin_mve_vqdmullbq_m_n_sv4si(__simd128_int64_t, __simd128_int32_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmullbq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, short int, short unsigned int); -__simd128_int64_t __builtin_mve_vqdmullbq_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmullbq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int64_t __builtin_mve_vqdmullbq_n_sv4si(__simd128_int32_t, int); -__simd128_int32_t __builtin_mve_vqdmullbq_n_sv8hi(__simd128_int16_t, short int); -__simd128_int64_t __builtin_mve_vqdmullbq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int32_t __builtin_mve_vqdmullbq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int64_t __builtin_mve_vqdmulltq_m_n_sv4si(__simd128_int64_t, __simd128_int32_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmulltq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, short int, short unsigned int); -__simd128_int64_t __builtin_mve_vqdmulltq_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmulltq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int64_t __builtin_mve_vqdmulltq_n_sv4si(__simd128_int32_t, int); -__simd128_int32_t __builtin_mve_vqdmulltq_n_sv8hi(__simd128_int16_t, short int); -__simd128_int64_t __builtin_mve_vqdmulltq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int32_t __builtin_mve_vqdmulltq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_mve_vqmovnbq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqmovnbq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqmovnbq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqmovnbq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqmovnbq_sv4si(__simd128_int16_t, __simd128_int32_t); -__simd128_int8_t __builtin_mve_vqmovnbq_sv8hi(__simd128_int8_t, __simd128_int16_t); -__simd128_uint16_t __builtin_mve_vqmovnbq_uv4si(__simd128_uint16_t, __simd128_uint32_t); -__simd128_uint8_t __builtin_mve_vqmovnbq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); -__simd128_int16_t __builtin_mve_vqmovntq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqmovntq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqmovntq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqmovntq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqmovntq_sv4si(__simd128_int16_t, __simd128_int32_t); -__simd128_int8_t __builtin_mve_vqmovntq_sv8hi(__simd128_int8_t, __simd128_int16_t); -__simd128_uint16_t __builtin_mve_vqmovntq_uv4si(__simd128_uint16_t, __simd128_uint32_t); -__simd128_uint8_t __builtin_mve_vqmovntq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); -__simd128_uint16_t __builtin_mve_vqmovunbq_m_sv4si(__simd128_uint16_t, __simd128_int32_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqmovunbq_m_sv8hi(__simd128_uint8_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqmovunbq_sv4si(__simd128_uint16_t, __simd128_int32_t); -__simd128_uint8_t __builtin_mve_vqmovunbq_sv8hi(__simd128_uint8_t, __simd128_int16_t); -__simd128_uint16_t __builtin_mve_vqmovuntq_m_sv4si(__simd128_uint16_t, __simd128_int32_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqmovuntq_m_sv8hi(__simd128_uint8_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqmovuntq_sv4si(__simd128_uint16_t, __simd128_int32_t); -__simd128_uint8_t __builtin_mve_vqmovuntq_sv8hi(__simd128_uint8_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqnegq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqnegq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqnegq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqnegq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vqnegq_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vqnegq_sv8hi(__simd128_int16_t); -__simd128_int8_t __builtin_mve_vqrdmladhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmladhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmladhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmladhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqrdmladhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqrdmladhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqrdmladhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmladhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmladhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmladhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqrdmladhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqrdmladhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqrdmlahq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmlahq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmlahq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmlahq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vqrdmlahq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqrdmlahq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vqrdmlahq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vqrdmlahq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vqrdmlahq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmlashq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmlashq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmlashq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmlashq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vqrdmlashq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqrdmlashq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vqrdmlashq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vqrdmlashq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vqrdmlashq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmlsdhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmlsdhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmlsdhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmlsdhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqrdmlsdhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqrdmlsdhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqrdmlsdhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmlsdhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmlsdhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmlsdhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqrdmlsdhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqrdmlsdhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqrdmulhq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmulhq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmulhq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmulhq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vqrdmulhq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqrdmulhq_n_sv8hi(__simd128_int16_t, short int); -__simd128_int8_t __builtin_mve_vqrdmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqrdmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqrdmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqrshlq_m_n_sv16qi(__simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vqrshlq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqrshlq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqrshlq_m_n_uv16qi(__simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vqrshlq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqrshlq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vqrshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqrshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqrshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqrshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vqrshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqrshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrshlq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vqrshlq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqrshlq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vqrshlq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vqrshlq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vqrshlq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vqrshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqrshlq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqrshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vqrshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); -__simd128_uint32_t __builtin_mve_vqrshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); -__simd128_uint16_t __builtin_mve_vqrshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); -__simd128_int16_t __builtin_mve_vqrshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vqrshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqrshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqrshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqrshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vqrshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vqrshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vqrshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_int16_t __builtin_mve_vqrshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vqrshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqrshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqrshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqrshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vqrshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vqrshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vqrshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_uint16_t __builtin_mve_vqrshrunbq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqrshrunbq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqrshrunbq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); -__simd128_uint8_t __builtin_mve_vqrshrunbq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vqrshruntq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqrshruntq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqrshruntq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); -__simd128_uint8_t __builtin_mve_vqrshruntq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); -__simd128_int8_t __builtin_mve_vqshlq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vqshlq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqshlq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshlq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vqshlq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshlq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vqshlq_m_r_sv16qi(__simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vqshlq_m_r_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqshlq_m_r_sv8hi(__simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshlq_m_r_uv16qi(__simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vqshlq_m_r_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshlq_m_r_uv8hi(__simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vqshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vqshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqshlq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vqshlq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqshlq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vqshlq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vqshlq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vqshlq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vqshlq_r_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vqshlq_r_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqshlq_r_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vqshlq_r_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vqshlq_r_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vqshlq_r_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vqshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqshlq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vqshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); -__simd128_uint32_t __builtin_mve_vqshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); -__simd128_uint16_t __builtin_mve_vqshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vqshluq_m_n_sv16qi(__simd128_uint8_t, __simd128_int8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vqshluq_m_n_sv4si(__simd128_uint32_t, __simd128_int32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshluq_m_n_sv8hi(__simd128_uint16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshluq_n_sv16qi(__simd128_int8_t, int); -__simd128_uint32_t __builtin_mve_vqshluq_n_sv4si(__simd128_int32_t, int); -__simd128_uint16_t __builtin_mve_vqshluq_n_sv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_mve_vqshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vqshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vqshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vqshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vqshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_int16_t __builtin_mve_vqshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vqshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vqshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vqshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vqshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_uint16_t __builtin_mve_vqshrunbq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshrunbq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshrunbq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); -__simd128_uint8_t __builtin_mve_vqshrunbq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vqshruntq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshruntq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshruntq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); -__simd128_uint8_t __builtin_mve_vqshruntq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); -__simd128_int8_t __builtin_mve_vqsubq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vqsubq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqsubq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqsubq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vqsubq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqsubq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vqsubq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqsubq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqsubq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqsubq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vqsubq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqsubq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqsubq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vqsubq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqsubq_n_sv8hi(__simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vqsubq_n_uv16qi(__simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vqsubq_n_uv4si(__simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vqsubq_n_uv8hi(__simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqsubq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqsubq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqsubq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vqsubq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vqsubq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vqsubq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_int8_t __builtin_mve_vrev16q_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vrev16q_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrev16q_sv16qi(__simd128_int8_t); -__simd128_uint8_t __builtin_mve_vrev16q_uv16qi(__simd128_uint8_t); -__simd128_float16_t __builtin_mve_vrev32q_fv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_mve_vrev32q_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrev32q_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int16_t __builtin_mve_vrev32q_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vrev32q_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vrev32q_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrev32q_sv16qi(__simd128_int8_t); -__simd128_int16_t __builtin_mve_vrev32q_sv8hi(__simd128_int16_t); -__simd128_uint8_t __builtin_mve_vrev32q_uv16qi(__simd128_uint8_t); -__simd128_uint16_t __builtin_mve_vrev32q_uv8hi(__simd128_uint16_t); -__simd128_float32_t __builtin_mve_vrev64q_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vrev64q_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vrev64q_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vrev64q_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrev64q_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vrev64q_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vrev64q_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vrev64q_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vrev64q_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vrev64q_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrev64q_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vrev64q_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vrev64q_sv8hi(__simd128_int16_t); -__simd128_uint8_t __builtin_mve_vrev64q_uv16qi(__simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vrev64q_uv4si(__simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vrev64q_uv8hi(__simd128_uint16_t); -__simd128_int8_t __builtin_mve_vrhaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vrhaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vrhaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vrhaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vrhaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vrhaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrhaddq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vrhaddq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vrhaddq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vrhaddq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vrhaddq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vrhaddq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -long long int __builtin_mve_vrmlaldavhaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long unsigned int __builtin_mve_vrmlaldavhaq_p_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -long long int __builtin_mve_vrmlaldavhaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long unsigned int __builtin_mve_vrmlaldavhaq_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t); -long long int __builtin_mve_vrmlaldavhaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vrmlaldavhaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vrmlaldavhq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long unsigned int __builtin_mve_vrmlaldavhq_p_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -long long int __builtin_mve_vrmlaldavhq_sv4si(__simd128_int32_t, __simd128_int32_t); -long long unsigned int __builtin_mve_vrmlaldavhq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -long long int __builtin_mve_vrmlaldavhxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vrmlaldavhxq_sv4si(__simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vrmlsldavhaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vrmlsldavhaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vrmlsldavhaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vrmlsldavhaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vrmlsldavhq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vrmlsldavhq_sv4si(__simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vrmlsldavhxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vrmlsldavhxq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int8_t __builtin_mve_vrmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vrmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vrmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vrmulhq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vrmulhq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vrmulhq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vrmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vrmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vrmulhq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vrmulhq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vrmulhq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vrndaq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vrndaq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vrndaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vrndaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vrndmq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vrndmq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vrndmq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vrndmq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vrndnq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vrndnq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vrndnq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vrndnq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vrndpq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vrndpq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vrndpq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vrndpq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vrndq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vrndq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vrndq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vrndq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vrndxq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vrndxq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vrndxq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vrndxq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrshlq_m_n_sv16qi(__simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vrshlq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vrshlq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vrshlq_m_n_uv16qi(__simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vrshlq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vrshlq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vrshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vrshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vrshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vrshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vrshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vrshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrshlq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vrshlq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vrshlq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vrshlq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vrshlq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vrshlq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vrshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vrshlq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vrshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vrshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); -__simd128_uint32_t __builtin_mve_vrshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); -__simd128_uint16_t __builtin_mve_vrshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); -__simd128_int16_t __builtin_mve_vrshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vrshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vrshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vrshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vrshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vrshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vrshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vrshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_int16_t __builtin_mve_vrshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vrshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vrshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vrshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vrshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vrshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vrshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vrshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vrshrq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vrshrq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vrshrq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vrshrq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vrshrq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vrshrq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vrshrq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vrshrq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vrshrq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vrshrq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vrshrq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vrshrq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int32_t __builtin_mve_vsbciq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vsbciq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vsbciq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_uint32_t __builtin_mve_vsbciq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_int32_t __builtin_mve_vsbcq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vsbcq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vsbcq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_uint32_t __builtin_mve_vsbcq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -unsigned int __builtin_mve_vshlcq_carry_sv16qi(__simd128_int8_t, unsigned int, int); -unsigned int __builtin_mve_vshlcq_carry_sv4si(__simd128_int32_t, unsigned int, int); -unsigned int __builtin_mve_vshlcq_carry_sv8hi(__simd128_int16_t, unsigned int, int); -unsigned int __builtin_mve_vshlcq_carry_uv16qi(__simd128_uint8_t, unsigned int, int); -unsigned int __builtin_mve_vshlcq_carry_uv4si(__simd128_uint32_t, unsigned int, int); -unsigned int __builtin_mve_vshlcq_carry_uv8hi(__simd128_uint16_t, unsigned int, int); -int __builtin_mve_vshlcq_m_carry_sv16qi(__simd128_int8_t, unsigned int, int, short unsigned int); -int __builtin_mve_vshlcq_m_carry_sv4si(__simd128_int32_t, unsigned int, int, short unsigned int); -int __builtin_mve_vshlcq_m_carry_sv8hi(__simd128_int16_t, unsigned int, int, short unsigned int); -unsigned int __builtin_mve_vshlcq_m_carry_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); -unsigned int __builtin_mve_vshlcq_m_carry_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); -unsigned int __builtin_mve_vshlcq_m_carry_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); -__simd128_int8_t __builtin_mve_vshlcq_m_vec_sv16qi(__simd128_int8_t, unsigned int, int, short unsigned int); -__simd128_int32_t __builtin_mve_vshlcq_m_vec_sv4si(__simd128_int32_t, unsigned int, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshlcq_m_vec_sv8hi(__simd128_int16_t, unsigned int, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vshlcq_m_vec_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vshlcq_m_vec_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshlcq_m_vec_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); -__simd128_int8_t __builtin_mve_vshlcq_vec_sv16qi(__simd128_int8_t, unsigned int, int); -__simd128_int32_t __builtin_mve_vshlcq_vec_sv4si(__simd128_int32_t, unsigned int, int); -__simd128_int16_t __builtin_mve_vshlcq_vec_sv8hi(__simd128_int16_t, unsigned int, int); -__simd128_uint8_t __builtin_mve_vshlcq_vec_uv16qi(__simd128_uint8_t, unsigned int, int); -__simd128_uint32_t __builtin_mve_vshlcq_vec_uv4si(__simd128_uint32_t, unsigned int, int); -__simd128_uint16_t __builtin_mve_vshlcq_vec_uv8hi(__simd128_uint16_t, unsigned int, int); -__simd128_int16_t __builtin_mve_vshllbq_m_n_sv16qi(__simd128_int16_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vshllbq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshllbq_m_n_uv16qi(__simd128_uint16_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vshllbq_m_n_uv8hi(__simd128_uint32_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshllbq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vshllbq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vshllbq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vshllbq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int16_t __builtin_mve_vshlltq_m_n_sv16qi(__simd128_int16_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vshlltq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshlltq_m_n_uv16qi(__simd128_uint16_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vshlltq_m_n_uv8hi(__simd128_uint32_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshlltq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vshlltq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vshlltq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vshlltq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vshlq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vshlq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshlq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vshlq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vshlq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshlq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vshlq_m_r_sv16qi(__simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vshlq_m_r_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshlq_m_r_sv8hi(__simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vshlq_m_r_uv16qi(__simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vshlq_m_r_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshlq_m_r_uv8hi(__simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vshlq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vshlq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vshlq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vshlq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vshlq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vshlq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vshlq_r_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vshlq_r_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vshlq_r_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vshlq_r_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vshlq_r_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vshlq_r_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vshlq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); -__simd128_uint32_t __builtin_mve_vshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); -__simd128_uint16_t __builtin_mve_vshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); -__simd128_int16_t __builtin_mve_vshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_int16_t __builtin_mve_vshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vshrq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vshrq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshrq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vshrq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vshrq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshrq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vshrq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vshrq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vshrq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vshrq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vshrq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vshrq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vsliq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vsliq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vsliq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vsliq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vsliq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vsliq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vsliq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vsliq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vsliq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vsliq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vsliq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vsliq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vsriq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vsriq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vsriq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vsriq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vsriq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vsriq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vsriq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vsriq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vsriq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vsriq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vsriq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vsriq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int); -void __builtin_mve_vst1q_fv4sf(int*, __simd128_float32_t); -void __builtin_mve_vst1q_fv8hf(short int*, __simd128_float16_t); -void __builtin_mve_vst1q_sv16qi(signed char*, __simd128_int8_t); -void __builtin_mve_vst1q_sv4si(int*, __simd128_int32_t); -void __builtin_mve_vst1q_sv8hi(short int*, __simd128_int16_t); -void __builtin_mve_vst1q_uv16qi(signed char*, __simd128_uint8_t); -void __builtin_mve_vst1q_uv4si(int*, __simd128_uint32_t); -void __builtin_mve_vst1q_uv8hi(short int*, __simd128_uint16_t); -void __builtin_mve_vst2qv16qi(signed char*, __builtin_neon_oi); -void __builtin_mve_vst2qv4sf(float*, __builtin_neon_oi); -void __builtin_mve_vst2qv4si(int*, __builtin_neon_oi); -void __builtin_mve_vst2qv8hf(__bf16*, __builtin_neon_oi); -void __builtin_mve_vst2qv8hi(short int*, __builtin_neon_oi); -void __builtin_mve_vst4qv16qi(signed char*, __builtin_neon_xi); -void __builtin_mve_vst4qv4sf(float*, __builtin_neon_xi); -void __builtin_mve_vst4qv4si(int*, __builtin_neon_xi); -void __builtin_mve_vst4qv8hf(__bf16*, __builtin_neon_xi); -void __builtin_mve_vst4qv8hi(short int*, __builtin_neon_xi); -void __builtin_mve_vstrbq_p_sv16qi(signed char*, __simd128_int8_t, short unsigned int); -void __builtin_mve_vstrbq_p_sv4si(signed char*, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrbq_p_sv8hi(signed char*, __simd128_int16_t, short unsigned int); -void __builtin_mve_vstrbq_p_uv16qi(signed char*, __simd128_uint8_t, short unsigned int); -void __builtin_mve_vstrbq_p_uv4si(signed char*, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrbq_p_uv8hi(signed char*, __simd128_uint16_t, short unsigned int); -void __builtin_mve_vstrbq_scatter_offset_p_sv16qi(signed char*, __simd128_uint8_t, __simd128_int8_t, short unsigned int); -void __builtin_mve_vstrbq_scatter_offset_p_sv4si(signed char*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrbq_scatter_offset_p_sv8hi(signed char*, __simd128_uint16_t, __simd128_int16_t, short unsigned int); -void __builtin_mve_vstrbq_scatter_offset_p_uv16qi(signed char*, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -void __builtin_mve_vstrbq_scatter_offset_p_uv4si(signed char*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrbq_scatter_offset_p_uv8hi(signed char*, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -void __builtin_mve_vstrbq_scatter_offset_sv16qi(signed char*, __simd128_uint8_t, __simd128_int8_t); -void __builtin_mve_vstrbq_scatter_offset_sv4si(signed char*, __simd128_uint32_t, __simd128_int32_t); -void __builtin_mve_vstrbq_scatter_offset_sv8hi(signed char*, __simd128_uint16_t, __simd128_int16_t); -void __builtin_mve_vstrbq_scatter_offset_uv16qi(signed char*, __simd128_uint8_t, __simd128_uint8_t); -void __builtin_mve_vstrbq_scatter_offset_uv4si(signed char*, __simd128_uint32_t, __simd128_uint32_t); -void __builtin_mve_vstrbq_scatter_offset_uv8hi(signed char*, __simd128_uint16_t, __simd128_uint16_t); -void __builtin_mve_vstrbq_sv16qi(signed char*, __simd128_int8_t); -void __builtin_mve_vstrbq_sv4si(signed char*, __simd128_int32_t); -void __builtin_mve_vstrbq_sv8hi(signed char*, __simd128_int16_t); -void __builtin_mve_vstrbq_uv16qi(signed char*, __simd128_uint8_t); -void __builtin_mve_vstrbq_uv4si(signed char*, __simd128_uint32_t); -void __builtin_mve_vstrbq_uv8hi(signed char*, __simd128_uint16_t); -void __builtin_mve_vstrdq_scatter_base_p_sv2di(__simd128_uint64_t, int, __simd128_int64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_base_p_uv2di(__simd128_uint64_t, int, __simd128_uint64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_base_sv2di(__simd128_uint64_t, int, __simd128_int64_t); -void __builtin_mve_vstrdq_scatter_base_uv2di(__simd128_uint64_t, int, __simd128_uint64_t); -void __builtin_mve_vstrdq_scatter_base_wb_add_sv2di(__simd128_uint64_t, const int, __simd128_uint64_t); -void __builtin_mve_vstrdq_scatter_base_wb_add_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t); -void __builtin_mve_vstrdq_scatter_base_wb_p_add_sv2di(__simd128_uint64_t, const int, __simd128_uint64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_base_wb_p_add_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_base_wb_p_sv2di(__simd128_uint64_t, const int, __simd128_int64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_base_wb_p_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_base_wb_sv2di(__simd128_uint64_t, const int, __simd128_int64_t); -void __builtin_mve_vstrdq_scatter_base_wb_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t); -void __builtin_mve_vstrdq_scatter_offset_p_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_offset_p_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_offset_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t); -void __builtin_mve_vstrdq_scatter_offset_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t); -void __builtin_mve_vstrdq_scatter_shifted_offset_p_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_shifted_offset_p_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_shifted_offset_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t); -void __builtin_mve_vstrdq_scatter_shifted_offset_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t); -void __builtin_mve_vstrhq_fv8hf(short int*, __simd128_float16_t); -void __builtin_mve_vstrhq_p_fv8hf(short int*, __simd128_float16_t, short unsigned int); -void __builtin_mve_vstrhq_p_sv4si(short int*, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrhq_p_sv8hi(short int*, __simd128_int16_t, short unsigned int); -void __builtin_mve_vstrhq_p_uv4si(short int*, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrhq_p_uv8hi(short int*, __simd128_uint16_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_offset_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t); -void __builtin_mve_vstrhq_scatter_offset_p_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_offset_p_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_offset_p_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_offset_p_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_offset_p_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_offset_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t); -void __builtin_mve_vstrhq_scatter_offset_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t); -void __builtin_mve_vstrhq_scatter_offset_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t); -void __builtin_mve_vstrhq_scatter_offset_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t); -void __builtin_mve_vstrhq_scatter_shifted_offset_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t); -void __builtin_mve_vstrhq_scatter_shifted_offset_p_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_shifted_offset_p_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_shifted_offset_p_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_shifted_offset_p_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_shifted_offset_p_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_shifted_offset_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t); -void __builtin_mve_vstrhq_scatter_shifted_offset_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t); -void __builtin_mve_vstrhq_scatter_shifted_offset_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t); -void __builtin_mve_vstrhq_scatter_shifted_offset_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t); -void __builtin_mve_vstrhq_sv4si(short int*, __simd128_int32_t); -void __builtin_mve_vstrhq_sv8hi(short int*, __simd128_int16_t); -void __builtin_mve_vstrhq_uv4si(short int*, __simd128_uint32_t); -void __builtin_mve_vstrhq_uv8hi(short int*, __simd128_uint16_t); -void __builtin_mve_vstrwq_fv4sf(int*, __simd128_float32_t); -void __builtin_mve_vstrwq_p_fv4sf(int*, __simd128_float32_t, short unsigned int); -void __builtin_mve_vstrwq_p_sv4si(int*, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrwq_p_uv4si(int*, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_fv4sf(__simd128_uint32_t, int, __simd128_float32_t); -void __builtin_mve_vstrwq_scatter_base_p_fv4sf(__simd128_uint32_t, int, __simd128_float32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_p_sv4si(__simd128_uint32_t, int, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_p_uv4si(__simd128_uint32_t, int, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_sv4si(__simd128_uint32_t, int, __simd128_int32_t); -void __builtin_mve_vstrwq_scatter_base_uv4si(__simd128_uint32_t, int, __simd128_uint32_t); -void __builtin_mve_vstrwq_scatter_base_wb_add_fv4sf(__simd128_uint32_t, const int, __simd128_uint32_t); -void __builtin_mve_vstrwq_scatter_base_wb_add_sv4si(__simd128_uint32_t, const int, __simd128_uint32_t); -void __builtin_mve_vstrwq_scatter_base_wb_add_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t); -void __builtin_mve_vstrwq_scatter_base_wb_fv4sf(__simd128_uint32_t, const int, __simd128_float32_t); -void __builtin_mve_vstrwq_scatter_base_wb_p_add_fv4sf(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_wb_p_add_sv4si(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_wb_p_add_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_wb_p_fv4sf(__simd128_uint32_t, const int, __simd128_float32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_wb_p_sv4si(__simd128_uint32_t, const int, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_wb_p_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_wb_sv4si(__simd128_uint32_t, const int, __simd128_int32_t); -void __builtin_mve_vstrwq_scatter_base_wb_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t); -void __builtin_mve_vstrwq_scatter_offset_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t); -void __builtin_mve_vstrwq_scatter_offset_p_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_offset_p_sv4si(int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_offset_p_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_offset_sv4si(int*, __simd128_uint32_t, __simd128_int32_t); -void __builtin_mve_vstrwq_scatter_offset_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t); -void __builtin_mve_vstrwq_scatter_shifted_offset_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t); -void __builtin_mve_vstrwq_scatter_shifted_offset_p_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_shifted_offset_p_sv4si(int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_shifted_offset_p_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_shifted_offset_sv4si(int*, __simd128_uint32_t, __simd128_int32_t); -void __builtin_mve_vstrwq_scatter_shifted_offset_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t); -void __builtin_mve_vstrwq_sv4si(int*, __simd128_int32_t); -void __builtin_mve_vstrwq_uv4si(int*, __simd128_uint32_t); -__simd128_float32_t __builtin_mve_vsubq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vsubq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vsubq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vsubq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vsubq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); -__simd128_float16_t __builtin_mve_vsubq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); -__simd128_int8_t __builtin_mve_vsubq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vsubq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vsubq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vsubq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vsubq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vsubq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vsubq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vsubq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vsubq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vsubq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vsubq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vsubq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vsubq_n_fv4sf(__simd128_float32_t, float); -__simd128_float16_t __builtin_mve_vsubq_n_fv8hf(__simd128_float16_t, __bf16); -__simd128_int8_t __builtin_mve_vsubq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vsubq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vsubq_n_sv8hi(__simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vsubq_n_uv16qi(__simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vsubq_n_uv4si(__simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vsubq_n_uv8hi(__simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vsubq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vsubq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vsubq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vsubq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vsubq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vsubq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); - -#endif // __arm__ - -#ifdef __ARM_FEATURE_CMSE //eg, __ARM_FEATURE_CMSE is defined when passing -mcpu=cortex-m23 -mcmse -unsigned int __builtin_arm_cmse_nonsecure_caller(); -#endif - -#ifdef __ARM_NEON__ -typedef signed char __builtin_neon_qi; -typedef short int __builtin_neon_hi; -typedef int __builtin_neon_si; -typedef long long int __builtin_neon_di; -typedef int __builtin_neon_ti __attribute__((mode(TI))); -typedef unsigned int __builtin_neon_uti __attribute__((mode(TI))); -typedef unsigned char __builtin_neon_uqi; -typedef short unsigned int __builtin_neon_uhi; -typedef unsigned int __builtin_neon_usi; -typedef unsigned long long __builtin_neon_udi; -typedef int __builtin_neon_ei __attribute__ ((__vector_size__(32))); -typedef int __builtin_neon_ci __attribute__ ((__vector_size__(64))); -typedef int __builtin_neon_poly8 __attribute__((mode(QI))); -typedef int __builtin_neon_poly16 __attribute__((mode(HI))); -typedef float __builtin_neon_sf; -typedef float __builtin_neon_hf; -typedef unsigned long long __builtin_neon_poly64; -typedef unsigned int __builtin_neon_poly128 __attribute__((mode(TI))); - -typedef char __simd64_int8_t __attribute__((__vector_size__(8))); -typedef short __simd64_int16_t __attribute__((__vector_size__(8))); -typedef int __simd64_int32_t __attribute__((__vector_size__(8))); -typedef unsigned char __simd64_uint8_t __attribute__((__vector_size__(8))); -typedef unsigned short __simd64_uint16_t __attribute__((__vector_size__(8))); -typedef unsigned int __simd64_uint32_t __attribute__((__vector_size__(8))); - -#ifdef __ARM_FEATURE_FP16_SCALAR_ARITHMETIC -typedef cov_fp16_t __fp16; -#endif -typedef cov_fp16_t __simd64_float16_t __attribute__((__vector_size__(8))); -typedef float __simd64_float32_t __attribute__((__vector_size__(8))); - -typedef signed char __simd64_poly8_t __attribute__((__vector_size__(8))); -typedef short __simd64_poly16_t __attribute__((__vector_size__(8))); -typedef signed char __simd128_poly8_t __attribute__((__vector_size__(16))); -typedef short __simd128_poly16_t __attribute__((__vector_size__(16))); -typedef __bf16 __simd128_bfloat16_t __attribute__((__vector_size__(16))); -typedef __bf16 __simd64_bfloat16_t __attribute__((__vector_size__(8))); - -__simd128_uint8_t __builtin_arm_crypto_aesd(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint8_t __builtin_arm_crypto_aese(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint8_t __builtin_arm_crypto_aesimc(__simd128_uint8_t); -__simd128_uint8_t __builtin_arm_crypto_aesmc(__simd128_uint8_t); -__simd128_uint32_t __builtin_arm_crypto_sha1c(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha1h(__simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha1m(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha1p(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha1su0(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha1su1(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha256h(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha256h2(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha256su0(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha256su1(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); -__builtin_neon_uti __builtin_arm_crypto_vmullp64(long long unsigned int, long long unsigned int); -void __builtin_arm_lane_check(int, int); - -__builtin_neon_ci __builtin_neon_vld3_lanev4sf (const __builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); -__builtin_neon_ci __builtin_neon_vld3_lanev4si (const __builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); -__builtin_neon_ci __builtin_neon_vld3_lanev8hf(const cov_fp16_t*, __builtin_neon_ci, int); -__builtin_neon_ci __builtin_neon_vld3_lanev8hi (const __builtin_neon_hi * __a, __builtin_neon_ci __b, const int __c); -__builtin_neon_ci __builtin_neon_vld3v16qi (const __builtin_neon_qi * __a); -__builtin_neon_ci __builtin_neon_vld3v4sf (const __builtin_neon_sf * __a); -__builtin_neon_ci __builtin_neon_vld3v4si (const __builtin_neon_si * __a); -__builtin_neon_ci __builtin_neon_vld3v8hf(const cov_fp16_t*); -__builtin_neon_ci __builtin_neon_vld3v8hi (const __builtin_neon_hi * __a); -__builtin_neon_ci __builtin_neon_vld4_lanev4sf (const __builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); -__builtin_neon_ci __builtin_neon_vld4_lanev4si (const __builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); -__builtin_neon_ci __builtin_neon_vld4_lanev8hi (const __builtin_neon_hi * __a, __builtin_neon_ci __b, const int __c); -__builtin_neon_ci __builtin_neon_vld4v16qi (const __builtin_neon_qi * __a); -__builtin_neon_ci __builtin_neon_vld4v4sf (const __builtin_neon_sf * __a); -__builtin_neon_ci __builtin_neon_vld4v4si (const __builtin_neon_si * __a); -__builtin_neon_ci __builtin_neon_vld4v8hi (const __builtin_neon_hi * __a); -__builtin_neon_ei __builtin_neon_vld3di (const __builtin_neon_di * __a); -__builtin_neon_ei __builtin_neon_vld3_dupdi (const __builtin_neon_di * __a); -__builtin_neon_ei __builtin_neon_vld3_dupv2sf (const __builtin_neon_sf * __a); -__builtin_neon_ei __builtin_neon_vld3_dupv2si (const __builtin_neon_si * __a); -__builtin_neon_ei __builtin_neon_vld3_dupv4hf(const cov_fp16_t*); -__builtin_neon_ei __builtin_neon_vld3_dupv4hi (const __builtin_neon_hi * __a); -__builtin_neon_ei __builtin_neon_vld3_dupv8qi (const __builtin_neon_qi * __a); -__builtin_neon_ei __builtin_neon_vld3_lanev2sf (const __builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld3_lanev2si (const __builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld3_lanev4hf(const cov_fp16_t*, __builtin_neon_ei, int); -__builtin_neon_ei __builtin_neon_vld3_lanev4hi (const __builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld3_lanev8qi (const __builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld3v2sf (const __builtin_neon_sf * __a); -__builtin_neon_ei __builtin_neon_vld3v2si (const __builtin_neon_si * __a); -__builtin_neon_ei __builtin_neon_vld3v4hf(const cov_fp16_t*); -__builtin_neon_ei __builtin_neon_vld3v4hi (const __builtin_neon_hi * __a); -__builtin_neon_ei __builtin_neon_vld3v8qi (const __builtin_neon_qi * __a); -__builtin_neon_ei __builtin_neon_vld4di (const __builtin_neon_di * __a); -__builtin_neon_ei __builtin_neon_vld4_dupdi (const __builtin_neon_di * __a); -__builtin_neon_ei __builtin_neon_vld4_dupv2sf (const __builtin_neon_sf * __a); -__builtin_neon_ei __builtin_neon_vld4_dupv2si (const __builtin_neon_si * __a); -__builtin_neon_ei __builtin_neon_vld4_dupv4hi (const __builtin_neon_hi * __a); -__builtin_neon_ei __builtin_neon_vld4_dupv8qi (const __builtin_neon_qi * __a); -__builtin_neon_ei __builtin_neon_vld4_lanev2sf (const __builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld4_lanev2si (const __builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld4_lanev4hi (const __builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld4_lanev8qi (const __builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld4v2sf (const __builtin_neon_sf * __a); -__builtin_neon_ei __builtin_neon_vld4v2si (const __builtin_neon_si * __a); -__builtin_neon_ei __builtin_neon_vld4v4hi (const __builtin_neon_hi * __a); -__builtin_neon_ei __builtin_neon_vld4v8qi (const __builtin_neon_qi * __a); -__builtin_neon_oi __builtin_neon_vld2_lanev4sf (const __builtin_neon_sf * __a, __builtin_neon_oi __b, const int __c); -__builtin_neon_oi __builtin_neon_vld2_lanev4si (const __builtin_neon_si * __a, __builtin_neon_oi __b, const int __c); -__builtin_neon_oi __builtin_neon_vld2_lanev8hf(const cov_fp16_t*, __builtin_neon_oi, int); -__builtin_neon_oi __builtin_neon_vld2_lanev8hi (const __builtin_neon_hi * __a, __builtin_neon_oi __b, const int __c); -__builtin_neon_oi __builtin_neon_vld2v16qi (const __builtin_neon_qi * __a); -__builtin_neon_oi __builtin_neon_vld2v4sf (const __builtin_neon_sf * __a); -__builtin_neon_oi __builtin_neon_vld2v4si (const __builtin_neon_si * __a); -__builtin_neon_oi __builtin_neon_vld2v8hf(const cov_fp16_t*); -__builtin_neon_oi __builtin_neon_vld2v8hi (const __builtin_neon_hi * __a); -__builtin_neon_oi __builtin_neon_vld4_dupv4hf(const cov_fp16_t*); -__builtin_neon_oi __builtin_neon_vld4_lanev4hf(const cov_fp16_t*, __builtin_neon_oi, int); -__builtin_neon_oi __builtin_neon_vld4v4hf(const cov_fp16_t*); -__builtin_neon_ti __builtin_neon_vld2di (const __builtin_neon_di * __a); -__builtin_neon_ti __builtin_neon_vld2_dupdi (const __builtin_neon_di * __a); -__builtin_neon_ti __builtin_neon_vld2_dupv2sf (const __builtin_neon_sf * __a); -__builtin_neon_ti __builtin_neon_vld2_dupv2si (const __builtin_neon_si * __a); -__builtin_neon_ti __builtin_neon_vld2_dupv4hf(const cov_fp16_t*); -__builtin_neon_ti __builtin_neon_vld2_dupv4hi (const __builtin_neon_hi * __a); -__builtin_neon_ti __builtin_neon_vld2_dupv8qi (const __builtin_neon_qi * __a); -__builtin_neon_ti __builtin_neon_vld2_lanev2sf (const __builtin_neon_sf * __a, float __b, const int __c); -__builtin_neon_ti __builtin_neon_vld2_lanev2si (const __builtin_neon_si * __a, int __b, const int __c); -__builtin_neon_ti __builtin_neon_vld2_lanev4hf(const cov_fp16_t*, __builtin_neon_ti, int); -__builtin_neon_ti __builtin_neon_vld2_lanev4hi (const __builtin_neon_hi * __a, int __b, const int __c); -__builtin_neon_ti __builtin_neon_vld2_lanev8qi (const __builtin_neon_qi * __a, int __b, const int __c); -__builtin_neon_ti __builtin_neon_vld2v2sf (const __builtin_neon_sf * __a); -__builtin_neon_ti __builtin_neon_vld2v2si (const __builtin_neon_si * __a); -__builtin_neon_ti __builtin_neon_vld2v4hf(const cov_fp16_t*); -__builtin_neon_ti __builtin_neon_vld2v4hi (const __builtin_neon_hi * __a); -__builtin_neon_ti __builtin_neon_vld2v8qi (const __builtin_neon_qi * __a); -__builtin_neon_uti __builtin_arm_crypto_vmullp64(long long unsigned int, long long unsigned int); -__builtin_neon_xi __builtin_neon_vld4_lanev8hf(const cov_fp16_t*, __builtin_neon_xi, int); -__builtin_neon_xi __builtin_neon_vld4v8hf(const cov_fp16_t*); -cov_fp16_t __builtin_neon_vabshf(cov_fp16_t); -cov_fp16_t __builtin_neon_vcvthshf(int); -cov_fp16_t __builtin_neon_vcvths_nhf(int, int); -cov_fp16_t __builtin_neon_vcvthuhf(int); -cov_fp16_t __builtin_neon_vcvthu_nhf(int, int); -cov_fp16_t __builtin_neon_vfmahf(cov_fp16_t, cov_fp16_t, cov_fp16_t); -cov_fp16_t __builtin_neon_vfmshf(cov_fp16_t, cov_fp16_t, cov_fp16_t); -cov_fp16_t __builtin_neon_vmaxnmhf(cov_fp16_t, cov_fp16_t); -cov_fp16_t __builtin_neon_vminnmhf(cov_fp16_t, cov_fp16_t); -cov_fp16_t __builtin_neon_vrndahf(cov_fp16_t); -cov_fp16_t __builtin_neon_vrndhf(cov_fp16_t); -cov_fp16_t __builtin_neon_vrndihf(cov_fp16_t); -cov_fp16_t __builtin_neon_vrndmhf(cov_fp16_t); -cov_fp16_t __builtin_neon_vrndnhf(cov_fp16_t); -cov_fp16_t __builtin_neon_vrndphf(cov_fp16_t); -cov_fp16_t __builtin_neon_vrndxhf(cov_fp16_t); -cov_fp16_t __builtin_neon_vsqrthf(cov_fp16_t); -float __builtin_neon_vget_lanev2sf (__simd64_float32_t __a, const int __b); -float __builtin_neon_vget_lanev4sf (__simd128_float32_t __a, const int __b); -int __builtin_neon_vbsldi (int __a, int __b, int __c); -int __builtin_neon_vcreatedi (__builtin_neon_di __a); -int __builtin_neon_vcvtahssi(cov_fp16_t); -int __builtin_neon_vcvtahusi(cov_fp16_t); -int __builtin_neon_vcvths_nsi(cov_fp16_t, int); -int __builtin_neon_vcvthssi(cov_fp16_t); -int __builtin_neon_vcvthu_nsi(cov_fp16_t, int); -int __builtin_neon_vcvthusi(cov_fp16_t); -int __builtin_neon_vcvtmhssi(cov_fp16_t); -int __builtin_neon_vcvtmhusi(cov_fp16_t); -int __builtin_neon_vcvtnhssi(cov_fp16_t); -int __builtin_neon_vcvtnhusi(cov_fp16_t); -int __builtin_neon_vcvtphssi(cov_fp16_t); -int __builtin_neon_vcvtphusi(cov_fp16_t); -int __builtin_neon_vdup_lanedi (int __a, const int __b); -int __builtin_neon_vdup_ndi (__builtin_neon_di __a); -int __builtin_neon_vextdi (int __a, int __b, const int __c); -int __builtin_neon_vget_lanedi (int __a, const int __b); -int __builtin_neon_vget_laneuv16qi(__simd128_int8_t, int); -int __builtin_neon_vget_laneuv4hi(__simd64_int16_t, int); -int __builtin_neon_vget_laneuv8hi(__simd128_int16_t, int); -int __builtin_neon_vget_laneuv8qi(__simd64_int8_t, int); -int __builtin_neon_vget_lanev16qi(__simd128_int8_t, int); -int __builtin_neon_vget_lanev2si (__simd64_int32_t __a, const int __b); -int __builtin_neon_vget_lanev4hi(__simd64_int16_t, int); -int __builtin_neon_vget_lanev4si (__simd128_int32_t __a, const int __b); -int __builtin_neon_vget_lanev8hi(__simd128_int16_t, int); -int __builtin_neon_vget_lanev8qi(__simd64_int8_t, int); -int __builtin_neon_vld1di (const __builtin_neon_di * __a); -int __builtin_neon_vld1_dupdi (const __builtin_neon_di * __a); -int __builtin_neon_vld1_lanedi (const __builtin_neon_di* __a, int __b, const int __c); -int __builtin_neon_vpadalsv2si (int __a, __simd64_int32_t __b); -int __builtin_neon_vpaddlsv2si (__simd64_int32_t __a); -int __builtin_neon_vqaddsdi (int __a, int __b); -int __builtin_neon_vqrshlsdi (int __a, int __b); -int __builtin_neon_vqshlsdi (int __a, int __b); -int __builtin_neon_vqshl_s_ndi (int __a, const int __b); -int __builtin_neon_vqsubsdi (int __a, int __b); -int __builtin_neon_vqsubudi (int __a, int __b); -int __builtin_neon_vreinterpretdidi (int __a); -int __builtin_neon_vreinterpretdiv2sf (__simd64_float32_t __a); -int __builtin_neon_vreinterpretdiv2si (__simd64_int32_t __a); -int __builtin_neon_vreinterpretdiv4hi (__simd64_int32_t __a); -int __builtin_neon_vreinterpretdiv8qi (__simd64_int32_t __a); -int __builtin_neon_vrshlsdi (int __a, int __b); -int __builtin_neon_vrshrs_ndi (int __a, const int __b); -int __builtin_neon_vrsras_ndi (int __a, int __b, const int __c); -int __builtin_neon_vset_lanedi (__builtin_neon_di __a, int __b, const int __c); -int __builtin_neon_vshl_ndi (int __a, const int __b); -int __builtin_neon_vshlsdi (int __a, int __b); -int __builtin_neon_vshrs_ndi (int __a, const int __b); -int __builtin_neon_vsli_ndi (int __a, int __b, const int __c); -int __builtin_neon_vsras_ndi (int __a, int __b, const int __c); -int __builtin_neon_vsri_ndi (int __a, int __b, const int __c); -int __builtin_neon_vst1_lanedi (__builtin_neon_di * __a, int __b, const int __c); -void __builtin_neon_vst2di(long long int*, __builtin_neon_ti); -int __builtin_neon_vst2_lanev2sf (__builtin_neon_sf * __a, float __b, const int __c); -int __builtin_neon_vst2_lanev2si (__builtin_neon_si * __a, int __b, const int __c); -int __builtin_neon_vst2_lanev4hi (__builtin_neon_hi * __a, int __b, const int __c); -int __builtin_neon_vst2_lanev4sf (__builtin_neon_sf * __a, __builtin_neon_oi __b, const int __c); -int __builtin_neon_vst2_lanev4si (__builtin_neon_si * __a, __builtin_neon_oi __b, const int __c); -int __builtin_neon_vst2_lanev8hi (__builtin_neon_hi* __a, __builtin_neon_oi __b, const int __c); -int __builtin_neon_vst2_lanev8qi (__builtin_neon_qi * __a, int __b, const int __c); -void __builtin_neon_vst2v16qi(signed char*, __builtin_neon_oi); -void __builtin_neon_vst2v2sf(float*, __builtin_neon_ti); -void __builtin_neon_vst2v2si(int*, __builtin_neon_ti); -void __builtin_neon_vst2v4hi(short int*, __builtin_neon_ti); -void __builtin_neon_vst2v4sf(float*, __builtin_neon_oi); -void __builtin_neon_vst2v4si(int*, __builtin_neon_oi); -void __builtin_neon_vst2v8hi(short int*, __builtin_neon_oi); -void __builtin_neon_vst2v8qi(signed char*, __builtin_neon_ti); -void __builtin_neon_vst3di(long long int*, __builtin_neon_ei); -int __builtin_neon_vst3_lanev2sf (__builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); -int __builtin_neon_vst3_lanev2si (__builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); -int __builtin_neon_vst3_lanev4hi (__builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); -int __builtin_neon_vst3_lanev4sf (__builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); -int __builtin_neon_vst3_lanev4si (__builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); -int __builtin_neon_vst3_lanev8hi (__builtin_neon_hi* __a, __builtin_neon_ci __b, const int __c); -int __builtin_neon_vst3_lanev8qi (__builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); -void __builtin_neon_vst3v16qi(signed char*, __builtin_neon_ci); -void __builtin_neon_vst3v2sf(float*, __builtin_neon_ei); -void __builtin_neon_vst3v2si(int*, __builtin_neon_ei); -void __builtin_neon_vst3v4hi(short int*, __builtin_neon_ei); -void __builtin_neon_vst3v4sf(float*, __builtin_neon_ci); -void __builtin_neon_vst3v4si(int*, __builtin_neon_ci); -void __builtin_neon_vst3v8hi(short int*, __builtin_neon_ci); -void __builtin_neon_vst3v8qi(signed char*, __builtin_neon_ei); -void __builtin_neon_vst4di(long long int*, __builtin_neon_oi); -int __builtin_neon_vst4_lanev2sf (__builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); -int __builtin_neon_vst4_lanev2si (__builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); -int __builtin_neon_vst4_lanev4hi (__builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); -int __builtin_neon_vst4_lanev4sf (__builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); -int __builtin_neon_vst4_lanev4si (__builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); -int __builtin_neon_vst4_lanev8hi (__builtin_neon_hi* __a, __builtin_neon_ci __b, const int __c); -int __builtin_neon_vst4_lanev8qi (__builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); -void __builtin_neon_vst4v16qi(signed char*, __builtin_neon_xi); -void __builtin_neon_vst4v2sf(float*, __builtin_neon_oi); -void __builtin_neon_vst4v2si(int*, __builtin_neon_oi); -void __builtin_neon_vst4v4hi(short int*, __builtin_neon_oi); -void __builtin_neon_vst4v4sf(float*, __builtin_neon_xi); -void __builtin_neon_vst4v4si(int*, __builtin_neon_xi); -void __builtin_neon_vst4v8hi(short int*, __builtin_neon_xi); -void __builtin_neon_vst4v8qi(signed char*, __builtin_neon_oi); -long long int __builtin_neon_vget_highv2di(__simd128_int64_t); -long long int __builtin_neon_vget_lanev2di(__simd128_int64_t, int); -long long int __builtin_neon_vget_lowv2di(__simd128_int64_t); -__simd128_float16_t __builtin_neon_vabdv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vabsv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vaddv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vbslv8hf(__simd128_int16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vcadd90v8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vcmla0v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vcmla180v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vcmla270v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vcmla90v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vcmla_lane0v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float16_t __builtin_neon_vcmla_lane180v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float16_t __builtin_neon_vcmla_lane270v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float16_t __builtin_neon_vcmla_lane90v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float16_t __builtin_neon_vcmlaq_lane0v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float16_t __builtin_neon_vcmlaq_lane180v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float16_t __builtin_neon_vcmlaq_lane270v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float16_t __builtin_neon_vcmlaq_lane90v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float16_t __builtin_neon_vcombinev4hf(__simd64_float16_t, __simd64_float16_t); -__simd128_float16_t __builtin_neon_vcvts_nv8hi(__simd128_int16_t, int); -__simd128_float16_t __builtin_neon_vcvtsv8hi(__simd128_int16_t); -__simd128_float16_t __builtin_neon_vcvtu_nv8hi(__simd128_int16_t, int); -__simd128_float16_t __builtin_neon_vcvtuv8hi(__simd128_int16_t); -__simd128_float16_t __builtin_neon_vdup_lanev8hf(__simd64_float16_t, int); -__simd128_float16_t __builtin_neon_vdup_nv8hf(cov_fp16_t); -__simd128_float16_t __builtin_neon_vextv8hf(__simd128_float16_t, __simd128_float16_t, int); -__simd128_float16_t __builtin_neon_vfmav8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vfmsv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vld1v8hf(const cov_fp16_t*); -__simd128_float16_t __builtin_neon_vmaxfv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vmaxnmv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vminfv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vminnmv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vmulfv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vmul_lanev8hf(__simd128_float16_t, __simd64_float16_t, int); -__simd128_float16_t __builtin_neon_vmul_nv8hf(__simd128_float16_t, cov_fp16_t); -__simd128_float16_t __builtin_neon_vnegv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrecpev8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrecpsv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vrndav8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrndmv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrndnv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrndpv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrndv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrndxv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrsqrtev8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrsqrtsv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vsubv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_neon_vabdfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_float32_t __builtin_neon_vabsv4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vaddv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_float32_t __builtin_neon_vbslv4sf (__simd128_int32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); -__simd128_float32_t __builtin_neon_vcadd90v4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vcmla0v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vcmla180v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vcmla270v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vcmla90v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vcmla_lane0v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); -__simd128_float32_t __builtin_neon_vcmla_lane180v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); -__simd128_float32_t __builtin_neon_vcmla_lane270v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); -__simd128_float32_t __builtin_neon_vcmla_lane90v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); -__simd128_float32_t __builtin_neon_vcmlaq_lane0v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); -__simd128_float32_t __builtin_neon_vcmlaq_lane180v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); -__simd128_float32_t __builtin_neon_vcmlaq_lane270v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); -__simd128_float32_t __builtin_neon_vcmlaq_lane90v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); -__simd128_float32_t __builtin_neon_vcombinev2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd128_float32_t __builtin_neon_vcvts_nv4si (__simd128_int32_t __a, const int __b); -__simd128_float32_t __builtin_neon_vcvtsv4si (__simd128_int32_t __a); -__simd128_float32_t __builtin_neon_vcvtu_nv4si (__simd128_int32_t __a, const int __b); -__simd128_float32_t __builtin_neon_vcvtuv4si (__simd128_int32_t __a); -__simd128_float32_t __builtin_neon_vcvtv4sfv4hf(__simd64_float16_t); -__simd128_float32_t __builtin_neon_vdup_lanev4sf (__simd64_float32_t __a, const int __b); -__simd128_float32_t __builtin_neon_vdup_nv4sf (__builtin_neon_sf __a); -__simd128_float32_t __builtin_neon_vextv4sf (__simd128_float32_t __a, __simd128_float32_t __b, const int __c); -__simd128_float32_t __builtin_neon_vfmal_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_neon_vfmal_lane_highv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float32_t __builtin_neon_vfmal_lane_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float32_t __builtin_neon_vfmal_lane_lowv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float32_t __builtin_neon_vfmal_lane_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float32_t __builtin_neon_vfmal_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_neon_vfmav4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); -__simd128_float32_t __builtin_neon_vfmsl_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_neon_vfmsl_lane_highv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float32_t __builtin_neon_vfmsl_lane_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float32_t __builtin_neon_vfmsl_lane_lowv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float32_t __builtin_neon_vfmsl_lane_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float32_t __builtin_neon_vfmsl_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_neon_vfmsv4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); -__simd128_float32_t __builtin_neon_vld1_dupv4sf (const __builtin_neon_sf * __a); -__simd128_float32_t __builtin_neon_vld1_lanev4sf (const float * __a, __simd128_float32_t __b, const int __c); -__simd128_float32_t __builtin_neon_vld1v4sf (const __builtin_neon_sf * __a); -__simd128_float32_t __builtin_neon_vmaxfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_float32_t __builtin_neon_vmaxnmv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vminfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_float32_t __builtin_neon_vminnmv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vmla_lanev4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd64_float32_t __c, const int __d); -__simd128_float32_t __builtin_neon_vmla_nv4sf (__simd128_float32_t __a, __simd128_float32_t __b, float __c); -__simd128_float32_t __builtin_neon_vmlav4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); -__simd128_float32_t __builtin_neon_vmls_lanev4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd64_float32_t __c, const int __d); -__simd128_float32_t __builtin_neon_vmls_nv4sf (__simd128_float32_t __a, __simd128_float32_t __b, float __c); -__simd128_float32_t __builtin_neon_vmlsv4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); -__simd128_float32_t __builtin_neon_vmulfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_float32_t __builtin_neon_vmul_lanev4sf (__simd128_float32_t __a, __simd64_float32_t __b, const int __c); -__simd128_float32_t __builtin_neon_vmul_nv4sf (__simd128_float32_t __a, float __b); -__simd128_float32_t __builtin_neon_vnegv4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrecpev4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrecpsv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_float32_t __builtin_neon_vreinterpretv4sfti (__builtin_neon_ti __a); -__simd128_float32_t __builtin_neon_vreinterpretv4sfv16qi (__simd128_int32_t __a); -__simd128_float32_t __builtin_neon_vreinterpretv4sfv2di (__simd128_int32_t __a); -__simd128_float32_t __builtin_neon_vreinterpretv4sfv4si (__simd128_int32_t __a); -__simd128_float32_t __builtin_neon_vreinterpretv4sfv8hi (__simd128_int32_t __a); -__simd128_float32_t __builtin_neon_vrintav4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrintmv4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrintnv4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrintpv4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrintxv4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrintzv4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrsqrtev4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrsqrtsv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_float32_t __builtin_neon_vset_lanev4sf (float __a, __simd128_float32_t __b, const int __c); -void __builtin_neon_vst1_lanev4sf(float*, __simd128_float32_t, int); -void __builtin_neon_vst1v4sf(float*, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vsubv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_int16_t __builtin_neon_vabalsv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vabaluv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vabasv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vabauv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vabdlsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vabdluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vabdsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vabduv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vabsv8hi(__simd128_int16_t); -__simd128_int16_t __builtin_neon_vaddlsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vaddluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vaddwsv8qi(__simd128_int16_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vaddwuv8qi(__simd128_int16_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vbslv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vcagev8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vcagtv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vcalev8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vcaltv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vceqv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vceqv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vceqzv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcgeuv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vcgev8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vcgev8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vcgezv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcgtuv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vcgtv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vcgtv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vcgtzv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vclev8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vclezv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vclsv8hi(__simd128_int16_t); -__simd128_int16_t __builtin_neon_vcltv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vcltzv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vclzv8hi(__simd128_int16_t); -__simd128_int16_t __builtin_neon_vcombinev4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int16_t __builtin_neon_vcvtasv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtauv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtmsv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtmuv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtnsv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtnuv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtpsv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtpuv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvts_nv8hf(__simd128_float16_t, int); -__simd128_int16_t __builtin_neon_vcvtsv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtu_nv8hf(__simd128_float16_t, int); -__simd128_int16_t __builtin_neon_vcvtuv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vdup_lanev8hi(__simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vextv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vhaddsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vhadduv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vhsubsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vhsubuv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vld1_lanev8hi(const short int*, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vmaxsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vmaxuv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vminsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vminuv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vmla_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vmlalsv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vmlaluv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vmla_nv8hi(__simd128_int16_t, __simd128_int16_t, short int); -__simd128_int16_t __builtin_neon_vmlav8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vmls_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vmlslsv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vmlsluv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vmls_nv8hi(__simd128_int16_t, __simd128_int16_t, short int); -__simd128_int16_t __builtin_neon_vmlsv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vmovlsv8qi(__simd64_int8_t); -__simd128_int16_t __builtin_neon_vmovluv8qi(__simd64_int8_t); -__simd128_int16_t __builtin_neon_vmul_lanev8hi(__simd128_int16_t, __simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vmullpv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vmullsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vmulluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vmul_nv8hi(__simd128_int16_t, short int); -__simd128_int16_t __builtin_neon_vmvnv8hi(__simd128_int16_t); -__simd128_int16_t __builtin_neon_vnegv8hi(__simd128_int16_t); -__simd128_int16_t __builtin_neon_vpadalsv16qi(__simd128_int16_t, __simd128_int8_t); -__simd128_int16_t __builtin_neon_vpadaluv16qi(__simd128_int16_t, __simd128_int8_t); -__simd128_int16_t __builtin_neon_vpaddlsv16qi(__simd128_int8_t); -__simd128_int16_t __builtin_neon_vpaddluv16qi(__simd128_int8_t); -__simd128_int16_t __builtin_neon_vqabsv8hi(__simd128_int16_t); -__simd128_int16_t __builtin_neon_vqaddsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqadduv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqdmulh_lanev8hi(__simd128_int16_t, __simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vqdmulh_nv8hi(__simd128_int16_t, short int); -__simd128_int16_t __builtin_neon_vqdmulhv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqnegv8hi(__simd128_int16_t); -__simd128_int16_t __builtin_neon_vqrdmlah_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vqrdmlahv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqrdmlsh_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vqrdmlshv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqrdmulh_lanev8hi(__simd128_int16_t, __simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vqrdmulh_nv8hi(__simd128_int16_t, short int); -__simd128_int16_t __builtin_neon_vqrdmulhv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqrshlsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqrshluv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqshl_s_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vqshlsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqshl_u_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vqshlu_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vqshluv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqsubsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqsubuv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vrhaddsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vrhadduv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vrshlsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vrshluv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vrshrs_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vrshru_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vrsras_nv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vrsrau_nv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vset_lanev8hi(short int, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vshlls_nv8qi(__simd64_int8_t, int); -__simd128_int16_t __builtin_neon_vshllu_nv8qi(__simd64_int8_t, int); -__simd128_int16_t __builtin_neon_vshl_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vshlsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vshluv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vshrs_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vshru_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vsli_nv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vsras_nv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vsrau_nv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vsri_nv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vsublsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vsubluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vsubwsv8qi(__simd128_int16_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vsubwuv8qi(__simd128_int16_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vtstv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int32_t __builtin_neon_sdot_lanev16qi(__simd128_int32_t, __simd128_int8_t, __simd64_int8_t, int); -__simd128_int32_t __builtin_neon_sdotv16qi(__simd128_int32_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_neon_vabalsv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vabaluv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vabasv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); -__simd128_int32_t __builtin_neon_vabauv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); -__simd128_int32_t __builtin_neon_vabdlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vabdlsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vabdluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vabdluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vabdsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vabduv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vabsv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vaddlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vaddlsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vaddluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vaddluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vaddwsv4hi(__simd128_int32_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vaddwuv4hi(__simd128_int32_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vbslv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); -__simd128_int32_t __builtin_neon_vcagev4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_int32_t __builtin_neon_vcagtv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_int32_t __builtin_neon_vceqv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_int32_t __builtin_neon_vceqv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vcgeuv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vcgev4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_int32_t __builtin_neon_vcgev4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vcgtuv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vcgtv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_int32_t __builtin_neon_vcgtv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vclsv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vclzv4si (__simd128_int32_t __a); -__simd128_int64_t __builtin_neon_vcombinedi (long long int __a, long long int __b); -__simd128_int32_t __builtin_neon_vcombinev2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vcvts_nv4sf (__simd128_float32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vcvtsv4sf (__simd128_float32_t __a); -__simd128_int32_t __builtin_neon_vcvtu_nv4sf (__simd128_float32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vcvtuv4sf (__simd128_float32_t __a); -__simd128_int32_t __builtin_neon_vdup_lanev2di (int __a, const int __b); -__simd128_int32_t __builtin_neon_vdup_lanev4si (__simd64_int32_t __a, const int __b); -__simd128_int8_t __builtin_neon_vdup_nv16qi(signed char); -__simd128_int64_t __builtin_neon_vdup_nv2di(long long int); -__simd128_int32_t __builtin_neon_vdup_nv4si (__builtin_neon_si __a); -__simd128_int16_t __builtin_neon_vdup_nv8hi(short int); -__simd128_int32_t __builtin_neon_vextv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vhaddsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vhadduv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vhsubsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vhsubuv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int8_t __builtin_neon_vld1_dupv16qi(const signed char*); -__simd128_int64_t __builtin_neon_vld1_dupv2di(const long long int*); -__simd128_int32_t __builtin_neon_vld1_dupv4si (const __builtin_neon_si * __a); -__simd128_int16_t __builtin_neon_vld1_dupv8hi(const short int*); -__simd128_int32_t __builtin_neon_vld1_lanev4si (const int * __a, __simd128_int32_t __b, const int __c); -__simd128_int8_t __builtin_neon_vld1v16qi(const signed char*); -__simd128_int64_t __builtin_neon_vld1v2di(const long long int*); -__simd128_int32_t __builtin_neon_vld1v4si (const __builtin_neon_si * __a); -__simd128_int16_t __builtin_neon_vld1v8hi(const short int*); -__simd128_int32_t __builtin_neon_vmaxsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vmaxuv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vminsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vminuv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vmla_lanev4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd64_int32_t __c, const int __d); -__simd128_int32_t __builtin_neon_vmlals_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vmlals_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vmlalsv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vmlalu_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vmlalu_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vmlaluv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vmla_nv4si (__simd128_int32_t __a, __simd128_int32_t __a, int __c); -__simd128_int32_t __builtin_neon_vmlav4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); -__simd128_int32_t __builtin_neon_vmls_lanev4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd64_int32_t __c, const int __d); -__simd128_int32_t __builtin_neon_vmlsls_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vmlsls_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vmlslsv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vmlslu_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vmlslu_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vmlsluv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vmls_nv4si (__simd128_int32_t __a, __simd128_int32_t __a, int __c); -__simd128_int32_t __builtin_neon_vmlsv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); -__simd128_int32_t __builtin_neon_vmovlsv2si (__simd64_int32_t __a); -__simd128_int32_t __builtin_neon_vmovlsv4hi(__simd64_int16_t); -__simd128_int32_t __builtin_neon_vmovluv2si (__simd64_int32_t __a); -__simd128_int32_t __builtin_neon_vmovluv4hi(__simd64_int16_t); -__simd128_int32_t __builtin_neon_vmul_lanev4si (__simd128_int32_t __a, __simd64_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vmulls_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vmulls_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vmulls_nv2si (__simd64_int32_t __a, int __b); -__simd128_int32_t __builtin_neon_vmulls_nv4hi(__simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vmullsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vmullsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vmullu_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vmullu_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vmullu_nv2si (__simd64_int32_t __a, __builtin_neon_si __b); -__simd128_int32_t __builtin_neon_vmullu_nv4hi(__simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vmulluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vmulluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vmul_nv4si (__simd128_int32_t __a, int __b); -__simd128_int32_t __builtin_neon_vmvnv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vnegv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vpadalsv8hi(__simd128_int32_t, __simd128_int16_t); -__simd128_int32_t __builtin_neon_vpadaluv8hi(__simd128_int32_t, __simd128_int16_t); -__simd128_int32_t __builtin_neon_vpaddlsv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vpaddlsv8hi(__simd128_int16_t); -__simd128_int32_t __builtin_neon_vpaddluv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vpaddluv8hi(__simd128_int16_t); -__simd128_int32_t __builtin_neon_vqabsv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vqaddsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqadduv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqdmlal_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vqdmlal_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vqdmlalv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vqdmlsl_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vqdmlsl_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vqdmlslv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vqdmulh_lanev4si (__simd128_int32_t __a, __simd64_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vqdmulh_nv4si (__simd128_int32_t __a, int __b); -__simd128_int32_t __builtin_neon_vqdmulhv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqdmull_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vqdmull_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vqdmull_nv2si (__simd64_int32_t __a, int __b); -__simd128_int32_t __builtin_neon_vqdmull_nv4hi(__simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vqdmullv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vqdmullv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vqnegv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vqrdmlah_lanev4si(__simd128_int32_t, __simd128_int32_t, __simd64_int32_t, int); -__simd128_int32_t __builtin_neon_vqrdmlahv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int32_t __builtin_neon_vqrdmlsh_lanev4si(__simd128_int32_t, __simd128_int32_t, __simd64_int32_t, int); -__simd128_int32_t __builtin_neon_vqrdmlshv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int32_t __builtin_neon_vqrdmulh_lanev4si (__simd128_int32_t __a, __simd64_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vqrdmulh_nv4si (__simd128_int32_t __a, int __b); -__simd128_int32_t __builtin_neon_vqrdmulhv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqrshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqrshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqshl_s_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vqshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqshl_u_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vqshlu_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vqshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqsubsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqsubuv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vrecpev4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterprettiv16qi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterprettiv2di (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterprettiv4sf (__simd128_float32_t __a); -__simd128_int32_t __builtin_neon_vreinterprettiv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterprettiv8hi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv16qiti (__builtin_neon_ti __a); -__simd128_int32_t __builtin_neon_vreinterpretv16qiv16qi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv16qiv2di (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv16qiv4sf (__simd128_float32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv16qiv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv16qiv8hi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv2diti (__builtin_neon_ti __a); -__simd128_int32_t __builtin_neon_vreinterpretv2div16qi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv2div2di (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv2div4sf (__simd128_float32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv2div4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv2div8hi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv4siti (__builtin_neon_ti __a); -__simd128_int32_t __builtin_neon_vreinterpretv4siv16qi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv4siv2di (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv4siv4sf (__simd128_float32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv4siv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv4siv8hi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv8hiti (__builtin_neon_ti __a); -__simd128_int32_t __builtin_neon_vreinterpretv8hiv16qi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv8hiv2di (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv8hiv4sf (__simd128_float32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv8hiv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv8hiv8hi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vrhaddsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vrhadduv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vrshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vrshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vrshrs_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vrshru_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vrsqrtev4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vrsras_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vrsrau_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vset_lanev4si (int __a, __simd128_int32_t __a, const int __c); -__simd128_int32_t __builtin_neon_vshlls_nv2si (__simd64_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vshlls_nv4hi(__simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vshllu_nv2si (__simd64_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vshllu_nv4hi(__simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vshl_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vshrs_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vshru_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vsli_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vsras_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vsrau_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vsri_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); -void __builtin_neon_vst1_lanev4si(int*, __simd128_int32_t, int); -void __builtin_neon_vst1v4si(int*, __simd128_int32_t); -__simd128_int32_t __builtin_neon_vsublsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vsublsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vsubluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vsubluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vsubwsv4hi(__simd128_int32_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vsubwuv4hi(__simd128_int32_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vtstv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int64_t __builtin_neon_vabalsv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vabaluv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vaddwsv2si(__simd128_int64_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vaddwuv2si(__simd128_int64_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vbslv2di(__simd128_int64_t, __simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vextv2di(__simd128_int64_t, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vld1_lanev2di(const long long int*, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vmlals_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlals_nv2si(__simd128_int64_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlalsv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vmlalu_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlalu_nv2si(__simd128_int64_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlaluv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vmlsls_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlsls_nv2si(__simd128_int64_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlslsv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vmlslu_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlslu_nv2si(__simd128_int64_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlsluv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vpadalsv4si(__simd128_int64_t, __simd128_int32_t); -__simd128_int64_t __builtin_neon_vpadaluv4si(__simd128_int64_t, __simd128_int32_t); -__simd128_int64_t __builtin_neon_vqaddsv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vqadduv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vqdmlal_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vqdmlal_nv2si(__simd128_int64_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vqdmlalv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vqdmlsl_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vqdmlsl_nv2si(__simd128_int64_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vqdmlslv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vqrshlsv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vqrshluv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vqshl_s_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vqshlsv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vqshl_u_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vqshlu_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vqshluv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vqsubsv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vqsubuv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vrshlsv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vrshluv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vrshrs_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vrshru_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vrsras_nv2di(__simd128_int64_t, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vrsrau_nv2di(__simd128_int64_t, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vset_lanev2di(long long int, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vshl_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vshlsv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vshluv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vshrs_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vshru_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vsli_nv2di(__simd128_int64_t, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vsras_nv2di(__simd128_int64_t, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vsrau_nv2di(__simd128_int64_t, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vsri_nv2di(__simd128_int64_t, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vsubwsv2si(__simd128_int64_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vsubwuv2si(__simd128_int64_t, __simd64_int32_t); -__simd128_int8_t __builtin_neon_vabasv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vabauv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vabdsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vabduv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vabsv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vbslv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vceqv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vcgeuv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vcgev16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vcgtuv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vcgtv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vclsv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vclzv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vcntv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vcombinev8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int8_t __builtin_neon_vdup_lanev16qi(__simd64_int8_t, int); -__simd128_int8_t __builtin_neon_vextv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vhaddsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vhadduv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vhsubsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vhsubuv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vld1_lanev16qi(const signed char*, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vmaxsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vmaxuv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vminsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vminuv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vmlav16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vmlsv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vmulpv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vmvnv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vnegv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vqabsv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vqaddsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vqadduv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vqnegv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vqrshlsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vqrshluv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vqshl_s_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vqshlsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vqshl_u_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vqshlu_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vqshluv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vqsubsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vqsubuv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vrhaddsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vrhadduv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vrshlsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vrshluv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vrshrs_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vrshru_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vrsras_nv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vrsrau_nv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vset_lanev16qi(signed char, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vshl_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vshlsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vshluv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vshrs_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vshru_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vsli_nv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vsras_nv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vsrau_nv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vsri_nv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vtstv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_uint32_t __builtin_neon_udot_lanev16qi_uuuus(__simd128_uint32_t, __simd128_uint8_t, __simd64_uint8_t, int); -__simd128_uint32_t __builtin_neon_udotv16qi_uuuu(__simd128_uint32_t, __simd128_uint8_t, __simd128_uint8_t); -__simd64_float16_t __builtin_neon_vabdv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vabsv4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vaddv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vbslv4hf(__simd64_int16_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vcadd90v4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vcmla0v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vcmla180v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vcmla270v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vcmla90v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vcmla_lane0v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float16_t __builtin_neon_vcmla_lane180v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float16_t __builtin_neon_vcmla_lane270v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float16_t __builtin_neon_vcmla_lane90v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float16_t __builtin_neon_vcmla_laneq0v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float16_t __builtin_neon_vcmla_laneq180v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float16_t __builtin_neon_vcmla_laneq270v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float16_t __builtin_neon_vcmla_laneq90v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float16_t __builtin_neon_vcvts_nv4hi(__simd64_int16_t, int); -__simd64_float16_t __builtin_neon_vcvtsv4hi(__simd64_int16_t); -__simd64_float16_t __builtin_neon_vcvtu_nv4hi(__simd64_int16_t, int); -__simd64_float16_t __builtin_neon_vcvtuv4hi(__simd64_int16_t); -__simd64_float16_t __builtin_neon_vdup_lanev4hf(__simd64_float16_t, int); -__simd64_float16_t __builtin_neon_vdup_nv4hf(cov_fp16_t); -__simd64_float16_t __builtin_neon_vextv4hf(__simd64_float16_t, __simd64_float16_t, int); -__simd64_float16_t __builtin_neon_vfmav4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vfmsv4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vget_highv8hf(__simd128_float16_t); -__simd64_float16_t __builtin_neon_vget_lowv8hf(__simd128_float16_t); -__simd64_float16_t __builtin_neon_vld1v4hf(const cov_fp16_t*); -__simd64_float16_t __builtin_neon_vmaxfv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vmaxnmv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vminfv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vminnmv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vmulfv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vmul_lanev4hf(__simd64_float16_t, __simd64_float16_t, int); -__simd64_float16_t __builtin_neon_vmul_nv4hf(__simd64_float16_t, cov_fp16_t); -__simd64_float16_t __builtin_neon_vnegv4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vpaddv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vpmaxfv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vpminfv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vrecpev4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrecpsv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vrndav4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrndmv4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrndnv4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrndpv4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrndv4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrndxv4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrsqrtev4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrsqrtsv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vsubv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float32_t __builtin_neon_vabdfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vabsv2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vaddv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vbslv2sf (__simd64_int32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); -__simd64_float32_t __builtin_neon_vcadd90v2sf(__simd64_float32_t, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vcmla0v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vcmla180v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vcmla270v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vcmla90v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vcmla_lane0v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); -__simd64_float32_t __builtin_neon_vcmla_lane180v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); -__simd64_float32_t __builtin_neon_vcmla_lane270v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); -__simd64_float32_t __builtin_neon_vcmla_lane90v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); -__simd64_float32_t __builtin_neon_vcmla_laneq0v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); -__simd64_float32_t __builtin_neon_vcmla_laneq180v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); -__simd64_float32_t __builtin_neon_vcmla_laneq270v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); -__simd64_float32_t __builtin_neon_vcmla_laneq90v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); -__simd64_float32_t __builtin_neon_vcreatev2sf (__builtin_neon_di __a); -__simd64_float32_t __builtin_neon_vcvts_nv2si (__simd64_int32_t __a, const int __b); -__simd64_float32_t __builtin_neon_vcvtsv2si (__simd64_int32_t __a); -__simd64_float32_t __builtin_neon_vcvtu_nv2si (__simd64_int32_t __a, const int __b); -__simd64_float32_t __builtin_neon_vcvtuv2si (__simd64_int32_t __a); -__simd64_float16_t __builtin_neon_vcvtv4hfv4sf(__simd128_float32_t); -__simd64_float32_t __builtin_neon_vdup_lanev2sf (__simd64_float32_t __a, const int __b); -__simd64_float32_t __builtin_neon_vdup_nv2sf (__builtin_neon_sf __a); -__simd64_float32_t __builtin_neon_vextv2sf (__simd64_float32_t __a, __simd64_float32_t __b, const int __c); -__simd64_float32_t __builtin_neon_vfmal_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float32_t __builtin_neon_vfmal_lane_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float32_t __builtin_neon_vfmal_lane_highv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float32_t __builtin_neon_vfmal_lane_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float32_t __builtin_neon_vfmal_lane_lowv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float32_t __builtin_neon_vfmal_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float32_t __builtin_neon_vfmav2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); -__simd64_float32_t __builtin_neon_vfmsl_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float32_t __builtin_neon_vfmsl_lane_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float32_t __builtin_neon_vfmsl_lane_highv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float32_t __builtin_neon_vfmsl_lane_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float32_t __builtin_neon_vfmsl_lane_lowv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float32_t __builtin_neon_vfmsl_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float32_t __builtin_neon_vfmsv2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); -__simd64_float32_t __builtin_neon_vget_highv4sf (__simd128_float32_t __a); -__simd64_float32_t __builtin_neon_vget_lowv4sf (__simd128_float32_t __a); -__simd64_float32_t __builtin_neon_vld1_dupv2sf (const __builtin_neon_sf * __a); -__simd64_float32_t __builtin_neon_vld1_lanev2sf (const float * __a, __simd64_float32_t __b, const int __c); -__simd64_float32_t __builtin_neon_vld1v2sf (const __builtin_neon_sf * __a); -__simd64_float32_t __builtin_neon_vmaxfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vmaxnmv2sf(__simd64_float32_t, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vminfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vminnmv2sf(__simd64_float32_t, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vmla_lanev2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c, const int __d); -__simd64_float32_t __builtin_neon_vmla_nv2sf (__simd64_float32_t __a, __simd64_float32_t __b, float __c); -__simd64_float32_t __builtin_neon_vmlav2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); -__simd64_float32_t __builtin_neon_vmls_lanev2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c, const int __d); -__simd64_float32_t __builtin_neon_vmls_nv2sf (__simd64_float32_t __a, __simd64_float32_t __b, float __c); -__simd64_float32_t __builtin_neon_vmlsv2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); -__simd64_float32_t __builtin_neon_vmulfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vmul_lanev2sf (__simd64_float32_t __a, __simd64_float32_t __b, const int __c); -__simd64_float32_t __builtin_neon_vmul_nv2sf (__simd64_float32_t __a, float __b); -__simd64_float32_t __builtin_neon_vnegv2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vpaddv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vpmaxfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vpminfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vrecpev2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrecpsv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vrintav2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrintmv2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrintnv2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrintpv2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrintxv2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrintzv2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrsqrtev2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrsqrtsv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vset_lanev2sf (float __a, __simd64_float32_t __b, const int __c); -void __builtin_neon_vst1_lanev2sf(float*, __simd64_float32_t, int); -void __builtin_neon_vst1v2sf(float*, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vsubv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_int16_t __builtin_neon_vabasv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vabauv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vabdsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vabduv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vabsv4hi(__simd64_int16_t); -__simd64_int16_t __builtin_neon_vbslv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vcagev4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vcagtv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vcalev4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vcaltv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vceqv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vceqv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vceqzv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcgeuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vcgev4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vcgev4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vcgezv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcgtuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vcgtv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vcgtv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vcgtzv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vclev4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vclezv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vclsv4hi(__simd64_int16_t); -__simd64_int16_t __builtin_neon_vcltv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vcltzv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vclzv4hi(__simd64_int16_t); -__simd64_int16_t __builtin_neon_vcvtasv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtauv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtmsv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtmuv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtnsv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtnuv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtpsv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtpuv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvts_nv4hf(__simd64_float16_t, int); -__simd64_int16_t __builtin_neon_vcvtsv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtu_nv4hf(__simd64_float16_t, int); -__simd64_int16_t __builtin_neon_vcvtuv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vdup_lanev4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vextv4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vget_highv8hi(__simd128_int16_t); -__simd64_int16_t __builtin_neon_vget_lowv8hi(__simd128_int16_t); -__simd64_int16_t __builtin_neon_vhaddsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vhadduv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vhsubsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vhsubuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vld1_lanev4hi(const short int*, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vmaxsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vmaxuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vminsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vminuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vmla_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vmla_nv4hi(__simd64_int16_t, __simd64_int16_t, short int); -__simd64_int16_t __builtin_neon_vmlav4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vmls_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vmls_nv4hi(__simd64_int16_t, __simd64_int16_t, short int); -__simd64_int16_t __builtin_neon_vmlsv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vmul_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vmul_nv4hi(__simd64_int16_t, short int); -__simd64_int16_t __builtin_neon_vmvnv4hi(__simd64_int16_t); -__simd64_int16_t __builtin_neon_vnegv4hi(__simd64_int16_t); -__simd64_int16_t __builtin_neon_vpadalsv8qi(__simd64_int16_t, __simd64_int8_t); -__simd64_int16_t __builtin_neon_vpadaluv8qi(__simd64_int16_t, __simd64_int8_t); -__simd64_int16_t __builtin_neon_vpaddlsv8qi(__simd64_int8_t); -__simd64_int16_t __builtin_neon_vpaddluv8qi(__simd64_int8_t); -__simd64_int16_t __builtin_neon_vpaddv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vpmaxsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vpmaxuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vpminsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vpminuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqabsv4hi(__simd64_int16_t); -__simd64_int16_t __builtin_neon_vqaddsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqadduv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqdmulh_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vqdmulh_nv4hi(__simd64_int16_t, short int); -__simd64_int16_t __builtin_neon_vqdmulhv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqnegv4hi(__simd64_int16_t); -__simd64_int16_t __builtin_neon_vqrdmlah_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vqrdmlahv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqrdmlsh_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vqrdmlshv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqrdmulh_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vqrdmulh_nv4hi(__simd64_int16_t, short int); -__simd64_int16_t __builtin_neon_vqrdmulhv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqrshlsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqrshluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqshl_s_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vqshlsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqshl_u_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vqshlu_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vqshluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqsubsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqsubuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vrhaddsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vrhadduv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vrshlsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vrshluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vrshrs_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vrshru_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vrsras_nv4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vrsrau_nv4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vset_lanev4hi(short int, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vshl_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vshlsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vshluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vshrs_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vshru_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vsli_nv4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vsras_nv4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vsrau_nv4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vsri_nv4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vtstv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int32_t __builtin_neon_sdot_lanev8qi(__simd64_int32_t, __simd64_int8_t, __simd64_int8_t, int); -__simd64_int32_t __builtin_neon_sdotv8qi(__simd64_int32_t, __simd64_int8_t, __simd64_int8_t); -__simd64_int32_t __builtin_neon_vabasv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); -__simd64_int32_t __builtin_neon_vabauv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); -__simd64_int32_t __builtin_neon_vabdsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vabduv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vabsv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vaddhnv2di(__simd128_int64_t, __simd128_int64_t); -__simd64_int32_t __builtin_neon_vaddhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd64_int32_t __builtin_neon_vbslv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); -__simd64_int32_t __builtin_neon_vcagev2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_int32_t __builtin_neon_vcagtv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_int32_t __builtin_neon_vceqv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_int32_t __builtin_neon_vceqv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vcgeuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vcgev2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_int32_t __builtin_neon_vcgev2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vcgtuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vcgtv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_int32_t __builtin_neon_vcgtv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vclsv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vclzv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vcreatev2si (__builtin_neon_di __a); -__simd64_int16_t __builtin_neon_vcreatev4hi(long long int); -__simd64_int8_t __builtin_neon_vcreatev8qi(long long int); -__simd64_int32_t __builtin_neon_vcvts_nv2sf (__simd64_float32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vcvtsv2sf (__simd64_float32_t __a); -__simd64_int32_t __builtin_neon_vcvtu_nv2sf (__simd64_float32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vcvtuv2sf (__simd64_float32_t __a); -__simd64_int32_t __builtin_neon_vdup_lanev2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vdup_nv2si (__builtin_neon_si __a); -__simd64_int16_t __builtin_neon_vdup_nv4hi (__builtin_neon_hi __a); -__simd64_int8_t __builtin_neon_vdup_nv8qi(signed char); -__simd64_int32_t __builtin_neon_vextv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vget_highv4si (__simd128_int32_t __a); -__simd64_int32_t __builtin_neon_vget_lowv4si (__simd128_int32_t __a); -__simd64_int32_t __builtin_neon_vhaddsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vhadduv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vhsubsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vhsubuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vld1_dupv2si (const __builtin_neon_si * __a); -__simd64_int16_t __builtin_neon_vld1_dupv4hi(const short int*); -__simd64_int8_t __builtin_neon_vld1_dupv8qi(const signed char*); -__simd64_int32_t __builtin_neon_vld1_lanev2si (const int * __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vld1v2si (const __builtin_neon_si * __a); -__simd64_int16_t __builtin_neon_vld1v4hi(const short int*); -__simd64_int8_t __builtin_neon_vld1v8qi(const signed char*); -__simd64_int32_t __builtin_neon_vmaxsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vmaxuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vminsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vminuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vmla_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c, const int __d); -__simd64_int32_t __builtin_neon_vmla_nv2si (__simd64_int32_t __a, __simd64_int32_t __a, int __c); -__simd64_int32_t __builtin_neon_vmlav2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); -__simd64_int32_t __builtin_neon_vmls_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c, const int __d); -__simd64_int32_t __builtin_neon_vmls_nv2si (__simd64_int32_t __a, __simd64_int32_t __a, int __c); -__simd64_int32_t __builtin_neon_vmlsv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); -__simd64_int32_t __builtin_neon_vmovnv2di(__simd128_int64_t); -__simd64_int32_t __builtin_neon_vmovnv4si (__simd128_int32_t __a); -__simd64_int32_t __builtin_neon_vmul_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vmul_nv2si (__simd64_int32_t __a, int __b); -__simd64_int32_t __builtin_neon_vmvnv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vnegv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vpadalsv4hi(__simd64_int32_t, __simd64_int16_t); -__simd64_int32_t __builtin_neon_vpadaluv4hi(__simd64_int32_t, __simd64_int16_t); -__simd64_int32_t __builtin_neon_vpaddlsv4hi(__simd64_int16_t); -__simd64_int32_t __builtin_neon_vpaddluv4hi(__simd64_int16_t); -__simd64_int32_t __builtin_neon_vpaddv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vpmaxsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vpmaxuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vpminsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vpminuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqabsv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vqaddsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqadduv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqdmulh_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vqdmulh_nv2si (__simd64_int32_t __a, int __b); -__simd64_int32_t __builtin_neon_vqdmulhv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqmovnsv2di(__simd128_int64_t); -__simd64_int32_t __builtin_neon_vqmovnsv4si (__simd128_int32_t __a); -__simd64_int32_t __builtin_neon_vqmovnuv2di(__simd128_int64_t); -__simd64_int32_t __builtin_neon_vqmovnuv4si (__simd128_int32_t __a); -__simd64_int32_t __builtin_neon_vqmovunv2di(__simd128_int64_t); -__simd64_int32_t __builtin_neon_vqmovunv4si (__simd128_int32_t __a); -__simd64_int32_t __builtin_neon_vqnegv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vqrdmlah_lanev2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t, int); -__simd64_int32_t __builtin_neon_vqrdmlahv2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t); -__simd64_int32_t __builtin_neon_vqrdmlsh_lanev2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t, int); -__simd64_int32_t __builtin_neon_vqrdmlshv2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t); -__simd64_int32_t __builtin_neon_vqrdmulh_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vqrdmulh_nv2si (__simd64_int32_t __a, int __b); -__simd64_int32_t __builtin_neon_vqrdmulhv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqrshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqrshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqrshrns_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vqrshrns_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqrshrnu_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vqrshrnu_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqrshrun_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vqrshrun_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqshl_s_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqshl_u_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqshlu_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqshrns_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vqshrns_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqshrnu_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vqshrnu_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqshrun_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vqshrun_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqsubsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqsubuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vraddhnv2di(__simd128_int64_t, __simd128_int64_t); -__simd64_int32_t __builtin_neon_vraddhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd64_int32_t __builtin_neon_vrecpev2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2sfdi (int __a); -__simd64_int32_t __builtin_neon_vreinterpretv2sfv2sf (__simd64_float32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2sfv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2sfv4hi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2sfv8qi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2sidi (int __a); -__simd64_int32_t __builtin_neon_vreinterpretv2siv2sf (__simd64_float32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2siv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2siv4hi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2siv8qi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv4hidi (int __a); -__simd64_int32_t __builtin_neon_vreinterpretv4hiv2sf (__simd64_float32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv4hiv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv4hiv4hi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv4hiv8qi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv8qidi (int __a); -__simd64_int32_t __builtin_neon_vreinterpretv8qiv2sf (__simd64_float32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv8qiv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv8qiv4hi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv8qiv8qi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vrhaddsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vrhadduv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vrshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vrshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vrshrn_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vrshrn_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vrshrs_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vrshru_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vrsqrtev2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vrsras_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vrsrau_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vrsubhnv2di(__simd128_int64_t, __simd128_int64_t); -__simd64_int32_t __builtin_neon_vrsubhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd64_int32_t __builtin_neon_vset_lanev2si (int __a, __simd64_int32_t __a, const int __c); -__simd64_int32_t __builtin_neon_vshl_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vshrn_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vshrn_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vshrs_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vshru_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vsli_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vsras_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vsrau_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vsri_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -void __builtin_neon_vst1di(long long int*, long long int); -void __builtin_neon_vst1_lanev2si(int*, __simd64_int32_t, int); -void __builtin_neon_vst1v2si(int*, __simd64_int32_t); -__simd64_int32_t __builtin_neon_vsubhnv2di(__simd128_int64_t, __simd128_int64_t); -__simd64_int32_t __builtin_neon_vsubhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd64_int32_t __builtin_neon_vtstv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int8_t __builtin_neon_vabasv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vabauv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vabdsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vabduv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vabsv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vaddhnv8hi(__simd128_int16_t, __simd128_int16_t); -__simd64_int8_t __builtin_neon_vbslv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vceqv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vcgeuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vcgev8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vcgtuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vcgtv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vclsv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vclzv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vcntv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vdup_lanev8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vextv8qi(__simd64_int8_t, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vget_highv16qi(__simd128_int8_t); -__simd64_int8_t __builtin_neon_vget_lowv16qi(__simd128_int8_t); -__simd64_int8_t __builtin_neon_vhaddsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vhadduv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vhsubsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vhsubuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vld1_lanev8qi(const signed char*, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vmaxsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vmaxuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vminsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vminuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vmlav8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vmlsv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vmovnv8hi(__simd128_int16_t); -__simd64_int8_t __builtin_neon_vmulpv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vmvnv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vnegv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vpaddv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vpmaxsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vpmaxuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vpminsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vpminuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqabsv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vqaddsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqadduv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqmovnsv8hi(__simd128_int16_t); -__simd64_int8_t __builtin_neon_vqmovnuv8hi(__simd128_int16_t); -__simd64_int8_t __builtin_neon_vqmovunv8hi(__simd128_int16_t); -__simd64_int8_t __builtin_neon_vqnegv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vqrshlsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqrshluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqrshrns_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vqrshrnu_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vqrshrun_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vqshl_s_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vqshlsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqshl_u_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vqshlu_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vqshluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqshrns_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vqshrnu_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vqshrun_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vqsubsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqsubuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vraddhnv8hi(__simd128_int16_t, __simd128_int16_t); -__simd64_int8_t __builtin_neon_vrhaddsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vrhadduv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vrshlsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vrshluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vrshrn_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vrshrs_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vrshru_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vrsras_nv8qi(__simd64_int8_t, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vrsrau_nv8qi(__simd64_int8_t, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vrsubhnv8hi(__simd128_int16_t, __simd128_int16_t); -__simd64_int8_t __builtin_neon_vset_lanev8qi(signed char, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vshl_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vshlsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vshluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vshrn_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vshrs_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vshru_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vsli_nv8qi(__simd64_int8_t, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vsras_nv8qi(__simd64_int8_t, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vsrau_nv8qi(__simd64_int8_t, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vsri_nv8qi(__simd64_int8_t, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vsubhnv8hi(__simd128_int16_t, __simd128_int16_t); -__simd64_int8_t __builtin_neon_vtbl1v8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtbl2v8qi(__builtin_neon_ti, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtbl3v8qi(__builtin_neon_ei, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtbl4v8qi(__builtin_neon_oi, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtbx1v8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtbx2v8qi(__simd64_int8_t, __builtin_neon_ti, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtbx3v8qi(__simd64_int8_t, __builtin_neon_ei, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtbx4v8qi(__simd64_int8_t, __builtin_neon_oi, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtstv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_uint32_t __builtin_neon_udot_lanev8qi_uuuus(__simd64_uint32_t, __simd64_uint8_t, __simd64_uint8_t, int); -__simd64_uint32_t __builtin_neon_udotv8qi_uuuu(__simd64_uint32_t, __simd64_uint8_t, __simd64_uint8_t); -unsigned int __builtin_neon_vget_laneuv2si (__simd64_int32_t __a, const int __b); -unsigned int __builtin_neon_vget_laneuv4si (__simd128_int32_t __a, const int __b); -unsigned int __builtin_neon_vpadaluv2si (int __a, __simd64_int32_t __b); -unsigned int __builtin_neon_vpaddluv2si (__simd64_int32_t __a); -unsigned int __builtin_neon_vqaddudi (int __a, int __b); -unsigned int __builtin_neon_vqrshludi (int __a, int __b); -unsigned int __builtin_neon_vqshludi (int __a, int __b); -unsigned int __builtin_neon_vqshl_u_ndi (int __a, const int __b); -unsigned int __builtin_neon_vqshlu_ndi (int __a, const int __b); -unsigned int __builtin_neon_vrshludi (int __a, int __b); -unsigned int __builtin_neon_vrshru_ndi (int __a, const int __b); -unsigned int __builtin_neon_vrsrau_ndi (int __a, int __b, const int __c); -unsigned int __builtin_neon_vshludi (int __a, int __b); -unsigned int __builtin_neon_vshru_ndi (int __a, const int __b); -unsigned int __builtin_neon_vsrau_ndi (int __a, int __b, const int __c); -void __builtin_neon_vst1_lanev16qi(signed char*, __simd128_int8_t, int); -void __builtin_neon_vst1_lanev2di(long long int*, __simd128_int64_t, int); -void __builtin_neon_vst1_lanev4hf(cov_fp16_t*, __simd64_float16_t, int); -void __builtin_neon_vst1_lanev4hi(short int*, __simd64_int16_t, int); -void __builtin_neon_vst1_lanev8hf(cov_fp16_t*, __simd128_float16_t, int); -void __builtin_neon_vst1_lanev8hi(short int*, __simd128_int16_t, int); -void __builtin_neon_vst1_lanev8qi(signed char*, __simd64_int8_t, int); -void __builtin_neon_vst1v16qi(signed char*, __simd128_int8_t); -void __builtin_neon_vst1v2di(long long int*, __simd128_int64_t); -void __builtin_neon_vst1v4hf(cov_fp16_t*, __simd64_float16_t); -void __builtin_neon_vst1v4hi(short int*, __simd64_int16_t); -void __builtin_neon_vst1v8hf(cov_fp16_t*, __simd128_float16_t); -void __builtin_neon_vst1v8hi(short int*, __simd128_int16_t); -void __builtin_neon_vst1v8qi(signed char*, __simd64_int8_t); -void __builtin_neon_vst2_lanev4hf(cov_fp16_t*, __builtin_neon_ti, int); -void __builtin_neon_vst2_lanev8hf(cov_fp16_t*, __builtin_neon_oi, int); -void __builtin_neon_vst2v4hf(cov_fp16_t*, __builtin_neon_ti); -void __builtin_neon_vst2v8hf(cov_fp16_t*, __builtin_neon_oi); -void __builtin_neon_vst3_lanev4hf(cov_fp16_t*, __builtin_neon_ei, int); -void __builtin_neon_vst3_lanev8hf(cov_fp16_t*, __builtin_neon_ci, int); -void __builtin_neon_vst3v4hf(cov_fp16_t*, __builtin_neon_ei); -void __builtin_neon_vst3v8hf(cov_fp16_t*, __builtin_neon_ci); -void __builtin_neon_vst4_lanev4hf(cov_fp16_t*, __builtin_neon_oi, int); -void __builtin_neon_vst4_lanev8hf(cov_fp16_t*, __builtin_neon_xi, int); -void __builtin_neon_vst4v4hf(cov_fp16_t*, __builtin_neon_oi); -void __builtin_neon_vst4v8hf(cov_fp16_t*, __builtin_neon_xi); - -// -mfpu=vfpv2 -mfloat-abi=hard -mfpu=neon -__simd128_uint64_t __builtin_neon_bswapv2di_uu(__simd128_uint64_t); -__simd64_uint32_t __builtin_neon_bswapv2si_uu(__simd64_uint32_t); -__simd64_uint16_t __builtin_neon_bswapv4hi_uu(__simd64_uint16_t); -__simd128_uint32_t __builtin_neon_bswapv4si_uu(__simd128_uint32_t); -__simd128_uint16_t __builtin_neon_bswapv8hi_uu(__simd128_uint16_t); -__simd64_float32_t __builtin_neon_copysignfv2sf(__simd64_float32_t); -__simd128_float32_t __builtin_neon_copysignfv4sf(__simd128_float32_t); -__simd128_int32_t __builtin_neon_smmlav16qi(__simd128_int32_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_neon_sudot_lanev16qi_sssus(__simd128_int32_t, __simd128_int8_t, __simd64_uint8_t, int); -__simd64_int32_t __builtin_neon_sudot_lanev8qi_sssus(__simd64_int32_t, __simd64_int8_t, __simd64_uint8_t, int); -__simd128_uint32_t __builtin_neon_ummlav16qi_uuuu(__simd128_uint32_t, __simd128_uint8_t, __simd128_uint8_t); -__simd128_int32_t __builtin_neon_usdot_lanev16qi_ssuss(__simd128_int32_t, __simd128_uint8_t, __simd64_int8_t, int); -__simd64_int32_t __builtin_neon_usdot_lanev8qi_ssuss(__simd64_int32_t, __simd64_uint8_t, __simd64_int8_t, int); -__simd64_int32_t __builtin_neon_usdotv8qi_ssus(__simd64_int32_t, __simd64_uint8_t, __simd64_int8_t); -__simd128_int32_t __builtin_neon_usmmlav16qi_ssus(__simd128_int32_t, __simd128_uint8_t, __simd128_int8_t); -float __builtin_neon_vbfcvtbf(__bf16); -__simd128_float32_t __builtin_neon_vbfcvt_highv8bf(__simd128_bfloat16_t); -__bf16 __builtin_neon_vbfcvtsf(float); -__simd128_float32_t __builtin_neon_vbfcvtv4bf(__simd64_bfloat16_t); -__simd128_bfloat16_t __builtin_neon_vbfcvtv4sf_highv8bf(__simd128_bfloat16_t, __simd128_float32_t); -__simd64_bfloat16_t __builtin_neon_vbfcvtv4sfv4bf(__simd128_float32_t); -__simd128_bfloat16_t __builtin_neon_vbfcvtv4sfv8bf(__simd128_float32_t); -__simd128_float32_t __builtin_neon_vbfcvtv8bf(__simd128_bfloat16_t); -__simd64_float32_t __builtin_neon_vbfdot_lanev4bfv2sf(__simd64_float32_t, __simd64_bfloat16_t, __simd64_bfloat16_t, int); -__simd128_float32_t __builtin_neon_vbfdot_lanev4bfv4sf(__simd128_float32_t, __simd128_bfloat16_t, __simd64_bfloat16_t, int); -__simd64_float32_t __builtin_neon_vbfdot_lanev8bfv2sf(__simd64_float32_t, __simd64_bfloat16_t, __simd128_bfloat16_t, int); -__simd128_float32_t __builtin_neon_vbfdot_lanev8bfv4sf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t, int); -__simd64_float32_t __builtin_neon_vbfdotv2sf(__simd64_float32_t, __simd64_bfloat16_t, __simd64_bfloat16_t); -__simd128_float32_t __builtin_neon_vbfdotv4sf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); -__simd64_float32_t __builtin_neon_vcadd270v2sf(__simd64_float32_t, __simd64_float32_t); -__simd64_float16_t __builtin_neon_vcadd270v4hf(__simd64_float16_t, __simd64_float16_t); -__simd128_float32_t __builtin_neon_vcadd270v4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_neon_vcadd270v8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_bfloat16_t __builtin_neon_vcombinev4bf(__simd64_bfloat16_t, __simd64_bfloat16_t); -__simd64_int32_t __builtin_neon_vcvtauv2sfv2si(__simd64_float32_t); -__simd128_int32_t __builtin_neon_vcvtauv4sfv4si(__simd128_float32_t); -__simd64_int32_t __builtin_neon_vcvtav2sfv2si(__simd64_float32_t); -__simd128_int32_t __builtin_neon_vcvtav4sfv4si(__simd128_float32_t); -__simd64_int32_t __builtin_neon_vcvtmuv2sfv2si(__simd64_float32_t); -__simd128_int32_t __builtin_neon_vcvtmuv4sfv4si(__simd128_float32_t); -__simd64_int32_t __builtin_neon_vcvtmv2sfv2si(__simd64_float32_t); -__simd128_int32_t __builtin_neon_vcvtmv4sfv4si(__simd128_float32_t); -__simd64_int32_t __builtin_neon_vcvtpuv2sfv2si(__simd64_float32_t); -__simd128_int32_t __builtin_neon_vcvtpuv4sfv4si(__simd128_float32_t); -__simd64_int32_t __builtin_neon_vcvtpv2sfv2si(__simd64_float32_t); -__simd128_int32_t __builtin_neon_vcvtpv4sfv4si(__simd128_float32_t); -__simd64_bfloat16_t __builtin_neon_vdup_lanev4bf(__simd64_bfloat16_t, int); -__simd128_bfloat16_t __builtin_neon_vdup_lanev8bf(__simd64_bfloat16_t, int); -__simd64_bfloat16_t __builtin_neon_vdup_nv4bf(__bf16); -__simd128_bfloat16_t __builtin_neon_vdup_nv8bf(__bf16); -__simd128_float32_t __builtin_neon_vfmab_laneqv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t, int); -__simd128_float32_t __builtin_neon_vfmab_lanev8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd64_bfloat16_t, int); -__simd128_float32_t __builtin_neon_vfmabv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); -__simd128_float32_t __builtin_neon_vfmat_laneqv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t, int); -__simd128_float32_t __builtin_neon_vfmat_lanev8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd64_bfloat16_t, int); -__simd128_float32_t __builtin_neon_vfmatv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); -__simd64_bfloat16_t __builtin_neon_vget_highv8bf(__simd128_bfloat16_t); -__simd64_bfloat16_t __builtin_neon_vget_lowv8bf(__simd128_bfloat16_t); -__builtin_neon_ti __builtin_neon_vld2_dupv4bf(const __bf16*); -__builtin_neon_oi __builtin_neon_vld2_dupv8bf(const __bf16*); -__builtin_neon_ti __builtin_neon_vld2v4bf(const __bf16*); -__builtin_neon_oi __builtin_neon_vld2v8bf(const __bf16*); -__builtin_neon_ei __builtin_neon_vld3_dupv4bf(const __bf16*); -__builtin_neon_ci __builtin_neon_vld3_dupv8bf(const __bf16*); -__builtin_neon_ei __builtin_neon_vld3v4bf(const __bf16*); -__builtin_neon_ci __builtin_neon_vld3v8bf(const __bf16*); -__builtin_neon_oi __builtin_neon_vld4_dupv4bf(const __bf16*); -__builtin_neon_xi __builtin_neon_vld4_dupv8bf(const __bf16*); -__builtin_neon_oi __builtin_neon_vld4v4bf(const __bf16*); -__builtin_neon_xi __builtin_neon_vld4v8bf(const __bf16*); -__simd128_float32_t __builtin_neon_vmmlav8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); -__simd128_int64_t __builtin_neon_vmullpv2si(__simd64_int32_t, __simd64_int32_t); -__simd128_int32_t __builtin_neon_vmullpv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int8_t __builtin_neon_vrev16v16qi(__simd128_int8_t); -__simd64_int8_t __builtin_neon_vrev16v8qi(__simd64_int8_t); -__simd128_int8_t __builtin_neon_vrev32v16qi(__simd128_int8_t); -__simd64_int16_t __builtin_neon_vrev32v4hi(__simd64_int16_t); -__simd128_int16_t __builtin_neon_vrev32v8hi(__simd128_int16_t); -__simd64_int8_t __builtin_neon_vrev32v8qi(__simd64_int8_t); -__simd128_int8_t __builtin_neon_vrev64v16qi(__simd128_int8_t); -__simd64_float32_t __builtin_neon_vrev64v2sf(__simd64_float32_t); -__simd64_int32_t __builtin_neon_vrev64v2si(__simd64_int32_t); -__simd64_int16_t __builtin_neon_vrev64v4hi(__simd64_int16_t); -__simd128_float32_t __builtin_neon_vrev64v4sf(__simd128_float32_t); -__simd128_int32_t __builtin_neon_vrev64v4si(__simd128_int32_t); -__simd128_int16_t __builtin_neon_vrev64v8hi(__simd128_int16_t); -__simd64_int8_t __builtin_neon_vrev64v8qi(__simd64_int8_t); -void __builtin_neon_vst2v4bf(__bf16*, __builtin_neon_ti); -void __builtin_neon_vst2v8bf(__bf16*, __builtin_neon_oi); -void __builtin_neon_vst3v4bf(__bf16*, __builtin_neon_ei); -void __builtin_neon_vst3v8bf(__bf16*, __builtin_neon_ci); -void __builtin_neon_vst4v4bf(__bf16*, __builtin_neon_oi); -void __builtin_neon_vst4v8bf(__bf16*, __builtin_neon_xi); - -#endif // __ARM_NEON__ - -/* aarch64 support */ -#ifdef __aarch64__ -typedef int __builtin_aarch64_simd_qi __attribute__((mode(QI))); -typedef int __builtin_aarch64_simd_hi __attribute__((mode(HI))); -typedef int __builtin_aarch64_simd_si __attribute__((mode(SI))); -typedef int __builtin_aarch64_simd_di __attribute__((mode(DI))); -typedef float __builtin_aarch64_simd_bf __attribute__((mode(BF))); -typedef int __builtin_aarch64_simd_poly8 __attribute__((mode(QI))); -typedef int __builtin_aarch64_simd_poly16 __attribute__((mode(HI))); -typedef int __builtin_aarch64_simd_poly64 __attribute__ ((mode (DI))); -typedef unsigned int __builtin_aarch64_simd_poly128 __attribute__ ((mode (TI))); -typedef float __builtin_aarch64_simd_df __attribute__ ((mode (DF))); -typedef float __builtin_aarch64_simd_sf __attribute__ ((mode (SF))); -typedef unsigned int __builtin_aarch64_simd_udi __attribute__((mode(DI))); -typedef unsigned int __builtin_aarch64_simd_uqi __attribute__((mode(QI))); -typedef unsigned int __builtin_aarch64_simd_uhi __attribute__((mode(HI))); -typedef unsigned int __builtin_aarch64_simd_usi __attribute__((mode(SI))); -typedef float __builtin_aarch64_simd_hf __attribute__((mode(HF))); -typedef __builtin_aarch64_simd_hf __fp16; -typedef int __Poly64_t __attribute__((mode(DI))); -typedef __coverity_decimal long long __Poly64x1_t __attribute__((vector_size (8))); -typedef int __Poly128_t __attribute__((mode(TI))); - -unsigned int __builtin_aarch64_get_fpcr(); -void __builtin_aarch64_set_fpcr(unsigned int); -unsigned int __builtin_aarch64_get_fpsr(); -void __builtin_aarch64_set_fpsr(unsigned int); -//CMPCPP-6477 -typedef char __Int8x8_t __attribute__ ((vector_size (8))); -typedef short __Int16x4_t __attribute__ ((vector_size (8))); -typedef int __Int32x2_t __attribute__ ((vector_size (8))); -typedef long __Int64x1_t __attribute__((vector_size (8))); -typedef __coverity_float __fp16 __Float16x4_t __attribute__((vector_size (8))); -typedef float __Float32x2_t __attribute__((vector_size (8))); -typedef __coverity_decimal unsigned char __Poly8x8_t __attribute__((vector_size (8))); -typedef __coverity_decimal short __Poly16x4_t __attribute__((vector_size (8))); -typedef unsigned char __Uint8x8_t __attribute__((vector_size (8))); -typedef unsigned short __Uint16x4_t __attribute__((vector_size (8))); -typedef unsigned int __Uint32x2_t __attribute__((vector_size (8))); -typedef double __Float64x1_t __attribute__((vector_size (8))); -typedef unsigned long __Uint64x1_t __attribute__((vector_size (8))); -typedef char __Int8x16_t __attribute__((vector_size (16))); -typedef short __Int16x8_t __attribute__((vector_size (16))); -typedef int __Int32x4_t __attribute__((vector_size (16))); -typedef long __Int64x2_t __attribute__((vector_size (16))); -typedef __coverity_float __fp16 __Float16x8_t __attribute__((vector_size (16))); -typedef __coverity_float __bf16 __Bfloat16x8_t __attribute__((vector_size (16))); -typedef __coverity_float __bf16 __Bfloat16x4_t __attribute__((vector_size (8))); -typedef float __Float32x4_t __attribute__((vector_size (16))); -typedef double __Float64x2_t __attribute__((vector_size (16))); -typedef __coverity_decimal unsigned char __Poly8x16_t __attribute__((vector_size (16))); -typedef __coverity_decimal unsigned short __Poly16x8_t __attribute__((vector_size (16))); -typedef __coverity_decimal long __Poly64x2_t __attribute__((vector_size (16))); -typedef unsigned char __Uint8x16_t __attribute__((vector_size (16))); -typedef unsigned short __Uint16x8_t __attribute__((vector_size (16))); -typedef unsigned int __Uint32x4_t __attribute__((vector_size (16))); -typedef unsigned long __Uint64x2_t __attribute__((vector_size (16))); -typedef unsigned char __Poly8_t; -typedef unsigned short __Poly16_t; - -typedef int __builtin_aarch64_simd_oi __attribute__((mode(OI))); -typedef int __builtin_aarch64_simd_ci __attribute__((mode(CI))); -typedef int __builtin_aarch64_simd_xi __attribute__((mode(XI))); - -__Int8x8_t __builtin_aarch64_tbl3v8qi(__builtin_aarch64_simd_oi, __Int8x8_t); -__Float32x2_t __builtin_aarch64_absv2sf(__Float32x2_t); -__Int8x8_t __builtin_aarch64_absv8qi(__Int8x8_t); -__Int16x4_t __builtin_aarch64_absv4hi(__Int16x4_t); -__Int32x2_t __builtin_aarch64_absv2si(__Int32x2_t); -int __builtin_aarch64_absdi(int); -__Float32x4_t __builtin_aarch64_absv4sf(__Float32x4_t); -__Float64x2_t __builtin_aarch64_absv2df(__Float64x2_t); -__Int8x16_t __builtin_aarch64_absv16qi(__Int8x16_t); -int __builtin_aarch64_im_lane_boundsi(int, int, int); -__Int64x1_t __builtin_aarch64_get_dregoidi(__builtin_aarch64_simd_oi, int); -float __builtin_aarch64_get_dregoidf(__builtin_aarch64_simd_oi, int); -__Int8x8_t __builtin_aarch64_get_dregoiv8qi(__builtin_aarch64_simd_oi, int); -__Int16x4_t __builtin_aarch64_get_dregoiv4hi(__builtin_aarch64_simd_oi, int); -__Int32x2_t __builtin_aarch64_get_dregoiv2si(__builtin_aarch64_simd_oi, int); -__Float16x4_t __builtin_aarch64_get_dregoiv4hf(__builtin_aarch64_simd_oi, int); -__Float32x2_t __builtin_aarch64_get_dregoiv2sf(__builtin_aarch64_simd_oi, int); -__Int8x16_t __builtin_aarch64_get_qregoiv16qi(__builtin_aarch64_simd_oi, const int); -__Int16x8_t __builtin_aarch64_get_qregoiv8hi(__builtin_aarch64_simd_oi, const int); -__Int32x4_t __builtin_aarch64_get_qregoiv4si(__builtin_aarch64_simd_oi, const int); -__Int64x2_t __builtin_aarch64_get_qregoiv2di(__builtin_aarch64_simd_oi, const int); -__Float16x8_t __builtin_aarch64_get_qregoiv8hf(__builtin_aarch64_simd_oi, const int); -__Float32x4_t __builtin_aarch64_get_qregoiv4sf(__builtin_aarch64_simd_oi, const int); -__Float64x2_t __builtin_aarch64_get_qregoiv2df(__builtin_aarch64_simd_oi, const int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv8hf(__builtin_aarch64_simd_oi, __Float16x8_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv4sf(__builtin_aarch64_simd_oi, __Float32x4_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv2df(__builtin_aarch64_simd_oi, __Float64x2_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv16qi(__builtin_aarch64_simd_oi, __Int8x16_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv8hi(__builtin_aarch64_simd_oi, __Int16x8_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv4si(__builtin_aarch64_simd_oi, __Int32x4_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv2di(__builtin_aarch64_simd_oi, __Int64x2_t, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3di(const __builtin_aarch64_simd_di*); -__Int64x1_t __builtin_aarch64_get_dregcidi(__builtin_aarch64_simd_ci, int); -float __builtin_aarch64_get_dregcidf(__builtin_aarch64_simd_ci, int); -__Int8x8_t __builtin_aarch64_get_dregciv8qi(__builtin_aarch64_simd_ci, int); -__Int16x4_t __builtin_aarch64_get_dregciv4hi(__builtin_aarch64_simd_ci, int); -__Int32x2_t __builtin_aarch64_get_dregciv2si(__builtin_aarch64_simd_ci, int); -__Float16x4_t __builtin_aarch64_get_dregciv4hf(__builtin_aarch64_simd_ci, int); -__Float32x2_t __builtin_aarch64_get_dregciv2sf(__builtin_aarch64_simd_ci, int); -__Int8x16_t __builtin_aarch64_get_qregciv16qi(__builtin_aarch64_simd_ci, const int); -__Int16x8_t __builtin_aarch64_get_qregciv8hi(__builtin_aarch64_simd_ci, const int); -__Int32x4_t __builtin_aarch64_get_qregciv4si(__builtin_aarch64_simd_ci, const int); -__Int64x2_t __builtin_aarch64_get_qregciv2di(__builtin_aarch64_simd_ci, const int); -__Float16x8_t __builtin_aarch64_get_qregciv8hf(__builtin_aarch64_simd_ci, const int); -__Float32x4_t __builtin_aarch64_get_qregciv4sf(__builtin_aarch64_simd_ci, const int); -__Float64x2_t __builtin_aarch64_get_qregciv2df(__builtin_aarch64_simd_ci, const int); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv8hf(__builtin_aarch64_simd_ci, __Float16x8_t, int); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv4sf(__builtin_aarch64_simd_ci, __Float32x4_t, int); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv2df(__builtin_aarch64_simd_ci, __Float64x2_t, int); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv16qi(__builtin_aarch64_simd_ci, __Int8x16_t, int); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv8hi(__builtin_aarch64_simd_ci, __Int16x8_t, int); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv4si(__builtin_aarch64_simd_ci, __Int32x4_t, int); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv2di(__builtin_aarch64_simd_ci, __Int64x2_t, int); -__Int64x1_t __builtin_aarch64_get_dregxidi(__builtin_aarch64_simd_xi, int); -float __builtin_aarch64_get_dregxidf(__builtin_aarch64_simd_xi, int); -__Int8x8_t __builtin_aarch64_get_dregxiv8qi(__builtin_aarch64_simd_xi, int); -__Int16x4_t __builtin_aarch64_get_dregxiv4hi(__builtin_aarch64_simd_xi, int); -__Int32x2_t __builtin_aarch64_get_dregxiv2si(__builtin_aarch64_simd_xi, int); -__Float16x4_t __builtin_aarch64_get_dregxiv4hf(__builtin_aarch64_simd_xi, int); -__Float32x2_t __builtin_aarch64_get_dregxiv2sf(__builtin_aarch64_simd_xi, int); -__Int8x16_t __builtin_aarch64_get_qregxiv16qi(__builtin_aarch64_simd_xi, const int); -__Int16x8_t __builtin_aarch64_get_qregxiv8hi(__builtin_aarch64_simd_xi, const int); -__Int32x4_t __builtin_aarch64_get_qregxiv4si(__builtin_aarch64_simd_xi, const int); -__Int64x2_t __builtin_aarch64_get_qregxiv2di(__builtin_aarch64_simd_xi, const int); -__Float16x8_t __builtin_aarch64_get_qregxiv8hf(__builtin_aarch64_simd_xi, const int); -__Float32x4_t __builtin_aarch64_get_qregxiv4sf(__builtin_aarch64_simd_xi, const int); -__Float64x2_t __builtin_aarch64_get_qregxiv2df(__builtin_aarch64_simd_xi, const int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv8hf(__builtin_aarch64_simd_xi, __Float16x8_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv4sf(__builtin_aarch64_simd_xi, __Float32x4_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv2df(__builtin_aarch64_simd_xi, __Float64x2_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv16qi(__builtin_aarch64_simd_xi, __Int8x16_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv8hi(__builtin_aarch64_simd_xi, __Int16x8_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv4si(__builtin_aarch64_simd_xi, __Int32x4_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv2di(__builtin_aarch64_simd_xi, __Int64x2_t, int); -__Int32x4_t __builtin_aarch64_saddlv4hi(__Int16x4_t, __Int16x4_t); -__Int16x8_t __builtin_aarch64_saddlv8qi(__Int8x8_t, __Int8x8_t); -__Uint16x8_t __builtin_aarch64_uaddlv8qi(__Int8x8_t, __Int8x8_t); -__Int16x8_t __builtin_aarch64_saddl2v16qi(__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_uaddl2v16qi(__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_saddwv8qi(__Int16x8_t, __Int8x8_t); -__Uint16x8_t __builtin_aarch64_uaddwv8qi(__Int16x8_t, __Int8x8_t); -__Int16x8_t __builtin_aarch64_saddw2v16qi(__Int16x8_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_uaddw2v16qi(__Int16x8_t, __Int8x16_t); -__Int8x8_t __builtin_aarch64_shaddv8qi(__Int8x8_t, __Int8x8_t); -__Uint8x8_t __builtin_aarch64_uhaddv8qi(__Int8x8_t, __Int8x8_t); -__Int8x16_t __builtin_aarch64_shaddv16qi(__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_shaddv8hi(__Int16x8_t, __Int16x8_t); -__Uint8x16_t __builtin_aarch64_uhaddv16qi(__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_uhaddv8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_srhaddv8qi(__Int8x8_t, __Int8x8_t); -__Uint8x8_t __builtin_aarch64_urhaddv8qi(__Int8x8_t, __Int8x8_t); -__Int8x16_t __builtin_aarch64_srhaddv16qi(__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_srhaddv8hi(__Int16x8_t, __Int16x8_t); -__Uint8x16_t __builtin_aarch64_urhaddv16qi(__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_urhaddv8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_addhnv8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_raddhnv8hi(__Int16x8_t, __Int16x8_t); -__Int8x16_t __builtin_aarch64_addhn2v8hi(__Int8x8_t, __Int16x8_t, __Int16x8_t); -__Int16x8_t __builtin_aarch64_addhn2v4si(__Int16x4_t, __Int32x4_t, __Int32x4_t); -__Int8x16_t __builtin_aarch64_raddhn2v8hi(__Int8x8_t, __Int16x8_t, __Int16x8_t); -__Int16x8_t __builtin_aarch64_raddhn2v4si(__Int16x4_t, __Int32x4_t, __Int32x4_t); -__Poly8x8_t __builtin_aarch64_pmulv8qi(__Int8x8_t, __Int8x8_t); -__Poly8x16_t __builtin_aarch64_pmulv16qi(__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_ssublv8qi(__Int8x8_t, __Int8x8_t); -__Uint16x8_t __builtin_aarch64_usublv8qi(__Int8x8_t, __Int8x8_t); -__Float32x2_t __builtin_aarch64_smax_nanpv2sf(__Float32x2_t, __Float32x2_t); -__Int64x2_t __builtin_aarch64_saddlv2si(__Int32x2_t, __Int32x2_t); -__Uint32x4_t __builtin_aarch64_uaddlv4hi (__Int16x4_t, __Int16x4_t); -__Uint64x2_t __builtin_aarch64_uaddlv2si (__Int32x2_t, __Int32x2_t); -__Int32x4_t __builtin_aarch64_saddl2v8hi (__Int16x8_t, __Int16x8_t); -__Int64x2_t __builtin_aarch64_saddl2v4si (__Int32x4_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_uaddl2v8hi (__Int16x8_t, __Int16x8_t); -__Uint64x2_t __builtin_aarch64_uaddl2v4si (__Int32x4_t, __Int32x4_t); -__Int32x4_t __builtin_aarch64_saddwv4hi (__Int32x4_t, __Int16x4_t); -__Int64x2_t __builtin_aarch64_saddwv2si (__Int64x2_t, __Int32x2_t); -__Uint32x4_t __builtin_aarch64_uaddwv4hi (__Int32x4_t, __Int16x4_t); -__Uint64x2_t __builtin_aarch64_uaddwv2si (__Int64x2_t, __Int32x2_t); -__Int32x4_t __builtin_aarch64_saddw2v8hi (__Int32x4_t, __Int16x8_t); -__Int64x2_t __builtin_aarch64_saddw2v4si (__Int64x2_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_uaddw2v8hi (__Int32x4_t, __Int16x8_t); -__Uint64x2_t __builtin_aarch64_uaddw2v4si (__Int64x2_t, __Int32x4_t); -__Int16x4_t __builtin_aarch64_shaddv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_shaddv2si (__Int32x2_t, __Int32x2_t); -__Uint16x4_t __builtin_aarch64_uhaddv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_uhaddv2si (__Int32x2_t, __Int32x2_t); -__Int32x4_t __builtin_aarch64_shaddv4si (__Int32x4_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_uhaddv4si (__Int32x4_t, __Int32x4_t); -__Int16x4_t __builtin_aarch64_srhaddv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_srhaddv2si (__Int32x2_t, __Int32x2_t); -__Uint16x4_t __builtin_aarch64_urhaddv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_urhaddv2si (__Int32x2_t, __Int32x2_t); -__Int32x4_t __builtin_aarch64_srhaddv4si (__Int32x4_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_urhaddv4si (__Int32x4_t, __Int32x4_t); -__Int16x4_t __builtin_aarch64_addhnv4si (__Int32x4_t, __Int32x4_t); -__Int32x2_t __builtin_aarch64_addhnv2di (__Int64x2_t, __Int64x2_t); -__Uint32x2_t __builtin_aarch64_addhnv2di (__Int64x2_t, __Int64x2_t); -__Int16x4_t __builtin_aarch64_raddhnv4si (__Int32x4_t, __Int32x4_t); -__Int32x2_t __builtin_aarch64_raddhnv2di (__Int64x2_t, __Int64x2_t); -__Uint16x4_t __builtin_aarch64_raddhnv4si (__Int32x4_t, __Int32x4_t); -__Uint32x2_t __builtin_aarch64_raddhnv2di (__Int64x2_t, __Int64x2_t); -__Int32x4_t __builtin_aarch64_addhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Uint32x4_t __builtin_aarch64_addhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Int32x4_t __builtin_aarch64_raddhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Uint32x4_t __builtin_aarch64_raddhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Int32x4_t __builtin_aarch64_ssublv4hi (__Int16x4_t, __Int16x4_t); -__Int64x2_t __builtin_aarch64_ssublv2si (__Int32x2_t, __Int32x2_t); -__Uint32x4_t __builtin_aarch64_usublv4hi (__Int16x4_t, __Int16x4_t); -__Uint64x2_t __builtin_aarch64_usublv2si (__Int32x2_t, __Int32x2_t); -__Int16x8_t __builtin_aarch64_ssubl2v16qi (__Int8x16_t, __Int8x16_t); -__Int32x4_t __builtin_aarch64_ssubl2v8hi (__Int16x8_t, __Int16x8_t); -__Int64x2_t __builtin_aarch64_ssubl2v4si (__Int32x4_t, __Int32x4_t); -__Uint16x8_t __builtin_aarch64_usubl2v16qi (__Int8x16_t, __Int8x16_t); -__Uint32x4_t __builtin_aarch64_usubl2v8hi (__Int16x8_t, __Int16x8_t); -__Uint64x2_t __builtin_aarch64_usubl2v4si (__Int32x4_t, __Int32x4_t); -__Int16x8_t __builtin_aarch64_ssubwv8qi (__Int16x8_t, __Int8x8_t); -__Int32x4_t __builtin_aarch64_ssubwv4hi (__Int32x4_t, __Int16x4_t); -__Int64x2_t __builtin_aarch64_ssubwv2si (__Int64x2_t, __Int32x2_t); -__Uint16x8_t __builtin_aarch64_usubwv8qi (__Int16x8_t, __Int8x8_t); -__Uint32x4_t __builtin_aarch64_usubwv4hi (__Int32x4_t, __Int16x4_t); -__Uint64x2_t __builtin_aarch64_usubwv2si (__Int64x2_t, __Int32x2_t); -__Int16x8_t __builtin_aarch64_ssubw2v16qi (__Int16x8_t, __Int8x16_t); -__Int32x4_t __builtin_aarch64_ssubw2v8hi (__Int32x4_t, __Int16x8_t); -__Int64x2_t __builtin_aarch64_ssubw2v4si (__Int64x2_t, __Int32x4_t); -__Uint16x8_t __builtin_aarch64_usubw2v16qi (__Int16x8_t, __Int8x16_t); -__Uint32x4_t __builtin_aarch64_usubw2v8hi (__Int32x4_t, __Int16x8_t); -__Uint64x2_t __builtin_aarch64_usubw2v4si (__Int64x2_t, __Int32x4_t); -__Int8x8_t __builtin_aarch64_sqaddv8qi (__Int8x8_t, __Int8x8_t); -__Int16x4_t __builtin_aarch64_sqaddv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_sqaddv2si (__Int32x2_t, __Int32x2_t); -__Int8x8_t __builtin_aarch64_shsubv8qi (__Int8x8_t, __Int8x8_t); -__Int16x4_t __builtin_aarch64_shsubv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_shsubv2si (__Int32x2_t, __Int32x2_t); -__Uint8x8_t __builtin_aarch64_uhsubv8qi (__Int8x8_t, __Int8x8_t); -__Uint16x4_t __builtin_aarch64_uhsubv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_uhsubv2si (__Int32x2_t, __Int32x2_t); -__Int8x16_t __builtin_aarch64_shsubv16qi (__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_shsubv8hi (__Int16x8_t, __Int16x8_t); -__Int32x4_t __builtin_aarch64_shsubv4si (__Int32x4_t, __Int32x4_t); -__Uint8x16_t __builtin_aarch64_uhsubv16qi (__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_uhsubv8hi (__Int16x8_t, __Int16x8_t); -__Uint32x4_t __builtin_aarch64_uhsubv4si (__Int32x4_t, __Int32x4_t); -__Int8x8_t __builtin_aarch64_subhnv8hi (__Int16x8_t, __Int16x8_t); -__Int16x4_t __builtin_aarch64_subhnv4si (__Int32x4_t, __Int32x4_t); -__Int32x2_t __builtin_aarch64_subhnv2di (__Int64x2_t, __Int64x2_t); -__Uint8x8_t __builtin_aarch64_subhnv8hi (__Int16x8_t, __Int16x8_t); -__Uint16x4_t __builtin_aarch64_subhnv4si (__Int32x4_t, __Int32x4_t); -__Uint32x2_t __builtin_aarch64_subhnv2di (__Int64x2_t, __Int64x2_t); -__Int8x8_t __builtin_aarch64_rsubhnv8hi (__Int16x8_t, __Int16x8_t); -__Int16x4_t __builtin_aarch64_rsubhnv4si (__Int32x4_t, __Int32x4_t); -__Int32x2_t __builtin_aarch64_rsubhnv2di (__Int64x2_t, __Int64x2_t); -__Uint8x8_t __builtin_aarch64_rsubhnv8hi (__Int16x8_t, __Int16x8_t); -__Uint16x4_t __builtin_aarch64_rsubhnv4si (__Int32x4_t, __Int32x4_t); -__Uint32x2_t __builtin_aarch64_rsubhnv2di (__Int64x2_t, __Int64x2_t); -__Int8x16_t __builtin_aarch64_rsubhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); -__Int16x8_t __builtin_aarch64_rsubhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); -__Int32x4_t __builtin_aarch64_rsubhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Uint8x16_t __builtin_aarch64_rsubhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); -__Uint16x8_t __builtin_aarch64_rsubhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_rsubhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Int8x16_t __builtin_aarch64_subhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); -__Int16x8_t __builtin_aarch64_subhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); -__Int32x4_t __builtin_aarch64_subhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Uint8x16_t __builtin_aarch64_subhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); -__Uint16x8_t __builtin_aarch64_subhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_subhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Int8x16_t __builtin_aarch64_sqaddv16qi (__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_sqaddv8hi (__Int16x8_t, __Int16x8_t); -__Int32x4_t __builtin_aarch64_sqaddv4si (__Int32x4_t, __Int32x4_t); -__Int64x2_t __builtin_aarch64_sqaddv2di (__Int64x2_t, __Int64x2_t); -__Int8x8_t __builtin_aarch64_sqsubv8qi (__Int8x8_t, __Int8x8_t); -__Int16x4_t __builtin_aarch64_sqsubv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_sqsubv2si (__Int32x2_t, __Int32x2_t); -__Int8x16_t __builtin_aarch64_sqsubv16qi (__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_sqsubv8hi (__Int16x8_t, __Int16x8_t); -__Int32x4_t __builtin_aarch64_sqsubv4si (__Int32x4_t, __Int32x4_t); -__Int64x2_t __builtin_aarch64_sqsubv2di (__Int64x2_t, __Int64x2_t); -__Int8x8_t __builtin_aarch64_sqnegv8qi (__Int8x8_t); -__Int16x4_t __builtin_aarch64_sqnegv4hi (__Int16x4_t); -__Int32x2_t __builtin_aarch64_sqnegv2si (__Int32x2_t); -__Int8x16_t __builtin_aarch64_sqnegv16qi (__Int8x16_t); -__Int16x8_t __builtin_aarch64_sqnegv8hi (__Int16x8_t); -__Int32x4_t __builtin_aarch64_sqnegv4si (__Int32x4_t); -__Int8x8_t __builtin_aarch64_sqabsv8qi (__Int8x8_t); -__Int16x4_t __builtin_aarch64_sqabsv4hi (__Int16x4_t); -__Int32x2_t __builtin_aarch64_sqabsv2si (__Int32x2_t); -__Int8x16_t __builtin_aarch64_sqabsv16qi (__Int8x16_t); -__Int16x8_t __builtin_aarch64_sqabsv8hi (__Int16x8_t); -__Int32x4_t __builtin_aarch64_sqabsv4si (__Int32x4_t); -__Int16x4_t __builtin_aarch64_sqdmulhv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_sqdmulhv2si (__Int32x2_t, __Int32x2_t); -__Int16x8_t __builtin_aarch64_sqdmulhv8hi (__Int16x8_t, __Int16x8_t); -__Int32x4_t __builtin_aarch64_sqdmulhv4si (__Int32x4_t, __Int32x4_t); -__Int16x4_t __builtin_aarch64_sqrdmulhv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_sqrdmulhv2si (__Int32x2_t, __Int32x2_t); -__Int16x8_t __builtin_aarch64_sqrdmulhv8hi (__Int16x8_t, __Int16x8_t); -__Int32x4_t __builtin_aarch64_sqrdmulhv4si (__Int32x4_t, __Int32x4_t); -__Int8x16_t __builtin_aarch64_combinev8qi (__Int8x8_t, __Int8x8_t); -__Int16x8_t __builtin_aarch64_combinev4hi (__Int16x4_t, __Int16x4_t); -__Int32x4_t __builtin_aarch64_combinev2si (__Int32x2_t, __Int32x2_t); -__Float32x4_t __builtin_aarch64_combinev2sf (__Float32x2_t, __Float32x2_t); -__Uint8x16_t __builtin_aarch64_combinev8qi (__Int8x8_t, __Int8x8_t); -__Uint16x8_t __builtin_aarch64_combinev4hi (__Int16x4_t, __Int16x4_t); -__Uint32x4_t __builtin_aarch64_combinev2si (__Int32x2_t, __Int32x2_t); -__Poly8x16_t __builtin_aarch64_combinev8qi (__Int8x8_t, __Int8x8_t); -__Poly16x8_t __builtin_aarch64_combinev4hi (__Int16x4_t, __Int16x4_t); -__Uint8x8_t __builtin_aarch64_clzv8qi (__Int8x8_t); -__Uint16x4_t __builtin_aarch64_clzv4hi (__Int16x4_t); -__Uint32x2_t __builtin_aarch64_clzv2si (__Int32x2_t); -__Uint8x16_t __builtin_aarch64_clzv16qi (__Int8x16_t); -__Uint16x8_t __builtin_aarch64_clzv8hi (__Int16x8_t); -__Uint32x4_t __builtin_aarch64_clzv4si (__Int32x4_t); -__Poly8x8_t __builtin_aarch64_popcountv8qi (__Int8x8_t); -__Uint8x8_t __builtin_aarch64_popcountv8qi (__Int8x8_t); -__Poly8x16_t __builtin_aarch64_popcountv16qi (__Int8x16_t); -__Uint8x16_t __builtin_aarch64_popcountv16qi (__Int8x16_t); -__Uint8x8_t __builtin_aarch64_umaxv8qi (__Int8x8_t, __Int8x8_t); -__Uint16x4_t __builtin_aarch64_umaxv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_umaxv2si (__Int32x2_t, __Int32x2_t); -__Uint8x16_t __builtin_aarch64_umaxv16qi (__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_umaxv8hi (__Int16x8_t, __Int16x8_t); -__Uint32x4_t __builtin_aarch64_umaxv4si (__Int32x4_t, __Int32x4_t); -__Uint8x8_t __builtin_aarch64_umaxpv8qi (__Int8x8_t, __Int8x8_t); -__Uint16x4_t __builtin_aarch64_umaxpv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_umaxpv2si (__Int32x2_t, __Int32x2_t); -__Uint8x16_t __builtin_aarch64_umaxpv16qi (__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_umaxpv8hi (__Int16x8_t, __Int16x8_t); -__Uint32x4_t __builtin_aarch64_umaxpv4si (__Int32x4_t, __Int32x4_t); -__Uint8x8_t __builtin_aarch64_uminpv8qi (__Int8x8_t, __Int8x8_t); -__Uint16x4_t __builtin_aarch64_uminpv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_uminpv2si (__Int32x2_t, __Int32x2_t); -__Uint8x16_t __builtin_aarch64_uminpv16qi (__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_uminpv8hi (__Int16x8_t, __Int16x8_t); -__Uint32x4_t __builtin_aarch64_uminpv4si (__Int32x4_t, __Int32x4_t); -__Uint8x8_t __builtin_aarch64_uminv8qi (__Int8x8_t, __Int8x8_t); -__Uint16x4_t __builtin_aarch64_uminv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_uminv2si (__Int32x2_t, __Int32x2_t); -__Uint8x16_t __builtin_aarch64_uminv16qi (__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_uminv8hi (__Int16x8_t, __Int16x8_t); -__Uint32x4_t __builtin_aarch64_uminv4si (__Int32x4_t, __Int32x4_t); -__Uint8x8_t __builtin_aarch64_addpv8qi (__Int8x8_t, __Int8x8_t); -__Uint16x4_t __builtin_aarch64_addpv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_addpv2si (__Int32x2_t, __Int32x2_t); -__Int64x2_t __builtin_aarch64_sqabsv2di (__Int64x2_t); -__Int8x8_t __builtin_aarch64_sqmovnv8hi (__Int16x8_t); -__Int16x4_t __builtin_aarch64_sqmovnv4si (__Int32x4_t); -__Int32x2_t __builtin_aarch64_sqmovnv2di (__Int64x2_t); -__Uint8x8_t __builtin_aarch64_uqmovnv8hi (__Int16x8_t); -__Uint16x4_t __builtin_aarch64_uqmovnv4si (__Int32x4_t); -__Uint32x2_t __builtin_aarch64_uqmovnv2di (__Int64x2_t); -__Uint8x8_t __builtin_aarch64_sqmovunv8hi (__Int16x8_t); -__Uint16x4_t __builtin_aarch64_sqmovunv4si (__Int32x4_t); -__Uint32x2_t __builtin_aarch64_sqmovunv2di (__Int64x2_t); -__Int64x2_t __builtin_aarch64_sqnegv2di (__Int64x2_t); -__Int8x8_t __builtin_aarch64_sqrshrn_nv8hi (__Int16x8_t, const int); -__Int16x4_t __builtin_aarch64_sqrshrn_nv4si (__Int32x4_t, const int); -__Int32x2_t __builtin_aarch64_sqrshrn_nv2di (__Int64x2_t, const int); -__Uint8x8_t __builtin_aarch64_sqrshrun_nv8hi (__Int16x8_t, const int); -__Uint16x4_t __builtin_aarch64_sqrshrun_nv4si (__Int32x4_t, const int); -__Uint32x2_t __builtin_aarch64_sqrshrun_nv2di (__Int64x2_t, const int); -__Int8x8_t __builtin_aarch64_sqshl_nv8qi (__Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_sqshl_nv4hi (__Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_sqshl_nv2si (__Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_sqshl_nv16qi (__Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_sqshl_nv8hi (__Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_sqshl_nv4si (__Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_sqshl_nv2di (__Int64x2_t, const int); -__Int8x8_t __builtin_aarch64_sqshrn_nv8hi (__Int16x8_t, const int); -__Int16x4_t __builtin_aarch64_sqshrn_nv4si (__Int32x4_t, const int); -__Int32x2_t __builtin_aarch64_sqshrn_nv2di (__Int64x2_t, const int); -__Uint8x8_t __builtin_aarch64_sqshrun_nv8hi (__Int16x8_t, const int); -__Uint16x4_t __builtin_aarch64_sqshrun_nv4si (__Int32x4_t, const int); -__Uint32x2_t __builtin_aarch64_sqshrun_nv2di (__Int64x2_t, const int); -__Poly8x8_t __builtin_aarch64_rbitv8qi (__Int8x8_t); -__Uint8x8_t __builtin_aarch64_rbitv8qi (__Int8x8_t); -__Poly8x16_t __builtin_aarch64_rbitv16qi (__Int8x16_t); -__Uint8x16_t __builtin_aarch64_rbitv16qi (__Int8x16_t); -__Uint32x2_t __builtin_aarch64_urecpev2si (__Int32x2_t); -__Uint32x4_t __builtin_aarch64_urecpev4si (__Int32x4_t); -__Int8x8_t __builtin_aarch64_srshlv8qi (__Int8x8_t, __Int8x8_t); -__Int16x4_t __builtin_aarch64_srshlv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_srshlv2si (__Int32x2_t, __Int32x2_t); -__Int8x16_t __builtin_aarch64_srshlv16qi (__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_srshlv8hi (__Int16x8_t, __Int16x8_t); -__Int32x4_t __builtin_aarch64_srshlv4si (__Int32x4_t, __Int32x4_t); -__Int64x2_t __builtin_aarch64_srshlv2di (__Int64x2_t, __Int64x2_t); -__Int8x8_t __builtin_aarch64_srshr_nv8qi (__Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_srshr_nv4hi (__Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_srshr_nv2si (__Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_srshr_nv16qi (__Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_srshr_nv8hi (__Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_srshr_nv4si (__Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_srshr_nv2di (__Int64x2_t, const int); -__Int8x8_t __builtin_aarch64_srsra_nv8qi (__Int8x8_t, __Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_srsra_nv4hi (__Int16x4_t, __Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_srsra_nv2si (__Int32x2_t, __Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_srsra_nv16qi (__Int8x16_t, __Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_srsra_nv8hi (__Int16x8_t, __Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_srsra_nv4si (__Int32x4_t, __Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_srsra_nv2di (__Int64x2_t, __Int64x2_t, const int); -__Int8x8_t __builtin_aarch64_ashlv8qi (__Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_ashlv4hi (__Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_ashlv2si (__Int32x2_t, const int); -__Uint8x8_t __builtin_aarch64_ashlv8qi (__Int8x8_t, const int); -__Uint16x4_t __builtin_aarch64_ashlv4hi (__Int16x4_t, const int); -__Uint32x2_t __builtin_aarch64_ashlv2si (__Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_ashlv16qi (__Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_ashlv8hi (__Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_ashlv4si (__Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_ashlv2di (__Int64x2_t, const int); -__Uint8x16_t __builtin_aarch64_ashlv16qi (__Int8x16_t, const int); -__Uint16x8_t __builtin_aarch64_ashlv8hi (__Int16x8_t, const int); -__Uint32x4_t __builtin_aarch64_ashlv4si (__Int32x4_t, const int); -__Uint64x2_t __builtin_aarch64_ashlv2di (__Int64x2_t, const int); -__Uint16x8_t __builtin_aarch64_ushll2_nv16qi (__Int8x16_t, const int); -__Uint32x4_t __builtin_aarch64_ushll2_nv8hi (__Int16x8_t, const int); -__Uint64x2_t __builtin_aarch64_ushll2_nv4si (__Int32x4_t, const int); -__Int8x8_t __builtin_aarch64_ashrv8qi (__Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_ashrv4hi (__Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_ashrv2si (__Int32x2_t, const int); -__Uint8x8_t __builtin_aarch64_lshrv8qi (__Int8x8_t, const int); -__Uint16x4_t __builtin_aarch64_lshrv4hi (__Int16x4_t, const int); -__Uint32x2_t __builtin_aarch64_lshrv2si (__Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_ashrv16qi (__Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_ashrv8hi (__Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_ashrv4si (__Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_ashrv2di (__Int64x2_t, const int); -__Uint8x16_t __builtin_aarch64_lshrv16qi (__Int8x16_t, const int); -__Uint16x8_t __builtin_aarch64_lshrv8hi (__Int16x8_t, const int); -__Int8x8_t __builtin_aarch64_ssli_nv8qi (__Int8x8_t, __Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_ssli_nv4hi (__Int16x4_t, __Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_ssli_nv2si (__Int32x2_t, __Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_ssli_nv16qi (__Int8x16_t, __Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_ssli_nv8hi (__Int16x8_t, __Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_ssli_nv4si (__Int32x4_t, __Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_ssli_nv2di (__Int64x2_t, __Int64x2_t, const int); -__Int8x8_t __builtin_aarch64_ssra_nv8qi (__Int8x8_t, __Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_ssra_nv4hi (__Int16x4_t, __Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_ssra_nv2si (__Int32x2_t, __Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_ssra_nv16qi (__Int8x16_t, __Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_ssra_nv8hi (__Int16x8_t, __Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_ssra_nv4si (__Int32x4_t, __Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_ssra_nv2di (__Int64x2_t, __Int64x2_t, const int); -__Int8x8_t __builtin_aarch64_ssri_nv8qi (__Int8x8_t, __Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_ssri_nv4hi (__Int16x4_t, __Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_ssri_nv2si (__Int32x2_t, __Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_ssri_nv16qi (__Int8x16_t, __Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_ssri_nv8hi (__Int16x8_t, __Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_ssri_nv4si (__Int32x4_t, __Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_ssri_nv2di (__Int64x2_t, __Int64x2_t, const int); -__Uint8x8_t __builtin_aarch64_uqaddv8qi_uuu (__Uint8x8_t, __Uint8x8_t); -__Uint32x2_t __builtin_aarch64_uqaddv2si_uuu (__Uint32x2_t, __Uint32x2_t); -__Uint8x16_t __builtin_aarch64_uqaddv16qi_uuu (__Uint8x16_t, __Uint8x16_t); -__Uint16x8_t __builtin_aarch64_uqaddv8hi_uuu (__Uint16x8_t, __Uint16x8_t); -__Uint32x4_t __builtin_aarch64_uqaddv4si_uuu (__Uint32x4_t, __Uint32x4_t); -__Uint64x2_t __builtin_aarch64_uqaddv2di_uuu (__Uint64x2_t, __Uint64x2_t); -__Uint8x8_t __builtin_aarch64_uqsubv8qi_uuu (__Uint8x8_t, __Uint8x8_t); -__Uint16x4_t __builtin_aarch64_uqsubv4hi_uuu (__Uint16x4_t, __Uint16x4_t); -__Uint32x2_t __builtin_aarch64_uqsubv2si_uuu (__Uint32x2_t, __Uint32x2_t); -__Uint8x16_t __builtin_aarch64_uqsubv16qi_uuu (__Uint8x16_t, __Uint8x16_t); -__Uint16x8_t __builtin_aarch64_uqsubv8hi_uuu (__Uint16x8_t, __Uint16x8_t); -__Uint32x4_t __builtin_aarch64_uqsubv4si_uuu (__Uint32x4_t, __Uint32x4_t); -__Uint64x2_t __builtin_aarch64_uqsubv2di_uuu (__Uint64x2_t, __Uint64x2_t); -__Float16x8_t __builtin_aarch64_combinev4hf (__Float16x4_t, __Float16x4_t); -__Uint16x4_t __builtin_aarch64_uqaddv4hi_uuu(__Uint16x4_t, __Uint16x4_t); -__Int16x4_t __builtin_aarch64_sqdmulh_laneqv4hi(__Int16x4_t, __Int16x8_t, const int); -__Int32x2_t __builtin_aarch64_sqdmulh_laneqv2si(__Int32x2_t, __Int32x4_t, const int); -__Int16x8_t __builtin_aarch64_sqdmulh_laneqv8hi(__Int16x8_t, __Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_sqdmulh_laneqv4si(__Int32x4_t, __Int32x4_t, const int); -__Int16x4_t __builtin_aarch64_sqrdmulh_laneqv4hi(__Int16x4_t, __Int16x8_t, const int); -__Int32x2_t __builtin_aarch64_sqrdmulh_laneqv2si(__Int32x2_t, __Int32x4_t, const int); -__Int16x8_t __builtin_aarch64_sqrdmulh_laneqv8hi(__Int16x8_t, __Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_sqrdmulh_laneqv4si(__Int32x4_t, __Int32x4_t, const int); -__Uint16x4_t __builtin_aarch64_uqaddv4hi_uuu (__Uint16x4_t __a, __Uint16x4_t __b); -__Int64x2_t __builtin_aarch64_combinedi (long int, long int); -__Float64x2_t __builtin_aarch64_combinedf (float , float); -__Int16x4_t __builtin_aarch64_sqdmulh_laneqv4hi (__Int16x4_t __a, __Int16x8_t __b, const int __c); -__Int32x2_t __builtin_aarch64_sqdmulh_laneqv2si (__Int32x2_t __a, __Int32x4_t __b, const int __c); -__Int16x8_t __builtin_aarch64_sqdmulh_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, const int __c); -__Int32x4_t __builtin_aarch64_sqdmulh_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, const int __c); -__Int16x4_t __builtin_aarch64_sqrdmulh_laneqv4hi (__Int16x4_t __a, __Int16x8_t __b, const int __c); -__Int32x2_t __builtin_aarch64_sqrdmulh_laneqv2si (__Int32x2_t __a, __Int32x4_t __b, const int __c); -__Int16x8_t __builtin_aarch64_sqrdmulh_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, const int __c); -__Int32x4_t __builtin_aarch64_sqrdmulh_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, const int __c); -__Int8x8_t __builtin_aarch64_absv8qi (__Int8x8_t __a); -__Int16x4_t __builtin_aarch64_absv4hi (__Int16x4_t __a); -__Int32x2_t __builtin_aarch64_absv2si (__Int32x2_t __a); -__Float32x4_t __builtin_aarch64_absv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_absv2df (__Float64x2_t __a); -__Int8x16_t __builtin_aarch64_absv16qi (__Int8x16_t __a); -__Int16x8_t __builtin_aarch64_absv8hi (__Int16x8_t __a); -__Int32x4_t __builtin_aarch64_absv4si (__Int32x4_t __a); -__Int64x2_t __builtin_aarch64_absv2di (__Int64x2_t __a); -__Float32x2_t __builtin_aarch64_simd_bslv2sf_suss (__Uint32x2_t __a, __Float32x2_t __b, __Float32x2_t __c); -__Poly8x8_t __builtin_aarch64_simd_bslv8qi_pupp (__Uint8x8_t __a, __Poly8x8_t __b, __Poly8x8_t __c); -__Poly16x4_t __builtin_aarch64_simd_bslv4hi_pupp (__Uint16x4_t __a, __Poly16x4_t __b, __Poly16x4_t __c); -__Int8x8_t __builtin_aarch64_simd_bslv8qi_suss (__Uint8x8_t __a, __Int8x8_t __b, __Int8x8_t __c); -__Int16x4_t __builtin_aarch64_simd_bslv4hi_suss (__Uint16x4_t __a, __Int16x4_t __b, __Int16x4_t __c); -__Int32x2_t __builtin_aarch64_simd_bslv2si_suss (__Uint32x2_t __a, __Int32x2_t __b, __Int32x2_t __c); -__Uint8x8_t __builtin_aarch64_simd_bslv8qi_uuuu (__Uint8x8_t __a, __Uint8x8_t __b, __Uint8x8_t __c); -__Uint16x4_t __builtin_aarch64_simd_bslv4hi_uuuu (__Uint16x4_t __a, __Uint16x4_t __b, __Uint16x4_t __c); -__Uint32x2_t __builtin_aarch64_simd_bslv2si_uuuu (__Uint32x2_t __a, __Uint32x2_t __b, __Uint32x2_t __c); -__Float32x4_t __builtin_aarch64_simd_bslv4sf_suss (__Uint32x4_t __a, __Float32x4_t __b, __Float32x4_t __c); -__Float64x2_t __builtin_aarch64_simd_bslv2df_suss (__Uint64x2_t __a, __Float64x2_t __b, __Float64x2_t __c); -__Poly8x16_t __builtin_aarch64_simd_bslv16qi_pupp (__Uint8x16_t __a, __Poly8x16_t __b, __Poly8x16_t __c); -__Poly16x8_t __builtin_aarch64_simd_bslv8hi_pupp (__Uint16x8_t __a, __Poly16x8_t __b, __Poly16x8_t __c); -__Int8x16_t __builtin_aarch64_simd_bslv16qi_suss (__Uint8x16_t __a, __Int8x16_t __b, __Int8x16_t __c); -__Int16x8_t __builtin_aarch64_simd_bslv8hi_suss (__Uint16x8_t __a, __Int16x8_t __b, __Int16x8_t __c); -__Int32x4_t __builtin_aarch64_simd_bslv4si_suss (__Uint32x4_t __a, __Int32x4_t __b, __Int32x4_t __c); -__Int64x2_t __builtin_aarch64_simd_bslv2di_suss (__Uint64x2_t __a, __Int64x2_t __b, __Int64x2_t __c); -__Uint8x16_t __builtin_aarch64_simd_bslv16qi_uuuu (__Uint8x16_t __a, __Uint8x16_t __b, __Uint8x16_t __c); -__Uint16x8_t __builtin_aarch64_simd_bslv8hi_uuuu (__Uint16x8_t __a, __Uint16x8_t __b, __Uint16x8_t __c); -__Uint32x4_t __builtin_aarch64_simd_bslv4si_uuuu (__Uint32x4_t __a, __Uint32x4_t __b, __Uint32x4_t __c); -__Uint64x2_t __builtin_aarch64_simd_bslv2di_uuuu (__Uint64x2_t __a, __Uint64x2_t __b, __Uint64x2_t __c); -__Int16x4_t __builtin_aarch64_sqrdmlahv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c); -__Int32x2_t __builtin_aarch64_sqrdmlahv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c); -__Int16x8_t __builtin_aarch64_sqrdmlahv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c); -__Int32x4_t __builtin_aarch64_sqrdmlahv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c); -__Int16x4_t __builtin_aarch64_sqrdmlshv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c); -__Int32x2_t __builtin_aarch64_sqrdmlshv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c); -__Int16x8_t __builtin_aarch64_sqrdmlshv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c); -__Int32x4_t __builtin_aarch64_sqrdmlshv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c); -__Int16x4_t __builtin_aarch64_sqrdmlah_laneqv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x8_t __c, const int __d); -__Int32x2_t __builtin_aarch64_sqrdmlah_laneqv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x4_t __c, const int __d); -__Int16x8_t __builtin_aarch64_sqrdmlah_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c, const int __d); -__Int32x4_t __builtin_aarch64_sqrdmlah_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c, const int __d); -__Int16x4_t __builtin_aarch64_sqrdmlsh_laneqv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x8_t __c, const int __d); -__Int32x2_t __builtin_aarch64_sqrdmlsh_laneqv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x4_t __c, const int __d); -__Int16x8_t __builtin_aarch64_sqrdmlsh_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c, const int __d); -__Int32x4_t __builtin_aarch64_sqrdmlsh_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c, const int __d); -__Int16x4_t __builtin_aarch64_sqrdmlah_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c, const int __d); -__Int32x2_t __builtin_aarch64_sqrdmlah_lanev2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c, const int __d); -__Int16x8_t __builtin_aarch64_sqrdmlah_lanev8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x4_t __c, const int __d); -__Int32x4_t __builtin_aarch64_sqrdmlah_lanev4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x2_t __c, const int __d); -__Int16x4_t __builtin_aarch64_sqrdmlsh_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c, const int __d); -__Int32x2_t __builtin_aarch64_sqrdmlsh_lanev2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c, const int __d); -__Int16x8_t __builtin_aarch64_sqrdmlsh_lanev8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x4_t __c, const int __d); -__Int32x4_t __builtin_aarch64_sqrdmlsh_lanev4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x2_t __c, const int __d); -__Uint8x16_t __builtin_aarch64_crypto_aesev16qi_uuu (__Uint8x16_t data, __Uint8x16_t key); -__Uint8x16_t __builtin_aarch64_crypto_aesdv16qi_uuu (__Uint8x16_t data, __Uint8x16_t key); -__Uint8x16_t __builtin_aarch64_crypto_aesmcv16qi_uu (__Uint8x16_t data); -__Uint8x16_t __builtin_aarch64_crypto_aesimcv16qi_uu (__Uint8x16_t data); -__Int8x8_t __builtin_aarch64_clrsbv8qi (__Int8x8_t __a); -__Int16x4_t __builtin_aarch64_clrsbv4hi (__Int16x4_t __a); -__Int32x2_t __builtin_aarch64_clrsbv2si (__Int32x2_t __a); -__Int8x16_t __builtin_aarch64_clrsbv16qi (__Int8x16_t __a); -__Int16x8_t __builtin_aarch64_clrsbv8hi (__Int16x8_t __a); -__Int32x4_t __builtin_aarch64_clrsbv4si (__Int32x4_t __a); -__Int8x8_t __builtin_aarch64_clzv8qi (__Int8x8_t __a); -__Int16x4_t __builtin_aarch64_clzv4hi (__Int16x4_t __a); -__Int32x2_t __builtin_aarch64_clzv2si (__Int32x2_t __a); -__Int8x16_t __builtin_aarch64_clzv16qi (__Int8x16_t __a); -__Int16x8_t __builtin_aarch64_clzv8hi (__Int16x8_t __a); -__Int32x4_t __builtin_aarch64_clzv4si (__Int32x4_t __a); -__Int8x8_t __builtin_aarch64_popcountv8qi (__Int8x8_t __a); -__Int8x16_t __builtin_aarch64_popcountv16qi (__Int8x16_t __a); -__Float16x4_t __builtin_aarch64_float_truncate_lo_v4hf (__Float32x4_t __a); -__Float16x8_t __builtin_aarch64_float_truncate_hi_v8hf (__Float16x4_t __a, __Float32x4_t __b); -__Float32x2_t __builtin_aarch64_float_truncate_lo_v2sf (__Float64x2_t __a); -__Float32x4_t __builtin_aarch64_float_truncate_hi_v4sf (__Float32x2_t __a, __Float64x2_t __b); -__Float32x4_t __builtin_aarch64_float_extend_lo_v4sf (__Float16x4_t __a); -__Float64x2_t __builtin_aarch64_float_extend_lo_v2df (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_vec_unpacks_hi_v8hf (__Float16x8_t __a); -__Float64x2_t __builtin_aarch64_vec_unpacks_hi_v4sf (__Float32x4_t __a); -__Float32x2_t __builtin_aarch64_floatv2siv2sf (__Int32x2_t __a); -__Float32x2_t __builtin_aarch64_floatunsv2siv2sf (__Int32x2_t __a); -__Float32x4_t __builtin_aarch64_floatv4siv4sf (__Int32x4_t __a); -__Float32x4_t __builtin_aarch64_floatunsv4siv4sf (__Int32x4_t __a); -__Float64x2_t __builtin_aarch64_floatv2div2df (__Int64x2_t __a); -__Float64x2_t __builtin_aarch64_floatunsv2div2df (__Int64x2_t __a); -__Int32x2_t __builtin_aarch64_lbtruncv2sfv2si (__Float32x2_t __a); -__Uint32x2_t __builtin_aarch64_lbtruncuv2sfv2si_us (__Float32x2_t __a); -__Int32x4_t __builtin_aarch64_lbtruncv4sfv4si (__Float32x4_t __a); -__Uint32x4_t __builtin_aarch64_lbtruncuv4sfv4si_us (__Float32x4_t __a); -__Int64x2_t __builtin_aarch64_lbtruncv2dfv2di (__Float64x2_t __a); -__Uint64x2_t __builtin_aarch64_lbtruncuv2dfv2di_us (__Float64x2_t __a); -__Int32x2_t __builtin_aarch64_lroundv2sfv2si (__Float32x2_t __a); -__Uint32x2_t __builtin_aarch64_lrounduv2sfv2si_us (__Float32x2_t __a); -__Int32x4_t __builtin_aarch64_lroundv4sfv4si (__Float32x4_t __a); -__Uint32x4_t __builtin_aarch64_lrounduv4sfv4si_us (__Float32x4_t __a); -__Int64x2_t __builtin_aarch64_lroundv2dfv2di (__Float64x2_t __a); -__Uint64x2_t __builtin_aarch64_lrounduv2dfv2di_us (__Float64x2_t __a); -__Int32x2_t __builtin_aarch64_lfloorv2sfv2si (__Float32x2_t __a); -__Uint32x2_t __builtin_aarch64_lflooruv2sfv2si_us (__Float32x2_t __a); -__Int32x4_t __builtin_aarch64_lfloorv4sfv4si (__Float32x4_t __a); -__Uint32x4_t __builtin_aarch64_lflooruv4sfv4si_us (__Float32x4_t __a); -__Int64x2_t __builtin_aarch64_lfloorv2dfv2di (__Float64x2_t __a); -__Uint64x2_t __builtin_aarch64_lflooruv2dfv2di_us (__Float64x2_t __a); -__Int32x2_t __builtin_aarch64_lfrintnv2sfv2si (__Float32x2_t __a); -__Uint32x2_t __builtin_aarch64_lfrintnuv2sfv2si_us (__Float32x2_t __a); -__Int32x4_t __builtin_aarch64_lfrintnv4sfv4si (__Float32x4_t __a); -__Uint32x4_t __builtin_aarch64_lfrintnuv4sfv4si_us (__Float32x4_t __a); -__Int64x2_t __builtin_aarch64_lfrintnv2dfv2di (__Float64x2_t __a); -__Uint64x2_t __builtin_aarch64_lfrintnuv2dfv2di_us (__Float64x2_t __a); -__Int32x2_t __builtin_aarch64_lceilv2sfv2si (__Float32x2_t __a); -__Uint32x2_t __builtin_aarch64_lceiluv2sfv2si_us (__Float32x2_t __a); -__Int32x4_t __builtin_aarch64_lceilv4sfv4si (__Float32x4_t __a); -__Uint32x4_t __builtin_aarch64_lceiluv4sfv4si_us (__Float32x4_t __a); -__Int64x2_t __builtin_aarch64_lceilv2dfv2di (__Float64x2_t __a); -__Uint64x2_t __builtin_aarch64_lceiluv2dfv2di_us (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_fmav2sf (__Float32x2_t __a, __Float32x2_t __b, __Float32x2_t __c); -__Float32x4_t __builtin_aarch64_fmav4sf (__Float32x4_t __a, __Float32x4_t __b, __Float32x4_t __c); -__Float64x2_t __builtin_aarch64_fmav2df (__Float64x2_t __a, __Float64x2_t __b, __Float64x2_t __c); -__Float16x4_t __builtin_aarch64_ld1v4hf (const __fp16 *__a); -__Float32x2_t __builtin_aarch64_ld1v2sf (const __builtin_aarch64_simd_sf * a); -__Int8x8_t __builtin_aarch64_ld1v8qi (const __builtin_aarch64_simd_qi * a); -__Int16x4_t __builtin_aarch64_ld1v4hi (const __builtin_aarch64_simd_hi * a); -__Int32x2_t __builtin_aarch64_ld1v2si (const __builtin_aarch64_simd_si * a); -__Float16x8_t __builtin_aarch64_ld1v8hf (const __fp16 *__a); -__Float32x4_t __builtin_aarch64_ld1v4sf (const __builtin_aarch64_simd_sf * a); -__Float64x2_t __builtin_aarch64_ld1v2df (const __builtin_aarch64_simd_df * a); -__Int8x16_t __builtin_aarch64_ld1v16qi (const __builtin_aarch64_simd_qi * a); -__Int16x8_t __builtin_aarch64_ld1v8hi (const __builtin_aarch64_simd_hi * a); -__Int32x4_t __builtin_aarch64_ld1v4si (const __builtin_aarch64_simd_si * a); -__Int64x2_t __builtin_aarch64_ld1v2di (const __builtin_aarch64_simd_di * a); -__Float32x2_t __builtin_aarch64_smax_nanv2sf (__Float32x2_t __a, __Float32x2_t __b); -__Int8x8_t __builtin_aarch64_smaxv8qi (__Int8x8_t __a, __Int8x8_t __b); -__Int16x4_t __builtin_aarch64_smaxv4hi (__Int16x4_t __a, __Int16x4_t __b); -__Int32x2_t __builtin_aarch64_smaxv2si (__Int32x2_t __a, __Int32x2_t __b); -__Float32x4_t __builtin_aarch64_smax_nanv4sf (__Float32x4_t __a, __Float32x4_t __b); -__Float64x2_t __builtin_aarch64_smax_nanv2df (__Float64x2_t __a, __Float64x2_t __b); -__Int8x16_t __builtin_aarch64_smaxv16qi (__Int8x16_t __a, __Int8x16_t __b); -__Int16x8_t __builtin_aarch64_smaxv8hi (__Int16x8_t __a, __Int16x8_t __b); -__Int32x4_t __builtin_aarch64_smaxv4si (__Int32x4_t __a, __Int32x4_t __b); -__Int8x8_t __builtin_aarch64_smaxpv8qi (__Int8x8_t a, __Int8x8_t b); -__Int16x4_t __builtin_aarch64_smaxpv4hi (__Int16x4_t a, __Int16x4_t b); -__Int32x2_t __builtin_aarch64_smaxpv2si (__Int32x2_t a, __Int32x2_t b); -__Int8x16_t __builtin_aarch64_smaxpv16qi (__Int8x16_t a, __Int8x16_t b); -__Int16x8_t __builtin_aarch64_smaxpv8hi (__Int16x8_t a, __Int16x8_t b); -__Int32x4_t __builtin_aarch64_smaxpv4si (__Int32x4_t a, __Int32x4_t b); -__Float32x4_t __builtin_aarch64_smax_nanpv4sf (__Float32x4_t a, __Float32x4_t b); -__Float64x2_t __builtin_aarch64_smax_nanpv2df (__Float64x2_t a, __Float64x2_t b); -__Float32x2_t __builtin_aarch64_smaxpv2sf (__Float32x2_t a, __Float32x2_t b); -__Float32x4_t __builtin_aarch64_smaxpv4sf (__Float32x4_t a, __Float32x4_t b); -__Float64x2_t __builtin_aarch64_smaxpv2df (__Float64x2_t a, __Float64x2_t b); -__Int8x8_t __builtin_aarch64_sminpv8qi (__Int8x8_t a, __Int8x8_t b); -__Int16x4_t __builtin_aarch64_sminpv4hi (__Int16x4_t a, __Int16x4_t b); -__Int32x2_t __builtin_aarch64_sminpv2si (__Int32x2_t a, __Int32x2_t b); -__Int8x16_t __builtin_aarch64_sminpv16qi (__Int8x16_t a, __Int8x16_t b); -__Int16x8_t __builtin_aarch64_sminpv8hi (__Int16x8_t a, __Int16x8_t b); -__Int32x4_t __builtin_aarch64_sminpv4si (__Int32x4_t a, __Int32x4_t b); -__Float32x2_t __builtin_aarch64_smin_nanpv2sf (__Float32x2_t a, __Float32x2_t b); -__Float32x4_t __builtin_aarch64_smin_nanpv4sf (__Float32x4_t a, __Float32x4_t b); -__Float64x2_t __builtin_aarch64_smin_nanpv2df (__Float64x2_t a, __Float64x2_t b); -__Float32x2_t __builtin_aarch64_sminpv2sf (__Float32x2_t a, __Float32x2_t b); -__Float32x4_t __builtin_aarch64_sminpv4sf (__Float32x4_t a, __Float32x4_t b); -__Float64x2_t __builtin_aarch64_sminpv2df (__Float64x2_t a, __Float64x2_t b); -__Float32x2_t __builtin_aarch64_smaxv2sf (__Float32x2_t __a, __Float32x2_t __b); -__Float32x4_t __builtin_aarch64_smaxv4sf (__Float32x4_t __a, __Float32x4_t __b); -__Float64x2_t __builtin_aarch64_smaxv2df (__Float64x2_t __a, __Float64x2_t __b); -__Float32x2_t __builtin_aarch64_smin_nanv2sf (__Float32x2_t __a, __Float32x2_t __b); -__Int8x8_t __builtin_aarch64_sminv8qi (__Int8x8_t __a, __Int8x8_t __b); -__Int16x4_t __builtin_aarch64_sminv4hi (__Int16x4_t __a, __Int16x4_t __b); -__Int32x2_t __builtin_aarch64_sminv2si (__Int32x2_t __a, __Int32x2_t __b); -__Float32x4_t __builtin_aarch64_smin_nanv4sf (__Float32x4_t __a, __Float32x4_t __b); -__Float64x2_t __builtin_aarch64_smin_nanv2df (__Float64x2_t __a, __Float64x2_t __b); -__Int8x16_t __builtin_aarch64_sminv16qi (__Int8x16_t __a, __Int8x16_t __b); -__Int16x8_t __builtin_aarch64_sminv8hi (__Int16x8_t __a, __Int16x8_t __b); -__Int32x4_t __builtin_aarch64_sminv4si (__Int32x4_t __a, __Int32x4_t __b); -__Float32x2_t __builtin_aarch64_sminv2sf (__Float32x2_t __a, __Float32x2_t __b); -__Float32x4_t __builtin_aarch64_sminv4sf (__Float32x4_t __a, __Float32x4_t __b); -__Float64x2_t __builtin_aarch64_sminv2df (__Float64x2_t __a, __Float64x2_t __b); -__Int8x8_t __builtin_aarch64_addpv8qi (__Int8x8_t __a, __Int8x8_t __b); -__Int16x4_t __builtin_aarch64_addpv4hi (__Int16x4_t __a, __Int16x4_t __b); -__Int32x2_t __builtin_aarch64_addpv2si (__Int32x2_t __a, __Int32x2_t __b); -__Int32x4_t __builtin_aarch64_sqdmlalv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c); -__Int32x4_t __builtin_aarch64_sqdmlal2v8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c); -__Int32x4_t __builtin_aarch64_sqdmlal2_lanev8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x4_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlal2_laneqv8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlal2_nv8hi (__Int32x4_t __a, __Int16x8_t __b, short int __c); -__Int32x4_t __builtin_aarch64_sqdmlal_lanev4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlal_laneqv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x8_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlal_nv4hi (__Int32x4_t __a, __Int16x4_t __b, short int __c); -__Int64x2_t __builtin_aarch64_sqdmlalv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c); -__Int64x2_t __builtin_aarch64_sqdmlal2v4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c); -__Int64x2_t __builtin_aarch64_sqdmlal2_lanev4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x2_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlal2_laneqv4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlal2_nv4si (__Int64x2_t __a, __Int32x4_t __b, int __c); -__Int64x2_t __builtin_aarch64_sqdmlal_lanev2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlal_laneqv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x4_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlal_nv2si (__Int64x2_t __a, __Int32x2_t __b, int __c); -__Int32x4_t __builtin_aarch64_sqdmlslv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c); -__Int32x4_t __builtin_aarch64_sqdmlsl2v8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c); -__Int32x4_t __builtin_aarch64_sqdmlsl2_lanev8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x4_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlsl2_laneqv8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlsl2_nv8hi (__Int32x4_t __a, __Int16x8_t __b, short int __c); -__Int32x4_t __builtin_aarch64_sqdmlsl_lanev4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlsl_laneqv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x8_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlsl_nv4hi (__Int32x4_t __a, __Int16x4_t __b, short int __c); -__Int64x2_t __builtin_aarch64_sqdmlslv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c); -__Int64x2_t __builtin_aarch64_sqdmlsl2v4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c); -__Int64x2_t __builtin_aarch64_sqdmlsl2_lanev4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x2_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlsl2_laneqv4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlsl2_nv4si (__Int64x2_t __a, __Int32x4_t __b, int __c); -__Int64x2_t __builtin_aarch64_sqdmlsl_lanev2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlsl_laneqv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x4_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlsl_nv2si (__Int64x2_t __a, __Int32x2_t __b, int __c); -__Int16x4_t __builtin_aarch64_sqdmulh_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, const int __c); -__Int32x2_t __builtin_aarch64_sqdmulh_lanev2si (__Int32x2_t __a, __Int32x2_t __b, const int __c); -__Int16x8_t __builtin_aarch64_sqdmulh_lanev8hi (__Int16x8_t __a, __Int16x4_t __b, const int __c); -__Int32x4_t __builtin_aarch64_sqdmulh_lanev4si (__Int32x4_t __a, __Int32x2_t __b, const int __c); -__Int32x4_t __builtin_aarch64_sqdmullv4hi (__Int16x4_t __a, __Int16x4_t __b); -__Int32x4_t __builtin_aarch64_sqdmull2v8hi (__Int16x8_t __a, __Int16x8_t __b); -__Int32x4_t __builtin_aarch64_sqdmull2_lanev8hi (__Int16x8_t __a, __Int16x4_t __b, int const __c); -__Int32x4_t __builtin_aarch64_sqdmull2_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, int const __c); -__Int32x4_t __builtin_aarch64_sqdmull2_nv8hi (__Int16x8_t __a, short int __b); -__Int32x4_t __builtin_aarch64_sqdmull_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, int const __c); -__Int32x4_t __builtin_aarch64_sqdmull_laneqv4hi (__Int16x4_t __a, __Int16x8_t __b, int const __c); -__Int32x4_t __builtin_aarch64_sqdmull_nv4hi (__Int16x4_t __a, short int __b); -__Int64x2_t __builtin_aarch64_sqdmullv2si (__Int32x2_t __a, __Int32x2_t __b); -__Int64x2_t __builtin_aarch64_sqdmull2v4si (__Int32x4_t __a, __Int32x4_t __b); -__Int64x2_t __builtin_aarch64_sqdmull2_lanev4si (__Int32x4_t __a, __Int32x2_t __b, int const __c); -__Int64x2_t __builtin_aarch64_sqdmull2_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, int const __c); -__Int64x2_t __builtin_aarch64_sqdmull2_nv4si (__Int32x4_t __a, int __b); -__Int64x2_t __builtin_aarch64_sqdmull_lanev2si (__Int32x2_t __a, __Int32x2_t __b, int const __c); -__Int64x2_t __builtin_aarch64_sqdmull_laneqv2si (__Int32x2_t __a, __Int32x4_t __b, int const __c); -__Int64x2_t __builtin_aarch64_sqdmull_nv2si (__Int32x2_t __a, int __b); -__Int16x4_t __builtin_aarch64_sqrdmulh_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, const int __c); -__Int32x2_t __builtin_aarch64_sqrdmulh_lanev2si (__Int32x2_t __a, __Int32x2_t __b, const int __c); -__Int16x8_t __builtin_aarch64_sqrdmulh_lanev8hi (__Int16x8_t __a, __Int16x4_t __b, const int __c); -__Int32x4_t __builtin_aarch64_sqrdmulh_lanev4si (__Int32x4_t __a, __Int32x2_t __b, const int __c); -__Int8x8_t __builtin_aarch64_sqrshlv8qi (__Int8x8_t __a, __Int8x8_t __b); -__Int16x4_t __builtin_aarch64_sqrshlv4hi (__Int16x4_t __a, __Int16x4_t __b); -__Int32x2_t __builtin_aarch64_sqrshlv2si (__Int32x2_t __a, __Int32x2_t __b); -__Uint8x8_t __builtin_aarch64_uqrshlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); -__Uint16x4_t __builtin_aarch64_uqrshlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); -__Uint32x2_t __builtin_aarch64_uqrshlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); -__Int8x16_t __builtin_aarch64_sqrshlv16qi (__Int8x16_t __a, __Int8x16_t __b); -__Int16x8_t __builtin_aarch64_sqrshlv8hi (__Int16x8_t __a, __Int16x8_t __b); -__Int32x4_t __builtin_aarch64_sqrshlv4si (__Int32x4_t __a, __Int32x4_t __b); -__Int64x2_t __builtin_aarch64_sqrshlv2di (__Int64x2_t __a, __Int64x2_t __b); -__Uint8x16_t __builtin_aarch64_uqrshlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); -__Uint16x8_t __builtin_aarch64_uqrshlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); -__Uint32x4_t __builtin_aarch64_uqrshlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); -__Uint64x2_t __builtin_aarch64_uqrshlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); -__Uint8x8_t __builtin_aarch64_uqrshrn_nv8hi_uus (__Uint16x8_t __a, const int __b); -__Uint16x4_t __builtin_aarch64_uqrshrn_nv4si_uus (__Uint32x4_t __a, const int __b); -__Uint32x2_t __builtin_aarch64_uqrshrn_nv2di_uus (__Uint64x2_t __a, const int __b); -__Int8x8_t __builtin_aarch64_sqshlv8qi (__Int8x8_t __a, __Int8x8_t __b); -__Int16x4_t __builtin_aarch64_sqshlv4hi (__Int16x4_t __a, __Int16x4_t __b); -__Int32x2_t __builtin_aarch64_sqshlv2si (__Int32x2_t __a, __Int32x2_t __b); -__Uint8x8_t __builtin_aarch64_uqshlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); -__Uint16x4_t __builtin_aarch64_uqshlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); -__Uint32x2_t __builtin_aarch64_uqshlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); -__Int8x16_t __builtin_aarch64_sqshlv16qi (__Int8x16_t __a, __Int8x16_t __b); -__Int16x8_t __builtin_aarch64_sqshlv8hi (__Int16x8_t __a, __Int16x8_t __b); -__Int32x4_t __builtin_aarch64_sqshlv4si (__Int32x4_t __a, __Int32x4_t __b); -__Int64x2_t __builtin_aarch64_sqshlv2di (__Int64x2_t __a, __Int64x2_t __b); -__Uint8x16_t __builtin_aarch64_uqshlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); -__Uint16x8_t __builtin_aarch64_uqshlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); -__Uint32x4_t __builtin_aarch64_uqshlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); -__Uint64x2_t __builtin_aarch64_uqshlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); -__Uint8x8_t __builtin_aarch64_uqshl_nv8qi_uus (__Uint8x8_t __a, const int __b); -__Uint16x4_t __builtin_aarch64_uqshl_nv4hi_uus (__Uint16x4_t __a, const int __b); -__Uint32x2_t __builtin_aarch64_uqshl_nv2si_uus (__Uint32x2_t __a, const int __b); -__Uint8x16_t __builtin_aarch64_uqshl_nv16qi_uus (__Uint8x16_t __a, const int __b); -__Uint16x8_t __builtin_aarch64_uqshl_nv8hi_uus (__Uint16x8_t __a, const int __b); -__Uint32x4_t __builtin_aarch64_uqshl_nv4si_uus (__Uint32x4_t __a, const int __b); -__Uint64x2_t __builtin_aarch64_uqshl_nv2di_uus (__Uint64x2_t __a, const int __b); -__Uint8x8_t __builtin_aarch64_sqshlu_nv8qi_uss (__Int8x8_t __a, const int __b); -__Uint16x4_t __builtin_aarch64_sqshlu_nv4hi_uss (__Int16x4_t __a, const int __b); -__Uint32x2_t __builtin_aarch64_sqshlu_nv2si_uss (__Int32x2_t __a, const int __b); -__Uint8x16_t __builtin_aarch64_sqshlu_nv16qi_uss (__Int8x16_t __a, const int __b); -__Uint16x8_t __builtin_aarch64_sqshlu_nv8hi_uss (__Int16x8_t __a, const int __b); -__Uint32x4_t __builtin_aarch64_sqshlu_nv4si_uss (__Int32x4_t __a, const int __b); -__Uint64x2_t __builtin_aarch64_sqshlu_nv2di_uss (__Int64x2_t __a, const int __b); -__Uint8x8_t __builtin_aarch64_uqshrn_nv8hi_uus (__Uint16x8_t __a, const int __b); -__Uint16x4_t __builtin_aarch64_uqshrn_nv4si_uus (__Uint32x4_t __a, const int __b); -__Uint32x2_t __builtin_aarch64_uqshrn_nv2di_uus (__Uint64x2_t __a, const int __b); -__Int8x8_t __builtin_aarch64_rbitv8qi (__Int8x8_t __a); -__Int8x16_t __builtin_aarch64_rbitv16qi (__Int8x16_t __a); -__Float32x2_t __builtin_aarch64_frecpev2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_frecpev4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_frecpev2df (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_frecpsv2sf (__Float32x2_t __a, __Float32x2_t __b); -__Float32x4_t __builtin_aarch64_frecpsv4sf (__Float32x4_t __a, __Float32x4_t __b); -__Float64x2_t __builtin_aarch64_frecpsv2df (__Float64x2_t __a, __Float64x2_t __b); -__Float32x2_t __builtin_aarch64_btruncv2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_btruncv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_btruncv2df (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_roundv2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_roundv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_roundv2df (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_nearbyintv2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_nearbyintv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_nearbyintv2df (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_floorv2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_floorv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_floorv2df (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_frintnv2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_frintnv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_frintnv2df (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_ceilv2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_ceilv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_ceilv2df (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_rintv2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_rintv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_rintv2df (__Float64x2_t __a); -__Uint8x8_t __builtin_aarch64_urshlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); -__Uint16x4_t __builtin_aarch64_urshlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); -__Uint32x2_t __builtin_aarch64_urshlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); -__Uint8x16_t __builtin_aarch64_urshlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); -__Uint16x8_t __builtin_aarch64_urshlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); -__Uint32x4_t __builtin_aarch64_urshlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); -__Uint64x2_t __builtin_aarch64_urshlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); -__Uint8x8_t __builtin_aarch64_urshr_nv8qi_uus (__Uint8x8_t __a, const int __b); -__Uint16x4_t __builtin_aarch64_urshr_nv4hi_uus (__Uint16x4_t __a, const int __b); -__Uint32x2_t __builtin_aarch64_urshr_nv2si_uus (__Uint32x2_t __a, const int __b); -__Uint8x16_t __builtin_aarch64_urshr_nv16qi_uus (__Uint8x16_t __a, const int __b); -__Uint16x8_t __builtin_aarch64_urshr_nv8hi_uus (__Uint16x8_t __a, const int __b); -__Uint32x4_t __builtin_aarch64_urshr_nv4si_uus (__Uint32x4_t __a, const int __b); -__Uint64x2_t __builtin_aarch64_urshr_nv2di_uus (__Uint64x2_t __a, const int __b); -__Uint8x8_t __builtin_aarch64_ursra_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); -__Uint16x4_t __builtin_aarch64_ursra_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); -__Uint32x2_t __builtin_aarch64_ursra_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); -__Uint8x16_t __builtin_aarch64_ursra_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); -__Uint16x8_t __builtin_aarch64_ursra_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); -__Uint32x4_t __builtin_aarch64_ursra_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); -__Uint64x2_t __builtin_aarch64_ursra_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); -__Uint32x4_t __builtin_aarch64_crypto_sha1cv4si_uuuu (__Uint32x4_t hash_abcd, unsigned int hash_e, __Uint32x4_t wk); -__Uint32x4_t __builtin_aarch64_crypto_sha1mv4si_uuuu (__Uint32x4_t hash_abcd, unsigned int hash_e, __Uint32x4_t wk); -__Uint32x4_t __builtin_aarch64_crypto_sha1pv4si_uuuu (__Uint32x4_t hash_abcd, unsigned int hash_e, __Uint32x4_t wk); -__Uint32x4_t __builtin_aarch64_crypto_sha1su0v4si_uuuu (__Uint32x4_t w0_3, __Uint32x4_t w4_7, __Uint32x4_t w8_11); -__Uint32x4_t __builtin_aarch64_crypto_sha1su1v4si_uuu (__Uint32x4_t tw0_3, __Uint32x4_t w12_15); -__Uint32x4_t __builtin_aarch64_crypto_sha256hv4si_uuuu (__Uint32x4_t hash_abcd, __Uint32x4_t hash_efgh, __Uint32x4_t wk); -__Uint32x4_t __builtin_aarch64_crypto_sha256h2v4si_uuuu (__Uint32x4_t hash_efgh, __Uint32x4_t hash_abcd, __Uint32x4_t wk); -__Uint32x4_t __builtin_aarch64_crypto_sha256su0v4si_uuu (__Uint32x4_t w0_3, __Uint32x4_t w4_7); -__Uint32x4_t __builtin_aarch64_crypto_sha256su1v4si_uuuu (__Uint32x4_t tw0_3, __Uint32x4_t w8_11, __Uint32x4_t w12_15); -__Poly128_t __builtin_aarch64_crypto_pmullv2di_ppp (__Poly64x2_t a, __Poly64x2_t b); -__Int8x8_t __builtin_aarch64_sshlv8qi (__Int8x8_t __a, __Int8x8_t __b); -__Int16x4_t __builtin_aarch64_sshlv4hi (__Int16x4_t __a, __Int16x4_t __b); -__Int32x2_t __builtin_aarch64_sshlv2si (__Int32x2_t __a, __Int32x2_t __b); -__Uint8x8_t __builtin_aarch64_ushlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); -__Uint16x4_t __builtin_aarch64_ushlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); -__Uint32x2_t __builtin_aarch64_ushlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); -__Int8x16_t __builtin_aarch64_sshlv16qi (__Int8x16_t __a, __Int8x16_t __b); -__Int16x8_t __builtin_aarch64_sshlv8hi (__Int16x8_t __a, __Int16x8_t __b); -__Int32x4_t __builtin_aarch64_sshlv4si (__Int32x4_t __a, __Int32x4_t __b); -__Int64x2_t __builtin_aarch64_sshlv2di (__Int64x2_t __a, __Int64x2_t __b); -__Uint8x16_t __builtin_aarch64_ushlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); -__Uint16x8_t __builtin_aarch64_ushlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); -__Uint32x4_t __builtin_aarch64_ushlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); -__Uint64x2_t __builtin_aarch64_ushlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); -__Int16x8_t __builtin_aarch64_sshll2_nv16qi (__Int8x16_t __a, const int __b); -__Int32x4_t __builtin_aarch64_sshll2_nv8hi (__Int16x8_t __a, const int __b); -__Int64x2_t __builtin_aarch64_sshll2_nv4si (__Int32x4_t __a, const int __b); -__Int16x8_t __builtin_aarch64_sshll_nv8qi (__Int8x8_t __a, const int __b); -__Int32x4_t __builtin_aarch64_sshll_nv4hi (__Int16x4_t __a, const int __b); -__Int64x2_t __builtin_aarch64_sshll_nv2si (__Int32x2_t __a, const int __b); -__Uint16x8_t __builtin_aarch64_ushll_nv8qi_uus (__Uint8x8_t __a, const int __b); -__Uint32x4_t __builtin_aarch64_ushll_nv4hi_uus (__Uint16x4_t __a, const int __b); -__Uint64x2_t __builtin_aarch64_ushll_nv2si_uus (__Uint32x2_t __a, const int __b); -__Int32x4_t __builtin_aarch64_lshrv4si (__Int32x4_t __a, const int __b); -__Int64x2_t __builtin_aarch64_lshrv2di (__Int64x2_t __a, const int __b); -__Uint8x8_t __builtin_aarch64_usli_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); -__Uint16x4_t __builtin_aarch64_usli_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); -__Uint32x2_t __builtin_aarch64_usli_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); -__Uint8x16_t __builtin_aarch64_usli_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); -__Uint16x8_t __builtin_aarch64_usli_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); -__Uint32x4_t __builtin_aarch64_usli_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); -__Uint64x2_t __builtin_aarch64_usli_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); -__Uint8x8_t __builtin_aarch64_usqaddv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); -__Uint16x4_t __builtin_aarch64_usqaddv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); -__Uint32x2_t __builtin_aarch64_usqaddv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); -__Uint8x16_t __builtin_aarch64_usqaddv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); -__Uint16x8_t __builtin_aarch64_usqaddv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); -__Uint32x4_t __builtin_aarch64_usqaddv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); -__Uint64x2_t __builtin_aarch64_usqaddv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); -__Float32x2_t __builtin_aarch64_sqrtv2sf (__Float32x2_t a); -__Float32x4_t __builtin_aarch64_sqrtv4sf (__Float32x4_t a); -__Float64x2_t __builtin_aarch64_sqrtv2df (__Float64x2_t a); -__Uint8x8_t __builtin_aarch64_usra_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); -__Uint16x4_t __builtin_aarch64_usra_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); -__Uint32x2_t __builtin_aarch64_usra_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); -__Uint8x16_t __builtin_aarch64_usra_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); -__Uint16x8_t __builtin_aarch64_usra_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); -__Uint32x4_t __builtin_aarch64_usra_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); -__Uint64x2_t __builtin_aarch64_usra_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); -__Uint8x8_t __builtin_aarch64_usri_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); -__Uint16x4_t __builtin_aarch64_usri_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); -__Uint32x2_t __builtin_aarch64_usri_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); -__Uint8x16_t __builtin_aarch64_usri_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); -__Uint16x8_t __builtin_aarch64_usri_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); -__Uint32x4_t __builtin_aarch64_usri_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); -__Uint64x2_t __builtin_aarch64_usri_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); -__Int8x8_t __builtin_aarch64_suqaddv8qi_ssu (__Int8x8_t __a, __Uint8x8_t __b); -__Int16x4_t __builtin_aarch64_suqaddv4hi_ssu (__Int16x4_t __a, __Uint16x4_t __b); -__Int32x2_t __builtin_aarch64_suqaddv2si_ssu (__Int32x2_t __a, __Uint32x2_t __b); -__Int8x16_t __builtin_aarch64_suqaddv16qi_ssu (__Int8x16_t __a, __Uint8x16_t __b); -__Int16x8_t __builtin_aarch64_suqaddv8hi_ssu (__Int16x8_t __a, __Uint16x8_t __b); -__Int32x4_t __builtin_aarch64_suqaddv4si_ssu (__Int32x4_t __a, __Uint32x4_t __b); -__Int64x2_t __builtin_aarch64_suqaddv2di_ssu (__Int64x2_t __a, __Uint64x2_t __b); -__Poly128_t __builtin_aarch64_crypto_pmulldi_ppp (__Poly64_t a, __Poly64_t b); -__Int8x8_t __builtin_aarch64_tbx4v8qi (__Int8x8_t, __builtin_aarch64_simd_oi, __Int8x8_t); -//end CMPCPP-6477 -void __builtin_aarch64_st2_lanev4hf(__fp16*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev2sf(float*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanedf(double*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev8qi(signed char*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev4hi(short int*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanedi(long int*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev2si(int*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st3_lanev4hf(__fp16*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev2sf(float*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanedf(double*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev8qi(signed char*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev4hi(short int*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanedi(long int*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev2si(int*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st4_lanev4hf(__fp16*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev2sf(float*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanedf(double*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev8qi(signed char*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev4hi(short int*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanedi(long int*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev2si(int*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4hf(const __fp16*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2sf(const float*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanedf(const double*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8qi(const signed char*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4hi(const short int*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanedi(const long int*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2si(const int*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4hf(const __fp16*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2sf(const float*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanedf(const double*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8qi(const signed char*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4hi(const short int*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanedi(const long int*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2si(const int*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4hf(const __fp16*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2sf(const float*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanedf(const double*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8qi(const signed char*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4hi(const short int*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanedi(const long int*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2si(const int*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev16qi(const signed char*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2df(const double*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2di(const long int*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4sf(const float*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4si(const int*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8hf(const __fp16*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8hi(const short int*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev16qi(const signed char*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2df(const double*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2di(const long int*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4sf(const float*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4si(const int*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8hf(const __fp16*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8hi(const short int*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev16qi(const signed char*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2df(const double*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2di(const long int*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4sf(const float*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4si(const int*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8hf(const __fp16*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8hi(const short int*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st2_lanev16qi(signed char*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev2df(double*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev2di(long int*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev4sf(float*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev4si(int*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev8hf(__fp16*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev8hi(short int*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st3_lanev16qi(signed char*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev2df(double*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev2di(long int*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev4sf(float*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev4si(int*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev8hf(__fp16*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev8hi(short int*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st4_lanev16qi(signed char*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev2df(double*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev2di(long int*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev4sf(float*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev4si(int*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev8hf(__fp16*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev8hi(short int*, __builtin_aarch64_simd_xi, int); -__fp16 __builtin_aarch64_abshf(__fp16); -__Float16x4_t __builtin_aarch64_absv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_absv8hf(__Float16x8_t); -long int __builtin_aarch64_addpdi(__Int64x2_t); -long int __builtin_aarch64_ashldi(long int, signed char); -long int __builtin_aarch64_ashr_simddi(long int, int); -__Int8x16_t __builtin_aarch64_bcaxqv16qi(__Int8x16_t, __Int8x16_t, __Int8x16_t); -__Uint8x16_t __builtin_aarch64_bcaxqv16qi_uuuu(__Uint8x16_t, __Uint8x16_t, __Uint8x16_t); -__Int64x2_t __builtin_aarch64_bcaxqv2di(__Int64x2_t, __Int64x2_t, __Int64x2_t); -__Uint64x2_t __builtin_aarch64_bcaxqv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); -__Int32x4_t __builtin_aarch64_bcaxqv4si(__Int32x4_t, __Int32x4_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_bcaxqv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); -__Int16x8_t __builtin_aarch64_bcaxqv8hi(__Int16x8_t, __Int16x8_t, __Int16x8_t); -__Uint16x8_t __builtin_aarch64_bcaxqv8hi_uuuu(__Uint16x8_t, __Uint16x8_t, __Uint16x8_t); -__fp16 __builtin_aarch64_btrunchf(__fp16); -__Float16x4_t __builtin_aarch64_btruncv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_btruncv8hf(__Float16x8_t); -__fp16 __builtin_aarch64_ceilhf(__fp16); -__Float16x4_t __builtin_aarch64_ceilv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_ceilv8hf(__Float16x8_t); -short unsigned int __builtin_aarch64_cmeqhf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_cmeqv4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_cmeqv8hf_uss(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_cmgehf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_cmgev4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_cmgev8hf_uss(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_cmgthf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_cmgtv4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_cmgtv8hf_uss(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_cmlehf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_cmlev4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_cmlev8hf_uss(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_cmlthf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_cmltv4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_cmltv8hf_uss(__Float16x8_t, __Float16x8_t); -__Poly64x2_t __builtin_aarch64_combinedi_ppp(__Poly64_t, __Poly64_t); -unsigned int __builtin_aarch64_crc32b(unsigned int, unsigned char); -unsigned int __builtin_aarch64_crc32cb(unsigned int, unsigned char); -unsigned int __builtin_aarch64_crc32ch(unsigned int, short unsigned int); -unsigned int __builtin_aarch64_crc32cw(unsigned int, unsigned int); -unsigned int __builtin_aarch64_crc32cx(unsigned int, long unsigned int); -unsigned int __builtin_aarch64_crc32h(unsigned int, short unsigned int); -unsigned int __builtin_aarch64_crc32w(unsigned int, unsigned int); -unsigned int __builtin_aarch64_crc32x(unsigned int, long unsigned int); -unsigned int __builtin_aarch64_crypto_sha1hsi_uu(unsigned int); -__Uint64x2_t __builtin_aarch64_crypto_sha512h2qv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); -__Uint64x2_t __builtin_aarch64_crypto_sha512hqv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); -__Uint64x2_t __builtin_aarch64_crypto_sha512su0qv2di_uuu(__Uint64x2_t, __Uint64x2_t); -__Uint64x2_t __builtin_aarch64_crypto_sha512su1qv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); -__Int8x16_t __builtin_aarch64_eor3qv16qi(__Int8x16_t, __Int8x16_t, __Int8x16_t); -__Uint8x16_t __builtin_aarch64_eor3qv16qi_uuuu(__Uint8x16_t, __Uint8x16_t, __Uint8x16_t); -__Int64x2_t __builtin_aarch64_eor3qv2di(__Int64x2_t, __Int64x2_t, __Int64x2_t); -__Uint64x2_t __builtin_aarch64_eor3qv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); -__Int32x4_t __builtin_aarch64_eor3qv4si(__Int32x4_t, __Int32x4_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_eor3qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); -__Int16x8_t __builtin_aarch64_eor3qv8hi(__Int16x8_t, __Int16x8_t, __Int16x8_t); -__Uint16x8_t __builtin_aarch64_eor3qv8hi_uuuu(__Uint16x8_t, __Uint16x8_t, __Uint16x8_t); -double __builtin_aarch64_fabddf(double, double); -__fp16 __builtin_aarch64_fabdhf(__fp16, __fp16); -float __builtin_aarch64_fabdsf(float, float); -__Float64x2_t __builtin_aarch64_fabdv2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fabdv2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fabdv4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fabdv4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fabdv8hf(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_facgehf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_facgev4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_facgev8hf_uss(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_facgthf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_facgtv4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_facgtv8hf_uss(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_faclehf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_faclev4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_faclev8hf_uss(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_faclthf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_facltv4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_facltv8hf_uss(__Float16x8_t, __Float16x8_t); -__Float64x2_t __builtin_aarch64_faddpv2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_faddpv2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_faddpv4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_faddpv4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_faddpv8hf(__Float16x8_t, __Float16x8_t); -__Float64x2_t __builtin_aarch64_fcadd270v2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fcadd270v2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fcadd270v4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fcadd270v4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fcadd270v8hf(__Float16x8_t, __Float16x8_t); -__Float64x2_t __builtin_aarch64_fcadd90v2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fcadd90v2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fcadd90v4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fcadd90v4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fcadd90v8hf(__Float16x8_t, __Float16x8_t); -__Float64x2_t __builtin_aarch64_fcmla0v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fcmla0v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fcmla0v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fcmla0v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fcmla0v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); -__Float64x2_t __builtin_aarch64_fcmla180v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fcmla180v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fcmla180v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fcmla180v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fcmla180v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); -__Float64x2_t __builtin_aarch64_fcmla270v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fcmla270v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fcmla270v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fcmla270v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fcmla270v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); -__Float64x2_t __builtin_aarch64_fcmla90v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fcmla90v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fcmla90v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fcmla90v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fcmla90v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); -__Float32x2_t __builtin_aarch64_fcmla_lane0v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); -__Float16x4_t __builtin_aarch64_fcmla_lane0v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fcmla_lane0v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); -__Float16x8_t __builtin_aarch64_fcmla_lane0v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fcmla_lane180v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); -__Float16x4_t __builtin_aarch64_fcmla_lane180v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fcmla_lane180v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); -__Float16x8_t __builtin_aarch64_fcmla_lane180v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fcmla_lane270v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); -__Float16x4_t __builtin_aarch64_fcmla_lane270v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fcmla_lane270v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); -__Float16x8_t __builtin_aarch64_fcmla_lane270v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fcmla_lane90v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); -__Float16x4_t __builtin_aarch64_fcmla_lane90v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fcmla_lane90v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); -__Float16x8_t __builtin_aarch64_fcmla_lane90v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fcmla_laneq0v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); -__Float16x4_t __builtin_aarch64_fcmla_laneq0v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); -__Float32x2_t __builtin_aarch64_fcmla_laneq180v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); -__Float16x4_t __builtin_aarch64_fcmla_laneq180v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); -__Float32x2_t __builtin_aarch64_fcmla_laneq270v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); -__Float16x4_t __builtin_aarch64_fcmla_laneq270v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); -__Float32x2_t __builtin_aarch64_fcmla_laneq90v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); -__Float16x4_t __builtin_aarch64_fcmla_laneq90v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); -__Float32x4_t __builtin_aarch64_fcmlaq_lane0v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); -__Float16x8_t __builtin_aarch64_fcmlaq_lane0v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fcmlaq_lane180v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); -__Float16x8_t __builtin_aarch64_fcmlaq_lane180v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fcmlaq_lane270v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); -__Float16x8_t __builtin_aarch64_fcmlaq_lane270v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fcmlaq_lane90v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); -__Float16x8_t __builtin_aarch64_fcmlaq_lane90v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); -long int __builtin_aarch64_fcvtzsdf(double, int); -short int __builtin_aarch64_fcvtzshf(__fp16, int); -long int __builtin_aarch64_fcvtzshfdi(__fp16, int); -int __builtin_aarch64_fcvtzshfsi(__fp16, int); -int __builtin_aarch64_fcvtzssf(float, int); -__Int64x2_t __builtin_aarch64_fcvtzsv2df(__Float64x2_t, int); -__Int32x2_t __builtin_aarch64_fcvtzsv2sf(__Float32x2_t, int); -__Int16x4_t __builtin_aarch64_fcvtzsv4hf(__Float16x4_t, int); -__Int32x4_t __builtin_aarch64_fcvtzsv4sf(__Float32x4_t, int); -__Int16x8_t __builtin_aarch64_fcvtzsv8hf(__Float16x8_t, int); -long unsigned int __builtin_aarch64_fcvtzudf_uss(double, int); -long unsigned int __builtin_aarch64_fcvtzuhfdi_uss(__fp16, int); -unsigned int __builtin_aarch64_fcvtzuhfsi_uss(__fp16, int); -short unsigned int __builtin_aarch64_fcvtzuhf_uss(__fp16, int); -unsigned int __builtin_aarch64_fcvtzusf_uss(float, int); -__Uint64x2_t __builtin_aarch64_fcvtzuv2df_uss(__Float64x2_t, int); -__Uint32x2_t __builtin_aarch64_fcvtzuv2sf_uss(__Float32x2_t, int); -__Uint16x4_t __builtin_aarch64_fcvtzuv4hf_uss(__Float16x4_t, int); -__Uint32x4_t __builtin_aarch64_fcvtzuv4sf_uss(__Float32x4_t, int); -__Uint16x8_t __builtin_aarch64_fcvtzuv8hf_uss(__Float16x8_t, int); -long int __builtin_aarch64_fix_trunchfdi(__fp16); -short int __builtin_aarch64_fix_trunchfhi(__fp16); -int __builtin_aarch64_fix_trunchfsi(__fp16); -long unsigned int __builtin_aarch64_fixuns_trunchfdi_us(__fp16); -short unsigned int __builtin_aarch64_fixuns_trunchfhi_us(__fp16); -unsigned int __builtin_aarch64_fixuns_trunchfsi_us(__fp16); -__fp16 __builtin_aarch64_floatdihf(long int); -__fp16 __builtin_aarch64_floathihf(short int); -__fp16 __builtin_aarch64_floatsihf(int); -__fp16 __builtin_aarch64_floatunsdihf_us(long int); -__fp16 __builtin_aarch64_floatunshihf_us(short int); -__fp16 __builtin_aarch64_floatunssihf_us(int); -__Float16x4_t __builtin_aarch64_floatunsv4hiv4hf(__Int16x4_t); -__Float16x8_t __builtin_aarch64_floatunsv8hiv8hf(__Int16x8_t); -__Float16x4_t __builtin_aarch64_floatv4hiv4hf(__Int16x4_t); -__Float16x8_t __builtin_aarch64_floatv8hiv8hf(__Int16x8_t); -__fp16 __builtin_aarch64_floorhf(__fp16); -__Float16x4_t __builtin_aarch64_floorv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_floorv8hf(__Float16x8_t); -__fp16 __builtin_aarch64_fmahf(__fp16, __fp16, __fp16); -__Float16x4_t __builtin_aarch64_fmav4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_fmav8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); -double __builtin_aarch64_fmaxdf(double, double); -__fp16 __builtin_aarch64_fmaxhf(__fp16, __fp16); -__Float64x2_t __builtin_aarch64_fmaxv2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fmaxv2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fmaxv4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fmaxv4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fmaxv8hf(__Float16x8_t, __Float16x8_t); -double __builtin_aarch64_fmindf(double, double); -__fp16 __builtin_aarch64_fminhf(__fp16, __fp16); -__Float64x2_t __builtin_aarch64_fminv2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fminv2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fminv4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fminv4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fminv8hf(__Float16x8_t, __Float16x8_t); -__Float32x2_t __builtin_aarch64_fmlal_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); -__Float32x2_t __builtin_aarch64_fmlal_lane_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); -__Float32x2_t __builtin_aarch64_fmlal_lane_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); -__Float32x2_t __builtin_aarch64_fmlal_laneq_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fmlal_laneq_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fmlal_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fmlalq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); -__Float32x4_t __builtin_aarch64_fmlalq_lane_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fmlalq_lane_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fmlalq_laneq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); -__Float32x4_t __builtin_aarch64_fmlalq_laneq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); -__Float32x4_t __builtin_aarch64_fmlalq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); -__Float32x2_t __builtin_aarch64_fmlsl_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); -__Float32x2_t __builtin_aarch64_fmlsl_lane_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); -__Float32x2_t __builtin_aarch64_fmlsl_lane_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); -__Float32x2_t __builtin_aarch64_fmlsl_laneq_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fmlsl_laneq_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fmlsl_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fmlslq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); -__Float32x4_t __builtin_aarch64_fmlslq_lane_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fmlslq_lane_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fmlslq_laneq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); -__Float32x4_t __builtin_aarch64_fmlslq_laneq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); -__Float32x4_t __builtin_aarch64_fmlslq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); -double __builtin_aarch64_fmulxdf(double, double); -__fp16 __builtin_aarch64_fmulxhf(__fp16, __fp16); -float __builtin_aarch64_fmulxsf(float, float); -__Float64x2_t __builtin_aarch64_fmulxv2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fmulxv2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fmulxv4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fmulxv4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fmulxv8hf(__Float16x8_t, __Float16x8_t); -__fp16 __builtin_aarch64_fnmahf(__fp16, __fp16, __fp16); -__Float16x4_t __builtin_aarch64_fnmav4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_fnmav8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); -double __builtin_aarch64_frecpedf(double); -__fp16 __builtin_aarch64_frecpehf(__fp16); -float __builtin_aarch64_frecpesf(float); -__Float16x4_t __builtin_aarch64_frecpev4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_frecpev8hf(__Float16x8_t); -double __builtin_aarch64_frecpsdf(double, double); -__fp16 __builtin_aarch64_frecpshf(__fp16, __fp16); -float __builtin_aarch64_frecpssf(float, float); -__Float16x4_t __builtin_aarch64_frecpsv4hf(__Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_frecpsv8hf(__Float16x8_t, __Float16x8_t); -double __builtin_aarch64_frecpxdf(double); -__fp16 __builtin_aarch64_frecpxhf(__fp16); -float __builtin_aarch64_frecpxsf(float); -double __builtin_aarch64_frintndf(double); -__fp16 __builtin_aarch64_frintnhf(__fp16); -__Float16x4_t __builtin_aarch64_frintnv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_frintnv8hf(__Float16x8_t); -__Poly64_t __builtin_aarch64_get_dregcidi_pss(__builtin_aarch64_simd_ci, int); -__Poly64_t __builtin_aarch64_get_dregoidi_pss(__builtin_aarch64_simd_oi, int); -__Poly64_t __builtin_aarch64_get_dregxidi_pss(__builtin_aarch64_simd_xi, int); -__Poly64x2_t __builtin_aarch64_get_qregciv2di_pss(__builtin_aarch64_simd_ci, int); -__Poly64x2_t __builtin_aarch64_get_qregoiv2di_pss(__builtin_aarch64_simd_oi, int); -__Poly64x2_t __builtin_aarch64_get_qregxiv2di_pss(__builtin_aarch64_simd_xi, int); -__Uint16x4_t __builtin_aarch64_lbtruncuv4hfv4hi_us(__Float16x4_t); -__Uint16x8_t __builtin_aarch64_lbtruncuv8hfv8hi_us(__Float16x8_t); -__Int16x4_t __builtin_aarch64_lbtruncv4hfv4hi(__Float16x4_t); -__Int16x8_t __builtin_aarch64_lbtruncv8hfv8hi(__Float16x8_t); -long int __builtin_aarch64_lceilhfdi(__fp16); -short int __builtin_aarch64_lceilhfhi(__fp16); -int __builtin_aarch64_lceilhfsi(__fp16); -long unsigned int __builtin_aarch64_lceiludfdi_us(double); -long unsigned int __builtin_aarch64_lceiluhfdi_us(__fp16); -short unsigned int __builtin_aarch64_lceiluhfhi_us(__fp16); -unsigned int __builtin_aarch64_lceiluhfsi_us(__fp16); -unsigned int __builtin_aarch64_lceilusfsi_us(float); -__Uint16x4_t __builtin_aarch64_lceiluv4hfv4hi_us(__Float16x4_t); -__Uint16x8_t __builtin_aarch64_lceiluv8hfv8hi_us(__Float16x8_t); -__Int16x4_t __builtin_aarch64_lceilv4hfv4hi(__Float16x4_t); -__Int16x8_t __builtin_aarch64_lceilv8hfv8hi(__Float16x8_t); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2df(const double*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2di(const long int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v16qi(const signed char*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2df(const double*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2di(const long int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2sf(const float*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2si(const int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4hf(const __fp16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4hi(const short int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4sf(const float*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4si(const int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8hf(const __fp16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8hi(const short int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8qi(const signed char*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3df(const double*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3di(const long int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v16qi(const signed char*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2df(const double*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2di(const long int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2sf(const float*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2si(const int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4hf(const __fp16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4hi(const short int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4sf(const float*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4si(const int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8hf(const __fp16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8hi(const short int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8qi(const signed char*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2df(const double*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2di(const long int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rdf(const double*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rdi(const long int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv16qi(const signed char*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2df(const double*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2di(const long int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2sf(const float*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2si(const int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4hf(const __fp16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4hi(const short int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4sf(const float*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4si(const int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8hf(const __fp16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8hi(const short int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8qi(const signed char*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v16qi(const signed char*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2df(const double*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2di(const long int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2sf(const float*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2si(const int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4hf(const __fp16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4hi(const short int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4sf(const float*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4si(const int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8hf(const __fp16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8hi(const short int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8qi(const signed char*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3df(const double*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rdf(const double*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rdi(const long int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv16qi(const signed char*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2df(const double*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2di(const long int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2sf(const float*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2si(const int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4hf(const __fp16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4hi(const short int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4sf(const float*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4si(const int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8hf(const __fp16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8hi(const short int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8qi(const signed char*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v16qi(const signed char*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2df(const double*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2di(const long int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2sf(const float*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2si(const int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4hf(const __fp16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4hi(const short int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4sf(const float*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4si(const int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8hf(const __fp16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8hi(const short int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8qi(const signed char*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4df(const double*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4di(const long int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rdf(const double*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rdi(const long int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv16qi(const signed char*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2df(const double*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2di(const long int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2sf(const float*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2si(const int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4hf(const __fp16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4hi(const short int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4sf(const float*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4si(const int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8hf(const __fp16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8hi(const short int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8qi(const signed char*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v16qi(const signed char*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2df(const double*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2di(const long int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2sf(const float*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2si(const int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4hf(const __fp16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4hi(const short int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4sf(const float*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4si(const int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8hf(const __fp16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8hi(const short int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8qi(const signed char*); -long int __builtin_aarch64_lfloorhfdi(__fp16); -short int __builtin_aarch64_lfloorhfhi(__fp16); -int __builtin_aarch64_lfloorhfsi(__fp16); -long unsigned int __builtin_aarch64_lfloorudfdi_us(double); -long unsigned int __builtin_aarch64_lflooruhfdi_us(__fp16); -short unsigned int __builtin_aarch64_lflooruhfhi_us(__fp16); -unsigned int __builtin_aarch64_lflooruhfsi_us(__fp16); -unsigned int __builtin_aarch64_lfloorusfsi_us(float); -__Uint16x4_t __builtin_aarch64_lflooruv4hfv4hi_us(__Float16x4_t); -__Uint16x8_t __builtin_aarch64_lflooruv8hfv8hi_us(__Float16x8_t); -__Int16x4_t __builtin_aarch64_lfloorv4hfv4hi(__Float16x4_t); -__Int16x8_t __builtin_aarch64_lfloorv8hfv8hi(__Float16x8_t); -long int __builtin_aarch64_lfrintndfdi(double); -long int __builtin_aarch64_lfrintnhfdi(__fp16); -short int __builtin_aarch64_lfrintnhfhi(__fp16); -int __builtin_aarch64_lfrintnhfsi(__fp16); -int __builtin_aarch64_lfrintnsfsi(float); -long unsigned int __builtin_aarch64_lfrintnudfdi_us(double); -long unsigned int __builtin_aarch64_lfrintnuhfdi_us(__fp16); -short unsigned int __builtin_aarch64_lfrintnuhfhi_us(__fp16); -unsigned int __builtin_aarch64_lfrintnuhfsi_us(__fp16); -unsigned int __builtin_aarch64_lfrintnusfsi_us(float); -__Uint16x4_t __builtin_aarch64_lfrintnuv4hfv4hi_us(__Float16x4_t); -__Uint16x8_t __builtin_aarch64_lfrintnuv8hfv8hi_us(__Float16x8_t); -__Int16x4_t __builtin_aarch64_lfrintnv4hfv4hi(__Float16x4_t); -__Int16x8_t __builtin_aarch64_lfrintnv8hfv8hi(__Float16x8_t); -long int __builtin_aarch64_lrounddfdi(double); -long int __builtin_aarch64_lroundhfdi(__fp16); -short int __builtin_aarch64_lroundhfhi(__fp16); -int __builtin_aarch64_lroundhfsi(__fp16); -int __builtin_aarch64_lroundsfsi(float); -long unsigned int __builtin_aarch64_lroundudfdi_us(double); -long unsigned int __builtin_aarch64_lrounduhfdi_us(__fp16); -short unsigned int __builtin_aarch64_lrounduhfhi_us(__fp16); -unsigned int __builtin_aarch64_lrounduhfsi_us(__fp16); -unsigned int __builtin_aarch64_lroundusfsi_us(float); -__Uint16x4_t __builtin_aarch64_lrounduv4hfv4hi_us(__Float16x4_t); -__Uint16x8_t __builtin_aarch64_lrounduv8hfv8hi_us(__Float16x8_t); -__Int16x4_t __builtin_aarch64_lroundv4hfv4hi(__Float16x4_t); -__Int16x8_t __builtin_aarch64_lroundv8hfv8hi(__Float16x8_t); -long unsigned int __builtin_aarch64_lshr_simddi_uus(long unsigned int, int); -__fp16 __builtin_aarch64_nearbyinthf(__fp16); -__Float16x4_t __builtin_aarch64_nearbyintv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_nearbyintv8hf(__Float16x8_t); -__fp16 __builtin_aarch64_neghf(__fp16); -__Int8x16_t __builtin_aarch64_qtbl3v16qi(__builtin_aarch64_simd_ci, __Int8x16_t); -__Int8x8_t __builtin_aarch64_qtbl3v8qi(__builtin_aarch64_simd_ci, __Int8x8_t); -__Int8x16_t __builtin_aarch64_qtbl4v16qi(__builtin_aarch64_simd_xi, __Int8x16_t); -__Int8x8_t __builtin_aarch64_qtbl4v8qi(__builtin_aarch64_simd_xi, __Int8x8_t); -__Int8x16_t __builtin_aarch64_qtbx3v16qi(__Int8x16_t, __builtin_aarch64_simd_ci, __Int8x16_t); -__Int8x8_t __builtin_aarch64_qtbx3v8qi(__Int8x8_t, __builtin_aarch64_simd_ci, __Int8x8_t); -__Int8x16_t __builtin_aarch64_qtbx4v16qi(__Int8x16_t, __builtin_aarch64_simd_xi, __Int8x16_t); -__Int8x8_t __builtin_aarch64_qtbx4v8qi(__Int8x8_t, __builtin_aarch64_simd_xi, __Int8x8_t); -__Uint64x2_t __builtin_aarch64_rax1qv2di_uuu(__Uint64x2_t, __Uint64x2_t); -signed char __builtin_aarch64_reduc_plus_scal_v16qi(__Int8x16_t); -double __builtin_aarch64_reduc_plus_scal_v2df(__Float64x2_t); -long int __builtin_aarch64_reduc_plus_scal_v2di(__Int64x2_t); -float __builtin_aarch64_reduc_plus_scal_v2sf(__Float32x2_t); -int __builtin_aarch64_reduc_plus_scal_v2si(__Int32x2_t); -short int __builtin_aarch64_reduc_plus_scal_v4hi(__Int16x4_t); -float __builtin_aarch64_reduc_plus_scal_v4sf(__Float32x4_t); -int __builtin_aarch64_reduc_plus_scal_v4si(__Int32x4_t); -short int __builtin_aarch64_reduc_plus_scal_v8hi(__Int16x8_t); -signed char __builtin_aarch64_reduc_plus_scal_v8qi(__Int8x8_t); -double __builtin_aarch64_reduc_smax_nan_scal_v2df(__Float64x2_t); -float __builtin_aarch64_reduc_smax_nan_scal_v2sf(__Float32x2_t); -__fp16 __builtin_aarch64_reduc_smax_nan_scal_v4hf(__Float16x4_t); -float __builtin_aarch64_reduc_smax_nan_scal_v4sf(__Float32x4_t); -__fp16 __builtin_aarch64_reduc_smax_nan_scal_v8hf(__Float16x8_t); -signed char __builtin_aarch64_reduc_smax_scal_v16qi(__Int8x16_t); -double __builtin_aarch64_reduc_smax_scal_v2df(__Float64x2_t); -float __builtin_aarch64_reduc_smax_scal_v2sf(__Float32x2_t); -int __builtin_aarch64_reduc_smax_scal_v2si(__Int32x2_t); -__fp16 __builtin_aarch64_reduc_smax_scal_v4hf(__Float16x4_t); -short int __builtin_aarch64_reduc_smax_scal_v4hi(__Int16x4_t); -float __builtin_aarch64_reduc_smax_scal_v4sf(__Float32x4_t); -int __builtin_aarch64_reduc_smax_scal_v4si(__Int32x4_t); -__fp16 __builtin_aarch64_reduc_smax_scal_v8hf(__Float16x8_t); -short int __builtin_aarch64_reduc_smax_scal_v8hi(__Int16x8_t); -signed char __builtin_aarch64_reduc_smax_scal_v8qi(__Int8x8_t); -double __builtin_aarch64_reduc_smin_nan_scal_v2df(__Float64x2_t); -float __builtin_aarch64_reduc_smin_nan_scal_v2sf(__Float32x2_t); -__fp16 __builtin_aarch64_reduc_smin_nan_scal_v4hf(__Float16x4_t); -float __builtin_aarch64_reduc_smin_nan_scal_v4sf(__Float32x4_t); -__fp16 __builtin_aarch64_reduc_smin_nan_scal_v8hf(__Float16x8_t); -signed char __builtin_aarch64_reduc_smin_scal_v16qi(__Int8x16_t); -double __builtin_aarch64_reduc_smin_scal_v2df(__Float64x2_t); -float __builtin_aarch64_reduc_smin_scal_v2sf(__Float32x2_t); -int __builtin_aarch64_reduc_smin_scal_v2si(__Int32x2_t); -__fp16 __builtin_aarch64_reduc_smin_scal_v4hf(__Float16x4_t); -short int __builtin_aarch64_reduc_smin_scal_v4hi(__Int16x4_t); -float __builtin_aarch64_reduc_smin_scal_v4sf(__Float32x4_t); -int __builtin_aarch64_reduc_smin_scal_v4si(__Int32x4_t); -__fp16 __builtin_aarch64_reduc_smin_scal_v8hf(__Float16x8_t); -short int __builtin_aarch64_reduc_smin_scal_v8hi(__Int16x8_t); -signed char __builtin_aarch64_reduc_smin_scal_v8qi(__Int8x8_t); -unsigned char __builtin_aarch64_reduc_umax_scal_v16qi_uu(__Uint8x16_t); -unsigned int __builtin_aarch64_reduc_umax_scal_v2si_uu(__Uint32x2_t); -short unsigned int __builtin_aarch64_reduc_umax_scal_v4hi_uu(__Uint16x4_t); -unsigned int __builtin_aarch64_reduc_umax_scal_v4si_uu(__Uint32x4_t); -short unsigned int __builtin_aarch64_reduc_umax_scal_v8hi_uu(__Uint16x8_t); -unsigned char __builtin_aarch64_reduc_umax_scal_v8qi_uu(__Uint8x8_t); -unsigned char __builtin_aarch64_reduc_umin_scal_v16qi_uu(__Uint8x16_t); -unsigned int __builtin_aarch64_reduc_umin_scal_v2si_uu(__Uint32x2_t); -short unsigned int __builtin_aarch64_reduc_umin_scal_v4hi_uu(__Uint16x4_t); -unsigned int __builtin_aarch64_reduc_umin_scal_v4si_uu(__Uint32x4_t); -short unsigned int __builtin_aarch64_reduc_umin_scal_v8hi_uu(__Uint16x8_t); -unsigned char __builtin_aarch64_reduc_umin_scal_v8qi_uu(__Uint8x8_t); -__fp16 __builtin_aarch64_rinthf(__fp16); -__Float16x4_t __builtin_aarch64_rintv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_rintv8hf(__Float16x8_t); -__fp16 __builtin_aarch64_roundhf(__fp16); -__Float16x4_t __builtin_aarch64_roundv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_roundv8hf(__Float16x8_t); -double __builtin_aarch64_rsqrtedf(double); -__fp16 __builtin_aarch64_rsqrtehf(__fp16); -float __builtin_aarch64_rsqrtesf(float); -__Float64x2_t __builtin_aarch64_rsqrtev2df(__Float64x2_t); -__Float32x2_t __builtin_aarch64_rsqrtev2sf(__Float32x2_t); -__Float16x4_t __builtin_aarch64_rsqrtev4hf(__Float16x4_t); -__Float32x4_t __builtin_aarch64_rsqrtev4sf(__Float32x4_t); -__Float16x8_t __builtin_aarch64_rsqrtev8hf(__Float16x8_t); -double __builtin_aarch64_rsqrtsdf(double, double); -__fp16 __builtin_aarch64_rsqrtshf(__fp16, __fp16); -float __builtin_aarch64_rsqrtssf(float, float); -__Float64x2_t __builtin_aarch64_rsqrtsv2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_rsqrtsv2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_rsqrtsv4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_rsqrtsv4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_rsqrtsv8hf(__Float16x8_t, __Float16x8_t); -double __builtin_aarch64_scvtfdi(long int, int); -__fp16 __builtin_aarch64_scvtfdihf(long int, int); -__fp16 __builtin_aarch64_scvtfhi(short int, int); -float __builtin_aarch64_scvtfsi(int, int); -__fp16 __builtin_aarch64_scvtfsihf(int, int); -__Float64x2_t __builtin_aarch64_scvtfv2di(__Int64x2_t, int); -__Float32x2_t __builtin_aarch64_scvtfv2si(__Int32x2_t, int); -__Float16x4_t __builtin_aarch64_scvtfv4hi(__Int16x4_t, int); -__Float32x4_t __builtin_aarch64_scvtfv4si(__Int32x4_t, int); -__Float16x8_t __builtin_aarch64_scvtfv8hi(__Int16x8_t, int); -__Int32x4_t __builtin_aarch64_sdot_laneqv16qi(__Int32x4_t, __Int8x16_t, __Int8x16_t, int); -__Int32x2_t __builtin_aarch64_sdot_laneqv8qi(__Int32x2_t, __Int8x8_t, __Int8x16_t, int); -__Int32x4_t __builtin_aarch64_sdot_lanev16qi(__Int32x4_t, __Int8x16_t, __Int8x8_t, int); -__Int32x2_t __builtin_aarch64_sdot_lanev8qi(__Int32x2_t, __Int8x8_t, __Int8x8_t, int); -__Int32x4_t __builtin_aarch64_sdotv16qi(__Int32x4_t, __Int8x16_t, __Int8x16_t); -__Int32x2_t __builtin_aarch64_sdotv8qi(__Int32x2_t, __Int8x8_t, __Int8x8_t); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv2di_ssps(__builtin_aarch64_simd_ci, __Poly64x2_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv2di_ssps(__builtin_aarch64_simd_oi, __Poly64x2_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv2di_ssps(__builtin_aarch64_simd_xi, __Poly64x2_t, int); -double __builtin_aarch64_simd_bsldf_suss(long unsigned int, double, double); -__Poly64_t __builtin_aarch64_simd_bsldi_pupp(long unsigned int, __Poly64_t, __Poly64_t); -long int __builtin_aarch64_simd_bsldi_suss(long unsigned int, long int, long int); -long unsigned int __builtin_aarch64_simd_bsldi_uuuu(long unsigned int, long unsigned int, long unsigned int); -__Poly64x2_t __builtin_aarch64_simd_bslv2di_pupp(__Uint64x2_t, __Poly64x2_t, __Poly64x2_t); -__Float16x4_t __builtin_aarch64_simd_bslv4hf_suss(__Uint16x4_t, __Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_simd_bslv8hf_suss(__Uint16x8_t, __Float16x8_t, __Float16x8_t); -__Uint32x4_t __builtin_aarch64_sm3partw1qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); -__Uint32x4_t __builtin_aarch64_sm3partw2qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); -__Uint32x4_t __builtin_aarch64_sm3ss1qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); -__Uint32x4_t __builtin_aarch64_sm3tt1aqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); -__Uint32x4_t __builtin_aarch64_sm3tt1bqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); -__Uint32x4_t __builtin_aarch64_sm3tt2aqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); -__Uint32x4_t __builtin_aarch64_sm3tt2bqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); -__Uint32x4_t __builtin_aarch64_sm4ekeyqv4si_uuu(__Uint32x4_t, __Uint32x4_t); -__Uint32x4_t __builtin_aarch64_sm4eqv4si_uuu(__Uint32x4_t, __Uint32x4_t); -double __builtin_aarch64_smax_nandf(double, double); -__Float16x4_t __builtin_aarch64_smax_nanpv4hf(__Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_smax_nanpv8hf(__Float16x8_t, __Float16x8_t); -__Float16x4_t __builtin_aarch64_smax_nanv4hf(__Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_smax_nanv8hf(__Float16x8_t, __Float16x8_t); -__Float16x4_t __builtin_aarch64_smaxpv4hf(__Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_smaxpv8hf(__Float16x8_t, __Float16x8_t); -double __builtin_aarch64_smin_nandf(double, double); -__Float16x4_t __builtin_aarch64_smin_nanpv4hf(__Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_smin_nanpv8hf(__Float16x8_t, __Float16x8_t); -__Float16x4_t __builtin_aarch64_smin_nanv4hf(__Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_smin_nanv8hf(__Float16x8_t, __Float16x8_t); -__Float16x4_t __builtin_aarch64_sminpv4hf(__Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_sminpv8hf(__Float16x8_t, __Float16x8_t); -long int __builtin_aarch64_sqabsdi(long int); -short int __builtin_aarch64_sqabshi(short int); -signed char __builtin_aarch64_sqabsqi(signed char); -int __builtin_aarch64_sqabssi(int); -long int __builtin_aarch64_sqadddi(long int, long int); -short int __builtin_aarch64_sqaddhi(short int, short int); -signed char __builtin_aarch64_sqaddqi(signed char, signed char); -int __builtin_aarch64_sqaddsi(int, int); -int __builtin_aarch64_sqdmlalhi(int, short int, short int); -int __builtin_aarch64_sqdmlal_lanehi(int, short int, __Int16x4_t, int); -int __builtin_aarch64_sqdmlal_laneqhi(int, short int, __Int16x8_t, int); -long int __builtin_aarch64_sqdmlal_laneqsi(long int, int, __Int32x4_t, int); -long int __builtin_aarch64_sqdmlal_lanesi(long int, int, __Int32x2_t, int); -long int __builtin_aarch64_sqdmlalsi(long int, int, int); -int __builtin_aarch64_sqdmlslhi(int, short int, short int); -int __builtin_aarch64_sqdmlsl_lanehi(int, short int, __Int16x4_t, int); -int __builtin_aarch64_sqdmlsl_laneqhi(int, short int, __Int16x8_t, int); -long int __builtin_aarch64_sqdmlsl_laneqsi(long int, int, __Int32x4_t, int); -long int __builtin_aarch64_sqdmlsl_lanesi(long int, int, __Int32x2_t, int); -long int __builtin_aarch64_sqdmlslsi(long int, int, int); -short int __builtin_aarch64_sqdmulhhi(short int, short int); -short int __builtin_aarch64_sqdmulh_lanehi(short int, __Int16x4_t, int); -short int __builtin_aarch64_sqdmulh_laneqhi(short int, __Int16x8_t, int); -int __builtin_aarch64_sqdmulh_laneqsi(int, __Int32x4_t, int); -int __builtin_aarch64_sqdmulh_lanesi(int, __Int32x2_t, int); -int __builtin_aarch64_sqdmulhsi(int, int); -int __builtin_aarch64_sqdmullhi(short int, short int); -int __builtin_aarch64_sqdmull_lanehi(short int, __Int16x4_t, int); -int __builtin_aarch64_sqdmull_laneqhi(short int, __Int16x8_t, int); -long int __builtin_aarch64_sqdmull_laneqsi(int, __Int32x4_t, int); -long int __builtin_aarch64_sqdmull_lanesi(int, __Int32x2_t, int); -long int __builtin_aarch64_sqdmullsi(int, int); -int __builtin_aarch64_sqmovndi(long int); -signed char __builtin_aarch64_sqmovnhi(short int); -short int __builtin_aarch64_sqmovnsi(int); -int __builtin_aarch64_sqmovundi(long int); -signed char __builtin_aarch64_sqmovunhi(short int); -short int __builtin_aarch64_sqmovunsi(int); -long int __builtin_aarch64_sqnegdi(long int); -short int __builtin_aarch64_sqneghi(short int); -signed char __builtin_aarch64_sqnegqi(signed char); -int __builtin_aarch64_sqnegsi(int); -short int __builtin_aarch64_sqrdmlahhi(short int, short int, short int); -short int __builtin_aarch64_sqrdmlah_lanehi(short int, short int, __Int16x4_t, int); -short int __builtin_aarch64_sqrdmlah_laneqhi(short int, short int, __Int16x8_t, int); -int __builtin_aarch64_sqrdmlah_laneqsi(int, int, __Int32x4_t, int); -int __builtin_aarch64_sqrdmlah_lanesi(int, int, __Int32x2_t, int); -int __builtin_aarch64_sqrdmlahsi(int, int, int); -short int __builtin_aarch64_sqrdmlshhi(short int, short int, short int); -short int __builtin_aarch64_sqrdmlsh_lanehi(short int, short int, __Int16x4_t, int); -short int __builtin_aarch64_sqrdmlsh_laneqhi(short int, short int, __Int16x8_t, int); -int __builtin_aarch64_sqrdmlsh_laneqsi(int, int, __Int32x4_t, int); -int __builtin_aarch64_sqrdmlsh_lanesi(int, int, __Int32x2_t, int); -int __builtin_aarch64_sqrdmlshsi(int, int, int); -short int __builtin_aarch64_sqrdmulhhi(short int, short int); -short int __builtin_aarch64_sqrdmulh_lanehi(short int, __Int16x4_t, int); -short int __builtin_aarch64_sqrdmulh_laneqhi(short int, __Int16x8_t, int); -int __builtin_aarch64_sqrdmulh_laneqsi(int, __Int32x4_t, int); -int __builtin_aarch64_sqrdmulh_lanesi(int, __Int32x2_t, int); -int __builtin_aarch64_sqrdmulhsi(int, int); -long int __builtin_aarch64_sqrshldi(long int, long int); -short int __builtin_aarch64_sqrshlhi(short int, short int); -signed char __builtin_aarch64_sqrshlqi(signed char, signed char); -int __builtin_aarch64_sqrshlsi(int, int); -int __builtin_aarch64_sqrshrn_ndi(long int, int); -signed char __builtin_aarch64_sqrshrn_nhi(short int, int); -short int __builtin_aarch64_sqrshrn_nsi(int, int); -int __builtin_aarch64_sqrshrun_ndi(long int, int); -signed char __builtin_aarch64_sqrshrun_nhi(short int, int); -short int __builtin_aarch64_sqrshrun_nsi(int, int); -double __builtin_aarch64_sqrtdf(double); -__fp16 __builtin_aarch64_sqrthf(__fp16); -__Float16x4_t __builtin_aarch64_sqrtv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_sqrtv8hf(__Float16x8_t); -long int __builtin_aarch64_sqshldi(long int, long int); -short int __builtin_aarch64_sqshlhi(short int, short int); -long int __builtin_aarch64_sqshl_ndi(long int, int); -short int __builtin_aarch64_sqshl_nhi(short int, int); -signed char __builtin_aarch64_sqshl_nqi(signed char, int); -int __builtin_aarch64_sqshl_nsi(int, int); -signed char __builtin_aarch64_sqshlqi(signed char, signed char); -int __builtin_aarch64_sqshlsi(int, int); -long unsigned int __builtin_aarch64_sqshlu_ndi_uss(long int, int); -short unsigned int __builtin_aarch64_sqshlu_nhi_uss(short int, int); -unsigned char __builtin_aarch64_sqshlu_nqi_uss(signed char, int); -unsigned int __builtin_aarch64_sqshlu_nsi_uss(int, int); -int __builtin_aarch64_sqshrn_ndi(long int, int); -signed char __builtin_aarch64_sqshrn_nhi(short int, int); -short int __builtin_aarch64_sqshrn_nsi(int, int); -int __builtin_aarch64_sqshrun_ndi(long int, int); -signed char __builtin_aarch64_sqshrun_nhi(short int, int); -short int __builtin_aarch64_sqshrun_nsi(int, int); -long int __builtin_aarch64_sqsubdi(long int, long int); -short int __builtin_aarch64_sqsubhi(short int, short int); -signed char __builtin_aarch64_sqsubqi(signed char, signed char); -int __builtin_aarch64_sqsubsi(int, int); -long int __builtin_aarch64_srshldi(long int, long int); -long int __builtin_aarch64_srshr_ndi(long int, int); -long int __builtin_aarch64_srsra_ndi(long int, long int, int); -long int __builtin_aarch64_sshldi(long int, long int); -long int __builtin_aarch64_ssli_ndi(long int, long int, int); -__Poly64_t __builtin_aarch64_ssli_ndi_ppps(__Poly64_t, __Poly64_t, int); -__Poly64x2_t __builtin_aarch64_ssli_nv2di_ppps(__Poly64x2_t, __Poly64x2_t, int); -long int __builtin_aarch64_ssra_ndi(long int, long int, int); -long int __builtin_aarch64_ssri_ndi(long int, long int, int); -void __builtin_aarch64_st1v16qi(signed char*, __Int8x16_t); -void __builtin_aarch64_st1v2df(double*, __Float64x2_t); -void __builtin_aarch64_st1v2di(long int*, __Int64x2_t); -void __builtin_aarch64_st1v2di_sp(long int*, __Poly64x2_t); -void __builtin_aarch64_st1v2sf(float*, __Float32x2_t); -void __builtin_aarch64_st1v2si(int*, __Int32x2_t); -void __builtin_aarch64_st1v4hf(__fp16*, __Float16x4_t); -void __builtin_aarch64_st1v4hi(short int*, __Int16x4_t); -void __builtin_aarch64_st1v4sf(float*, __Float32x4_t); -void __builtin_aarch64_st1v4si(int*, __Int32x4_t); -void __builtin_aarch64_st1v8hf(__fp16*, __Float16x8_t); -void __builtin_aarch64_st1v8hi(short int*, __Int16x8_t); -void __builtin_aarch64_st1v8qi(signed char*, __Int8x8_t); -void __builtin_aarch64_st1x2df(double*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2di(long int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v16qi(signed char*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v2df(double*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v2di(long int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v2sf(float*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v2si(int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v4hf(__fp16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v4hi(short int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v4sf(float*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v4si(int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v8hf(__fp16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v8hi(short int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v8qi(signed char*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x3df(double*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3di(long int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v16qi(signed char*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v2df(double*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v2di(long int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v2sf(float*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v2si(int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v4hf(__fp16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v4hi(short int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v4sf(float*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v4si(int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v8hf(__fp16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v8hi(short int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v8qi(signed char*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st2df(double*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2di(long int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v16qi(signed char*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v2df(double*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v2di(long int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v2sf(float*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v2si(int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v4hf(__fp16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v4hi(short int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v4sf(float*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v4si(int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v8hf(__fp16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v8hi(short int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v8qi(signed char*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st3df(double*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3di(long int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v16qi(signed char*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v2df(double*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v2di(long int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v2sf(float*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v2si(int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v4hf(__fp16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v4hi(short int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v4sf(float*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v4si(int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v8hf(__fp16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v8hi(short int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v8qi(signed char*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st4df(double*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4di(long int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v16qi(signed char*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v2df(double*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v2di(long int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v2sf(float*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v2si(int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v4hf(__fp16*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v4hi(short int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v4sf(float*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v4si(int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v8hf(__fp16*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v8hi(short int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v8qi(signed char*, __builtin_aarch64_simd_xi); -long int __builtin_aarch64_suqadddi_ssu(long int, long unsigned int); -short int __builtin_aarch64_suqaddhi_ssu(short int, short unsigned int); -signed char __builtin_aarch64_suqaddqi_ssu(signed char, unsigned char); -int __builtin_aarch64_suqaddsi_ssu(int, unsigned int); -__Int8x16_t __builtin_aarch64_tbl3v16qi(__builtin_aarch64_simd_oi, __Int8x16_t); -__Int8x16_t __builtin_aarch64_tbx4v16qi(__Int8x16_t, __builtin_aarch64_simd_oi, __Int8x16_t); -__fp16 __builtin_aarch64_ucvtfdihf_sus(long unsigned int, int); -double __builtin_aarch64_ucvtfdi_sus(long unsigned int, int); -__fp16 __builtin_aarch64_ucvtfhi_sus(short unsigned int, int); -__fp16 __builtin_aarch64_ucvtfsihf_sus(unsigned int, int); -float __builtin_aarch64_ucvtfsi_sus(unsigned int, int); -__Float64x2_t __builtin_aarch64_ucvtfv2di_sus(__Uint64x2_t, int); -__Float32x2_t __builtin_aarch64_ucvtfv2si_sus(__Uint32x2_t, int); -__Float16x4_t __builtin_aarch64_ucvtfv4hi_sus(__Uint16x4_t, int); -__Float32x4_t __builtin_aarch64_ucvtfv4si_sus(__Uint32x4_t, int); -__Float16x8_t __builtin_aarch64_ucvtfv8hi_sus(__Uint16x8_t, int); -__Uint32x4_t __builtin_aarch64_udot_laneqv16qi_uuuus(__Uint32x4_t, __Uint8x16_t, __Uint8x16_t, int); -__Uint32x2_t __builtin_aarch64_udot_laneqv8qi_uuuus(__Uint32x2_t, __Uint8x8_t, __Uint8x16_t, int); -__Uint32x4_t __builtin_aarch64_udot_lanev16qi_uuuus(__Uint32x4_t, __Uint8x16_t, __Uint8x8_t, int); -__Uint32x2_t __builtin_aarch64_udot_lanev8qi_uuuus(__Uint32x2_t, __Uint8x8_t, __Uint8x8_t, int); -__Uint32x4_t __builtin_aarch64_udotv16qi_uuuu(__Uint32x4_t, __Uint8x16_t, __Uint8x16_t); -__Uint32x2_t __builtin_aarch64_udotv8qi_uuuu(__Uint32x2_t, __Uint8x8_t, __Uint8x8_t); -long unsigned int __builtin_aarch64_uqadddi_uuu(long unsigned int, long unsigned int); -short unsigned int __builtin_aarch64_uqaddhi_uuu(short unsigned int, short unsigned int); -unsigned char __builtin_aarch64_uqaddqi_uuu(unsigned char, unsigned char); -unsigned int __builtin_aarch64_uqaddsi_uuu(unsigned int, unsigned int); -int __builtin_aarch64_uqmovndi(long int); -signed char __builtin_aarch64_uqmovnhi(short int); -short int __builtin_aarch64_uqmovnsi(int); -long unsigned int __builtin_aarch64_uqrshldi_uus(long unsigned int, long int); -short unsigned int __builtin_aarch64_uqrshlhi_uus(short unsigned int, short int); -unsigned char __builtin_aarch64_uqrshlqi_uus(unsigned char, signed char); -unsigned int __builtin_aarch64_uqrshlsi_uus(unsigned int, int); -unsigned int __builtin_aarch64_uqrshrn_ndi_uus(long unsigned int, int); -unsigned char __builtin_aarch64_uqrshrn_nhi_uus(short unsigned int, int); -short unsigned int __builtin_aarch64_uqrshrn_nsi_uus(unsigned int, int); -long unsigned int __builtin_aarch64_uqshldi_uus(long unsigned int, long int); -short unsigned int __builtin_aarch64_uqshlhi_uus(short unsigned int, short int); -long unsigned int __builtin_aarch64_uqshl_ndi_uus(long unsigned int, int); -short unsigned int __builtin_aarch64_uqshl_nhi_uus(short unsigned int, int); -unsigned char __builtin_aarch64_uqshl_nqi_uus(unsigned char, int); -unsigned int __builtin_aarch64_uqshl_nsi_uus(unsigned int, int); -unsigned char __builtin_aarch64_uqshlqi_uus(unsigned char, signed char); -unsigned int __builtin_aarch64_uqshlsi_uus(unsigned int, int); -unsigned int __builtin_aarch64_uqshrn_ndi_uus(long unsigned int, int); -unsigned char __builtin_aarch64_uqshrn_nhi_uus(short unsigned int, int); -short unsigned int __builtin_aarch64_uqshrn_nsi_uus(unsigned int, int); -long unsigned int __builtin_aarch64_uqsubdi_uuu(long unsigned int, long unsigned int); -short unsigned int __builtin_aarch64_uqsubhi_uuu(short unsigned int, short unsigned int); -unsigned char __builtin_aarch64_uqsubqi_uuu(unsigned char, unsigned char); -unsigned int __builtin_aarch64_uqsubsi_uuu(unsigned int, unsigned int); -long unsigned int __builtin_aarch64_urshldi_uus(long unsigned int, long int); -long unsigned int __builtin_aarch64_urshr_ndi_uus(long unsigned int, int); -long unsigned int __builtin_aarch64_ursra_ndi_uuus(long unsigned int, long unsigned int, int); -long unsigned int __builtin_aarch64_ushldi_uus(long unsigned int, long int); -long unsigned int __builtin_aarch64_usli_ndi_uuus(long unsigned int, long unsigned int, int); -long unsigned int __builtin_aarch64_usqadddi_uus(long unsigned int, long int); -short unsigned int __builtin_aarch64_usqaddhi_uus(short unsigned int, short int); -unsigned char __builtin_aarch64_usqaddqi_uus(unsigned char, signed char); -unsigned int __builtin_aarch64_usqaddsi_uus(unsigned int, int); -long unsigned int __builtin_aarch64_usra_ndi_uuus(long unsigned int, long unsigned int, int); -long unsigned int __builtin_aarch64_usri_ndi_uuus(long unsigned int, long unsigned int, int); -__Uint64x2_t __builtin_aarch64_xarqv2di_uuus(__Uint64x2_t, __Uint64x2_t, int); - -void* __builtin_aarch64_autia1716(void*, long unsigned int); -void* __builtin_aarch64_autib1716(void*, long unsigned int); -__bf16 __builtin_aarch64_bfcvtbf(float); -__Bfloat16x8_t __builtin_aarch64_bfcvtn2v8bf(__Bfloat16x8_t, __Float32x4_t); -__Bfloat16x8_t __builtin_aarch64_bfcvtn_qv8bf(__Float32x4_t); -__Bfloat16x4_t __builtin_aarch64_bfcvtnv4bf(__Float32x4_t); -__Float32x2_t __builtin_aarch64_bfdot_laneqv2sf(__Float32x2_t, __Bfloat16x4_t, __Bfloat16x8_t, int); -__Float32x4_t __builtin_aarch64_bfdot_laneqv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t, int); -__Float32x2_t __builtin_aarch64_bfdot_lanev2sf(__Float32x2_t, __Bfloat16x4_t, __Bfloat16x4_t, int); -__Float32x4_t __builtin_aarch64_bfdot_lanev4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x4_t, int); -__Float32x2_t __builtin_aarch64_bfdotv2sf(__Float32x2_t, __Bfloat16x4_t, __Bfloat16x4_t); -__Float32x4_t __builtin_aarch64_bfdotv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); -__Float32x4_t __builtin_aarch64_bfmlalb_lane_qv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t, int); -__Float32x4_t __builtin_aarch64_bfmlalb_lanev4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x4_t, int); -__Float32x4_t __builtin_aarch64_bfmlalbv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); -__Float32x4_t __builtin_aarch64_bfmlalt_lane_qv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t, int); -__Float32x4_t __builtin_aarch64_bfmlalt_lanev4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x4_t, int); -__Float32x4_t __builtin_aarch64_bfmlaltv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); -__Float32x4_t __builtin_aarch64_bfmmlaqv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); -__Uint64x2_t __builtin_aarch64_bswapv2di_uu(__Uint64x2_t); -__Uint32x2_t __builtin_aarch64_bswapv2si_uu(__Uint32x2_t); -__Uint16x4_t __builtin_aarch64_bswapv4hi_uu(__Uint16x4_t); -__Uint32x4_t __builtin_aarch64_bswapv4si_uu(__Uint32x4_t); -__Uint16x8_t __builtin_aarch64_bswapv8hi_uu(__Uint16x8_t); -long unsigned int __builtin_aarch64_cmeqdf_uss(double, double); -unsigned int __builtin_aarch64_cmeqsf_uss(float, float); -__Uint64x2_t __builtin_aarch64_cmeqv2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_cmeqv2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_cmeqv4sf_uss(__Float32x4_t, __Float32x4_t); -long unsigned int __builtin_aarch64_cmgedf_uss(double, double); -unsigned int __builtin_aarch64_cmgesf_uss(float, float); -__Uint64x2_t __builtin_aarch64_cmgev2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_cmgev2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_cmgev4sf_uss(__Float32x4_t, __Float32x4_t); -long unsigned int __builtin_aarch64_cmgtdf_uss(double, double); -unsigned int __builtin_aarch64_cmgtsf_uss(float, float); -__Uint64x2_t __builtin_aarch64_cmgtv2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_cmgtv2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_cmgtv4sf_uss(__Float32x4_t, __Float32x4_t); -long unsigned int __builtin_aarch64_cmledf_uss(double, double); -unsigned int __builtin_aarch64_cmlesf_uss(float, float); -__Uint64x2_t __builtin_aarch64_cmlev2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_cmlev2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_cmlev4sf_uss(__Float32x4_t, __Float32x4_t); -long unsigned int __builtin_aarch64_cmltdf_uss(double, double); -unsigned int __builtin_aarch64_cmltsf_uss(float, float); -__Uint64x2_t __builtin_aarch64_cmltv2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_cmltv2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_cmltv4sf_uss(__Float32x4_t, __Float32x4_t); -__Bfloat16x8_t __builtin_aarch64_combinev4bf(__Bfloat16x4_t, __Bfloat16x4_t); -__Int32x2_t __builtin_aarch64_ctzv2si(__Int32x2_t); -__Int32x4_t __builtin_aarch64_ctzv4si(__Int32x4_t); -long unsigned int __builtin_aarch64_facgedf_uss(double, double); -unsigned int __builtin_aarch64_facgesf_uss(float, float); -__Uint64x2_t __builtin_aarch64_facgev2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_facgev2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_facgev4sf_uss(__Float32x4_t, __Float32x4_t); -long unsigned int __builtin_aarch64_facgtdf_uss(double, double); -unsigned int __builtin_aarch64_facgtsf_uss(float, float); -__Uint64x2_t __builtin_aarch64_facgtv2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_facgtv2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_facgtv4sf_uss(__Float32x4_t, __Float32x4_t); -long unsigned int __builtin_aarch64_facledf_uss(double, double); -unsigned int __builtin_aarch64_faclesf_uss(float, float); -__Uint64x2_t __builtin_aarch64_faclev2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_faclev2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_faclev4sf_uss(__Float32x4_t, __Float32x4_t); -long unsigned int __builtin_aarch64_facltdf_uss(double, double); -unsigned int __builtin_aarch64_facltsf_uss(float, float); -__Uint64x2_t __builtin_aarch64_facltv2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_facltv2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_facltv4sf_uss(__Float32x4_t, __Float32x4_t); -__Float64x2_t __builtin_aarch64_fcmla_lane0v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); -__Float64x2_t __builtin_aarch64_fcmla_lane180v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); -__Float64x2_t __builtin_aarch64_fcmla_lane270v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); -__Float64x2_t __builtin_aarch64_fcmla_lane90v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); -long int __builtin_aarch64_fix_truncdfdi(double); -int __builtin_aarch64_fix_truncdfsi(double); -long int __builtin_aarch64_fix_truncsfdi(float); -int __builtin_aarch64_fix_truncsfsi(float); -long unsigned int __builtin_aarch64_fixuns_truncdfdi_us(double); -unsigned int __builtin_aarch64_fixuns_truncdfsi_us(double); -long unsigned int __builtin_aarch64_fixuns_truncsfdi_us(float); -unsigned int __builtin_aarch64_fixuns_truncsfsi_us(float); -float __builtin_aarch64_fmaxsf(float, float); -float __builtin_aarch64_fminsf(float, float); -__Float64x2_t __builtin_aarch64_fnmav2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fnmav2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); -__Float32x4_t __builtin_aarch64_fnmav4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); -double __builtin_aarch64_frint32xdf(double); -float __builtin_aarch64_frint32xsf(float); -__Float64x2_t __builtin_aarch64_frint32xv2df(__Float64x2_t); -__Float32x2_t __builtin_aarch64_frint32xv2sf(__Float32x2_t); -__Float32x4_t __builtin_aarch64_frint32xv4sf(__Float32x4_t); -double __builtin_aarch64_frint32zdf(double); -float __builtin_aarch64_frint32zsf(float); -__Float64x2_t __builtin_aarch64_frint32zv2df(__Float64x2_t); -__Float32x2_t __builtin_aarch64_frint32zv2sf(__Float32x2_t); -__Float32x4_t __builtin_aarch64_frint32zv4sf(__Float32x4_t); -double __builtin_aarch64_frint64xdf(double); -float __builtin_aarch64_frint64xsf(float); -__Float64x2_t __builtin_aarch64_frint64xv2df(__Float64x2_t); -__Float32x2_t __builtin_aarch64_frint64xv2sf(__Float32x2_t); -__Float32x4_t __builtin_aarch64_frint64xv4sf(__Float32x4_t); -double __builtin_aarch64_frint64zdf(double); -float __builtin_aarch64_frint64zsf(float); -__Float64x2_t __builtin_aarch64_frint64zv2df(__Float64x2_t); -__Float32x2_t __builtin_aarch64_frint64zv2sf(__Float32x2_t); -__Float32x4_t __builtin_aarch64_frint64zv4sf(__Float32x4_t); -__Bfloat16x4_t __builtin_aarch64_get_dregciv4bf(__builtin_aarch64_simd_ci, int); -__Bfloat16x4_t __builtin_aarch64_get_dregoiv4bf(__builtin_aarch64_simd_oi, int); -__Bfloat16x4_t __builtin_aarch64_get_dregxiv4bf(__builtin_aarch64_simd_xi, int); -__Bfloat16x8_t __builtin_aarch64_get_qregciv8bf(__builtin_aarch64_simd_ci, int); -__Bfloat16x8_t __builtin_aarch64_get_qregoiv8bf(__builtin_aarch64_simd_oi, int); -__Bfloat16x8_t __builtin_aarch64_get_qregxiv8bf(__builtin_aarch64_simd_xi, int); -__Int64x2_t __builtin_aarch64_intrinsic_vec_smult_lo_v2si(__Int32x2_t, __Int32x2_t); -__Int32x4_t __builtin_aarch64_intrinsic_vec_smult_lo_v4hi(__Int16x4_t, __Int16x4_t); -__Int16x8_t __builtin_aarch64_intrinsic_vec_smult_lo_v8qi(__Int8x8_t, __Int8x8_t); -__Uint64x2_t __builtin_aarch64_intrinsic_vec_umult_lo_v2si_uuu(__Uint32x2_t, __Uint32x2_t); -__Uint32x4_t __builtin_aarch64_intrinsic_vec_umult_lo_v4hi_uuu(__Uint16x4_t, __Uint16x4_t); -__Uint16x8_t __builtin_aarch64_intrinsic_vec_umult_lo_v8qi_uuu(__Uint8x8_t, __Uint8x8_t); -int __builtin_aarch64_jcvtzs(double); -void __builtin_aarch64_ld1v2di_sp(long int*, __Poly64_t); -__Bfloat16x4_t __builtin_aarch64_ld1v4bf(const __bf16*); -__Bfloat16x8_t __builtin_aarch64_ld1v8bf(const __bf16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4bf(const __bf16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8bf(const __bf16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4bf(const __bf16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8bf(const __bf16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4df(const double*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4di(const long int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v16qi(const signed char*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2df(const double*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2di(const long int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2sf(const float*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2si(const int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4bf(const __bf16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4hf(const __fp16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4hi(const short int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4sf(const float*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4si(const int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8bf(const __bf16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8hf(const __fp16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8hi(const short int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8qi(const signed char*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4bf(const __bf16*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8bf(const __bf16*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4bf(const __bf16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8bf(const __bf16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4bf(const __bf16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8bf(const __bf16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4bf(const __bf16*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8bf(const __bf16*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4bf(const __bf16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8bf(const __bf16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4bf(const __bf16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8bf(const __bf16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4bf(const __bf16*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8bf(const __bf16*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4bf(const __bf16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8bf(const __bf16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4bf(const __bf16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8bf(const __bf16*); -double __builtin_aarch64_negdf(double); -float __builtin_aarch64_negsf(float); -__Float64x2_t __builtin_aarch64_negv2df(__Float64x2_t); -__Float32x2_t __builtin_aarch64_negv2sf(__Float32x2_t); -__Float16x4_t __builtin_aarch64_negv4hf(__Float16x4_t); -__Float32x4_t __builtin_aarch64_negv4sf(__Float32x4_t); -__Float16x8_t __builtin_aarch64_negv8hf(__Float16x8_t); -void* __builtin_aarch64_pacia1716(void*, long unsigned int); -void* __builtin_aarch64_pacib1716(void*, long unsigned int); -int __builtin_aarch64_rndr(long unsigned int*); -int __builtin_aarch64_rndrrs(long unsigned int*); -double __builtin_aarch64_rsqrt_df(double); -float __builtin_aarch64_rsqrt_sf(float); -__Float64x2_t __builtin_aarch64_rsqrt_v2df(__Float64x2_t); -__Float32x2_t __builtin_aarch64_rsqrt_v2sf(__Float32x2_t); -__Float32x4_t __builtin_aarch64_rsqrt_v4sf(__Float32x4_t); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv8bf(__builtin_aarch64_simd_ci, __Bfloat16x8_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv8bf(__builtin_aarch64_simd_oi, __Bfloat16x8_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv8bf(__builtin_aarch64_simd_xi, __Bfloat16x8_t, int); -__Bfloat16x4_t __builtin_aarch64_simd_bslv4bf_suss(__Uint16x4_t, __Bfloat16x4_t, __Bfloat16x4_t); -__Bfloat16x8_t __builtin_aarch64_simd_bslv8bf_suss(__Uint16x8_t, __Bfloat16x8_t, __Bfloat16x8_t); -__Int32x4_t __builtin_aarch64_simd_smmlav16qi(__Int32x4_t, __Int8x16_t, __Int8x16_t); -__Uint32x4_t __builtin_aarch64_simd_ummlav16qi_uuuu(__Uint32x4_t, __Uint8x16_t, __Uint8x16_t); -__Int32x4_t __builtin_aarch64_simd_usmmlav16qi_ssus(__Int32x4_t, __Uint8x16_t, __Int8x16_t); -void __builtin_aarch64_st1v4bf(__bf16*, __Bfloat16x4_t); -void __builtin_aarch64_st1v8bf(__bf16*, __Bfloat16x8_t); -void __builtin_aarch64_st1x2v4bf(__bf16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v8bf(__bf16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x3v4bf(__bf16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v8bf(__bf16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x4df(double*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4di(long int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v16qi(signed char*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v2df(double*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v2di(long int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v2sf(float*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v2si(int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v4bf(__bf16*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v4hf(__fp16*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v4hi(short int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v4sf(float*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v4si(int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v8bf(__bf16*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v8hf(__fp16*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v8hi(short int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v8qi(signed char*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st2_lanev4bf(__bf16*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev8bf(__bf16*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2v4bf(__bf16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v8bf(__bf16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st3_lanev4bf(__bf16*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev8bf(__bf16*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3v4bf(__bf16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v8bf(__bf16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st4_lanev4bf(__bf16*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev8bf(__bf16*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4v4bf(__bf16*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v8bf(__bf16*, __builtin_aarch64_simd_xi); -__Int32x4_t __builtin_aarch64_sudot_laneqv16qi_sssus(__Int32x4_t, __Int8x16_t, __Uint8x16_t, int); -__Int32x2_t __builtin_aarch64_sudot_laneqv8qi_sssus(__Int32x2_t, __Int8x8_t, __Uint8x16_t, int); -__Int32x4_t __builtin_aarch64_sudot_lanev16qi_sssus(__Int32x4_t, __Int8x16_t, __Uint8x8_t, int); -__Int32x2_t __builtin_aarch64_sudot_lanev8qi_sssus(__Int32x2_t, __Int8x8_t, __Uint8x8_t, int); -__Int8x16_t __builtin_aarch64_trn1v16qi(__Int8x16_t, __Int8x16_t); -__Float64x2_t __builtin_aarch64_trn1v2df(__Float64x2_t, __Float64x2_t); -__Int64x2_t __builtin_aarch64_trn1v2di(__Int64x2_t, __Int64x2_t); -__Float32x2_t __builtin_aarch64_trn1v2sf(__Float32x2_t, __Float32x2_t); -__Int32x2_t __builtin_aarch64_trn1v2si(__Int32x2_t, __Int32x2_t); -__Int16x4_t __builtin_aarch64_trn1v4hi(__Int16x4_t, __Int16x4_t); -__Float32x4_t __builtin_aarch64_trn1v4sf(__Float32x4_t, __Float32x4_t); -__Int32x4_t __builtin_aarch64_trn1v4si(__Int32x4_t, __Int32x4_t); -__Int16x8_t __builtin_aarch64_trn1v8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_trn1v8qi(__Int8x8_t, __Int8x8_t); -__Int8x16_t __builtin_aarch64_trn2v16qi(__Int8x16_t, __Int8x16_t); -__Float64x2_t __builtin_aarch64_trn2v2df(__Float64x2_t, __Float64x2_t); -__Int64x2_t __builtin_aarch64_trn2v2di(__Int64x2_t, __Int64x2_t); -__Float32x2_t __builtin_aarch64_trn2v2sf(__Float32x2_t, __Float32x2_t); -__Int32x2_t __builtin_aarch64_trn2v2si(__Int32x2_t, __Int32x2_t); -__Int16x4_t __builtin_aarch64_trn2v4hi(__Int16x4_t, __Int16x4_t); -__Float32x4_t __builtin_aarch64_trn2v4sf(__Float32x4_t, __Float32x4_t); -__Int32x4_t __builtin_aarch64_trn2v4si(__Int32x4_t, __Int32x4_t); -__Int16x8_t __builtin_aarch64_trn2v8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_trn2v8qi(__Int8x8_t, __Int8x8_t); -__Int32x4_t __builtin_aarch64_usdot_laneqv16qi_ssuss(__Int32x4_t, __Uint8x16_t, __Int8x16_t, int); -__Int32x2_t __builtin_aarch64_usdot_laneqv8qi_ssuss(__Int32x2_t, __Uint8x8_t, __Int8x16_t, int); -__Int32x4_t __builtin_aarch64_usdot_lanev16qi_ssuss(__Int32x4_t, __Uint8x16_t, __Int8x8_t, int); -__Int32x2_t __builtin_aarch64_usdot_lanev8qi_ssuss(__Int32x2_t, __Uint8x8_t, __Int8x8_t, int); -__Int32x4_t __builtin_aarch64_usdotv16qi_ssus(__Int32x4_t, __Uint8x16_t, __Int8x16_t); -__Int32x2_t __builtin_aarch64_usdotv8qi_ssus(__Int32x2_t, __Uint8x8_t, __Int8x8_t); -__Int8x16_t __builtin_aarch64_uzp1v16qi(__Int8x16_t, __Int8x16_t); -__Float64x2_t __builtin_aarch64_uzp1v2df(__Float64x2_t, __Float64x2_t); -__Int64x2_t __builtin_aarch64_uzp1v2di(__Int64x2_t, __Int64x2_t); -__Float32x2_t __builtin_aarch64_uzp1v2sf(__Float32x2_t, __Float32x2_t); -__Int32x2_t __builtin_aarch64_uzp1v2si(__Int32x2_t, __Int32x2_t); -__Int16x4_t __builtin_aarch64_uzp1v4hi(__Int16x4_t, __Int16x4_t); -__Float32x4_t __builtin_aarch64_uzp1v4sf(__Float32x4_t, __Float32x4_t); -__Int32x4_t __builtin_aarch64_uzp1v4si(__Int32x4_t, __Int32x4_t); -__Int16x8_t __builtin_aarch64_uzp1v8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_uzp1v8qi(__Int8x8_t, __Int8x8_t); -__Int8x16_t __builtin_aarch64_uzp2v16qi(__Int8x16_t, __Int8x16_t); -__Float64x2_t __builtin_aarch64_uzp2v2df(__Float64x2_t, __Float64x2_t); -__Int64x2_t __builtin_aarch64_uzp2v2di(__Int64x2_t, __Int64x2_t); -__Float32x2_t __builtin_aarch64_uzp2v2sf(__Float32x2_t, __Float32x2_t); -__Int32x2_t __builtin_aarch64_uzp2v2si(__Int32x2_t, __Int32x2_t); -__Int16x4_t __builtin_aarch64_uzp2v4hi(__Int16x4_t, __Int16x4_t); -__Float32x4_t __builtin_aarch64_uzp2v4sf(__Float32x4_t, __Float32x4_t); -__Int32x4_t __builtin_aarch64_uzp2v4si(__Int32x4_t, __Int32x4_t); -__Int16x8_t __builtin_aarch64_uzp2v8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_uzp2v8qi(__Int8x8_t, __Int8x8_t); -__Int64x2_t __builtin_aarch64_vec_smlal_laneq_v2si(__Int64x2_t, __Int32x2_t, __Int32x4_t, int); -__Int32x4_t __builtin_aarch64_vec_smlal_laneq_v4hi(__Int32x4_t, __Int16x4_t, __Int16x8_t, int); -__Int64x2_t __builtin_aarch64_vec_smlal_lane_v2si(__Int64x2_t, __Int32x2_t, __Int32x2_t, int); -__Int32x4_t __builtin_aarch64_vec_smlal_lane_v4hi(__Int32x4_t, __Int16x4_t, __Int16x4_t, int); -__Int64x2_t __builtin_aarch64_vec_smult_laneq_v2si(__Int32x2_t, __Int32x4_t, int); -__Int32x4_t __builtin_aarch64_vec_smult_laneq_v4hi(__Int16x4_t, __Int16x8_t, int); -__Int64x2_t __builtin_aarch64_vec_smult_lane_v2si(__Int32x2_t, __Int32x2_t, int); -__Int32x4_t __builtin_aarch64_vec_smult_lane_v4hi(__Int16x4_t, __Int16x4_t, int); -__Uint64x2_t __builtin_aarch64_vec_umlal_laneq_v2si_uuuus(__Uint64x2_t, __Uint32x2_t, __Uint32x4_t, int); -__Uint32x4_t __builtin_aarch64_vec_umlal_laneq_v4hi_uuuus(__Uint32x4_t, __Uint16x4_t, __Uint16x8_t, int); -__Uint64x2_t __builtin_aarch64_vec_umlal_lane_v2si_uuuus(__Uint64x2_t, __Uint32x2_t, __Uint32x2_t, int); -__Uint32x4_t __builtin_aarch64_vec_umlal_lane_v4hi_uuuus(__Uint32x4_t, __Uint16x4_t, __Uint16x4_t, int); -__Uint64x2_t __builtin_aarch64_vec_umult_laneq_v2si_uuus(__Uint32x2_t, __Uint32x4_t, int); -__Uint32x4_t __builtin_aarch64_vec_umult_laneq_v4hi_uuus(__Uint16x4_t, __Uint16x8_t, int); -__Uint64x2_t __builtin_aarch64_vec_umult_lane_v2si_uuus(__Uint32x2_t, __Uint32x2_t, int); -__Uint32x4_t __builtin_aarch64_vec_umult_lane_v4hi_uuus(__Uint16x4_t, __Uint16x4_t, int); -__Int16x8_t __builtin_aarch64_vec_widen_smult_hi_v16qi(__Int8x16_t, __Int8x16_t); -__Int64x2_t __builtin_aarch64_vec_widen_smult_hi_v4si(__Int32x4_t, __Int32x4_t); -__Int32x4_t __builtin_aarch64_vec_widen_smult_hi_v8hi(__Int16x8_t, __Int16x8_t); -__Uint16x8_t __builtin_aarch64_vec_widen_umult_hi_v16qi_uuu(__Uint8x16_t, __Uint8x16_t); -__Uint64x2_t __builtin_aarch64_vec_widen_umult_hi_v4si_uuu(__Uint32x4_t, __Uint32x4_t); -__Uint32x4_t __builtin_aarch64_vec_widen_umult_hi_v8hi_uuu(__Uint16x8_t, __Uint16x8_t); -void* __builtin_aarch64_xpaclri(void*); -__Int8x16_t __builtin_aarch64_zip1v16qi(__Int8x16_t, __Int8x16_t); -__Float64x2_t __builtin_aarch64_zip1v2df(__Float64x2_t, __Float64x2_t); -__Int64x2_t __builtin_aarch64_zip1v2di(__Int64x2_t, __Int64x2_t); -__Float32x2_t __builtin_aarch64_zip1v2sf(__Float32x2_t, __Float32x2_t); -__Int32x2_t __builtin_aarch64_zip1v2si(__Int32x2_t, __Int32x2_t); -__Int16x4_t __builtin_aarch64_zip1v4hi(__Int16x4_t, __Int16x4_t); -__Float32x4_t __builtin_aarch64_zip1v4sf(__Float32x4_t, __Float32x4_t); -__Int32x4_t __builtin_aarch64_zip1v4si(__Int32x4_t, __Int32x4_t); -__Int16x8_t __builtin_aarch64_zip1v8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_zip1v8qi(__Int8x8_t, __Int8x8_t); -__Int8x16_t __builtin_aarch64_zip2v16qi(__Int8x16_t, __Int8x16_t); -__Float64x2_t __builtin_aarch64_zip2v2df(__Float64x2_t, __Float64x2_t); -__Int64x2_t __builtin_aarch64_zip2v2di(__Int64x2_t, __Int64x2_t); -__Float32x2_t __builtin_aarch64_zip2v2sf(__Float32x2_t, __Float32x2_t); -__Int32x2_t __builtin_aarch64_zip2v2si(__Int32x2_t, __Int32x2_t); -__Int16x4_t __builtin_aarch64_zip2v4hi(__Int16x4_t, __Int16x4_t); -__Float32x4_t __builtin_aarch64_zip2v4sf(__Float32x4_t, __Float32x4_t); -__Int32x4_t __builtin_aarch64_zip2v4si(__Int32x4_t, __Int32x4_t); -__Int16x8_t __builtin_aarch64_zip2v8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_zip2v8qi(__Int8x8_t, __Int8x8_t); - -// -march=armv8.5-a+memtag -void* __builtin_aarch64_memtag_get_tag(void*); -long unsigned int __builtin_aarch64_memtag_gmi(void*, long unsigned int); -void* __builtin_aarch64_memtag_inc_tag(void*, unsigned int); -void* __builtin_aarch64_memtag_irg(void*, long unsigned int); -void __builtin_aarch64_memtag_set_tag(void*); -long int __builtin_aarch64_memtag_subp(void*, void*); -// -march=armv8.5-a+tme -void __builtin_aarch64_tcancel(long unsigned int); -void __builtin_aarch64_tcommit(void); -long unsigned int __builtin_aarch64_tstart(void); -long unsigned int __builtin_aarch64_ttest(void); - -#endif - -#ifdef __IWMMXT__ -typedef unsigned long long __mmx_m64; -typedef int __mmx_v2si __attribute__ ((vector_size (8))); -typedef short __mmx_v4hi __attribute__ ((vector_size (8))); - -#ifdef __ANDROID__ -typedef char __mmx_v8qi __attribute__ ((vector_size (8))); -__mmx_m64 __builtin_arm_wsadb (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wsadh (__mmx_v4hi __A, __mmx_v4hi __B); -void __builtin_arm_setwcx(int x, int y); -int __builtin_arm_getwcx(int x); -#else -typedef signed char __mmx_v8qi __attribute__ ((vector_size (8))); -__mmx_m64 __builtin_arm_wsadb (__mmx_v2si __A, __mmx_v8qi __B, __mmx_v8qi __C); -__mmx_m64 __builtin_arm_wsadh (__mmx_v2si __A, __mmx_v4hi __B, __mmx_v4hi __C); -#endif // __ANDROID__ - -__mmx_m64 __builtin_arm_walign (__mmx_v8qi __a, __mmx_v8qi __b, int __C); -__mmx_m64 __builtin_arm_wpackhss (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wpackwss (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wpackdss (long long __m1, long long __m2); -__mmx_m64 __builtin_arm_wpackhus (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wpackwus (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wpackdus (long long __m1, long long __m2); -__mmx_m64 __builtin_arm_wunpckihb (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wunpckihh (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wunpckihw (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wunpckilb (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wunpckilh (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wunpckilw (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wunpckelsb (__mmx_v8qi __m1); -__mmx_m64 __builtin_arm_wunpckelsh (__mmx_v4hi __m1); -__mmx_m64 __builtin_arm_wunpckelsw (__mmx_v2si __m1); -__mmx_m64 __builtin_arm_wunpckehsb (__mmx_v8qi __m1); -__mmx_m64 __builtin_arm_wunpckehsh (__mmx_v4hi __m1); -__mmx_m64 __builtin_arm_wunpckehsw (__mmx_v2si __m1); -__mmx_m64 __builtin_arm_wunpckelub (__mmx_v8qi __m1); -__mmx_m64 __builtin_arm_wunpckeluh (__mmx_v4hi __m1); -__mmx_m64 __builtin_arm_wunpckeluw (__mmx_v2si __m1); -__mmx_m64 __builtin_arm_wunpckehub (__mmx_v8qi __m1); -__mmx_m64 __builtin_arm_wunpckehuh (__mmx_v4hi __m1); -__mmx_m64 __builtin_arm_wunpckehuw (__mmx_v2si __m1); -__mmx_m64 __builtin_arm_waddb (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_waddh (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_waddw (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_waddbss (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_waddhss (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_waddwss (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_waddbus (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_waddhus (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_waddwus (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wsubb (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wsubh (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wsubw (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wsubbss (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wsubhss (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wsubwss (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wsubbus (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wsubhus (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wsubwus (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wmadds (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wmaddu (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wmulsm (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wmulum (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wmulul (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wsllh (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wsllhi (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wsllw (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wsllwi (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wslld (int __m, int __count); -__mmx_m64 __builtin_arm_wslldi (int __m, int __count); -__mmx_m64 __builtin_arm_wsrah (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wsrahi (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wsraw (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wsrawi (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wsrad (int __m, int __count); -__mmx_m64 __builtin_arm_wsradi (int __m, int __count); -__mmx_m64 __builtin_arm_wsrlh (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wsrlhi (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wsrlw (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wsrlwi (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wsrld (int __m, int __count); -__mmx_m64 __builtin_arm_wsrldi (int __m, int __count); -__mmx_m64 __builtin_arm_wrorh (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wrorhi (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wrorw (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wrorwi (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wrord (int __m, int __count); -__mmx_m64 __builtin_arm_wrordi (int __m, int __count); -__mmx_m64 __builtin_arm_wand (int __m1, int __m2); -__mmx_m64 __builtin_arm_wandn (int __m2, int __m1); -__mmx_m64 __builtin_arm_wor (int __m1, int __m2); -__mmx_m64 __builtin_arm_wxor (int __m1, int __m2); -__mmx_m64 __builtin_arm_wcmpeqb (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wcmpgtsb (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wcmpgtub (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wcmpeqh (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wcmpgtsh (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wcmpgtuh (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wcmpeqw (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wcmpgtsw (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wcmpgtuw (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wmacu (int __A, __mmx_v4hi __B, __mmx_v4hi __C); -__mmx_m64 __builtin_arm_wmacs (int __A, __mmx_v4hi __B, __mmx_v4hi __C); -__mmx_m64 __builtin_arm_wmacuz (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wmacsz (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_waccb (__mmx_v8qi __A); -__mmx_m64 __builtin_arm_wacch (__mmx_v4hi __A); -__mmx_m64 __builtin_arm_waccw (__mmx_v2si __A); -__mmx_m64 __builtin_arm_tmia (int __A, int __B, int __C); -__mmx_m64 __builtin_arm_tmiaph (int __A, int __B, int __C); -__mmx_m64 __builtin_arm_tmiabb (int __A, int __B, int __C); -__mmx_m64 __builtin_arm_tmiabt (int __A, int __B, int __C); -__mmx_m64 __builtin_arm_tmiatb (int __A, int __B, int __C); -__mmx_m64 __builtin_arm_tmiatt (int __A, int __B, int __C); -__mmx_m64 __builtin_arm_wmaxsb (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wmaxsh (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wmaxsw (__mmx_v2si __A, __mmx_v2si __B); -__mmx_m64 __builtin_arm_wmaxub (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wmaxuh (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wmaxuw (__mmx_v2si __A, __mmx_v2si __B); -__mmx_m64 __builtin_arm_wminsb (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wminsh (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wminsw (__mmx_v2si __A, __mmx_v2si __B); -__mmx_m64 __builtin_arm_wminub (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wminuh (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wminuw (__mmx_v2si __A, __mmx_v2si __B); -__mmx_m64 __builtin_arm_tmovmskb (__mmx_v8qi __A); -__mmx_m64 __builtin_arm_tmovmskh (__mmx_v4hi __A); -__mmx_m64 __builtin_arm_tmovmskw (__mmx_v2si __A); -__mmx_m64 __builtin_arm_wavg2br (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wavg2hr (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wavg2b (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wavg2h (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wsadbz (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wsadhz (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wsadbz (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wsadhz (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wzero (); -__mmx_m64 __builtin_arm_setwcgr0 (int __value); -__mmx_m64 __builtin_arm_setwcgr1 (int __value); -__mmx_m64 __builtin_arm_setwcgr2 (int __value); -__mmx_m64 __builtin_arm_setwcgr3 (int __value); -__mmx_m64 __builtin_arm_getwcgr0 (); -__mmx_m64 __builtin_arm_getwcgr1 (); -__mmx_m64 __builtin_arm_getwcgr2 (); -__mmx_m64 __builtin_arm_getwcgr3 (); -__mmx_m64 __builtin_arm_wabsb (__mmx_v8qi m1); -__mmx_m64 __builtin_arm_wabsh (__mmx_v4hi __m1); -__mmx_m64 __builtin_arm_wabsw (__mmx_v2si __m1); -__mmx_m64 __builtin_arm_waddsubhx (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wabsdiffb (__mmx_v8qi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_wabsdiffh (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wabsdiffw (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wavg4 (__mmx_v8qi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_wavg4r (__mmx_v8qi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_wmaddsx (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wmaddux (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wmaddsn (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wmaddun (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wmulwsm (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wmulwum (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wmulsmr (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wmulwsmr (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wmulumr (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wmulwumr (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wmulwl (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wqmulm (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wqmulwm (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wqmulmr (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wqmulwmr (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wsubaddhx (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_waddbhusl (__mmx_v4hi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_waddbhusm (__mmx_v4hi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_walignr0 (__mmx_v8qi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_walignr1 (__mmx_v8qi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_walignr2 (__mmx_v8qi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_walignr3 (__mmx_v8qi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_tbcstb (signed char value); -__mmx_m64 __builtin_arm_tbcsth (short value); -__mmx_m64 __builtin_arm_tbcstw (int value); -int __builtin_arm_textrmsb(__mmx_v8qi, int); -int __builtin_arm_textrmsh(__mmx_v4hi, int); -int __builtin_arm_textrmsw(__mmx_v2si, int); -int __builtin_arm_textrmub(__mmx_v8qi, int); -int __builtin_arm_textrmuh(___mmx_v4hi, int); -int __builtin_arm_textrmuw(__mmx_v2si, int); -__mmx_v8qi __builtin_arm_tinsrb(__mmx_v8qi, int, int); -___mmx_v4hi __builtin_arm_tinsrh(___mmx_v4hi, int, int); -__mmx_v2si __builtin_arm_tinsrw(__mmx_v2si, int, int); -___mmx_v4hi __builtin_arm_wshufh(___mmx_v4hi, int); -#endif // __IWMMX__ - -#ifdef __IWMMXT2__ //enable with -march=iwmmxt2 -long long unsigned int __builtin_arm_wmerge(long long unsigned int, long long unsigned int, int); -long long unsigned int __builtin_arm_wmiabb(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiabbn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiabt(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiabtn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiatb(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiatbn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiatt(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiattn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiawbb(long long unsigned int, __mmx_v2si, __mmx_v2si); -long long unsigned int __builtin_arm_wmiawbbn(long long unsigned int, __mmx_v2si, __mmx_v2si); -long long unsigned int __builtin_arm_wmiawbt(long long unsigned int, __mmx_v2si, __mmx_v2si); -long long unsigned int __builtin_arm_wmiawbtn(long long unsigned int, __mmx_v2si, __mmx_v2si); -long long unsigned int __builtin_arm_wmiawtb(long long unsigned int, __mmx_v2si, __mmx_v2si); -long long unsigned int __builtin_arm_wmiawtbn(long long unsigned int, __mmx_v2si, __mmx_v2si); -long long unsigned int __builtin_arm_wmiawtt(long long unsigned int, __mmx_v2si, __mmx_v2si); -long long unsigned int __builtin_arm_wmiawttn(long long unsigned int, __mmx_v2si, __mmx_v2si); -__mmx_v2si __builtin_arm_wqmiabb(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -__mmx_v2si __builtin_arm_wqmiabbn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -__mmx_v2si __builtin_arm_wqmiabt(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -__mmx_v2si __builtin_arm_wqmiabtn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -__mmx_v2si __builtin_arm_wqmiatb(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -__mmx_v2si __builtin_arm_wqmiatbn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -__mmx_v2si __builtin_arm_wqmiatt(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -__mmx_v2si __builtin_arm_wqmiattn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -#endif - -#ifdef __ARM_FP16_ARGS // arm-eabi -mfp16-format=ieee or aarch64 -typedef float cov_fp16 __attribute__((mode(HF))); - -cov_fp16 __builtin_ceilf16(cov_fp16); -cov_fp16 __builtin_copysignf16(cov_fp16, cov_fp16); -cov_fp16 __builtin_fabsf16(cov_fp16); -cov_fp16 __builtin_floorf16(cov_fp16); -cov_fp16 __builtin_fmaf16(cov_fp16, cov_fp16, cov_fp16); -cov_fp16 __builtin_fmaxf16(cov_fp16, cov_fp16); -cov_fp16 __builtin_fminf16(cov_fp16, cov_fp16); -cov_fp16 __builtin_nanf16(const char*); -cov_fp16 __builtin_nansf16(const char*); -cov_fp16 __builtin_nearbyintf16(cov_fp16); -cov_fp16 __builtin_rintf16(cov_fp16); -cov_fp16 __builtin_roundevenf16(cov_fp16); -cov_fp16 __builtin_roundf16(cov_fp16); -cov_fp16 __builtin_sqrtf16(cov_fp16); -cov_fp16 __builtin_truncf16(cov_fp16); -cov_fp16 __builtin_huge_valf16(void); -cov_fp16 __builtin_inff16(void); -#endif - -#ifdef __coverity_cplusplus -} -#endif -/* - Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. - The information contained in this file is the proprietary and confidential - information of Synopsys, Inc. and its licensors, and is supplied subject to, - and may be used only by Synopsys customers in accordance with the terms and - conditions of a previously executed license agreement between Synopsys and - that customer. -*/ - - -#define __COVERITY_GCC_VERSION_AT_LEAST(maj, min) \ - ((__GNUC__ > (maj)) || (__GNUC__ == (maj) && __GNUC_MINOR__ >= (min))) - -#if __COVERITY_GCC_VERSION_AT_LEAST(4, 9) -// Starting with GCC 4.9, instruction set intrinsics are always visible -// regardless of whether or not the instruction set is enabled. -#define __COVERITY_GCC49_INTRINSICS 1 -#else // GCC <4.9 -#define __COVERITY_GCC49_INTRINSICS 0 -#endif - -#ifdef __IA64__ -typedef __coverity___fpreg long double __fpreg; -#endif - - -#ifdef __coverity_cplusplus -extern "C" { -#endif - -#if defined(__SIZEOF_FLOAT128__) && defined(__coverity_cplusplus) -#define cov_f128_t __float128 -#else -#define cov_f128_t long double -#endif - -// The following macros are used in the Linux Kernel -#if defined(__linux__) && defined(__KERNEL__) -#nodef BUG_ON(x) do { if (x) __coverity_panic__(); } while (0) -#nodef WARN_ON(x) ({ int result = !!(x); if (result) __coverity_panic__(); result; }) -#nodef BUG() __coverity_panic__() -void __coverity_panic__(); -#endif // Linux kernel - -#nodef setjmp -int setjmp(void *); - -#ifndef __COVERITY_NO_STRING_NODEFS__ -// Function list obtained from "cstring"+memrchr+stpcopy (from bits/string.h) - -#nodef memcpy -void *memcpy(void *, const void *, __COVERITY_SIZE_TYPE__); - -#nodef memmove -void *memmove(void *, const void *, __COVERITY_SIZE_TYPE__); - -#nodef strcpy -char *strcpy(char *, const char *); - -#nodef strncpy -char *strncpy(char *, const char *, __COVERITY_SIZE_TYPE__); - -#nodef strcat -char *strcat(char *, const char *); - -#nodef strncat -char *strncat(char *, const char *, __COVERITY_SIZE_TYPE__); - -#nodef memcmp -int memcmp(const void *, const void *, __COVERITY_SIZE_TYPE__ n); - -#nodef strcmp -int strcmp(const char *, const char *); - -#nodef strcoll -int strcoll(const char *, const char *); - -#nodef strncmp -int strncmp(const char *, const char *, __COVERITY_SIZE_TYPE__); - -#nodef strxfrm -__COVERITY_SIZE_TYPE__ -strxfrm(char *, const char *, __COVERITY_SIZE_TYPE__); - -#nodef memchr -void *memchr(const void *, int, __COVERITY_SIZE_TYPE__); - -#nodef strchr -char *strchr(const char *, int); - -#nodef strcspn -__COVERITY_SIZE_TYPE__ strcspn(const char *, const char *); - -#nodef strpbrk -char *strpbrk(const char *, const char *); - -#nodef strrchr -char *strrchr(const char *, int); - -#nodef strspn -__COVERITY_SIZE_TYPE__ strspn(const char *, const char *); - -#nodef strstr -char *strstr(const char *, const char *); - -#nodef strtok -char *strtok(char *, const char *); - -#nodef memset -void *memset(void *, int, __COVERITY_SIZE_TYPE__); - -#nodef strlen -__COVERITY_SIZE_TYPE__ strlen(const char *); - -#nodef strerror -char *strerror(int); - -#nodef memrchr -void *memrchr(const void *, int, __COVERITY_SIZE_TYPE__); - -#nodef stpcpy -char *stpcpy(char *, const char *); - -#nodef strdup -char *strdup(const char *); -#endif // __COVERITY_NO_STRING_NODEFS__ - -#define __builtin_expect_with_probability(expr, value, probability) (expr) -#define __builtin_speculation_safe_value(t1, t2) (t1) - -#ifndef __coverity_cplusplus -#if __COVERITY_GCC_VERSION_AT_LEAST(7, 0) -typedef float __coverity_float _Float32; -typedef double __coverity_floatx _Float32x; -typedef double __coverity_float _Float64; -typedef long double _Float64x; -typedef long double _Float128; -#endif /* GCC >= 7.0 */ -#endif /* __coverity_cplusplus */ - -#ifdef __coverity_cplusplus -} -#endif -#if __COVERITY_GCC_VERSION_AT_LEAST(4, 0) -typedef float __coverity_decimal _Decimal32; -typedef double __coverity_decimal _Decimal64; -typedef long double __coverity_decimal _Decimal128; - -_Decimal32 __builtin_nand32(const char*); -_Decimal32 __builtin_infd32(); -_Decimal64 __builtin_infd64(); -_Decimal64 __builtin_nand64(const char*); -_Decimal128 __builtin_infd128(); -_Decimal128 __builtin_nand128(const char*); -_Decimal128 __builtin_fabsd128(_Decimal128); -_Decimal32 __builtin_fabsd32(_Decimal32); -_Decimal64 __builtin_fabsd64(_Decimal64); -int __builtin_finited128(_Decimal128); -int __builtin_finited32(_Decimal32); -int __builtin_finited64(_Decimal64); -int __builtin_isinfd128(_Decimal128); -int __builtin_isinfd32(_Decimal32); -int __builtin_isinfd64(_Decimal64); -int __builtin_isnand128(_Decimal128); -int __builtin_isnand32(_Decimal32); -int __builtin_isnand64(_Decimal64); -int __builtin_signbitd128(_Decimal128); -int __builtin_signbitd32(_Decimal32); -int __builtin_signbitd64(_Decimal64); -_Decimal128 __builtin_nansd128(const char*); -_Decimal32 __builtin_nansd32(const char*); -_Decimal64 __builtin_nansd64(const char*); -#endif /* GCC >= 4.0 */ - -#ifdef __COVERITY_CILKPLUS -#define _Cilk_spawn -#define _Cilk_sync -#define _Cilk_for for -#endif /* __cilk */ - -#if __COVERITY_GCC_VERSION_AT_LEAST(8, 0) -/* - * The following macros are used to implement __builtin_tgmath. This GCC - * intrinsic is used to support type generic math operations in C modes. These - * can be disabled by defining __COVERITY_DISABLE_TGTMATH. - */ -#if !defined(__COVERITY_DISABLE_TGTMATH) && !defined(__coverity_cplusplus) -#define __coverity_count_args(...) __coverity_count_args_n(-,##__VA_ARGS__,9,8,7,6,5,4,3,2,1,0) -#define __coverity_count_args_n(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, count, ...) count -#define __coverity_cat(x, ...) __coverity_cat_n(x, __VA_ARGS__) -#define __coverity_cat_n(x, ...) x ## __VA_ARGS__ - -#define __builtin_tgmath(...) \ - __coverity_cat(__coverity_tgmath_,__coverity_count_args(__VA_ARGS__))(__VA_ARGS__) - -#define __coverity_tgmath_4(...) __coverity_tgmath_real(__VA_ARGS__) -#define __coverity_tgmath_5(...) __coverity_tgmath_real(__VA_ARGS__) -#define __coverity_tgmath_6(...) __coverity_tgmath_real(__VA_ARGS__) -#define __coverity_tgmath_7(...) __coverity_tgmath_cplx(__VA_ARGS__) -#define __coverity_tgmath_8(...) __coverity_tgmath_cplx(__VA_ARGS__) -#define __coverity_tgmath_9(...) __coverity_tgmath_cplx(__VA_ARGS__) - -#define __coverity_tgmath_real(rf, r, rl, arg0, ...) \ - _Generic((arg0), \ - float: (rf)(arg0, ## __VA_ARGS__), \ - long double: (rl)(arg0, ## __VA_ARGS__), \ - default: (r)(arg0, ## __VA_ARGS__)) -#define __coverity_tgmath_cplx(rf, r, rl, cf, c, cl, arg0, ...) \ - _Generic((arg0), \ - float: (rf)(arg0, ## __VA_ARGS__), \ - long double: (rl)(arg0, ## __VA_ARGS__), \ - __complex__ float: (cf)(arg0, ## __VA_ARGS__), \ - __complex__ long double: (cl)(arg0, ## __VA_ARGS__), \ - __complex__ double: (c)(arg0, ## __VA_ARGS__), \ - default: (r)(arg0, ## __VA_ARGS__)) -#endif /* !__COVERITY_DISABLE_TGTMATH_DECLS && !__coverity_cplusplus */ -#endif /* GCC 8+ */ -/* - Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. - The information contained in this file is the proprietary and confidential - information of Synopsys, Inc. and its licensors, and is supplied subject to, - and may be used only by Synopsys customers in accordance with the terms and - conditions of a previously executed license agreement between Synopsys and - that customer. -*/ - -/* - * These declarations are needed for GCC's transactional memory support. They - * are not supported intrinsically by cov-emit. - */ - -// -fgnu-tm -mavx -void __builtin__ITM_abortTransaction(int); -unsigned int __builtin__ITM_beginTransaction(unsigned int, ...); -void* __builtin__ITM_calloc(long unsigned int, long unsigned int); -void __builtin__ITM_changeTransactionMode(int); -void __builtin__ITM_commitTransactionEH(void*); -void __builtin__ITM_free(void*); -void* __builtin__ITM_getTMCloneOrIrrevocable(void*); -void* __builtin__ITM_getTMCloneSafe(void*); -void __builtin__ITM_LB(volatile void*, long unsigned int); -void __builtin__ITM_LD(volatile void*); -void __builtin__ITM_LE(volatile void*); -void __builtin__ITM_LF(volatile void*); -void __builtin__ITM_LM128(const void*); -void __builtin__ITM_LM256(const void*); -void __builtin__ITM_LM64(const void*); -void __builtin__ITM_LU1(volatile void*); -void __builtin__ITM_LU2(volatile void*); -void __builtin__ITM_LU4(volatile void*); -void __builtin__ITM_LU8(volatile void*); -void* __builtin__ITM_malloc(long unsigned int); -void __builtin__ITM_memcpyRnWt(void*, const void*, long unsigned int); -void __builtin__ITM_memcpyRtWn(void*, const void*, long unsigned int); -void __builtin__ITM_memcpyRtWt(void*, const void*, long unsigned int); -void __builtin__ITM_memmoveRtWt(void*, const void*, long unsigned int); -void __builtin__ITM_memsetW(void*, int, long unsigned int); -double __builtin__ITM_RaRD(double*); -long double __builtin__ITM_RaRE(volatile void*); -float __builtin__ITM_RaRF(volatile void*); -__edg_vector_type__(float,4) __builtin__ITM_RaRM128(const __edg_vector_type__(float,4)*); -__edg_vector_type__(float,8) __builtin__ITM_RaRM256(const __edg_vector_type__(float,8)*); -__edg_vector_type__(int,2) __builtin__ITM_RaRM64(const __edg_vector_type__(int,2)*); -unsigned char __builtin__ITM_RaRU1(volatile void*); -short unsigned int __builtin__ITM_RaRU2(volatile void*); -unsigned int __builtin__ITM_RaRU4(volatile void*); -long unsigned int __builtin__ITM_RaRU8(volatile void*); -double __builtin__ITM_RaWD(double*); -long double __builtin__ITM_RaWE(volatile void*); -float __builtin__ITM_RaWF(volatile void*); -__edg_vector_type__(float,4) __builtin__ITM_RaWM128(const __edg_vector_type__(float,4)*); -__edg_vector_type__(float,8) __builtin__ITM_RaWM256(const __edg_vector_type__(float,8)*); -__edg_vector_type__(int,2) __builtin__ITM_RaWM64(const __edg_vector_type__(int,2)*); -unsigned char __builtin__ITM_RaWU1(volatile void*); -short unsigned int __builtin__ITM_RaWU2(volatile void*); -unsigned int __builtin__ITM_RaWU4(volatile void*); -long unsigned int __builtin__ITM_RaWU8(volatile void*); -double __builtin__ITM_RD(double*); -long double __builtin__ITM_RE(volatile void*); -float __builtin__ITM_RF(volatile void*); -double __builtin__ITM_RfWD(double*); -long double __builtin__ITM_RfWE(volatile void*); -float __builtin__ITM_RfWF(volatile void*); -__edg_vector_type__(float,4) __builtin__ITM_RfWM128(const __edg_vector_type__(float,4)*); -__edg_vector_type__(float,8) __builtin__ITM_RfWM256(const __edg_vector_type__(float,8)*); -__edg_vector_type__(int,2) __builtin__ITM_RfWM64(const __edg_vector_type__(int,2)*); -unsigned char __builtin__ITM_RfWU1(volatile void*); -short unsigned int __builtin__ITM_RfWU2(volatile void*); -unsigned int __builtin__ITM_RfWU4(volatile void*); -long unsigned int __builtin__ITM_RfWU8(volatile void*); -__edg_vector_type__(float,4) __builtin__ITM_RM128(const __edg_vector_type__(float,4)*); -__edg_vector_type__(float,8) __builtin__ITM_RM256(const __edg_vector_type__(float,8)*); -__edg_vector_type__(int,2) __builtin__ITM_RM64(const __edg_vector_type__(int,2)*); -unsigned char __builtin__ITM_RU1(volatile void*); -short unsigned int __builtin__ITM_RU2(volatile void*); -unsigned int __builtin__ITM_RU4(volatile void*); -long unsigned int __builtin__ITM_RU8(volatile void*); -void __builtin__ITM_WaRD(volatile void*, double); -void __builtin__ITM_WaRE(volatile void*, long double); -void __builtin__ITM_WaRF(volatile void*, float); -void __builtin__ITM_WaRM128(__edg_vector_type__(float,4)*, __edg_vector_type__(float,4)); -void __builtin__ITM_WaRM256(__edg_vector_type__(float,8)*, __edg_vector_type__(float,8)); -void __builtin__ITM_WaRM64(__edg_vector_type__(int,2)*, __edg_vector_type__(int,2)); -void __builtin__ITM_WaRU1(volatile void*, unsigned char); -void __builtin__ITM_WaRU2(volatile void*, short unsigned int); -void __builtin__ITM_WaRU4(volatile void*, unsigned int); -void __builtin__ITM_WaRU8(volatile void*, long unsigned int); -void __builtin__ITM_WaWD(volatile void*, double); -void __builtin__ITM_WaWE(volatile void*, long double); -void __builtin__ITM_WaWF(volatile void*, float); -void __builtin__ITM_WaWM128(__edg_vector_type__(float,4)*, __edg_vector_type__(float,4)); -void __builtin__ITM_WaWM256(__edg_vector_type__(float,8)*, __edg_vector_type__(float,8)); -void __builtin__ITM_WaWM64(__edg_vector_type__(int,2)*, __edg_vector_type__(int,2)); -void __builtin__ITM_WaWU1(volatile void*, unsigned char); -void __builtin__ITM_WaWU2(volatile void*, short unsigned int); -void __builtin__ITM_WaWU4(volatile void*, unsigned int); -void __builtin__ITM_WaWU8(volatile void*, long unsigned int); -void __builtin__ITM_WD(volatile void*, double); -void __builtin__ITM_WE(volatile void*, long double); -void __builtin__ITM_WF(volatile void*, float); -void __builtin__ITM_WM128(__edg_vector_type__(float,4)*, __edg_vector_type__(float,4)); -void __builtin__ITM_WM256(__edg_vector_type__(float,8)*, __edg_vector_type__(float,8)); -void __builtin__ITM_WM64(__edg_vector_type__(int,2)*, __edg_vector_type__(int,2)); -void __builtin__ITM_WU1(volatile void*, unsigned char); -void __builtin__ITM_WU2(volatile void*, short unsigned int); -void __builtin__ITM_WU4(volatile void*, unsigned int); -void __builtin__ITM_WU8(volatile void*, long unsigned int); -void __builtin__ITM_commitTransaction(void); - -/* - Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. - The information contained in this file is the proprietary and confidential - information of Synopsys, Inc. and its licensors, and is supplied subject to, - and may be used only by Synopsys customers in accordance with the terms and - conditions of a previously executed license agreement between Synopsys and - that customer. -*/ - -/* - * These declarations are needed for GCC's OpenMP/OpenACC support. They are not - * supported intrinsically by cov-emit. - */ - -#ifdef _OPENMP -int __builtin_acc_get_device_type(void); -void __builtin_GOACC_data_end(void); -void __builtin_GOMP_atomic_end(void); -void __builtin_GOMP_atomic_start(void); -void __builtin_GOMP_barrier(void); -__edg_bool_type__ __builtin_GOMP_barrier_cancel(void); -void __builtin_GOMP_critical_end(void); -void __builtin_GOMP_critical_start(void); -void __builtin_GOMP_loop_end(void); -__edg_bool_type__ __builtin_GOMP_loop_end_cancel(void); -void __builtin_GOMP_loop_end_nowait(void); -void __builtin_GOMP_ordered_end(void); -void __builtin_GOMP_ordered_start(void); -void __builtin_GOMP_sections_end(void); -__edg_bool_type__ __builtin_GOMP_sections_end_cancel(void); -void __builtin_GOMP_sections_end_nowait(void); -unsigned int __builtin_GOMP_sections_next(void); -void* __builtin_GOMP_single_copy_start(void); -__edg_bool_type__ __builtin_GOMP_single_start(void); -void __builtin_GOMP_target_end_data(void); -void __builtin_GOMP_taskgroup_end(void); -void __builtin_GOMP_taskgroup_start(void); -void __builtin_GOMP_taskwait(void); -void __builtin_GOMP_taskyield(void); -int __builtin_omp_get_num_teams(void); -int __builtin_omp_get_num_threads(void); -int __builtin_omp_get_team_num(void); -int __builtin_omp_get_thread_num(void); -void __builtin_GOACC_data_start(int, long unsigned int, void*, void*, void*); -void __builtin_GOACC_declare(int, long unsigned int, void*, void*, void*); -void __builtin_GOACC_enter_exit_data(int, long unsigned int, void*, void*, void*, int, int, ...); -void __builtin_GOACC_parallel_keyed(int, void (*)(void*), long unsigned int, void*, void*, void*, ...); -int __builtin_goacc_parlevel_id(int); -int __builtin_goacc_parlevel_size(int); -void __builtin_GOACC_update(int, long unsigned int, void*, void*, void*, int, int, ...); -void __builtin_GOACC_wait(int, int, ...); -__edg_bool_type__ __builtin_GOMP_cancel(int, __edg_bool_type__); -__edg_bool_type__ __builtin_GOMP_cancellation_point(int); -void __builtin_GOMP_critical_name_end(void**); -void __builtin_GOMP_critical_name_start(void**); -void __builtin_GOMP_doacross_post(void*); -void __builtin_GOMP_doacross_ull_post(void*); -void __builtin_GOMP_doacross_ull_wait(long long unsigned int, ...); -void __builtin_GOMP_doacross_wait(long int, ...); -__edg_bool_type__ __builtin_GOMP_loop_doacross_dynamic_start(unsigned int, long int*, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_doacross_guided_start(unsigned int, long int*, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_doacross_runtime_start(unsigned int, long int*, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_doacross_start(unsigned int, long int*, long int, long int, long int*, long int*, void*, void*); -__edg_bool_type__ __builtin_GOMP_loop_doacross_static_start(unsigned int, long int*, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_dynamic_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_dynamic_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_guided_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_guided_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_maybe_nonmonotonic_runtime_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_maybe_nonmonotonic_runtime_start(long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_dynamic_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_dynamic_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_guided_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_guided_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_runtime_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_runtime_start(long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_dynamic_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_dynamic_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_guided_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_guided_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_runtime_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_runtime_start(long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_start(long int, long int, long int, long int, long int, long int*, long int*, void*, void*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_static_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_static_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_runtime_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_runtime_start(long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_start(long int, long int, long int, long int, long int, long int*, long int*, void*, void*); -__edg_bool_type__ __builtin_GOMP_loop_static_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_static_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_dynamic_start(unsigned int, long long unsigned int*, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_guided_start(unsigned int, long long unsigned int*, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_runtime_start(unsigned int, long long unsigned int*, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_start(unsigned int, long long unsigned int*, long int, long long unsigned int, long long unsigned int*, long long unsigned int*, void*, void*); -__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_static_start(unsigned int, long long unsigned int*, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_dynamic_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_dynamic_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_guided_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_guided_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_maybe_nonmonotonic_runtime_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_maybe_nonmonotonic_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_dynamic_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_dynamic_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_guided_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_guided_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_runtime_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_dynamic_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_dynamic_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_guided_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_guided_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_runtime_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long int, long long unsigned int, long long unsigned int*, long long unsigned int*, void*, void*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_static_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_static_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_runtime_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long int, long long unsigned int, long long unsigned int*, long long unsigned int*, void*, void*); -__edg_bool_type__ __builtin_GOMP_loop_ull_static_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_static_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -void __builtin_GOMP_offload_register_ver(int, void*, int, void*); -void __builtin_GOMP_offload_unregister_ver(int, void*, int, void*); -void __builtin_GOMP_parallel(void (*)(void*), void*, unsigned int, unsigned int); -void __builtin_GOMP_parallel_loop_dynamic(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); -void __builtin_GOMP_parallel_loop_guided(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); -void __builtin_GOMP_parallel_loop_maybe_nonmonotonic_runtime(void (*)(void*), void*, unsigned int, long int, long int, long int, unsigned int); -void __builtin_GOMP_parallel_loop_nonmonotonic_dynamic(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); -void __builtin_GOMP_parallel_loop_nonmonotonic_guided(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); -void __builtin_GOMP_parallel_loop_nonmonotonic_runtime(void (*)(void*), void*, unsigned int, long int, long int, long int, unsigned int); -void __builtin_GOMP_parallel_loop_runtime(void (*)(void*), void*, unsigned int, long int, long int, long int, unsigned int); -void __builtin_GOMP_parallel_loop_static(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); -unsigned int __builtin_GOMP_parallel_reductions(void (*)(void*), void*, unsigned int, unsigned int); -void __builtin_GOMP_parallel_sections(void (*)(void*), void*, unsigned int, unsigned int, unsigned int); -unsigned int __builtin_GOMP_sections2_start(unsigned int, void*, void*); -unsigned int __builtin_GOMP_sections_start(unsigned int); -void __builtin_GOMP_single_copy_end(void*); -void __builtin_GOMP_target_data_ext(int, long unsigned int, void*, void*, void*); -void __builtin_GOMP_target_enter_exit_data(int, long unsigned int, void*, void*, void*, unsigned int, void*); -void __builtin_GOMP_target_ext(int, void (*)(void*), long unsigned int, void*, void*, void*, unsigned int, void*, void*); -void __builtin_GOMP_target_update_ext(int, long unsigned int, void*, void*, void*, unsigned int, void*); -#if __COVERITY_GCC_VERSION_AT_LEAST(6, 0) -void __builtin_GOMP_task(void (*)(void*), void*, void (*)(void*, void*), long int, long int, __edg_bool_type__, unsigned int, void*, int); -#endif -void __builtin_GOMP_taskgroup_reduction_register(void*); -void __builtin_GOMP_taskgroup_reduction_unregister(void*); -void __builtin_GOMP_taskloop(void (*)(void*), void*, void (*)(void*, void*), long int, long int, unsigned int, long int, int, long int, long int, long int); -void __builtin_GOMP_taskloop_ull(void (*)(void*), void*, void (*)(void*, void*), long int, long int, unsigned int, long int, int, long long unsigned int, long long unsigned int, long long unsigned int); -void __builtin_GOMP_task_reduction_remap(long unsigned int, long unsigned int, void*); -void __builtin_GOMP_taskwait_depend(void*); -void __builtin_GOMP_teams(unsigned int, unsigned int); -void __builtin_GOMP_teams_reg(void (*)(void*), void*, unsigned int, unsigned int, unsigned int); -void __builtin_GOMP_workshare_task_reduction_unregister(__edg_bool_type__); -void* __builtin_GOMP_alloc(long unsigned int, long unsigned int, long int); -void __builtin_GOMP_free(void*, long int); - -#if __COVERITY_GCC_VERSION_AT_LEAST(12, 0) -void __builtin_GOACC_barrier(); -void __builtin_GOACC_enter_data(int, long unsigned int, void*, void*, void*, int, int, ...); -void __builtin_GOACC_exit_data(int, long unsigned int, void*, void*, void*, int, int, ...); -void __builtin_GOACC_single_copy_end(void*); -void* __builtin_GOACC_single_copy_start(); -__cov_bool __builtin_GOACC_single_start(); -void __builtin_GOMP_error(const void*, long unsigned int); -void __builtin_GOMP_scope_start(void*); -__cov_bool __builtin_GOMP_teams4(unsigned int, unsigned int, unsigned int, __cov_bool); -void __builtin_GOMP_warning(const void*, long unsigned int); -#endif /* GCC >= 12.0 */ -#endif /* _OPENMP */ -/* Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. */ -#ifdef __coverity_cplusplus -extern "C" { -#endif - -#ifdef __PPC__ - -typedef int __attribute__((vector_size(8))) __ev64_opaque__; -typedef int __ppc_v2i __attribute__ ((__vector_size__ (8))); - -int __builtin_spe_brinc(int, int); -__ppc_v2i __builtin_spe_evabs(__ppc_v2i); -__ppc_v2i __builtin_spe_evaddiw(__ppc_v2i, char); -__ppc_v2i __builtin_spe_evaddsmiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evaddssiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evaddumiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evaddusiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evaddw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evand(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evandc(__ppc_v2i, __ppc_v2i); -int __builtin_spe_evcmpeq(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evcmpgts(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evcmpgtu(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evcmplts(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evcmpltu(int, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evcntlsw(__ppc_v2i); -__ppc_v2i __builtin_spe_evcntlzw(__ppc_v2i); -__ppc_v2i __builtin_spe_evdivws(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evdivwu(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_eveqv(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evextsb(__ppc_v2i); -__ppc_v2i __builtin_spe_evextsh(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsabs(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsadd(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evfscfsf(__ppc_v2i); -__ppc_v2i __builtin_spe_evfscfsi(__ppc_v2i); -__ppc_v2i __builtin_spe_evfscfuf(__ppc_v2i); -__ppc_v2i __builtin_spe_evfscfui(__ppc_v2i); -int __builtin_spe_evfscmpeq(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evfscmpgt(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evfscmplt(int, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evfsctsf(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsctsi(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsctsiz(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsctuf(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsctui(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsctuiz(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsdiv(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evfsmul(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evfsnabs(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsneg(__ppc_v2i); -__ppc_v2i __builtin_spe_evfssub(__ppc_v2i, __ppc_v2i); -int __builtin_spe_evfststeq(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evfststgt(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evfststlt(int, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evldd(__ppc_v2i*, int); -__ppc_v2i __builtin_spe_evlddx(__ppc_v2i*, int); -__ppc_v2i __builtin_spe_evldh(__ppc_v2i*, int); -__ppc_v2i __builtin_spe_evldhx(__ppc_v2i*, int); -__ppc_v2i __builtin_spe_evldw(__ppc_v2i*, int); -__ppc_v2i __builtin_spe_evldwx(__ppc_v2i*, int); -__ppc_v2i __builtin_spe_evlhhesplat(short unsigned int*, int); -__ppc_v2i __builtin_spe_evlhhesplatx(short unsigned int*, int); -__ppc_v2i __builtin_spe_evlhhossplat(short unsigned int*, int); -__ppc_v2i __builtin_spe_evlhhossplatx(short unsigned int*, int); -__ppc_v2i __builtin_spe_evlhhousplat(short unsigned int*, int); -__ppc_v2i __builtin_spe_evlhhousplatx(short unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhe(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhex(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhos(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhosx(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhou(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhoux(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhsplat(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhsplatx(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwwsplat(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwwsplatx(unsigned int*, int); -__ppc_v2i __builtin_spe_evmergehi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmergehilo(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmergelo(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmergelohi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhegsmfaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhegsmfan(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhegsmiaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhegsmian(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhegumiaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhegumian(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmfaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmfanw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhessf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhessfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhessfaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhessfanw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhessiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhessianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmheumi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmheumia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmheumiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmheumianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmheusiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmheusianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhogsmfaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhogsmfan(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhogsmiaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhogsmian(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhogumiaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhogumian(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmfaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmfanw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhossf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhossfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhossfaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhossfanw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhossiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhossianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhoumi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhoumia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhoumiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhoumianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhousiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhousianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmra(__ppc_v2i); -__ppc_v2i __builtin_spe_evmwhsmf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwhsmfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwhsmi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwhsmia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwhssf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwhssfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwhumi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwhumia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlsmiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlsmianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlssiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlssianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlumi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlumia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlumiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlumianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlusiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlusianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmfaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmfan(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmiaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmian(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwssf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwssfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwssfaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwssfan(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwumi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwumia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwumiaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwumian(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evnand(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evneg(__ppc_v2i); -__ppc_v2i __builtin_spe_evnor(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evor(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evorc(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evrlw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evrlwi(__ppc_v2i, char); -__ppc_v2i __builtin_spe_evrndw(__ppc_v2i); -__ppc_v2i __builtin_spe_evsel_eq(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_fseq(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_fsgt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_fslt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_fststeq(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_fststgt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_fststlt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_gts(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_gtu(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_lts(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_ltu(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evslw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evslwi(__ppc_v2i, char); -__ppc_v2i __builtin_spe_evsplatfi(signed char); -__ppc_v2i __builtin_spe_evsplati(signed char); -__ppc_v2i __builtin_spe_evsrwis(__ppc_v2i, char); -__ppc_v2i __builtin_spe_evsrwiu(__ppc_v2i, char); -__ppc_v2i __builtin_spe_evsrws(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsrwu(__ppc_v2i, __ppc_v2i); -void __builtin_spe_evstdd(__ppc_v2i, __ppc_v2i*, char); -void __builtin_spe_evstddx(__ppc_v2i, __ppc_v2i*, int); -void __builtin_spe_evstdh(__ppc_v2i, __ppc_v2i*, char); -void __builtin_spe_evstdhx(__ppc_v2i, __ppc_v2i*, int); -void __builtin_spe_evstdw(__ppc_v2i, __ppc_v2i*, char); -void __builtin_spe_evstdwx(__ppc_v2i, __ppc_v2i*, int); -void __builtin_spe_evstwhe(__ppc_v2i, unsigned int*, char); -void __builtin_spe_evstwhex(__ppc_v2i, unsigned int*, int); -void __builtin_spe_evstwho(__ppc_v2i, unsigned int*, char); -void __builtin_spe_evstwhox(__ppc_v2i, unsigned int*, int); -void __builtin_spe_evstwwe(__ppc_v2i, unsigned int*, char); -void __builtin_spe_evstwwex(__ppc_v2i, unsigned int*, int); -void __builtin_spe_evstwwo(__ppc_v2i, unsigned int*, char); -void __builtin_spe_evstwwox(__ppc_v2i, unsigned int*, int); -__ppc_v2i __builtin_spe_evsubfsmiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evsubfssiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evsubfumiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evsubfusiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evsubfw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsubifw(__ppc_v2i, char); -__ppc_v2i __builtin_spe_evxor(__ppc_v2i, __ppc_v2i); -int __builtin_spe_mfspefscr(); -void __builtin_spe_mtspefscr(int); - -__ppc_v2i __builtin_spe2_evaddwss(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evaddhss(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evsubfwss(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evsubfhss(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evsatsdsw(__ppc_v2i); -__ppc_v2i __internal_ev_mwhssfanw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evmwhssfanw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evmwhssfaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evdotpwcssf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evdotphihcssf(__ppc_v2i, __ppc_v2i); - -#endif - -#ifdef __coverity_cplusplus -} -#endif - -#ifdef __COVERITY_ALTIVEC__ -/* Declarations of AltiVec PPU built-in intrinsic functions. */ -/* Many of these are overloaded, so they can't be declared in C. For those - * that have operator equivalents those equivalents are used in C instead, - * otherwise a generic version with no parameter types is declared. - */ - -typedef vector int __coverity_generic_altivec_vector; - -#ifdef __coverity_cplusplus -extern vector signed char __builtin_vec_abs (vector signed char a1); -extern vector signed short __builtin_vec_abs (vector signed short a1); -extern vector signed int __builtin_vec_abs (vector signed int a1); -extern vector float __builtin_vec_abs (vector float a1); - -extern vector signed char __builtin_vec_abss (vector signed char a1); -extern vector signed short __builtin_vec_abss (vector signed short a1); -#else -__coverity_generic_altivec_vector __builtin_vec_abs(); -__coverity_generic_altivec_vector __builtin_vec_abss(); -#endif - -#ifdef __coverity_cplusplus - extern vector unsigned int __builtin_vec_vslw (vector unsigned int a1, vector unsigned int a2); -#else -__coverity_generic_altivec_vector __builtin_vec_vslw (); -#endif - -#ifdef __coverity_cplusplus -extern int __builtin_vec_vcmpgt_p(int, vector signed char a1, vector signed char a2); -extern int __builtin_vec_vcmpgt_p(int, vector unsigned char a1, vector unsigned char a2); -extern int __builtin_vec_vcmpgt_p(int, vector signed short a1, vector signed short a2); -extern int __builtin_vec_vcmpgt_p(int, vector unsigned short a1, vector unsigned short a2); -extern int __builtin_vec_vcmpgt_p(int, vector signed int a1, vector signed int a2); -extern int __builtin_vec_vcmpgt_p(int, vector unsigned int a1, vector unsigned int a2); -extern int __builtin_vec_vcmpgt_p(int, vector signed char a1, vector signed char a2); -extern int __builtin_vec_vcmpgt_p(int, vector float a1, vector float a2); -#else -int __builtin_vec_vcmpgt_p(); -#endif - -#ifdef __coverity_cplusplus -extern vector signed char __builtin_vec_add (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_add (vector signed char a1, vector unsigned char a2); - -extern vector unsigned char __builtin_vec_add (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_add (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_add (vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_vec_add (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_add (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_add (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_add (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_add (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_add (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_add (vector unsigned int a1, vector unsigned int a2); -extern vector float __builtin_vec_add (vector float a1, vector float a2); -#else -# define __builtin_vec_add(a, b) ((a) + (b)) -#endif - -extern vector unsigned int __builtin_vec_addc (vector unsigned int a1, vector unsigned int a2); - -#ifdef __coverity_cplusplus -extern vector unsigned char __builtin_vec_adds (vector signed char a1, - vector unsigned char a2); -extern vector unsigned char __builtin_vec_adds (vector unsigned char a1, - vector signed char a2); -extern vector unsigned char __builtin_vec_adds (vector unsigned char a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_adds (vector signed char a1, vector signed char a2); -extern vector unsigned short __builtin_vec_adds (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_adds (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_adds (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_adds (vector signed short a1, vector signed short a2); - -extern vector unsigned int __builtin_vec_adds (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_adds (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_adds (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_adds (vector signed int a1, vector signed int a2); -#else -__coverity_generic_altivec_vector __builtin_vec_adds (); -#endif - -#ifdef __coverity_cplusplus -extern vector float __builtin_vec_and (vector float a1, vector float a2); -extern vector float __builtin_vec_and (vector float a1, vector signed int a2); -extern vector float __builtin_vec_and (vector signed int a1, vector float a2); -extern vector signed int __builtin_vec_and (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_and (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_and (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_and (vector unsigned int a1, vector unsigned int a2); -extern vector signed short __builtin_vec_and (vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_vec_and (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_and (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_and (vector unsigned short a1, - vector unsigned short a2); -extern vector signed char __builtin_vec_and (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_and (vector signed char a1, vector unsigned char a2); - -extern vector unsigned char __builtin_vec_and (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_and (vector unsigned char a1, - vector unsigned char a2); -#else -# define __builtin_vec_and(a, b) ((a) & (b)) -#endif - -#ifdef __coverity_cplusplus -extern vector float __builtin_vec_andc (vector float a1, vector float a2); -extern vector float __builtin_vec_andc (vector float a1, vector signed int a2); -extern vector float __builtin_vec_andc (vector signed int a1, vector float a2); -extern vector signed int __builtin_vec_andc (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_andc (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_andc (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_andc (vector unsigned int a1, vector unsigned int a2); - -extern vector signed short __builtin_vec_andc (vector signed short a1, vector signed short a2); - -extern vector unsigned short __builtin_vec_andc (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_andc (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_andc (vector unsigned short a1, - vector unsigned short a2); -extern vector signed char __builtin_vec_andc (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_andc (vector signed char a1, - vector unsigned char a2); -extern vector unsigned char __builtin_vec_andc (vector unsigned char a1, - vector signed char a2); -extern vector unsigned char __builtin_vec_andc (vector unsigned char a1, - vector unsigned char a2); -#else -__coverity_generic_altivec_vector __builtin_vec_andc (); -#endif - -#ifdef __coverity_cplusplus -extern vector unsigned char __builtin_vec_avg (vector unsigned char a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_avg (vector signed char a1, vector signed char a2); -extern vector unsigned short __builtin_vec_avg (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_avg (vector signed short a1, vector signed short a2); -extern vector unsigned int __builtin_vec_avg (vector unsigned int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_avg (vector signed int a1, vector signed int a2); -#else -__coverity_generic_altivec_vector __builtin_vec_avg (); -#endif - -extern vector float __builtin_vec_ceil (vector float a1); - -extern vector signed int __builtin_vec_cmpb (vector float a1, vector float a2); - -#ifdef __coverity_cplusplus -extern vector signed char __builtin_vec_cmpeq (vector signed char a1, vector signed char a2); -extern vector signed char __builtin_vec_cmpeq (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_cmpeq (vector signed short a1, - vector signed short a2); -extern vector signed short __builtin_vec_cmpeq (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_cmpeq (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_cmpeq (vector unsigned int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_cmpeq (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_cmpge (vector float a1, vector float a2); - -extern vector signed char __builtin_vec_cmpgt (vector unsigned char a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_cmpgt (vector signed char a1, vector signed char a2); -extern vector signed short __builtin_vec_cmpgt (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_cmpgt (vector signed short a1, - vector signed short a2); -extern vector signed int __builtin_vec_cmpgt (vector unsigned int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_cmpgt (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_cmpgt (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_cmple (vector float a1, vector float a2); - -extern vector signed char __builtin_vec_cmplt (vector unsigned char a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_cmplt (vector signed char a1, vector signed char a2); -extern vector signed short __builtin_vec_cmplt (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_cmplt (vector signed short a1, - vector signed short a2); -extern vector signed int __builtin_vec_cmplt (vector unsigned int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_cmplt (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_cmplt (vector float a1, vector float a2); -#else -__coverity_generic_altivec_vector __builtin_vec_cmpeq (); -__coverity_generic_altivec_vector __builtin_vec_cmpge (); -__coverity_generic_altivec_vector __builtin_vec_cmpgt (); -__coverity_generic_altivec_vector __builtin_vec_cmple (); -__coverity_generic_altivec_vector __builtin_vec_cmplt (); -#endif - -#ifdef __coverity_cplusplus -extern vector float __builtin_vec_ctf (vector unsigned int a1, const char a2); -extern vector float __builtin_vec_ctf (vector signed int a1, const char a2); -#else -extern vector float __builtin_vec_ctf (); -#endif - -extern vector signed int __builtin_vec_cts (vector float a1, const char a2); - -extern vector unsigned int __builtin_vec_ctu (vector float a1, const char a2); - -extern void __builtin_vec_dss (const char a1); - -extern void __builtin_vec_dssall (void); - -extern void __builtin_vec_dst (const void * a1, int a2, const char a3); - -extern void __builtin_vec_dstst (const void * a1, int a2, const char a3); - -extern void __builtin_vec_dststt (const void * a1, int a2, const char a3); - -extern void __builtin_vec_dstt (const void * a1, int a2, const char a3); - -#ifdef __coverity_cplusplus -extern vector float __builtin_vec_expte (vector float a1, vector float a2); -extern vector float __builtin_vec_expte (vector float a1); - -extern vector float __builtin_vec_floor (vector float a1, vector float a2); -extern vector float __builtin_vec_floor (vector float a1); -#else -__coverity_generic_altivec_vector __builtin_vec_expte(); -__coverity_generic_altivec_vector __builtin_vec_floor(); -#endif - -#ifdef __coverity_cplusplus -extern vector float __builtin_vec_ld (int a1, vector float * a2); -extern vector float __builtin_vec_ld (int a1, float * a2); -extern vector signed int __builtin_vec_ld (int a1, int * a2); -extern vector signed int __builtin_vec_ld (int a1, vector signed int * a2); -extern vector unsigned int __builtin_vec_ld (int a1, vector unsigned int * a2); -extern vector unsigned int __builtin_vec_ld (int a1, unsigned int * a2); -extern vector signed short __builtin_vec_ld (int a1, short * a2, vector signed short * a3); -extern vector unsigned short __builtin_vec_ld (int a1, unsigned short * a2, - vector unsigned short * a3); -extern vector signed char __builtin_vec_ld (int a1, signed char * a2); -extern vector signed char __builtin_vec_ld (int a1, vector signed char * a2); -extern vector unsigned char __builtin_vec_ld (int a1, unsigned char * a2); -extern vector unsigned char __builtin_vec_ld (int a1, vector unsigned char * a2); - -extern vector signed char __builtin_vec_lde (int a1, signed char * a2); -extern vector unsigned char __builtin_vec_lde (int a1, unsigned char * a2); -extern vector signed short __builtin_vec_lde (int a1, short * a2); -extern vector unsigned short __builtin_vec_lde (int a1, unsigned short * a2); -extern vector float __builtin_vec_lde (int a1, float * a2); -extern vector signed int __builtin_vec_lde (int a1, int * a2); -extern vector unsigned int __builtin_vec_lde (int a1, unsigned int * a2); - -extern vector float __builtin_vec_ldl (int a1, float * a2); -extern vector float __builtin_vec_ldl (int a1, vector float * a2); -extern vector signed int __builtin_vec_ldl (int a1, vector signed int * a2); -extern vector signed int __builtin_vec_ldl (int a1, int * a2); -extern vector unsigned int __builtin_vec_ldl (int a1, unsigned int * a2); -extern vector unsigned int __builtin_vec_ldl (int a1, vector unsigned int * a2); -extern vector signed short __builtin_vec_ldl (int a1, vector signed short * a2); -extern vector signed short __builtin_vec_ldl (int a1, short * a2); -extern vector unsigned short __builtin_vec_ldl (int a1, vector unsigned short * a2); -extern vector unsigned short __builtin_vec_ldl (int a1, unsigned short * a2); -extern vector signed char __builtin_vec_ldl (int a1, vector signed char * a2); -extern vector signed char __builtin_vec_ldl (int a1, signed char * a2); -extern vector unsigned char __builtin_vec_ldl (int a1, vector unsigned char * a2); -extern vector unsigned char __builtin_vec_ldl (int a1, unsigned char * a2); -#else -__coverity_generic_altivec_vector __builtin_vec_ld (); -__coverity_generic_altivec_vector __builtin_vec_lde (); -__coverity_generic_altivec_vector __builtin_vec_ldl (); -#endif - -extern vector float __builtin_vec_loge (vector float a1); - -extern vector unsigned char __builtin_vec_lvsl (int a1, const void * a2, int * a3); - -extern vector unsigned char __builtin_vec_lvsr (int a1, const void * a2, int * a3); - -extern vector float __builtin_vec_madd (vector float a1, vector float a2, vector float a3); - -extern vector signed short __builtin_vec_madds (vector signed short a1, vector signed short a2, - vector signed short a3); - -#ifdef __coverity_cplusplus -extern vector unsigned char __builtin_vec_max (vector signed char a1, vector unsigned char a2); - -extern vector unsigned char __builtin_vec_max (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_max (vector unsigned char a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_max (vector signed char a1, vector signed char a2); -extern vector unsigned short __builtin_vec_max (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_max (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_max (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_max (vector signed short a1, vector signed short a2); -extern vector unsigned int __builtin_vec_max (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_max (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_max (vector unsigned int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_max (vector signed int a1, vector signed int a2); -extern vector float __builtin_vec_max (vector float a1, vector float a2); - -extern vector signed char __builtin_vec_mergeh (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_mergeh (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_mergeh (vector signed short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_mergeh (vector unsigned short a1, - vector unsigned short a2); -extern vector float __builtin_vec_mergeh (vector float a1, vector float a2); -extern vector signed int __builtin_vec_mergeh (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_mergeh (vector unsigned int a1, - vector unsigned int a2); - -extern vector signed char __builtin_vec_mergel (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_mergel (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_mergel (vector signed short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_mergel (vector unsigned short a1, - vector unsigned short a2); -extern vector float __builtin_vec_mergel (vector float a1, vector float a2); -extern vector signed int __builtin_vec_mergel (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_mergel (vector unsigned int a1, - vector unsigned int a2); -#else -__coverity_generic_altivec_vector __builtin_vec_max (); -__coverity_generic_altivec_vector __builtin_vec_mergeh (); -__coverity_generic_altivec_vector __builtin_vec_mergel (); -#endif - -extern vector unsigned short __builtin_vec_mfvscr (void); - -#ifdef __coverity_cplusplus -extern vector unsigned char __builtin_vec_min (vector signed char a1, vector unsigned char a2); - -extern vector unsigned char __builtin_vec_min (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_min (vector unsigned char a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_min (vector signed char a1, vector signed char a2); -extern vector unsigned short __builtin_vec_min (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_min (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_min (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_min (vector signed short a1, vector signed short a2); -extern vector unsigned int __builtin_vec_min (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_min (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_min (vector unsigned int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_min (vector signed int a1, vector signed int a2); -extern vector float __builtin_vec_min (vector float a1, vector float a2); - -extern vector signed short __builtin_vec_mladd (vector signed short a1, vector signed short a2, - vector signed short a3); -extern vector signed short __builtin_vec_mladd (vector signed short a1, - vector unsigned short a2, - vector unsigned short a3); -extern vector signed short __builtin_vec_mladd (vector unsigned short a1, - vector signed short a2, - vector signed short a3); -extern vector unsigned short __builtin_vec_mladd (vector unsigned short a1, - vector unsigned short a2, - vector unsigned short a3); -#else -__coverity_generic_altivec_vector __builtin_vec_min (); -__coverity_generic_altivec_vector __builtin_vec_mladd (); -#endif - -extern vector signed short __builtin_vec_mradds (vector signed short a1, - vector signed short a2, - vector signed short a3); - -#ifdef __coverity_cplusplus -extern vector unsigned int __builtin_vec_msum (vector unsigned char a1, - vector unsigned char a2, - vector unsigned int a3); -extern vector signed int __builtin_vec_msum (vector signed char a1, vector unsigned char a2, - vector signed int a3); -extern vector unsigned int __builtin_vec_msum (vector unsigned short a1, - vector unsigned short a2, - vector unsigned int a3); -extern vector signed int __builtin_vec_msum (vector signed short a1, vector signed short a2, - vector signed int a3); - -extern vector unsigned int __builtin_vec_msums (vector unsigned short a1, - vector unsigned short a2, - vector unsigned int a3); -extern vector signed int __builtin_vec_msums (vector signed short a1, vector signed short a2, - vector signed int a3); - -extern void __builtin_vec_mtvscr (vector signed int a1); -extern void __builtin_vec_mtvscr (vector unsigned int a1); -extern void __builtin_vec_mtvscr (vector signed short a1); -extern void __builtin_vec_mtvscr (vector unsigned short a1); -extern void __builtin_vec_mtvscr (vector signed char a1); -extern void __builtin_vec_mtvscr (vector unsigned char a1); - -extern vector unsigned short __builtin_vec_mule (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_mule (vector signed char a1, vector signed char a2); -extern vector unsigned int __builtin_vec_mule (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_mule (vector signed short a1, vector signed short a2); - -extern vector unsigned short __builtin_vec_mulo (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_mulo (vector signed char a1, vector signed char a2); -extern vector unsigned int __builtin_vec_mulo (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_mulo (vector signed short a1, vector signed short a2); -#else -__coverity_generic_altivec_vector __builtin_vec_msum (); -__coverity_generic_altivec_vector __builtin_vec_msums (); -extern void __builtin_vec_mtvscr (); -__coverity_generic_altivec_vector __builtin_vec_mule (); -__coverity_generic_altivec_vector __builtin_vec_mulo (); -#endif - -extern vector float __builtin_vec_nmsub (vector float a1, vector float a2, vector float a3); - -#ifdef __coverity_cplusplus -extern vector float __builtin_vec_nor (vector float a1, vector float a2); -extern vector signed int __builtin_vec_nor (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_nor (vector unsigned int a1, vector unsigned int a2); -extern vector signed short __builtin_vec_nor (vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_vec_nor (vector unsigned short a1, - vector unsigned short a2); -extern vector signed char __builtin_vec_nor (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_nor (vector unsigned char a1, - vector unsigned char a2); - -extern vector float __builtin_vec_or (vector float a1, vector float a2); -extern vector float __builtin_vec_or (vector float a1, vector signed int a2); -extern vector float __builtin_vec_or (vector signed int a1, vector float a2); -extern vector signed int __builtin_vec_or (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_or (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_or (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_or (vector unsigned int a1, vector unsigned int a2); -extern vector signed short __builtin_vec_or (vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_vec_or (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_or (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_or (vector unsigned short a1, - vector unsigned short a2); -extern vector signed char __builtin_vec_or (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_or (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_or (vector unsigned char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_or (vector unsigned char a1, - vector unsigned char a2); - -extern vector signed char __builtin_vec_pack (vector signed short a1, vector signed short a2); -extern vector unsigned char __builtin_vec_pack (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_pack (vector signed int a1, vector signed int a2); -extern vector unsigned short __builtin_vec_pack (vector unsigned int a1, - vector unsigned int a2); -#else -# define __builtin_vec_nor(a, b) (~((a) | (b))) -# define __builtin_vec_or(a, b) ((a) | (b)) -__coverity_generic_altivec_vector __builtin_vec_pack (); -#endif - -extern vector signed short __builtin_vec_packpx (vector unsigned int a1, - vector unsigned int a2); - -#ifdef __coverity_cplusplus -extern vector unsigned char __builtin_vec_packs (vector unsigned short a1, - vector unsigned short a2); -extern vector signed char __builtin_vec_packs (vector signed short a1, vector signed short a2); - -extern vector unsigned short __builtin_vec_packs (vector unsigned int a1, - vector unsigned int a2); -extern vector signed short __builtin_vec_packs (vector signed int a1, vector signed int a2); - -extern vector unsigned char __builtin_vec_packsu (vector unsigned short a1, - vector unsigned short a2); -extern vector unsigned char __builtin_vec_packsu (vector signed short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_packsu (vector unsigned int a1, - vector unsigned int a2); -extern vector unsigned short __builtin_vec_packsu (vector signed int a1, vector signed int a2); - -extern vector float __builtin_vec_perm (vector float a1, vector float a2, - vector unsigned char a3); -extern vector signed int __builtin_vec_perm (vector signed int a1, vector signed int a2, - vector unsigned char a3); -extern vector unsigned int __builtin_vec_perm (vector unsigned int a1, vector unsigned int a2, - vector unsigned char a3); -extern vector signed short __builtin_vec_perm (vector signed short a1, vector signed short a2, - vector unsigned char a3); -extern vector unsigned short __builtin_vec_perm (vector unsigned short a1, - vector unsigned short a2, - vector unsigned char a3); -extern vector signed char __builtin_vec_perm (vector signed char a1, vector signed char a2, - vector unsigned char a3); -extern vector unsigned char __builtin_vec_perm (vector unsigned char a1, - vector unsigned char a2, - vector unsigned char a3); -#else -__coverity_generic_altivec_vector __builtin_vec_packs (); -__coverity_generic_altivec_vector __builtin_vec_packsu (); -__coverity_generic_altivec_vector __builtin_vec_perm (); -#endif - -extern vector float __builtin_vec_re (vector float a1); - -#ifdef __coverity_cplusplus -extern vector signed char __builtin_vec_rl (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_rl (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_rl (vector signed short a1, vector unsigned short a2); - -extern vector unsigned short __builtin_vec_rl (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_rl (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_rl (vector unsigned int a1, vector unsigned int a2); -#else -__coverity_generic_altivec_vector __builtin_vec_rl (); -#endif - -extern vector float __builtin_vec_round (vector float a1); - -extern vector float __builtin_vec_rsqrte (vector float a1); - -#ifdef __coverity_cplusplus -extern vector float __builtin_vec_sel (vector float a1, vector float a2, vector signed int a3); -extern vector float __builtin_vec_sel (vector float a1, vector float a2, vector unsigned int a3); -extern vector signed int __builtin_vec_sel (vector signed int a1, vector signed int a2, - vector signed int a3); -extern vector signed int __builtin_vec_sel (vector signed int a1, vector signed int a2, - vector unsigned int a3); -extern vector unsigned int __builtin_vec_sel (vector unsigned int a1, vector unsigned int a2, - vector signed int a3); -extern vector unsigned int __builtin_vec_sel (vector unsigned int a1, vector unsigned int a2, - vector unsigned int a3); -extern vector signed short __builtin_vec_sel (vector signed short a1, vector signed short a2, - vector signed short a3); -extern vector signed short __builtin_vec_sel (vector signed short a1, vector signed short a2, - vector unsigned short a3); -extern vector unsigned short __builtin_vec_sel (vector unsigned short a1, - vector unsigned short a2, - vector signed short a3); -extern vector unsigned short __builtin_vec_sel (vector unsigned short a1, - vector unsigned short a2, - vector unsigned short a3); -extern vector signed char __builtin_vec_sel (vector signed char a1, vector signed char a2, - vector signed char a3); -extern vector signed char __builtin_vec_sel (vector signed char a1, vector signed char a2, - vector unsigned char a3); -extern vector unsigned char __builtin_vec_sel (vector unsigned char a1, - vector unsigned char a2, - vector signed char a3); -extern vector unsigned char __builtin_vec_sel (vector unsigned char a1, - vector unsigned char a2, - vector unsigned char a3); - -extern vector signed char __builtin_vec_sl (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_sl (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_sl (vector signed short a1, vector unsigned short a2); - -extern vector unsigned short __builtin_vec_sl (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_sl (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_sl (vector unsigned int a1, vector unsigned int a2); - -extern vector float __builtin_vec_sld (vector float a1, vector float a2, const char a3); -extern vector signed int __builtin_vec_sld (vector signed int a1, vector signed int a2, - const char a3); -extern vector unsigned int __builtin_vec_sld (vector unsigned int a1, vector unsigned int a2, - const char a3); -extern vector signed short __builtin_vec_sld (vector signed short a1, vector signed short a2, - const char a3); -extern vector unsigned short __builtin_vec_sld (vector unsigned short a1, - vector unsigned short a2, const char a3); -extern vector signed char __builtin_vec_sld (vector signed char a1, vector signed char a2, - const char a3); -extern vector unsigned char __builtin_vec_sld (vector unsigned char a1, - vector unsigned char a2, - const char a3); - -extern vector signed int __builtin_vec_sll (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_sll (vector signed int a1, vector unsigned short a2); -extern vector signed int __builtin_vec_sll (vector signed int a1, vector unsigned char a2); -extern vector unsigned int __builtin_vec_sll (vector unsigned int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_sll (vector unsigned int a1, - vector unsigned short a2); -extern vector unsigned int __builtin_vec_sll (vector unsigned int a1, vector unsigned char a2); - -extern vector signed short __builtin_vec_sll (vector signed short a1, vector unsigned int a2); -extern vector signed short __builtin_vec_sll (vector signed short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_sll (vector signed short a1, vector unsigned char a2); - -extern vector unsigned short __builtin_vec_sll (vector unsigned short a1, - vector unsigned int a2); -extern vector unsigned short __builtin_vec_sll (vector unsigned short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_sll (vector unsigned short a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_sll (vector signed char a1, vector unsigned int a2); -extern vector signed char __builtin_vec_sll (vector signed char a1, vector unsigned short a2); -extern vector signed char __builtin_vec_sll (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_sll (vector unsigned char a1, - vector unsigned int a2); -extern vector unsigned char __builtin_vec_sll (vector unsigned char a1, - vector unsigned short a2); -extern vector unsigned char __builtin_vec_sll (vector unsigned char a1, - vector unsigned char a2); - -extern vector float __builtin_vec_slo (vector float a1, vector signed char a2); -extern vector float __builtin_vec_slo (vector float a1, vector unsigned char a2); -extern vector signed int __builtin_vec_slo (vector signed int a1, vector signed char a2); -extern vector signed int __builtin_vec_slo (vector signed int a1, vector unsigned char a2); -extern vector unsigned int __builtin_vec_slo (vector unsigned int a1, vector signed char a2); -extern vector unsigned int __builtin_vec_slo (vector unsigned int a1, vector unsigned char a2); - -extern vector signed short __builtin_vec_slo (vector signed short a1, vector signed char a2); -extern vector signed short __builtin_vec_slo (vector signed short a1, vector unsigned char a2); - -extern vector unsigned short __builtin_vec_slo (vector unsigned short a1, - vector signed char a2); -extern vector unsigned short __builtin_vec_slo (vector unsigned short a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_slo (vector signed char a1, vector signed char a2); -extern vector signed char __builtin_vec_slo (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_slo (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_slo (vector unsigned char a1, - vector unsigned char a2); - -extern vector signed char __builtin_vec_splat (vector signed char a1, const char a2); -extern vector unsigned char __builtin_vec_splat (vector unsigned char a1, const char a2); -extern vector signed short __builtin_vec_splat (vector signed short a1, const char a2); -extern vector unsigned short __builtin_vec_splat (vector unsigned short a1, const char a2); -extern vector float __builtin_vec_splat (vector float a1, const char a2); -extern vector signed int __builtin_vec_splat (vector signed int a1, const char a2); -extern vector unsigned int __builtin_vec_splat (vector unsigned int a1, const char a2); -#else -# define __builtin_vec_sl(a, b) ((a) << (b)) -__coverity_generic_altivec_vector __builtin_vec_sel (); -__coverity_generic_altivec_vector __builtin_vec_sel (); -__coverity_generic_altivec_vector __builtin_vec_sld (); -__coverity_generic_altivec_vector __builtin_vec_sll (); -__coverity_generic_altivec_vector __builtin_vec_slo (); -#endif - -extern vector signed char __builtin_vec_splat_s8 (const char a1); - -extern vector signed short __builtin_vec_splat_s16 (const char a1); - -extern vector signed int __builtin_vec_splat_s32 (const char a1); - -extern vector unsigned char __builtin_vec_splat_u8 (const char a1); - -extern vector unsigned short __builtin_vec_splat_u16 (const char a1); - -extern vector unsigned int __builtin_vec_splat_u32 (const char a1); - -#ifdef __coverity_cplusplus -extern vector signed char __builtin_vec_sr (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_sr (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_sr (vector signed short a1, vector unsigned short a2); - -extern vector unsigned short __builtin_vec_sr (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_sr (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_sr (vector unsigned int a1, vector unsigned int a2); - -extern vector signed char __builtin_vec_sra (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_sra (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_sra (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_sra (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_sra (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_sra (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_srl (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_srl (vector signed int a1, vector unsigned short a2); -extern vector signed int __builtin_vec_srl (vector signed int a1, vector unsigned char a2); -extern vector unsigned int __builtin_vec_srl (vector unsigned int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_srl (vector unsigned int a1, - vector unsigned short a2); -extern vector unsigned int __builtin_vec_srl (vector unsigned int a1, vector unsigned char a2); - -extern vector signed short __builtin_vec_srl (vector signed short a1, vector unsigned int a2); -extern vector signed short __builtin_vec_srl (vector signed short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_srl (vector signed short a1, vector unsigned char a2); - -extern vector unsigned short __builtin_vec_srl (vector unsigned short a1, - vector unsigned int a2); -extern vector unsigned short __builtin_vec_srl (vector unsigned short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_srl (vector unsigned short a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_srl (vector signed char a1, vector unsigned int a2); -extern vector signed char __builtin_vec_srl (vector signed char a1, vector unsigned short a2); -extern vector signed char __builtin_vec_srl (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_srl (vector unsigned char a1, - vector unsigned int a2); -extern vector unsigned char __builtin_vec_srl (vector unsigned char a1, - vector unsigned short a2); -extern vector unsigned char __builtin_vec_srl (vector unsigned char a1, - vector unsigned char a2); - -extern vector float __builtin_vec_sro (vector float a1, vector signed char a2); -extern vector float __builtin_vec_sro (vector float a1, vector unsigned char a2); -extern vector signed int __builtin_vec_sro (vector signed int a1, vector signed char a2); -extern vector signed int __builtin_vec_sro (vector signed int a1, vector unsigned char a2); -extern vector unsigned int __builtin_vec_sro (vector unsigned int a1, vector signed char a2); -extern vector unsigned int __builtin_vec_sro (vector unsigned int a1, vector unsigned char a2); - -extern vector signed short __builtin_vec_sro (vector signed short a1, vector signed char a2); -extern vector signed short __builtin_vec_sro (vector signed short a1, vector unsigned char a2); - -extern vector unsigned short __builtin_vec_sro (vector unsigned short a1, - vector signed char a2); -extern vector unsigned short __builtin_vec_sro (vector unsigned short a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_sro (vector signed char a1, vector signed char a2); -extern vector signed char __builtin_vec_sro (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_sro (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_sro (vector unsigned char a1, - vector unsigned char a2); - -extern void __builtin_vec_st (vector float a1, int a2, const void * a3); -extern void __builtin_vec_st (vector signed int a1, int a2, const void * a3); -extern void __builtin_vec_st (vector unsigned int a1, int a2, const void * a3); -extern void __builtin_vec_st (vector signed short a1, int a2, const void * a3); -extern void __builtin_vec_st (vector unsigned short a1, int a2, const void * a3); -extern void __builtin_vec_st (vector signed char a1, int a2, const void * a3); -extern void __builtin_vec_st (vector unsigned char a1, int a2, const void * a3); - -extern void __builtin_vec_ste (vector signed char a1, int a2, const void * a3); -extern void __builtin_vec_ste (vector unsigned char a1, int a2, unsigned char * a3); -extern void __builtin_vec_ste (vector signed short a1, int a2, const void * a3); -extern void __builtin_vec_ste (vector unsigned short a1, int a2, const void * a3); -extern void __builtin_vec_ste (vector signed int a1, int a2, const void * a3); -extern void __builtin_vec_ste (vector unsigned int a1, int a2, unsigned int * a3); -extern void __builtin_vec_ste (vector float a1, int a2, float * a3); - -extern void __builtin_vec_stl (vector float a1, int a2, const void * a3); -extern void __builtin_vec_stl (vector signed int a1, int a2, const void * a3); -extern void __builtin_vec_stl (vector unsigned int a1, int a2, const void * a3); -extern void __builtin_vec_stl (vector signed short a1, int a2, const void * a3); -extern void __builtin_vec_stl (vector unsigned short a1, int a2, const void * a3); -extern void __builtin_vec_stl (vector signed char a1, int a2, const void * a3); -extern void __builtin_vec_stl (vector unsigned char a1, int a2, const void * a3); - -extern vector signed char __builtin_vec_sub (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_sub (vector signed char a1, vector unsigned char a2); - -extern vector unsigned char __builtin_vec_sub (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_sub (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_sub (vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_vec_sub (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_sub (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_sub (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_sub (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_sub (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_sub (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_sub (vector unsigned int a1, vector unsigned int a2); -extern vector float __builtin_vec_sub (vector float a1, vector float a2); - -extern vector unsigned int __builtin_vec_subc (vector unsigned int a1, vector unsigned int a2); - -extern vector unsigned char __builtin_vec_subs (vector signed char a1, - vector unsigned char a2); -extern vector unsigned char __builtin_vec_subs (vector unsigned char a1, - vector signed char a2); -extern vector unsigned char __builtin_vec_subs (vector unsigned char a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_subs (vector signed char a1, vector signed char a2); -extern vector unsigned short __builtin_vec_subs (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_subs (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_subs (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_subs (vector signed short a1, vector signed short a2); - -extern vector unsigned int __builtin_vec_subs (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_subs (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_subs (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_subs (vector signed int a1, vector signed int a2); - -extern vector unsigned int __builtin_vec_sum4s (vector unsigned char a1, - vector unsigned int a2); -extern vector signed int __builtin_vec_sum4s (vector signed char a1, vector signed int a2); -extern vector signed int __builtin_vec_sum4s (vector signed short a1, vector signed int a2); -#else -# define __builtin_vec_sr(a, b) ((a) >> (b)) -# define __builtin_vec_sub(a, b) ((a) - (b)) -__coverity_generic_altivec_vector __builtin_vec_sra (); -__coverity_generic_altivec_vector __builtin_vec_srl (); -__coverity_generic_altivec_vector __builtin_vec_sro (); -extern void __builtin_vec_st (); -extern void __builtin_vec_ste (); -extern void __builtin_vec_stl (); -__coverity_generic_altivec_vector __builtin_vec_subc (); -__coverity_generic_altivec_vector __builtin_vec_subs (); -__coverity_generic_altivec_vector __builtin_vec_sum4s (); -#endif - -extern vector signed int __builtin_vec_sum2s (vector signed int a1, vector signed int a2); - -extern vector signed int __builtin_vec_sums (vector signed int a1, vector signed int a2); - -extern vector float __builtin_vec_trunc (vector float a1); - -#ifdef __coverity_cplusplus -extern vector signed short __builtin_vec_unpackh (vector signed char a1); -extern vector unsigned int __builtin_vec_unpackh (vector unsigned short a1); -extern vector signed int __builtin_vec_unpackh (vector signed short a1); - -extern vector signed short __builtin_vec_unpackl (vector signed char a1); -extern vector unsigned int __builtin_vec_unpackl (vector unsigned short a1); -extern vector signed int __builtin_vec_unpackl (vector signed short a1); - -extern vector float __builtin_vec_xor (vector float a1, vector float a2); -extern vector float __builtin_vec_xor (vector float a1, vector signed int a2); -extern vector float __builtin_vec_xor (vector signed int a1, vector float a2); -extern vector signed int __builtin_vec_xor (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_xor (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_xor (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_xor (vector unsigned int a1, vector unsigned int a2); -extern vector signed short __builtin_vec_xor (vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_vec_xor (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_xor (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_xor (vector unsigned short a1, - vector unsigned short a2); -extern vector signed char __builtin_vec_xor (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_xor (vector signed char a1, vector unsigned char a2); - -extern vector unsigned char __builtin_vec_xor (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_xor (vector unsigned char a1, - vector unsigned char a2); - -extern vector signed int __builtin_vec_all_eq (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_all_eq (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_all_eq (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_all_eq (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_all_eq (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_eq (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_all_eq (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_all_eq (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_eq (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_all_eq (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_eq (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_eq (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_all_eq (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_ge (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_all_ge (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_all_ge (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_all_ge (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_all_ge (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_ge (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_all_ge (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_ge (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_all_ge (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_all_ge (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_ge (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_all_ge (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_ge (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_gt (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_all_gt (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_all_gt (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_all_gt (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_all_gt (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_gt (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_all_gt (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_gt (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_all_gt (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_all_gt (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_gt (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_all_gt (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_gt (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_in (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_le (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_all_le (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_all_le (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_all_le (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_all_le (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_le (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_all_le (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_le (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_all_le (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_all_le (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_le (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_all_le (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_le (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_lt (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_all_lt (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_all_lt (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_all_lt (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_all_lt (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_lt (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_all_lt (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_lt (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_all_lt (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_all_lt (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_lt (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_all_lt (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_lt (vector float a1, vector float a2); -#else -__coverity_generic_altivec_vector __builtin_vec_unpackh (); -__coverity_generic_altivec_vector __builtin_vec_unpackl (); -#define __builtin_vec_xor(a1, a2) ((a1) ^ (a2)) -__coverity_generic_altivec_vector __builtin_vec_all_eq (); -__coverity_generic_altivec_vector __builtin_vec_all_ge (); -__coverity_generic_altivec_vector __builtin_vec_all_gt (); -__coverity_generic_altivec_vector __builtin_vec_all_le (); -__coverity_generic_altivec_vector __builtin_vec_all_lt (); -#endif - -extern vector signed int __builtin_vec_all_nan (vector float a1); - -#ifdef __coverity_cplusplus -extern vector signed int __builtin_vec_all_ne (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_all_ne (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_all_ne (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_all_ne (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_all_ne (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_ne (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_all_ne (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_all_ne (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_ne (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_all_ne (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_ne (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_ne (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_all_ne (vector float a1, vector float a2); - -#else -__coverity_generic_altivec_vector __builtin_vec_all_ne (); -#endif - -extern vector signed int __builtin_vec_all_nge (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_ngt (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_nle (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_nlt (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_numeric (vector float a1); - -#ifdef __coverity_cplusplus -extern vector signed int __builtin_vec_any_eq (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_any_eq (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_any_eq (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_any_eq (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_any_eq (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_eq (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_any_eq (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_any_eq (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_eq (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_any_eq (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_eq (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_eq (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_any_eq (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_ge (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_any_ge (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_any_ge (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_any_ge (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_any_ge (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_ge (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_any_ge (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_ge (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_any_ge (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_any_ge (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_ge (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_any_ge (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_ge (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_gt (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_any_gt (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_any_gt (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_any_gt (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_any_gt (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_gt (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_any_gt (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_gt (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_any_gt (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_any_gt (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_gt (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_any_gt (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_gt (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_le (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_any_le (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_any_le (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_any_le (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_any_le (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_le (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_any_le (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_le (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_any_le (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_any_le (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_le (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_any_le (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_le (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_lt (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_any_lt (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_any_lt (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_any_lt (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_any_lt (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_lt (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_any_lt (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_lt (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_any_lt (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_any_lt (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_lt (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_any_lt (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_lt (vector float a1, vector float a2); -#else -__coverity_generic_altivec_vector __builtin_vec_any_eq (); -__coverity_generic_altivec_vector __builtin_vec_any_ge (); -__coverity_generic_altivec_vector __builtin_vec_any_gt (); -__coverity_generic_altivec_vector __builtin_vec_any_le (); -__coverity_generic_altivec_vector __builtin_vec_any_lt (); -#endif - -extern vector signed int __builtin_vec_any_nan (vector float a1); - -#ifdef __coverity_cplusplus -extern vector signed int __builtin_vec_any_ne (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_any_ne (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_any_ne (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_any_ne (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_any_ne (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_ne (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_any_ne (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_any_ne (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_ne (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_any_ne (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_ne (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_ne (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_any_ne (vector float a1, vector float a2); -#else -__coverity_generic_altivec_vector __builtin_vec_any_ne (); -#endif - -extern vector signed int __builtin_vec_any_nge (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_ngt (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_nle (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_nlt (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_numeric (vector float a1); - -extern vector signed int __builtin_vec_any_out (vector float a1, vector float a2); - -# ifndef OFFSET_T -# ifdef _ARCH_PPC64 -# define OFFSET_T long -# else -# define OFFSET_T int -# endif -# endif - -extern int __builtin_altivec_vcmpbfp_p(int a1, vector float a2, vector float a3); -extern int __builtin_altivec_vcmpeqfp_p(int a1, vector float a2, vector float a3); -extern int __builtin_altivec_vcmpeqfp_p(int, vector float a1, vector float a2); -extern int __builtin_altivec_vcmpequb_p(int a1, vector signed char a2, vector signed char a3); -extern int __builtin_altivec_vcmpequh_p(int a1, vector signed short a2, vector signed short a3); -extern int __builtin_altivec_vcmpequw_p(int a1, vector signed int a2, vector signed int a3); -extern int __builtin_altivec_vcmpgefp_p(int a1, vector float a2, vector float a3); -extern int __builtin_altivec_vcmpgtfp_p(int a1, vector float a2, vector float a3); -extern int __builtin_altivec_vcmpgtsb_p(int a1, vector signed char a2, vector signed char a3); -extern int __builtin_altivec_vcmpgtsh_p(int a1, vector signed short a2, vector signed short a3); -extern int __builtin_altivec_vcmpgtsw_p(int a1, vector signed int a2, vector signed int a3); -extern int __builtin_altivec_vcmpgtub_p(int a1, vector signed char a2, vector signed char a3); -extern int __builtin_altivec_vcmpgtuh_p(int a1, vector signed short a2, vector signed short a3); -extern int __builtin_altivec_vcmpgtuw_p(int a1, vector signed int a2, vector signed int a3); -extern vector bool char __builtin_altivec_lvx(OFFSET_T a1, const void * a2); -extern vector bool char __builtin_altivec_lvxl(OFFSET_T a1, const void * a2); -extern vector bool char __builtin_altivec_vand(vector signed int a1, vector signed int a2); -extern vector bool char __builtin_altivec_vandc(vector signed int a1, vector signed int a2); -extern vector bool char __builtin_altivec_vcmpequb(vector signed char a1, vector signed char a2); -extern vector bool char __builtin_altivec_vcmpgtsb(vector signed char a1, vector signed char a2); -extern vector bool char __builtin_altivec_vcmpgtub(vector signed char a1, vector signed char a2); -extern vector bool char __builtin_altivec_vmrghb(vector signed char a1, vector signed char a2); -extern vector bool char __builtin_altivec_vmrglb(vector signed char a1, vector signed char a2); -extern vector bool char __builtin_altivec_vnor(vector signed int a1, vector signed int a2); -extern vector bool char __builtin_altivec_vor(vector signed int a1, vector signed int a2); -extern vector bool char __builtin_altivec_vperm_4si(vector signed int a1, vector signed int a2, vector signed char a3); -extern vector bool char __builtin_altivec_vpkuhum(vector signed short a1, vector signed short a2); -extern vector bool char __builtin_altivec_vsel_4si(vector signed int a1, vector signed int a2, vector signed int a3); -extern vector bool char __builtin_altivec_vsl(vector signed int a1, vector signed int a2); -extern vector bool char __builtin_altivec_vsldoi_4si(vector signed int a1, vector signed int a2, const int a3); -extern vector bool char __builtin_altivec_vsldoi_4sf(vector float a1, vector float a2, const int a3); -extern vector bool char __builtin_altivec_vspltb(vector signed char a1, const int a2); -extern vector bool char __builtin_altivec_vsr(vector signed int a1, vector signed int a2); -extern vector bool char __builtin_altivec_vxor(vector signed int a1, vector signed int a2); -extern vector bool int __builtin_altivec_vcmpeqfp(vector float a1, vector float a2); -extern vector bool int __builtin_altivec_vcmpequw(vector signed int a1, vector signed int a2); -extern vector bool int __builtin_altivec_vcmpgefp(vector float a1, vector float a2); -extern vector bool int __builtin_altivec_vcmpgtfp(vector float a1, vector float a2); -extern vector bool int __builtin_altivec_vcmpgtsw(vector signed int a1, vector signed int a2); -extern vector bool int __builtin_altivec_vcmpgtuw(vector signed int a1, vector signed int a2); -extern vector bool int __builtin_altivec_vmrghw(vector signed int a1, vector signed int a2); -extern vector bool int __builtin_altivec_vmrglw(vector signed int a1, vector signed int a2); -extern vector bool int __builtin_altivec_vspltw(vector signed int a1, const int a2); -extern vector bool int __builtin_altivec_vupkhsh(vector signed short a1); -extern vector bool int __builtin_altivec_vupklsh(vector signed short a1); -extern vector bool short __builtin_altivec_vcmpequh(vector signed short a1, vector signed short a2); -extern vector bool short __builtin_altivec_vcmpgtsh(vector signed short a1, vector signed short a2); -extern vector bool short __builtin_altivec_vcmpgtuh(vector signed short a1, vector signed short a2); -extern vector bool short __builtin_altivec_vmrghh(vector signed short a1, vector signed short a2); -extern vector bool short __builtin_altivec_vmrglh(vector signed short a1, vector signed short a2); -extern vector bool short __builtin_altivec_vpkuwum(vector signed int a1, vector signed int a2); -extern vector bool short __builtin_altivec_vsplth(vector signed short a1, const int a2); -extern vector bool short __builtin_altivec_vupkhsb(vector signed char a1); -extern vector bool short __builtin_altivec_vupklsb(vector signed char a1); -extern vector float __builtin_altivec_abs_v4sf(vector float a1); -extern vector float __builtin_altivec_lvewx(OFFSET_T a1, const void * a2); -extern vector float __builtin_altivec_vaddfp(vector float a1, vector float a2); -extern vector float __builtin_altivec_vcfsx(vector signed int a1, const int a2); -extern vector float __builtin_altivec_vcfux(vector signed int a1, const int a2); -extern vector float __builtin_altivec_vexptefp(vector float a1); -extern vector float __builtin_altivec_vlogefp(vector float a1); -extern vector float __builtin_altivec_vmaddfp(vector float a1, vector float a2, vector float a3); -extern vector float __builtin_altivec_vmaxfp(vector float a1, vector float a2); -extern vector float __builtin_altivec_vminfp(vector float a1, vector float a2); -extern vector float __builtin_altivec_vnmsubfp(vector float a1, vector float a2, vector float a3); -extern vector float __builtin_altivec_vrefp(vector float a1); -extern vector float __builtin_altivec_vrfim(vector float a1); -extern vector float __builtin_altivec_vrfin(vector float a1); -extern vector float __builtin_altivec_vrfip(vector float a1); -extern vector float __builtin_altivec_vrfiz(vector float a1); -extern vector float __builtin_altivec_vrsqrtefp(vector float a1); -extern vector float __builtin_altivec_vslo(vector signed int a1, vector signed int a2); -extern vector float __builtin_altivec_vsro(vector signed int a1, vector signed int a2); -extern vector float __builtin_altivec_vsubfp(vector float a1, vector float a2); -extern vector pixel __builtin_altivec_vpkpx(vector signed int a1, vector signed int a2); -extern vector signed char __builtin_altivec_abs_v16qi(vector signed char a1); -extern vector signed char __builtin_altivec_abss_v16qi(vector signed char a1); -extern vector signed char __builtin_altivec_lvebx(OFFSET_T a1, const void * a2); -extern vector signed char __builtin_altivec_vaddsbs(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vaddubm(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vavgsb(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vmaxsb(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vminsb(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vpkshss(vector signed short a1, vector signed short a2); -extern vector signed char __builtin_altivec_vrlb(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vslb(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vspltisb(const int a1); -extern vector signed char __builtin_altivec_vsrab(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vsrb(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vsubsbs(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vsububm(vector signed char a1, vector signed char a2); -extern vector signed int __builtin_altivec_abs_v4si(vector signed int a1); -extern vector signed int __builtin_altivec_abss_v4si(vector signed int a1); -extern vector signed int __builtin_altivec_vaddsws(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vadduwm(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vavgsw(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vcmpbfp(vector float a1, vector float a2); -extern vector signed int __builtin_altivec_vctsxs(vector float a1, const int a2); -extern vector signed int __builtin_altivec_vmaxsw(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vminsw(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vmsummbm(vector signed char a1, vector signed char a2, vector signed int a3); -extern vector signed int __builtin_altivec_vmsumshm(vector signed short a1, vector signed short a2, vector signed int a3); -extern vector signed int __builtin_altivec_vmsumshs(vector signed short a1, vector signed short a2, vector signed int a3); -extern vector signed int __builtin_altivec_vmulesh(vector signed short a1, vector signed short a2); -extern vector signed int __builtin_altivec_vmulosh(vector signed short a1, vector signed short a2); -extern vector signed int __builtin_altivec_vrlw(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vslw(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vspltisw(const int a1); -extern vector signed int __builtin_altivec_vsraw(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vsrw(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vsubsws(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vsubuwm(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vsum2sws(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vsum4sbs(vector signed char a1, vector signed int a2); -extern vector signed int __builtin_altivec_vsum4shs(vector signed short a1, vector signed int a2); -extern vector signed int __builtin_altivec_vsumsws(vector signed int a1, vector signed int a2); -extern vector signed short __builtin_altivec_abs_v8hi(vector signed short a1); -extern vector signed short __builtin_altivec_abss_v8hi(vector signed short a1); -extern vector signed short __builtin_altivec_lvehx(OFFSET_T a1, const void * a2); -extern vector signed short __builtin_altivec_vaddshs(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vadduhm(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vavgsh(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vmaxsh(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vmhaddshs(vector signed short a1, vector signed short a2, vector signed short a3); -extern vector signed short __builtin_altivec_vmhraddshs(vector signed short a1, vector signed short a2, vector signed short a3); -extern vector signed short __builtin_altivec_vminsh(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vmladduhm(vector signed short a1, vector signed short a2, vector signed short a3); -extern vector signed short __builtin_altivec_vmulesb(vector signed char a1, vector signed char a2); -extern vector signed short __builtin_altivec_vmuleub(vector signed char a1, vector signed char a2); -extern vector signed short __builtin_altivec_vmulosb(vector signed char a1, vector signed char a2); -extern vector signed short __builtin_altivec_vpkswss(vector signed int a1, vector signed int a2); -extern vector signed short __builtin_altivec_vrlh(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vslh(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vspltish(const int a1); -extern vector signed short __builtin_altivec_vsrah(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vsrh(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vsubshs(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vsubuhm(vector signed short a1, vector signed short a2); -extern vector unsigned char __builtin_altivec_lvlx(OFFSET_T a1, const void * a2); -extern vector unsigned char __builtin_altivec_lvlxl(OFFSET_T a1, const void * a2); -extern vector unsigned char __builtin_altivec_lvrx(OFFSET_T a1, const void * a2); -extern vector unsigned char __builtin_altivec_lvrxl(OFFSET_T a1, const void * a2); -extern vector unsigned char __builtin_altivec_lvsl(OFFSET_T a1, const void * a2); -extern vector unsigned char __builtin_altivec_lvsr(OFFSET_T a1, const void * a2); -extern vector unsigned char __builtin_altivec_vaddubs(vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_altivec_vavgub(vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_altivec_vmaxub(vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_altivec_vminub(vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_altivec_vpkshus(vector signed short a1, vector signed short a2); -extern vector unsigned char __builtin_altivec_vpkuhus(vector signed short a1, vector signed short a2); -extern vector unsigned char __builtin_altivec_vsububs(vector signed char a1, vector signed char a2); -extern vector unsigned int __builtin_altivec_vaddcuw(vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vadduws(vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vavguw(vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vctuxs(vector float a1, const int a2); -extern vector unsigned int __builtin_altivec_vmaxuw(vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vminuw(vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vmsumubm(vector signed char a1, vector signed char a2, vector signed int a3); -extern vector unsigned int __builtin_altivec_vmsumuhm(vector signed short a1, vector signed short a2, vector signed int a3); -extern vector unsigned int __builtin_altivec_vmsumuhs(vector signed short a1, vector signed short a2, vector signed int a3); -extern vector unsigned int __builtin_altivec_vmuleuh(vector signed short a1, vector signed short a2); -extern vector unsigned int __builtin_altivec_vmulouh(vector signed short a1, vector signed short a2); -extern vector unsigned int __builtin_altivec_vsubcuw(vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vsubuws(vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vsum4ubs(vector signed char a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vupkhpx(vector signed short a1); -extern vector unsigned int __builtin_altivec_vupklpx(vector signed short a1); -extern vector unsigned short __builtin_altivec_mfvscr(); -extern vector unsigned short __builtin_altivec_vadduhs(vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_altivec_vavguh(vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_altivec_vmaxuh(vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_altivec_vminuh(vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_altivec_vmuloub(vector signed char a1, vector signed char a2); -extern vector unsigned short __builtin_altivec_vpkswus(vector signed int a1, vector signed int a2); -extern vector unsigned short __builtin_altivec_vpkuwus(vector signed int a1, vector signed int a2); -extern vector unsigned short __builtin_altivec_vsubuhs(vector signed short a1, vector signed short a2); -extern void __builtin_altivec_dss(int a1); -extern void __builtin_altivec_dssall(); -extern void __builtin_altivec_dst(const void *a1, OFFSET_T a2, const int a3); -extern void __builtin_altivec_dstst(const void *a1, OFFSET_T a2, const int a3); -extern void __builtin_altivec_dststt(const void *a1, OFFSET_T a2, const int a3); -extern void __builtin_altivec_dstt(const void *a1, OFFSET_T a2, const int a3); -extern void __builtin_altivec_mtvscr(vector signed int a1); -#ifdef __coverity_cplusplus -extern void __builtin_altivec_stvebx(vector signed char a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvehx(vector signed short a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvewx(vector signed int a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvlx(vector signed char a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvlxl(vector signed char a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvrx(vector signed char a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvrxl(vector signed char a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvx(vector signed int a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvxl(vector signed int a1, OFFSET_T a2, const void * a3); -extern vector bool char __builtin_altivec_vsel_4sf(vector float a1, vector float a2, vector float a3); -extern vector bool char __builtin_altivec_vsel_4sf(vector float a1, vector float a2, vector signed int a3); -#else -extern void __builtin_altivec_stvebx(); -extern void __builtin_altivec_stvehx(); -extern void __builtin_altivec_stvewx(); -extern void __builtin_altivec_stvlx(); -extern void __builtin_altivec_stvlxl(); -extern void __builtin_altivec_stvrx(); -extern void __builtin_altivec_stvrxl(); -extern void __builtin_altivec_stvx(); -extern void __builtin_altivec_stvxl(); -extern __coverity_generic_altivec_vector __builtin_altivec_vsel_4sf(); -#endif -#endif /* __ALTIVEC__ */ -/* - Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. - The information contained in this file is the proprietary and confidential - information of Synopsys, Inc. and its licensors, and is supplied subject to, - and may be used only by Synopsys customers in accordance with the terms and - conditions of a previously executed license agreement between Synopsys and - that customer. -*/ - -/* - * These declarations are used to implement various sanitizer modes. They are - * not supported intrinsically by cov-emit. - */ - -// -fsanitize-coverage=trace-cmp -void __asan_after_dynamic_init(void); -void __asan_handle_no_return(void); -void __asan_init(void); -void __asan_version_mismatch_check_v8(void); -void __builtin___asan_after_dynamic_init(void); -void __builtin___asan_handle_no_return(void); -void __builtin___asan_init(void); -void __builtin___asan_version_mismatch_check_v8(void); -void __builtin___sanitizer_cov_trace_pc(void); -void __builtin___tsan_init(void); -void __sanitizer_cov_trace_pc(void); -void __tsan_init(void); -void __asan_alloca_poison(void*, long int); -void __asan_allocas_unpoison(void*, long int); -void __asan_before_dynamic_init(const void*); -void __asan_load1(void*); -void __asan_load16(void*); -void __asan_load16_noabort(void*); -void __asan_load1_noabort(void*); -void __asan_load2(void*); -void __asan_load2_noabort(void*); -void __asan_load4(void*); -void __asan_load4_noabort(void*); -void __asan_load8(void*); -void __asan_load8_noabort(void*); -void __asan_loadN(void*, long int); -void __asan_loadN_noabort(void*, long int); -void __asan_poison_stack_memory(void*, long int); -void __asan_register_globals(void*, long int); -void __asan_report_load1(void*); -void __asan_report_load16(void*); -void __asan_report_load16_noabort(void*); -void __asan_report_load1_noabort(void*); -void __asan_report_load2(void*); -void __asan_report_load2_noabort(void*); -void __asan_report_load4(void*); -void __asan_report_load4_noabort(void*); -void __asan_report_load8(void*); -void __asan_report_load8_noabort(void*); -void __asan_report_load_n(void*, long int); -void __asan_report_load_n_noabort(void*, long int); -void __asan_report_store1(void*); -void __asan_report_store16(void*); -void __asan_report_store16_noabort(void*); -void __asan_report_store1_noabort(void*); -void __asan_report_store2(void*); -void __asan_report_store2_noabort(void*); -void __asan_report_store4(void*); -void __asan_report_store4_noabort(void*); -void __asan_report_store8(void*); -void __asan_report_store8_noabort(void*); -void __asan_report_store_n(void*, long int); -void __asan_report_store_n_noabort(void*, long int); -void __asan_store1(void*); -void __asan_store16(void*); -void __asan_store16_noabort(void*); -void __asan_store1_noabort(void*); -void __asan_store2(void*); -void __asan_store2_noabort(void*); -void __asan_store4(void*); -void __asan_store4_noabort(void*); -void __asan_store8(void*); -void __asan_store8_noabort(void*); -void __asan_storeN(void*, long int); -void __asan_storeN_noabort(void*, long int); -void __asan_unpoison_stack_memory(void*, long int); -void __asan_unregister_globals(void*, long int); -void __builtin___asan_alloca_poison(void*, long int); -void __builtin___asan_allocas_unpoison(void*, long int); -void __builtin___asan_before_dynamic_init(const void*); -void __builtin___asan_load1(void*); -void __builtin___asan_load16(void*); -void __builtin___asan_load16_noabort(void*); -void __builtin___asan_load1_noabort(void*); -void __builtin___asan_load2(void*); -void __builtin___asan_load2_noabort(void*); -void __builtin___asan_load4(void*); -void __builtin___asan_load4_noabort(void*); -void __builtin___asan_load8(void*); -void __builtin___asan_load8_noabort(void*); -void __builtin___asan_loadN(void*, long int); -void __builtin___asan_loadN_noabort(void*, long int); -void __builtin___asan_poison_stack_memory(void*, long int); -void __builtin___asan_register_globals(void*, long int); -void __builtin___asan_report_load1(void*); -void __builtin___asan_report_load16(void*); -void __builtin___asan_report_load16_noabort(void*); -void __builtin___asan_report_load1_noabort(void*); -void __builtin___asan_report_load2(void*); -void __builtin___asan_report_load2_noabort(void*); -void __builtin___asan_report_load4(void*); -void __builtin___asan_report_load4_noabort(void*); -void __builtin___asan_report_load8(void*); -void __builtin___asan_report_load8_noabort(void*); -void __builtin___asan_report_load_n(void*, long int); -void __builtin___asan_report_load_n_noabort(void*, long int); -void __builtin___asan_report_store1(void*); -void __builtin___asan_report_store16(void*); -void __builtin___asan_report_store16_noabort(void*); -void __builtin___asan_report_store1_noabort(void*); -void __builtin___asan_report_store2(void*); -void __builtin___asan_report_store2_noabort(void*); -void __builtin___asan_report_store4(void*); -void __builtin___asan_report_store4_noabort(void*); -void __builtin___asan_report_store8(void*); -void __builtin___sanitizer_cov_trace_cmp2(short unsigned int, short unsigned int); -void __builtin___sanitizer_cov_trace_cmp4(unsigned int, unsigned int); -void __builtin___sanitizer_cov_trace_cmp8(long unsigned int, long unsigned int); -void __builtin___sanitizer_cov_trace_cmpd(double, double); -void __builtin___sanitizer_cov_trace_cmpf(float, float); -void __builtin___sanitizer_cov_trace_const_cmp1(unsigned char, unsigned char); -void __builtin___sanitizer_cov_trace_const_cmp2(short unsigned int, short unsigned int); -void __builtin___sanitizer_cov_trace_const_cmp4(unsigned int, unsigned int); -void __builtin___sanitizer_cov_trace_const_cmp8(long unsigned int, long unsigned int); -void __builtin___sanitizer_cov_trace_switch(long unsigned int, void*); -void __builtin___sanitizer_ptr_cmp(void*, long int); -void __builtin___sanitizer_ptr_sub(void*, long int); - -void __builtin___hwasan_handle_longjmp(const void*); -void __builtin___hwasan_load1(void*); -void __builtin___hwasan_load16(void*); -void __builtin___hwasan_load16_noabort(void*); -void __builtin___hwasan_load1_noabort(void*); -void __builtin___hwasan_load2(void*); -void __builtin___hwasan_load2_noabort(void*); -void __builtin___hwasan_load4(void*); -void __builtin___hwasan_load4_noabort(void*); -void __builtin___hwasan_load8(void*); -void __builtin___hwasan_load8_noabort(void*); -void __builtin___hwasan_loadN(void*, long int); -void __builtin___hwasan_loadN_noabort(void*, long int); -void __builtin___hwasan_store1(void*); -void __builtin___hwasan_store16(void*); -void __builtin___hwasan_store16_noabort(void*); -void __builtin___hwasan_store1_noabort(void*); -void __builtin___hwasan_store2(void*); -void __builtin___hwasan_store2_noabort(void*); -void __builtin___hwasan_store4(void*); -void __builtin___hwasan_store4_noabort(void*); -void __builtin___hwasan_store8(void*); -void __builtin___hwasan_store8_noabort(void*); -void __builtin___hwasan_storeN(void*, long int); -void __builtin___hwasan_storeN_noabort(void*, long int); -void __builtin___hwasan_tag_memory(void*, unsigned char, long int); -void __builtin___hwasan_tag_mismatch4(void*); -void* __builtin___hwasan_tag_pointer(const void*, unsigned char); -void __builtin___tsan_volatile_read1(void*); -void __builtin___tsan_volatile_read16(void*); -void __builtin___tsan_volatile_read2(void*); -void __builtin___tsan_volatile_read4(void*); -void __builtin___tsan_volatile_read8(void*); -void __builtin___tsan_volatile_write1(void*); -void __builtin___tsan_volatile_write16(void*); -void __builtin___tsan_volatile_write2(void*); -void __builtin___tsan_volatile_write4(void*); -void __builtin___tsan_volatile_write8(void*); -void __hwasan_handle_longjmp(const void*); -void __hwasan_load1(void*); -void __hwasan_load16(void*); -void __hwasan_load16_noabort(void*); -void __hwasan_load1_noabort(void*); -void __hwasan_load2(void*); -void __hwasan_load2_noabort(void*); -void __hwasan_load4(void*); -void __hwasan_load4_noabort(void*); -void __hwasan_load8(void*); -void __hwasan_load8_noabort(void*); -void __hwasan_loadN(void*, long int); -void __hwasan_loadN_noabort(void*, long int); -void __hwasan_store1(void*); -void __hwasan_store16(void*); -void __hwasan_store16_noabort(void*); -void __hwasan_store1_noabort(void*); -void __hwasan_store2(void*); -void __hwasan_store2_noabort(void*); -void __hwasan_store4(void*); -void __hwasan_store4_noabort(void*); -void __hwasan_store8(void*); -void __hwasan_store8_noabort(void*); -void __hwasan_storeN(void*, long int); -void __hwasan_storeN_noabort(void*, long int); -void __hwasan_tag_memory(void*, unsigned char, long int); -void __hwasan_tag_mismatch4(void*); -void* __hwasan_tag_pointer(const void*, unsigned char); -void __tsan_volatile_read1(void*); -void __tsan_volatile_read16(void*); -void __tsan_volatile_read2(void*); -void __tsan_volatile_read4(void*); -void __tsan_volatile_read8(void*); -void __tsan_volatile_write1(void*); -void __tsan_volatile_write16(void*); -void __tsan_volatile_write2(void*); -void __tsan_volatile_write4(void*); -void __tsan_volatile_write8(void*); -void __builtin___hwasan_init(void); -void __hwasan_init(void); - -#if defined(__SIZEOF_INT128__) -__edg_bool_type__ __builtin___tsan_atomic128_compare_exchange_strong(volatile void*, void*, __int128 unsigned, int, int); -__edg_bool_type__ __builtin___tsan_atomic128_compare_exchange_weak(volatile void*, void*, __int128 unsigned, int, int); -__int128 unsigned __builtin___tsan_atomic128_exchange(volatile void*, __int128 unsigned, int); -__int128 unsigned __builtin___tsan_atomic128_fetch_add(volatile void*, __int128 unsigned, int); -__int128 unsigned __builtin___tsan_atomic128_fetch_and(volatile void*, __int128 unsigned, int); -__int128 unsigned __builtin___tsan_atomic128_fetch_nand(volatile void*, __int128 unsigned, int); -__int128 unsigned __builtin___tsan_atomic128_fetch_or(volatile void*, __int128 unsigned, int); -__int128 unsigned __builtin___tsan_atomic128_fetch_sub(volatile void*, __int128 unsigned, int); -__int128 unsigned __builtin___tsan_atomic128_fetch_xor(volatile void*, __int128 unsigned, int); -__int128 unsigned __builtin___tsan_atomic128_load(const volatile void*, int); -void __builtin___tsan_atomic128_store(volatile void*, __int128 unsigned, int); -__edg_bool_type__ __tsan_atomic128_compare_exchange_strong(volatile void*, void*, __int128 unsigned, int, int); -__edg_bool_type__ __tsan_atomic128_compare_exchange_weak(volatile void*, void*, __int128 unsigned, int, int); -__int128 unsigned __tsan_atomic128_exchange(volatile void*, __int128 unsigned, int); -__int128 unsigned __tsan_atomic128_fetch_add(volatile void*, __int128 unsigned, int); -__int128 unsigned __tsan_atomic128_fetch_and(volatile void*, __int128 unsigned, int); -__int128 unsigned __tsan_atomic128_fetch_nand(volatile void*, __int128 unsigned, int); -__int128 unsigned __tsan_atomic128_fetch_or(volatile void*, __int128 unsigned, int); -__int128 unsigned __tsan_atomic128_fetch_sub(volatile void*, __int128 unsigned, int); -__int128 unsigned __tsan_atomic128_fetch_xor(volatile void*, __int128 unsigned, int); -__int128 unsigned __tsan_atomic128_load(const volatile void*, int); -void __tsan_atomic128_store(volatile void*, __int128 unsigned, int); - -__int128 unsigned __builtin_bswap128(__int128 unsigned); -#endif /* defined(__SIZEOF_INT128__) */ - -__edg_bool_type__ __builtin___tsan_atomic16_compare_exchange_strong(volatile void*, void*, short unsigned int, int, int); -__edg_bool_type__ __builtin___tsan_atomic16_compare_exchange_weak(volatile void*, void*, short unsigned int, int, int); -short unsigned int __builtin___tsan_atomic16_exchange(volatile void*, short unsigned int, int); -short unsigned int __builtin___tsan_atomic16_fetch_add(volatile void*, short unsigned int, int); -short unsigned int __builtin___tsan_atomic16_fetch_and(volatile void*, short unsigned int, int); -short unsigned int __builtin___tsan_atomic16_fetch_nand(volatile void*, short unsigned int, int); -short unsigned int __builtin___tsan_atomic16_fetch_or(volatile void*, short unsigned int, int); -short unsigned int __builtin___tsan_atomic16_fetch_sub(volatile void*, short unsigned int, int); -short unsigned int __builtin___tsan_atomic16_fetch_xor(volatile void*, short unsigned int, int); -short unsigned int __builtin___tsan_atomic16_load(const volatile void*, int); -void __builtin___tsan_atomic16_store(volatile void*, short unsigned int, int); -__edg_bool_type__ __builtin___tsan_atomic32_compare_exchange_strong(volatile void*, void*, unsigned int, int, int); -__edg_bool_type__ __builtin___tsan_atomic32_compare_exchange_weak(volatile void*, void*, unsigned int, int, int); -unsigned int __builtin___tsan_atomic32_exchange(volatile void*, unsigned int, int); -unsigned int __builtin___tsan_atomic32_fetch_add(volatile void*, unsigned int, int); -unsigned int __builtin___tsan_atomic32_fetch_and(volatile void*, unsigned int, int); -unsigned int __builtin___tsan_atomic32_fetch_nand(volatile void*, unsigned int, int); -unsigned int __builtin___tsan_atomic32_fetch_or(volatile void*, unsigned int, int); -unsigned int __builtin___tsan_atomic32_fetch_sub(volatile void*, unsigned int, int); -unsigned int __builtin___tsan_atomic32_fetch_xor(volatile void*, unsigned int, int); -unsigned int __builtin___tsan_atomic32_load(const volatile void*, int); -void __builtin___tsan_atomic32_store(volatile void*, unsigned int, int); -__edg_bool_type__ __builtin___tsan_atomic64_compare_exchange_strong(volatile void*, void*, long unsigned int, int, int); -__edg_bool_type__ __builtin___tsan_atomic64_compare_exchange_weak(volatile void*, void*, long unsigned int, int, int); -long unsigned int __builtin___tsan_atomic64_exchange(volatile void*, long unsigned int, int); -long unsigned int __builtin___tsan_atomic64_fetch_add(volatile void*, long unsigned int, int); -long unsigned int __builtin___tsan_atomic64_fetch_and(volatile void*, long unsigned int, int); -long unsigned int __builtin___tsan_atomic64_fetch_nand(volatile void*, long unsigned int, int); -long unsigned int __builtin___tsan_atomic64_fetch_or(volatile void*, long unsigned int, int); -long unsigned int __builtin___tsan_atomic64_fetch_sub(volatile void*, long unsigned int, int); -long unsigned int __builtin___tsan_atomic64_fetch_xor(volatile void*, long unsigned int, int); -long unsigned int __builtin___tsan_atomic64_load(const volatile void*, int); -void __builtin___tsan_atomic64_store(volatile void*, long unsigned int, int); -__edg_bool_type__ __builtin___tsan_atomic8_compare_exchange_strong(volatile void*, void*, unsigned char, int, int); -__edg_bool_type__ __builtin___tsan_atomic8_compare_exchange_weak(volatile void*, void*, unsigned char, int, int); -unsigned char __builtin___tsan_atomic8_exchange(volatile void*, unsigned char, int); -unsigned char __builtin___tsan_atomic8_fetch_add(volatile void*, unsigned char, int); -unsigned char __builtin___tsan_atomic8_fetch_and(volatile void*, unsigned char, int); -unsigned char __builtin___tsan_atomic8_fetch_nand(volatile void*, unsigned char, int); -unsigned char __builtin___tsan_atomic8_fetch_or(volatile void*, unsigned char, int); -unsigned char __builtin___tsan_atomic8_fetch_sub(volatile void*, unsigned char, int); -unsigned char __builtin___tsan_atomic8_fetch_xor(volatile void*, unsigned char, int); -unsigned char __builtin___tsan_atomic8_load(const volatile void*, int); -void __builtin___tsan_atomic8_store(volatile void*, unsigned char, int); -void __builtin___tsan_atomic_signal_fence(int); -void __builtin___tsan_atomic_thread_fence(int); -void __builtin___tsan_func_entry(void*); -void __builtin___tsan_func_exit(void*); -void __builtin___tsan_read1(void*); -void __builtin___tsan_read16(void*); -void __builtin___tsan_read2(void*); -void __builtin___tsan_read4(void*); -void __builtin___tsan_read8(void*); -void __builtin___tsan_read_range(void*, long int); -#if __COVERITY_GCC_VERSION_AT_LEAST(5, 1) -void __builtin___tsan_vptr_update(void*, void*); -void __tsan_vptr_update(void*, void*); -#else -void __tsan_vptr_update(void*); -void __builtin___tsan_vptr_update(void*); -#endif -void __builtin___tsan_write1(void*); -void __builtin___tsan_write16(void*); -void __builtin___tsan_write2(void*); -void __builtin___tsan_write4(void*); -void __builtin___tsan_write8(void*); -void __builtin___tsan_write_range(void*, long int); -void __builtin___ubsan_handle_add_overflow(void*, void*, void*); -void __builtin___ubsan_handle_add_overflow_abort(void*, void*, void*); -void __builtin___ubsan_handle_builtin_unreachable(void*); -void __builtin___ubsan_handle_divrem_overflow(void*, void*, void*); -void __builtin___ubsan_handle_divrem_overflow_abort(void*, void*, void*); -void __builtin___ubsan_handle_dynamic_type_cache_miss(void*, void*, void*); -void __builtin___ubsan_handle_dynamic_type_cache_miss_abort(void*, void*, void*); -void __builtin___ubsan_handle_float_cast_overflow(void*, void*); -void __builtin___ubsan_handle_float_cast_overflow_abort(void*, void*); -void __builtin___ubsan_handle_invalid_builtin(void*); -void __builtin___ubsan_handle_invalid_builtin_abort(void*); -void __builtin___ubsan_handle_load_invalid_value(void*, void*); -void __builtin___ubsan_handle_load_invalid_value_abort(void*, void*); -void __builtin___ubsan_handle_missing_return(void*); -void __builtin___ubsan_handle_mul_overflow(void*, void*, void*); -void __builtin___ubsan_handle_mul_overflow_abort(void*, void*, void*); -void __builtin___ubsan_handle_negate_overflow(void*, void*); -void __builtin___ubsan_handle_negate_overflow_abort(void*, void*); -#if __COVERITY_GCC_VERSION_AT_LEAST(6, 0) -void __builtin___ubsan_handle_nonnull_arg(void*); -void __builtin___ubsan_handle_nonnull_arg_abort(void*); -void __ubsan_handle_nonnull_arg(void*); -void __ubsan_handle_nonnull_arg_abort(void*); -#else -void __ubsan_handle_nonnull_arg(void*, int); -void __ubsan_handle_nonnull_arg_abort(void*, int); -void __builtin___ubsan_handle_nonnull_arg(void*, int); -void __builtin___ubsan_handle_nonnull_arg_abort(void*, int); -#endif -void __builtin___ubsan_handle_nonnull_return_v1(void*, void*); -void __builtin___ubsan_handle_nonnull_return_v1_abort(void*, void*); -void __builtin___ubsan_handle_out_of_bounds(void*, void*); -void __builtin___ubsan_handle_out_of_bounds_abort(void*, void*); -void __builtin___ubsan_handle_pointer_overflow(void*, void*, void*); -void __builtin___ubsan_handle_pointer_overflow_abort(void*, void*, void*); -void __builtin___ubsan_handle_shift_out_of_bounds(void*, void*, void*); -void __builtin___ubsan_handle_shift_out_of_bounds_abort(void*, void*, void*); -void __builtin___ubsan_handle_sub_overflow(void*, void*, void*); -void __builtin___ubsan_handle_sub_overflow_abort(void*, void*, void*); -void __builtin___ubsan_handle_type_mismatch_v1(void*, void*); -void __builtin___ubsan_handle_type_mismatch_v1_abort(void*, void*); -void __builtin___ubsan_handle_vla_bound_not_positive(void*, void*); -void __builtin___ubsan_handle_vla_bound_not_positive_abort(void*, void*); -void __sanitizer_cov_trace_cmp1(unsigned char, unsigned char); -void __sanitizer_cov_trace_cmp2(short unsigned int, short unsigned int); -void __sanitizer_cov_trace_cmp4(unsigned int, unsigned int); -void __sanitizer_cov_trace_cmp8(long unsigned int, long unsigned int); -void __sanitizer_cov_trace_cmpd(double, double); -void __sanitizer_cov_trace_cmpf(float, float); -void __sanitizer_cov_trace_const_cmp1(unsigned char, unsigned char); -void __sanitizer_cov_trace_const_cmp2(short unsigned int, short unsigned int); -void __sanitizer_cov_trace_const_cmp4(unsigned int, unsigned int); -void __sanitizer_cov_trace_const_cmp8(long unsigned int, long unsigned int); -void __sanitizer_cov_trace_switch(long unsigned int, void*); -void __sanitizer_ptr_cmp(void*, long int); -void __sanitizer_ptr_sub(void*, long int); -__edg_bool_type__ __tsan_atomic16_compare_exchange_strong(volatile void*, void*, short unsigned int, int, int); -__edg_bool_type__ __tsan_atomic16_compare_exchange_weak(volatile void*, void*, short unsigned int, int, int); -short unsigned int __tsan_atomic16_exchange(volatile void*, short unsigned int, int); -short unsigned int __tsan_atomic16_fetch_add(volatile void*, short unsigned int, int); -short unsigned int __tsan_atomic16_fetch_and(volatile void*, short unsigned int, int); -short unsigned int __tsan_atomic16_fetch_nand(volatile void*, short unsigned int, int); -short unsigned int __tsan_atomic16_fetch_or(volatile void*, short unsigned int, int); -short unsigned int __tsan_atomic16_fetch_sub(volatile void*, short unsigned int, int); -short unsigned int __tsan_atomic16_fetch_xor(volatile void*, short unsigned int, int); -short unsigned int __tsan_atomic16_load(const volatile void*, int); -void __tsan_atomic16_store(volatile void*, short unsigned int, int); -__edg_bool_type__ __tsan_atomic32_compare_exchange_strong(volatile void*, void*, unsigned int, int, int); -__edg_bool_type__ __tsan_atomic32_compare_exchange_weak(volatile void*, void*, unsigned int, int, int); -unsigned int __tsan_atomic32_exchange(volatile void*, unsigned int, int); -unsigned int __tsan_atomic32_fetch_add(volatile void*, unsigned int, int); -unsigned int __tsan_atomic32_fetch_and(volatile void*, unsigned int, int); -unsigned int __tsan_atomic32_fetch_nand(volatile void*, unsigned int, int); -unsigned int __tsan_atomic32_fetch_or(volatile void*, unsigned int, int); -unsigned int __tsan_atomic32_fetch_sub(volatile void*, unsigned int, int); -unsigned int __tsan_atomic32_fetch_xor(volatile void*, unsigned int, int); -unsigned int __tsan_atomic32_load(const volatile void*, int); -void __tsan_atomic32_store(volatile void*, unsigned int, int); -__edg_bool_type__ __tsan_atomic64_compare_exchange_strong(volatile void*, void*, long unsigned int, int, int); -__edg_bool_type__ __tsan_atomic64_compare_exchange_weak(volatile void*, void*, long unsigned int, int, int); -long unsigned int __tsan_atomic64_exchange(volatile void*, long unsigned int, int); -long unsigned int __tsan_atomic64_fetch_add(volatile void*, long unsigned int, int); -long unsigned int __tsan_atomic64_fetch_and(volatile void*, long unsigned int, int); -long unsigned int __tsan_atomic64_fetch_nand(volatile void*, long unsigned int, int); -long unsigned int __tsan_atomic64_fetch_or(volatile void*, long unsigned int, int); -long unsigned int __tsan_atomic64_fetch_sub(volatile void*, long unsigned int, int); -long unsigned int __tsan_atomic64_fetch_xor(volatile void*, long unsigned int, int); -long unsigned int __tsan_atomic64_load(const volatile void*, int); -void __tsan_atomic64_store(volatile void*, long unsigned int, int); -__edg_bool_type__ __tsan_atomic8_compare_exchange_strong(volatile void*, void*, unsigned char, int, int); -__edg_bool_type__ __tsan_atomic8_compare_exchange_weak(volatile void*, void*, unsigned char, int, int); -unsigned char __tsan_atomic8_exchange(volatile void*, unsigned char, int); -unsigned char __tsan_atomic8_fetch_add(volatile void*, unsigned char, int); -unsigned char __tsan_atomic8_fetch_and(volatile void*, unsigned char, int); -unsigned char __tsan_atomic8_fetch_nand(volatile void*, unsigned char, int); -unsigned char __tsan_atomic8_fetch_or(volatile void*, unsigned char, int); -unsigned char __tsan_atomic8_fetch_sub(volatile void*, unsigned char, int); -unsigned char __tsan_atomic8_fetch_xor(volatile void*, unsigned char, int); -unsigned char __tsan_atomic8_load(const volatile void*, int); -void __tsan_atomic8_store(volatile void*, unsigned char, int); -void __tsan_atomic_signal_fence(int); -void __tsan_atomic_thread_fence(int); -void __tsan_func_entry(void*); -void __tsan_func_exit(void*); -void __tsan_read1(void*); -void __tsan_read16(void*); -void __tsan_read2(void*); -void __tsan_read4(void*); -void __tsan_read8(void*); -void __tsan_read_range(void*, long int); -void __tsan_write1(void*); -void __tsan_write16(void*); -void __tsan_write2(void*); -void __tsan_write4(void*); -void __tsan_write8(void*); -void __tsan_write_range(void*, long int); -void __ubsan_handle_add_overflow(void*, void*, void*); -void __ubsan_handle_add_overflow_abort(void*, void*, void*); -void __ubsan_handle_builtin_unreachable(void*); -void __ubsan_handle_divrem_overflow(void*, void*, void*); -void __ubsan_handle_divrem_overflow_abort(void*, void*, void*); -void __ubsan_handle_dynamic_type_cache_miss(void*, void*, void*); -void __ubsan_handle_dynamic_type_cache_miss_abort(void*, void*, void*); -void __ubsan_handle_float_cast_overflow(void*, void*); -void __ubsan_handle_float_cast_overflow_abort(void*, void*); -void __ubsan_handle_invalid_builtin(void*); -void __ubsan_handle_invalid_builtin_abort(void*); -void __ubsan_handle_load_invalid_value(void*, void*); -void __ubsan_handle_load_invalid_value_abort(void*, void*); -void __ubsan_handle_missing_return(void*); -void __ubsan_handle_mul_overflow(void*, void*, void*); -void __ubsan_handle_mul_overflow_abort(void*, void*, void*); -void __ubsan_handle_negate_overflow(void*, void*); -void __ubsan_handle_negate_overflow_abort(void*, void*); -void __ubsan_handle_nonnull_return_v1(void*, void*); -void __ubsan_handle_nonnull_return_v1_abort(void*, void*); -void __ubsan_handle_out_of_bounds(void*, void*); -void __ubsan_handle_out_of_bounds_abort(void*, void*); -void __ubsan_handle_pointer_overflow(void*, void*, void*); -void __ubsan_handle_pointer_overflow_abort(void*, void*, void*); -void __ubsan_handle_shift_out_of_bounds(void*, void*, void*); -void __ubsan_handle_shift_out_of_bounds_abort(void*, void*, void*); -void __ubsan_handle_sub_overflow(void*, void*, void*); -void __ubsan_handle_sub_overflow_abort(void*, void*, void*); -void __ubsan_handle_type_mismatch_v1(void*, void*); -void __ubsan_handle_type_mismatch_v1_abort(void*, void*); -void __ubsan_handle_vla_bound_not_positive(void*, void*); -void __ubsan_handle_vla_bound_not_positive_abort(void*, void*); - -/* Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. */ - -/* - * These declarations are used to support Windows targets. They are not - * supported intrinsically by cov-emit. - */ - -#if __COVERITY_GCC_VERSION_AT_LEAST(4, 4) -#define __builtin_ms_va_list __builtin_va_list -#define __builtin_ms_va_copy __builtin_va_copy -#define __builtin_ms_va_start __builtin_va_start -#define __builtin_ms_va_end __builtin_va_end - -#define __builtin_sysv_va_list __builtin_va_list -#define __builtin_sysv_va_copy __builtin_va_copy -#define __builtin_sysv_va_start __builtin_va_start -#define __builtin_sysv_va_end __builtin_va_end - -#define __ms_va_copy(__d,__s) __builtin_ms_va_copy(__d,__s) -#define __ms_va_start(__v,__l) __builtin_ms_va_start(__v,__l) -#define __ms_va_arg(__v,__l) __builtin_va_arg(__v,__l) -#define __ms_va_end(__v) __builtin_ms_va_end(__v) - -#define __sysv_va_copy(__d,__s) __builtin_sysv_va_copy(__d,__s) -#define __sysv_va_start(__v,__l) __builtin_sysv_va_start(__v,__l) -#define __sysv_va_arg(__v,__l) __builtin_va_arg(__v,__l) -#define __sysv_va_end(__v) __builtin_sysv_va_end(__v) -#endif /* GCC >= 4.4 */ - -#pragma builtin end -#endif /* COVERITY_COMPAT_78500a2f2d31ccbe7af41d295f2190b8 */ -#endif /* __COVERITY__ */ diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity-macro-compat.h b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity-macro-compat.h deleted file mode 100644 index dd0854e36..000000000 --- a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity-macro-compat.h +++ /dev/null @@ -1,1084 +0,0 @@ - -#if !(defined(__SSP_STRONG__) || defined(__coverity_undefine___SSP_STRONG__)) -#define __SSP_STRONG__ 3 -#endif -#if !(defined(__DBL_MIN_EXP__) || defined(__coverity_undefine___DBL_MIN_EXP__)) -#define __DBL_MIN_EXP__ (-1021) -#endif -#if !(defined(__FLT32X_MAX_EXP__) || defined(__coverity_undefine___FLT32X_MAX_EXP__)) -#define __FLT32X_MAX_EXP__ 1024 -#endif -#if !(defined(__UINT_LEAST16_MAX__) || defined(__coverity_undefine___UINT_LEAST16_MAX__)) -#define __UINT_LEAST16_MAX__ 0xffff -#endif -#if !(defined(__ATOMIC_ACQUIRE) || defined(__coverity_undefine___ATOMIC_ACQUIRE)) -#define __ATOMIC_ACQUIRE 2 -#endif -#if !(defined(__FLT128_MAX_10_EXP__) || defined(__coverity_undefine___FLT128_MAX_10_EXP__)) -#define __FLT128_MAX_10_EXP__ 4932 -#endif -#if !(defined(__FLT_MIN__) || defined(__coverity_undefine___FLT_MIN__)) -#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F -#endif -#if !(defined(__GCC_IEC_559_COMPLEX) || defined(__coverity_undefine___GCC_IEC_559_COMPLEX)) -#define __GCC_IEC_559_COMPLEX 2 -#endif -#if !(defined(__UINT_LEAST8_TYPE__) || defined(__coverity_undefine___UINT_LEAST8_TYPE__)) -#define __UINT_LEAST8_TYPE__ unsigned char -#endif -#if !(defined(__SIZEOF_FLOAT80__) || defined(__coverity_undefine___SIZEOF_FLOAT80__)) -#define __SIZEOF_FLOAT80__ 16 -#endif -#if !(defined(__INTMAX_C) || defined(__coverity_undefine___INTMAX_C)) -#define __INTMAX_C(c) c ## L -#endif -#if !(defined(__CHAR_BIT__) || defined(__coverity_undefine___CHAR_BIT__)) -#define __CHAR_BIT__ 8 -#endif -#if !(defined(__UINT8_MAX__) || defined(__coverity_undefine___UINT8_MAX__)) -#define __UINT8_MAX__ 0xff -#endif -#if !(defined(__WINT_MAX__) || defined(__coverity_undefine___WINT_MAX__)) -#define __WINT_MAX__ 0xffffffffU -#endif -#if !(defined(__FLT32_MIN_EXP__) || defined(__coverity_undefine___FLT32_MIN_EXP__)) -#define __FLT32_MIN_EXP__ (-125) -#endif -#if !(defined(__ORDER_LITTLE_ENDIAN__) || defined(__coverity_undefine___ORDER_LITTLE_ENDIAN__)) -#define __ORDER_LITTLE_ENDIAN__ 1234 -#endif -#if !(defined(__SIZE_MAX__) || defined(__coverity_undefine___SIZE_MAX__)) -#define __SIZE_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__WCHAR_MAX__) || defined(__coverity_undefine___WCHAR_MAX__)) -#define __WCHAR_MAX__ 0x7fffffff -#endif -#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_1)) -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 -#endif -#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_2)) -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 -#endif -#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4)) -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 -#endif -#if !(defined(__DBL_DENORM_MIN__) || defined(__coverity_undefine___DBL_DENORM_MIN__)) -#define __DBL_DENORM_MIN__ ((double)4.94065645841246544176568792868221372e-324L) -#endif -#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_8)) -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 -#endif -#if !(defined(__GCC_ATOMIC_CHAR_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_CHAR_LOCK_FREE)) -#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 -#endif -#if !(defined(__GCC_IEC_559) || defined(__coverity_undefine___GCC_IEC_559)) -#define __GCC_IEC_559 2 -#endif -#if !(defined(__FLT32X_DECIMAL_DIG__) || defined(__coverity_undefine___FLT32X_DECIMAL_DIG__)) -#define __FLT32X_DECIMAL_DIG__ 17 -#endif -#if !(defined(__FLT_EVAL_METHOD__) || defined(__coverity_undefine___FLT_EVAL_METHOD__)) -#define __FLT_EVAL_METHOD__ 0 -#endif -#if !(defined(__unix__) || defined(__coverity_undefine___unix__)) -#define __unix__ 1 -#endif -#if !(defined(__FLT64_DECIMAL_DIG__) || defined(__coverity_undefine___FLT64_DECIMAL_DIG__)) -#define __FLT64_DECIMAL_DIG__ 17 -#endif -#if !(defined(__CET__) || defined(__coverity_undefine___CET__)) -#define __CET__ 3 -#endif -#if !(defined(__GCC_ATOMIC_CHAR32_T_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_CHAR32_T_LOCK_FREE)) -#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 -#endif -#if !(defined(__x86_64) || defined(__coverity_undefine___x86_64)) -#define __x86_64 1 -#endif -#if !(defined(__UINT_FAST64_MAX__) || defined(__coverity_undefine___UINT_FAST64_MAX__)) -#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__SIG_ATOMIC_TYPE__) || defined(__coverity_undefine___SIG_ATOMIC_TYPE__)) -#define __SIG_ATOMIC_TYPE__ int -#endif -#if !(defined(__DBL_MIN_10_EXP__) || defined(__coverity_undefine___DBL_MIN_10_EXP__)) -#define __DBL_MIN_10_EXP__ (-307) -#endif -#if !(defined(__FINITE_MATH_ONLY__) || defined(__coverity_undefine___FINITE_MATH_ONLY__)) -#define __FINITE_MATH_ONLY__ 0 -#endif -#if !(defined(__GNUC_PATCHLEVEL__) || defined(__coverity_undefine___GNUC_PATCHLEVEL__)) -#define __GNUC_PATCHLEVEL__ 0 -#endif -#if !(defined(__FLT32_HAS_DENORM__) || defined(__coverity_undefine___FLT32_HAS_DENORM__)) -#define __FLT32_HAS_DENORM__ 1 -#endif -#if !(defined(__UINT_FAST8_MAX__) || defined(__coverity_undefine___UINT_FAST8_MAX__)) -#define __UINT_FAST8_MAX__ 0xff -#endif -#if !(defined(__DEC64_MAX_EXP__) || defined(__coverity_undefine___DEC64_MAX_EXP__)) -#define __DEC64_MAX_EXP__ 385 -#endif -#if !(defined(__INT8_C) || defined(__coverity_undefine___INT8_C)) -#define __INT8_C(c) c -#endif -#if !(defined(__INT_LEAST8_WIDTH__) || defined(__coverity_undefine___INT_LEAST8_WIDTH__)) -#define __INT_LEAST8_WIDTH__ 8 -#endif -#if !(defined(__UINT_LEAST64_MAX__) || defined(__coverity_undefine___UINT_LEAST64_MAX__)) -#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__SHRT_MAX__) || defined(__coverity_undefine___SHRT_MAX__)) -#define __SHRT_MAX__ 0x7fff -#endif -#if !(defined(__LDBL_MAX__) || defined(__coverity_undefine___LDBL_MAX__)) -#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L -#endif -#if !(defined(__FLT64X_MAX_10_EXP__) || defined(__coverity_undefine___FLT64X_MAX_10_EXP__)) -#define __FLT64X_MAX_10_EXP__ 4932 -#endif -#if !(defined(__UINT_LEAST8_MAX__) || defined(__coverity_undefine___UINT_LEAST8_MAX__)) -#define __UINT_LEAST8_MAX__ 0xff -#endif -#if !(defined(__GCC_ATOMIC_BOOL_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_BOOL_LOCK_FREE)) -#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 -#endif -#if !(defined(__FLT128_DENORM_MIN__) || defined(__coverity_undefine___FLT128_DENORM_MIN__)) -#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128 -#endif -#if !(defined(__UINTMAX_TYPE__) || defined(__coverity_undefine___UINTMAX_TYPE__)) -#define __UINTMAX_TYPE__ long unsigned int -#endif -#if !(defined(__linux) || defined(__coverity_undefine___linux)) -#define __linux 1 -#endif -#if !(defined(__DEC32_EPSILON__) || defined(__coverity_undefine___DEC32_EPSILON__)) -#define __DEC32_EPSILON__ 1E-6DF -#endif -#if !(defined(__FLT_EVAL_METHOD_TS_18661_3__) || defined(__coverity_undefine___FLT_EVAL_METHOD_TS_18661_3__)) -#define __FLT_EVAL_METHOD_TS_18661_3__ 0 -#endif -#if !(defined(__unix) || defined(__coverity_undefine___unix)) -#define __unix 1 -#endif -#if !(defined(__UINT32_MAX__) || defined(__coverity_undefine___UINT32_MAX__)) -#define __UINT32_MAX__ 0xffffffffU -#endif -#if !(defined(__LDBL_MAX_EXP__) || defined(__coverity_undefine___LDBL_MAX_EXP__)) -#define __LDBL_MAX_EXP__ 16384 -#endif -#if !(defined(__FLT128_MIN_EXP__) || defined(__coverity_undefine___FLT128_MIN_EXP__)) -#define __FLT128_MIN_EXP__ (-16381) -#endif -#if !(defined(__WINT_MIN__) || defined(__coverity_undefine___WINT_MIN__)) -#define __WINT_MIN__ 0U -#endif -#if !(defined(__linux__) || defined(__coverity_undefine___linux__)) -#define __linux__ 1 -#endif -#if !(defined(__FLT128_MIN_10_EXP__) || defined(__coverity_undefine___FLT128_MIN_10_EXP__)) -#define __FLT128_MIN_10_EXP__ (-4931) -#endif -#if !(defined(__INT_LEAST16_WIDTH__) || defined(__coverity_undefine___INT_LEAST16_WIDTH__)) -#define __INT_LEAST16_WIDTH__ 16 -#endif -#if !(defined(__SCHAR_MAX__) || defined(__coverity_undefine___SCHAR_MAX__)) -#define __SCHAR_MAX__ 0x7f -#endif -#if !(defined(__FLT128_MANT_DIG__) || defined(__coverity_undefine___FLT128_MANT_DIG__)) -#define __FLT128_MANT_DIG__ 113 -#endif -#if !(defined(__WCHAR_MIN__) || defined(__coverity_undefine___WCHAR_MIN__)) -#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) -#endif -#if !(defined(__INT64_C) || defined(__coverity_undefine___INT64_C)) -#define __INT64_C(c) c ## L -#endif -#if !(defined(__DBL_DIG__) || defined(__coverity_undefine___DBL_DIG__)) -#define __DBL_DIG__ 15 -#endif -#if !(defined(__GCC_ATOMIC_POINTER_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_POINTER_LOCK_FREE)) -#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 -#endif -#if !(defined(__FLT64X_MANT_DIG__) || defined(__coverity_undefine___FLT64X_MANT_DIG__)) -#define __FLT64X_MANT_DIG__ 64 -#endif -#if !(defined(__SIZEOF_INT__) || defined(__coverity_undefine___SIZEOF_INT__)) -#define __SIZEOF_INT__ 4 -#endif -#if !(defined(__SIZEOF_POINTER__) || defined(__coverity_undefine___SIZEOF_POINTER__)) -#define __SIZEOF_POINTER__ 8 -#endif -#if !(defined(__USER_LABEL_PREFIX__) || defined(__coverity_undefine___USER_LABEL_PREFIX__)) -#define __USER_LABEL_PREFIX__ -#endif -#if !(defined(__FLT64X_EPSILON__) || defined(__coverity_undefine___FLT64X_EPSILON__)) -#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x -#endif -#if !(defined(__STDC_HOSTED__) || defined(__coverity_undefine___STDC_HOSTED__)) -#define __STDC_HOSTED__ 1 -#endif -#if !(defined(__LDBL_HAS_INFINITY__) || defined(__coverity_undefine___LDBL_HAS_INFINITY__)) -#define __LDBL_HAS_INFINITY__ 1 -#endif -#if !(defined(__FLT32_DIG__) || defined(__coverity_undefine___FLT32_DIG__)) -#define __FLT32_DIG__ 6 -#endif -#if !(defined(__FLT_EPSILON__) || defined(__coverity_undefine___FLT_EPSILON__)) -#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F -#endif -#if !(defined(__SHRT_WIDTH__) || defined(__coverity_undefine___SHRT_WIDTH__)) -#define __SHRT_WIDTH__ 16 -#endif -#if !(defined(__LDBL_MIN__) || defined(__coverity_undefine___LDBL_MIN__)) -#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L -#endif -#if !(defined(__DEC32_MAX__) || defined(__coverity_undefine___DEC32_MAX__)) -#define __DEC32_MAX__ 9.999999E96DF -#endif -#if !(defined(__FLT64X_DENORM_MIN__) || defined(__coverity_undefine___FLT64X_DENORM_MIN__)) -#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x -#endif -#if !(defined(__FLT32X_HAS_INFINITY__) || defined(__coverity_undefine___FLT32X_HAS_INFINITY__)) -#define __FLT32X_HAS_INFINITY__ 1 -#endif -#if !(defined(__INT32_MAX__) || defined(__coverity_undefine___INT32_MAX__)) -#define __INT32_MAX__ 0x7fffffff -#endif -#if !(defined(__INT_WIDTH__) || defined(__coverity_undefine___INT_WIDTH__)) -#define __INT_WIDTH__ 32 -#endif -#if !(defined(__SIZEOF_LONG__) || defined(__coverity_undefine___SIZEOF_LONG__)) -#define __SIZEOF_LONG__ 8 -#endif -#if !(defined(__STDC_IEC_559__) || defined(__coverity_undefine___STDC_IEC_559__)) -#define __STDC_IEC_559__ 1 -#endif -#if !(defined(__STDC_ISO_10646__) || defined(__coverity_undefine___STDC_ISO_10646__)) -#define __STDC_ISO_10646__ 201706L -#endif -#if !(defined(__UINT16_C) || defined(__coverity_undefine___UINT16_C)) -#define __UINT16_C(c) c -#endif -#if !(defined(__PTRDIFF_WIDTH__) || defined(__coverity_undefine___PTRDIFF_WIDTH__)) -#define __PTRDIFF_WIDTH__ 64 -#endif -#if !(defined(__DECIMAL_DIG__) || defined(__coverity_undefine___DECIMAL_DIG__)) -#define __DECIMAL_DIG__ 21 -#endif -#if !(defined(__FLT64_EPSILON__) || defined(__coverity_undefine___FLT64_EPSILON__)) -#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64 -#endif -#if !(defined(__gnu_linux__) || defined(__coverity_undefine___gnu_linux__)) -#define __gnu_linux__ 1 -#endif -#if !(defined(__INTMAX_WIDTH__) || defined(__coverity_undefine___INTMAX_WIDTH__)) -#define __INTMAX_WIDTH__ 64 -#endif -#if !(defined(__FLT64X_MIN_10_EXP__) || defined(__coverity_undefine___FLT64X_MIN_10_EXP__)) -#define __FLT64X_MIN_10_EXP__ (-4931) -#endif -#if !(defined(__LDBL_HAS_QUIET_NAN__) || defined(__coverity_undefine___LDBL_HAS_QUIET_NAN__)) -#define __LDBL_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__FLT64_MANT_DIG__) || defined(__coverity_undefine___FLT64_MANT_DIG__)) -#define __FLT64_MANT_DIG__ 53 -#endif -#if !(defined(__GNUC__) || defined(__coverity_undefine___GNUC__)) -#define __GNUC__ 9 -#endif -#if !(defined(__pie__) || defined(__coverity_undefine___pie__)) -#define __pie__ 2 -#endif -#if !(defined(__MMX__) || defined(__coverity_undefine___MMX__)) -#define __MMX__ 1 -#endif -#if !(defined(__FLT_HAS_DENORM__) || defined(__coverity_undefine___FLT_HAS_DENORM__)) -#define __FLT_HAS_DENORM__ 1 -#endif -#if !(defined(__SIZEOF_LONG_DOUBLE__) || defined(__coverity_undefine___SIZEOF_LONG_DOUBLE__)) -#define __SIZEOF_LONG_DOUBLE__ 16 -#endif -#if !(defined(__BIGGEST_ALIGNMENT__) || defined(__coverity_undefine___BIGGEST_ALIGNMENT__)) -#define __BIGGEST_ALIGNMENT__ 16 -#endif -#if !(defined(__FLT64_MAX_10_EXP__) || defined(__coverity_undefine___FLT64_MAX_10_EXP__)) -#define __FLT64_MAX_10_EXP__ 308 -#endif -#if !(defined(__DBL_MAX__) || defined(__coverity_undefine___DBL_MAX__)) -#define __DBL_MAX__ ((double)1.79769313486231570814527423731704357e+308L) -#endif -#if !(defined(__INT_FAST32_MAX__) || defined(__coverity_undefine___INT_FAST32_MAX__)) -#define __INT_FAST32_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__DBL_HAS_INFINITY__) || defined(__coverity_undefine___DBL_HAS_INFINITY__)) -#define __DBL_HAS_INFINITY__ 1 -#endif -#if !(defined(__HAVE_SPECULATION_SAFE_VALUE) || defined(__coverity_undefine___HAVE_SPECULATION_SAFE_VALUE)) -#define __HAVE_SPECULATION_SAFE_VALUE 1 -#endif -#if !(defined(__DEC32_MIN_EXP__) || defined(__coverity_undefine___DEC32_MIN_EXP__)) -#define __DEC32_MIN_EXP__ (-94) -#endif -#if !(defined(__INTPTR_WIDTH__) || defined(__coverity_undefine___INTPTR_WIDTH__)) -#define __INTPTR_WIDTH__ 64 -#endif -#if !(defined(__FLT32X_HAS_DENORM__) || defined(__coverity_undefine___FLT32X_HAS_DENORM__)) -#define __FLT32X_HAS_DENORM__ 1 -#endif -#if !(defined(__INT_FAST16_TYPE__) || defined(__coverity_undefine___INT_FAST16_TYPE__)) -#define __INT_FAST16_TYPE__ long int -#endif -#if !(defined(__LDBL_HAS_DENORM__) || defined(__coverity_undefine___LDBL_HAS_DENORM__)) -#define __LDBL_HAS_DENORM__ 1 -#endif -#if !(defined(__FLT128_HAS_INFINITY__) || defined(__coverity_undefine___FLT128_HAS_INFINITY__)) -#define __FLT128_HAS_INFINITY__ 1 -#endif -#if !(defined(__DEC128_MAX__) || defined(__coverity_undefine___DEC128_MAX__)) -#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL -#endif -#if !(defined(__INT_LEAST32_MAX__) || defined(__coverity_undefine___INT_LEAST32_MAX__)) -#define __INT_LEAST32_MAX__ 0x7fffffff -#endif -#if !(defined(__DEC32_MIN__) || defined(__coverity_undefine___DEC32_MIN__)) -#define __DEC32_MIN__ 1E-95DF -#endif -#if !(defined(__DBL_MAX_EXP__) || defined(__coverity_undefine___DBL_MAX_EXP__)) -#define __DBL_MAX_EXP__ 1024 -#endif -#if !(defined(__WCHAR_WIDTH__) || defined(__coverity_undefine___WCHAR_WIDTH__)) -#define __WCHAR_WIDTH__ 32 -#endif -#if !(defined(__FLT32_MAX__) || defined(__coverity_undefine___FLT32_MAX__)) -#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32 -#endif -#if !(defined(__DEC128_EPSILON__) || defined(__coverity_undefine___DEC128_EPSILON__)) -#define __DEC128_EPSILON__ 1E-33DL -#endif -#if !(defined(__SSE2_MATH__) || defined(__coverity_undefine___SSE2_MATH__)) -#define __SSE2_MATH__ 1 -#endif -#if !(defined(__ATOMIC_HLE_RELEASE) || defined(__coverity_undefine___ATOMIC_HLE_RELEASE)) -#define __ATOMIC_HLE_RELEASE 131072 -#endif -#if !(defined(__PTRDIFF_MAX__) || defined(__coverity_undefine___PTRDIFF_MAX__)) -#define __PTRDIFF_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__amd64) || defined(__coverity_undefine___amd64)) -#define __amd64 1 -#endif -#if !(defined(__ATOMIC_HLE_ACQUIRE) || defined(__coverity_undefine___ATOMIC_HLE_ACQUIRE)) -#define __ATOMIC_HLE_ACQUIRE 65536 -#endif -#if !(defined(__FLT32_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT32_HAS_QUIET_NAN__)) -#define __FLT32_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__LONG_LONG_MAX__) || defined(__coverity_undefine___LONG_LONG_MAX__)) -#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL -#endif -#if !(defined(__SIZEOF_SIZE_T__) || defined(__coverity_undefine___SIZEOF_SIZE_T__)) -#define __SIZEOF_SIZE_T__ 8 -#endif -#if !(defined(__FLT64X_MIN_EXP__) || defined(__coverity_undefine___FLT64X_MIN_EXP__)) -#define __FLT64X_MIN_EXP__ (-16381) -#endif -#if !(defined(__SIZEOF_WINT_T__) || defined(__coverity_undefine___SIZEOF_WINT_T__)) -#define __SIZEOF_WINT_T__ 4 -#endif -#if !(defined(__LONG_LONG_WIDTH__) || defined(__coverity_undefine___LONG_LONG_WIDTH__)) -#define __LONG_LONG_WIDTH__ 64 -#endif -#if !(defined(__FLT32_MAX_EXP__) || defined(__coverity_undefine___FLT32_MAX_EXP__)) -#define __FLT32_MAX_EXP__ 128 -#endif -#if !(defined(__GCC_HAVE_DWARF2_CFI_ASM) || defined(__coverity_undefine___GCC_HAVE_DWARF2_CFI_ASM)) -#define __GCC_HAVE_DWARF2_CFI_ASM 1 -#endif -#if !(defined(__GXX_ABI_VERSION) || defined(__coverity_undefine___GXX_ABI_VERSION)) -#define __GXX_ABI_VERSION 1013 -#endif -#if !(defined(__FLT_MIN_EXP__) || defined(__coverity_undefine___FLT_MIN_EXP__)) -#define __FLT_MIN_EXP__ (-125) -#endif -#if !(defined(__FLT64X_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT64X_HAS_QUIET_NAN__)) -#define __FLT64X_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__INT_FAST64_TYPE__) || defined(__coverity_undefine___INT_FAST64_TYPE__)) -#define __INT_FAST64_TYPE__ long int -#endif -#if !(defined(__FLT64_DENORM_MIN__) || defined(__coverity_undefine___FLT64_DENORM_MIN__)) -#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64 -#endif -#if !(defined(__DBL_MIN__) || defined(__coverity_undefine___DBL_MIN__)) -#define __DBL_MIN__ ((double)2.22507385850720138309023271733240406e-308L) -#endif -#if !(defined(__PIE__) || defined(__coverity_undefine___PIE__)) -#define __PIE__ 2 -#endif -#if !(defined(__LP64__) || defined(__coverity_undefine___LP64__)) -#define __LP64__ 1 -#endif -#if !(defined(__FLT32X_EPSILON__) || defined(__coverity_undefine___FLT32X_EPSILON__)) -#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x -#endif -#if !(defined(__DECIMAL_BID_FORMAT__) || defined(__coverity_undefine___DECIMAL_BID_FORMAT__)) -#define __DECIMAL_BID_FORMAT__ 1 -#endif -#if !(defined(__FLT64_MIN_EXP__) || defined(__coverity_undefine___FLT64_MIN_EXP__)) -#define __FLT64_MIN_EXP__ (-1021) -#endif -#if !(defined(__FLT64_MIN_10_EXP__) || defined(__coverity_undefine___FLT64_MIN_10_EXP__)) -#define __FLT64_MIN_10_EXP__ (-307) -#endif -#if !(defined(__FLT64X_DECIMAL_DIG__) || defined(__coverity_undefine___FLT64X_DECIMAL_DIG__)) -#define __FLT64X_DECIMAL_DIG__ 21 -#endif -#if !(defined(__DEC128_MIN__) || defined(__coverity_undefine___DEC128_MIN__)) -#define __DEC128_MIN__ 1E-6143DL -#endif -#if !(defined(__REGISTER_PREFIX__) || defined(__coverity_undefine___REGISTER_PREFIX__)) -#define __REGISTER_PREFIX__ -#endif -#if !(defined(__UINT16_MAX__) || defined(__coverity_undefine___UINT16_MAX__)) -#define __UINT16_MAX__ 0xffff -#endif -#if !(defined(__DBL_HAS_DENORM__) || defined(__coverity_undefine___DBL_HAS_DENORM__)) -#define __DBL_HAS_DENORM__ 1 -#endif -#if !(defined(__FLT32_MIN__) || defined(__coverity_undefine___FLT32_MIN__)) -#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32 -#endif -#if !(defined(__UINT8_TYPE__) || defined(__coverity_undefine___UINT8_TYPE__)) -#define __UINT8_TYPE__ unsigned char -#endif -#if !(defined(__FLT_MANT_DIG__) || defined(__coverity_undefine___FLT_MANT_DIG__)) -#define __FLT_MANT_DIG__ 24 -#endif -#if !(defined(__LDBL_DECIMAL_DIG__) || defined(__coverity_undefine___LDBL_DECIMAL_DIG__)) -#define __LDBL_DECIMAL_DIG__ 21 -#endif -#if !(defined(__VERSION__) || defined(__coverity_undefine___VERSION__)) -#define __VERSION__ "9.4.0" -#endif -#if !(defined(__UINT64_C) || defined(__coverity_undefine___UINT64_C)) -#define __UINT64_C(c) c ## UL -#endif -#if !(defined(_STDC_PREDEF_H) || defined(__coverity_undefine__STDC_PREDEF_H)) -#define _STDC_PREDEF_H 1 -#endif -#if !(defined(__GCC_ATOMIC_INT_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_INT_LOCK_FREE)) -#define __GCC_ATOMIC_INT_LOCK_FREE 2 -#endif -#if !(defined(__FLT128_MAX_EXP__) || defined(__coverity_undefine___FLT128_MAX_EXP__)) -#define __FLT128_MAX_EXP__ 16384 -#endif -#if !(defined(__FLT32_MANT_DIG__) || defined(__coverity_undefine___FLT32_MANT_DIG__)) -#define __FLT32_MANT_DIG__ 24 -#endif -#if !(defined(__FLOAT_WORD_ORDER__) || defined(__coverity_undefine___FLOAT_WORD_ORDER__)) -#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ -#endif -#if !(defined(__STDC_IEC_559_COMPLEX__) || defined(__coverity_undefine___STDC_IEC_559_COMPLEX__)) -#define __STDC_IEC_559_COMPLEX__ 1 -#endif -#if !(defined(__FLT128_HAS_DENORM__) || defined(__coverity_undefine___FLT128_HAS_DENORM__)) -#define __FLT128_HAS_DENORM__ 1 -#endif -#if !(defined(__FLT128_DIG__) || defined(__coverity_undefine___FLT128_DIG__)) -#define __FLT128_DIG__ 33 -#endif -#if !(defined(__SCHAR_WIDTH__) || defined(__coverity_undefine___SCHAR_WIDTH__)) -#define __SCHAR_WIDTH__ 8 -#endif -#if !(defined(__INT32_C) || defined(__coverity_undefine___INT32_C)) -#define __INT32_C(c) c -#endif -#if !(defined(__DEC64_EPSILON__) || defined(__coverity_undefine___DEC64_EPSILON__)) -#define __DEC64_EPSILON__ 1E-15DD -#endif -#if !(defined(__ORDER_PDP_ENDIAN__) || defined(__coverity_undefine___ORDER_PDP_ENDIAN__)) -#define __ORDER_PDP_ENDIAN__ 3412 -#endif -#if !(defined(__DEC128_MIN_EXP__) || defined(__coverity_undefine___DEC128_MIN_EXP__)) -#define __DEC128_MIN_EXP__ (-6142) -#endif -#if !(defined(__FLT32_MAX_10_EXP__) || defined(__coverity_undefine___FLT32_MAX_10_EXP__)) -#define __FLT32_MAX_10_EXP__ 38 -#endif -#if !(defined(__INT_FAST32_TYPE__) || defined(__coverity_undefine___INT_FAST32_TYPE__)) -#define __INT_FAST32_TYPE__ long int -#endif -#if !(defined(__UINT_LEAST16_TYPE__) || defined(__coverity_undefine___UINT_LEAST16_TYPE__)) -#define __UINT_LEAST16_TYPE__ short unsigned int -#endif -#if !(defined(__FLT64X_HAS_INFINITY__) || defined(__coverity_undefine___FLT64X_HAS_INFINITY__)) -#define __FLT64X_HAS_INFINITY__ 1 -#endif -#if !(defined(unix) || defined(__coverity_undefine_unix)) -#define unix 1 -#endif -#if !(defined(__INT16_MAX__) || defined(__coverity_undefine___INT16_MAX__)) -#define __INT16_MAX__ 0x7fff -#endif -#if !(defined(__SIZE_TYPE__) || defined(__coverity_undefine___SIZE_TYPE__)) -#define __SIZE_TYPE__ long unsigned int -#endif -#if !(defined(__UINT64_MAX__) || defined(__coverity_undefine___UINT64_MAX__)) -#define __UINT64_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__FLT64X_DIG__) || defined(__coverity_undefine___FLT64X_DIG__)) -#define __FLT64X_DIG__ 18 -#endif -#if !(defined(__INT8_TYPE__) || defined(__coverity_undefine___INT8_TYPE__)) -#define __INT8_TYPE__ signed char -#endif -#if !(defined(__ELF__) || defined(__coverity_undefine___ELF__)) -#define __ELF__ 1 -#endif -#if !(defined(__GCC_ASM_FLAG_OUTPUTS__) || defined(__coverity_undefine___GCC_ASM_FLAG_OUTPUTS__)) -#define __GCC_ASM_FLAG_OUTPUTS__ 1 -#endif -#if !(defined(__FLT_RADIX__) || defined(__coverity_undefine___FLT_RADIX__)) -#define __FLT_RADIX__ 2 -#endif -#if !(defined(__INT_LEAST16_TYPE__) || defined(__coverity_undefine___INT_LEAST16_TYPE__)) -#define __INT_LEAST16_TYPE__ short int -#endif -#if !(defined(__LDBL_EPSILON__) || defined(__coverity_undefine___LDBL_EPSILON__)) -#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L -#endif -#if !(defined(__UINTMAX_C) || defined(__coverity_undefine___UINTMAX_C)) -#define __UINTMAX_C(c) c ## UL -#endif -#if !(defined(__SSE_MATH__) || defined(__coverity_undefine___SSE_MATH__)) -#define __SSE_MATH__ 1 -#endif -#if !(defined(__k8) || defined(__coverity_undefine___k8)) -#define __k8 1 -#endif -#if !(defined(__SIG_ATOMIC_MAX__) || defined(__coverity_undefine___SIG_ATOMIC_MAX__)) -#define __SIG_ATOMIC_MAX__ 0x7fffffff -#endif -#if !(defined(__GCC_ATOMIC_WCHAR_T_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_WCHAR_T_LOCK_FREE)) -#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 -#endif -#if !(defined(__SIZEOF_PTRDIFF_T__) || defined(__coverity_undefine___SIZEOF_PTRDIFF_T__)) -#define __SIZEOF_PTRDIFF_T__ 8 -#endif -#if !(defined(__FLT32X_MANT_DIG__) || defined(__coverity_undefine___FLT32X_MANT_DIG__)) -#define __FLT32X_MANT_DIG__ 53 -#endif -#if !(defined(__x86_64__) || defined(__coverity_undefine___x86_64__)) -#define __x86_64__ 1 -#endif -#if !(defined(__FLT32X_MIN_EXP__) || defined(__coverity_undefine___FLT32X_MIN_EXP__)) -#define __FLT32X_MIN_EXP__ (-1021) -#endif -#if !(defined(__DEC32_SUBNORMAL_MIN__) || defined(__coverity_undefine___DEC32_SUBNORMAL_MIN__)) -#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF -#endif -#if !(defined(__INT_FAST16_MAX__) || defined(__coverity_undefine___INT_FAST16_MAX__)) -#define __INT_FAST16_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__FLT64_DIG__) || defined(__coverity_undefine___FLT64_DIG__)) -#define __FLT64_DIG__ 15 -#endif -#if !(defined(__UINT_FAST32_MAX__) || defined(__coverity_undefine___UINT_FAST32_MAX__)) -#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__UINT_LEAST64_TYPE__) || defined(__coverity_undefine___UINT_LEAST64_TYPE__)) -#define __UINT_LEAST64_TYPE__ long unsigned int -#endif -#if !(defined(__FLT_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT_HAS_QUIET_NAN__)) -#define __FLT_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__FLT_MAX_10_EXP__) || defined(__coverity_undefine___FLT_MAX_10_EXP__)) -#define __FLT_MAX_10_EXP__ 38 -#endif -#if !(defined(__LONG_MAX__) || defined(__coverity_undefine___LONG_MAX__)) -#define __LONG_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__FLT64X_HAS_DENORM__) || defined(__coverity_undefine___FLT64X_HAS_DENORM__)) -#define __FLT64X_HAS_DENORM__ 1 -#endif -#if !(defined(__DEC128_SUBNORMAL_MIN__) || defined(__coverity_undefine___DEC128_SUBNORMAL_MIN__)) -#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL -#endif -#if !(defined(__FLT_HAS_INFINITY__) || defined(__coverity_undefine___FLT_HAS_INFINITY__)) -#define __FLT_HAS_INFINITY__ 1 -#endif -#if !(defined(__UINT_FAST16_TYPE__) || defined(__coverity_undefine___UINT_FAST16_TYPE__)) -#define __UINT_FAST16_TYPE__ long unsigned int -#endif -#if !(defined(__DEC64_MAX__) || defined(__coverity_undefine___DEC64_MAX__)) -#define __DEC64_MAX__ 9.999999999999999E384DD -#endif -#if !(defined(__INT_FAST32_WIDTH__) || defined(__coverity_undefine___INT_FAST32_WIDTH__)) -#define __INT_FAST32_WIDTH__ 64 -#endif -#if !(defined(__CHAR16_TYPE__) || defined(__coverity_undefine___CHAR16_TYPE__)) -#define __CHAR16_TYPE__ short unsigned int -#endif -#if !(defined(__PRAGMA_REDEFINE_EXTNAME) || defined(__coverity_undefine___PRAGMA_REDEFINE_EXTNAME)) -#define __PRAGMA_REDEFINE_EXTNAME 1 -#endif -#if !(defined(__SIZE_WIDTH__) || defined(__coverity_undefine___SIZE_WIDTH__)) -#define __SIZE_WIDTH__ 64 -#endif -#if !(defined(__SEG_FS) || defined(__coverity_undefine___SEG_FS)) -#define __SEG_FS 1 -#endif -#if !(defined(__INT_LEAST16_MAX__) || defined(__coverity_undefine___INT_LEAST16_MAX__)) -#define __INT_LEAST16_MAX__ 0x7fff -#endif -#if !(defined(__DEC64_MANT_DIG__) || defined(__coverity_undefine___DEC64_MANT_DIG__)) -#define __DEC64_MANT_DIG__ 16 -#endif -#if !(defined(__INT64_MAX__) || defined(__coverity_undefine___INT64_MAX__)) -#define __INT64_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__UINT_LEAST32_MAX__) || defined(__coverity_undefine___UINT_LEAST32_MAX__)) -#define __UINT_LEAST32_MAX__ 0xffffffffU -#endif -#if !(defined(__SEG_GS) || defined(__coverity_undefine___SEG_GS)) -#define __SEG_GS 1 -#endif -#if !(defined(__FLT32_DENORM_MIN__) || defined(__coverity_undefine___FLT32_DENORM_MIN__)) -#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32 -#endif -#if !(defined(__GCC_ATOMIC_LONG_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_LONG_LOCK_FREE)) -#define __GCC_ATOMIC_LONG_LOCK_FREE 2 -#endif -#if !(defined(__SIG_ATOMIC_WIDTH__) || defined(__coverity_undefine___SIG_ATOMIC_WIDTH__)) -#define __SIG_ATOMIC_WIDTH__ 32 -#endif -#if !(defined(__INT_LEAST64_TYPE__) || defined(__coverity_undefine___INT_LEAST64_TYPE__)) -#define __INT_LEAST64_TYPE__ long int -#endif -#if !(defined(__INT16_TYPE__) || defined(__coverity_undefine___INT16_TYPE__)) -#define __INT16_TYPE__ short int -#endif -#if !(defined(__INT_LEAST8_TYPE__) || defined(__coverity_undefine___INT_LEAST8_TYPE__)) -#define __INT_LEAST8_TYPE__ signed char -#endif -#if !(defined(__DEC32_MAX_EXP__) || defined(__coverity_undefine___DEC32_MAX_EXP__)) -#define __DEC32_MAX_EXP__ 97 -#endif -#if !(defined(__INT_FAST8_MAX__) || defined(__coverity_undefine___INT_FAST8_MAX__)) -#define __INT_FAST8_MAX__ 0x7f -#endif -#if !(defined(__FLT128_MAX__) || defined(__coverity_undefine___FLT128_MAX__)) -#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128 -#endif -#if !(defined(__INTPTR_MAX__) || defined(__coverity_undefine___INTPTR_MAX__)) -#define __INTPTR_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(linux) || defined(__coverity_undefine_linux)) -#define linux 1 -#endif -#if !(defined(__FLT64_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT64_HAS_QUIET_NAN__)) -#define __FLT64_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__FLT32_MIN_10_EXP__) || defined(__coverity_undefine___FLT32_MIN_10_EXP__)) -#define __FLT32_MIN_10_EXP__ (-37) -#endif -#if !(defined(__SSE2__) || defined(__coverity_undefine___SSE2__)) -#define __SSE2__ 1 -#endif -#if !(defined(__FLT32X_DIG__) || defined(__coverity_undefine___FLT32X_DIG__)) -#define __FLT32X_DIG__ 15 -#endif -#if !(defined(__LDBL_MANT_DIG__) || defined(__coverity_undefine___LDBL_MANT_DIG__)) -#define __LDBL_MANT_DIG__ 64 -#endif -#if !(defined(__DBL_HAS_QUIET_NAN__) || defined(__coverity_undefine___DBL_HAS_QUIET_NAN__)) -#define __DBL_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__FLT64_HAS_INFINITY__) || defined(__coverity_undefine___FLT64_HAS_INFINITY__)) -#define __FLT64_HAS_INFINITY__ 1 -#endif -#if !(defined(__FLT64X_MAX__) || defined(__coverity_undefine___FLT64X_MAX__)) -#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x -#endif -#if !(defined(__SIG_ATOMIC_MIN__) || defined(__coverity_undefine___SIG_ATOMIC_MIN__)) -#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) -#endif -#if !(defined(__code_model_small__) || defined(__coverity_undefine___code_model_small__)) -#define __code_model_small__ 1 -#endif -#if !(defined(__k8__) || defined(__coverity_undefine___k8__)) -#define __k8__ 1 -#endif -#if !(defined(__INTPTR_TYPE__) || defined(__coverity_undefine___INTPTR_TYPE__)) -#define __INTPTR_TYPE__ long int -#endif -#if !(defined(__UINT16_TYPE__) || defined(__coverity_undefine___UINT16_TYPE__)) -#define __UINT16_TYPE__ short unsigned int -#endif -#if !(defined(__WCHAR_TYPE__) || defined(__coverity_undefine___WCHAR_TYPE__)) -#define __WCHAR_TYPE__ int -#endif -#if !(defined(__SIZEOF_FLOAT__) || defined(__coverity_undefine___SIZEOF_FLOAT__)) -#define __SIZEOF_FLOAT__ 4 -#endif -#if !(defined(__pic__) || defined(__coverity_undefine___pic__)) -#define __pic__ 2 -#endif -#if !(defined(__UINTPTR_MAX__) || defined(__coverity_undefine___UINTPTR_MAX__)) -#define __UINTPTR_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__INT_FAST64_WIDTH__) || defined(__coverity_undefine___INT_FAST64_WIDTH__)) -#define __INT_FAST64_WIDTH__ 64 -#endif -#if !(defined(__DEC64_MIN_EXP__) || defined(__coverity_undefine___DEC64_MIN_EXP__)) -#define __DEC64_MIN_EXP__ (-382) -#endif -#if !(defined(__FLT32_DECIMAL_DIG__) || defined(__coverity_undefine___FLT32_DECIMAL_DIG__)) -#define __FLT32_DECIMAL_DIG__ 9 -#endif -#if !(defined(__INT_FAST64_MAX__) || defined(__coverity_undefine___INT_FAST64_MAX__)) -#define __INT_FAST64_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__GCC_ATOMIC_TEST_AND_SET_TRUEVAL) || defined(__coverity_undefine___GCC_ATOMIC_TEST_AND_SET_TRUEVAL)) -#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 -#endif -#if !(defined(__FLT_DIG__) || defined(__coverity_undefine___FLT_DIG__)) -#define __FLT_DIG__ 6 -#endif -#if !(defined(__FLT32_HAS_INFINITY__) || defined(__coverity_undefine___FLT32_HAS_INFINITY__)) -#define __FLT32_HAS_INFINITY__ 1 -#endif -#if !(defined(__FLT64X_MAX_EXP__) || defined(__coverity_undefine___FLT64X_MAX_EXP__)) -#define __FLT64X_MAX_EXP__ 16384 -#endif -#if !(defined(__UINT_FAST64_TYPE__) || defined(__coverity_undefine___UINT_FAST64_TYPE__)) -#define __UINT_FAST64_TYPE__ long unsigned int -#endif -#if !(defined(__INT_MAX__) || defined(__coverity_undefine___INT_MAX__)) -#define __INT_MAX__ 0x7fffffff -#endif -#if !(defined(__amd64__) || defined(__coverity_undefine___amd64__)) -#define __amd64__ 1 -#endif -#if !(defined(__INT64_TYPE__) || defined(__coverity_undefine___INT64_TYPE__)) -#define __INT64_TYPE__ long int -#endif -#if !(defined(__FLT_MAX_EXP__) || defined(__coverity_undefine___FLT_MAX_EXP__)) -#define __FLT_MAX_EXP__ 128 -#endif -#if !(defined(__ORDER_BIG_ENDIAN__) || defined(__coverity_undefine___ORDER_BIG_ENDIAN__)) -#define __ORDER_BIG_ENDIAN__ 4321 -#endif -#if !(defined(__DBL_MANT_DIG__) || defined(__coverity_undefine___DBL_MANT_DIG__)) -#define __DBL_MANT_DIG__ 53 -#endif -#if !(defined(__SIZEOF_FLOAT128__) || defined(__coverity_undefine___SIZEOF_FLOAT128__)) -#define __SIZEOF_FLOAT128__ 16 -#endif -#if !(defined(__INT_LEAST64_MAX__) || defined(__coverity_undefine___INT_LEAST64_MAX__)) -#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__GCC_ATOMIC_CHAR16_T_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_CHAR16_T_LOCK_FREE)) -#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 -#endif -#if !(defined(__DEC64_MIN__) || defined(__coverity_undefine___DEC64_MIN__)) -#define __DEC64_MIN__ 1E-383DD -#endif -#if !(defined(__WINT_TYPE__) || defined(__coverity_undefine___WINT_TYPE__)) -#define __WINT_TYPE__ unsigned int -#endif -#if !(defined(__UINT_LEAST32_TYPE__) || defined(__coverity_undefine___UINT_LEAST32_TYPE__)) -#define __UINT_LEAST32_TYPE__ unsigned int -#endif -#if !(defined(__SIZEOF_SHORT__) || defined(__coverity_undefine___SIZEOF_SHORT__)) -#define __SIZEOF_SHORT__ 2 -#endif -#if !(defined(__SSE__) || defined(__coverity_undefine___SSE__)) -#define __SSE__ 1 -#endif -#if !(defined(__LDBL_MIN_EXP__) || defined(__coverity_undefine___LDBL_MIN_EXP__)) -#define __LDBL_MIN_EXP__ (-16381) -#endif -#if !(defined(__FLT64_MAX__) || defined(__coverity_undefine___FLT64_MAX__)) -#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64 -#endif -#if !(defined(__WINT_WIDTH__) || defined(__coverity_undefine___WINT_WIDTH__)) -#define __WINT_WIDTH__ 32 -#endif -#if !(defined(__INT_LEAST8_MAX__) || defined(__coverity_undefine___INT_LEAST8_MAX__)) -#define __INT_LEAST8_MAX__ 0x7f -#endif -#if !(defined(__FLT32X_MAX_10_EXP__) || defined(__coverity_undefine___FLT32X_MAX_10_EXP__)) -#define __FLT32X_MAX_10_EXP__ 308 -#endif -#if !(defined(__SIZEOF_INT128__) || defined(__coverity_undefine___SIZEOF_INT128__)) -#define __SIZEOF_INT128__ 16 -#endif -#if !(defined(__LDBL_MAX_10_EXP__) || defined(__coverity_undefine___LDBL_MAX_10_EXP__)) -#define __LDBL_MAX_10_EXP__ 4932 -#endif -#if !(defined(__ATOMIC_RELAXED) || defined(__coverity_undefine___ATOMIC_RELAXED)) -#define __ATOMIC_RELAXED 0 -#endif -#if !(defined(__DBL_EPSILON__) || defined(__coverity_undefine___DBL_EPSILON__)) -#define __DBL_EPSILON__ ((double)2.22044604925031308084726333618164062e-16L) -#endif -#if !(defined(__FLT128_MIN__) || defined(__coverity_undefine___FLT128_MIN__)) -#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128 -#endif -#if !(defined(_LP64) || defined(__coverity_undefine__LP64)) -#define _LP64 1 -#endif -#if !(defined(__UINT8_C) || defined(__coverity_undefine___UINT8_C)) -#define __UINT8_C(c) c -#endif -#if !(defined(__FLT64_MAX_EXP__) || defined(__coverity_undefine___FLT64_MAX_EXP__)) -#define __FLT64_MAX_EXP__ 1024 -#endif -#if !(defined(__INT_LEAST32_TYPE__) || defined(__coverity_undefine___INT_LEAST32_TYPE__)) -#define __INT_LEAST32_TYPE__ int -#endif -#if !(defined(__SIZEOF_WCHAR_T__) || defined(__coverity_undefine___SIZEOF_WCHAR_T__)) -#define __SIZEOF_WCHAR_T__ 4 -#endif -#if !(defined(__UINT64_TYPE__) || defined(__coverity_undefine___UINT64_TYPE__)) -#define __UINT64_TYPE__ long unsigned int -#endif -#if !(defined(__FLT128_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT128_HAS_QUIET_NAN__)) -#define __FLT128_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__INT_FAST8_TYPE__) || defined(__coverity_undefine___INT_FAST8_TYPE__)) -#define __INT_FAST8_TYPE__ signed char -#endif -#if !(defined(__FLT64X_MIN__) || defined(__coverity_undefine___FLT64X_MIN__)) -#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x -#endif -#if !(defined(__FLT64_HAS_DENORM__) || defined(__coverity_undefine___FLT64_HAS_DENORM__)) -#define __FLT64_HAS_DENORM__ 1 -#endif -#if !(defined(__FLT32_EPSILON__) || defined(__coverity_undefine___FLT32_EPSILON__)) -#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32 -#endif -#if !(defined(__DBL_DECIMAL_DIG__) || defined(__coverity_undefine___DBL_DECIMAL_DIG__)) -#define __DBL_DECIMAL_DIG__ 17 -#endif -#if !(defined(__INT_FAST8_WIDTH__) || defined(__coverity_undefine___INT_FAST8_WIDTH__)) -#define __INT_FAST8_WIDTH__ 8 -#endif -#if !(defined(__FXSR__) || defined(__coverity_undefine___FXSR__)) -#define __FXSR__ 1 -#endif -#if !(defined(__DEC_EVAL_METHOD__) || defined(__coverity_undefine___DEC_EVAL_METHOD__)) -#define __DEC_EVAL_METHOD__ 2 -#endif -#if !(defined(__FLT32X_MAX__) || defined(__coverity_undefine___FLT32X_MAX__)) -#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x -#endif -#if !(defined(__UINT32_C) || defined(__coverity_undefine___UINT32_C)) -#define __UINT32_C(c) c ## U -#endif -#if !(defined(__INTMAX_MAX__) || defined(__coverity_undefine___INTMAX_MAX__)) -#define __INTMAX_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__BYTE_ORDER__) || defined(__coverity_undefine___BYTE_ORDER__)) -#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ -#endif -#if !(defined(__FLT_DENORM_MIN__) || defined(__coverity_undefine___FLT_DENORM_MIN__)) -#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F -#endif -#if !(defined(__INT8_MAX__) || defined(__coverity_undefine___INT8_MAX__)) -#define __INT8_MAX__ 0x7f -#endif -#if !(defined(__LONG_WIDTH__) || defined(__coverity_undefine___LONG_WIDTH__)) -#define __LONG_WIDTH__ 64 -#endif -#if !(defined(__PIC__) || defined(__coverity_undefine___PIC__)) -#define __PIC__ 2 -#endif -#if !(defined(__UINT_FAST32_TYPE__) || defined(__coverity_undefine___UINT_FAST32_TYPE__)) -#define __UINT_FAST32_TYPE__ long unsigned int -#endif -#if !(defined(__CHAR32_TYPE__) || defined(__coverity_undefine___CHAR32_TYPE__)) -#define __CHAR32_TYPE__ unsigned int -#endif -#if !(defined(__FLT_MAX__) || defined(__coverity_undefine___FLT_MAX__)) -#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F -#endif -#if !(defined(__INT32_TYPE__) || defined(__coverity_undefine___INT32_TYPE__)) -#define __INT32_TYPE__ int -#endif -#if !(defined(__SIZEOF_DOUBLE__) || defined(__coverity_undefine___SIZEOF_DOUBLE__)) -#define __SIZEOF_DOUBLE__ 8 -#endif -#if !(defined(__FLT_MIN_10_EXP__) || defined(__coverity_undefine___FLT_MIN_10_EXP__)) -#define __FLT_MIN_10_EXP__ (-37) -#endif -#if !(defined(__FLT64_MIN__) || defined(__coverity_undefine___FLT64_MIN__)) -#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64 -#endif -#if !(defined(__INT_LEAST32_WIDTH__) || defined(__coverity_undefine___INT_LEAST32_WIDTH__)) -#define __INT_LEAST32_WIDTH__ 32 -#endif -#if !(defined(__INTMAX_TYPE__) || defined(__coverity_undefine___INTMAX_TYPE__)) -#define __INTMAX_TYPE__ long int -#endif -#if !(defined(__DEC128_MAX_EXP__) || defined(__coverity_undefine___DEC128_MAX_EXP__)) -#define __DEC128_MAX_EXP__ 6145 -#endif -#if !(defined(__FLT32X_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT32X_HAS_QUIET_NAN__)) -#define __FLT32X_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__ATOMIC_CONSUME) || defined(__coverity_undefine___ATOMIC_CONSUME)) -#define __ATOMIC_CONSUME 1 -#endif -#if !(defined(__GNUC_MINOR__) || defined(__coverity_undefine___GNUC_MINOR__)) -#define __GNUC_MINOR__ 4 -#endif -#if !(defined(__INT_FAST16_WIDTH__) || defined(__coverity_undefine___INT_FAST16_WIDTH__)) -#define __INT_FAST16_WIDTH__ 64 -#endif -#if !(defined(__UINTMAX_MAX__) || defined(__coverity_undefine___UINTMAX_MAX__)) -#define __UINTMAX_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__DEC32_MANT_DIG__) || defined(__coverity_undefine___DEC32_MANT_DIG__)) -#define __DEC32_MANT_DIG__ 7 -#endif -#if !(defined(__FLT32X_DENORM_MIN__) || defined(__coverity_undefine___FLT32X_DENORM_MIN__)) -#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x -#endif -#if !(defined(__DBL_MAX_10_EXP__) || defined(__coverity_undefine___DBL_MAX_10_EXP__)) -#define __DBL_MAX_10_EXP__ 308 -#endif -#if !(defined(__LDBL_DENORM_MIN__) || defined(__coverity_undefine___LDBL_DENORM_MIN__)) -#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L -#endif -#if !(defined(__INT16_C) || defined(__coverity_undefine___INT16_C)) -#define __INT16_C(c) c -#endif -#if !(defined(__STDC__) || defined(__coverity_undefine___STDC__)) -#define __STDC__ 1 -#endif -#if !(defined(__PTRDIFF_TYPE__) || defined(__coverity_undefine___PTRDIFF_TYPE__)) -#define __PTRDIFF_TYPE__ long int -#endif -#if !(defined(__ATOMIC_SEQ_CST) || defined(__coverity_undefine___ATOMIC_SEQ_CST)) -#define __ATOMIC_SEQ_CST 5 -#endif -#if !(defined(__UINT32_TYPE__) || defined(__coverity_undefine___UINT32_TYPE__)) -#define __UINT32_TYPE__ unsigned int -#endif -#if !(defined(__FLT32X_MIN_10_EXP__) || defined(__coverity_undefine___FLT32X_MIN_10_EXP__)) -#define __FLT32X_MIN_10_EXP__ (-307) -#endif -#if !(defined(__UINTPTR_TYPE__) || defined(__coverity_undefine___UINTPTR_TYPE__)) -#define __UINTPTR_TYPE__ long unsigned int -#endif -#if !(defined(__DEC64_SUBNORMAL_MIN__) || defined(__coverity_undefine___DEC64_SUBNORMAL_MIN__)) -#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD -#endif -#if !(defined(__DEC128_MANT_DIG__) || defined(__coverity_undefine___DEC128_MANT_DIG__)) -#define __DEC128_MANT_DIG__ 34 -#endif -#if !(defined(__LDBL_MIN_10_EXP__) || defined(__coverity_undefine___LDBL_MIN_10_EXP__)) -#define __LDBL_MIN_10_EXP__ (-4931) -#endif -#if !(defined(__FLT128_EPSILON__) || defined(__coverity_undefine___FLT128_EPSILON__)) -#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128 -#endif -#if !(defined(__SIZEOF_LONG_LONG__) || defined(__coverity_undefine___SIZEOF_LONG_LONG__)) -#define __SIZEOF_LONG_LONG__ 8 -#endif -#if !(defined(__FLT128_DECIMAL_DIG__) || defined(__coverity_undefine___FLT128_DECIMAL_DIG__)) -#define __FLT128_DECIMAL_DIG__ 36 -#endif -#if !(defined(__GCC_ATOMIC_LLONG_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_LLONG_LOCK_FREE)) -#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 -#endif -#if !(defined(__FLT32X_MIN__) || defined(__coverity_undefine___FLT32X_MIN__)) -#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x -#endif -#if !(defined(__LDBL_DIG__) || defined(__coverity_undefine___LDBL_DIG__)) -#define __LDBL_DIG__ 18 -#endif -#if !(defined(__FLT_DECIMAL_DIG__) || defined(__coverity_undefine___FLT_DECIMAL_DIG__)) -#define __FLT_DECIMAL_DIG__ 9 -#endif -#if !(defined(__UINT_FAST16_MAX__) || defined(__coverity_undefine___UINT_FAST16_MAX__)) -#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__GNUC_GNU_INLINE__) || defined(__coverity_undefine___GNUC_GNU_INLINE__)) -#define __GNUC_GNU_INLINE__ 1 -#endif -#if !(defined(__GCC_ATOMIC_SHORT_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_SHORT_LOCK_FREE)) -#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 -#endif -#if !(defined(__INT_LEAST64_WIDTH__) || defined(__coverity_undefine___INT_LEAST64_WIDTH__)) -#define __INT_LEAST64_WIDTH__ 64 -#endif -#if !(defined(__UINT_FAST8_TYPE__) || defined(__coverity_undefine___UINT_FAST8_TYPE__)) -#define __UINT_FAST8_TYPE__ unsigned char -#endif -#if !(defined(__ATOMIC_ACQ_REL) || defined(__coverity_undefine___ATOMIC_ACQ_REL)) -#define __ATOMIC_ACQ_REL 4 -#endif -#if !(defined(__ATOMIC_RELEASE) || defined(__coverity_undefine___ATOMIC_RELEASE)) -#define __ATOMIC_RELEASE 3 -#endif -#if !(defined(__CET__) || defined(__coverity_undefine___CET__)) -#define __CET__ 3 -#endif -#if !(defined(__FINITE_MATH_ONLY__) || defined(__coverity_undefine___FINITE_MATH_ONLY__)) -#define __FINITE_MATH_ONLY__ 0 -#endif -#if !(defined(__GCC_HAVE_DWARF2_CFI_ASM) || defined(__coverity_undefine___GCC_HAVE_DWARF2_CFI_ASM)) -#define __GCC_HAVE_DWARF2_CFI_ASM 1 -#endif -#if !(defined(__GCC_IEC_559_COMPLEX) || defined(__coverity_undefine___GCC_IEC_559_COMPLEX)) -#define __GCC_IEC_559_COMPLEX 2 -#endif -#if !(defined(__INCLUDE_LEVEL__) || defined(__coverity_undefine___INCLUDE_LEVEL__)) -#define __INCLUDE_LEVEL__ 0 -#endif -#if !(defined(__PIC__) || defined(__coverity_undefine___PIC__)) -#define __PIC__ 2 -#endif -#if !(defined(__PIE__) || defined(__coverity_undefine___PIE__)) -#define __PIE__ 2 -#endif -#if !(defined(__PTRDIFF_TYPE__) || defined(__coverity_undefine___PTRDIFF_TYPE__)) -#define __PTRDIFF_TYPE__ long int -#endif -#if !(defined(__REGISTER_PREFIX__) || defined(__coverity_undefine___REGISTER_PREFIX__)) -#define __REGISTER_PREFIX__ -#endif -#if !(defined(__SIZE_TYPE__) || defined(__coverity_undefine___SIZE_TYPE__)) -#define __SIZE_TYPE__ long unsigned int -#endif -#if !(defined(__SSP_STRONG__) || defined(__coverity_undefine___SSP_STRONG__)) -#define __SSP_STRONG__ 3 -#endif -#if !(defined(__STDC_IEC_559_COMPLEX__) || defined(__coverity_undefine___STDC_IEC_559_COMPLEX__)) -#define __STDC_IEC_559_COMPLEX__ -#endif -#if !(defined(__STDC_IEC_559__) || defined(__coverity_undefine___STDC_IEC_559__)) -#define __STDC_IEC_559__ -#endif -#if !(defined(__STDC__) || defined(__coverity_undefine___STDC__)) -#define __STDC__ 1 -#endif -#if !(defined(__USER_LABEL_PREFIX__) || defined(__coverity_undefine___USER_LABEL_PREFIX__)) -#define __USER_LABEL_PREFIX__ -#endif -#if !(defined(__VERSION__) || defined(__coverity_undefine___VERSION__)) -#define __VERSION__ "9.4.0" -#endif -#if !(defined(__pic__) || defined(__coverity_undefine___pic__)) -#define __pic__ 2 -#endif -#if !(defined(__pie__) || defined(__coverity_undefine___pie__)) -#define __pie__ 2 -#endif -#if !(defined(__unix__) || defined(__coverity_undefine___unix__)) -#define __unix__ 1 -#endif diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity_config.xml b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity_config.xml deleted file mode 100644 index 4abca5ea8..000000000 --- a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/g++cc-config-0/coverity_config.xml +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - 1 - - - - cc - gcc - gcc-9 - x86_64-linux-gnu-gcc-9 - /usr/bin - g++cc - C - cov-emit - GNU C++ Compiler - gnu - -std=gnu90 - g++cc-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 - 9.4.0 - true - true - all - - - g++cc-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 - g++cc-cc-.* - - /usr/lib/gcc/x86_64-linux-gnu/9/include - /usr/local/include - /usr/include/x86_64-linux-gnu - /usr/include - -xc - -E - -v - -xc - -dM - -E - -o.+ - -c - -Werror - -o - -E - -U__BLOCKS__ - -xc - -C - - - 2 - $CONFIGDIR$/coverity-compiler-compat.h - $CONFIGDIR$/coverity-macro-compat.h - --fixed_point - --add_type_modifier=__coverity___fpreg - --add_type_modifier=__coverity_decimal - --add_type_modifier=__coverity_float - --add_type_modifier=__coverity_floatx - --no_predefined_feature_test_macros - --no_stdarg_builtin - --enable_128bit_int - --no_predefined_cplusplus - -w - --no_predefines - --comp_ver - 9.4.0 - --size_t_type=m - --ptrdiff_t_type=l - --type_sizes=xl8i4s2e16d8f4P8 - --type_alignments=xl8i4s2e16d8f4P8 - --char_bit_size=8 - --gnu_carriage_return_line_terminator - --wchar_t_type=i - --no_multiline_string - --no_trigraphs - --ignore_calling_convention - --enable_80bit_float - --enable_128bit_float - --allow__bool - --macro_stack_pragmas - --inline_keyword - --has_include_macro - --has_include_next_macro - --has_cpp_attribute_macro - --no_predefines - conftest\.c{1,2}$ - conftest\.cpp$ - cgo-cc-input-[0-9]+\.(c|cc|cpp|cxx) - $CONFIGDIR$/../user_nodefs.h - - gcc - - - /usr/lib/gcc/x86_64-linux-gnu/9/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/ - /lib/x86_64-linux-gnu/9/ - /lib/x86_64-linux-gnu/ - /lib/../lib/ - /usr/lib/x86_64-linux-gnu/9/ - /usr/lib/x86_64-linux-gnu/ - /usr/lib/../lib/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../ - /lib/ - /usr/lib/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o - /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o - /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 - /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so - /lib/x86_64-linux-gnu/libc.so.6 - /usr/lib/x86_64-linux-gnu/libc_nonshared.a - /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 - /usr/lib/x86_64-linux-gnu/libc_nonshared.a - /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 - /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 - /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o - - - - @(.*) - --coverity_resp_file=$1 - - - - - - gnu_pre_translate - - - - - CPATH - true - - - - - C_INCLUDE_PATH - --c - - - - - - - 711f163ae15caa93f82b9002415f5467 - - diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/configure-log.txt b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/configure-log.txt deleted file mode 100644 index 71c1a69c0..000000000 --- a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/configure-log.txt +++ /dev/null @@ -1,4096 +0,0 @@ -Getting compiler identification output with: /usr/bin/cc -std=gnu90 --version /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -int main() {} - -**** END source file *** -pipe_command: /usr/bin/cc -std=gnu90 --version /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -pipe_commands starting: /usr/bin/cc -std=gnu90 --version /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.output -cc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 -Copyright (C) 2019 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - -**** END FILE output *** -**** BEGIN FILE error: - -**** END FILE error *** -**** Compiler identification output begin **** -cc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 -Copyright (C) 2019 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - -**** Compiler identification output end **** -**** BEGIN PROBE run_test_sanity **** -[STATUS] gcc-config-0: Running sanity tests on native compiler -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/simple.c -int x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/simple.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/simple.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c -#x -int a b c d; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c:1:2: error: invalid preprocessing directive #x - 1 | #x - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c:2:7: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘b’ - 2 | int a b c d; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/does_not_compile.c:2:7: error: unknown type name ‘b’ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/stddef.c -#include -struct mystruct { - int field1; - int field2; -} var; -size_t sz = sizeof(struct mystruct); -ptrdiff_t pd; -void func() { - pd = &var.field1 - &var.field2; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/stddef.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/stddef.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE run_test_sanity **** -**** BEGIN PROBE get_version_switch_output **** -Version switch: -E -v -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -int main() {} - -**** END source file *** -pipe_command: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/version_output -# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c" -# 1 "" -# 1 "" -# 31 "" -# 1 "/usr/include/stdc-predef.h" 1 3 4 -# 32 "" 2 -# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c" -int main() {} - -**** END FILE output *** -**** BEGIN FILE error: -Using built-in specs. -COLLECT_GCC=/usr/bin/cc -OFFLOAD_TARGET_NAMES=nvptx-none:hsa -OFFLOAD_TARGET_DEFAULT=1 -Target: x86_64-linux-gnu -Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu -Thread model: posix -gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) -COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' - /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -E -quiet -v -imultiarch x86_64-linux-gnu /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" -#include "..." search starts here: -#include <...> search starts here: - /usr/lib/gcc/x86_64-linux-gnu/9/include - /usr/local/include - /usr/include/x86_64-linux-gnu - /usr/include -End of search list. -COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ -LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' - -**** END FILE error *** -**** END PROBE get_version_switch_output **** -Version string before regex: # 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c" # 1 "" # 1 "" # 31 "" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 32 "" 2 # 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c" int main() {} Using built-in specs. COLLECT_GCC=/usr/bin/cc OFFLOAD_TARGET_NAMES=nvptx-none:hsa OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -E -quiet -v -imultiarch x86_64-linux-gnu /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/x86_64-linux-gnu/9/include /usr/local/include /usr/include/x86_64-linux-gnu /usr/include End of search list. COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' -Attempting to match the following regex: .*g[c+][c+] version 2\.9.* \(2.96.*\).* -Attempting to match the following regex: .*g[c+][c+][^\s]* [^\s]+ (\d+\.\d+(\.\d+)?) \(.*\).* -Match found. Version string after regex: 9.4.0 -Attempting to match the following regex: .*g[c+][c+][^\s]* \([^)]*\) (\d+\.\d+(\.\d+)?).* -Attempting to match the following regex: .*(?:cc|\+\+)(?:-[^\h]+)?(?:\.exe)?\h+(?:.*?\h+)?(\d+\.\d+(\.\d+)?).* -Attempting to match the following regex: .*[^0-9.](\d+\.\d+\.\d+).* -Compiler version found: 9.4.0 -**** BEGIN PROBE run_type_size_and_alignment_tests **** -**** BEGIN PROBE probe_helpful_compiler_info **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.c -int *i; unsigned long *c; void foo() { c = i; } - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.c: In function ‘foo’: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sloppy_assign.c:1:42: warning: assignment to ‘long unsigned int *’ from incompatible pointer type ‘int *’ [-Wincompatible-pointer-types] - 1 | int *i; unsigned long *c; void foo() { c = i; } - | ^ - -**** END FILE stderr *** -Test succeded -Native compiler allows sloppy assigns. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.c - int x[((int)sizeof (int *)) - 13000]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/sizeof_neg_array_size.c:1:6: error: size of array ‘x’ is negative - 1 | int x[((int)sizeof (int *)) - 13000]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/zero_size_array.c - int x[0]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/zero_size_array.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/zero_size_array.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -Native compiler minimum array index is 0. -**** END PROBE probe_helpful_compiler_info **** -**** BEGIN PROBE Detecting size_t **** -Detecting size_t. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.c -size_t * s; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.c:1:1: error: unknown type name ‘size_t’ - 1 | size_t * s; - | ^~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type.c:1:1: note: ‘size_t’ is defined in header ‘’; did you forget to ‘#include ’? - +++ |+#include - 1 | size_t * s; - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type2.c -#include -size_t * s; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type2.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_valid_type2.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_sloppy_typedef.c -#include -typedef void ***size_t; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_sloppy_typedef.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_sloppy_typedef.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_sloppy_typedef.c:2:17: error: conflicting types for ‘size_t’ - 2 | typedef void ***size_t; - | ^~~~~~ -In file included from /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_sloppy_typedef.c:1: -/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h:209:23: note: previous declaration of ‘size_t’ was here - 209 | typedef __SIZE_TYPE__ size_t; - | ^~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.c -#include -typedef unsigned int size_t;size_t x; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.c:2:22: error: conflicting types for ‘size_t’ - 2 | typedef unsigned int size_t;size_t x; - | ^~~~~~ -In file included from /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_int.c:1: -/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h:209:23: note: previous declaration of ‘size_t’ was here - 209 | typedef __SIZE_TYPE__ size_t; - | ^~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_long.c -#include -typedef unsigned long size_t;size_t x; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_long.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_unsigned_long.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE Detecting size_t **** -**** BEGIN PROBE Detecting ptrdiff_t **** -Detecting ptrdiff_t. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.c -ptrdiff_t * s; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.c:1:1: error: unknown type name ‘ptrdiff_t’ - 1 | ptrdiff_t * s; - | ^~~~~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type.c:1:1: note: ‘ptrdiff_t’ is defined in header ‘’; did you forget to ‘#include ’? - +++ |+#include - 1 | ptrdiff_t * s; - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type2.c -#include -ptrdiff_t * s; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type2.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_is_valid_type2.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_sloppy_typedef.c -#include -typedef void ***ptrdiff_t; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_sloppy_typedef.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_sloppy_typedef.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_sloppy_typedef.c:2:17: error: conflicting types for ‘ptrdiff_t’ - 2 | typedef void ***ptrdiff_t; - | ^~~~~~~~~ -In file included from /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/ptrdiff_t_sloppy_typedef.c:1: -/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h:143:26: note: previous declaration of ‘ptrdiff_t’ was here - 143 | typedef __PTRDIFF_TYPE__ ptrdiff_t; - | ^~~~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.c -#include -typedef int ptrdiff_t;ptrdiff_t x; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.c:2:13: error: conflicting types for ‘ptrdiff_t’ - 2 | typedef int ptrdiff_t;ptrdiff_t x; - | ^~~~~~~~~ -In file included from /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_int.c:1: -/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h:143:26: note: previous declaration of ‘ptrdiff_t’ was here - 143 | typedef __PTRDIFF_TYPE__ ptrdiff_t; - | ^~~~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_long.c -#include -typedef long ptrdiff_t;ptrdiff_t x; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_long.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/size_t_is_long.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE Detecting ptrdiff_t **** -**** BEGIN PROBE add_appropriate_type_size_and_alignment_switch **** -[STATUS] gcc-config-0: Detecting size and alignment of fundamental types. -Detecting size and alignment of wchar_t -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.c -wchar_t x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.c:1:1: error: unknown type name ‘wchar_t’ - 1 | wchar_t x; - | ^~~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_wchar_t.c:1:1: note: ‘wchar_t’ is defined in header ‘’; did you forget to ‘#include ’? - +++ |+#include - 1 | wchar_t x; - -**** END FILE stderr *** -Test failed -**** END PROBE run_type_size_test **** -Detecting size and alignment of long long -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_long.c -long long x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_long.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_long.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_size_8.c -int x [((int)sizeof (long long)) -8]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_size_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_size_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_align_8.c -struct X { char a; long long b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -long long b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_align_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_long_align_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -Detecting size and alignment of long -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long.c -long x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_size_8.c -int x [((int)sizeof (long)) -8]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_size_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_size_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_align_8.c -struct X { char a; long b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -long b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_align_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_align_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -Detecting size and alignment of int -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int.c -int x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.c -int x [((int)sizeof (int)) -8]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_8.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (int)) -8]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.c -int x [((int)sizeof (int)) -7]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_7.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (int)) -7]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.c -int x [((int)sizeof (int)) -6]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_6.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (int)) -6]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.c -int x [((int)sizeof (int)) -5]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_5.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (int)) -5]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_4.c -int x [((int)sizeof (int)) -4]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_4.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_size_4.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.c -struct X { char a; int b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -int b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_8.c:12:5: error: size of array ‘x’ is negative - 12 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.c -struct X { char a; int b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -int b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_7.c:11:5: error: size of array ‘x’ is negative - 11 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.c -struct X { char a; int b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -int b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_6.c:10:5: error: size of array ‘x’ is negative - 10 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.c -struct X { char a; int b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -int b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_5.c:9:5: error: size of array ‘x’ is negative - 9 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_4.c -struct X { char a; int b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -int b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_4.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int_align_4.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -Detecting size and alignment of short -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_short.c -short x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_short.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_short.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.c -int x [((int)sizeof (short)) -4]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_4.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (short)) -4]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.c -int x [((int)sizeof (short)) -3]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_3.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (short)) -3]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_2.c -int x [((int)sizeof (short)) -2]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_2.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_size_2.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.c -struct X { char a; short b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -short b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_4.c:8:5: error: size of array ‘x’ is negative - 8 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.c -struct X { char a; short b; }; -struct Y { -char a1; -char a2; -char a3; -short b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_3.c:7:5: error: size of array ‘x’ is negative - 7 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_2.c -struct X { char a; short b; }; -struct Y { -char a1; -char a2; -short b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_2.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/short_align_2.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -Detecting size and alignment of long double -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_double.c -long double x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_double.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_long_double.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_size_16.c -int x [((int)sizeof (long double)) -16]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_size_16.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_size_16.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_align_16.c -struct X { char a; long double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -char a11; -char a12; -char a13; -char a14; -char a15; -char a16; -long double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_align_16.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/long_double_align_16.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -Detecting size and alignment of double -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_double.c -double x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_double.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_double.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.c -int x [((int)sizeof (double)) -16]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_16.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -16]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.c -int x [((int)sizeof (double)) -15]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_15.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -15]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.c -int x [((int)sizeof (double)) -14]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_14.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -14]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.c -int x [((int)sizeof (double)) -13]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_13.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -13]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.c -int x [((int)sizeof (double)) -12]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_12.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -12]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.c -int x [((int)sizeof (double)) -11]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_11.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -11]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.c -int x [((int)sizeof (double)) -10]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_10.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -10]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.c -int x [((int)sizeof (double)) -9]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_9.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (double)) -9]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_8.c -int x [((int)sizeof (double)) -8]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_size_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.c -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -char a11; -char a12; -char a13; -char a14; -char a15; -char a16; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_16.c:20:5: error: size of array ‘x’ is negative - 20 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.c -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -char a11; -char a12; -char a13; -char a14; -char a15; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_15.c:19:5: error: size of array ‘x’ is negative - 19 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.c -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -char a11; -char a12; -char a13; -char a14; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_14.c:18:5: error: size of array ‘x’ is negative - 18 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.c -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -char a11; -char a12; -char a13; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_13.c:17:5: error: size of array ‘x’ is negative - 17 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.c -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -char a11; -char a12; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_12.c:16:5: error: size of array ‘x’ is negative - 16 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.c -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -char a11; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_11.c:15:5: error: size of array ‘x’ is negative - 15 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.c -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -char a10; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_10.c:14:5: error: size of array ‘x’ is negative - 14 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.c -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -char a9; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_9.c:13:5: error: size of array ‘x’ is negative - 13 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_8.c -struct X { char a; double b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -double b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/double_align_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -Detecting size and alignment of float -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_float.c -float x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_float.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_float.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.c -int x [((int)sizeof (float)) -8]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_8.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (float)) -8]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.c -int x [((int)sizeof (float)) -7]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_7.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (float)) -7]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.c -int x [((int)sizeof (float)) -6]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_6.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (float)) -6]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.c -int x [((int)sizeof (float)) -5]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_5.c:1:5: error: size of array ‘x’ is negative - 1 | int x [((int)sizeof (float)) -5]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_4.c -int x [((int)sizeof (float)) -4]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_4.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_size_4.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.c -struct X { char a; float b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -float b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_8.c:12:5: error: size of array ‘x’ is negative - 12 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.c -struct X { char a; float b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -float b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_7.c:11:5: error: size of array ‘x’ is negative - 11 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.c -struct X { char a; float b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -float b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_6.c:10:5: error: size of array ‘x’ is negative - 10 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.c -struct X { char a; float b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -float b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_5.c:9:5: error: size of array ‘x’ is negative - 9 | int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_4.c -struct X { char a; float b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -float b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_4.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float_align_4.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -Detecting size and alignment of int * -**** BEGIN PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int__ptr_.c -int * x; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int__ptr_.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/keyword_int__ptr_.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__size_8.c -int x [((int)sizeof (int *)) -8]; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__size_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__size_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE run_type_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__align_8.c -struct X { char a; int * b; }; -struct Y { -char a1; -char a2; -char a3; -char a4; -char a5; -char a6; -char a7; -char a8; -int * b; }; -int x[sizeof(struct X)==sizeof(struct Y)?1:-1]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__align_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/int__ptr__align_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE add_appropriate_type_size_and_alignment_switch **** -**** BEGIN PROBE run_char_bit_size_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_1.c -#define N 1 -#define SHIFT(VALUE,AMOUNT) \ - ((VALUE) << ((AMOUNT) >= 63 ? 7 : 0) \ - << ((AMOUNT) >= 56 ? 7 : 0) \ - << ((AMOUNT) >= 49 ? 7 : 0) \ - << ((AMOUNT) >= 42 ? 7 : 0) \ - << ((AMOUNT) >= 35 ? 7 : 0) \ - << ((AMOUNT) >= 28 ? 7 : 0) \ - << ((AMOUNT) >= 21 ? 7 : 0) \ - << ((AMOUNT) >= 14 ? 7 : 0) \ - << ((AMOUNT) >= 7 ? 7 : 0) \ - << ((AMOUNT) % 7)) -typedef unsigned char UC; -void foo() { - static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_1.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_1.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.c -#define N 9 -#define SHIFT(VALUE,AMOUNT) \ - ((VALUE) << ((AMOUNT) >= 63 ? 7 : 0) \ - << ((AMOUNT) >= 56 ? 7 : 0) \ - << ((AMOUNT) >= 49 ? 7 : 0) \ - << ((AMOUNT) >= 42 ? 7 : 0) \ - << ((AMOUNT) >= 35 ? 7 : 0) \ - << ((AMOUNT) >= 28 ? 7 : 0) \ - << ((AMOUNT) >= 21 ? 7 : 0) \ - << ((AMOUNT) >= 14 ? 7 : 0) \ - << ((AMOUNT) >= 7 ? 7 : 0) \ - << ((AMOUNT) % 7)) -typedef unsigned char UC; -void foo() { - static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.c: In function ‘foo’: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_9.c:15:14: error: size of array ‘check_char_bit’ is negative - 15 | static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; - | ^~~~~~~~~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_8.c -#define N 8 -#define SHIFT(VALUE,AMOUNT) \ - ((VALUE) << ((AMOUNT) >= 63 ? 7 : 0) \ - << ((AMOUNT) >= 56 ? 7 : 0) \ - << ((AMOUNT) >= 49 ? 7 : 0) \ - << ((AMOUNT) >= 42 ? 7 : 0) \ - << ((AMOUNT) >= 35 ? 7 : 0) \ - << ((AMOUNT) >= 28 ? 7 : 0) \ - << ((AMOUNT) >= 21 ? 7 : 0) \ - << ((AMOUNT) >= 14 ? 7 : 0) \ - << ((AMOUNT) >= 7 ? 7 : 0) \ - << ((AMOUNT) % 7)) -typedef unsigned char UC; -void foo() { - static int check_char_bit[(UC)SHIFT(1U,N-1U) != 0 ? 1 : -1]; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_8.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/char_bit_8.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE run_char_bit_size_test **** -**** END PROBE run_type_size_and_alignment_tests **** -**** BEGIN PROBE add_appropriate_restrict_switch_if_needed **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.c -int * restrict i; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/restrict.c:1:16: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘i’ - 1 | int * restrict i; - | ^ - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_restrict_switch_if_needed **** -**** BEGIN PROBE add_appropriate_cr_term_switch_if_needed **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/cr_term.c -int i; #define foo \ bar void foo() { }; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/cr_term.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/cr_term.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE add_appropriate_cr_term_switch_if_needed **** -**** BEGIN PROBE add_enable_declspec_switch_if_needed **** -__declspec macro definition test. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.c -#ifndef __declspec -#error __declspec not defined -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec.c:2:2: error: #error __declspec not defined - 2 | #error __declspec not defined - | ^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec2.c - -void __declspec(int x) { - x = 1; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec2.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/declspec2.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE add_enable_declspec_switch_if_needed **** -**** BEGIN PROBE add_appropriate_wchar_t_type_switch **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c -void f() { - static const unsigned short invalid_wcs[] = L"Invalid wide format string."; - static const unsigned short prefix[] = L"+\0-\0 \0000x\0000X"; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c: In function ‘f’: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c:2:47: error: cannot initialize array of ‘short unsigned int’ from a string literal with type array of ‘int’ - 2 | static const unsigned short invalid_wcs[] = L"Invalid wide format string."; - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typet.c:3:42: error: cannot initialize array of ‘short unsigned int’ from a string literal with type array of ‘int’ - 3 | static const unsigned short prefix[] = L"+\0-\0 \0000x\0000X"; - | ^~~~~~~~~~~~~~~~~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c -void f() { - static const short invalid_wcs[] = L"Invalid wide format string."; - static const short prefix[] = L"+\0-\0 \0000x\0000X"; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c: In function ‘f’: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c:2:38: error: array of inappropriate type initialized from string constant - 2 | static const short invalid_wcs[] = L"Invalid wide format string."; - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_types.c:3:33: error: array of inappropriate type initialized from string constant - 3 | static const short prefix[] = L"+\0-\0 \0000x\0000X"; - | ^~~~~~~~~~~~~~~~~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c -void f() { - static const unsigned int invalid_wcs[] = L"Invalid wide format string."; - static const unsigned int prefix[] = L"+\0-\0 \0000x\0000X"; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c: In function ‘f’: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c:2:45: error: cannot initialize array of ‘unsigned int’ from a string literal with type array of ‘int’ - 2 | static const unsigned int invalid_wcs[] = L"Invalid wide format string."; - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typej.c:3:40: error: cannot initialize array of ‘unsigned int’ from a string literal with type array of ‘int’ - 3 | static const unsigned int prefix[] = L"+\0-\0 \0000x\0000X"; - | ^~~~~~~~~~~~~~~~~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typei.c -void f() { - static const int invalid_wcs[] = L"Invalid wide format string."; - static const int prefix[] = L"+\0-\0 \0000x\0000X"; -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typei.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/wchar_t_typei.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** END PROBE add_appropriate_wchar_t_type_switch **** -**** BEGIN PROBE add_multiline_string_switch_if_needed **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c -char* str = "Hello -World"; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:1:13: warning: missing terminating " character - 1 | char* str = "Hello - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:1:13: error: missing terminating " character - 1 | char* str = "Hello - | ^~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:2:6: warning: missing terminating " character - 2 | World"; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:2:6: error: missing terminating " character - 2 | World"; - | ^~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:2:1: error: ‘World’ undeclared here (not in a function) - 2 | World"; - | ^~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/multiline_string.c:2:1: error: expected ‘,’ or ‘;’ at end of input - -**** END FILE stderr *** -Test failed -**** END PROBE add_multiline_string_switch_if_needed **** -**** BEGIN PROBE add_appropriate_trigraphs_switch **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c -char x ??( 3 ??) = "Hi"; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c:1:8: warning: trigraph ??( ignored, use -trigraphs to enable [-Wtrigraphs] - 1 | char x ??( 3 ??) = "Hi"; - | -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c:1:8: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘?’ token - 1 | char x ??( 3 ??) = "Hi"; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/trigraphs.c:1:14: warning: trigraph ??) ignored, use -trigraphs to enable [-Wtrigraphs] - 1 | char x ??( 3 ??) = "Hi"; - | - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_trigraphs_switch **** -**** BEGIN PROBE run_x86_calling_conventions_test **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.c -void foo(void) __attribute__((__stdcall__)); - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/supports_gnu_cc_attr.c:1:1: warning: ‘stdcall’ attribute ignored [-Wattributes] - 1 | void foo(void) __attribute__((__stdcall__)); - | ^~~~ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.c -void f(void) ; -void (*p)() __attribute__((__stdcall__)) = &f; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_stdcall.c:2:1: warning: ‘stdcall’ attribute ignored [-Wattributes] - 2 | void (*p)() __attribute__((__stdcall__)) = &f; - | ^~~~ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.c -void f(void) ; -void (*p)() __attribute__((__cdecl__)) = &f; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_cdecl.c:2:1: warning: ‘cdecl’ attribute ignored [-Wattributes] - 2 | void (*p)() __attribute__((__cdecl__)) = &f; - | ^~~~ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.c -void f(void) ; -void (*p)() __attribute__((__fastcall__)) = &f; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_fastcall.c:2:1: warning: ‘fastcall’ attribute ignored [-Wattributes] - 2 | void (*p)() __attribute__((__fastcall__)) = &f; - | ^~~~ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.c -void f(void) ; -void (*p)() __attribute__((__vectorcall__)) = &f; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_vectorcall.c:2:1: warning: ‘vectorcall’ attribute directive ignored [-Wattributes] - 2 | void (*p)() __attribute__((__vectorcall__)) = &f; - | ^~~~ - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.c -void f(void) ; -void (*p)() __attribute__((__thiscall__)) = &f; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_thiscall.c:2:1: warning: ‘thiscall’ attribute ignored [-Wattributes] - 2 | void (*p)() __attribute__((__thiscall__)) = &f; - | ^~~~ - -**** END FILE stderr *** -Test succeded -**** END PROBE run_x86_calling_conventions_test **** -**** BEGIN PROBE add_appropriate_altivec_switch_if_needed **** -Detecting whether AltiVec is supported. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.c -__vector unsigned int a; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/altivec.c:1:9: error: expected ‘;’ before ‘unsigned’ - 1 | __vector unsigned int a; - | ^~~~~~~~~ - | ; - -**** END FILE stderr *** -Test failed -AltiVec is implicitly disabled. -**** END PROBE add_appropriate_altivec_switch_if_needed **** -**** BEGIN PROBE add_appropriate_c_version_switch **** -Detecting which C mode is in use. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c11.c -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L -int using_c11; -#else -#error "Not c11" -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c11.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c11.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c11.c:4:2: error: #error "Not c11" - 4 | #error "Not c11" - | ^~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c99.c -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L -int using_c99; -#else -#error "Not c99" -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c99.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c99.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/c99.c:4:2: error: #error "Not c99" - 4 | #error "Not c99" - | ^~~~~ - -**** END FILE stderr *** -Test failed -c99 mode appears to be disabled. -**** END PROBE add_appropriate_c_version_switch **** -**** BEGIN PROBE add_float80_and_128_switch_if_needed **** -Detecting whether __float80 and __float128 are supported. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float80.c -__float80 x; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float80.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float80.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -float80 appears to be enabled. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float128.c -__float128 x; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float128.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/float128.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -float128 appears to be enabled. -**** END PROBE add_float80_and_128_switch_if_needed **** -**** BEGIN PROBE add_appropriate__Bool_switch **** -Detecting whether _Bool keyword is in use. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_Bool.c -#ifdef _Bool -#undef _Bool -#endif - -_Bool foo; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_Bool.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/_Bool.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -_Bool keyword appears to be in use. -**** END PROBE add_appropriate__Bool_switch **** -**** BEGIN PROBE add_appropriate_macro_stack_pragma_switch **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_sanity.c -#define TEST 1 -#pragma push_macro("TEST") -#pragma pop_macro("TEST") - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_sanity.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_sanity.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_pragmas.c -#define TEST 1 -#pragma push_macro("TEST") -#undef TEST -#define TEST -1 -#pragma pop_macro("TEST") -int arr[TEST]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_pragmas.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macro_stack_pragmas.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.c -#define TEST -1 -#pragma push_macro("TEST") -#undef TEST -#define TEST 1 -#pragma pop_macro("TEST") -int arr[TEST]; - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_macro_stack_pragmas.c:6:5: error: size of array ‘arr’ is negative - 6 | int arr[TEST]; - | ^~~ - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_macro_stack_pragma_switch **** -**** BEGIN PROBE add_appropriate_arg_dependent_overload_switch **** -Detecting whether --arg_dependent_overload is needed. -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c -typedef unsigned short FIXED_FLOAT16; -typedef unsigned int FIXED_FLOAT32; - -namespace Y { -typedef struct _VECTOR3F { } VECTOR3F; - -float InnerProduct(const _VECTOR3F& v1, const _VECTOR3F& v2); -} - -namespace fxutil { - FIXED_FLOAT32 InnerProduct(const FIXED_FLOAT32& v1, const FIXED_FLOAT32& v2); - FIXED_FLOAT32 InnerProduct(const FIXED_FLOAT16& v1, const FIXED_FLOAT16& v2); -} - -namespace X { - float Sqrt(float f); - float Sqrt(FIXED_FLOAT32 f); -} -using namespace X; - -void f(Y::VECTOR3F &scale) -{ - using fxutil::InnerProduct; - Sqrt(InnerProduct(scale,scale)); -} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:4:1: error: unknown type name ‘namespace’ - 4 | namespace Y { - | ^~~~~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:4:13: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token - 4 | namespace Y { - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:10:1: error: unknown type name ‘namespace’ - 10 | namespace fxutil { - | ^~~~~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:10:18: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token - 10 | namespace fxutil { - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:15:1: error: unknown type name ‘namespace’ - 15 | namespace X { - | ^~~~~~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:15:13: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token - 15 | namespace X { - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:19:1: error: unknown type name ‘using’ - 19 | using namespace X; - | ^~~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:19:17: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘X’ - 19 | using namespace X; - | ^ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/arg_dependent_overload.c:21:9: error: expected ‘)’ before ‘:’ token - 21 | void f(Y::VECTOR3F &scale) - | ^ - | ) - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_arg_dependent_overload_switch **** -**** BEGIN PROBE add_appropriate_vector_intrinsics_switch **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector bool int x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector bool int x) {f1(x);} - | ^~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_bool.c:1:102: error: unknown type name ‘__vector’ - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector bool int x) {f1(x);} - | ^~~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector __bool int x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector __bool int x) {f1(x);} - | ^~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___bool.c:1:102: error: unknown type name ‘__vector’ - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(__vector __bool int x) {f1(x);} - | ^~~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector bool int x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector bool int x) {f1(x);} - | ^~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_bool.c:1:102: error: unknown type name ‘vector’ - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector bool int x) {f1(x);} - | ^~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector __bool int x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector __bool int x) {f1(x);} - | ^~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___bool.c:1:102: error: unknown type name ‘vector’ - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(bool__))) unsigned int x); void f2(vector __bool int x) {f1(x);} - | ^~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector pixel x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector pixel x) {f1(x);} - | ^~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector_pixel.c:1:105: error: unknown type name ‘__vector’ - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector pixel x) {f1(x);} - | ^~~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector __pixel x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector __pixel x) {f1(x);} - | ^~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__vector___pixel.c:1:105: error: unknown type name ‘__vector’ - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(__vector __pixel x) {f1(x);} - | ^~~~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector pixel x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector pixel x) {f1(x);} - | ^~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector_pixel.c:1:105: error: unknown type name ‘vector’ - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector pixel x) {f1(x);} - | ^~~~~~ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c -void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector __pixel x) {f1(x);} - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector __pixel x) {f1(x);} - | ^~~~ -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c:1:1: warning: ‘altivec’ attribute directive ignored [-Wattributes] -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/vector___pixel.c:1:105: error: unknown type name ‘vector’ - 1 | void f1(__attribute__((altivec(vector__))) __attribute__((altivec(pixel__))) unsigned short x); void f2(vector __pixel x) {f1(x);} - | ^~~~~~ - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_vector_intrinsics_switch **** -**** BEGIN PROBE set_appropriate_target_platform **** -**** BEGIN PROBE get_macros **** -compiler_prober_t::make_abs_preproc_command - cmd: /usr/bin/cc -std=gnu90 -/usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c -#ifdef __MINGW64__ -__coverity_macro __MINGW64__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __MINGW32__ -__coverity_macro __MINGW32__ -#else -__the_symbol_is_not_defined__ -#endif - -**** END source file *** -pipe_command: /usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c -**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/pp_out -# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" -# 1 "" -# 1 "" -# 1 "/usr/include/stdc-predef.h" 1 3 4 -# 1 "" 2 -# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - -**** END FILE output *** -**** BEGIN FILE error: - -**** END FILE error *** -**** END PROBE get_macros **** -[WARNING] Failed to infer target platform of compiler using macro probes. Falling back on default value. -**** END PROBE set_appropriate_target_platform **** -pipe_command: /usr/bin/cc -std=gnu90 -c -print-sysroot -pipe_commands starting: /usr/bin/cc -std=gnu90 -c -print-sysroot -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.c -int inline = 0; - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/no_inline_keyword.c:1:12: error: expected identifier or ‘(’ before ‘=’ token - 1 | int inline = 0; - | ^ - -**** END FILE stderr *** -Test failed -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/inline_keyword.c -inline void foo() { } - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/inline_keyword.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/inline_keyword.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN PROBE add_appropriate_has_include_switch **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_pos.c -#ifdef __has_include -# if __has_include("whatever") -# endif -#else -#error -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_pos.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_pos.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.c -#ifdef __has_include -#error -#else -#define __has_include int foo(void) -__has_include; -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_neg.c:2:2: error: #error - 2 | #error - | ^~~~~ - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_has_include_switch **** -**** BEGIN PROBE add_appropriate_has_include_next_switch **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_pos.c -#ifdef __has_include_next -# if __has_include_next("whatever") -# endif -#else -#error -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_pos.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_pos.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.c -#ifdef __has_include_next -#error -#else -#define __has_include_next int foo(void) -__has_include_next; -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_include_next_neg.c:2:2: error: #error - 2 | #error - | ^~~~~ - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_has_include_next_switch **** -**** BEGIN PROBE add_appropriate_has_cpp_attribute_switch **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_pos.c -#ifdef __has_cpp_attribute -# if __has_cpp_attribute(whatever) -# endif -#else -#error -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_pos.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_pos.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: - -**** END FILE stderr *** -Test succeded -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.c -#ifdef __has_cpp_attribute -#error -#else -#define __has_cpp_attribute int foo(void) -__has_cpp_attribute; -#endif - - -**** END FILE source file *** -pipe_command: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -c /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.c -**** BEGIN FILE stdout: - -**** END FILE stdout *** -**** BEGIN FILE stderr: -/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/__has_cpp_attribute_neg.c:2:2: error: #error - 2 | #error - | ^~~~~ - -**** END FILE stderr *** -Test failed -**** END PROBE add_appropriate_has_cpp_attribute_switch **** -run_comp_tests: no defined custom tests -**** BEGIN PROBE get_standard_includes **** -Dryrun command: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c - -**** END source file *** -pipe_command: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -E -v /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c -**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.output -Using built-in specs. -COLLECT_GCC=/usr/bin/cc -OFFLOAD_TARGET_NAMES=nvptx-none:hsa -OFFLOAD_TARGET_DEFAULT=1 -Target: x86_64-linux-gnu -Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu -Thread model: posix -gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) -COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' - /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -E -quiet -v -imultiarch x86_64-linux-gnu /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" -#include "..." search starts here: -#include <...> search starts here: - /usr/lib/gcc/x86_64-linux-gnu/9/include - /usr/local/include - /usr/include/x86_64-linux-gnu - /usr/include -End of search list. -COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ -LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' - -**** END FILE output *** -**** BEGIN FILE error: -Using built-in specs. -COLLECT_GCC=/usr/bin/cc -OFFLOAD_TARGET_NAMES=nvptx-none:hsa -OFFLOAD_TARGET_DEFAULT=1 -Target: x86_64-linux-gnu -Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-9QDOt0/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu -Thread model: posix -gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) -COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' - /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -E -quiet -v -imultiarch x86_64-linux-gnu /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c -mtune=generic -march=x86-64 -std=gnu90 -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" -#include "..." search starts here: -#include <...> search starts here: - /usr/lib/gcc/x86_64-linux-gnu/9/include - /usr/local/include - /usr/include/x86_64-linux-gnu - /usr/include -End of search list. -COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ -LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-std=gnu90' '-E' '-v' '-mtune=generic' '-march=x86-64' - -**** END FILE error *** -Dryrun gcc found sys include path: /usr/lib/gcc/x86_64-linux-gnu/9/include -Dryrun gcc found sys include path: /usr/local/include -Dryrun gcc found sys include path: /usr/include/x86_64-linux-gnu -Dryrun gcc found sys include path: /usr/include -Dryrun gcc headers found: 4 -**** END PROBE get_standard_includes **** -compiler_prober_t::make_abs_preproc_command - cmd: /usr/bin/cc -std=gnu90 -/usr/bin/cc -std=gnu90 -dM -E /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c - - -**** END source file *** -pipe_command: /usr/bin/cc -std=gnu90 -dM -E /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -dM -E /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.c -**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/empty.output -#define __SSP_STRONG__ 3 -#define __DBL_MIN_EXP__ (-1021) -#define __FLT32X_MAX_EXP__ 1024 -#define __UINT_LEAST16_MAX__ 0xffff -#define __ATOMIC_ACQUIRE 2 -#define __FLT128_MAX_10_EXP__ 4932 -#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F -#define __GCC_IEC_559_COMPLEX 2 -#define __UINT_LEAST8_TYPE__ unsigned char -#define __SIZEOF_FLOAT80__ 16 -#define __INTMAX_C(c) c ## L -#define __CHAR_BIT__ 8 -#define __UINT8_MAX__ 0xff -#define __WINT_MAX__ 0xffffffffU -#define __FLT32_MIN_EXP__ (-125) -#define __ORDER_LITTLE_ENDIAN__ 1234 -#define __SIZE_MAX__ 0xffffffffffffffffUL -#define __WCHAR_MAX__ 0x7fffffff -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 -#define __DBL_DENORM_MIN__ ((double)4.94065645841246544176568792868221372e-324L) -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 -#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 -#define __GCC_IEC_559 2 -#define __FLT32X_DECIMAL_DIG__ 17 -#define __FLT_EVAL_METHOD__ 0 -#define __unix__ 1 -#define __FLT64_DECIMAL_DIG__ 17 -#define __CET__ 3 -#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 -#define __x86_64 1 -#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL -#define __SIG_ATOMIC_TYPE__ int -#define __DBL_MIN_10_EXP__ (-307) -#define __FINITE_MATH_ONLY__ 0 -#define __GNUC_PATCHLEVEL__ 0 -#define __FLT32_HAS_DENORM__ 1 -#define __UINT_FAST8_MAX__ 0xff -#define __has_include(STR) __has_include__(STR) -#define __DEC64_MAX_EXP__ 385 -#define __INT8_C(c) c -#define __INT_LEAST8_WIDTH__ 8 -#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL -#define __SHRT_MAX__ 0x7fff -#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L -#define __FLT64X_MAX_10_EXP__ 4932 -#define __UINT_LEAST8_MAX__ 0xff -#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 -#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128 -#define __UINTMAX_TYPE__ long unsigned int -#define __linux 1 -#define __DEC32_EPSILON__ 1E-6DF -#define __FLT_EVAL_METHOD_TS_18661_3__ 0 -#define __unix 1 -#define __UINT32_MAX__ 0xffffffffU -#define __LDBL_MAX_EXP__ 16384 -#define __FLT128_MIN_EXP__ (-16381) -#define __WINT_MIN__ 0U -#define __linux__ 1 -#define __FLT128_MIN_10_EXP__ (-4931) -#define __INT_LEAST16_WIDTH__ 16 -#define __SCHAR_MAX__ 0x7f -#define __FLT128_MANT_DIG__ 113 -#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) -#define __INT64_C(c) c ## L -#define __DBL_DIG__ 15 -#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 -#define __FLT64X_MANT_DIG__ 64 -#define __SIZEOF_INT__ 4 -#define __SIZEOF_POINTER__ 8 -#define __USER_LABEL_PREFIX__ -#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x -#define __STDC_HOSTED__ 1 -#define __LDBL_HAS_INFINITY__ 1 -#define __FLT32_DIG__ 6 -#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F -#define __SHRT_WIDTH__ 16 -#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L -#define __DEC32_MAX__ 9.999999E96DF -#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x -#define __FLT32X_HAS_INFINITY__ 1 -#define __INT32_MAX__ 0x7fffffff -#define __INT_WIDTH__ 32 -#define __SIZEOF_LONG__ 8 -#define __STDC_IEC_559__ 1 -#define __STDC_ISO_10646__ 201706L -#define __UINT16_C(c) c -#define __PTRDIFF_WIDTH__ 64 -#define __DECIMAL_DIG__ 21 -#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64 -#define __gnu_linux__ 1 -#define __INTMAX_WIDTH__ 64 -#define __has_include_next(STR) __has_include_next__(STR) -#define __FLT64X_MIN_10_EXP__ (-4931) -#define __LDBL_HAS_QUIET_NAN__ 1 -#define __FLT64_MANT_DIG__ 53 -#define __GNUC__ 9 -#define __pie__ 2 -#define __MMX__ 1 -#define __FLT_HAS_DENORM__ 1 -#define __SIZEOF_LONG_DOUBLE__ 16 -#define __BIGGEST_ALIGNMENT__ 16 -#define __FLT64_MAX_10_EXP__ 308 -#define __DBL_MAX__ ((double)1.79769313486231570814527423731704357e+308L) -#define __INT_FAST32_MAX__ 0x7fffffffffffffffL -#define __DBL_HAS_INFINITY__ 1 -#define __HAVE_SPECULATION_SAFE_VALUE 1 -#define __DEC32_MIN_EXP__ (-94) -#define __INTPTR_WIDTH__ 64 -#define __FLT32X_HAS_DENORM__ 1 -#define __INT_FAST16_TYPE__ long int -#define __LDBL_HAS_DENORM__ 1 -#define __FLT128_HAS_INFINITY__ 1 -#define __DEC128_MAX__ 9.99999999999999999999999999 - - - - 1 -#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x -#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) -#define __code_model_small__ 1 -#define __k8__ 1 -#define __INTPTR_TYPE__ long int -#define __UINT16_TYPE__ short unsigned int -#define __WCHAR_TYPE__ int -#define __SIZEOF_FLOAT__ 4 -#define __pic__ 2 -#define __UINTPTR_MAX__ 0xffffffffffffffffUL -#define __INT_FAST64_WIDTH__ 64 -#define __DEC64_MIN_EXP__ (-382) -#define __FLT32_DECIMAL_DIG__ 9 -#define __INT_FAST64_MAX__ 0x7fffffffffffffffL -#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 -#define __FLT_DIG__ 6 -#define __FLT32_HAS_INFINITY__ 1 -#define __FLT64X_MAX_EXP__ 16384 -#define __UINT_FAST64_TYPE__ long unsigned int -#define __INT_MAX__ 0x7fffffff -#define __amd64__ 1 -#define __INT64_TYPE__ long int -#define __FLT_MAX_EXP__ 128 -#define __ORDER_BIG_ENDIAN__ 4321 -#define __DBL_MANT_DIG__ 53 -#define __SIZEOF_FLOAT128__ 16 -#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL -#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 -#define __DEC64_MIN__ 1E-383DD -#define __WINT_TYPE__ unsigned int -#define __UINT_LEAST32_TYPE__ unsigned int -#define __SIZEOF_SHORT__ 2 -#define __SSE__ 1 -#define __LDBL_MIN_EXP__ (-16381) -#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64 -#define __WINT_WIDTH__ 32 -#define __INT_LEAST8_MAX__ 0x7f -#define __FLT32X_MAX_10_EXP__ 308 -#define __SIZEOF_INT128__ 16 -#define __LDBL_MAX_10_EXP__ 4932 -#define __ATOMIC_RELAXED 0 -#define __DBL_EPSILON__ ((double)2.22044604925031308084726333618164062e-16L) -#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128 -#define _LP64 1 -#define __UINT8_C(c) c -#define __FLT64_MAX_EXP__ 1024 -#define __INT_LEAST32_TYPE__ int -#define __SIZEOF_WCHAR_T__ 4 -#define __UINT64_TYPE__ long unsigned int -#define __FLT128_HAS_QUIET_NAN__ 1 -#define __INT_FAST8_TYPE__ signed char -#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x -#define __FLT64_HAS_DENORM__ 1 -#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32 -#define __DBL_DECIMAL_DIG__ 17 -#define __INT_FAST8_WIDTH__ 8 -#define __FXSR__ 1 -#define __DEC_EVAL_METHOD__ 2 -#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x -#define __UINT32_C(c) c ## U -#define __INTMAX_MAX__ 0x7fffffffffffffffL -#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ -#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F -#define __INT8_MAX__ 0x7f -#define __LONG_WIDTH__ 64 -#define __PIC__ 2 -#define __UINT_FAST32_TYPE__ long unsigned int -#define __CHAR32_TYPE__ unsigned int -#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F -#define __INT32_TYPE__ int -#define __SIZEOF_DOUBLE__ 8 -#define __FLT_MIN_10_EXP__ (-37) -#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64 -#define __INT_LEAST32_WIDTH__ 32 -#define __INTMAX_TYPE__ long int -#define __DEC128_MAX_EXP__ 6145 -#define __FLT32X_HAS_QUIET_NAN__ 1 -#define __ATOMIC_CONSUME 1 -#define __GNUC_MINOR__ 4 -#define __INT_FAST16_WIDTH__ 64 -#define __UINTMAX_MAX__ 0xffffffffffffffffUL -#define __DEC32_MANT_DIG__ 7 -#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x -#define __DBL_MAX_10_EXP__ 308 -#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L -#define __INT16_C(c) c -#define __STDC__ 1 -#define __PTRDIFF_TYPE__ long int -#define __ATOMIC_SEQ_CST 5 -#define __UINT32_TYPE__ unsigned int -#define __FLT32X_MIN_10_EXP__ (-307) -#define __UINTPTR_TYPE__ long unsigned int -#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD -#define __DEC128_MANT_DIG__ 34 -#define __LDBL_MIN_10_EXP__ (-4931) -#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128 -#define __SIZEOF_LONG_LONG__ 8 -#define __FLT128_DECIMAL_DIG__ 36 -#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 -#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x -#define __LDBL_DIG__ 18 -#define __FLT_DECIMAL_DIG__ 9 -#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL -#define __GNUC_GNU_INLINE__ 1 -#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 -#define __INT_LEAST64_WIDTH__ 64 -#define __UINT_FAST8_TYPE__ unsigned char -#define __ATOMIC_ACQ_REL 4 -#define __ATOMIC_RELEASE 3 - -**** END FILE output *** -**** BEGIN FILE error: - -**** END FILE error *** -Skipping looking for macros in standard headers. The header scan probe has been disabled by the no header scan option. -**** BEGIN PROBE get_macros **** -[STATUS] gcc-config-0: Retrieving values for macros -compiler_prober_t::make_abs_preproc_command - cmd: /usr/bin/cc -std=gnu90 -/usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c -#ifdef _REENTRANT -__coverity_macro _REENTRANT -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __CET__ -__coverity_macro __CET__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __CHAR_UNSIGNED__ -__coverity_macro __CHAR_UNSIGNED__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __DEPRECATED -__coverity_macro __DEPRECATED -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __EXCEPTIONS -__coverity_macro __EXCEPTIONS -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FAST_MATH__ -__coverity_macro __FAST_MATH__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FINITE_MATH_ONLY__ -__coverity_macro __FINITE_MATH_ONLY__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMA -__coverity_macro __FP_FAST_FMA -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF -__coverity_macro __FP_FAST_FMAF -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF128 -__coverity_macro __FP_FAST_FMAF128 -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF128X -__coverity_macro __FP_FAST_FMAF128X -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF16 -__coverity_macro __FP_FAST_FMAF16 -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF32 -__coverity_macro __FP_FAST_FMAF32 -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF32X -__coverity_macro __FP_FAST_FMAF32X -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF64 -__coverity_macro __FP_FAST_FMAF64 -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAF64X -__coverity_macro __FP_FAST_FMAF64X -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __FP_FAST_FMAL -__coverity_macro __FP_FAST_FMAL -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __GCC_HAVE_DWARF2_CFI_ASM -__coverity_macro __GCC_HAVE_DWARF2_CFI_ASM -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 -__coverity_macro __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __GCC_IEC_559_COMPLEX -__coverity_macro __GCC_IEC_559_COMPLEX -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __GNUG__ -__coverity_macro __GNUG__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __GXX_RTTI -__coverity_macro __GXX_RTTI -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __GXX_WEAK__ -__coverity_macro __GXX_WEAK__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __INCLUDE_LEVEL__ -__coverity_macro __INCLUDE_LEVEL__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __NO_MATH_ERRNO__ -__coverity_macro __NO_MATH_ERRNO__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __PIC__ -__coverity_macro __PIC__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __PIE__ -__coverity_macro __PIE__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __PTRDIFF_TYPE__ -__coverity_macro __PTRDIFF_TYPE__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __REGISTER_PREFIX__ -__coverity_macro __REGISTER_PREFIX__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __SANITIZE_ADDRESS__ -__coverity_macro __SANITIZE_ADDRESS__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __SANITIZE_THREAD__ -__coverity_macro __SANITIZE_THREAD__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __SIZE_TYPE__ -__coverity_macro __SIZE_TYPE__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __SSP_ALL__ -__coverity_macro __SSP_ALL__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __SSP_EXPLICIT__ -__coverity_macro __SSP_EXPLICIT__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __SSP_STRONG__ -__coverity_macro __SSP_STRONG__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __SSP__ -__coverity_macro __SSP__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __STDCPP_DEFAULT_NEW_ALIGNMENT__ -__coverity_macro __STDCPP_DEFAULT_NEW_ALIGNMENT__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __STDC_IEC_559_COMPLEX__ -__coverity_macro __STDC_IEC_559_COMPLEX__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __STDC_IEC_559__ -__coverity_macro __STDC_IEC_559__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __STDC_VERSION__ -__coverity_macro __STDC_VERSION__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __STDC__ -__coverity_macro __STDC__ -#else -__the_symbol_is_not_define - - - -ariables -__coverity_macro __cpp_inline_variables -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_lambdas -__coverity_macro __cpp_lambdas -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_modules -__coverity_macro __cpp_modules -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_namespace_attributes -__coverity_macro __cpp_namespace_attributes -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_nested_namespace_definitions -__coverity_macro __cpp_nested_namespace_definitions -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_noexcept_function_type -__coverity_macro __cpp_noexcept_function_type -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_nontype_template_args -__coverity_macro __cpp_nontype_template_args -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_nontype_template_parameter_auto -__coverity_macro __cpp_nontype_template_parameter_auto -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_nontype_template_parameter_class -__coverity_macro __cpp_nontype_template_parameter_class -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_nsdmi -__coverity_macro __cpp_nsdmi -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_range_based_for -__coverity_macro __cpp_range_based_for -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_raw_strings -__coverity_macro __cpp_raw_strings -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_ref_qualifiers -__coverity_macro __cpp_ref_qualifiers -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_return_type_deduction -__coverity_macro __cpp_return_type_deduction -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_rtti -__coverity_macro __cpp_rtti -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_runtime_arrays -__coverity_macro __cpp_runtime_arrays -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_rvalue_reference -__coverity_macro __cpp_rvalue_reference -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_rvalue_references -__coverity_macro __cpp_rvalue_references -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_size_t_suffix -__coverity_macro __cpp_size_t_suffix -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_sized_deallocation -__coverity_macro __cpp_sized_deallocation -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_static_assert -__coverity_macro __cpp_static_assert -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_structured_bindings -__coverity_macro __cpp_structured_bindings -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_template_template_args -__coverity_macro __cpp_template_template_args -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_threadsafe_static_init -__coverity_macro __cpp_threadsafe_static_init -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_transactional_memory -__coverity_macro __cpp_transactional_memory -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_unicode_characters -__coverity_macro __cpp_unicode_characters -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_unicode_literals -__coverity_macro __cpp_unicode_literals -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_user_defined_literals -__coverity_macro __cpp_user_defined_literals -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_using_enum -__coverity_macro __cpp_using_enum -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_variable_templates -__coverity_macro __cpp_variable_templates -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_variadic_templates -__coverity_macro __cpp_variadic_templates -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __cpp_variadic_using -__coverity_macro __cpp_variadic_using -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __pic__ -__coverity_macro __pic__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __pie__ -__coverity_macro __pie__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __private_extern__ -__coverity_macro __private_extern__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __unix__ -__coverity_macro __unix__ -#else -__the_symbol_is_not_defined__ -#endif -#ifdef __vax__ -__coverity_macro __vax__ -#else -__the_symbol_is_not_defined__ -#endif - -**** END source file *** -pipe_command: /usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -E -U__BLOCKS__ -xc /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c -**** BEGIN FILE output: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/pp_out -# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" -# 1 "" -# 1 "" -# 1 "/usr/include/stdc-predef.h" 1 3 4 -# 1 "" 2 -# 1 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 3 - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 0 - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 1 - - - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 2 - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 0 - - - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 2 - - - - -__coverity_macro 2 - - - - -__coverity_macro long int - - - - -__coverity_macro - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro long unsigned int - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 3 - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro -# 187 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" 3 4 - 1 - - - - - -# 192 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" -__coverity_macro -# 192 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" 3 4 - 1 - - - - - - - -# 199 "/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/macros.c" -__the_symbol_is_not_defined__ - - -__coverity_macro 1 - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro - - - - -__coverity_macro "9.4.0" - - - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 2 - - - - -__coverity_macro 2 - - - - - - -__the_symbol_is_not_defined__ - - -__coverity_macro 1 - - - - - - -__the_symbol_is_not_defined__ - -**** END FILE output *** -**** BEGIN FILE error: - -**** END FILE error *** -**** END PROBE get_macros **** -Failed to find header /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/templates/gnu/cc.h -[STATUS] gcc-config-0: Running config probes -**** BEGIN PROBE run_linker_config_probe **** -Running command "/usr/bin/cc -std=gnu90 -print-search-dirs". -pipe_command: /usr/bin/cc -std=gnu90 -print-search-dirs -pipe_commands starting: /usr/bin/cc -std=gnu90 -print-search-dirs -**** BEGIN OUTPUT run_linker_config_probe **** -install: /usr/lib/gcc/x86_64-linux-gnu/9/ -programs: =/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/ -libraries: =/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/9/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/9/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ -**** END OUTPUT run_linker_config_probe **** -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/'. -**** Found library search path '/lib/x86_64-linux-gnu/9/'. -**** Found library search path '/lib/x86_64-linux-gnu/'. -**** Found library search path '/lib/../lib/'. -**** Found library search path '/usr/lib/x86_64-linux-gnu/9/'. -**** Found library search path '/usr/lib/x86_64-linux-gnu/'. -**** Found library search path '/usr/lib/../lib/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/'. -**** Found library search path '/usr/lib/gcc/x86_64-linux-gnu/9/../../../'. -**** Found library search path '/lib/'. -**** Found library search path '/usr/lib/'. -**** END PROBE run_linker_config_probe **** -**** BEGIN PROBE run_linker_config_probe **** -**** BEGIN FILE source file: /tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-ubuntu/405944e0ecb176c32a4bd1106d6a9383/test.c -int main() {} -**** END FILE source file *** -Running command "/usr/bin/cc -std=gnu90 -Wl,--trace test.c". -pipe_command: /usr/bin/cc -std=gnu90 -Wl,--trace test.c -pipe_commands starting: /usr/bin/cc -std=gnu90 -Wl,--trace test.c -**** BEGIN OUTPUT run_linker_config_probe **** -/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o -/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o -/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -/tmp/ccVzHvWI.o -/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -/usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so -/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 -/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so -/lib/x86_64-linux-gnu/libc.so.6 -/usr/lib/x86_64-linux-gnu/libc_nonshared.a -/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 -/usr/lib/x86_64-linux-gnu/libc_nonshared.a -/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 -/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -/usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so -/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 -/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a -/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o -/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o -**** END OUTPUT run_linker_config_probe **** -[WARNING]: expecting first line to be a mode line but got: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o -[WARNING]: /tmp/ccVzHvWI.o eliminated because it does not exist in the file system. -**** END PROBE run_linker_config_probe **** diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-compiler-compat.h b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-compiler-compat.h deleted file mode 100644 index b46f6b7b8..000000000 --- a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-compiler-compat.h +++ /dev/null @@ -1,8656 +0,0 @@ - -#if __COVERITY__ -#if !defined(COVERITY_COMPAT_a686842b84bb52371c3dd7976b9e30b4) -#define COVERITY_COMPAT_a686842b84bb52371c3dd7976b9e30b4 -#pragma builtin begin - -/* - Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. - The information contained in this file is the proprietary and confidential - information of Synopsys, Inc. and its licensors, and is supplied subject to, - and may be used only by Synopsys customers in accordance with the terms and - conditions of a previously executed license agreement between Synopsys and - that customer. -*/ - - -/* DO NOT MODIFY THE CONTENTS OF THIS FILE */ - -#define __COVERITY_GCC_VERSION_AT_LEAST(maj, min) \ - ((__GNUC__ > (maj)) || (__GNUC__ == (maj) && __GNUC_MINOR__ >= (min))) - -#if defined(__GNUC__) -#if defined(__SPU__) || defined(__PPC__) -#if defined(__COVERITY_GCC_DIALECT_C89) || defined(__COVERITY_GCC_DIALECT_GNU89) - #undef __STDC_VERSION__ -#endif -#endif -#endif // __GNUC__ -/* Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. */ -#ifdef __coverity_cplusplus -extern "C" { -#endif - -#if defined(__arm__) || defined(__ARM_NEON__) || defined(__aarch64__) - -// Type aliases common to several targets - -typedef char __simd128_int8_t __attribute__((__vector_size__(16))); -typedef short __simd128_int16_t __attribute__((__vector_size__(16))); -typedef int __simd128_int32_t __attribute__((__vector_size__(16))); -typedef long long __simd128_int64_t __attribute__((__vector_size__(16))); -typedef unsigned char __simd128_uint8_t __attribute__((__vector_size__(16))); -typedef unsigned short __simd128_uint16_t __attribute__((__vector_size__(16))); -typedef unsigned int __simd128_uint32_t __attribute__((__vector_size__(16))); -typedef unsigned long long __simd128_uint64_t __attribute__((__vector_size__(16))); -typedef float cov_fp16_t __attribute__((mode(HF))); -typedef float __simd128_float32_t __attribute__((__vector_size__(16))); -typedef cov_fp16_t __simd128_float16_t __attribute__((__vector_size__(16))); -typedef int __builtin_neon_oi __attribute__ ((__vector_size__(32))); -typedef int __builtin_neon_xi __attribute__ ((__vector_size__(64))); -typedef cov_fp16_t __bf16; - -#endif // defined(__arm__) || defined(__ARM_NEON__) || defined(__aarch64__) - - -#ifdef __arm__ - -void __builtin_cxa_end_cleanup(); -void __builtin_arm_cdp(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); -void __builtin_arm_cdp2(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); -unsigned int __builtin_arm_crc32b(unsigned int, unsigned char); -unsigned int __builtin_arm_crc32cb(unsigned int, unsigned char); -unsigned int __builtin_arm_crc32ch(unsigned int, short unsigned int); -unsigned int __builtin_arm_crc32cw(unsigned int, unsigned int); -unsigned int __builtin_arm_crc32h(unsigned int, short unsigned int); -unsigned int __builtin_arm_crc32w(unsigned int, unsigned int); -void __builtin_arm_ldc(unsigned int, unsigned int, const void*); -void __builtin_arm_ldc2(unsigned int, unsigned int, const void*); -void __builtin_arm_ldc2l(unsigned int, unsigned int, const void*); -void __builtin_arm_ldcl(unsigned int, unsigned int, const void*); -void __builtin_arm_mcr(unsigned int, unsigned int, int, unsigned int, unsigned int, unsigned int); -void __builtin_arm_mcr2(unsigned int, unsigned int, int, unsigned int, unsigned int, unsigned int); -void __builtin_arm_mcrr(unsigned int, unsigned int, long long int, unsigned int); -void __builtin_arm_mcrr2(unsigned int, unsigned int, long long int, unsigned int); -int __builtin_arm_mrc(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); -int __builtin_arm_mrc2(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); -long long int __builtin_arm_mrrc(unsigned int, unsigned int, unsigned int); -long long int __builtin_arm_mrrc2(unsigned int, unsigned int, unsigned int); -void __builtin_arm_stc(unsigned int, unsigned int, void*); -void __builtin_arm_stc2(unsigned int, unsigned int, void*); -void __builtin_arm_stc2l(unsigned int, unsigned int, void*); -void __builtin_arm_stcl(unsigned int, unsigned int, void*); -void* __builtin___emutls_get_address(void*); -void __builtin___emutls_register_common(void*, unsigned int, unsigned int, void*); -unsigned int __builtin_arm_get_fpscr (); -void __builtin_arm_set_fpscr (unsigned int); - -int __builtin_arm_saturation_occurred(void); -int __builtin_arm_qadd(int, int); -int __builtin_arm_qadd16(int, int); -int __builtin_arm_qadd8(int, int); -int __builtin_arm_qasx(int, int); -int __builtin_arm_qsax(int, int); -int __builtin_arm_qsub(int, int); -int __builtin_arm_qsub16(int, int); -int __builtin_arm_qsub8(int, int); -int __builtin_arm_sadd16(int, int); -int __builtin_arm_sadd8(int, int); -int __builtin_arm_sasx(int, int); -unsigned int __builtin_arm_sel(unsigned int, unsigned int); -void __builtin_arm_set_saturation(int); -int __builtin_arm_shadd16(int, int); -int __builtin_arm_shadd8(int, int); -int __builtin_arm_shasx(int, int); -int __builtin_arm_shsax(int, int); -int __builtin_arm_shsub16(int, int); -int __builtin_arm_shsub8(int, int); -int __builtin_arm_smlabb(int, int, int); -int __builtin_arm_smlad(int, int, int); -int __builtin_arm_smladx(int, int, int); -long long int __builtin_arm_smlald(int, int, long long int); -long long int __builtin_arm_smlaldx(int, int, long long int); -int __builtin_arm_smlatb(int, int, int); -int __builtin_arm_smlatt(int, int, int); -int __builtin_arm_smlawb(int, int, int); -int __builtin_arm_smlawt(int, int, int); -int __builtin_arm_smlsd(int, int, int); -int __builtin_arm_smlsdx(int, int, int); -long long int __builtin_arm_smlsld(int, int, long long int); -long long int __builtin_arm_smlsldx(int, int, long long int); -int __builtin_arm_smuad(int, int); -int __builtin_arm_smuadx(int, int); -int __builtin_arm_smusd(int, int); -int __builtin_arm_smusdx(int, int); -unsigned int __builtin_arm_ssat(int, unsigned int); -unsigned int __builtin_arm_ssat16(int, unsigned int); -int __builtin_arm_ssax(int, int); -int __builtin_arm_ssub16(int, int); -int __builtin_arm_ssub8(int, int); -int __builtin_arm_sxtab16(int, int); -int __builtin_arm_sxtb16(int); -unsigned int __builtin_arm_uadd16(unsigned int, unsigned int); -unsigned int __builtin_arm_uadd8(unsigned int, unsigned int); -unsigned int __builtin_arm_uasx(unsigned int, unsigned int); -unsigned int __builtin_arm_uhadd16(unsigned int, unsigned int); -unsigned int __builtin_arm_uhadd8(unsigned int, unsigned int); -unsigned int __builtin_arm_uhasx(unsigned int, unsigned int); -unsigned int __builtin_arm_uhsax(unsigned int, unsigned int); -unsigned int __builtin_arm_uhsub16(unsigned int, unsigned int); -unsigned int __builtin_arm_uhsub8(unsigned int, unsigned int); -unsigned int __builtin_arm_uqadd16(unsigned int, unsigned int); -unsigned int __builtin_arm_uqadd8(unsigned int, unsigned int); -unsigned int __builtin_arm_uqasx(unsigned int, unsigned int); -unsigned int __builtin_arm_uqsax(unsigned int, unsigned int); -unsigned int __builtin_arm_uqsub16(unsigned int, unsigned int); -unsigned int __builtin_arm_uqsub8(unsigned int, unsigned int); -unsigned int __builtin_arm_usad8(unsigned int, unsigned int); -unsigned int __builtin_arm_usada8(unsigned int, unsigned int, unsigned int); -unsigned int __builtin_arm_usat(int, unsigned int); -unsigned int __builtin_arm_usat16(int, unsigned int); -unsigned int __builtin_arm_usax(unsigned int, unsigned int); -unsigned int __builtin_arm_usub16(unsigned int, unsigned int); -unsigned int __builtin_arm_usub8(unsigned int, unsigned int); -unsigned int __builtin_arm_uxtab16(unsigned int, unsigned int); -unsigned int __builtin_arm_uxtb16(unsigned int); -void __builtin_sat_imm_check(int, int, int); -void* __emutls_get_address(void*); -void __emutls_register_common(void*, unsigned int, unsigned int, void*); -__bf16 __divbc3(__bf16, __bf16, __bf16, __bf16); -__bf16 __mulbc3(__bf16, __bf16, __bf16, __bf16); - -// -mfp16-format=ieee -__bf16 __divhc3(__bf16, __bf16, __bf16, __bf16); -__bf16 __mulhc3(__bf16, __bf16, __bf16, __bf16); - -// -march=armv8-m.main+cdecp0 -long long int __builtin_arm_cx1adi(int, long long int, unsigned int); -int __builtin_arm_cx1asi(int, int, unsigned int); -long long int __builtin_arm_cx1di(int, unsigned int); -int __builtin_arm_cx1si(int, unsigned int); -long long int __builtin_arm_cx2adi(int, long long int, int, unsigned int); -int __builtin_arm_cx2asi(int, int, int, unsigned int); -long long int __builtin_arm_cx2di(int, int, unsigned int); -int __builtin_arm_cx2si(int, int, unsigned int); -long long int __builtin_arm_cx3adi(int, long long int, int, int, unsigned int); -int __builtin_arm_cx3asi(int, int, int, int, unsigned int); -long long int __builtin_arm_cx3di(int, int, int, unsigned int); -int __builtin_arm_cx3si(int, int, int, unsigned int); - -// -mfloat-abi=hard -march=armv8.1-m.main+mve+cdecp0 -long long int __builtin_arm_vcx1adi(int, long long int, unsigned int); -int __builtin_arm_vcx1asi(int, int, unsigned int); -long long int __builtin_arm_vcx1di(int, unsigned int); -__simd128_int8_t __builtin_arm_vcx1qa_p_v16qi(int, __simd128_int8_t, unsigned int, short unsigned int); -__simd128_int8_t __builtin_arm_vcx1qav16qi(int, __simd128_int8_t, unsigned int); -__simd128_int8_t __builtin_arm_vcx1q_p_v16qi(int, __simd128_int8_t, unsigned int, short unsigned int); -__simd128_int8_t __builtin_arm_vcx1qv16qi(int, unsigned int); -int __builtin_arm_vcx1si(int, unsigned int); -long long int __builtin_arm_vcx2adi(int, long long int, long long int, unsigned int); -int __builtin_arm_vcx2asi(int, int, int, unsigned int); -long long int __builtin_arm_vcx2di(int, long long int, unsigned int); -__simd128_int8_t __builtin_arm_vcx2qa_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); -__simd128_int8_t __builtin_arm_vcx2qav16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int); -__simd128_int8_t __builtin_arm_vcx2q_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); -__simd128_int8_t __builtin_arm_vcx2qv16qi(int, __simd128_int8_t, unsigned int); -int __builtin_arm_vcx2si(int, int, unsigned int); -long long int __builtin_arm_vcx3adi(int, long long int, long long int, long long int, unsigned int); -int __builtin_arm_vcx3asi(int, int, int, int, unsigned int); -long long int __builtin_arm_vcx3di(int, long long int, long long int, unsigned int); -__simd128_int8_t __builtin_arm_vcx3qa_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); -__simd128_int8_t __builtin_arm_vcx3qav16qi(int, __simd128_int8_t, __simd128_int8_t, __simd128_int8_t, unsigned int); -__simd128_int8_t __builtin_arm_vcx3q_p_v16qi(int, __simd128_int8_t, __simd128_int8_t, __simd128_int8_t, unsigned int, short unsigned int); -__simd128_int8_t __builtin_arm_vcx3qv16qi(int, __simd128_int8_t, __simd128_int8_t, unsigned int); -int __builtin_arm_vcx3si(int, int, int, unsigned int); - -// -march=armv8.1-m.main+mve -mfloat-abi=hard -int __builtin_arm_get_fpscr_nzcvqc(void); -void __builtin_arm_set_fpscr_nzcvqc(int); -long long int __builtin_mve_sqrshrl_sat48_di(long long int, int); -long long int __builtin_mve_sqrshrl_sat64_di(long long int, int); -int __builtin_mve_sqrshr_si(int, int); -long long unsigned int __builtin_mve_sqshll_di(long long unsigned int, const int); -unsigned int __builtin_mve_sqshl_si(long long unsigned int, const int); -long long unsigned int __builtin_mve_srshrl_di(long long unsigned int, const int); -unsigned int __builtin_mve_srshr_si(long long unsigned int, const int); -long long unsigned int __builtin_mve_uqrshll_sat48_di(long long unsigned int, int); -long long unsigned int __builtin_mve_uqrshll_sat64_di(long long unsigned int, int); -unsigned int __builtin_mve_uqrshl_si(unsigned int, int); -long long unsigned int __builtin_mve_uqshll_di(long long unsigned int, const int); -unsigned int __builtin_mve_uqshl_si(unsigned int, const int); -long long unsigned int __builtin_mve_urshrl_di(long long unsigned int, const int); -unsigned int __builtin_mve_urshr_si(unsigned int, const int); -unsigned int __builtin_mve_vabavq_p_sv16qi(unsigned int, __simd128_int8_t, __simd128_int8_t, short unsigned int); -unsigned int __builtin_mve_vabavq_p_sv4si(unsigned int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -unsigned int __builtin_mve_vabavq_p_sv8hi(unsigned int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -unsigned int __builtin_mve_vabavq_p_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -unsigned int __builtin_mve_vabavq_p_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -unsigned int __builtin_mve_vabavq_p_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -unsigned int __builtin_mve_vabavq_sv16qi(unsigned int, __simd128_int8_t, __simd128_int8_t); -unsigned int __builtin_mve_vabavq_sv4si(unsigned int, __simd128_int32_t, __simd128_int32_t); -unsigned int __builtin_mve_vabavq_sv8hi(unsigned int, __simd128_int16_t, __simd128_int16_t); -unsigned int __builtin_mve_vabavq_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t); -unsigned int __builtin_mve_vabavq_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t); -unsigned int __builtin_mve_vabavq_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vabdq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vabdq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vabdq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vabdq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vabdq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vabdq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vabdq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vabdq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vabdq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vabdq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vabdq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vabdq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vabdq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vabdq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vabdq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vabdq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vabsq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vabsq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vabsq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vabsq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vabsq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vabsq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vabsq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vabsq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vabsq_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vabsq_sv8hi(__simd128_int16_t); -__simd128_int32_t __builtin_mve_vadciq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vadciq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vadciq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_uint32_t __builtin_mve_vadciq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_int32_t __builtin_mve_vadcq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vadcq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vadcq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_uint32_t __builtin_mve_vadcq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -long long int __builtin_mve_vaddlvaq_p_sv4si(long long int, __simd128_int32_t, short unsigned int); -long long unsigned int __builtin_mve_vaddlvaq_p_uv4si(long long unsigned int, __simd128_uint32_t, short unsigned int); -long long int __builtin_mve_vaddlvaq_sv4si(long long int, __simd128_int32_t); -long long unsigned int __builtin_mve_vaddlvaq_uv4si(long long unsigned int, __simd128_uint32_t); -long long int __builtin_mve_vaddlvq_p_sv4si(__simd128_int32_t, short unsigned int); -long long unsigned int __builtin_mve_vaddlvq_p_uv4si(__simd128_uint32_t, short unsigned int); -long long int __builtin_mve_vaddlvq_sv4si(__simd128_int32_t); -long long unsigned int __builtin_mve_vaddlvq_uv4si(__simd128_uint32_t); -__simd128_float32_t __builtin_mve_vaddq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vaddq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vaddq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); -__simd128_float16_t __builtin_mve_vaddq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); -__simd128_int8_t __builtin_mve_vaddq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vaddq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vaddq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vaddq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vaddq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vaddq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vaddq_n_fv4sf(__simd128_float32_t, float); -__simd128_float16_t __builtin_mve_vaddq_n_fv8hf(__simd128_float16_t, __bf16); -__simd128_int8_t __builtin_mve_vaddq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vaddq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vaddq_n_sv8hi(__simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vaddq_n_uv16qi(__simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vaddq_n_uv4si(__simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vaddq_n_uv8hi(__simd128_uint16_t, short unsigned int); -int __builtin_mve_vaddvaq_p_sv16qi(int, __simd128_int8_t, short unsigned int); -int __builtin_mve_vaddvaq_p_sv4si(int, __simd128_int32_t, short unsigned int); -int __builtin_mve_vaddvaq_p_sv8hi(int, __simd128_int16_t, short unsigned int); -unsigned int __builtin_mve_vaddvaq_p_uv16qi(unsigned int, __simd128_uint8_t, short unsigned int); -unsigned int __builtin_mve_vaddvaq_p_uv4si(unsigned int, __simd128_uint32_t, short unsigned int); -unsigned int __builtin_mve_vaddvaq_p_uv8hi(unsigned int, __simd128_uint16_t, short unsigned int); -int __builtin_mve_vaddvaq_sv16qi(int, __simd128_int8_t); -int __builtin_mve_vaddvaq_sv4si(int, __simd128_int32_t); -int __builtin_mve_vaddvaq_sv8hi(int, __simd128_int16_t); -unsigned int __builtin_mve_vaddvaq_uv16qi(unsigned int, __simd128_uint8_t); -unsigned int __builtin_mve_vaddvaq_uv4si(unsigned int, __simd128_uint32_t); -unsigned int __builtin_mve_vaddvaq_uv8hi(unsigned int, __simd128_uint16_t); -int __builtin_mve_vaddvq_p_sv16qi(__simd128_int8_t, short unsigned int); -int __builtin_mve_vaddvq_p_sv4si(__simd128_int32_t, short unsigned int); -int __builtin_mve_vaddvq_p_sv8hi(__simd128_int16_t, short unsigned int); -unsigned int __builtin_mve_vaddvq_p_uv16qi(__simd128_uint8_t, short unsigned int); -unsigned int __builtin_mve_vaddvq_p_uv4si(__simd128_uint32_t, short unsigned int); -unsigned int __builtin_mve_vaddvq_p_uv8hi(__simd128_uint16_t, short unsigned int); -int __builtin_mve_vaddvq_sv16qi(__simd128_int8_t); -int __builtin_mve_vaddvq_sv4si(__simd128_int32_t); -int __builtin_mve_vaddvq_sv8hi(__simd128_int16_t); -unsigned int __builtin_mve_vaddvq_uv16qi(__simd128_uint8_t); -unsigned int __builtin_mve_vaddvq_uv4si(__simd128_uint32_t); -unsigned int __builtin_mve_vaddvq_uv8hi(__simd128_uint16_t); -__simd128_float32_t __builtin_mve_vandq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vandq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vandq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vandq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vandq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vandq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vandq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vandq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vandq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vandq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vandq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vandq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vandq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vandq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vandq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vandq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vbicq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vbicq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vbicq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vbicq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vbicq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vbicq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vbicq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vbicq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vbicq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vbicq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vbicq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vbicq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vbicq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vbicq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vbicq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vbicq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint32_t __builtin_mve_vbicq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vbicq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vbicq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vbicq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vbicq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vbicq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vbicq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vbicq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vbrsrq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, int, short unsigned int); -__simd128_float16_t __builtin_mve_vbrsrq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vbrsrq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vbrsrq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vbrsrq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vbrsrq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vbrsrq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vbrsrq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_float32_t __builtin_mve_vbrsrq_n_fv4sf(__simd128_float32_t, int); -__simd128_float16_t __builtin_mve_vbrsrq_n_fv8hf(__simd128_float16_t, int); -__simd128_int8_t __builtin_mve_vbrsrq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vbrsrq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vbrsrq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vbrsrq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vbrsrq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vbrsrq_n_uv8hi(__simd128_uint16_t, int); -__simd128_float32_t __builtin_mve_vcaddq_rot270_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcaddq_rot270_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcaddq_rot270_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcaddq_rot270_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vcaddq_rot270_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcaddq_rot270_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vcaddq_rot270_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vcaddq_rot270_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vcaddq_rot270_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vcaddq_rot270_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vcaddq_rot270_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vcaddq_rot270_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vcaddq_rot270_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vcaddq_rot270_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vcaddq_rot270_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vcaddq_rot270_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vcaddq_rot90_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcaddq_rot90_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcaddq_rot90_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcaddq_rot90_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vcaddq_rot90_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcaddq_rot90_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vcaddq_rot90_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vcaddq_rot90_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vcaddq_rot90_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vcaddq_rot90_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vcaddq_rot90_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vcaddq_rot90_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vcaddq_rot90_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vcaddq_rot90_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vcaddq_rot90_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vcaddq_rot90_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_int8_t __builtin_mve_vclsq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vclsq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vclsq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vclsq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vclsq_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vclsq_sv8hi(__simd128_int16_t); -__simd128_int8_t __builtin_mve_vclzq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vclzq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vclzq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vclzq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vclzq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vclzq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vclzq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vclzq_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vclzq_sv8hi(__simd128_int16_t); -__simd128_uint8_t __builtin_mve_vclzq_uv16qi(__simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vclzq_uv4si(__simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vclzq_uv8hi(__simd128_uint16_t); -__simd128_float32_t __builtin_mve_vcmlaq_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmlaq_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmlaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmlaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcmlaq_rot180_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmlaq_rot180_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmlaq_rot180_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmlaq_rot180_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcmlaq_rot270_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmlaq_rot270_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmlaq_rot270_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmlaq_rot270_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcmlaq_rot90_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmlaq_rot90_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmlaq_rot90_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmlaq_rot90_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_n_uv16qi(__simd128_uint8_t, unsigned char); -short unsigned int __builtin_mve_vcmpcsq_n_uv4si(__simd128_uint32_t, unsigned int); -short unsigned int __builtin_mve_vcmpcsq_n_uv8hi(__simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpcsq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -short unsigned int __builtin_mve_vcmpcsq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -short unsigned int __builtin_mve_vcmpcsq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -short unsigned int __builtin_mve_vcmpeqq_fv4sf(__simd128_float32_t, __simd128_float32_t); -short unsigned int __builtin_mve_vcmpeqq_fv8hf(__simd128_float16_t, __simd128_float16_t); -short unsigned int __builtin_mve_vcmpeqq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_n_fv4sf(__simd128_float32_t, float); -short unsigned int __builtin_mve_vcmpeqq_n_fv8hf(__simd128_float16_t, __bf16); -short unsigned int __builtin_mve_vcmpeqq_n_sv16qi(__simd128_int8_t, signed char); -short unsigned int __builtin_mve_vcmpeqq_n_sv4si(__simd128_int32_t, int); -short unsigned int __builtin_mve_vcmpeqq_n_sv8hi(__simd128_int16_t, short int); -short unsigned int __builtin_mve_vcmpeqq_n_uv16qi(__simd128_uint8_t, unsigned char); -short unsigned int __builtin_mve_vcmpeqq_n_uv4si(__simd128_uint32_t, unsigned int); -short unsigned int __builtin_mve_vcmpeqq_n_uv8hi(__simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpeqq_sv16qi(__simd128_int8_t, __simd128_int8_t); -short unsigned int __builtin_mve_vcmpeqq_sv4si(__simd128_int32_t, __simd128_int32_t); -short unsigned int __builtin_mve_vcmpeqq_sv8hi(__simd128_int16_t, __simd128_int16_t); -short unsigned int __builtin_mve_vcmpeqq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -short unsigned int __builtin_mve_vcmpeqq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -short unsigned int __builtin_mve_vcmpeqq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -short unsigned int __builtin_mve_vcmpgeq_fv4sf(__simd128_float32_t, __simd128_float32_t); -short unsigned int __builtin_mve_vcmpgeq_fv8hf(__simd128_float16_t, __simd128_float16_t); -short unsigned int __builtin_mve_vcmpgeq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgeq_n_fv4sf(__simd128_float32_t, float); -short unsigned int __builtin_mve_vcmpgeq_n_fv8hf(__simd128_float16_t, __bf16); -short unsigned int __builtin_mve_vcmpgeq_n_sv16qi(__simd128_int8_t, signed char); -short unsigned int __builtin_mve_vcmpgeq_n_sv4si(__simd128_int32_t, int); -short unsigned int __builtin_mve_vcmpgeq_n_sv8hi(__simd128_int16_t, short int); -short unsigned int __builtin_mve_vcmpgeq_sv16qi(__simd128_int8_t, __simd128_int8_t); -short unsigned int __builtin_mve_vcmpgeq_sv4si(__simd128_int32_t, __simd128_int32_t); -short unsigned int __builtin_mve_vcmpgeq_sv8hi(__simd128_int16_t, __simd128_int16_t); -short unsigned int __builtin_mve_vcmpgtq_fv4sf(__simd128_float32_t, __simd128_float32_t); -short unsigned int __builtin_mve_vcmpgtq_fv8hf(__simd128_float16_t, __simd128_float16_t); -short unsigned int __builtin_mve_vcmpgtq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpgtq_n_fv4sf(__simd128_float32_t, float); -short unsigned int __builtin_mve_vcmpgtq_n_fv8hf(__simd128_float16_t, __bf16); -short unsigned int __builtin_mve_vcmpgtq_n_sv16qi(__simd128_int8_t, signed char); -short unsigned int __builtin_mve_vcmpgtq_n_sv4si(__simd128_int32_t, int); -short unsigned int __builtin_mve_vcmpgtq_n_sv8hi(__simd128_int16_t, short int); -short unsigned int __builtin_mve_vcmpgtq_sv16qi(__simd128_int8_t, __simd128_int8_t); -short unsigned int __builtin_mve_vcmpgtq_sv4si(__simd128_int32_t, __simd128_int32_t); -short unsigned int __builtin_mve_vcmpgtq_sv8hi(__simd128_int16_t, __simd128_int16_t); -short unsigned int __builtin_mve_vcmphiq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); -short unsigned int __builtin_mve_vcmphiq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmphiq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmphiq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -short unsigned int __builtin_mve_vcmphiq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -short unsigned int __builtin_mve_vcmphiq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmphiq_n_uv16qi(__simd128_uint8_t, unsigned char); -short unsigned int __builtin_mve_vcmphiq_n_uv4si(__simd128_uint32_t, unsigned int); -short unsigned int __builtin_mve_vcmphiq_n_uv8hi(__simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmphiq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -short unsigned int __builtin_mve_vcmphiq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -short unsigned int __builtin_mve_vcmphiq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -short unsigned int __builtin_mve_vcmpleq_fv4sf(__simd128_float32_t, __simd128_float32_t); -short unsigned int __builtin_mve_vcmpleq_fv8hf(__simd128_float16_t, __simd128_float16_t); -short unsigned int __builtin_mve_vcmpleq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpleq_n_fv4sf(__simd128_float32_t, float); -short unsigned int __builtin_mve_vcmpleq_n_fv8hf(__simd128_float16_t, __bf16); -short unsigned int __builtin_mve_vcmpleq_n_sv16qi(__simd128_int8_t, signed char); -short unsigned int __builtin_mve_vcmpleq_n_sv4si(__simd128_int32_t, int); -short unsigned int __builtin_mve_vcmpleq_n_sv8hi(__simd128_int16_t, short int); -short unsigned int __builtin_mve_vcmpleq_sv16qi(__simd128_int8_t, __simd128_int8_t); -short unsigned int __builtin_mve_vcmpleq_sv4si(__simd128_int32_t, __simd128_int32_t); -short unsigned int __builtin_mve_vcmpleq_sv8hi(__simd128_int16_t, __simd128_int16_t); -short unsigned int __builtin_mve_vcmpltq_fv4sf(__simd128_float32_t, __simd128_float32_t); -short unsigned int __builtin_mve_vcmpltq_fv8hf(__simd128_float16_t, __simd128_float16_t); -short unsigned int __builtin_mve_vcmpltq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpltq_n_fv4sf(__simd128_float32_t, float); -short unsigned int __builtin_mve_vcmpltq_n_fv8hf(__simd128_float16_t, __bf16); -short unsigned int __builtin_mve_vcmpltq_n_sv16qi(__simd128_int8_t, signed char); -short unsigned int __builtin_mve_vcmpltq_n_sv4si(__simd128_int32_t, int); -short unsigned int __builtin_mve_vcmpltq_n_sv8hi(__simd128_int16_t, short int); -short unsigned int __builtin_mve_vcmpltq_sv16qi(__simd128_int8_t, __simd128_int8_t); -short unsigned int __builtin_mve_vcmpltq_sv4si(__simd128_int32_t, __simd128_int32_t); -short unsigned int __builtin_mve_vcmpltq_sv8hi(__simd128_int16_t, __simd128_int16_t); -short unsigned int __builtin_mve_vcmpneq_fv4sf(__simd128_float32_t, __simd128_float32_t); -short unsigned int __builtin_mve_vcmpneq_fv8hf(__simd128_float16_t, __simd128_float16_t); -short unsigned int __builtin_mve_vcmpneq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_n_fv4sf(__simd128_float32_t, float); -short unsigned int __builtin_mve_vcmpneq_n_fv8hf(__simd128_float16_t, __bf16); -short unsigned int __builtin_mve_vcmpneq_n_sv16qi(__simd128_int8_t, signed char); -short unsigned int __builtin_mve_vcmpneq_n_sv4si(__simd128_int32_t, int); -short unsigned int __builtin_mve_vcmpneq_n_sv8hi(__simd128_int16_t, short int); -short unsigned int __builtin_mve_vcmpneq_n_uv16qi(__simd128_uint8_t, unsigned char); -short unsigned int __builtin_mve_vcmpneq_n_uv4si(__simd128_uint32_t, unsigned int); -short unsigned int __builtin_mve_vcmpneq_n_uv8hi(__simd128_uint16_t, short unsigned int); -short unsigned int __builtin_mve_vcmpneq_sv16qi(__simd128_int8_t, __simd128_int8_t); -short unsigned int __builtin_mve_vcmpneq_sv4si(__simd128_int32_t, __simd128_int32_t); -short unsigned int __builtin_mve_vcmpneq_sv8hi(__simd128_int16_t, __simd128_int16_t); -short unsigned int __builtin_mve_vcmpneq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -short unsigned int __builtin_mve_vcmpneq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -short unsigned int __builtin_mve_vcmpneq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vcmulq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmulq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmulq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmulq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcmulq_rot180_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmulq_rot180_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmulq_rot180_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmulq_rot180_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcmulq_rot270_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmulq_rot270_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmulq_rot270_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmulq_rot270_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcmulq_rot90_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vcmulq_rot90_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vcmulq_rot90_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcmulq_rot90_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcreateq_fv4sf(long long unsigned int, long long unsigned int); -__simd128_float16_t __builtin_mve_vcreateq_fv8hf(long long unsigned int, long long unsigned int); -__simd128_int8_t __builtin_mve_vcreateq_sv16qi(long long unsigned int, long long unsigned int); -__simd128_int64_t __builtin_mve_vcreateq_sv2di(long long unsigned int, long long unsigned int); -__simd128_int32_t __builtin_mve_vcreateq_sv4si(long long unsigned int, long long unsigned int); -__simd128_int16_t __builtin_mve_vcreateq_sv8hi(long long unsigned int, long long unsigned int); -__simd128_uint8_t __builtin_mve_vcreateq_uv16qi(long long unsigned int, long long unsigned int); -__simd128_uint64_t __builtin_mve_vcreateq_uv2di(long long unsigned int, long long unsigned int); -__simd128_uint32_t __builtin_mve_vcreateq_uv4si(long long unsigned int, long long unsigned int); -__simd128_uint16_t __builtin_mve_vcreateq_uv8hi(long long unsigned int, long long unsigned int); -short unsigned int __builtin_mve_vctp16qhi(unsigned int); -short unsigned int __builtin_mve_vctp16q_mhi(unsigned int, short unsigned int); -short unsigned int __builtin_mve_vctp32qhi(unsigned int); -short unsigned int __builtin_mve_vctp32q_mhi(unsigned int, short unsigned int); -short unsigned int __builtin_mve_vctp64qhi(unsigned int); -short unsigned int __builtin_mve_vctp64q_mhi(unsigned int, short unsigned int); -short unsigned int __builtin_mve_vctp8qhi(unsigned int); -short unsigned int __builtin_mve_vctp8q_mhi(unsigned int, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtaq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vcvtaq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vcvtaq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vcvtaq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtaq_sv4si(__simd128_float32_t); -__simd128_int16_t __builtin_mve_vcvtaq_sv8hi(__simd128_float16_t); -__simd128_uint32_t __builtin_mve_vcvtaq_uv4si(__simd128_float32_t); -__simd128_uint16_t __builtin_mve_vcvtaq_uv8hi(__simd128_float16_t); -__simd128_float16_t __builtin_mve_vcvtbq_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t); -__simd128_float32_t __builtin_mve_vcvtbq_f32_f16v4sf(__simd128_float16_t); -__simd128_float16_t __builtin_mve_vcvtbq_m_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcvtbq_m_f32_f16v4sf(__simd128_float32_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtmq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vcvtmq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vcvtmq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vcvtmq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtmq_sv4si(__simd128_float32_t); -__simd128_int16_t __builtin_mve_vcvtmq_sv8hi(__simd128_float16_t); -__simd128_uint32_t __builtin_mve_vcvtmq_uv4si(__simd128_float32_t); -__simd128_uint16_t __builtin_mve_vcvtmq_uv8hi(__simd128_float16_t); -__simd128_int32_t __builtin_mve_vcvtnq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vcvtnq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vcvtnq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vcvtnq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtnq_sv4si(__simd128_float32_t); -__simd128_int16_t __builtin_mve_vcvtnq_sv8hi(__simd128_float16_t); -__simd128_uint32_t __builtin_mve_vcvtnq_uv4si(__simd128_float32_t); -__simd128_uint16_t __builtin_mve_vcvtnq_uv8hi(__simd128_float16_t); -__simd128_int32_t __builtin_mve_vcvtpq_m_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vcvtpq_m_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vcvtpq_m_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vcvtpq_m_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtpq_sv4si(__simd128_float32_t); -__simd128_int16_t __builtin_mve_vcvtpq_sv8hi(__simd128_float16_t); -__simd128_uint32_t __builtin_mve_vcvtpq_uv4si(__simd128_float32_t); -__simd128_uint16_t __builtin_mve_vcvtpq_uv8hi(__simd128_float16_t); -__simd128_int32_t __builtin_mve_vcvtq_from_f_sv4si(__simd128_float32_t); -__simd128_int16_t __builtin_mve_vcvtq_from_f_sv8hi(__simd128_float16_t); -__simd128_uint32_t __builtin_mve_vcvtq_from_f_uv4si(__simd128_float32_t); -__simd128_uint16_t __builtin_mve_vcvtq_from_f_uv8hi(__simd128_float16_t); -__simd128_int32_t __builtin_mve_vcvtq_m_from_f_sv4si(__simd128_int32_t, __simd128_float32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vcvtq_m_from_f_sv8hi(__simd128_int16_t, __simd128_float16_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vcvtq_m_from_f_uv4si(__simd128_uint32_t, __simd128_float32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vcvtq_m_from_f_uv8hi(__simd128_uint16_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtq_m_n_from_f_sv4si(__simd128_int32_t, __simd128_float32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vcvtq_m_n_from_f_sv8hi(__simd128_int16_t, __simd128_float16_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vcvtq_m_n_from_f_uv4si(__simd128_uint32_t, __simd128_float32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vcvtq_m_n_from_f_uv8hi(__simd128_uint16_t, __simd128_float16_t, int, short unsigned int); -__simd128_float32_t __builtin_mve_vcvtq_m_n_to_f_sv4sf(__simd128_float32_t, __simd128_int32_t, int, short unsigned int); -__simd128_float16_t __builtin_mve_vcvtq_m_n_to_f_sv8hf(__simd128_float16_t, __simd128_int16_t, int, short unsigned int); -__simd128_float32_t __builtin_mve_vcvtq_m_n_to_f_uv4sf(__simd128_float32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_float16_t __builtin_mve_vcvtq_m_n_to_f_uv8hf(__simd128_float16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_float32_t __builtin_mve_vcvtq_m_to_f_sv4sf(__simd128_float32_t, __simd128_int32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcvtq_m_to_f_sv8hf(__simd128_float16_t, __simd128_int16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcvtq_m_to_f_uv4sf(__simd128_float32_t, __simd128_uint32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vcvtq_m_to_f_uv8hf(__simd128_float16_t, __simd128_uint16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vcvtq_n_from_f_sv4si(__simd128_float32_t, int); -__simd128_int16_t __builtin_mve_vcvtq_n_from_f_sv8hi(__simd128_float16_t, int); -__simd128_uint32_t __builtin_mve_vcvtq_n_from_f_uv4si(__simd128_float32_t, int); -__simd128_uint16_t __builtin_mve_vcvtq_n_from_f_uv8hi(__simd128_float16_t, int); -__simd128_float32_t __builtin_mve_vcvtq_n_to_f_sv4sf(__simd128_int32_t, int); -__simd128_float16_t __builtin_mve_vcvtq_n_to_f_sv8hf(__simd128_int16_t, int); -__simd128_float32_t __builtin_mve_vcvtq_n_to_f_uv4sf(__simd128_uint32_t, int); -__simd128_float16_t __builtin_mve_vcvtq_n_to_f_uv8hf(__simd128_uint16_t, int); -__simd128_float32_t __builtin_mve_vcvtq_to_f_sv4sf(__simd128_int32_t); -__simd128_float16_t __builtin_mve_vcvtq_to_f_sv8hf(__simd128_int16_t); -__simd128_float32_t __builtin_mve_vcvtq_to_f_uv4sf(__simd128_uint32_t); -__simd128_float16_t __builtin_mve_vcvtq_to_f_uv8hf(__simd128_uint16_t); -__simd128_float16_t __builtin_mve_vcvttq_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t); -__simd128_float32_t __builtin_mve_vcvttq_f32_f16v4sf(__simd128_float16_t); -__simd128_float16_t __builtin_mve_vcvttq_m_f16_f32v8hf(__simd128_float16_t, __simd128_float32_t, short unsigned int); -__simd128_float32_t __builtin_mve_vcvttq_m_f32_f16v4sf(__simd128_float32_t, __simd128_float16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vddupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vddupq_m_n_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vddupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vddupq_n_uv16qi(unsigned int, int); -__simd128_uint32_t __builtin_mve_vddupq_n_uv4si(unsigned int, int); -__simd128_uint16_t __builtin_mve_vddupq_n_uv8hi(unsigned int, int); -__simd128_float32_t __builtin_mve_vdupq_m_n_fv4sf(__simd128_float32_t, float, short unsigned int); -__simd128_float16_t __builtin_mve_vdupq_m_n_fv8hf(__simd128_float16_t, __bf16, short unsigned int); -__simd128_int8_t __builtin_mve_vdupq_m_n_sv16qi(__simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vdupq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vdupq_m_n_sv8hi(__simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vdupq_m_n_uv16qi(__simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vdupq_m_n_uv4si(__simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vdupq_m_n_uv8hi(__simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_float32_t __builtin_mve_vdupq_n_fv4sf(float); -__simd128_float16_t __builtin_mve_vdupq_n_fv8hf(__bf16); -__simd128_int8_t __builtin_mve_vdupq_n_sv16qi(signed char); -__simd128_int32_t __builtin_mve_vdupq_n_sv4si(int); -__simd128_int16_t __builtin_mve_vdupq_n_sv8hi(short int); -__simd128_uint8_t __builtin_mve_vdupq_n_uv16qi(unsigned char); -__simd128_uint32_t __builtin_mve_vdupq_n_uv4si(unsigned int); -__simd128_uint16_t __builtin_mve_vdupq_n_uv8hi(short unsigned int); -__simd128_uint8_t __builtin_mve_vdwdupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vdwdupq_m_n_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vdwdupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); -unsigned int __builtin_mve_vdwdupq_m_wb_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); -unsigned int __builtin_mve_vdwdupq_m_wb_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); -unsigned int __builtin_mve_vdwdupq_m_wb_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vdwdupq_n_uv16qi(unsigned int, long long unsigned int, int); -__simd128_uint32_t __builtin_mve_vdwdupq_n_uv4si(unsigned int, long long unsigned int, int); -__simd128_uint16_t __builtin_mve_vdwdupq_n_uv8hi(unsigned int, long long unsigned int, int); -unsigned int __builtin_mve_vdwdupq_wb_uv16qi(unsigned int, long long unsigned int, int); -unsigned int __builtin_mve_vdwdupq_wb_uv4si(unsigned int, long long unsigned int, int); -unsigned int __builtin_mve_vdwdupq_wb_uv8hi(unsigned int, long long unsigned int, int); -__simd128_float32_t __builtin_mve_veorq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_veorq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_veorq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_veorq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_veorq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_veorq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_veorq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_veorq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_veorq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_veorq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_veorq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_veorq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_veorq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_veorq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_veorq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_veorq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vfmaq_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vfmaq_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vfmaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vfmaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vfmaq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); -__simd128_float16_t __builtin_mve_vfmaq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); -__simd128_float32_t __builtin_mve_vfmaq_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float); -__simd128_float16_t __builtin_mve_vfmaq_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16); -__simd128_float32_t __builtin_mve_vfmasq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); -__simd128_float16_t __builtin_mve_vfmasq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); -__simd128_float32_t __builtin_mve_vfmasq_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float); -__simd128_float16_t __builtin_mve_vfmasq_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16); -__simd128_float32_t __builtin_mve_vfmsq_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vfmsq_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vfmsq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vfmsq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vhaddq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vhaddq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vhaddq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vhaddq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vhaddq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vhaddq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vhaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vhaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vhaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vhaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vhaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vhaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vhaddq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vhaddq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vhaddq_n_sv8hi(__simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vhaddq_n_uv16qi(__simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vhaddq_n_uv4si(__simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vhaddq_n_uv8hi(__simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vhaddq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vhaddq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vhaddq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vhaddq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vhaddq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vhaddq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_int8_t __builtin_mve_vhcaddq_rot270_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vhcaddq_rot270_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vhcaddq_rot270_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vhcaddq_rot270_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vhcaddq_rot270_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vhcaddq_rot270_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vhcaddq_rot90_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vhcaddq_rot90_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vhcaddq_rot90_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vhcaddq_rot90_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vhcaddq_rot90_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vhcaddq_rot90_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vhsubq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vhsubq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vhsubq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vhsubq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vhsubq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vhsubq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vhsubq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vhsubq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vhsubq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vhsubq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vhsubq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vhsubq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vhsubq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vhsubq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vhsubq_n_sv8hi(__simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vhsubq_n_uv16qi(__simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vhsubq_n_uv4si(__simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vhsubq_n_uv8hi(__simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vhsubq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vhsubq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vhsubq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vhsubq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vhsubq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vhsubq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_uint8_t __builtin_mve_vidupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vidupq_m_n_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vidupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vidupq_n_uv16qi(unsigned int, int); -__simd128_uint32_t __builtin_mve_vidupq_n_uv4si(unsigned int, int); -__simd128_uint16_t __builtin_mve_vidupq_n_uv8hi(unsigned int, int); -__simd128_uint8_t __builtin_mve_viwdupq_m_n_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); -__simd128_uint32_t __builtin_mve_viwdupq_m_n_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); -__simd128_uint16_t __builtin_mve_viwdupq_m_n_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); -unsigned int __builtin_mve_viwdupq_m_wb_uv16qi(__simd128_uint8_t, unsigned int, long long unsigned int, int, short unsigned int); -unsigned int __builtin_mve_viwdupq_m_wb_uv4si(__simd128_uint32_t, unsigned int, long long unsigned int, int, short unsigned int); -unsigned int __builtin_mve_viwdupq_m_wb_uv8hi(__simd128_uint16_t, unsigned int, long long unsigned int, int, short unsigned int); -__simd128_uint8_t __builtin_mve_viwdupq_n_uv16qi(unsigned int, long long unsigned int, int); -__simd128_uint32_t __builtin_mve_viwdupq_n_uv4si(unsigned int, long long unsigned int, int); -__simd128_uint16_t __builtin_mve_viwdupq_n_uv8hi(unsigned int, long long unsigned int, int); -unsigned int __builtin_mve_viwdupq_wb_uv16qi(unsigned int, long long unsigned int, int); -unsigned int __builtin_mve_viwdupq_wb_uv4si(unsigned int, long long unsigned int, int); -unsigned int __builtin_mve_viwdupq_wb_uv8hi(unsigned int, long long unsigned int, int); -__simd128_float32_t __builtin_mve_vld1q_fv4sf(int*); -__simd128_float16_t __builtin_mve_vld1q_fv8hf(short int*); -__simd128_int8_t __builtin_mve_vld1q_sv16qi(signed char*); -__simd128_int32_t __builtin_mve_vld1q_sv4si(int*); -__simd128_int16_t __builtin_mve_vld1q_sv8hi(short int*); -__simd128_uint8_t __builtin_mve_vld1q_uv16qi(signed char*); -__simd128_uint32_t __builtin_mve_vld1q_uv4si(int*); -__simd128_uint16_t __builtin_mve_vld1q_uv8hi(short int*); -__builtin_neon_oi __builtin_mve_vld2qv16qi(const signed char*); -__builtin_neon_oi __builtin_mve_vld2qv4sf(const float*); -__builtin_neon_oi __builtin_mve_vld2qv4si(const int*); -__builtin_neon_oi __builtin_mve_vld2qv8hf(const __bf16*); -__builtin_neon_oi __builtin_mve_vld2qv8hi(const short int*); -__builtin_neon_xi __builtin_mve_vld4qv16qi(const signed char*); -__builtin_neon_xi __builtin_mve_vld4qv4sf(const float*); -__builtin_neon_xi __builtin_mve_vld4qv4si(const int*); -__builtin_neon_xi __builtin_mve_vld4qv8hf(const __bf16*); -__builtin_neon_xi __builtin_mve_vld4qv8hi(const short int*); -__simd128_int8_t __builtin_mve_vldrbq_gather_offset_sv16qi(signed char*, __simd128_uint8_t); -__simd128_int32_t __builtin_mve_vldrbq_gather_offset_sv4si(signed char*, __simd128_uint32_t); -__simd128_int16_t __builtin_mve_vldrbq_gather_offset_sv8hi(signed char*, __simd128_uint16_t); -__simd128_uint8_t __builtin_mve_vldrbq_gather_offset_uv16qi(signed char*, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vldrbq_gather_offset_uv4si(signed char*, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vldrbq_gather_offset_uv8hi(signed char*, __simd128_uint16_t); -__simd128_int8_t __builtin_mve_vldrbq_gather_offset_z_sv16qi(signed char*, __simd128_uint8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vldrbq_gather_offset_z_sv4si(signed char*, __simd128_uint32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vldrbq_gather_offset_z_sv8hi(signed char*, __simd128_uint16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vldrbq_gather_offset_z_uv16qi(signed char*, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrbq_gather_offset_z_uv4si(signed char*, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vldrbq_gather_offset_z_uv8hi(signed char*, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vldrbq_sv16qi(signed char*); -__simd128_int32_t __builtin_mve_vldrbq_sv4si(signed char*); -__simd128_int16_t __builtin_mve_vldrbq_sv8hi(signed char*); -__simd128_uint8_t __builtin_mve_vldrbq_uv16qi(signed char*); -__simd128_uint32_t __builtin_mve_vldrbq_uv4si(signed char*); -__simd128_uint16_t __builtin_mve_vldrbq_uv8hi(signed char*); -__simd128_int8_t __builtin_mve_vldrbq_z_sv16qi(signed char*, short unsigned int); -__simd128_int32_t __builtin_mve_vldrbq_z_sv4si(signed char*, short unsigned int); -__simd128_int16_t __builtin_mve_vldrbq_z_sv8hi(signed char*, short unsigned int); -__simd128_uint8_t __builtin_mve_vldrbq_z_uv16qi(signed char*, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrbq_z_uv4si(signed char*, short unsigned int); -__simd128_uint16_t __builtin_mve_vldrbq_z_uv8hi(signed char*, short unsigned int); -__simd128_int64_t __builtin_mve_vldrdq_gather_base_nowb_sv2di(__simd128_uint64_t, int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_nowb_uv2di(__simd128_uint64_t, int); -__simd128_int64_t __builtin_mve_vldrdq_gather_base_nowb_z_sv2di(__simd128_uint64_t, int, short unsigned int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_nowb_z_uv2di(__simd128_uint64_t, int, short unsigned int); -__simd128_int64_t __builtin_mve_vldrdq_gather_base_sv2di(__simd128_uint64_t, int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_uv2di(__simd128_uint64_t, int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_sv2di(__simd128_uint64_t, int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_uv2di(__simd128_uint64_t, int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_z_sv2di(__simd128_uint64_t, int, short unsigned int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_wb_z_uv2di(__simd128_uint64_t, int, short unsigned int); -__simd128_int64_t __builtin_mve_vldrdq_gather_base_z_sv2di(__simd128_uint64_t, int, short unsigned int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_base_z_uv2di(__simd128_uint64_t, int, short unsigned int); -__simd128_int64_t __builtin_mve_vldrdq_gather_offset_sv2di(long long int*, __simd128_uint64_t); -__simd128_uint64_t __builtin_mve_vldrdq_gather_offset_uv2di(long long int*, __simd128_uint64_t); -__simd128_int64_t __builtin_mve_vldrdq_gather_offset_z_sv2di(long long int*, __simd128_uint64_t, short unsigned int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_offset_z_uv2di(long long int*, __simd128_uint64_t, short unsigned int); -__simd128_int64_t __builtin_mve_vldrdq_gather_shifted_offset_sv2di(long long int*, __simd128_uint64_t); -__simd128_uint64_t __builtin_mve_vldrdq_gather_shifted_offset_uv2di(long long int*, __simd128_uint64_t); -__simd128_int64_t __builtin_mve_vldrdq_gather_shifted_offset_z_sv2di(long long int*, __simd128_uint64_t, short unsigned int); -__simd128_uint64_t __builtin_mve_vldrdq_gather_shifted_offset_z_uv2di(long long int*, __simd128_uint64_t, short unsigned int); -__simd128_float16_t __builtin_mve_vldrhq_fv8hf(short int*); -__simd128_float16_t __builtin_mve_vldrhq_gather_offset_fv8hf(short int*, __simd128_uint16_t); -__simd128_int32_t __builtin_mve_vldrhq_gather_offset_sv4si(short int*, __simd128_uint32_t); -__simd128_int16_t __builtin_mve_vldrhq_gather_offset_sv8hi(short int*, __simd128_uint16_t); -__simd128_uint32_t __builtin_mve_vldrhq_gather_offset_uv4si(short int*, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vldrhq_gather_offset_uv8hi(short int*, __simd128_uint16_t); -__simd128_float16_t __builtin_mve_vldrhq_gather_offset_z_fv8hf(short int*, __simd128_uint16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vldrhq_gather_offset_z_sv4si(short int*, __simd128_uint32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vldrhq_gather_offset_z_sv8hi(short int*, __simd128_uint16_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrhq_gather_offset_z_uv4si(short int*, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vldrhq_gather_offset_z_uv8hi(short int*, __simd128_uint16_t, short unsigned int); -__simd128_float16_t __builtin_mve_vldrhq_gather_shifted_offset_fv8hf(short int*, __simd128_uint16_t); -__simd128_int32_t __builtin_mve_vldrhq_gather_shifted_offset_sv4si(short int*, __simd128_uint32_t); -__simd128_int16_t __builtin_mve_vldrhq_gather_shifted_offset_sv8hi(short int*, __simd128_uint16_t); -__simd128_uint32_t __builtin_mve_vldrhq_gather_shifted_offset_uv4si(short int*, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vldrhq_gather_shifted_offset_uv8hi(short int*, __simd128_uint16_t); -__simd128_float16_t __builtin_mve_vldrhq_gather_shifted_offset_z_fv8hf(short int*, __simd128_uint16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vldrhq_gather_shifted_offset_z_sv4si(short int*, __simd128_uint32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vldrhq_gather_shifted_offset_z_sv8hi(short int*, __simd128_uint16_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrhq_gather_shifted_offset_z_uv4si(short int*, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vldrhq_gather_shifted_offset_z_uv8hi(short int*, __simd128_uint16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vldrhq_sv4si(short int*); -__simd128_int16_t __builtin_mve_vldrhq_sv8hi(short int*); -__simd128_uint32_t __builtin_mve_vldrhq_uv4si(short int*); -__simd128_uint16_t __builtin_mve_vldrhq_uv8hi(short int*); -__simd128_float16_t __builtin_mve_vldrhq_z_fv8hf(short int*, short unsigned int); -__simd128_int32_t __builtin_mve_vldrhq_z_sv4si(short int*, short unsigned int); -__simd128_int16_t __builtin_mve_vldrhq_z_sv8hi(short int*, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrhq_z_uv4si(short int*, short unsigned int); -__simd128_uint16_t __builtin_mve_vldrhq_z_uv8hi(short int*, short unsigned int); -__simd128_float32_t __builtin_mve_vldrwq_fv4sf(int*); -__simd128_float32_t __builtin_mve_vldrwq_gather_base_fv4sf(__simd128_uint32_t, int); -__simd128_float32_t __builtin_mve_vldrwq_gather_base_nowb_fv4sf(__simd128_uint32_t, int); -__simd128_int32_t __builtin_mve_vldrwq_gather_base_nowb_sv4si(__simd128_uint32_t, int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_nowb_uv4si(__simd128_uint32_t, int); -__simd128_float32_t __builtin_mve_vldrwq_gather_base_nowb_z_fv4sf(__simd128_uint32_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vldrwq_gather_base_nowb_z_sv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_nowb_z_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vldrwq_gather_base_sv4si(__simd128_uint32_t, int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_uv4si(__simd128_uint32_t, int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_fv4sf(__simd128_uint32_t, int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_sv4si(__simd128_uint32_t, int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_uv4si(__simd128_uint32_t, int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_z_fv4sf(__simd128_uint32_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_z_sv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_wb_z_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_float32_t __builtin_mve_vldrwq_gather_base_z_fv4sf(__simd128_uint32_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vldrwq_gather_base_z_sv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_base_z_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_float32_t __builtin_mve_vldrwq_gather_offset_fv4sf(int*, __simd128_uint32_t); -__simd128_int32_t __builtin_mve_vldrwq_gather_offset_sv4si(int*, __simd128_uint32_t); -__simd128_uint32_t __builtin_mve_vldrwq_gather_offset_uv4si(int*, __simd128_uint32_t); -__simd128_float32_t __builtin_mve_vldrwq_gather_offset_z_fv4sf(int*, __simd128_uint32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vldrwq_gather_offset_z_sv4si(int*, __simd128_uint32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_offset_z_uv4si(int*, __simd128_uint32_t, short unsigned int); -__simd128_float32_t __builtin_mve_vldrwq_gather_shifted_offset_fv4sf(int*, __simd128_uint32_t); -__simd128_int32_t __builtin_mve_vldrwq_gather_shifted_offset_sv4si(int*, __simd128_uint32_t); -__simd128_uint32_t __builtin_mve_vldrwq_gather_shifted_offset_uv4si(int*, __simd128_uint32_t); -__simd128_float32_t __builtin_mve_vldrwq_gather_shifted_offset_z_fv4sf(int*, __simd128_uint32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vldrwq_gather_shifted_offset_z_sv4si(int*, __simd128_uint32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrwq_gather_shifted_offset_z_uv4si(int*, __simd128_uint32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vldrwq_sv4si(int*); -__simd128_uint32_t __builtin_mve_vldrwq_uv4si(int*); -__simd128_float32_t __builtin_mve_vldrwq_z_fv4sf(int*, short unsigned int); -__simd128_int32_t __builtin_mve_vldrwq_z_sv4si(int*, short unsigned int); -__simd128_uint32_t __builtin_mve_vldrwq_z_uv4si(int*, short unsigned int); -__simd128_uint8_t __builtin_mve_vmaxaq_m_sv16qi(__simd128_uint8_t, __simd128_int8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmaxaq_m_sv4si(__simd128_uint32_t, __simd128_int32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmaxaq_m_sv8hi(__simd128_uint16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vmaxaq_sv16qi(__simd128_uint8_t, __simd128_int8_t); -__simd128_uint32_t __builtin_mve_vmaxaq_sv4si(__simd128_uint32_t, __simd128_int32_t); -__simd128_uint16_t __builtin_mve_vmaxaq_sv8hi(__simd128_uint16_t, __simd128_int16_t); -unsigned char __builtin_mve_vmaxavq_p_sv16qi(unsigned char, __simd128_int8_t, short unsigned int); -unsigned int __builtin_mve_vmaxavq_p_sv4si(unsigned int, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vmaxavq_p_sv8hi(short unsigned int, __simd128_int16_t, short unsigned int); -unsigned char __builtin_mve_vmaxavq_sv16qi(unsigned char, __simd128_int8_t); -unsigned int __builtin_mve_vmaxavq_sv4si(unsigned int, __simd128_int32_t); -short unsigned int __builtin_mve_vmaxavq_sv8hi(short unsigned int, __simd128_int16_t); -__simd128_float32_t __builtin_mve_vmaxnmaq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vmaxnmaq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vmaxnmaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vmaxnmaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -float __builtin_mve_vmaxnmavq_fv4sf(float, __simd128_float32_t); -__bf16 __builtin_mve_vmaxnmavq_fv8hf(__bf16, __simd128_float16_t); -float __builtin_mve_vmaxnmavq_p_fv4sf(float, __simd128_float32_t, short unsigned int); -__bf16 __builtin_mve_vmaxnmavq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vmaxnmq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vmaxnmq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vmaxnmq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vmaxnmq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -float __builtin_mve_vmaxnmvq_fv4sf(float, __simd128_float32_t); -__bf16 __builtin_mve_vmaxnmvq_fv8hf(__bf16, __simd128_float16_t); -float __builtin_mve_vmaxnmvq_p_fv4sf(float, __simd128_float32_t, short unsigned int); -__bf16 __builtin_mve_vmaxnmvq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vmaxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmaxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmaxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vmaxq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmaxq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmaxq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vmaxq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vmaxq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vmaxq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vmaxq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmaxq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vmaxq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -signed char __builtin_mve_vmaxvq_p_sv16qi(signed char, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmaxvq_p_sv4si(int, __simd128_int32_t, short unsigned int); -short int __builtin_mve_vmaxvq_p_sv8hi(short int, __simd128_int16_t, short unsigned int); -unsigned char __builtin_mve_vmaxvq_p_uv16qi(unsigned char, __simd128_uint8_t, short unsigned int); -unsigned int __builtin_mve_vmaxvq_p_uv4si(unsigned int, __simd128_uint32_t, short unsigned int); -short unsigned int __builtin_mve_vmaxvq_p_uv8hi(short unsigned int, __simd128_uint16_t, short unsigned int); -signed char __builtin_mve_vmaxvq_sv16qi(signed char, __simd128_int8_t); -int __builtin_mve_vmaxvq_sv4si(int, __simd128_int32_t); -short int __builtin_mve_vmaxvq_sv8hi(short int, __simd128_int16_t); -unsigned char __builtin_mve_vmaxvq_uv16qi(unsigned char, __simd128_uint8_t); -unsigned int __builtin_mve_vmaxvq_uv4si(unsigned int, __simd128_uint32_t); -short unsigned int __builtin_mve_vmaxvq_uv8hi(short unsigned int, __simd128_uint16_t); -__simd128_uint8_t __builtin_mve_vminaq_m_sv16qi(__simd128_uint8_t, __simd128_int8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vminaq_m_sv4si(__simd128_uint32_t, __simd128_int32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vminaq_m_sv8hi(__simd128_uint16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vminaq_sv16qi(__simd128_uint8_t, __simd128_int8_t); -__simd128_uint32_t __builtin_mve_vminaq_sv4si(__simd128_uint32_t, __simd128_int32_t); -__simd128_uint16_t __builtin_mve_vminaq_sv8hi(__simd128_uint16_t, __simd128_int16_t); -unsigned char __builtin_mve_vminavq_p_sv16qi(unsigned char, __simd128_int8_t, short unsigned int); -unsigned int __builtin_mve_vminavq_p_sv4si(unsigned int, __simd128_int32_t, short unsigned int); -short unsigned int __builtin_mve_vminavq_p_sv8hi(short unsigned int, __simd128_int16_t, short unsigned int); -unsigned char __builtin_mve_vminavq_sv16qi(unsigned char, __simd128_int8_t); -unsigned int __builtin_mve_vminavq_sv4si(unsigned int, __simd128_int32_t); -short unsigned int __builtin_mve_vminavq_sv8hi(short unsigned int, __simd128_int16_t); -__simd128_float32_t __builtin_mve_vminnmaq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vminnmaq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vminnmaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vminnmaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -float __builtin_mve_vminnmavq_fv4sf(float, __simd128_float32_t); -__bf16 __builtin_mve_vminnmavq_fv8hf(__bf16, __simd128_float16_t); -float __builtin_mve_vminnmavq_p_fv4sf(float, __simd128_float32_t, short unsigned int); -__bf16 __builtin_mve_vminnmavq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vminnmq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vminnmq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vminnmq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vminnmq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -float __builtin_mve_vminnmvq_fv4sf(float, __simd128_float32_t); -__bf16 __builtin_mve_vminnmvq_fv8hf(__bf16, __simd128_float16_t); -float __builtin_mve_vminnmvq_p_fv4sf(float, __simd128_float32_t, short unsigned int); -__bf16 __builtin_mve_vminnmvq_p_fv8hf(__bf16, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vminq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vminq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vminq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vminq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vminq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vminq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vminq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vminq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vminq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vminq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vminq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vminq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -signed char __builtin_mve_vminvq_p_sv16qi(signed char, __simd128_int8_t, short unsigned int); -int __builtin_mve_vminvq_p_sv4si(int, __simd128_int32_t, short unsigned int); -short int __builtin_mve_vminvq_p_sv8hi(short int, __simd128_int16_t, short unsigned int); -unsigned char __builtin_mve_vminvq_p_uv16qi(unsigned char, __simd128_uint8_t, short unsigned int); -unsigned int __builtin_mve_vminvq_p_uv4si(unsigned int, __simd128_uint32_t, short unsigned int); -short unsigned int __builtin_mve_vminvq_p_uv8hi(short unsigned int, __simd128_uint16_t, short unsigned int); -signed char __builtin_mve_vminvq_sv16qi(signed char, __simd128_int8_t); -int __builtin_mve_vminvq_sv4si(int, __simd128_int32_t); -short int __builtin_mve_vminvq_sv8hi(short int, __simd128_int16_t); -unsigned char __builtin_mve_vminvq_uv16qi(unsigned char, __simd128_uint8_t); -unsigned int __builtin_mve_vminvq_uv4si(unsigned int, __simd128_uint32_t); -short unsigned int __builtin_mve_vminvq_uv8hi(short unsigned int, __simd128_uint16_t); -int __builtin_mve_vmladavaq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmladavaq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmladavaq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -unsigned int __builtin_mve_vmladavaq_p_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -unsigned int __builtin_mve_vmladavaq_p_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -unsigned int __builtin_mve_vmladavaq_p_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -int __builtin_mve_vmladavaq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmladavaq_sv4si(int, __simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmladavaq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); -unsigned int __builtin_mve_vmladavaq_uv16qi(unsigned int, __simd128_uint8_t, __simd128_uint8_t); -unsigned int __builtin_mve_vmladavaq_uv4si(unsigned int, __simd128_uint32_t, __simd128_uint32_t); -unsigned int __builtin_mve_vmladavaq_uv8hi(unsigned int, __simd128_uint16_t, __simd128_uint16_t); -int __builtin_mve_vmladavaxq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmladavaxq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmladavaxq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -int __builtin_mve_vmladavaxq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmladavaxq_sv4si(int, __simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmladavaxq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); -int __builtin_mve_vmladavq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmladavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmladavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -unsigned int __builtin_mve_vmladavq_p_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -unsigned int __builtin_mve_vmladavq_p_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -unsigned int __builtin_mve_vmladavq_p_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -int __builtin_mve_vmladavq_sv16qi(__simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmladavq_sv4si(__simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmladavq_sv8hi(__simd128_int16_t, __simd128_int16_t); -unsigned int __builtin_mve_vmladavq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -unsigned int __builtin_mve_vmladavq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -unsigned int __builtin_mve_vmladavq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -int __builtin_mve_vmladavxq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmladavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmladavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -int __builtin_mve_vmladavxq_sv16qi(__simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmladavxq_sv4si(__simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmladavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); -long long int __builtin_mve_vmlaldavaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlaldavaq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -long long unsigned int __builtin_mve_vmlaldavaq_p_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -long long unsigned int __builtin_mve_vmlaldavaq_p_uv8hi(long long unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -long long int __builtin_mve_vmlaldavaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlaldavaq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); -long long unsigned int __builtin_mve_vmlaldavaq_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t); -long long unsigned int __builtin_mve_vmlaldavaq_uv8hi(long long unsigned int, __simd128_uint16_t, __simd128_uint16_t); -long long int __builtin_mve_vmlaldavaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlaldavaxq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -long long unsigned int __builtin_mve_vmlaldavaxq_p_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -long long unsigned int __builtin_mve_vmlaldavaxq_p_uv8hi(long long unsigned int, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -long long int __builtin_mve_vmlaldavaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlaldavaxq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); -long long int __builtin_mve_vmlaldavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlaldavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -long long unsigned int __builtin_mve_vmlaldavq_p_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -long long unsigned int __builtin_mve_vmlaldavq_p_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -long long int __builtin_mve_vmlaldavq_sv4si(__simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlaldavq_sv8hi(__simd128_int16_t, __simd128_int16_t); -long long unsigned int __builtin_mve_vmlaldavq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -long long unsigned int __builtin_mve_vmlaldavq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -long long int __builtin_mve_vmlaldavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlaldavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -long long int __builtin_mve_vmlaldavxq_sv4si(__simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlaldavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vmlaq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vmlaq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vmlaq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vmlaq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vmlaq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vmlaq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vmlaq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vmlaq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vmlaq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vmlaq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vmlaq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vmlaq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vmlasq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vmlasq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vmlasq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vmlasq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vmlasq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vmlasq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vmlasq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vmlasq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vmlasq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vmlasq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vmlasq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vmlasq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -int __builtin_mve_vmlsdavaq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmlsdavaq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmlsdavaq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -int __builtin_mve_vmlsdavaq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmlsdavaq_sv4si(int, __simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmlsdavaq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); -int __builtin_mve_vmlsdavaxq_p_sv16qi(int, __simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmlsdavaxq_p_sv4si(int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmlsdavaxq_p_sv8hi(int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -int __builtin_mve_vmlsdavaxq_sv16qi(int, __simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmlsdavaxq_sv4si(int, __simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmlsdavaxq_sv8hi(int, __simd128_int16_t, __simd128_int16_t); -int __builtin_mve_vmlsdavq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmlsdavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmlsdavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -int __builtin_mve_vmlsdavq_sv16qi(__simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmlsdavq_sv4si(__simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmlsdavq_sv8hi(__simd128_int16_t, __simd128_int16_t); -int __builtin_mve_vmlsdavxq_p_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -int __builtin_mve_vmlsdavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -int __builtin_mve_vmlsdavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -int __builtin_mve_vmlsdavxq_sv16qi(__simd128_int8_t, __simd128_int8_t); -int __builtin_mve_vmlsdavxq_sv4si(__simd128_int32_t, __simd128_int32_t); -int __builtin_mve_vmlsdavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); -long long int __builtin_mve_vmlsldavaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlsldavaq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -long long int __builtin_mve_vmlsldavaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlsldavaq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); -long long int __builtin_mve_vmlsldavaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlsldavaxq_p_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t, short unsigned int); -long long int __builtin_mve_vmlsldavaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlsldavaxq_sv8hi(long long int, __simd128_int16_t, __simd128_int16_t); -long long int __builtin_mve_vmlsldavq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlsldavq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -long long int __builtin_mve_vmlsldavq_sv4si(__simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlsldavq_sv8hi(__simd128_int16_t, __simd128_int16_t); -long long int __builtin_mve_vmlsldavxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vmlsldavxq_p_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -long long int __builtin_mve_vmlsldavxq_sv4si(__simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vmlsldavxq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_mve_vmovlbq_m_sv16qi(__simd128_int16_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmovlbq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmovlbq_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmovlbq_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmovlbq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vmovlbq_sv8hi(__simd128_int16_t); -__simd128_uint16_t __builtin_mve_vmovlbq_uv16qi(__simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmovlbq_uv8hi(__simd128_uint16_t); -__simd128_int16_t __builtin_mve_vmovltq_m_sv16qi(__simd128_int16_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmovltq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmovltq_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmovltq_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmovltq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vmovltq_sv8hi(__simd128_int16_t); -__simd128_uint16_t __builtin_mve_vmovltq_uv16qi(__simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmovltq_uv8hi(__simd128_uint16_t); -__simd128_int16_t __builtin_mve_vmovnbq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); -__simd128_int8_t __builtin_mve_vmovnbq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmovnbq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vmovnbq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmovnbq_sv4si(__simd128_int16_t, __simd128_int32_t); -__simd128_int8_t __builtin_mve_vmovnbq_sv8hi(__simd128_int8_t, __simd128_int16_t); -__simd128_uint16_t __builtin_mve_vmovnbq_uv4si(__simd128_uint16_t, __simd128_uint32_t); -__simd128_uint8_t __builtin_mve_vmovnbq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); -__simd128_int16_t __builtin_mve_vmovntq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); -__simd128_int8_t __builtin_mve_vmovntq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmovntq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vmovntq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmovntq_sv4si(__simd128_int16_t, __simd128_int32_t); -__simd128_int8_t __builtin_mve_vmovntq_sv8hi(__simd128_int8_t, __simd128_int16_t); -__simd128_uint16_t __builtin_mve_vmovntq_uv4si(__simd128_uint16_t, __simd128_uint32_t); -__simd128_uint8_t __builtin_mve_vmovntq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); -__simd128_int8_t __builtin_mve_vmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vmulhq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmulhq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmulhq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vmulhq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmulhq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vmulhq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_int16_t __builtin_mve_vmullbq_int_m_sv16qi(__simd128_int16_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int64_t __builtin_mve_vmullbq_int_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmullbq_int_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmullbq_int_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint64_t __builtin_mve_vmullbq_int_m_uv4si(__simd128_uint64_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmullbq_int_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmullbq_int_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int64_t __builtin_mve_vmullbq_int_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int32_t __builtin_mve_vmullbq_int_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint16_t __builtin_mve_vmullbq_int_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint64_t __builtin_mve_vmullbq_int_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_mve_vmullbq_int_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_uint16_t __builtin_mve_vmullbq_poly_m_pv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmullbq_poly_m_pv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmullbq_poly_pv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmullbq_poly_pv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_int16_t __builtin_mve_vmulltq_int_m_sv16qi(__simd128_int16_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int64_t __builtin_mve_vmulltq_int_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmulltq_int_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmulltq_int_m_uv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint64_t __builtin_mve_vmulltq_int_m_uv4si(__simd128_uint64_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmulltq_int_m_uv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmulltq_int_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int64_t __builtin_mve_vmulltq_int_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int32_t __builtin_mve_vmulltq_int_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint16_t __builtin_mve_vmulltq_int_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint64_t __builtin_mve_vmulltq_int_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_mve_vmulltq_int_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_uint16_t __builtin_mve_vmulltq_poly_m_pv16qi(__simd128_uint16_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmulltq_poly_m_pv8hi(__simd128_uint32_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmulltq_poly_pv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmulltq_poly_pv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vmulq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vmulq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vmulq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vmulq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vmulq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); -__simd128_float16_t __builtin_mve_vmulq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); -__simd128_int8_t __builtin_mve_vmulq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vmulq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vmulq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vmulq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vmulq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vmulq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vmulq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmulq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmulq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vmulq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmulq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmulq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vmulq_n_fv4sf(__simd128_float32_t, float); -__simd128_float16_t __builtin_mve_vmulq_n_fv8hf(__simd128_float16_t, __bf16); -__simd128_int8_t __builtin_mve_vmulq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vmulq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vmulq_n_sv8hi(__simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vmulq_n_uv16qi(__simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vmulq_n_uv4si(__simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vmulq_n_uv8hi(__simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vmulq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vmulq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vmulq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vmulq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmulq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vmulq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_int32_t __builtin_mve_vmvnq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vmvnq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vmvnq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vmvnq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vmvnq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmvnq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vmvnq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vmvnq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vmvnq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vmvnq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vmvnq_n_sv4si(short int); -__simd128_int16_t __builtin_mve_vmvnq_n_sv8hi(short int); -__simd128_uint32_t __builtin_mve_vmvnq_n_uv4si(short int); -__simd128_uint16_t __builtin_mve_vmvnq_n_uv8hi(short int); -__simd128_int8_t __builtin_mve_vmvnq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vmvnq_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vmvnq_sv8hi(__simd128_int16_t); -__simd128_uint8_t __builtin_mve_vmvnq_uv16qi(__simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vmvnq_uv4si(__simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vmvnq_uv8hi(__simd128_uint16_t); -__simd128_float32_t __builtin_mve_vnegq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vnegq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vnegq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vnegq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vnegq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vnegq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vnegq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vnegq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vnegq_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vnegq_sv8hi(__simd128_int16_t); -__simd128_float32_t __builtin_mve_vornq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vornq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vornq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vornq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vornq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vornq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vornq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vornq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vornq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vornq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vornq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vornq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vornq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vornq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vornq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vornq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vorrq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vorrq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vorrq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vorrq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vorrq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vorrq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vorrq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vorrq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vorrq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vorrq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vorrq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vorrq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vorrq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vorrq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int32_t __builtin_mve_vorrq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vorrq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint32_t __builtin_mve_vorrq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vorrq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vorrq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vorrq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vorrq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vorrq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vorrq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vorrq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -short unsigned int __builtin_mve_vpnothi(short unsigned int); -__simd128_float32_t __builtin_mve_vpselq_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vpselq_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vpselq_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int64_t __builtin_mve_vpselq_sv2di(__simd128_int64_t, __simd128_int64_t, short unsigned int); -__simd128_int32_t __builtin_mve_vpselq_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vpselq_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vpselq_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint64_t __builtin_mve_vpselq_uv2di(__simd128_uint64_t, __simd128_uint64_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vpselq_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vpselq_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqabsq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqabsq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqabsq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqabsq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vqabsq_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vqabsq_sv8hi(__simd128_int16_t); -__simd128_int8_t __builtin_mve_vqaddq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vqaddq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqaddq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqaddq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vqaddq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqaddq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vqaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vqaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqaddq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vqaddq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqaddq_n_sv8hi(__simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vqaddq_n_uv16qi(__simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vqaddq_n_uv4si(__simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vqaddq_n_uv8hi(__simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqaddq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqaddq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqaddq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vqaddq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vqaddq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vqaddq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_int8_t __builtin_mve_vqdmladhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmladhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqdmladhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmladhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqdmladhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqdmladhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqdmladhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmladhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqdmladhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmladhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqdmladhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqdmladhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqdmlahq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmlahq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqdmlahq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmlahq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vqdmlahq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqdmlahq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vqdmlahq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vqdmlahq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vqdmlahq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmlsdhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmlsdhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqdmlsdhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmlsdhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqdmlsdhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqdmlsdhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqdmlsdhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmlsdhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqdmlsdhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmlsdhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqdmlsdhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqdmlsdhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqdmulhq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmulhq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqdmulhq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqdmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqdmulhq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vqdmulhq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqdmulhq_n_sv8hi(__simd128_int16_t, short int); -__simd128_int8_t __builtin_mve_vqdmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqdmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqdmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int64_t __builtin_mve_vqdmullbq_m_n_sv4si(__simd128_int64_t, __simd128_int32_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmullbq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, short int, short unsigned int); -__simd128_int64_t __builtin_mve_vqdmullbq_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmullbq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int64_t __builtin_mve_vqdmullbq_n_sv4si(__simd128_int32_t, int); -__simd128_int32_t __builtin_mve_vqdmullbq_n_sv8hi(__simd128_int16_t, short int); -__simd128_int64_t __builtin_mve_vqdmullbq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int32_t __builtin_mve_vqdmullbq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int64_t __builtin_mve_vqdmulltq_m_n_sv4si(__simd128_int64_t, __simd128_int32_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmulltq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, short int, short unsigned int); -__simd128_int64_t __builtin_mve_vqdmulltq_m_sv4si(__simd128_int64_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqdmulltq_m_sv8hi(__simd128_int32_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int64_t __builtin_mve_vqdmulltq_n_sv4si(__simd128_int32_t, int); -__simd128_int32_t __builtin_mve_vqdmulltq_n_sv8hi(__simd128_int16_t, short int); -__simd128_int64_t __builtin_mve_vqdmulltq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int32_t __builtin_mve_vqdmulltq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_mve_vqmovnbq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqmovnbq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqmovnbq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqmovnbq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqmovnbq_sv4si(__simd128_int16_t, __simd128_int32_t); -__simd128_int8_t __builtin_mve_vqmovnbq_sv8hi(__simd128_int8_t, __simd128_int16_t); -__simd128_uint16_t __builtin_mve_vqmovnbq_uv4si(__simd128_uint16_t, __simd128_uint32_t); -__simd128_uint8_t __builtin_mve_vqmovnbq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); -__simd128_int16_t __builtin_mve_vqmovntq_m_sv4si(__simd128_int16_t, __simd128_int32_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqmovntq_m_sv8hi(__simd128_int8_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqmovntq_m_uv4si(__simd128_uint16_t, __simd128_uint32_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqmovntq_m_uv8hi(__simd128_uint8_t, __simd128_uint16_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqmovntq_sv4si(__simd128_int16_t, __simd128_int32_t); -__simd128_int8_t __builtin_mve_vqmovntq_sv8hi(__simd128_int8_t, __simd128_int16_t); -__simd128_uint16_t __builtin_mve_vqmovntq_uv4si(__simd128_uint16_t, __simd128_uint32_t); -__simd128_uint8_t __builtin_mve_vqmovntq_uv8hi(__simd128_uint8_t, __simd128_uint16_t); -__simd128_uint16_t __builtin_mve_vqmovunbq_m_sv4si(__simd128_uint16_t, __simd128_int32_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqmovunbq_m_sv8hi(__simd128_uint8_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqmovunbq_sv4si(__simd128_uint16_t, __simd128_int32_t); -__simd128_uint8_t __builtin_mve_vqmovunbq_sv8hi(__simd128_uint8_t, __simd128_int16_t); -__simd128_uint16_t __builtin_mve_vqmovuntq_m_sv4si(__simd128_uint16_t, __simd128_int32_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqmovuntq_m_sv8hi(__simd128_uint8_t, __simd128_int16_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqmovuntq_sv4si(__simd128_uint16_t, __simd128_int32_t); -__simd128_uint8_t __builtin_mve_vqmovuntq_sv8hi(__simd128_uint8_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqnegq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqnegq_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqnegq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqnegq_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vqnegq_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vqnegq_sv8hi(__simd128_int16_t); -__simd128_int8_t __builtin_mve_vqrdmladhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmladhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmladhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmladhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqrdmladhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqrdmladhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqrdmladhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmladhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmladhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmladhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqrdmladhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqrdmladhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqrdmlahq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmlahq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmlahq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmlahq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vqrdmlahq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqrdmlahq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vqrdmlahq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vqrdmlahq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vqrdmlahq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmlashq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmlashq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmlashq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmlashq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vqrdmlashq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqrdmlashq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vqrdmlashq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vqrdmlashq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vqrdmlashq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmlsdhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmlsdhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmlsdhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmlsdhq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqrdmlsdhq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqrdmlsdhq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqrdmlsdhxq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmlsdhxq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmlsdhxq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmlsdhxq_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqrdmlsdhxq_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqrdmlsdhxq_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqrdmulhq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmulhq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmulhq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqrdmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqrdmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrdmulhq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vqrdmulhq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqrdmulhq_n_sv8hi(__simd128_int16_t, short int); -__simd128_int8_t __builtin_mve_vqrdmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqrdmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqrdmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int8_t __builtin_mve_vqrshlq_m_n_sv16qi(__simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vqrshlq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqrshlq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqrshlq_m_n_uv16qi(__simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vqrshlq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqrshlq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vqrshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqrshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqrshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqrshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vqrshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqrshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqrshlq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vqrshlq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqrshlq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vqrshlq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vqrshlq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vqrshlq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vqrshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqrshlq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqrshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vqrshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); -__simd128_uint32_t __builtin_mve_vqrshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); -__simd128_uint16_t __builtin_mve_vqrshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); -__simd128_int16_t __builtin_mve_vqrshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vqrshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqrshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqrshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqrshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vqrshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vqrshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vqrshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_int16_t __builtin_mve_vqrshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vqrshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqrshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqrshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqrshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vqrshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vqrshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vqrshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_uint16_t __builtin_mve_vqrshrunbq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqrshrunbq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqrshrunbq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); -__simd128_uint8_t __builtin_mve_vqrshrunbq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vqrshruntq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqrshruntq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqrshruntq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); -__simd128_uint8_t __builtin_mve_vqrshruntq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); -__simd128_int8_t __builtin_mve_vqshlq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vqshlq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqshlq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshlq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vqshlq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshlq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vqshlq_m_r_sv16qi(__simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vqshlq_m_r_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqshlq_m_r_sv8hi(__simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshlq_m_r_uv16qi(__simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vqshlq_m_r_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshlq_m_r_uv8hi(__simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vqshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vqshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqshlq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vqshlq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqshlq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vqshlq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vqshlq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vqshlq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vqshlq_r_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vqshlq_r_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqshlq_r_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vqshlq_r_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vqshlq_r_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vqshlq_r_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vqshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqshlq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vqshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); -__simd128_uint32_t __builtin_mve_vqshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); -__simd128_uint16_t __builtin_mve_vqshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vqshluq_m_n_sv16qi(__simd128_uint8_t, __simd128_int8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vqshluq_m_n_sv4si(__simd128_uint32_t, __simd128_int32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshluq_m_n_sv8hi(__simd128_uint16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshluq_n_sv16qi(__simd128_int8_t, int); -__simd128_uint32_t __builtin_mve_vqshluq_n_sv4si(__simd128_int32_t, int); -__simd128_uint16_t __builtin_mve_vqshluq_n_sv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_mve_vqshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vqshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vqshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vqshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vqshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_int16_t __builtin_mve_vqshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vqshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vqshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vqshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vqshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_uint16_t __builtin_mve_vqshrunbq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshrunbq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshrunbq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); -__simd128_uint8_t __builtin_mve_vqshrunbq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vqshruntq_m_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqshruntq_m_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqshruntq_n_sv4si(__simd128_uint16_t, __simd128_int32_t, int); -__simd128_uint8_t __builtin_mve_vqshruntq_n_sv8hi(__simd128_uint8_t, __simd128_int16_t, int); -__simd128_int8_t __builtin_mve_vqsubq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vqsubq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vqsubq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vqsubq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vqsubq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vqsubq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vqsubq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vqsubq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vqsubq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vqsubq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vqsubq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vqsubq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqsubq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vqsubq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vqsubq_n_sv8hi(__simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vqsubq_n_uv16qi(__simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vqsubq_n_uv4si(__simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vqsubq_n_uv8hi(__simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vqsubq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vqsubq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vqsubq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vqsubq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vqsubq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vqsubq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_int8_t __builtin_mve_vrev16q_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vrev16q_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrev16q_sv16qi(__simd128_int8_t); -__simd128_uint8_t __builtin_mve_vrev16q_uv16qi(__simd128_uint8_t); -__simd128_float16_t __builtin_mve_vrev32q_fv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_mve_vrev32q_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrev32q_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int16_t __builtin_mve_vrev32q_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vrev32q_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vrev32q_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrev32q_sv16qi(__simd128_int8_t); -__simd128_int16_t __builtin_mve_vrev32q_sv8hi(__simd128_int16_t); -__simd128_uint8_t __builtin_mve_vrev32q_uv16qi(__simd128_uint8_t); -__simd128_uint16_t __builtin_mve_vrev32q_uv8hi(__simd128_uint16_t); -__simd128_float32_t __builtin_mve_vrev64q_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vrev64q_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vrev64q_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vrev64q_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrev64q_m_sv16qi(__simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vrev64q_m_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vrev64q_m_sv8hi(__simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vrev64q_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vrev64q_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vrev64q_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrev64q_sv16qi(__simd128_int8_t); -__simd128_int32_t __builtin_mve_vrev64q_sv4si(__simd128_int32_t); -__simd128_int16_t __builtin_mve_vrev64q_sv8hi(__simd128_int16_t); -__simd128_uint8_t __builtin_mve_vrev64q_uv16qi(__simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vrev64q_uv4si(__simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vrev64q_uv8hi(__simd128_uint16_t); -__simd128_int8_t __builtin_mve_vrhaddq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vrhaddq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vrhaddq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vrhaddq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vrhaddq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vrhaddq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrhaddq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vrhaddq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vrhaddq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vrhaddq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vrhaddq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vrhaddq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -long long int __builtin_mve_vrmlaldavhaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long unsigned int __builtin_mve_vrmlaldavhaq_p_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -long long int __builtin_mve_vrmlaldavhaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long unsigned int __builtin_mve_vrmlaldavhaq_uv4si(long long unsigned int, __simd128_uint32_t, __simd128_uint32_t); -long long int __builtin_mve_vrmlaldavhaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vrmlaldavhaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vrmlaldavhq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long unsigned int __builtin_mve_vrmlaldavhq_p_uv4si(__simd128_uint32_t, __simd128_uint32_t, short unsigned int); -long long int __builtin_mve_vrmlaldavhq_sv4si(__simd128_int32_t, __simd128_int32_t); -long long unsigned int __builtin_mve_vrmlaldavhq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -long long int __builtin_mve_vrmlaldavhxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vrmlaldavhxq_sv4si(__simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vrmlsldavhaq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vrmlsldavhaq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vrmlsldavhaxq_p_sv4si(long long int, __simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vrmlsldavhaxq_sv4si(long long int, __simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vrmlsldavhq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vrmlsldavhq_sv4si(__simd128_int32_t, __simd128_int32_t); -long long int __builtin_mve_vrmlsldavhxq_p_sv4si(__simd128_int32_t, __simd128_int32_t, short unsigned int); -long long int __builtin_mve_vrmlsldavhxq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int8_t __builtin_mve_vrmulhq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vrmulhq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vrmulhq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vrmulhq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vrmulhq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vrmulhq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrmulhq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vrmulhq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vrmulhq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vrmulhq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vrmulhq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vrmulhq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); -__simd128_float32_t __builtin_mve_vrndaq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vrndaq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vrndaq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vrndaq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vrndmq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vrndmq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vrndmq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vrndmq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vrndnq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vrndnq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vrndnq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vrndnq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vrndpq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vrndpq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vrndpq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vrndpq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vrndq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vrndq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vrndq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vrndq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vrndxq_fv4sf(__simd128_float32_t); -__simd128_float16_t __builtin_mve_vrndxq_fv8hf(__simd128_float16_t); -__simd128_float32_t __builtin_mve_vrndxq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vrndxq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrshlq_m_n_sv16qi(__simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vrshlq_m_n_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vrshlq_m_n_sv8hi(__simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vrshlq_m_n_uv16qi(__simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vrshlq_m_n_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vrshlq_m_n_uv8hi(__simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vrshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vrshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vrshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vrshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vrshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vrshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vrshlq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vrshlq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vrshlq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vrshlq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vrshlq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vrshlq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vrshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vrshlq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vrshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vrshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); -__simd128_uint32_t __builtin_mve_vrshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); -__simd128_uint16_t __builtin_mve_vrshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); -__simd128_int16_t __builtin_mve_vrshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vrshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vrshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vrshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vrshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vrshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vrshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vrshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_int16_t __builtin_mve_vrshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vrshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vrshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vrshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vrshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vrshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vrshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vrshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vrshrq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vrshrq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vrshrq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vrshrq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vrshrq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vrshrq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vrshrq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vrshrq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vrshrq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vrshrq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vrshrq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vrshrq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int32_t __builtin_mve_vsbciq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vsbciq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vsbciq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_uint32_t __builtin_mve_vsbciq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_int32_t __builtin_mve_vsbcq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vsbcq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_int32_t __builtin_mve_vsbcq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_uint32_t __builtin_mve_vsbcq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -unsigned int __builtin_mve_vshlcq_carry_sv16qi(__simd128_int8_t, unsigned int, int); -unsigned int __builtin_mve_vshlcq_carry_sv4si(__simd128_int32_t, unsigned int, int); -unsigned int __builtin_mve_vshlcq_carry_sv8hi(__simd128_int16_t, unsigned int, int); -unsigned int __builtin_mve_vshlcq_carry_uv16qi(__simd128_uint8_t, unsigned int, int); -unsigned int __builtin_mve_vshlcq_carry_uv4si(__simd128_uint32_t, unsigned int, int); -unsigned int __builtin_mve_vshlcq_carry_uv8hi(__simd128_uint16_t, unsigned int, int); -int __builtin_mve_vshlcq_m_carry_sv16qi(__simd128_int8_t, unsigned int, int, short unsigned int); -int __builtin_mve_vshlcq_m_carry_sv4si(__simd128_int32_t, unsigned int, int, short unsigned int); -int __builtin_mve_vshlcq_m_carry_sv8hi(__simd128_int16_t, unsigned int, int, short unsigned int); -unsigned int __builtin_mve_vshlcq_m_carry_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); -unsigned int __builtin_mve_vshlcq_m_carry_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); -unsigned int __builtin_mve_vshlcq_m_carry_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); -__simd128_int8_t __builtin_mve_vshlcq_m_vec_sv16qi(__simd128_int8_t, unsigned int, int, short unsigned int); -__simd128_int32_t __builtin_mve_vshlcq_m_vec_sv4si(__simd128_int32_t, unsigned int, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshlcq_m_vec_sv8hi(__simd128_int16_t, unsigned int, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vshlcq_m_vec_uv16qi(__simd128_uint8_t, unsigned int, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vshlcq_m_vec_uv4si(__simd128_uint32_t, unsigned int, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshlcq_m_vec_uv8hi(__simd128_uint16_t, unsigned int, int, short unsigned int); -__simd128_int8_t __builtin_mve_vshlcq_vec_sv16qi(__simd128_int8_t, unsigned int, int); -__simd128_int32_t __builtin_mve_vshlcq_vec_sv4si(__simd128_int32_t, unsigned int, int); -__simd128_int16_t __builtin_mve_vshlcq_vec_sv8hi(__simd128_int16_t, unsigned int, int); -__simd128_uint8_t __builtin_mve_vshlcq_vec_uv16qi(__simd128_uint8_t, unsigned int, int); -__simd128_uint32_t __builtin_mve_vshlcq_vec_uv4si(__simd128_uint32_t, unsigned int, int); -__simd128_uint16_t __builtin_mve_vshlcq_vec_uv8hi(__simd128_uint16_t, unsigned int, int); -__simd128_int16_t __builtin_mve_vshllbq_m_n_sv16qi(__simd128_int16_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vshllbq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshllbq_m_n_uv16qi(__simd128_uint16_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vshllbq_m_n_uv8hi(__simd128_uint32_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshllbq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vshllbq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vshllbq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vshllbq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int16_t __builtin_mve_vshlltq_m_n_sv16qi(__simd128_int16_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vshlltq_m_n_sv8hi(__simd128_int32_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshlltq_m_n_uv16qi(__simd128_uint16_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vshlltq_m_n_uv8hi(__simd128_uint32_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshlltq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vshlltq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vshlltq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vshlltq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vshlq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vshlq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshlq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vshlq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vshlq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshlq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vshlq_m_r_sv16qi(__simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vshlq_m_r_sv4si(__simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshlq_m_r_sv8hi(__simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vshlq_m_r_uv16qi(__simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vshlq_m_r_uv4si(__simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshlq_m_r_uv8hi(__simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vshlq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vshlq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vshlq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vshlq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_int8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vshlq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vshlq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_int16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vshlq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vshlq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vshlq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vshlq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vshlq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vshlq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vshlq_r_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vshlq_r_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vshlq_r_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vshlq_r_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vshlq_r_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vshlq_r_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vshlq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vshlq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vshlq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vshlq_uv16qi(__simd128_uint8_t, __simd128_int8_t); -__simd128_uint32_t __builtin_mve_vshlq_uv4si(__simd128_uint32_t, __simd128_int32_t); -__simd128_uint16_t __builtin_mve_vshlq_uv8hi(__simd128_uint16_t, __simd128_int16_t); -__simd128_int16_t __builtin_mve_vshrnbq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vshrnbq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshrnbq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vshrnbq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshrnbq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vshrnbq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vshrnbq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vshrnbq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_int16_t __builtin_mve_vshrntq_m_n_sv4si(__simd128_int16_t, __simd128_int32_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vshrntq_m_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshrntq_m_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vshrntq_m_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshrntq_n_sv4si(__simd128_int16_t, __simd128_int32_t, int); -__simd128_int8_t __builtin_mve_vshrntq_n_sv8hi(__simd128_int8_t, __simd128_int16_t, int); -__simd128_uint16_t __builtin_mve_vshrntq_n_uv4si(__simd128_uint16_t, __simd128_uint32_t, int); -__simd128_uint8_t __builtin_mve_vshrntq_n_uv8hi(__simd128_uint8_t, __simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vshrq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vshrq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vshrq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vshrq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vshrq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vshrq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vshrq_n_sv16qi(__simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vshrq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vshrq_n_sv8hi(__simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vshrq_n_uv16qi(__simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vshrq_n_uv4si(__simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vshrq_n_uv8hi(__simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vsliq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vsliq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vsliq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vsliq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vsliq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vsliq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vsliq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vsliq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vsliq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vsliq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vsliq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vsliq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int); -__simd128_int8_t __builtin_mve_vsriq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int, short unsigned int); -__simd128_int32_t __builtin_mve_vsriq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vsriq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int, short unsigned int); -__simd128_uint8_t __builtin_mve_vsriq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int, short unsigned int); -__simd128_uint32_t __builtin_mve_vsriq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int, short unsigned int); -__simd128_uint16_t __builtin_mve_vsriq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int, short unsigned int); -__simd128_int8_t __builtin_mve_vsriq_n_sv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int32_t __builtin_mve_vsriq_n_sv4si(__simd128_int32_t, __simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vsriq_n_sv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_uint8_t __builtin_mve_vsriq_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, int); -__simd128_uint32_t __builtin_mve_vsriq_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, int); -__simd128_uint16_t __builtin_mve_vsriq_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, int); -void __builtin_mve_vst1q_fv4sf(int*, __simd128_float32_t); -void __builtin_mve_vst1q_fv8hf(short int*, __simd128_float16_t); -void __builtin_mve_vst1q_sv16qi(signed char*, __simd128_int8_t); -void __builtin_mve_vst1q_sv4si(int*, __simd128_int32_t); -void __builtin_mve_vst1q_sv8hi(short int*, __simd128_int16_t); -void __builtin_mve_vst1q_uv16qi(signed char*, __simd128_uint8_t); -void __builtin_mve_vst1q_uv4si(int*, __simd128_uint32_t); -void __builtin_mve_vst1q_uv8hi(short int*, __simd128_uint16_t); -void __builtin_mve_vst2qv16qi(signed char*, __builtin_neon_oi); -void __builtin_mve_vst2qv4sf(float*, __builtin_neon_oi); -void __builtin_mve_vst2qv4si(int*, __builtin_neon_oi); -void __builtin_mve_vst2qv8hf(__bf16*, __builtin_neon_oi); -void __builtin_mve_vst2qv8hi(short int*, __builtin_neon_oi); -void __builtin_mve_vst4qv16qi(signed char*, __builtin_neon_xi); -void __builtin_mve_vst4qv4sf(float*, __builtin_neon_xi); -void __builtin_mve_vst4qv4si(int*, __builtin_neon_xi); -void __builtin_mve_vst4qv8hf(__bf16*, __builtin_neon_xi); -void __builtin_mve_vst4qv8hi(short int*, __builtin_neon_xi); -void __builtin_mve_vstrbq_p_sv16qi(signed char*, __simd128_int8_t, short unsigned int); -void __builtin_mve_vstrbq_p_sv4si(signed char*, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrbq_p_sv8hi(signed char*, __simd128_int16_t, short unsigned int); -void __builtin_mve_vstrbq_p_uv16qi(signed char*, __simd128_uint8_t, short unsigned int); -void __builtin_mve_vstrbq_p_uv4si(signed char*, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrbq_p_uv8hi(signed char*, __simd128_uint16_t, short unsigned int); -void __builtin_mve_vstrbq_scatter_offset_p_sv16qi(signed char*, __simd128_uint8_t, __simd128_int8_t, short unsigned int); -void __builtin_mve_vstrbq_scatter_offset_p_sv4si(signed char*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrbq_scatter_offset_p_sv8hi(signed char*, __simd128_uint16_t, __simd128_int16_t, short unsigned int); -void __builtin_mve_vstrbq_scatter_offset_p_uv16qi(signed char*, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -void __builtin_mve_vstrbq_scatter_offset_p_uv4si(signed char*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrbq_scatter_offset_p_uv8hi(signed char*, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -void __builtin_mve_vstrbq_scatter_offset_sv16qi(signed char*, __simd128_uint8_t, __simd128_int8_t); -void __builtin_mve_vstrbq_scatter_offset_sv4si(signed char*, __simd128_uint32_t, __simd128_int32_t); -void __builtin_mve_vstrbq_scatter_offset_sv8hi(signed char*, __simd128_uint16_t, __simd128_int16_t); -void __builtin_mve_vstrbq_scatter_offset_uv16qi(signed char*, __simd128_uint8_t, __simd128_uint8_t); -void __builtin_mve_vstrbq_scatter_offset_uv4si(signed char*, __simd128_uint32_t, __simd128_uint32_t); -void __builtin_mve_vstrbq_scatter_offset_uv8hi(signed char*, __simd128_uint16_t, __simd128_uint16_t); -void __builtin_mve_vstrbq_sv16qi(signed char*, __simd128_int8_t); -void __builtin_mve_vstrbq_sv4si(signed char*, __simd128_int32_t); -void __builtin_mve_vstrbq_sv8hi(signed char*, __simd128_int16_t); -void __builtin_mve_vstrbq_uv16qi(signed char*, __simd128_uint8_t); -void __builtin_mve_vstrbq_uv4si(signed char*, __simd128_uint32_t); -void __builtin_mve_vstrbq_uv8hi(signed char*, __simd128_uint16_t); -void __builtin_mve_vstrdq_scatter_base_p_sv2di(__simd128_uint64_t, int, __simd128_int64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_base_p_uv2di(__simd128_uint64_t, int, __simd128_uint64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_base_sv2di(__simd128_uint64_t, int, __simd128_int64_t); -void __builtin_mve_vstrdq_scatter_base_uv2di(__simd128_uint64_t, int, __simd128_uint64_t); -void __builtin_mve_vstrdq_scatter_base_wb_add_sv2di(__simd128_uint64_t, const int, __simd128_uint64_t); -void __builtin_mve_vstrdq_scatter_base_wb_add_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t); -void __builtin_mve_vstrdq_scatter_base_wb_p_add_sv2di(__simd128_uint64_t, const int, __simd128_uint64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_base_wb_p_add_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_base_wb_p_sv2di(__simd128_uint64_t, const int, __simd128_int64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_base_wb_p_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_base_wb_sv2di(__simd128_uint64_t, const int, __simd128_int64_t); -void __builtin_mve_vstrdq_scatter_base_wb_uv2di(__simd128_uint64_t, const int, __simd128_uint64_t); -void __builtin_mve_vstrdq_scatter_offset_p_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_offset_p_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_offset_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t); -void __builtin_mve_vstrdq_scatter_offset_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t); -void __builtin_mve_vstrdq_scatter_shifted_offset_p_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_shifted_offset_p_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t, short unsigned int); -void __builtin_mve_vstrdq_scatter_shifted_offset_sv2di(long long int*, __simd128_uint64_t, __simd128_int64_t); -void __builtin_mve_vstrdq_scatter_shifted_offset_uv2di(long long int*, __simd128_uint64_t, __simd128_uint64_t); -void __builtin_mve_vstrhq_fv8hf(short int*, __simd128_float16_t); -void __builtin_mve_vstrhq_p_fv8hf(short int*, __simd128_float16_t, short unsigned int); -void __builtin_mve_vstrhq_p_sv4si(short int*, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrhq_p_sv8hi(short int*, __simd128_int16_t, short unsigned int); -void __builtin_mve_vstrhq_p_uv4si(short int*, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrhq_p_uv8hi(short int*, __simd128_uint16_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_offset_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t); -void __builtin_mve_vstrhq_scatter_offset_p_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_offset_p_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_offset_p_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_offset_p_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_offset_p_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_offset_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t); -void __builtin_mve_vstrhq_scatter_offset_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t); -void __builtin_mve_vstrhq_scatter_offset_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t); -void __builtin_mve_vstrhq_scatter_offset_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t); -void __builtin_mve_vstrhq_scatter_shifted_offset_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t); -void __builtin_mve_vstrhq_scatter_shifted_offset_p_fv8hf(short int*, __simd128_uint16_t, __simd128_float16_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_shifted_offset_p_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_shifted_offset_p_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_shifted_offset_p_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_shifted_offset_p_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -void __builtin_mve_vstrhq_scatter_shifted_offset_sv4si(short int*, __simd128_uint32_t, __simd128_int32_t); -void __builtin_mve_vstrhq_scatter_shifted_offset_sv8hi(short int*, __simd128_uint16_t, __simd128_int16_t); -void __builtin_mve_vstrhq_scatter_shifted_offset_uv4si(short int*, __simd128_uint32_t, __simd128_uint32_t); -void __builtin_mve_vstrhq_scatter_shifted_offset_uv8hi(short int*, __simd128_uint16_t, __simd128_uint16_t); -void __builtin_mve_vstrhq_sv4si(short int*, __simd128_int32_t); -void __builtin_mve_vstrhq_sv8hi(short int*, __simd128_int16_t); -void __builtin_mve_vstrhq_uv4si(short int*, __simd128_uint32_t); -void __builtin_mve_vstrhq_uv8hi(short int*, __simd128_uint16_t); -void __builtin_mve_vstrwq_fv4sf(int*, __simd128_float32_t); -void __builtin_mve_vstrwq_p_fv4sf(int*, __simd128_float32_t, short unsigned int); -void __builtin_mve_vstrwq_p_sv4si(int*, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrwq_p_uv4si(int*, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_fv4sf(__simd128_uint32_t, int, __simd128_float32_t); -void __builtin_mve_vstrwq_scatter_base_p_fv4sf(__simd128_uint32_t, int, __simd128_float32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_p_sv4si(__simd128_uint32_t, int, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_p_uv4si(__simd128_uint32_t, int, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_sv4si(__simd128_uint32_t, int, __simd128_int32_t); -void __builtin_mve_vstrwq_scatter_base_uv4si(__simd128_uint32_t, int, __simd128_uint32_t); -void __builtin_mve_vstrwq_scatter_base_wb_add_fv4sf(__simd128_uint32_t, const int, __simd128_uint32_t); -void __builtin_mve_vstrwq_scatter_base_wb_add_sv4si(__simd128_uint32_t, const int, __simd128_uint32_t); -void __builtin_mve_vstrwq_scatter_base_wb_add_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t); -void __builtin_mve_vstrwq_scatter_base_wb_fv4sf(__simd128_uint32_t, const int, __simd128_float32_t); -void __builtin_mve_vstrwq_scatter_base_wb_p_add_fv4sf(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_wb_p_add_sv4si(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_wb_p_add_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_wb_p_fv4sf(__simd128_uint32_t, const int, __simd128_float32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_wb_p_sv4si(__simd128_uint32_t, const int, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_wb_p_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_base_wb_sv4si(__simd128_uint32_t, const int, __simd128_int32_t); -void __builtin_mve_vstrwq_scatter_base_wb_uv4si(__simd128_uint32_t, const int, __simd128_uint32_t); -void __builtin_mve_vstrwq_scatter_offset_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t); -void __builtin_mve_vstrwq_scatter_offset_p_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_offset_p_sv4si(int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_offset_p_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_offset_sv4si(int*, __simd128_uint32_t, __simd128_int32_t); -void __builtin_mve_vstrwq_scatter_offset_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t); -void __builtin_mve_vstrwq_scatter_shifted_offset_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t); -void __builtin_mve_vstrwq_scatter_shifted_offset_p_fv4sf(int*, __simd128_uint32_t, __simd128_float32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_shifted_offset_p_sv4si(int*, __simd128_uint32_t, __simd128_int32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_shifted_offset_p_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -void __builtin_mve_vstrwq_scatter_shifted_offset_sv4si(int*, __simd128_uint32_t, __simd128_int32_t); -void __builtin_mve_vstrwq_scatter_shifted_offset_uv4si(int*, __simd128_uint32_t, __simd128_uint32_t); -void __builtin_mve_vstrwq_sv4si(int*, __simd128_int32_t); -void __builtin_mve_vstrwq_uv4si(int*, __simd128_uint32_t); -__simd128_float32_t __builtin_mve_vsubq_fv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_mve_vsubq_fv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_mve_vsubq_m_fv4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, short unsigned int); -__simd128_float16_t __builtin_mve_vsubq_m_fv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vsubq_m_n_fv4sf(__simd128_float32_t, __simd128_float32_t, float, short unsigned int); -__simd128_float16_t __builtin_mve_vsubq_m_n_fv8hf(__simd128_float16_t, __simd128_float16_t, __bf16, short unsigned int); -__simd128_int8_t __builtin_mve_vsubq_m_n_sv16qi(__simd128_int8_t, __simd128_int8_t, signed char, short unsigned int); -__simd128_int32_t __builtin_mve_vsubq_m_n_sv4si(__simd128_int32_t, __simd128_int32_t, int, short unsigned int); -__simd128_int16_t __builtin_mve_vsubq_m_n_sv8hi(__simd128_int16_t, __simd128_int16_t, short int, short unsigned int); -__simd128_uint8_t __builtin_mve_vsubq_m_n_uv16qi(__simd128_uint8_t, __simd128_uint8_t, unsigned char, short unsigned int); -__simd128_uint32_t __builtin_mve_vsubq_m_n_uv4si(__simd128_uint32_t, __simd128_uint32_t, unsigned int, short unsigned int); -__simd128_uint16_t __builtin_mve_vsubq_m_n_uv8hi(__simd128_uint16_t, __simd128_uint16_t, short unsigned int, short unsigned int); -__simd128_int8_t __builtin_mve_vsubq_m_sv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t, short unsigned int); -__simd128_int32_t __builtin_mve_vsubq_m_sv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t, short unsigned int); -__simd128_int16_t __builtin_mve_vsubq_m_sv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t, short unsigned int); -__simd128_uint8_t __builtin_mve_vsubq_m_uv16qi(__simd128_uint8_t, __simd128_uint8_t, __simd128_uint8_t, short unsigned int); -__simd128_uint32_t __builtin_mve_vsubq_m_uv4si(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t, short unsigned int); -__simd128_uint16_t __builtin_mve_vsubq_m_uv8hi(__simd128_uint16_t, __simd128_uint16_t, __simd128_uint16_t, short unsigned int); -__simd128_float32_t __builtin_mve_vsubq_n_fv4sf(__simd128_float32_t, float); -__simd128_float16_t __builtin_mve_vsubq_n_fv8hf(__simd128_float16_t, __bf16); -__simd128_int8_t __builtin_mve_vsubq_n_sv16qi(__simd128_int8_t, signed char); -__simd128_int32_t __builtin_mve_vsubq_n_sv4si(__simd128_int32_t, int); -__simd128_int16_t __builtin_mve_vsubq_n_sv8hi(__simd128_int16_t, short int); -__simd128_uint8_t __builtin_mve_vsubq_n_uv16qi(__simd128_uint8_t, unsigned char); -__simd128_uint32_t __builtin_mve_vsubq_n_uv4si(__simd128_uint32_t, unsigned int); -__simd128_uint16_t __builtin_mve_vsubq_n_uv8hi(__simd128_uint16_t, short unsigned int); -__simd128_int8_t __builtin_mve_vsubq_sv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_mve_vsubq_sv4si(__simd128_int32_t, __simd128_int32_t); -__simd128_int16_t __builtin_mve_vsubq_sv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_uint8_t __builtin_mve_vsubq_uv16qi(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint32_t __builtin_mve_vsubq_uv4si(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint16_t __builtin_mve_vsubq_uv8hi(__simd128_uint16_t, __simd128_uint16_t); - -#endif // __arm__ - -#ifdef __ARM_FEATURE_CMSE //eg, __ARM_FEATURE_CMSE is defined when passing -mcpu=cortex-m23 -mcmse -unsigned int __builtin_arm_cmse_nonsecure_caller(); -#endif - -#ifdef __ARM_NEON__ -typedef signed char __builtin_neon_qi; -typedef short int __builtin_neon_hi; -typedef int __builtin_neon_si; -typedef long long int __builtin_neon_di; -typedef int __builtin_neon_ti __attribute__((mode(TI))); -typedef unsigned int __builtin_neon_uti __attribute__((mode(TI))); -typedef unsigned char __builtin_neon_uqi; -typedef short unsigned int __builtin_neon_uhi; -typedef unsigned int __builtin_neon_usi; -typedef unsigned long long __builtin_neon_udi; -typedef int __builtin_neon_ei __attribute__ ((__vector_size__(32))); -typedef int __builtin_neon_ci __attribute__ ((__vector_size__(64))); -typedef int __builtin_neon_poly8 __attribute__((mode(QI))); -typedef int __builtin_neon_poly16 __attribute__((mode(HI))); -typedef float __builtin_neon_sf; -typedef float __builtin_neon_hf; -typedef unsigned long long __builtin_neon_poly64; -typedef unsigned int __builtin_neon_poly128 __attribute__((mode(TI))); - -typedef char __simd64_int8_t __attribute__((__vector_size__(8))); -typedef short __simd64_int16_t __attribute__((__vector_size__(8))); -typedef int __simd64_int32_t __attribute__((__vector_size__(8))); -typedef unsigned char __simd64_uint8_t __attribute__((__vector_size__(8))); -typedef unsigned short __simd64_uint16_t __attribute__((__vector_size__(8))); -typedef unsigned int __simd64_uint32_t __attribute__((__vector_size__(8))); - -#ifdef __ARM_FEATURE_FP16_SCALAR_ARITHMETIC -typedef cov_fp16_t __fp16; -#endif -typedef cov_fp16_t __simd64_float16_t __attribute__((__vector_size__(8))); -typedef float __simd64_float32_t __attribute__((__vector_size__(8))); - -typedef signed char __simd64_poly8_t __attribute__((__vector_size__(8))); -typedef short __simd64_poly16_t __attribute__((__vector_size__(8))); -typedef signed char __simd128_poly8_t __attribute__((__vector_size__(16))); -typedef short __simd128_poly16_t __attribute__((__vector_size__(16))); -typedef __bf16 __simd128_bfloat16_t __attribute__((__vector_size__(16))); -typedef __bf16 __simd64_bfloat16_t __attribute__((__vector_size__(8))); - -__simd128_uint8_t __builtin_arm_crypto_aesd(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint8_t __builtin_arm_crypto_aese(__simd128_uint8_t, __simd128_uint8_t); -__simd128_uint8_t __builtin_arm_crypto_aesimc(__simd128_uint8_t); -__simd128_uint8_t __builtin_arm_crypto_aesmc(__simd128_uint8_t); -__simd128_uint32_t __builtin_arm_crypto_sha1c(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha1h(__simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha1m(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha1p(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha1su0(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha1su1(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha256h(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha256h2(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha256su0(__simd128_uint32_t, __simd128_uint32_t); -__simd128_uint32_t __builtin_arm_crypto_sha256su1(__simd128_uint32_t, __simd128_uint32_t, __simd128_uint32_t); -__builtin_neon_uti __builtin_arm_crypto_vmullp64(long long unsigned int, long long unsigned int); -void __builtin_arm_lane_check(int, int); - -__builtin_neon_ci __builtin_neon_vld3_lanev4sf (const __builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); -__builtin_neon_ci __builtin_neon_vld3_lanev4si (const __builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); -__builtin_neon_ci __builtin_neon_vld3_lanev8hf(const cov_fp16_t*, __builtin_neon_ci, int); -__builtin_neon_ci __builtin_neon_vld3_lanev8hi (const __builtin_neon_hi * __a, __builtin_neon_ci __b, const int __c); -__builtin_neon_ci __builtin_neon_vld3v16qi (const __builtin_neon_qi * __a); -__builtin_neon_ci __builtin_neon_vld3v4sf (const __builtin_neon_sf * __a); -__builtin_neon_ci __builtin_neon_vld3v4si (const __builtin_neon_si * __a); -__builtin_neon_ci __builtin_neon_vld3v8hf(const cov_fp16_t*); -__builtin_neon_ci __builtin_neon_vld3v8hi (const __builtin_neon_hi * __a); -__builtin_neon_ci __builtin_neon_vld4_lanev4sf (const __builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); -__builtin_neon_ci __builtin_neon_vld4_lanev4si (const __builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); -__builtin_neon_ci __builtin_neon_vld4_lanev8hi (const __builtin_neon_hi * __a, __builtin_neon_ci __b, const int __c); -__builtin_neon_ci __builtin_neon_vld4v16qi (const __builtin_neon_qi * __a); -__builtin_neon_ci __builtin_neon_vld4v4sf (const __builtin_neon_sf * __a); -__builtin_neon_ci __builtin_neon_vld4v4si (const __builtin_neon_si * __a); -__builtin_neon_ci __builtin_neon_vld4v8hi (const __builtin_neon_hi * __a); -__builtin_neon_ei __builtin_neon_vld3di (const __builtin_neon_di * __a); -__builtin_neon_ei __builtin_neon_vld3_dupdi (const __builtin_neon_di * __a); -__builtin_neon_ei __builtin_neon_vld3_dupv2sf (const __builtin_neon_sf * __a); -__builtin_neon_ei __builtin_neon_vld3_dupv2si (const __builtin_neon_si * __a); -__builtin_neon_ei __builtin_neon_vld3_dupv4hf(const cov_fp16_t*); -__builtin_neon_ei __builtin_neon_vld3_dupv4hi (const __builtin_neon_hi * __a); -__builtin_neon_ei __builtin_neon_vld3_dupv8qi (const __builtin_neon_qi * __a); -__builtin_neon_ei __builtin_neon_vld3_lanev2sf (const __builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld3_lanev2si (const __builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld3_lanev4hf(const cov_fp16_t*, __builtin_neon_ei, int); -__builtin_neon_ei __builtin_neon_vld3_lanev4hi (const __builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld3_lanev8qi (const __builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld3v2sf (const __builtin_neon_sf * __a); -__builtin_neon_ei __builtin_neon_vld3v2si (const __builtin_neon_si * __a); -__builtin_neon_ei __builtin_neon_vld3v4hf(const cov_fp16_t*); -__builtin_neon_ei __builtin_neon_vld3v4hi (const __builtin_neon_hi * __a); -__builtin_neon_ei __builtin_neon_vld3v8qi (const __builtin_neon_qi * __a); -__builtin_neon_ei __builtin_neon_vld4di (const __builtin_neon_di * __a); -__builtin_neon_ei __builtin_neon_vld4_dupdi (const __builtin_neon_di * __a); -__builtin_neon_ei __builtin_neon_vld4_dupv2sf (const __builtin_neon_sf * __a); -__builtin_neon_ei __builtin_neon_vld4_dupv2si (const __builtin_neon_si * __a); -__builtin_neon_ei __builtin_neon_vld4_dupv4hi (const __builtin_neon_hi * __a); -__builtin_neon_ei __builtin_neon_vld4_dupv8qi (const __builtin_neon_qi * __a); -__builtin_neon_ei __builtin_neon_vld4_lanev2sf (const __builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld4_lanev2si (const __builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld4_lanev4hi (const __builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld4_lanev8qi (const __builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); -__builtin_neon_ei __builtin_neon_vld4v2sf (const __builtin_neon_sf * __a); -__builtin_neon_ei __builtin_neon_vld4v2si (const __builtin_neon_si * __a); -__builtin_neon_ei __builtin_neon_vld4v4hi (const __builtin_neon_hi * __a); -__builtin_neon_ei __builtin_neon_vld4v8qi (const __builtin_neon_qi * __a); -__builtin_neon_oi __builtin_neon_vld2_lanev4sf (const __builtin_neon_sf * __a, __builtin_neon_oi __b, const int __c); -__builtin_neon_oi __builtin_neon_vld2_lanev4si (const __builtin_neon_si * __a, __builtin_neon_oi __b, const int __c); -__builtin_neon_oi __builtin_neon_vld2_lanev8hf(const cov_fp16_t*, __builtin_neon_oi, int); -__builtin_neon_oi __builtin_neon_vld2_lanev8hi (const __builtin_neon_hi * __a, __builtin_neon_oi __b, const int __c); -__builtin_neon_oi __builtin_neon_vld2v16qi (const __builtin_neon_qi * __a); -__builtin_neon_oi __builtin_neon_vld2v4sf (const __builtin_neon_sf * __a); -__builtin_neon_oi __builtin_neon_vld2v4si (const __builtin_neon_si * __a); -__builtin_neon_oi __builtin_neon_vld2v8hf(const cov_fp16_t*); -__builtin_neon_oi __builtin_neon_vld2v8hi (const __builtin_neon_hi * __a); -__builtin_neon_oi __builtin_neon_vld4_dupv4hf(const cov_fp16_t*); -__builtin_neon_oi __builtin_neon_vld4_lanev4hf(const cov_fp16_t*, __builtin_neon_oi, int); -__builtin_neon_oi __builtin_neon_vld4v4hf(const cov_fp16_t*); -__builtin_neon_ti __builtin_neon_vld2di (const __builtin_neon_di * __a); -__builtin_neon_ti __builtin_neon_vld2_dupdi (const __builtin_neon_di * __a); -__builtin_neon_ti __builtin_neon_vld2_dupv2sf (const __builtin_neon_sf * __a); -__builtin_neon_ti __builtin_neon_vld2_dupv2si (const __builtin_neon_si * __a); -__builtin_neon_ti __builtin_neon_vld2_dupv4hf(const cov_fp16_t*); -__builtin_neon_ti __builtin_neon_vld2_dupv4hi (const __builtin_neon_hi * __a); -__builtin_neon_ti __builtin_neon_vld2_dupv8qi (const __builtin_neon_qi * __a); -__builtin_neon_ti __builtin_neon_vld2_lanev2sf (const __builtin_neon_sf * __a, float __b, const int __c); -__builtin_neon_ti __builtin_neon_vld2_lanev2si (const __builtin_neon_si * __a, int __b, const int __c); -__builtin_neon_ti __builtin_neon_vld2_lanev4hf(const cov_fp16_t*, __builtin_neon_ti, int); -__builtin_neon_ti __builtin_neon_vld2_lanev4hi (const __builtin_neon_hi * __a, int __b, const int __c); -__builtin_neon_ti __builtin_neon_vld2_lanev8qi (const __builtin_neon_qi * __a, int __b, const int __c); -__builtin_neon_ti __builtin_neon_vld2v2sf (const __builtin_neon_sf * __a); -__builtin_neon_ti __builtin_neon_vld2v2si (const __builtin_neon_si * __a); -__builtin_neon_ti __builtin_neon_vld2v4hf(const cov_fp16_t*); -__builtin_neon_ti __builtin_neon_vld2v4hi (const __builtin_neon_hi * __a); -__builtin_neon_ti __builtin_neon_vld2v8qi (const __builtin_neon_qi * __a); -__builtin_neon_uti __builtin_arm_crypto_vmullp64(long long unsigned int, long long unsigned int); -__builtin_neon_xi __builtin_neon_vld4_lanev8hf(const cov_fp16_t*, __builtin_neon_xi, int); -__builtin_neon_xi __builtin_neon_vld4v8hf(const cov_fp16_t*); -cov_fp16_t __builtin_neon_vabshf(cov_fp16_t); -cov_fp16_t __builtin_neon_vcvthshf(int); -cov_fp16_t __builtin_neon_vcvths_nhf(int, int); -cov_fp16_t __builtin_neon_vcvthuhf(int); -cov_fp16_t __builtin_neon_vcvthu_nhf(int, int); -cov_fp16_t __builtin_neon_vfmahf(cov_fp16_t, cov_fp16_t, cov_fp16_t); -cov_fp16_t __builtin_neon_vfmshf(cov_fp16_t, cov_fp16_t, cov_fp16_t); -cov_fp16_t __builtin_neon_vmaxnmhf(cov_fp16_t, cov_fp16_t); -cov_fp16_t __builtin_neon_vminnmhf(cov_fp16_t, cov_fp16_t); -cov_fp16_t __builtin_neon_vrndahf(cov_fp16_t); -cov_fp16_t __builtin_neon_vrndhf(cov_fp16_t); -cov_fp16_t __builtin_neon_vrndihf(cov_fp16_t); -cov_fp16_t __builtin_neon_vrndmhf(cov_fp16_t); -cov_fp16_t __builtin_neon_vrndnhf(cov_fp16_t); -cov_fp16_t __builtin_neon_vrndphf(cov_fp16_t); -cov_fp16_t __builtin_neon_vrndxhf(cov_fp16_t); -cov_fp16_t __builtin_neon_vsqrthf(cov_fp16_t); -float __builtin_neon_vget_lanev2sf (__simd64_float32_t __a, const int __b); -float __builtin_neon_vget_lanev4sf (__simd128_float32_t __a, const int __b); -int __builtin_neon_vbsldi (int __a, int __b, int __c); -int __builtin_neon_vcreatedi (__builtin_neon_di __a); -int __builtin_neon_vcvtahssi(cov_fp16_t); -int __builtin_neon_vcvtahusi(cov_fp16_t); -int __builtin_neon_vcvths_nsi(cov_fp16_t, int); -int __builtin_neon_vcvthssi(cov_fp16_t); -int __builtin_neon_vcvthu_nsi(cov_fp16_t, int); -int __builtin_neon_vcvthusi(cov_fp16_t); -int __builtin_neon_vcvtmhssi(cov_fp16_t); -int __builtin_neon_vcvtmhusi(cov_fp16_t); -int __builtin_neon_vcvtnhssi(cov_fp16_t); -int __builtin_neon_vcvtnhusi(cov_fp16_t); -int __builtin_neon_vcvtphssi(cov_fp16_t); -int __builtin_neon_vcvtphusi(cov_fp16_t); -int __builtin_neon_vdup_lanedi (int __a, const int __b); -int __builtin_neon_vdup_ndi (__builtin_neon_di __a); -int __builtin_neon_vextdi (int __a, int __b, const int __c); -int __builtin_neon_vget_lanedi (int __a, const int __b); -int __builtin_neon_vget_laneuv16qi(__simd128_int8_t, int); -int __builtin_neon_vget_laneuv4hi(__simd64_int16_t, int); -int __builtin_neon_vget_laneuv8hi(__simd128_int16_t, int); -int __builtin_neon_vget_laneuv8qi(__simd64_int8_t, int); -int __builtin_neon_vget_lanev16qi(__simd128_int8_t, int); -int __builtin_neon_vget_lanev2si (__simd64_int32_t __a, const int __b); -int __builtin_neon_vget_lanev4hi(__simd64_int16_t, int); -int __builtin_neon_vget_lanev4si (__simd128_int32_t __a, const int __b); -int __builtin_neon_vget_lanev8hi(__simd128_int16_t, int); -int __builtin_neon_vget_lanev8qi(__simd64_int8_t, int); -int __builtin_neon_vld1di (const __builtin_neon_di * __a); -int __builtin_neon_vld1_dupdi (const __builtin_neon_di * __a); -int __builtin_neon_vld1_lanedi (const __builtin_neon_di* __a, int __b, const int __c); -int __builtin_neon_vpadalsv2si (int __a, __simd64_int32_t __b); -int __builtin_neon_vpaddlsv2si (__simd64_int32_t __a); -int __builtin_neon_vqaddsdi (int __a, int __b); -int __builtin_neon_vqrshlsdi (int __a, int __b); -int __builtin_neon_vqshlsdi (int __a, int __b); -int __builtin_neon_vqshl_s_ndi (int __a, const int __b); -int __builtin_neon_vqsubsdi (int __a, int __b); -int __builtin_neon_vqsubudi (int __a, int __b); -int __builtin_neon_vreinterpretdidi (int __a); -int __builtin_neon_vreinterpretdiv2sf (__simd64_float32_t __a); -int __builtin_neon_vreinterpretdiv2si (__simd64_int32_t __a); -int __builtin_neon_vreinterpretdiv4hi (__simd64_int32_t __a); -int __builtin_neon_vreinterpretdiv8qi (__simd64_int32_t __a); -int __builtin_neon_vrshlsdi (int __a, int __b); -int __builtin_neon_vrshrs_ndi (int __a, const int __b); -int __builtin_neon_vrsras_ndi (int __a, int __b, const int __c); -int __builtin_neon_vset_lanedi (__builtin_neon_di __a, int __b, const int __c); -int __builtin_neon_vshl_ndi (int __a, const int __b); -int __builtin_neon_vshlsdi (int __a, int __b); -int __builtin_neon_vshrs_ndi (int __a, const int __b); -int __builtin_neon_vsli_ndi (int __a, int __b, const int __c); -int __builtin_neon_vsras_ndi (int __a, int __b, const int __c); -int __builtin_neon_vsri_ndi (int __a, int __b, const int __c); -int __builtin_neon_vst1_lanedi (__builtin_neon_di * __a, int __b, const int __c); -void __builtin_neon_vst2di(long long int*, __builtin_neon_ti); -int __builtin_neon_vst2_lanev2sf (__builtin_neon_sf * __a, float __b, const int __c); -int __builtin_neon_vst2_lanev2si (__builtin_neon_si * __a, int __b, const int __c); -int __builtin_neon_vst2_lanev4hi (__builtin_neon_hi * __a, int __b, const int __c); -int __builtin_neon_vst2_lanev4sf (__builtin_neon_sf * __a, __builtin_neon_oi __b, const int __c); -int __builtin_neon_vst2_lanev4si (__builtin_neon_si * __a, __builtin_neon_oi __b, const int __c); -int __builtin_neon_vst2_lanev8hi (__builtin_neon_hi* __a, __builtin_neon_oi __b, const int __c); -int __builtin_neon_vst2_lanev8qi (__builtin_neon_qi * __a, int __b, const int __c); -void __builtin_neon_vst2v16qi(signed char*, __builtin_neon_oi); -void __builtin_neon_vst2v2sf(float*, __builtin_neon_ti); -void __builtin_neon_vst2v2si(int*, __builtin_neon_ti); -void __builtin_neon_vst2v4hi(short int*, __builtin_neon_ti); -void __builtin_neon_vst2v4sf(float*, __builtin_neon_oi); -void __builtin_neon_vst2v4si(int*, __builtin_neon_oi); -void __builtin_neon_vst2v8hi(short int*, __builtin_neon_oi); -void __builtin_neon_vst2v8qi(signed char*, __builtin_neon_ti); -void __builtin_neon_vst3di(long long int*, __builtin_neon_ei); -int __builtin_neon_vst3_lanev2sf (__builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); -int __builtin_neon_vst3_lanev2si (__builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); -int __builtin_neon_vst3_lanev4hi (__builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); -int __builtin_neon_vst3_lanev4sf (__builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); -int __builtin_neon_vst3_lanev4si (__builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); -int __builtin_neon_vst3_lanev8hi (__builtin_neon_hi* __a, __builtin_neon_ci __b, const int __c); -int __builtin_neon_vst3_lanev8qi (__builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); -void __builtin_neon_vst3v16qi(signed char*, __builtin_neon_ci); -void __builtin_neon_vst3v2sf(float*, __builtin_neon_ei); -void __builtin_neon_vst3v2si(int*, __builtin_neon_ei); -void __builtin_neon_vst3v4hi(short int*, __builtin_neon_ei); -void __builtin_neon_vst3v4sf(float*, __builtin_neon_ci); -void __builtin_neon_vst3v4si(int*, __builtin_neon_ci); -void __builtin_neon_vst3v8hi(short int*, __builtin_neon_ci); -void __builtin_neon_vst3v8qi(signed char*, __builtin_neon_ei); -void __builtin_neon_vst4di(long long int*, __builtin_neon_oi); -int __builtin_neon_vst4_lanev2sf (__builtin_neon_sf * __a, __builtin_neon_ei __b, const int __c); -int __builtin_neon_vst4_lanev2si (__builtin_neon_si * __a, __builtin_neon_ei __b, const int __c); -int __builtin_neon_vst4_lanev4hi (__builtin_neon_hi * __a, __builtin_neon_ei __b, const int __c); -int __builtin_neon_vst4_lanev4sf (__builtin_neon_sf * __a, __builtin_neon_ci __b, const int __c); -int __builtin_neon_vst4_lanev4si (__builtin_neon_si * __a, __builtin_neon_ci __b, const int __c); -int __builtin_neon_vst4_lanev8hi (__builtin_neon_hi* __a, __builtin_neon_ci __b, const int __c); -int __builtin_neon_vst4_lanev8qi (__builtin_neon_qi * __a, __builtin_neon_ei __b, const int __c); -void __builtin_neon_vst4v16qi(signed char*, __builtin_neon_xi); -void __builtin_neon_vst4v2sf(float*, __builtin_neon_oi); -void __builtin_neon_vst4v2si(int*, __builtin_neon_oi); -void __builtin_neon_vst4v4hi(short int*, __builtin_neon_oi); -void __builtin_neon_vst4v4sf(float*, __builtin_neon_xi); -void __builtin_neon_vst4v4si(int*, __builtin_neon_xi); -void __builtin_neon_vst4v8hi(short int*, __builtin_neon_xi); -void __builtin_neon_vst4v8qi(signed char*, __builtin_neon_oi); -long long int __builtin_neon_vget_highv2di(__simd128_int64_t); -long long int __builtin_neon_vget_lanev2di(__simd128_int64_t, int); -long long int __builtin_neon_vget_lowv2di(__simd128_int64_t); -__simd128_float16_t __builtin_neon_vabdv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vabsv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vaddv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vbslv8hf(__simd128_int16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vcadd90v8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vcmla0v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vcmla180v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vcmla270v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vcmla90v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vcmla_lane0v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float16_t __builtin_neon_vcmla_lane180v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float16_t __builtin_neon_vcmla_lane270v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float16_t __builtin_neon_vcmla_lane90v8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float16_t __builtin_neon_vcmlaq_lane0v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float16_t __builtin_neon_vcmlaq_lane180v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float16_t __builtin_neon_vcmlaq_lane270v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float16_t __builtin_neon_vcmlaq_lane90v8hf(__simd128_float16_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float16_t __builtin_neon_vcombinev4hf(__simd64_float16_t, __simd64_float16_t); -__simd128_float16_t __builtin_neon_vcvts_nv8hi(__simd128_int16_t, int); -__simd128_float16_t __builtin_neon_vcvtsv8hi(__simd128_int16_t); -__simd128_float16_t __builtin_neon_vcvtu_nv8hi(__simd128_int16_t, int); -__simd128_float16_t __builtin_neon_vcvtuv8hi(__simd128_int16_t); -__simd128_float16_t __builtin_neon_vdup_lanev8hf(__simd64_float16_t, int); -__simd128_float16_t __builtin_neon_vdup_nv8hf(cov_fp16_t); -__simd128_float16_t __builtin_neon_vextv8hf(__simd128_float16_t, __simd128_float16_t, int); -__simd128_float16_t __builtin_neon_vfmav8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vfmsv8hf(__simd128_float16_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vld1v8hf(const cov_fp16_t*); -__simd128_float16_t __builtin_neon_vmaxfv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vmaxnmv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vminfv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vminnmv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vmulfv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vmul_lanev8hf(__simd128_float16_t, __simd64_float16_t, int); -__simd128_float16_t __builtin_neon_vmul_nv8hf(__simd128_float16_t, cov_fp16_t); -__simd128_float16_t __builtin_neon_vnegv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrecpev8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrecpsv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vrndav8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrndmv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrndnv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrndpv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrndv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrndxv8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrsqrtev8hf(__simd128_float16_t); -__simd128_float16_t __builtin_neon_vrsqrtsv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float16_t __builtin_neon_vsubv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_neon_vabdfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_float32_t __builtin_neon_vabsv4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vaddv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_float32_t __builtin_neon_vbslv4sf (__simd128_int32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); -__simd128_float32_t __builtin_neon_vcadd90v4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vcmla0v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vcmla180v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vcmla270v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vcmla90v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vcmla_lane0v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); -__simd128_float32_t __builtin_neon_vcmla_lane180v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); -__simd128_float32_t __builtin_neon_vcmla_lane270v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); -__simd128_float32_t __builtin_neon_vcmla_lane90v4sf(__simd128_float32_t, __simd128_float32_t, __simd128_float32_t, int); -__simd128_float32_t __builtin_neon_vcmlaq_lane0v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); -__simd128_float32_t __builtin_neon_vcmlaq_lane180v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); -__simd128_float32_t __builtin_neon_vcmlaq_lane270v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); -__simd128_float32_t __builtin_neon_vcmlaq_lane90v4sf(__simd128_float32_t, __simd128_float32_t, __simd64_float32_t, int); -__simd128_float32_t __builtin_neon_vcombinev2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd128_float32_t __builtin_neon_vcvts_nv4si (__simd128_int32_t __a, const int __b); -__simd128_float32_t __builtin_neon_vcvtsv4si (__simd128_int32_t __a); -__simd128_float32_t __builtin_neon_vcvtu_nv4si (__simd128_int32_t __a, const int __b); -__simd128_float32_t __builtin_neon_vcvtuv4si (__simd128_int32_t __a); -__simd128_float32_t __builtin_neon_vcvtv4sfv4hf(__simd64_float16_t); -__simd128_float32_t __builtin_neon_vdup_lanev4sf (__simd64_float32_t __a, const int __b); -__simd128_float32_t __builtin_neon_vdup_nv4sf (__builtin_neon_sf __a); -__simd128_float32_t __builtin_neon_vextv4sf (__simd128_float32_t __a, __simd128_float32_t __b, const int __c); -__simd128_float32_t __builtin_neon_vfmal_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_neon_vfmal_lane_highv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float32_t __builtin_neon_vfmal_lane_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float32_t __builtin_neon_vfmal_lane_lowv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float32_t __builtin_neon_vfmal_lane_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float32_t __builtin_neon_vfmal_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_neon_vfmav4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); -__simd128_float32_t __builtin_neon_vfmsl_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_neon_vfmsl_lane_highv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float32_t __builtin_neon_vfmsl_lane_highv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float32_t __builtin_neon_vfmsl_lane_lowv4hfv4sf(__simd128_float32_t, __simd128_float16_t, __simd64_float16_t, int); -__simd128_float32_t __builtin_neon_vfmsl_lane_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t, int); -__simd128_float32_t __builtin_neon_vfmsl_lowv4sf(__simd128_float32_t, __simd128_float16_t, __simd128_float16_t); -__simd128_float32_t __builtin_neon_vfmsv4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); -__simd128_float32_t __builtin_neon_vld1_dupv4sf (const __builtin_neon_sf * __a); -__simd128_float32_t __builtin_neon_vld1_lanev4sf (const float * __a, __simd128_float32_t __b, const int __c); -__simd128_float32_t __builtin_neon_vld1v4sf (const __builtin_neon_sf * __a); -__simd128_float32_t __builtin_neon_vmaxfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_float32_t __builtin_neon_vmaxnmv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vminfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_float32_t __builtin_neon_vminnmv4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vmla_lanev4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd64_float32_t __c, const int __d); -__simd128_float32_t __builtin_neon_vmla_nv4sf (__simd128_float32_t __a, __simd128_float32_t __b, float __c); -__simd128_float32_t __builtin_neon_vmlav4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); -__simd128_float32_t __builtin_neon_vmls_lanev4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd64_float32_t __c, const int __d); -__simd128_float32_t __builtin_neon_vmls_nv4sf (__simd128_float32_t __a, __simd128_float32_t __b, float __c); -__simd128_float32_t __builtin_neon_vmlsv4sf (__simd128_float32_t __a, __simd128_float32_t __b, __simd128_float32_t __c); -__simd128_float32_t __builtin_neon_vmulfv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_float32_t __builtin_neon_vmul_lanev4sf (__simd128_float32_t __a, __simd64_float32_t __b, const int __c); -__simd128_float32_t __builtin_neon_vmul_nv4sf (__simd128_float32_t __a, float __b); -__simd128_float32_t __builtin_neon_vnegv4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrecpev4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrecpsv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_float32_t __builtin_neon_vreinterpretv4sfti (__builtin_neon_ti __a); -__simd128_float32_t __builtin_neon_vreinterpretv4sfv16qi (__simd128_int32_t __a); -__simd128_float32_t __builtin_neon_vreinterpretv4sfv2di (__simd128_int32_t __a); -__simd128_float32_t __builtin_neon_vreinterpretv4sfv4si (__simd128_int32_t __a); -__simd128_float32_t __builtin_neon_vreinterpretv4sfv8hi (__simd128_int32_t __a); -__simd128_float32_t __builtin_neon_vrintav4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrintmv4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrintnv4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrintpv4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrintxv4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrintzv4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrsqrtev4sf (__simd128_float32_t __a); -__simd128_float32_t __builtin_neon_vrsqrtsv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_float32_t __builtin_neon_vset_lanev4sf (float __a, __simd128_float32_t __b, const int __c); -void __builtin_neon_vst1_lanev4sf(float*, __simd128_float32_t, int); -void __builtin_neon_vst1v4sf(float*, __simd128_float32_t); -__simd128_float32_t __builtin_neon_vsubv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_int16_t __builtin_neon_vabalsv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vabaluv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vabasv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vabauv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vabdlsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vabdluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vabdsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vabduv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vabsv8hi(__simd128_int16_t); -__simd128_int16_t __builtin_neon_vaddlsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vaddluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vaddwsv8qi(__simd128_int16_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vaddwuv8qi(__simd128_int16_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vbslv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vcagev8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vcagtv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vcalev8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vcaltv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vceqv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vceqv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vceqzv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcgeuv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vcgev8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vcgev8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vcgezv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcgtuv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vcgtv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vcgtv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vcgtzv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vclev8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vclezv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vclsv8hi(__simd128_int16_t); -__simd128_int16_t __builtin_neon_vcltv8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_int16_t __builtin_neon_vcltzv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vclzv8hi(__simd128_int16_t); -__simd128_int16_t __builtin_neon_vcombinev4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int16_t __builtin_neon_vcvtasv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtauv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtmsv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtmuv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtnsv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtnuv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtpsv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtpuv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvts_nv8hf(__simd128_float16_t, int); -__simd128_int16_t __builtin_neon_vcvtsv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vcvtu_nv8hf(__simd128_float16_t, int); -__simd128_int16_t __builtin_neon_vcvtuv8hf(__simd128_float16_t); -__simd128_int16_t __builtin_neon_vdup_lanev8hi(__simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vextv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vhaddsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vhadduv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vhsubsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vhsubuv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vld1_lanev8hi(const short int*, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vmaxsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vmaxuv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vminsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vminuv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vmla_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vmlalsv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vmlaluv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vmla_nv8hi(__simd128_int16_t, __simd128_int16_t, short int); -__simd128_int16_t __builtin_neon_vmlav8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vmls_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vmlslsv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vmlsluv8qi(__simd128_int16_t, __simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vmls_nv8hi(__simd128_int16_t, __simd128_int16_t, short int); -__simd128_int16_t __builtin_neon_vmlsv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vmovlsv8qi(__simd64_int8_t); -__simd128_int16_t __builtin_neon_vmovluv8qi(__simd64_int8_t); -__simd128_int16_t __builtin_neon_vmul_lanev8hi(__simd128_int16_t, __simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vmullpv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vmullsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vmulluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vmul_nv8hi(__simd128_int16_t, short int); -__simd128_int16_t __builtin_neon_vmvnv8hi(__simd128_int16_t); -__simd128_int16_t __builtin_neon_vnegv8hi(__simd128_int16_t); -__simd128_int16_t __builtin_neon_vpadalsv16qi(__simd128_int16_t, __simd128_int8_t); -__simd128_int16_t __builtin_neon_vpadaluv16qi(__simd128_int16_t, __simd128_int8_t); -__simd128_int16_t __builtin_neon_vpaddlsv16qi(__simd128_int8_t); -__simd128_int16_t __builtin_neon_vpaddluv16qi(__simd128_int8_t); -__simd128_int16_t __builtin_neon_vqabsv8hi(__simd128_int16_t); -__simd128_int16_t __builtin_neon_vqaddsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqadduv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqdmulh_lanev8hi(__simd128_int16_t, __simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vqdmulh_nv8hi(__simd128_int16_t, short int); -__simd128_int16_t __builtin_neon_vqdmulhv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqnegv8hi(__simd128_int16_t); -__simd128_int16_t __builtin_neon_vqrdmlah_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vqrdmlahv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqrdmlsh_lanev8hi(__simd128_int16_t, __simd128_int16_t, __simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vqrdmlshv8hi(__simd128_int16_t, __simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqrdmulh_lanev8hi(__simd128_int16_t, __simd64_int16_t, int); -__simd128_int16_t __builtin_neon_vqrdmulh_nv8hi(__simd128_int16_t, short int); -__simd128_int16_t __builtin_neon_vqrdmulhv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqrshlsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqrshluv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqshl_s_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vqshlsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqshl_u_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vqshlu_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vqshluv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqsubsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vqsubuv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vrhaddsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vrhadduv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vrshlsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vrshluv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vrshrs_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vrshru_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vrsras_nv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vrsrau_nv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vset_lanev8hi(short int, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vshlls_nv8qi(__simd64_int8_t, int); -__simd128_int16_t __builtin_neon_vshllu_nv8qi(__simd64_int8_t, int); -__simd128_int16_t __builtin_neon_vshl_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vshlsv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vshluv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int16_t __builtin_neon_vshrs_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vshru_nv8hi(__simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vsli_nv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vsras_nv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vsrau_nv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vsri_nv8hi(__simd128_int16_t, __simd128_int16_t, int); -__simd128_int16_t __builtin_neon_vsublsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vsubluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vsubwsv8qi(__simd128_int16_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vsubwuv8qi(__simd128_int16_t, __simd64_int8_t); -__simd128_int16_t __builtin_neon_vtstv8hi(__simd128_int16_t, __simd128_int16_t); -__simd128_int32_t __builtin_neon_sdot_lanev16qi(__simd128_int32_t, __simd128_int8_t, __simd64_int8_t, int); -__simd128_int32_t __builtin_neon_sdotv16qi(__simd128_int32_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_neon_vabalsv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vabaluv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vabasv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); -__simd128_int32_t __builtin_neon_vabauv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); -__simd128_int32_t __builtin_neon_vabdlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vabdlsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vabdluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vabdluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vabdsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vabduv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vabsv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vaddlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vaddlsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vaddluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vaddluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vaddwsv4hi(__simd128_int32_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vaddwuv4hi(__simd128_int32_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vbslv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); -__simd128_int32_t __builtin_neon_vcagev4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_int32_t __builtin_neon_vcagtv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_int32_t __builtin_neon_vceqv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_int32_t __builtin_neon_vceqv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vcgeuv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vcgev4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_int32_t __builtin_neon_vcgev4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vcgtuv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vcgtv4sf (__simd128_float32_t __a, __simd128_float32_t __b); -__simd128_int32_t __builtin_neon_vcgtv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vclsv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vclzv4si (__simd128_int32_t __a); -__simd128_int64_t __builtin_neon_vcombinedi (long long int __a, long long int __b); -__simd128_int32_t __builtin_neon_vcombinev2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vcvts_nv4sf (__simd128_float32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vcvtsv4sf (__simd128_float32_t __a); -__simd128_int32_t __builtin_neon_vcvtu_nv4sf (__simd128_float32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vcvtuv4sf (__simd128_float32_t __a); -__simd128_int32_t __builtin_neon_vdup_lanev2di (int __a, const int __b); -__simd128_int32_t __builtin_neon_vdup_lanev4si (__simd64_int32_t __a, const int __b); -__simd128_int8_t __builtin_neon_vdup_nv16qi(signed char); -__simd128_int64_t __builtin_neon_vdup_nv2di(long long int); -__simd128_int32_t __builtin_neon_vdup_nv4si (__builtin_neon_si __a); -__simd128_int16_t __builtin_neon_vdup_nv8hi(short int); -__simd128_int32_t __builtin_neon_vextv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vhaddsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vhadduv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vhsubsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vhsubuv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int8_t __builtin_neon_vld1_dupv16qi(const signed char*); -__simd128_int64_t __builtin_neon_vld1_dupv2di(const long long int*); -__simd128_int32_t __builtin_neon_vld1_dupv4si (const __builtin_neon_si * __a); -__simd128_int16_t __builtin_neon_vld1_dupv8hi(const short int*); -__simd128_int32_t __builtin_neon_vld1_lanev4si (const int * __a, __simd128_int32_t __b, const int __c); -__simd128_int8_t __builtin_neon_vld1v16qi(const signed char*); -__simd128_int64_t __builtin_neon_vld1v2di(const long long int*); -__simd128_int32_t __builtin_neon_vld1v4si (const __builtin_neon_si * __a); -__simd128_int16_t __builtin_neon_vld1v8hi(const short int*); -__simd128_int32_t __builtin_neon_vmaxsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vmaxuv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vminsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vminuv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vmla_lanev4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd64_int32_t __c, const int __d); -__simd128_int32_t __builtin_neon_vmlals_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vmlals_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vmlalsv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vmlalu_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vmlalu_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vmlaluv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vmla_nv4si (__simd128_int32_t __a, __simd128_int32_t __a, int __c); -__simd128_int32_t __builtin_neon_vmlav4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); -__simd128_int32_t __builtin_neon_vmls_lanev4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd64_int32_t __c, const int __d); -__simd128_int32_t __builtin_neon_vmlsls_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vmlsls_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vmlslsv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vmlslu_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vmlslu_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vmlsluv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vmls_nv4si (__simd128_int32_t __a, __simd128_int32_t __a, int __c); -__simd128_int32_t __builtin_neon_vmlsv4si (__simd128_int32_t __a, __simd128_int32_t __b, __simd128_int32_t __c); -__simd128_int32_t __builtin_neon_vmovlsv2si (__simd64_int32_t __a); -__simd128_int32_t __builtin_neon_vmovlsv4hi(__simd64_int16_t); -__simd128_int32_t __builtin_neon_vmovluv2si (__simd64_int32_t __a); -__simd128_int32_t __builtin_neon_vmovluv4hi(__simd64_int16_t); -__simd128_int32_t __builtin_neon_vmul_lanev4si (__simd128_int32_t __a, __simd64_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vmulls_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vmulls_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vmulls_nv2si (__simd64_int32_t __a, int __b); -__simd128_int32_t __builtin_neon_vmulls_nv4hi(__simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vmullsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vmullsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vmullu_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vmullu_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vmullu_nv2si (__simd64_int32_t __a, __builtin_neon_si __b); -__simd128_int32_t __builtin_neon_vmullu_nv4hi(__simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vmulluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vmulluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vmul_nv4si (__simd128_int32_t __a, int __b); -__simd128_int32_t __builtin_neon_vmvnv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vnegv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vpadalsv8hi(__simd128_int32_t, __simd128_int16_t); -__simd128_int32_t __builtin_neon_vpadaluv8hi(__simd128_int32_t, __simd128_int16_t); -__simd128_int32_t __builtin_neon_vpaddlsv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vpaddlsv8hi(__simd128_int16_t); -__simd128_int32_t __builtin_neon_vpaddluv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vpaddluv8hi(__simd128_int16_t); -__simd128_int32_t __builtin_neon_vqabsv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vqaddsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqadduv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqdmlal_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vqdmlal_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vqdmlalv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vqdmlsl_lanev4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vqdmlsl_nv4hi(__simd128_int32_t, __simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vqdmlslv4hi(__simd128_int32_t, __simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vqdmulh_lanev4si (__simd128_int32_t __a, __simd64_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vqdmulh_nv4si (__simd128_int32_t __a, int __b); -__simd128_int32_t __builtin_neon_vqdmulhv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqdmull_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vqdmull_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vqdmull_nv2si (__simd64_int32_t __a, int __b); -__simd128_int32_t __builtin_neon_vqdmull_nv4hi(__simd64_int16_t, short int); -__simd128_int32_t __builtin_neon_vqdmullv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vqdmullv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vqnegv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vqrdmlah_lanev4si(__simd128_int32_t, __simd128_int32_t, __simd64_int32_t, int); -__simd128_int32_t __builtin_neon_vqrdmlahv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int32_t __builtin_neon_vqrdmlsh_lanev4si(__simd128_int32_t, __simd128_int32_t, __simd64_int32_t, int); -__simd128_int32_t __builtin_neon_vqrdmlshv4si(__simd128_int32_t, __simd128_int32_t, __simd128_int32_t); -__simd128_int32_t __builtin_neon_vqrdmulh_lanev4si (__simd128_int32_t __a, __simd64_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vqrdmulh_nv4si (__simd128_int32_t __a, int __b); -__simd128_int32_t __builtin_neon_vqrdmulhv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqrshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqrshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqshl_s_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vqshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqshl_u_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vqshlu_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vqshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqsubsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vqsubuv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vrecpev4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterprettiv16qi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterprettiv2di (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterprettiv4sf (__simd128_float32_t __a); -__simd128_int32_t __builtin_neon_vreinterprettiv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterprettiv8hi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv16qiti (__builtin_neon_ti __a); -__simd128_int32_t __builtin_neon_vreinterpretv16qiv16qi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv16qiv2di (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv16qiv4sf (__simd128_float32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv16qiv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv16qiv8hi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv2diti (__builtin_neon_ti __a); -__simd128_int32_t __builtin_neon_vreinterpretv2div16qi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv2div2di (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv2div4sf (__simd128_float32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv2div4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv2div8hi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv4siti (__builtin_neon_ti __a); -__simd128_int32_t __builtin_neon_vreinterpretv4siv16qi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv4siv2di (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv4siv4sf (__simd128_float32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv4siv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv4siv8hi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv8hiti (__builtin_neon_ti __a); -__simd128_int32_t __builtin_neon_vreinterpretv8hiv16qi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv8hiv2di (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv8hiv4sf (__simd128_float32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv8hiv4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vreinterpretv8hiv8hi (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vrhaddsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vrhadduv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vrshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vrshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vrshrs_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vrshru_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vrsqrtev4si (__simd128_int32_t __a); -__simd128_int32_t __builtin_neon_vrsras_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vrsrau_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vset_lanev4si (int __a, __simd128_int32_t __a, const int __c); -__simd128_int32_t __builtin_neon_vshlls_nv2si (__simd64_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vshlls_nv4hi(__simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vshllu_nv2si (__simd64_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vshllu_nv4hi(__simd64_int16_t, int); -__simd128_int32_t __builtin_neon_vshl_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vshlsv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vshluv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int32_t __builtin_neon_vshrs_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vshru_nv4si (__simd128_int32_t __a, const int __b); -__simd128_int32_t __builtin_neon_vsli_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vsras_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vsrau_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); -__simd128_int32_t __builtin_neon_vsri_nv4si (__simd128_int32_t __a, __simd128_int32_t __b, const int __c); -void __builtin_neon_vst1_lanev4si(int*, __simd128_int32_t, int); -void __builtin_neon_vst1v4si(int*, __simd128_int32_t); -__simd128_int32_t __builtin_neon_vsublsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vsublsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vsubluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd128_int32_t __builtin_neon_vsubluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vsubwsv4hi(__simd128_int32_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vsubwuv4hi(__simd128_int32_t, __simd64_int16_t); -__simd128_int32_t __builtin_neon_vtstv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd128_int64_t __builtin_neon_vabalsv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vabaluv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vaddwsv2si(__simd128_int64_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vaddwuv2si(__simd128_int64_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vbslv2di(__simd128_int64_t, __simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vextv2di(__simd128_int64_t, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vld1_lanev2di(const long long int*, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vmlals_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlals_nv2si(__simd128_int64_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlalsv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vmlalu_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlalu_nv2si(__simd128_int64_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlaluv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vmlsls_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlsls_nv2si(__simd128_int64_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlslsv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vmlslu_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlslu_nv2si(__simd128_int64_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vmlsluv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vpadalsv4si(__simd128_int64_t, __simd128_int32_t); -__simd128_int64_t __builtin_neon_vpadaluv4si(__simd128_int64_t, __simd128_int32_t); -__simd128_int64_t __builtin_neon_vqaddsv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vqadduv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vqdmlal_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vqdmlal_nv2si(__simd128_int64_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vqdmlalv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vqdmlsl_lanev2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vqdmlsl_nv2si(__simd128_int64_t, __simd64_int32_t, int); -__simd128_int64_t __builtin_neon_vqdmlslv2si(__simd128_int64_t, __simd64_int32_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vqrshlsv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vqrshluv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vqshl_s_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vqshlsv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vqshl_u_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vqshlu_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vqshluv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vqsubsv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vqsubuv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vrshlsv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vrshluv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vrshrs_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vrshru_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vrsras_nv2di(__simd128_int64_t, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vrsrau_nv2di(__simd128_int64_t, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vset_lanev2di(long long int, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vshl_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vshlsv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vshluv2di(__simd128_int64_t, __simd128_int64_t); -__simd128_int64_t __builtin_neon_vshrs_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vshru_nv2di(__simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vsli_nv2di(__simd128_int64_t, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vsras_nv2di(__simd128_int64_t, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vsrau_nv2di(__simd128_int64_t, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vsri_nv2di(__simd128_int64_t, __simd128_int64_t, int); -__simd128_int64_t __builtin_neon_vsubwsv2si(__simd128_int64_t, __simd64_int32_t); -__simd128_int64_t __builtin_neon_vsubwuv2si(__simd128_int64_t, __simd64_int32_t); -__simd128_int8_t __builtin_neon_vabasv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vabauv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vabdsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vabduv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vabsv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vbslv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vceqv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vcgeuv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vcgev16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vcgtuv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vcgtv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vclsv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vclzv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vcntv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vcombinev8qi(__simd64_int8_t, __simd64_int8_t); -__simd128_int8_t __builtin_neon_vdup_lanev16qi(__simd64_int8_t, int); -__simd128_int8_t __builtin_neon_vextv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vhaddsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vhadduv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vhsubsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vhsubuv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vld1_lanev16qi(const signed char*, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vmaxsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vmaxuv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vminsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vminuv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vmlav16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vmlsv16qi(__simd128_int8_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vmulpv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vmvnv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vnegv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vqabsv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vqaddsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vqadduv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vqnegv16qi(__simd128_int8_t); -__simd128_int8_t __builtin_neon_vqrshlsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vqrshluv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vqshl_s_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vqshlsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vqshl_u_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vqshlu_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vqshluv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vqsubsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vqsubuv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vrhaddsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vrhadduv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vrshlsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vrshluv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vrshrs_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vrshru_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vrsras_nv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vrsrau_nv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vset_lanev16qi(signed char, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vshl_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vshlsv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vshluv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_int8_t __builtin_neon_vshrs_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vshru_nv16qi(__simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vsli_nv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vsras_nv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vsrau_nv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vsri_nv16qi(__simd128_int8_t, __simd128_int8_t, int); -__simd128_int8_t __builtin_neon_vtstv16qi(__simd128_int8_t, __simd128_int8_t); -__simd128_uint32_t __builtin_neon_udot_lanev16qi_uuuus(__simd128_uint32_t, __simd128_uint8_t, __simd64_uint8_t, int); -__simd128_uint32_t __builtin_neon_udotv16qi_uuuu(__simd128_uint32_t, __simd128_uint8_t, __simd128_uint8_t); -__simd64_float16_t __builtin_neon_vabdv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vabsv4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vaddv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vbslv4hf(__simd64_int16_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vcadd90v4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vcmla0v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vcmla180v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vcmla270v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vcmla90v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vcmla_lane0v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float16_t __builtin_neon_vcmla_lane180v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float16_t __builtin_neon_vcmla_lane270v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float16_t __builtin_neon_vcmla_lane90v4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float16_t __builtin_neon_vcmla_laneq0v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float16_t __builtin_neon_vcmla_laneq180v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float16_t __builtin_neon_vcmla_laneq270v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float16_t __builtin_neon_vcmla_laneq90v4hf(__simd64_float16_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float16_t __builtin_neon_vcvts_nv4hi(__simd64_int16_t, int); -__simd64_float16_t __builtin_neon_vcvtsv4hi(__simd64_int16_t); -__simd64_float16_t __builtin_neon_vcvtu_nv4hi(__simd64_int16_t, int); -__simd64_float16_t __builtin_neon_vcvtuv4hi(__simd64_int16_t); -__simd64_float16_t __builtin_neon_vdup_lanev4hf(__simd64_float16_t, int); -__simd64_float16_t __builtin_neon_vdup_nv4hf(cov_fp16_t); -__simd64_float16_t __builtin_neon_vextv4hf(__simd64_float16_t, __simd64_float16_t, int); -__simd64_float16_t __builtin_neon_vfmav4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vfmsv4hf(__simd64_float16_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vget_highv8hf(__simd128_float16_t); -__simd64_float16_t __builtin_neon_vget_lowv8hf(__simd128_float16_t); -__simd64_float16_t __builtin_neon_vld1v4hf(const cov_fp16_t*); -__simd64_float16_t __builtin_neon_vmaxfv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vmaxnmv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vminfv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vminnmv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vmulfv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vmul_lanev4hf(__simd64_float16_t, __simd64_float16_t, int); -__simd64_float16_t __builtin_neon_vmul_nv4hf(__simd64_float16_t, cov_fp16_t); -__simd64_float16_t __builtin_neon_vnegv4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vpaddv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vpmaxfv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vpminfv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vrecpev4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrecpsv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vrndav4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrndmv4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrndnv4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrndpv4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrndv4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrndxv4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrsqrtev4hf(__simd64_float16_t); -__simd64_float16_t __builtin_neon_vrsqrtsv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float16_t __builtin_neon_vsubv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_float32_t __builtin_neon_vabdfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vabsv2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vaddv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vbslv2sf (__simd64_int32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); -__simd64_float32_t __builtin_neon_vcadd90v2sf(__simd64_float32_t, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vcmla0v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vcmla180v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vcmla270v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vcmla90v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vcmla_lane0v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); -__simd64_float32_t __builtin_neon_vcmla_lane180v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); -__simd64_float32_t __builtin_neon_vcmla_lane270v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); -__simd64_float32_t __builtin_neon_vcmla_lane90v2sf(__simd64_float32_t, __simd64_float32_t, __simd64_float32_t, int); -__simd64_float32_t __builtin_neon_vcmla_laneq0v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); -__simd64_float32_t __builtin_neon_vcmla_laneq180v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); -__simd64_float32_t __builtin_neon_vcmla_laneq270v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); -__simd64_float32_t __builtin_neon_vcmla_laneq90v2sf(__simd64_float32_t, __simd64_float32_t, __simd128_float32_t, int); -__simd64_float32_t __builtin_neon_vcreatev2sf (__builtin_neon_di __a); -__simd64_float32_t __builtin_neon_vcvts_nv2si (__simd64_int32_t __a, const int __b); -__simd64_float32_t __builtin_neon_vcvtsv2si (__simd64_int32_t __a); -__simd64_float32_t __builtin_neon_vcvtu_nv2si (__simd64_int32_t __a, const int __b); -__simd64_float32_t __builtin_neon_vcvtuv2si (__simd64_int32_t __a); -__simd64_float16_t __builtin_neon_vcvtv4hfv4sf(__simd128_float32_t); -__simd64_float32_t __builtin_neon_vdup_lanev2sf (__simd64_float32_t __a, const int __b); -__simd64_float32_t __builtin_neon_vdup_nv2sf (__builtin_neon_sf __a); -__simd64_float32_t __builtin_neon_vextv2sf (__simd64_float32_t __a, __simd64_float32_t __b, const int __c); -__simd64_float32_t __builtin_neon_vfmal_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float32_t __builtin_neon_vfmal_lane_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float32_t __builtin_neon_vfmal_lane_highv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float32_t __builtin_neon_vfmal_lane_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float32_t __builtin_neon_vfmal_lane_lowv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float32_t __builtin_neon_vfmal_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float32_t __builtin_neon_vfmav2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); -__simd64_float32_t __builtin_neon_vfmsl_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float32_t __builtin_neon_vfmsl_lane_highv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float32_t __builtin_neon_vfmsl_lane_highv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float32_t __builtin_neon_vfmsl_lane_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t, int); -__simd64_float32_t __builtin_neon_vfmsl_lane_lowv8hfv2sf(__simd64_float32_t, __simd64_float16_t, __simd128_float16_t, int); -__simd64_float32_t __builtin_neon_vfmsl_lowv2sf(__simd64_float32_t, __simd64_float16_t, __simd64_float16_t); -__simd64_float32_t __builtin_neon_vfmsv2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); -__simd64_float32_t __builtin_neon_vget_highv4sf (__simd128_float32_t __a); -__simd64_float32_t __builtin_neon_vget_lowv4sf (__simd128_float32_t __a); -__simd64_float32_t __builtin_neon_vld1_dupv2sf (const __builtin_neon_sf * __a); -__simd64_float32_t __builtin_neon_vld1_lanev2sf (const float * __a, __simd64_float32_t __b, const int __c); -__simd64_float32_t __builtin_neon_vld1v2sf (const __builtin_neon_sf * __a); -__simd64_float32_t __builtin_neon_vmaxfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vmaxnmv2sf(__simd64_float32_t, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vminfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vminnmv2sf(__simd64_float32_t, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vmla_lanev2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c, const int __d); -__simd64_float32_t __builtin_neon_vmla_nv2sf (__simd64_float32_t __a, __simd64_float32_t __b, float __c); -__simd64_float32_t __builtin_neon_vmlav2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); -__simd64_float32_t __builtin_neon_vmls_lanev2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c, const int __d); -__simd64_float32_t __builtin_neon_vmls_nv2sf (__simd64_float32_t __a, __simd64_float32_t __b, float __c); -__simd64_float32_t __builtin_neon_vmlsv2sf (__simd64_float32_t __a, __simd64_float32_t __b, __simd64_float32_t __c); -__simd64_float32_t __builtin_neon_vmulfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vmul_lanev2sf (__simd64_float32_t __a, __simd64_float32_t __b, const int __c); -__simd64_float32_t __builtin_neon_vmul_nv2sf (__simd64_float32_t __a, float __b); -__simd64_float32_t __builtin_neon_vnegv2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vpaddv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vpmaxfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vpminfv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vrecpev2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrecpsv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vrintav2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrintmv2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrintnv2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrintpv2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrintxv2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrintzv2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrsqrtev2sf (__simd64_float32_t __a); -__simd64_float32_t __builtin_neon_vrsqrtsv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_float32_t __builtin_neon_vset_lanev2sf (float __a, __simd64_float32_t __b, const int __c); -void __builtin_neon_vst1_lanev2sf(float*, __simd64_float32_t, int); -void __builtin_neon_vst1v2sf(float*, __simd64_float32_t); -__simd64_float32_t __builtin_neon_vsubv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_int16_t __builtin_neon_vabasv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vabauv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vabdsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vabduv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vabsv4hi(__simd64_int16_t); -__simd64_int16_t __builtin_neon_vbslv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vcagev4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vcagtv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vcalev4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vcaltv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vceqv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vceqv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vceqzv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcgeuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vcgev4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vcgev4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vcgezv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcgtuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vcgtv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vcgtv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vcgtzv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vclev4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vclezv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vclsv4hi(__simd64_int16_t); -__simd64_int16_t __builtin_neon_vcltv4hf(__simd64_float16_t, __simd64_float16_t); -__simd64_int16_t __builtin_neon_vcltzv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vclzv4hi(__simd64_int16_t); -__simd64_int16_t __builtin_neon_vcvtasv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtauv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtmsv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtmuv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtnsv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtnuv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtpsv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtpuv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvts_nv4hf(__simd64_float16_t, int); -__simd64_int16_t __builtin_neon_vcvtsv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vcvtu_nv4hf(__simd64_float16_t, int); -__simd64_int16_t __builtin_neon_vcvtuv4hf(__simd64_float16_t); -__simd64_int16_t __builtin_neon_vdup_lanev4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vextv4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vget_highv8hi(__simd128_int16_t); -__simd64_int16_t __builtin_neon_vget_lowv8hi(__simd128_int16_t); -__simd64_int16_t __builtin_neon_vhaddsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vhadduv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vhsubsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vhsubuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vld1_lanev4hi(const short int*, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vmaxsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vmaxuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vminsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vminuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vmla_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vmla_nv4hi(__simd64_int16_t, __simd64_int16_t, short int); -__simd64_int16_t __builtin_neon_vmlav4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vmls_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vmls_nv4hi(__simd64_int16_t, __simd64_int16_t, short int); -__simd64_int16_t __builtin_neon_vmlsv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vmul_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vmul_nv4hi(__simd64_int16_t, short int); -__simd64_int16_t __builtin_neon_vmvnv4hi(__simd64_int16_t); -__simd64_int16_t __builtin_neon_vnegv4hi(__simd64_int16_t); -__simd64_int16_t __builtin_neon_vpadalsv8qi(__simd64_int16_t, __simd64_int8_t); -__simd64_int16_t __builtin_neon_vpadaluv8qi(__simd64_int16_t, __simd64_int8_t); -__simd64_int16_t __builtin_neon_vpaddlsv8qi(__simd64_int8_t); -__simd64_int16_t __builtin_neon_vpaddluv8qi(__simd64_int8_t); -__simd64_int16_t __builtin_neon_vpaddv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vpmaxsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vpmaxuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vpminsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vpminuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqabsv4hi(__simd64_int16_t); -__simd64_int16_t __builtin_neon_vqaddsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqadduv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqdmulh_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vqdmulh_nv4hi(__simd64_int16_t, short int); -__simd64_int16_t __builtin_neon_vqdmulhv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqnegv4hi(__simd64_int16_t); -__simd64_int16_t __builtin_neon_vqrdmlah_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vqrdmlahv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqrdmlsh_lanev4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vqrdmlshv4hi(__simd64_int16_t, __simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqrdmulh_lanev4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vqrdmulh_nv4hi(__simd64_int16_t, short int); -__simd64_int16_t __builtin_neon_vqrdmulhv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqrshlsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqrshluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqshl_s_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vqshlsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqshl_u_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vqshlu_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vqshluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqsubsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vqsubuv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vrhaddsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vrhadduv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vrshlsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vrshluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vrshrs_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vrshru_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vrsras_nv4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vrsrau_nv4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vset_lanev4hi(short int, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vshl_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vshlsv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vshluv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int16_t __builtin_neon_vshrs_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vshru_nv4hi(__simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vsli_nv4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vsras_nv4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vsrau_nv4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vsri_nv4hi(__simd64_int16_t, __simd64_int16_t, int); -__simd64_int16_t __builtin_neon_vtstv4hi(__simd64_int16_t, __simd64_int16_t); -__simd64_int32_t __builtin_neon_sdot_lanev8qi(__simd64_int32_t, __simd64_int8_t, __simd64_int8_t, int); -__simd64_int32_t __builtin_neon_sdotv8qi(__simd64_int32_t, __simd64_int8_t, __simd64_int8_t); -__simd64_int32_t __builtin_neon_vabasv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); -__simd64_int32_t __builtin_neon_vabauv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); -__simd64_int32_t __builtin_neon_vabdsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vabduv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vabsv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vaddhnv2di(__simd128_int64_t, __simd128_int64_t); -__simd64_int32_t __builtin_neon_vaddhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd64_int32_t __builtin_neon_vbslv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); -__simd64_int32_t __builtin_neon_vcagev2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_int32_t __builtin_neon_vcagtv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_int32_t __builtin_neon_vceqv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_int32_t __builtin_neon_vceqv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vcgeuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vcgev2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_int32_t __builtin_neon_vcgev2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vcgtuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vcgtv2sf (__simd64_float32_t __a, __simd64_float32_t __b); -__simd64_int32_t __builtin_neon_vcgtv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vclsv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vclzv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vcreatev2si (__builtin_neon_di __a); -__simd64_int16_t __builtin_neon_vcreatev4hi(long long int); -__simd64_int8_t __builtin_neon_vcreatev8qi(long long int); -__simd64_int32_t __builtin_neon_vcvts_nv2sf (__simd64_float32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vcvtsv2sf (__simd64_float32_t __a); -__simd64_int32_t __builtin_neon_vcvtu_nv2sf (__simd64_float32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vcvtuv2sf (__simd64_float32_t __a); -__simd64_int32_t __builtin_neon_vdup_lanev2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vdup_nv2si (__builtin_neon_si __a); -__simd64_int16_t __builtin_neon_vdup_nv4hi (__builtin_neon_hi __a); -__simd64_int8_t __builtin_neon_vdup_nv8qi(signed char); -__simd64_int32_t __builtin_neon_vextv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vget_highv4si (__simd128_int32_t __a); -__simd64_int32_t __builtin_neon_vget_lowv4si (__simd128_int32_t __a); -__simd64_int32_t __builtin_neon_vhaddsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vhadduv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vhsubsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vhsubuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vld1_dupv2si (const __builtin_neon_si * __a); -__simd64_int16_t __builtin_neon_vld1_dupv4hi(const short int*); -__simd64_int8_t __builtin_neon_vld1_dupv8qi(const signed char*); -__simd64_int32_t __builtin_neon_vld1_lanev2si (const int * __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vld1v2si (const __builtin_neon_si * __a); -__simd64_int16_t __builtin_neon_vld1v4hi(const short int*); -__simd64_int8_t __builtin_neon_vld1v8qi(const signed char*); -__simd64_int32_t __builtin_neon_vmaxsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vmaxuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vminsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vminuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vmla_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c, const int __d); -__simd64_int32_t __builtin_neon_vmla_nv2si (__simd64_int32_t __a, __simd64_int32_t __a, int __c); -__simd64_int32_t __builtin_neon_vmlav2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); -__simd64_int32_t __builtin_neon_vmls_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c, const int __d); -__simd64_int32_t __builtin_neon_vmls_nv2si (__simd64_int32_t __a, __simd64_int32_t __a, int __c); -__simd64_int32_t __builtin_neon_vmlsv2si (__simd64_int32_t __a, __simd64_int32_t __b, __simd64_int32_t __c); -__simd64_int32_t __builtin_neon_vmovnv2di(__simd128_int64_t); -__simd64_int32_t __builtin_neon_vmovnv4si (__simd128_int32_t __a); -__simd64_int32_t __builtin_neon_vmul_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vmul_nv2si (__simd64_int32_t __a, int __b); -__simd64_int32_t __builtin_neon_vmvnv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vnegv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vpadalsv4hi(__simd64_int32_t, __simd64_int16_t); -__simd64_int32_t __builtin_neon_vpadaluv4hi(__simd64_int32_t, __simd64_int16_t); -__simd64_int32_t __builtin_neon_vpaddlsv4hi(__simd64_int16_t); -__simd64_int32_t __builtin_neon_vpaddluv4hi(__simd64_int16_t); -__simd64_int32_t __builtin_neon_vpaddv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vpmaxsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vpmaxuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vpminsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vpminuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqabsv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vqaddsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqadduv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqdmulh_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vqdmulh_nv2si (__simd64_int32_t __a, int __b); -__simd64_int32_t __builtin_neon_vqdmulhv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqmovnsv2di(__simd128_int64_t); -__simd64_int32_t __builtin_neon_vqmovnsv4si (__simd128_int32_t __a); -__simd64_int32_t __builtin_neon_vqmovnuv2di(__simd128_int64_t); -__simd64_int32_t __builtin_neon_vqmovnuv4si (__simd128_int32_t __a); -__simd64_int32_t __builtin_neon_vqmovunv2di(__simd128_int64_t); -__simd64_int32_t __builtin_neon_vqmovunv4si (__simd128_int32_t __a); -__simd64_int32_t __builtin_neon_vqnegv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vqrdmlah_lanev2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t, int); -__simd64_int32_t __builtin_neon_vqrdmlahv2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t); -__simd64_int32_t __builtin_neon_vqrdmlsh_lanev2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t, int); -__simd64_int32_t __builtin_neon_vqrdmlshv2si(__simd64_int32_t, __simd64_int32_t, __simd64_int32_t); -__simd64_int32_t __builtin_neon_vqrdmulh_lanev2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vqrdmulh_nv2si (__simd64_int32_t __a, int __b); -__simd64_int32_t __builtin_neon_vqrdmulhv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqrshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqrshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqrshrns_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vqrshrns_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqrshrnu_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vqrshrnu_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqrshrun_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vqrshrun_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqshl_s_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqshl_u_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqshlu_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqshrns_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vqshrns_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqshrnu_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vqshrnu_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqshrun_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vqshrun_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vqsubsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vqsubuv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vraddhnv2di(__simd128_int64_t, __simd128_int64_t); -__simd64_int32_t __builtin_neon_vraddhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd64_int32_t __builtin_neon_vrecpev2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2sfdi (int __a); -__simd64_int32_t __builtin_neon_vreinterpretv2sfv2sf (__simd64_float32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2sfv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2sfv4hi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2sfv8qi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2sidi (int __a); -__simd64_int32_t __builtin_neon_vreinterpretv2siv2sf (__simd64_float32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2siv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2siv4hi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv2siv8qi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv4hidi (int __a); -__simd64_int32_t __builtin_neon_vreinterpretv4hiv2sf (__simd64_float32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv4hiv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv4hiv4hi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv4hiv8qi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv8qidi (int __a); -__simd64_int32_t __builtin_neon_vreinterpretv8qiv2sf (__simd64_float32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv8qiv2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv8qiv4hi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vreinterpretv8qiv8qi (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vrhaddsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vrhadduv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vrshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vrshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vrshrn_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vrshrn_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vrshrs_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vrshru_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vrsqrtev2si (__simd64_int32_t __a); -__simd64_int32_t __builtin_neon_vrsras_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vrsrau_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vrsubhnv2di(__simd128_int64_t, __simd128_int64_t); -__simd64_int32_t __builtin_neon_vrsubhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd64_int32_t __builtin_neon_vset_lanev2si (int __a, __simd64_int32_t __a, const int __c); -__simd64_int32_t __builtin_neon_vshl_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vshlsv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vshluv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int32_t __builtin_neon_vshrn_nv2di(__simd128_int64_t, int); -__simd64_int32_t __builtin_neon_vshrn_nv4si (__simd128_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vshrs_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vshru_nv2si (__simd64_int32_t __a, const int __b); -__simd64_int32_t __builtin_neon_vsli_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vsras_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vsrau_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -__simd64_int32_t __builtin_neon_vsri_nv2si (__simd64_int32_t __a, __simd64_int32_t __b, const int __c); -void __builtin_neon_vst1di(long long int*, long long int); -void __builtin_neon_vst1_lanev2si(int*, __simd64_int32_t, int); -void __builtin_neon_vst1v2si(int*, __simd64_int32_t); -__simd64_int32_t __builtin_neon_vsubhnv2di(__simd128_int64_t, __simd128_int64_t); -__simd64_int32_t __builtin_neon_vsubhnv4si (__simd128_int32_t __a, __simd128_int32_t __b); -__simd64_int32_t __builtin_neon_vtstv2si (__simd64_int32_t __a, __simd64_int32_t __b); -__simd64_int8_t __builtin_neon_vabasv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vabauv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vabdsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vabduv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vabsv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vaddhnv8hi(__simd128_int16_t, __simd128_int16_t); -__simd64_int8_t __builtin_neon_vbslv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vceqv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vcgeuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vcgev8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vcgtuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vcgtv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vclsv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vclzv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vcntv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vdup_lanev8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vextv8qi(__simd64_int8_t, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vget_highv16qi(__simd128_int8_t); -__simd64_int8_t __builtin_neon_vget_lowv16qi(__simd128_int8_t); -__simd64_int8_t __builtin_neon_vhaddsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vhadduv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vhsubsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vhsubuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vld1_lanev8qi(const signed char*, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vmaxsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vmaxuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vminsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vminuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vmlav8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vmlsv8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vmovnv8hi(__simd128_int16_t); -__simd64_int8_t __builtin_neon_vmulpv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vmvnv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vnegv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vpaddv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vpmaxsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vpmaxuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vpminsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vpminuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqabsv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vqaddsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqadduv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqmovnsv8hi(__simd128_int16_t); -__simd64_int8_t __builtin_neon_vqmovnuv8hi(__simd128_int16_t); -__simd64_int8_t __builtin_neon_vqmovunv8hi(__simd128_int16_t); -__simd64_int8_t __builtin_neon_vqnegv8qi(__simd64_int8_t); -__simd64_int8_t __builtin_neon_vqrshlsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqrshluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqrshrns_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vqrshrnu_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vqrshrun_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vqshl_s_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vqshlsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqshl_u_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vqshlu_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vqshluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqshrns_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vqshrnu_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vqshrun_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vqsubsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vqsubuv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vraddhnv8hi(__simd128_int16_t, __simd128_int16_t); -__simd64_int8_t __builtin_neon_vrhaddsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vrhadduv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vrshlsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vrshluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vrshrn_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vrshrs_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vrshru_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vrsras_nv8qi(__simd64_int8_t, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vrsrau_nv8qi(__simd64_int8_t, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vrsubhnv8hi(__simd128_int16_t, __simd128_int16_t); -__simd64_int8_t __builtin_neon_vset_lanev8qi(signed char, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vshl_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vshlsv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vshluv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vshrn_nv8hi(__simd128_int16_t, int); -__simd64_int8_t __builtin_neon_vshrs_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vshru_nv8qi(__simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vsli_nv8qi(__simd64_int8_t, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vsras_nv8qi(__simd64_int8_t, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vsrau_nv8qi(__simd64_int8_t, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vsri_nv8qi(__simd64_int8_t, __simd64_int8_t, int); -__simd64_int8_t __builtin_neon_vsubhnv8hi(__simd128_int16_t, __simd128_int16_t); -__simd64_int8_t __builtin_neon_vtbl1v8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtbl2v8qi(__builtin_neon_ti, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtbl3v8qi(__builtin_neon_ei, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtbl4v8qi(__builtin_neon_oi, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtbx1v8qi(__simd64_int8_t, __simd64_int8_t, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtbx2v8qi(__simd64_int8_t, __builtin_neon_ti, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtbx3v8qi(__simd64_int8_t, __builtin_neon_ei, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtbx4v8qi(__simd64_int8_t, __builtin_neon_oi, __simd64_int8_t); -__simd64_int8_t __builtin_neon_vtstv8qi(__simd64_int8_t, __simd64_int8_t); -__simd64_uint32_t __builtin_neon_udot_lanev8qi_uuuus(__simd64_uint32_t, __simd64_uint8_t, __simd64_uint8_t, int); -__simd64_uint32_t __builtin_neon_udotv8qi_uuuu(__simd64_uint32_t, __simd64_uint8_t, __simd64_uint8_t); -unsigned int __builtin_neon_vget_laneuv2si (__simd64_int32_t __a, const int __b); -unsigned int __builtin_neon_vget_laneuv4si (__simd128_int32_t __a, const int __b); -unsigned int __builtin_neon_vpadaluv2si (int __a, __simd64_int32_t __b); -unsigned int __builtin_neon_vpaddluv2si (__simd64_int32_t __a); -unsigned int __builtin_neon_vqaddudi (int __a, int __b); -unsigned int __builtin_neon_vqrshludi (int __a, int __b); -unsigned int __builtin_neon_vqshludi (int __a, int __b); -unsigned int __builtin_neon_vqshl_u_ndi (int __a, const int __b); -unsigned int __builtin_neon_vqshlu_ndi (int __a, const int __b); -unsigned int __builtin_neon_vrshludi (int __a, int __b); -unsigned int __builtin_neon_vrshru_ndi (int __a, const int __b); -unsigned int __builtin_neon_vrsrau_ndi (int __a, int __b, const int __c); -unsigned int __builtin_neon_vshludi (int __a, int __b); -unsigned int __builtin_neon_vshru_ndi (int __a, const int __b); -unsigned int __builtin_neon_vsrau_ndi (int __a, int __b, const int __c); -void __builtin_neon_vst1_lanev16qi(signed char*, __simd128_int8_t, int); -void __builtin_neon_vst1_lanev2di(long long int*, __simd128_int64_t, int); -void __builtin_neon_vst1_lanev4hf(cov_fp16_t*, __simd64_float16_t, int); -void __builtin_neon_vst1_lanev4hi(short int*, __simd64_int16_t, int); -void __builtin_neon_vst1_lanev8hf(cov_fp16_t*, __simd128_float16_t, int); -void __builtin_neon_vst1_lanev8hi(short int*, __simd128_int16_t, int); -void __builtin_neon_vst1_lanev8qi(signed char*, __simd64_int8_t, int); -void __builtin_neon_vst1v16qi(signed char*, __simd128_int8_t); -void __builtin_neon_vst1v2di(long long int*, __simd128_int64_t); -void __builtin_neon_vst1v4hf(cov_fp16_t*, __simd64_float16_t); -void __builtin_neon_vst1v4hi(short int*, __simd64_int16_t); -void __builtin_neon_vst1v8hf(cov_fp16_t*, __simd128_float16_t); -void __builtin_neon_vst1v8hi(short int*, __simd128_int16_t); -void __builtin_neon_vst1v8qi(signed char*, __simd64_int8_t); -void __builtin_neon_vst2_lanev4hf(cov_fp16_t*, __builtin_neon_ti, int); -void __builtin_neon_vst2_lanev8hf(cov_fp16_t*, __builtin_neon_oi, int); -void __builtin_neon_vst2v4hf(cov_fp16_t*, __builtin_neon_ti); -void __builtin_neon_vst2v8hf(cov_fp16_t*, __builtin_neon_oi); -void __builtin_neon_vst3_lanev4hf(cov_fp16_t*, __builtin_neon_ei, int); -void __builtin_neon_vst3_lanev8hf(cov_fp16_t*, __builtin_neon_ci, int); -void __builtin_neon_vst3v4hf(cov_fp16_t*, __builtin_neon_ei); -void __builtin_neon_vst3v8hf(cov_fp16_t*, __builtin_neon_ci); -void __builtin_neon_vst4_lanev4hf(cov_fp16_t*, __builtin_neon_oi, int); -void __builtin_neon_vst4_lanev8hf(cov_fp16_t*, __builtin_neon_xi, int); -void __builtin_neon_vst4v4hf(cov_fp16_t*, __builtin_neon_oi); -void __builtin_neon_vst4v8hf(cov_fp16_t*, __builtin_neon_xi); - -// -mfpu=vfpv2 -mfloat-abi=hard -mfpu=neon -__simd128_uint64_t __builtin_neon_bswapv2di_uu(__simd128_uint64_t); -__simd64_uint32_t __builtin_neon_bswapv2si_uu(__simd64_uint32_t); -__simd64_uint16_t __builtin_neon_bswapv4hi_uu(__simd64_uint16_t); -__simd128_uint32_t __builtin_neon_bswapv4si_uu(__simd128_uint32_t); -__simd128_uint16_t __builtin_neon_bswapv8hi_uu(__simd128_uint16_t); -__simd64_float32_t __builtin_neon_copysignfv2sf(__simd64_float32_t); -__simd128_float32_t __builtin_neon_copysignfv4sf(__simd128_float32_t); -__simd128_int32_t __builtin_neon_smmlav16qi(__simd128_int32_t, __simd128_int8_t, __simd128_int8_t); -__simd128_int32_t __builtin_neon_sudot_lanev16qi_sssus(__simd128_int32_t, __simd128_int8_t, __simd64_uint8_t, int); -__simd64_int32_t __builtin_neon_sudot_lanev8qi_sssus(__simd64_int32_t, __simd64_int8_t, __simd64_uint8_t, int); -__simd128_uint32_t __builtin_neon_ummlav16qi_uuuu(__simd128_uint32_t, __simd128_uint8_t, __simd128_uint8_t); -__simd128_int32_t __builtin_neon_usdot_lanev16qi_ssuss(__simd128_int32_t, __simd128_uint8_t, __simd64_int8_t, int); -__simd64_int32_t __builtin_neon_usdot_lanev8qi_ssuss(__simd64_int32_t, __simd64_uint8_t, __simd64_int8_t, int); -__simd64_int32_t __builtin_neon_usdotv8qi_ssus(__simd64_int32_t, __simd64_uint8_t, __simd64_int8_t); -__simd128_int32_t __builtin_neon_usmmlav16qi_ssus(__simd128_int32_t, __simd128_uint8_t, __simd128_int8_t); -float __builtin_neon_vbfcvtbf(__bf16); -__simd128_float32_t __builtin_neon_vbfcvt_highv8bf(__simd128_bfloat16_t); -__bf16 __builtin_neon_vbfcvtsf(float); -__simd128_float32_t __builtin_neon_vbfcvtv4bf(__simd64_bfloat16_t); -__simd128_bfloat16_t __builtin_neon_vbfcvtv4sf_highv8bf(__simd128_bfloat16_t, __simd128_float32_t); -__simd64_bfloat16_t __builtin_neon_vbfcvtv4sfv4bf(__simd128_float32_t); -__simd128_bfloat16_t __builtin_neon_vbfcvtv4sfv8bf(__simd128_float32_t); -__simd128_float32_t __builtin_neon_vbfcvtv8bf(__simd128_bfloat16_t); -__simd64_float32_t __builtin_neon_vbfdot_lanev4bfv2sf(__simd64_float32_t, __simd64_bfloat16_t, __simd64_bfloat16_t, int); -__simd128_float32_t __builtin_neon_vbfdot_lanev4bfv4sf(__simd128_float32_t, __simd128_bfloat16_t, __simd64_bfloat16_t, int); -__simd64_float32_t __builtin_neon_vbfdot_lanev8bfv2sf(__simd64_float32_t, __simd64_bfloat16_t, __simd128_bfloat16_t, int); -__simd128_float32_t __builtin_neon_vbfdot_lanev8bfv4sf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t, int); -__simd64_float32_t __builtin_neon_vbfdotv2sf(__simd64_float32_t, __simd64_bfloat16_t, __simd64_bfloat16_t); -__simd128_float32_t __builtin_neon_vbfdotv4sf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); -__simd64_float32_t __builtin_neon_vcadd270v2sf(__simd64_float32_t, __simd64_float32_t); -__simd64_float16_t __builtin_neon_vcadd270v4hf(__simd64_float16_t, __simd64_float16_t); -__simd128_float32_t __builtin_neon_vcadd270v4sf(__simd128_float32_t, __simd128_float32_t); -__simd128_float16_t __builtin_neon_vcadd270v8hf(__simd128_float16_t, __simd128_float16_t); -__simd128_bfloat16_t __builtin_neon_vcombinev4bf(__simd64_bfloat16_t, __simd64_bfloat16_t); -__simd64_int32_t __builtin_neon_vcvtauv2sfv2si(__simd64_float32_t); -__simd128_int32_t __builtin_neon_vcvtauv4sfv4si(__simd128_float32_t); -__simd64_int32_t __builtin_neon_vcvtav2sfv2si(__simd64_float32_t); -__simd128_int32_t __builtin_neon_vcvtav4sfv4si(__simd128_float32_t); -__simd64_int32_t __builtin_neon_vcvtmuv2sfv2si(__simd64_float32_t); -__simd128_int32_t __builtin_neon_vcvtmuv4sfv4si(__simd128_float32_t); -__simd64_int32_t __builtin_neon_vcvtmv2sfv2si(__simd64_float32_t); -__simd128_int32_t __builtin_neon_vcvtmv4sfv4si(__simd128_float32_t); -__simd64_int32_t __builtin_neon_vcvtpuv2sfv2si(__simd64_float32_t); -__simd128_int32_t __builtin_neon_vcvtpuv4sfv4si(__simd128_float32_t); -__simd64_int32_t __builtin_neon_vcvtpv2sfv2si(__simd64_float32_t); -__simd128_int32_t __builtin_neon_vcvtpv4sfv4si(__simd128_float32_t); -__simd64_bfloat16_t __builtin_neon_vdup_lanev4bf(__simd64_bfloat16_t, int); -__simd128_bfloat16_t __builtin_neon_vdup_lanev8bf(__simd64_bfloat16_t, int); -__simd64_bfloat16_t __builtin_neon_vdup_nv4bf(__bf16); -__simd128_bfloat16_t __builtin_neon_vdup_nv8bf(__bf16); -__simd128_float32_t __builtin_neon_vfmab_laneqv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t, int); -__simd128_float32_t __builtin_neon_vfmab_lanev8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd64_bfloat16_t, int); -__simd128_float32_t __builtin_neon_vfmabv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); -__simd128_float32_t __builtin_neon_vfmat_laneqv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t, int); -__simd128_float32_t __builtin_neon_vfmat_lanev8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd64_bfloat16_t, int); -__simd128_float32_t __builtin_neon_vfmatv8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); -__simd64_bfloat16_t __builtin_neon_vget_highv8bf(__simd128_bfloat16_t); -__simd64_bfloat16_t __builtin_neon_vget_lowv8bf(__simd128_bfloat16_t); -__builtin_neon_ti __builtin_neon_vld2_dupv4bf(const __bf16*); -__builtin_neon_oi __builtin_neon_vld2_dupv8bf(const __bf16*); -__builtin_neon_ti __builtin_neon_vld2v4bf(const __bf16*); -__builtin_neon_oi __builtin_neon_vld2v8bf(const __bf16*); -__builtin_neon_ei __builtin_neon_vld3_dupv4bf(const __bf16*); -__builtin_neon_ci __builtin_neon_vld3_dupv8bf(const __bf16*); -__builtin_neon_ei __builtin_neon_vld3v4bf(const __bf16*); -__builtin_neon_ci __builtin_neon_vld3v8bf(const __bf16*); -__builtin_neon_oi __builtin_neon_vld4_dupv4bf(const __bf16*); -__builtin_neon_xi __builtin_neon_vld4_dupv8bf(const __bf16*); -__builtin_neon_oi __builtin_neon_vld4v4bf(const __bf16*); -__builtin_neon_xi __builtin_neon_vld4v8bf(const __bf16*); -__simd128_float32_t __builtin_neon_vmmlav8bf(__simd128_float32_t, __simd128_bfloat16_t, __simd128_bfloat16_t); -__simd128_int64_t __builtin_neon_vmullpv2si(__simd64_int32_t, __simd64_int32_t); -__simd128_int32_t __builtin_neon_vmullpv4hi(__simd64_int16_t, __simd64_int16_t); -__simd128_int8_t __builtin_neon_vrev16v16qi(__simd128_int8_t); -__simd64_int8_t __builtin_neon_vrev16v8qi(__simd64_int8_t); -__simd128_int8_t __builtin_neon_vrev32v16qi(__simd128_int8_t); -__simd64_int16_t __builtin_neon_vrev32v4hi(__simd64_int16_t); -__simd128_int16_t __builtin_neon_vrev32v8hi(__simd128_int16_t); -__simd64_int8_t __builtin_neon_vrev32v8qi(__simd64_int8_t); -__simd128_int8_t __builtin_neon_vrev64v16qi(__simd128_int8_t); -__simd64_float32_t __builtin_neon_vrev64v2sf(__simd64_float32_t); -__simd64_int32_t __builtin_neon_vrev64v2si(__simd64_int32_t); -__simd64_int16_t __builtin_neon_vrev64v4hi(__simd64_int16_t); -__simd128_float32_t __builtin_neon_vrev64v4sf(__simd128_float32_t); -__simd128_int32_t __builtin_neon_vrev64v4si(__simd128_int32_t); -__simd128_int16_t __builtin_neon_vrev64v8hi(__simd128_int16_t); -__simd64_int8_t __builtin_neon_vrev64v8qi(__simd64_int8_t); -void __builtin_neon_vst2v4bf(__bf16*, __builtin_neon_ti); -void __builtin_neon_vst2v8bf(__bf16*, __builtin_neon_oi); -void __builtin_neon_vst3v4bf(__bf16*, __builtin_neon_ei); -void __builtin_neon_vst3v8bf(__bf16*, __builtin_neon_ci); -void __builtin_neon_vst4v4bf(__bf16*, __builtin_neon_oi); -void __builtin_neon_vst4v8bf(__bf16*, __builtin_neon_xi); - -#endif // __ARM_NEON__ - -/* aarch64 support */ -#ifdef __aarch64__ -typedef int __builtin_aarch64_simd_qi __attribute__((mode(QI))); -typedef int __builtin_aarch64_simd_hi __attribute__((mode(HI))); -typedef int __builtin_aarch64_simd_si __attribute__((mode(SI))); -typedef int __builtin_aarch64_simd_di __attribute__((mode(DI))); -typedef float __builtin_aarch64_simd_bf __attribute__((mode(BF))); -typedef int __builtin_aarch64_simd_poly8 __attribute__((mode(QI))); -typedef int __builtin_aarch64_simd_poly16 __attribute__((mode(HI))); -typedef int __builtin_aarch64_simd_poly64 __attribute__ ((mode (DI))); -typedef unsigned int __builtin_aarch64_simd_poly128 __attribute__ ((mode (TI))); -typedef float __builtin_aarch64_simd_df __attribute__ ((mode (DF))); -typedef float __builtin_aarch64_simd_sf __attribute__ ((mode (SF))); -typedef unsigned int __builtin_aarch64_simd_udi __attribute__((mode(DI))); -typedef unsigned int __builtin_aarch64_simd_uqi __attribute__((mode(QI))); -typedef unsigned int __builtin_aarch64_simd_uhi __attribute__((mode(HI))); -typedef unsigned int __builtin_aarch64_simd_usi __attribute__((mode(SI))); -typedef float __builtin_aarch64_simd_hf __attribute__((mode(HF))); -typedef __builtin_aarch64_simd_hf __fp16; -typedef int __Poly64_t __attribute__((mode(DI))); -typedef __coverity_decimal long long __Poly64x1_t __attribute__((vector_size (8))); -typedef int __Poly128_t __attribute__((mode(TI))); - -unsigned int __builtin_aarch64_get_fpcr(); -void __builtin_aarch64_set_fpcr(unsigned int); -unsigned int __builtin_aarch64_get_fpsr(); -void __builtin_aarch64_set_fpsr(unsigned int); -//CMPCPP-6477 -typedef char __Int8x8_t __attribute__ ((vector_size (8))); -typedef short __Int16x4_t __attribute__ ((vector_size (8))); -typedef int __Int32x2_t __attribute__ ((vector_size (8))); -typedef long __Int64x1_t __attribute__((vector_size (8))); -typedef __coverity_float __fp16 __Float16x4_t __attribute__((vector_size (8))); -typedef float __Float32x2_t __attribute__((vector_size (8))); -typedef __coverity_decimal unsigned char __Poly8x8_t __attribute__((vector_size (8))); -typedef __coverity_decimal short __Poly16x4_t __attribute__((vector_size (8))); -typedef unsigned char __Uint8x8_t __attribute__((vector_size (8))); -typedef unsigned short __Uint16x4_t __attribute__((vector_size (8))); -typedef unsigned int __Uint32x2_t __attribute__((vector_size (8))); -typedef double __Float64x1_t __attribute__((vector_size (8))); -typedef unsigned long __Uint64x1_t __attribute__((vector_size (8))); -typedef char __Int8x16_t __attribute__((vector_size (16))); -typedef short __Int16x8_t __attribute__((vector_size (16))); -typedef int __Int32x4_t __attribute__((vector_size (16))); -typedef long __Int64x2_t __attribute__((vector_size (16))); -typedef __coverity_float __fp16 __Float16x8_t __attribute__((vector_size (16))); -typedef __coverity_float __bf16 __Bfloat16x8_t __attribute__((vector_size (16))); -typedef __coverity_float __bf16 __Bfloat16x4_t __attribute__((vector_size (8))); -typedef float __Float32x4_t __attribute__((vector_size (16))); -typedef double __Float64x2_t __attribute__((vector_size (16))); -typedef __coverity_decimal unsigned char __Poly8x16_t __attribute__((vector_size (16))); -typedef __coverity_decimal unsigned short __Poly16x8_t __attribute__((vector_size (16))); -typedef __coverity_decimal long __Poly64x2_t __attribute__((vector_size (16))); -typedef unsigned char __Uint8x16_t __attribute__((vector_size (16))); -typedef unsigned short __Uint16x8_t __attribute__((vector_size (16))); -typedef unsigned int __Uint32x4_t __attribute__((vector_size (16))); -typedef unsigned long __Uint64x2_t __attribute__((vector_size (16))); -typedef unsigned char __Poly8_t; -typedef unsigned short __Poly16_t; - -typedef int __builtin_aarch64_simd_oi __attribute__((mode(OI))); -typedef int __builtin_aarch64_simd_ci __attribute__((mode(CI))); -typedef int __builtin_aarch64_simd_xi __attribute__((mode(XI))); - -__Int8x8_t __builtin_aarch64_tbl3v8qi(__builtin_aarch64_simd_oi, __Int8x8_t); -__Float32x2_t __builtin_aarch64_absv2sf(__Float32x2_t); -__Int8x8_t __builtin_aarch64_absv8qi(__Int8x8_t); -__Int16x4_t __builtin_aarch64_absv4hi(__Int16x4_t); -__Int32x2_t __builtin_aarch64_absv2si(__Int32x2_t); -int __builtin_aarch64_absdi(int); -__Float32x4_t __builtin_aarch64_absv4sf(__Float32x4_t); -__Float64x2_t __builtin_aarch64_absv2df(__Float64x2_t); -__Int8x16_t __builtin_aarch64_absv16qi(__Int8x16_t); -int __builtin_aarch64_im_lane_boundsi(int, int, int); -__Int64x1_t __builtin_aarch64_get_dregoidi(__builtin_aarch64_simd_oi, int); -float __builtin_aarch64_get_dregoidf(__builtin_aarch64_simd_oi, int); -__Int8x8_t __builtin_aarch64_get_dregoiv8qi(__builtin_aarch64_simd_oi, int); -__Int16x4_t __builtin_aarch64_get_dregoiv4hi(__builtin_aarch64_simd_oi, int); -__Int32x2_t __builtin_aarch64_get_dregoiv2si(__builtin_aarch64_simd_oi, int); -__Float16x4_t __builtin_aarch64_get_dregoiv4hf(__builtin_aarch64_simd_oi, int); -__Float32x2_t __builtin_aarch64_get_dregoiv2sf(__builtin_aarch64_simd_oi, int); -__Int8x16_t __builtin_aarch64_get_qregoiv16qi(__builtin_aarch64_simd_oi, const int); -__Int16x8_t __builtin_aarch64_get_qregoiv8hi(__builtin_aarch64_simd_oi, const int); -__Int32x4_t __builtin_aarch64_get_qregoiv4si(__builtin_aarch64_simd_oi, const int); -__Int64x2_t __builtin_aarch64_get_qregoiv2di(__builtin_aarch64_simd_oi, const int); -__Float16x8_t __builtin_aarch64_get_qregoiv8hf(__builtin_aarch64_simd_oi, const int); -__Float32x4_t __builtin_aarch64_get_qregoiv4sf(__builtin_aarch64_simd_oi, const int); -__Float64x2_t __builtin_aarch64_get_qregoiv2df(__builtin_aarch64_simd_oi, const int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv8hf(__builtin_aarch64_simd_oi, __Float16x8_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv4sf(__builtin_aarch64_simd_oi, __Float32x4_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv2df(__builtin_aarch64_simd_oi, __Float64x2_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv16qi(__builtin_aarch64_simd_oi, __Int8x16_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv8hi(__builtin_aarch64_simd_oi, __Int16x8_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv4si(__builtin_aarch64_simd_oi, __Int32x4_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv2di(__builtin_aarch64_simd_oi, __Int64x2_t, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3di(const __builtin_aarch64_simd_di*); -__Int64x1_t __builtin_aarch64_get_dregcidi(__builtin_aarch64_simd_ci, int); -float __builtin_aarch64_get_dregcidf(__builtin_aarch64_simd_ci, int); -__Int8x8_t __builtin_aarch64_get_dregciv8qi(__builtin_aarch64_simd_ci, int); -__Int16x4_t __builtin_aarch64_get_dregciv4hi(__builtin_aarch64_simd_ci, int); -__Int32x2_t __builtin_aarch64_get_dregciv2si(__builtin_aarch64_simd_ci, int); -__Float16x4_t __builtin_aarch64_get_dregciv4hf(__builtin_aarch64_simd_ci, int); -__Float32x2_t __builtin_aarch64_get_dregciv2sf(__builtin_aarch64_simd_ci, int); -__Int8x16_t __builtin_aarch64_get_qregciv16qi(__builtin_aarch64_simd_ci, const int); -__Int16x8_t __builtin_aarch64_get_qregciv8hi(__builtin_aarch64_simd_ci, const int); -__Int32x4_t __builtin_aarch64_get_qregciv4si(__builtin_aarch64_simd_ci, const int); -__Int64x2_t __builtin_aarch64_get_qregciv2di(__builtin_aarch64_simd_ci, const int); -__Float16x8_t __builtin_aarch64_get_qregciv8hf(__builtin_aarch64_simd_ci, const int); -__Float32x4_t __builtin_aarch64_get_qregciv4sf(__builtin_aarch64_simd_ci, const int); -__Float64x2_t __builtin_aarch64_get_qregciv2df(__builtin_aarch64_simd_ci, const int); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv8hf(__builtin_aarch64_simd_ci, __Float16x8_t, int); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv4sf(__builtin_aarch64_simd_ci, __Float32x4_t, int); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv2df(__builtin_aarch64_simd_ci, __Float64x2_t, int); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv16qi(__builtin_aarch64_simd_ci, __Int8x16_t, int); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv8hi(__builtin_aarch64_simd_ci, __Int16x8_t, int); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv4si(__builtin_aarch64_simd_ci, __Int32x4_t, int); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv2di(__builtin_aarch64_simd_ci, __Int64x2_t, int); -__Int64x1_t __builtin_aarch64_get_dregxidi(__builtin_aarch64_simd_xi, int); -float __builtin_aarch64_get_dregxidf(__builtin_aarch64_simd_xi, int); -__Int8x8_t __builtin_aarch64_get_dregxiv8qi(__builtin_aarch64_simd_xi, int); -__Int16x4_t __builtin_aarch64_get_dregxiv4hi(__builtin_aarch64_simd_xi, int); -__Int32x2_t __builtin_aarch64_get_dregxiv2si(__builtin_aarch64_simd_xi, int); -__Float16x4_t __builtin_aarch64_get_dregxiv4hf(__builtin_aarch64_simd_xi, int); -__Float32x2_t __builtin_aarch64_get_dregxiv2sf(__builtin_aarch64_simd_xi, int); -__Int8x16_t __builtin_aarch64_get_qregxiv16qi(__builtin_aarch64_simd_xi, const int); -__Int16x8_t __builtin_aarch64_get_qregxiv8hi(__builtin_aarch64_simd_xi, const int); -__Int32x4_t __builtin_aarch64_get_qregxiv4si(__builtin_aarch64_simd_xi, const int); -__Int64x2_t __builtin_aarch64_get_qregxiv2di(__builtin_aarch64_simd_xi, const int); -__Float16x8_t __builtin_aarch64_get_qregxiv8hf(__builtin_aarch64_simd_xi, const int); -__Float32x4_t __builtin_aarch64_get_qregxiv4sf(__builtin_aarch64_simd_xi, const int); -__Float64x2_t __builtin_aarch64_get_qregxiv2df(__builtin_aarch64_simd_xi, const int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv8hf(__builtin_aarch64_simd_xi, __Float16x8_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv4sf(__builtin_aarch64_simd_xi, __Float32x4_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv2df(__builtin_aarch64_simd_xi, __Float64x2_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv16qi(__builtin_aarch64_simd_xi, __Int8x16_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv8hi(__builtin_aarch64_simd_xi, __Int16x8_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv4si(__builtin_aarch64_simd_xi, __Int32x4_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv2di(__builtin_aarch64_simd_xi, __Int64x2_t, int); -__Int32x4_t __builtin_aarch64_saddlv4hi(__Int16x4_t, __Int16x4_t); -__Int16x8_t __builtin_aarch64_saddlv8qi(__Int8x8_t, __Int8x8_t); -__Uint16x8_t __builtin_aarch64_uaddlv8qi(__Int8x8_t, __Int8x8_t); -__Int16x8_t __builtin_aarch64_saddl2v16qi(__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_uaddl2v16qi(__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_saddwv8qi(__Int16x8_t, __Int8x8_t); -__Uint16x8_t __builtin_aarch64_uaddwv8qi(__Int16x8_t, __Int8x8_t); -__Int16x8_t __builtin_aarch64_saddw2v16qi(__Int16x8_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_uaddw2v16qi(__Int16x8_t, __Int8x16_t); -__Int8x8_t __builtin_aarch64_shaddv8qi(__Int8x8_t, __Int8x8_t); -__Uint8x8_t __builtin_aarch64_uhaddv8qi(__Int8x8_t, __Int8x8_t); -__Int8x16_t __builtin_aarch64_shaddv16qi(__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_shaddv8hi(__Int16x8_t, __Int16x8_t); -__Uint8x16_t __builtin_aarch64_uhaddv16qi(__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_uhaddv8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_srhaddv8qi(__Int8x8_t, __Int8x8_t); -__Uint8x8_t __builtin_aarch64_urhaddv8qi(__Int8x8_t, __Int8x8_t); -__Int8x16_t __builtin_aarch64_srhaddv16qi(__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_srhaddv8hi(__Int16x8_t, __Int16x8_t); -__Uint8x16_t __builtin_aarch64_urhaddv16qi(__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_urhaddv8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_addhnv8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_raddhnv8hi(__Int16x8_t, __Int16x8_t); -__Int8x16_t __builtin_aarch64_addhn2v8hi(__Int8x8_t, __Int16x8_t, __Int16x8_t); -__Int16x8_t __builtin_aarch64_addhn2v4si(__Int16x4_t, __Int32x4_t, __Int32x4_t); -__Int8x16_t __builtin_aarch64_raddhn2v8hi(__Int8x8_t, __Int16x8_t, __Int16x8_t); -__Int16x8_t __builtin_aarch64_raddhn2v4si(__Int16x4_t, __Int32x4_t, __Int32x4_t); -__Poly8x8_t __builtin_aarch64_pmulv8qi(__Int8x8_t, __Int8x8_t); -__Poly8x16_t __builtin_aarch64_pmulv16qi(__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_ssublv8qi(__Int8x8_t, __Int8x8_t); -__Uint16x8_t __builtin_aarch64_usublv8qi(__Int8x8_t, __Int8x8_t); -__Float32x2_t __builtin_aarch64_smax_nanpv2sf(__Float32x2_t, __Float32x2_t); -__Int64x2_t __builtin_aarch64_saddlv2si(__Int32x2_t, __Int32x2_t); -__Uint32x4_t __builtin_aarch64_uaddlv4hi (__Int16x4_t, __Int16x4_t); -__Uint64x2_t __builtin_aarch64_uaddlv2si (__Int32x2_t, __Int32x2_t); -__Int32x4_t __builtin_aarch64_saddl2v8hi (__Int16x8_t, __Int16x8_t); -__Int64x2_t __builtin_aarch64_saddl2v4si (__Int32x4_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_uaddl2v8hi (__Int16x8_t, __Int16x8_t); -__Uint64x2_t __builtin_aarch64_uaddl2v4si (__Int32x4_t, __Int32x4_t); -__Int32x4_t __builtin_aarch64_saddwv4hi (__Int32x4_t, __Int16x4_t); -__Int64x2_t __builtin_aarch64_saddwv2si (__Int64x2_t, __Int32x2_t); -__Uint32x4_t __builtin_aarch64_uaddwv4hi (__Int32x4_t, __Int16x4_t); -__Uint64x2_t __builtin_aarch64_uaddwv2si (__Int64x2_t, __Int32x2_t); -__Int32x4_t __builtin_aarch64_saddw2v8hi (__Int32x4_t, __Int16x8_t); -__Int64x2_t __builtin_aarch64_saddw2v4si (__Int64x2_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_uaddw2v8hi (__Int32x4_t, __Int16x8_t); -__Uint64x2_t __builtin_aarch64_uaddw2v4si (__Int64x2_t, __Int32x4_t); -__Int16x4_t __builtin_aarch64_shaddv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_shaddv2si (__Int32x2_t, __Int32x2_t); -__Uint16x4_t __builtin_aarch64_uhaddv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_uhaddv2si (__Int32x2_t, __Int32x2_t); -__Int32x4_t __builtin_aarch64_shaddv4si (__Int32x4_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_uhaddv4si (__Int32x4_t, __Int32x4_t); -__Int16x4_t __builtin_aarch64_srhaddv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_srhaddv2si (__Int32x2_t, __Int32x2_t); -__Uint16x4_t __builtin_aarch64_urhaddv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_urhaddv2si (__Int32x2_t, __Int32x2_t); -__Int32x4_t __builtin_aarch64_srhaddv4si (__Int32x4_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_urhaddv4si (__Int32x4_t, __Int32x4_t); -__Int16x4_t __builtin_aarch64_addhnv4si (__Int32x4_t, __Int32x4_t); -__Int32x2_t __builtin_aarch64_addhnv2di (__Int64x2_t, __Int64x2_t); -__Uint32x2_t __builtin_aarch64_addhnv2di (__Int64x2_t, __Int64x2_t); -__Int16x4_t __builtin_aarch64_raddhnv4si (__Int32x4_t, __Int32x4_t); -__Int32x2_t __builtin_aarch64_raddhnv2di (__Int64x2_t, __Int64x2_t); -__Uint16x4_t __builtin_aarch64_raddhnv4si (__Int32x4_t, __Int32x4_t); -__Uint32x2_t __builtin_aarch64_raddhnv2di (__Int64x2_t, __Int64x2_t); -__Int32x4_t __builtin_aarch64_addhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Uint32x4_t __builtin_aarch64_addhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Int32x4_t __builtin_aarch64_raddhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Uint32x4_t __builtin_aarch64_raddhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Int32x4_t __builtin_aarch64_ssublv4hi (__Int16x4_t, __Int16x4_t); -__Int64x2_t __builtin_aarch64_ssublv2si (__Int32x2_t, __Int32x2_t); -__Uint32x4_t __builtin_aarch64_usublv4hi (__Int16x4_t, __Int16x4_t); -__Uint64x2_t __builtin_aarch64_usublv2si (__Int32x2_t, __Int32x2_t); -__Int16x8_t __builtin_aarch64_ssubl2v16qi (__Int8x16_t, __Int8x16_t); -__Int32x4_t __builtin_aarch64_ssubl2v8hi (__Int16x8_t, __Int16x8_t); -__Int64x2_t __builtin_aarch64_ssubl2v4si (__Int32x4_t, __Int32x4_t); -__Uint16x8_t __builtin_aarch64_usubl2v16qi (__Int8x16_t, __Int8x16_t); -__Uint32x4_t __builtin_aarch64_usubl2v8hi (__Int16x8_t, __Int16x8_t); -__Uint64x2_t __builtin_aarch64_usubl2v4si (__Int32x4_t, __Int32x4_t); -__Int16x8_t __builtin_aarch64_ssubwv8qi (__Int16x8_t, __Int8x8_t); -__Int32x4_t __builtin_aarch64_ssubwv4hi (__Int32x4_t, __Int16x4_t); -__Int64x2_t __builtin_aarch64_ssubwv2si (__Int64x2_t, __Int32x2_t); -__Uint16x8_t __builtin_aarch64_usubwv8qi (__Int16x8_t, __Int8x8_t); -__Uint32x4_t __builtin_aarch64_usubwv4hi (__Int32x4_t, __Int16x4_t); -__Uint64x2_t __builtin_aarch64_usubwv2si (__Int64x2_t, __Int32x2_t); -__Int16x8_t __builtin_aarch64_ssubw2v16qi (__Int16x8_t, __Int8x16_t); -__Int32x4_t __builtin_aarch64_ssubw2v8hi (__Int32x4_t, __Int16x8_t); -__Int64x2_t __builtin_aarch64_ssubw2v4si (__Int64x2_t, __Int32x4_t); -__Uint16x8_t __builtin_aarch64_usubw2v16qi (__Int16x8_t, __Int8x16_t); -__Uint32x4_t __builtin_aarch64_usubw2v8hi (__Int32x4_t, __Int16x8_t); -__Uint64x2_t __builtin_aarch64_usubw2v4si (__Int64x2_t, __Int32x4_t); -__Int8x8_t __builtin_aarch64_sqaddv8qi (__Int8x8_t, __Int8x8_t); -__Int16x4_t __builtin_aarch64_sqaddv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_sqaddv2si (__Int32x2_t, __Int32x2_t); -__Int8x8_t __builtin_aarch64_shsubv8qi (__Int8x8_t, __Int8x8_t); -__Int16x4_t __builtin_aarch64_shsubv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_shsubv2si (__Int32x2_t, __Int32x2_t); -__Uint8x8_t __builtin_aarch64_uhsubv8qi (__Int8x8_t, __Int8x8_t); -__Uint16x4_t __builtin_aarch64_uhsubv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_uhsubv2si (__Int32x2_t, __Int32x2_t); -__Int8x16_t __builtin_aarch64_shsubv16qi (__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_shsubv8hi (__Int16x8_t, __Int16x8_t); -__Int32x4_t __builtin_aarch64_shsubv4si (__Int32x4_t, __Int32x4_t); -__Uint8x16_t __builtin_aarch64_uhsubv16qi (__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_uhsubv8hi (__Int16x8_t, __Int16x8_t); -__Uint32x4_t __builtin_aarch64_uhsubv4si (__Int32x4_t, __Int32x4_t); -__Int8x8_t __builtin_aarch64_subhnv8hi (__Int16x8_t, __Int16x8_t); -__Int16x4_t __builtin_aarch64_subhnv4si (__Int32x4_t, __Int32x4_t); -__Int32x2_t __builtin_aarch64_subhnv2di (__Int64x2_t, __Int64x2_t); -__Uint8x8_t __builtin_aarch64_subhnv8hi (__Int16x8_t, __Int16x8_t); -__Uint16x4_t __builtin_aarch64_subhnv4si (__Int32x4_t, __Int32x4_t); -__Uint32x2_t __builtin_aarch64_subhnv2di (__Int64x2_t, __Int64x2_t); -__Int8x8_t __builtin_aarch64_rsubhnv8hi (__Int16x8_t, __Int16x8_t); -__Int16x4_t __builtin_aarch64_rsubhnv4si (__Int32x4_t, __Int32x4_t); -__Int32x2_t __builtin_aarch64_rsubhnv2di (__Int64x2_t, __Int64x2_t); -__Uint8x8_t __builtin_aarch64_rsubhnv8hi (__Int16x8_t, __Int16x8_t); -__Uint16x4_t __builtin_aarch64_rsubhnv4si (__Int32x4_t, __Int32x4_t); -__Uint32x2_t __builtin_aarch64_rsubhnv2di (__Int64x2_t, __Int64x2_t); -__Int8x16_t __builtin_aarch64_rsubhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); -__Int16x8_t __builtin_aarch64_rsubhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); -__Int32x4_t __builtin_aarch64_rsubhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Uint8x16_t __builtin_aarch64_rsubhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); -__Uint16x8_t __builtin_aarch64_rsubhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_rsubhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Int8x16_t __builtin_aarch64_subhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); -__Int16x8_t __builtin_aarch64_subhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); -__Int32x4_t __builtin_aarch64_subhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Uint8x16_t __builtin_aarch64_subhn2v8hi (__Int8x8_t, __Int16x8_t, __Int16x8_t); -__Uint16x8_t __builtin_aarch64_subhn2v4si (__Int16x4_t, __Int32x4_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_subhn2v2di (__Int32x2_t, __Int64x2_t, __Int64x2_t); -__Int8x16_t __builtin_aarch64_sqaddv16qi (__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_sqaddv8hi (__Int16x8_t, __Int16x8_t); -__Int32x4_t __builtin_aarch64_sqaddv4si (__Int32x4_t, __Int32x4_t); -__Int64x2_t __builtin_aarch64_sqaddv2di (__Int64x2_t, __Int64x2_t); -__Int8x8_t __builtin_aarch64_sqsubv8qi (__Int8x8_t, __Int8x8_t); -__Int16x4_t __builtin_aarch64_sqsubv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_sqsubv2si (__Int32x2_t, __Int32x2_t); -__Int8x16_t __builtin_aarch64_sqsubv16qi (__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_sqsubv8hi (__Int16x8_t, __Int16x8_t); -__Int32x4_t __builtin_aarch64_sqsubv4si (__Int32x4_t, __Int32x4_t); -__Int64x2_t __builtin_aarch64_sqsubv2di (__Int64x2_t, __Int64x2_t); -__Int8x8_t __builtin_aarch64_sqnegv8qi (__Int8x8_t); -__Int16x4_t __builtin_aarch64_sqnegv4hi (__Int16x4_t); -__Int32x2_t __builtin_aarch64_sqnegv2si (__Int32x2_t); -__Int8x16_t __builtin_aarch64_sqnegv16qi (__Int8x16_t); -__Int16x8_t __builtin_aarch64_sqnegv8hi (__Int16x8_t); -__Int32x4_t __builtin_aarch64_sqnegv4si (__Int32x4_t); -__Int8x8_t __builtin_aarch64_sqabsv8qi (__Int8x8_t); -__Int16x4_t __builtin_aarch64_sqabsv4hi (__Int16x4_t); -__Int32x2_t __builtin_aarch64_sqabsv2si (__Int32x2_t); -__Int8x16_t __builtin_aarch64_sqabsv16qi (__Int8x16_t); -__Int16x8_t __builtin_aarch64_sqabsv8hi (__Int16x8_t); -__Int32x4_t __builtin_aarch64_sqabsv4si (__Int32x4_t); -__Int16x4_t __builtin_aarch64_sqdmulhv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_sqdmulhv2si (__Int32x2_t, __Int32x2_t); -__Int16x8_t __builtin_aarch64_sqdmulhv8hi (__Int16x8_t, __Int16x8_t); -__Int32x4_t __builtin_aarch64_sqdmulhv4si (__Int32x4_t, __Int32x4_t); -__Int16x4_t __builtin_aarch64_sqrdmulhv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_sqrdmulhv2si (__Int32x2_t, __Int32x2_t); -__Int16x8_t __builtin_aarch64_sqrdmulhv8hi (__Int16x8_t, __Int16x8_t); -__Int32x4_t __builtin_aarch64_sqrdmulhv4si (__Int32x4_t, __Int32x4_t); -__Int8x16_t __builtin_aarch64_combinev8qi (__Int8x8_t, __Int8x8_t); -__Int16x8_t __builtin_aarch64_combinev4hi (__Int16x4_t, __Int16x4_t); -__Int32x4_t __builtin_aarch64_combinev2si (__Int32x2_t, __Int32x2_t); -__Float32x4_t __builtin_aarch64_combinev2sf (__Float32x2_t, __Float32x2_t); -__Uint8x16_t __builtin_aarch64_combinev8qi (__Int8x8_t, __Int8x8_t); -__Uint16x8_t __builtin_aarch64_combinev4hi (__Int16x4_t, __Int16x4_t); -__Uint32x4_t __builtin_aarch64_combinev2si (__Int32x2_t, __Int32x2_t); -__Poly8x16_t __builtin_aarch64_combinev8qi (__Int8x8_t, __Int8x8_t); -__Poly16x8_t __builtin_aarch64_combinev4hi (__Int16x4_t, __Int16x4_t); -__Uint8x8_t __builtin_aarch64_clzv8qi (__Int8x8_t); -__Uint16x4_t __builtin_aarch64_clzv4hi (__Int16x4_t); -__Uint32x2_t __builtin_aarch64_clzv2si (__Int32x2_t); -__Uint8x16_t __builtin_aarch64_clzv16qi (__Int8x16_t); -__Uint16x8_t __builtin_aarch64_clzv8hi (__Int16x8_t); -__Uint32x4_t __builtin_aarch64_clzv4si (__Int32x4_t); -__Poly8x8_t __builtin_aarch64_popcountv8qi (__Int8x8_t); -__Uint8x8_t __builtin_aarch64_popcountv8qi (__Int8x8_t); -__Poly8x16_t __builtin_aarch64_popcountv16qi (__Int8x16_t); -__Uint8x16_t __builtin_aarch64_popcountv16qi (__Int8x16_t); -__Uint8x8_t __builtin_aarch64_umaxv8qi (__Int8x8_t, __Int8x8_t); -__Uint16x4_t __builtin_aarch64_umaxv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_umaxv2si (__Int32x2_t, __Int32x2_t); -__Uint8x16_t __builtin_aarch64_umaxv16qi (__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_umaxv8hi (__Int16x8_t, __Int16x8_t); -__Uint32x4_t __builtin_aarch64_umaxv4si (__Int32x4_t, __Int32x4_t); -__Uint8x8_t __builtin_aarch64_umaxpv8qi (__Int8x8_t, __Int8x8_t); -__Uint16x4_t __builtin_aarch64_umaxpv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_umaxpv2si (__Int32x2_t, __Int32x2_t); -__Uint8x16_t __builtin_aarch64_umaxpv16qi (__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_umaxpv8hi (__Int16x8_t, __Int16x8_t); -__Uint32x4_t __builtin_aarch64_umaxpv4si (__Int32x4_t, __Int32x4_t); -__Uint8x8_t __builtin_aarch64_uminpv8qi (__Int8x8_t, __Int8x8_t); -__Uint16x4_t __builtin_aarch64_uminpv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_uminpv2si (__Int32x2_t, __Int32x2_t); -__Uint8x16_t __builtin_aarch64_uminpv16qi (__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_uminpv8hi (__Int16x8_t, __Int16x8_t); -__Uint32x4_t __builtin_aarch64_uminpv4si (__Int32x4_t, __Int32x4_t); -__Uint8x8_t __builtin_aarch64_uminv8qi (__Int8x8_t, __Int8x8_t); -__Uint16x4_t __builtin_aarch64_uminv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_uminv2si (__Int32x2_t, __Int32x2_t); -__Uint8x16_t __builtin_aarch64_uminv16qi (__Int8x16_t, __Int8x16_t); -__Uint16x8_t __builtin_aarch64_uminv8hi (__Int16x8_t, __Int16x8_t); -__Uint32x4_t __builtin_aarch64_uminv4si (__Int32x4_t, __Int32x4_t); -__Uint8x8_t __builtin_aarch64_addpv8qi (__Int8x8_t, __Int8x8_t); -__Uint16x4_t __builtin_aarch64_addpv4hi (__Int16x4_t, __Int16x4_t); -__Uint32x2_t __builtin_aarch64_addpv2si (__Int32x2_t, __Int32x2_t); -__Int64x2_t __builtin_aarch64_sqabsv2di (__Int64x2_t); -__Int8x8_t __builtin_aarch64_sqmovnv8hi (__Int16x8_t); -__Int16x4_t __builtin_aarch64_sqmovnv4si (__Int32x4_t); -__Int32x2_t __builtin_aarch64_sqmovnv2di (__Int64x2_t); -__Uint8x8_t __builtin_aarch64_uqmovnv8hi (__Int16x8_t); -__Uint16x4_t __builtin_aarch64_uqmovnv4si (__Int32x4_t); -__Uint32x2_t __builtin_aarch64_uqmovnv2di (__Int64x2_t); -__Uint8x8_t __builtin_aarch64_sqmovunv8hi (__Int16x8_t); -__Uint16x4_t __builtin_aarch64_sqmovunv4si (__Int32x4_t); -__Uint32x2_t __builtin_aarch64_sqmovunv2di (__Int64x2_t); -__Int64x2_t __builtin_aarch64_sqnegv2di (__Int64x2_t); -__Int8x8_t __builtin_aarch64_sqrshrn_nv8hi (__Int16x8_t, const int); -__Int16x4_t __builtin_aarch64_sqrshrn_nv4si (__Int32x4_t, const int); -__Int32x2_t __builtin_aarch64_sqrshrn_nv2di (__Int64x2_t, const int); -__Uint8x8_t __builtin_aarch64_sqrshrun_nv8hi (__Int16x8_t, const int); -__Uint16x4_t __builtin_aarch64_sqrshrun_nv4si (__Int32x4_t, const int); -__Uint32x2_t __builtin_aarch64_sqrshrun_nv2di (__Int64x2_t, const int); -__Int8x8_t __builtin_aarch64_sqshl_nv8qi (__Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_sqshl_nv4hi (__Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_sqshl_nv2si (__Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_sqshl_nv16qi (__Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_sqshl_nv8hi (__Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_sqshl_nv4si (__Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_sqshl_nv2di (__Int64x2_t, const int); -__Int8x8_t __builtin_aarch64_sqshrn_nv8hi (__Int16x8_t, const int); -__Int16x4_t __builtin_aarch64_sqshrn_nv4si (__Int32x4_t, const int); -__Int32x2_t __builtin_aarch64_sqshrn_nv2di (__Int64x2_t, const int); -__Uint8x8_t __builtin_aarch64_sqshrun_nv8hi (__Int16x8_t, const int); -__Uint16x4_t __builtin_aarch64_sqshrun_nv4si (__Int32x4_t, const int); -__Uint32x2_t __builtin_aarch64_sqshrun_nv2di (__Int64x2_t, const int); -__Poly8x8_t __builtin_aarch64_rbitv8qi (__Int8x8_t); -__Uint8x8_t __builtin_aarch64_rbitv8qi (__Int8x8_t); -__Poly8x16_t __builtin_aarch64_rbitv16qi (__Int8x16_t); -__Uint8x16_t __builtin_aarch64_rbitv16qi (__Int8x16_t); -__Uint32x2_t __builtin_aarch64_urecpev2si (__Int32x2_t); -__Uint32x4_t __builtin_aarch64_urecpev4si (__Int32x4_t); -__Int8x8_t __builtin_aarch64_srshlv8qi (__Int8x8_t, __Int8x8_t); -__Int16x4_t __builtin_aarch64_srshlv4hi (__Int16x4_t, __Int16x4_t); -__Int32x2_t __builtin_aarch64_srshlv2si (__Int32x2_t, __Int32x2_t); -__Int8x16_t __builtin_aarch64_srshlv16qi (__Int8x16_t, __Int8x16_t); -__Int16x8_t __builtin_aarch64_srshlv8hi (__Int16x8_t, __Int16x8_t); -__Int32x4_t __builtin_aarch64_srshlv4si (__Int32x4_t, __Int32x4_t); -__Int64x2_t __builtin_aarch64_srshlv2di (__Int64x2_t, __Int64x2_t); -__Int8x8_t __builtin_aarch64_srshr_nv8qi (__Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_srshr_nv4hi (__Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_srshr_nv2si (__Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_srshr_nv16qi (__Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_srshr_nv8hi (__Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_srshr_nv4si (__Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_srshr_nv2di (__Int64x2_t, const int); -__Int8x8_t __builtin_aarch64_srsra_nv8qi (__Int8x8_t, __Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_srsra_nv4hi (__Int16x4_t, __Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_srsra_nv2si (__Int32x2_t, __Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_srsra_nv16qi (__Int8x16_t, __Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_srsra_nv8hi (__Int16x8_t, __Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_srsra_nv4si (__Int32x4_t, __Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_srsra_nv2di (__Int64x2_t, __Int64x2_t, const int); -__Int8x8_t __builtin_aarch64_ashlv8qi (__Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_ashlv4hi (__Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_ashlv2si (__Int32x2_t, const int); -__Uint8x8_t __builtin_aarch64_ashlv8qi (__Int8x8_t, const int); -__Uint16x4_t __builtin_aarch64_ashlv4hi (__Int16x4_t, const int); -__Uint32x2_t __builtin_aarch64_ashlv2si (__Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_ashlv16qi (__Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_ashlv8hi (__Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_ashlv4si (__Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_ashlv2di (__Int64x2_t, const int); -__Uint8x16_t __builtin_aarch64_ashlv16qi (__Int8x16_t, const int); -__Uint16x8_t __builtin_aarch64_ashlv8hi (__Int16x8_t, const int); -__Uint32x4_t __builtin_aarch64_ashlv4si (__Int32x4_t, const int); -__Uint64x2_t __builtin_aarch64_ashlv2di (__Int64x2_t, const int); -__Uint16x8_t __builtin_aarch64_ushll2_nv16qi (__Int8x16_t, const int); -__Uint32x4_t __builtin_aarch64_ushll2_nv8hi (__Int16x8_t, const int); -__Uint64x2_t __builtin_aarch64_ushll2_nv4si (__Int32x4_t, const int); -__Int8x8_t __builtin_aarch64_ashrv8qi (__Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_ashrv4hi (__Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_ashrv2si (__Int32x2_t, const int); -__Uint8x8_t __builtin_aarch64_lshrv8qi (__Int8x8_t, const int); -__Uint16x4_t __builtin_aarch64_lshrv4hi (__Int16x4_t, const int); -__Uint32x2_t __builtin_aarch64_lshrv2si (__Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_ashrv16qi (__Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_ashrv8hi (__Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_ashrv4si (__Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_ashrv2di (__Int64x2_t, const int); -__Uint8x16_t __builtin_aarch64_lshrv16qi (__Int8x16_t, const int); -__Uint16x8_t __builtin_aarch64_lshrv8hi (__Int16x8_t, const int); -__Int8x8_t __builtin_aarch64_ssli_nv8qi (__Int8x8_t, __Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_ssli_nv4hi (__Int16x4_t, __Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_ssli_nv2si (__Int32x2_t, __Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_ssli_nv16qi (__Int8x16_t, __Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_ssli_nv8hi (__Int16x8_t, __Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_ssli_nv4si (__Int32x4_t, __Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_ssli_nv2di (__Int64x2_t, __Int64x2_t, const int); -__Int8x8_t __builtin_aarch64_ssra_nv8qi (__Int8x8_t, __Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_ssra_nv4hi (__Int16x4_t, __Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_ssra_nv2si (__Int32x2_t, __Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_ssra_nv16qi (__Int8x16_t, __Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_ssra_nv8hi (__Int16x8_t, __Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_ssra_nv4si (__Int32x4_t, __Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_ssra_nv2di (__Int64x2_t, __Int64x2_t, const int); -__Int8x8_t __builtin_aarch64_ssri_nv8qi (__Int8x8_t, __Int8x8_t, const int); -__Int16x4_t __builtin_aarch64_ssri_nv4hi (__Int16x4_t, __Int16x4_t, const int); -__Int32x2_t __builtin_aarch64_ssri_nv2si (__Int32x2_t, __Int32x2_t, const int); -__Int8x16_t __builtin_aarch64_ssri_nv16qi (__Int8x16_t, __Int8x16_t, const int); -__Int16x8_t __builtin_aarch64_ssri_nv8hi (__Int16x8_t, __Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_ssri_nv4si (__Int32x4_t, __Int32x4_t, const int); -__Int64x2_t __builtin_aarch64_ssri_nv2di (__Int64x2_t, __Int64x2_t, const int); -__Uint8x8_t __builtin_aarch64_uqaddv8qi_uuu (__Uint8x8_t, __Uint8x8_t); -__Uint32x2_t __builtin_aarch64_uqaddv2si_uuu (__Uint32x2_t, __Uint32x2_t); -__Uint8x16_t __builtin_aarch64_uqaddv16qi_uuu (__Uint8x16_t, __Uint8x16_t); -__Uint16x8_t __builtin_aarch64_uqaddv8hi_uuu (__Uint16x8_t, __Uint16x8_t); -__Uint32x4_t __builtin_aarch64_uqaddv4si_uuu (__Uint32x4_t, __Uint32x4_t); -__Uint64x2_t __builtin_aarch64_uqaddv2di_uuu (__Uint64x2_t, __Uint64x2_t); -__Uint8x8_t __builtin_aarch64_uqsubv8qi_uuu (__Uint8x8_t, __Uint8x8_t); -__Uint16x4_t __builtin_aarch64_uqsubv4hi_uuu (__Uint16x4_t, __Uint16x4_t); -__Uint32x2_t __builtin_aarch64_uqsubv2si_uuu (__Uint32x2_t, __Uint32x2_t); -__Uint8x16_t __builtin_aarch64_uqsubv16qi_uuu (__Uint8x16_t, __Uint8x16_t); -__Uint16x8_t __builtin_aarch64_uqsubv8hi_uuu (__Uint16x8_t, __Uint16x8_t); -__Uint32x4_t __builtin_aarch64_uqsubv4si_uuu (__Uint32x4_t, __Uint32x4_t); -__Uint64x2_t __builtin_aarch64_uqsubv2di_uuu (__Uint64x2_t, __Uint64x2_t); -__Float16x8_t __builtin_aarch64_combinev4hf (__Float16x4_t, __Float16x4_t); -__Uint16x4_t __builtin_aarch64_uqaddv4hi_uuu(__Uint16x4_t, __Uint16x4_t); -__Int16x4_t __builtin_aarch64_sqdmulh_laneqv4hi(__Int16x4_t, __Int16x8_t, const int); -__Int32x2_t __builtin_aarch64_sqdmulh_laneqv2si(__Int32x2_t, __Int32x4_t, const int); -__Int16x8_t __builtin_aarch64_sqdmulh_laneqv8hi(__Int16x8_t, __Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_sqdmulh_laneqv4si(__Int32x4_t, __Int32x4_t, const int); -__Int16x4_t __builtin_aarch64_sqrdmulh_laneqv4hi(__Int16x4_t, __Int16x8_t, const int); -__Int32x2_t __builtin_aarch64_sqrdmulh_laneqv2si(__Int32x2_t, __Int32x4_t, const int); -__Int16x8_t __builtin_aarch64_sqrdmulh_laneqv8hi(__Int16x8_t, __Int16x8_t, const int); -__Int32x4_t __builtin_aarch64_sqrdmulh_laneqv4si(__Int32x4_t, __Int32x4_t, const int); -__Uint16x4_t __builtin_aarch64_uqaddv4hi_uuu (__Uint16x4_t __a, __Uint16x4_t __b); -__Int64x2_t __builtin_aarch64_combinedi (long int, long int); -__Float64x2_t __builtin_aarch64_combinedf (float , float); -__Int16x4_t __builtin_aarch64_sqdmulh_laneqv4hi (__Int16x4_t __a, __Int16x8_t __b, const int __c); -__Int32x2_t __builtin_aarch64_sqdmulh_laneqv2si (__Int32x2_t __a, __Int32x4_t __b, const int __c); -__Int16x8_t __builtin_aarch64_sqdmulh_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, const int __c); -__Int32x4_t __builtin_aarch64_sqdmulh_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, const int __c); -__Int16x4_t __builtin_aarch64_sqrdmulh_laneqv4hi (__Int16x4_t __a, __Int16x8_t __b, const int __c); -__Int32x2_t __builtin_aarch64_sqrdmulh_laneqv2si (__Int32x2_t __a, __Int32x4_t __b, const int __c); -__Int16x8_t __builtin_aarch64_sqrdmulh_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, const int __c); -__Int32x4_t __builtin_aarch64_sqrdmulh_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, const int __c); -__Int8x8_t __builtin_aarch64_absv8qi (__Int8x8_t __a); -__Int16x4_t __builtin_aarch64_absv4hi (__Int16x4_t __a); -__Int32x2_t __builtin_aarch64_absv2si (__Int32x2_t __a); -__Float32x4_t __builtin_aarch64_absv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_absv2df (__Float64x2_t __a); -__Int8x16_t __builtin_aarch64_absv16qi (__Int8x16_t __a); -__Int16x8_t __builtin_aarch64_absv8hi (__Int16x8_t __a); -__Int32x4_t __builtin_aarch64_absv4si (__Int32x4_t __a); -__Int64x2_t __builtin_aarch64_absv2di (__Int64x2_t __a); -__Float32x2_t __builtin_aarch64_simd_bslv2sf_suss (__Uint32x2_t __a, __Float32x2_t __b, __Float32x2_t __c); -__Poly8x8_t __builtin_aarch64_simd_bslv8qi_pupp (__Uint8x8_t __a, __Poly8x8_t __b, __Poly8x8_t __c); -__Poly16x4_t __builtin_aarch64_simd_bslv4hi_pupp (__Uint16x4_t __a, __Poly16x4_t __b, __Poly16x4_t __c); -__Int8x8_t __builtin_aarch64_simd_bslv8qi_suss (__Uint8x8_t __a, __Int8x8_t __b, __Int8x8_t __c); -__Int16x4_t __builtin_aarch64_simd_bslv4hi_suss (__Uint16x4_t __a, __Int16x4_t __b, __Int16x4_t __c); -__Int32x2_t __builtin_aarch64_simd_bslv2si_suss (__Uint32x2_t __a, __Int32x2_t __b, __Int32x2_t __c); -__Uint8x8_t __builtin_aarch64_simd_bslv8qi_uuuu (__Uint8x8_t __a, __Uint8x8_t __b, __Uint8x8_t __c); -__Uint16x4_t __builtin_aarch64_simd_bslv4hi_uuuu (__Uint16x4_t __a, __Uint16x4_t __b, __Uint16x4_t __c); -__Uint32x2_t __builtin_aarch64_simd_bslv2si_uuuu (__Uint32x2_t __a, __Uint32x2_t __b, __Uint32x2_t __c); -__Float32x4_t __builtin_aarch64_simd_bslv4sf_suss (__Uint32x4_t __a, __Float32x4_t __b, __Float32x4_t __c); -__Float64x2_t __builtin_aarch64_simd_bslv2df_suss (__Uint64x2_t __a, __Float64x2_t __b, __Float64x2_t __c); -__Poly8x16_t __builtin_aarch64_simd_bslv16qi_pupp (__Uint8x16_t __a, __Poly8x16_t __b, __Poly8x16_t __c); -__Poly16x8_t __builtin_aarch64_simd_bslv8hi_pupp (__Uint16x8_t __a, __Poly16x8_t __b, __Poly16x8_t __c); -__Int8x16_t __builtin_aarch64_simd_bslv16qi_suss (__Uint8x16_t __a, __Int8x16_t __b, __Int8x16_t __c); -__Int16x8_t __builtin_aarch64_simd_bslv8hi_suss (__Uint16x8_t __a, __Int16x8_t __b, __Int16x8_t __c); -__Int32x4_t __builtin_aarch64_simd_bslv4si_suss (__Uint32x4_t __a, __Int32x4_t __b, __Int32x4_t __c); -__Int64x2_t __builtin_aarch64_simd_bslv2di_suss (__Uint64x2_t __a, __Int64x2_t __b, __Int64x2_t __c); -__Uint8x16_t __builtin_aarch64_simd_bslv16qi_uuuu (__Uint8x16_t __a, __Uint8x16_t __b, __Uint8x16_t __c); -__Uint16x8_t __builtin_aarch64_simd_bslv8hi_uuuu (__Uint16x8_t __a, __Uint16x8_t __b, __Uint16x8_t __c); -__Uint32x4_t __builtin_aarch64_simd_bslv4si_uuuu (__Uint32x4_t __a, __Uint32x4_t __b, __Uint32x4_t __c); -__Uint64x2_t __builtin_aarch64_simd_bslv2di_uuuu (__Uint64x2_t __a, __Uint64x2_t __b, __Uint64x2_t __c); -__Int16x4_t __builtin_aarch64_sqrdmlahv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c); -__Int32x2_t __builtin_aarch64_sqrdmlahv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c); -__Int16x8_t __builtin_aarch64_sqrdmlahv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c); -__Int32x4_t __builtin_aarch64_sqrdmlahv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c); -__Int16x4_t __builtin_aarch64_sqrdmlshv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c); -__Int32x2_t __builtin_aarch64_sqrdmlshv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c); -__Int16x8_t __builtin_aarch64_sqrdmlshv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c); -__Int32x4_t __builtin_aarch64_sqrdmlshv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c); -__Int16x4_t __builtin_aarch64_sqrdmlah_laneqv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x8_t __c, const int __d); -__Int32x2_t __builtin_aarch64_sqrdmlah_laneqv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x4_t __c, const int __d); -__Int16x8_t __builtin_aarch64_sqrdmlah_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c, const int __d); -__Int32x4_t __builtin_aarch64_sqrdmlah_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c, const int __d); -__Int16x4_t __builtin_aarch64_sqrdmlsh_laneqv4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x8_t __c, const int __d); -__Int32x2_t __builtin_aarch64_sqrdmlsh_laneqv2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x4_t __c, const int __d); -__Int16x8_t __builtin_aarch64_sqrdmlsh_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x8_t __c, const int __d); -__Int32x4_t __builtin_aarch64_sqrdmlsh_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x4_t __c, const int __d); -__Int16x4_t __builtin_aarch64_sqrdmlah_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c, const int __d); -__Int32x2_t __builtin_aarch64_sqrdmlah_lanev2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c, const int __d); -__Int16x8_t __builtin_aarch64_sqrdmlah_lanev8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x4_t __c, const int __d); -__Int32x4_t __builtin_aarch64_sqrdmlah_lanev4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x2_t __c, const int __d); -__Int16x4_t __builtin_aarch64_sqrdmlsh_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, __Int16x4_t __c, const int __d); -__Int32x2_t __builtin_aarch64_sqrdmlsh_lanev2si (__Int32x2_t __a, __Int32x2_t __b, __Int32x2_t __c, const int __d); -__Int16x8_t __builtin_aarch64_sqrdmlsh_lanev8hi (__Int16x8_t __a, __Int16x8_t __b, __Int16x4_t __c, const int __d); -__Int32x4_t __builtin_aarch64_sqrdmlsh_lanev4si (__Int32x4_t __a, __Int32x4_t __b, __Int32x2_t __c, const int __d); -__Uint8x16_t __builtin_aarch64_crypto_aesev16qi_uuu (__Uint8x16_t data, __Uint8x16_t key); -__Uint8x16_t __builtin_aarch64_crypto_aesdv16qi_uuu (__Uint8x16_t data, __Uint8x16_t key); -__Uint8x16_t __builtin_aarch64_crypto_aesmcv16qi_uu (__Uint8x16_t data); -__Uint8x16_t __builtin_aarch64_crypto_aesimcv16qi_uu (__Uint8x16_t data); -__Int8x8_t __builtin_aarch64_clrsbv8qi (__Int8x8_t __a); -__Int16x4_t __builtin_aarch64_clrsbv4hi (__Int16x4_t __a); -__Int32x2_t __builtin_aarch64_clrsbv2si (__Int32x2_t __a); -__Int8x16_t __builtin_aarch64_clrsbv16qi (__Int8x16_t __a); -__Int16x8_t __builtin_aarch64_clrsbv8hi (__Int16x8_t __a); -__Int32x4_t __builtin_aarch64_clrsbv4si (__Int32x4_t __a); -__Int8x8_t __builtin_aarch64_clzv8qi (__Int8x8_t __a); -__Int16x4_t __builtin_aarch64_clzv4hi (__Int16x4_t __a); -__Int32x2_t __builtin_aarch64_clzv2si (__Int32x2_t __a); -__Int8x16_t __builtin_aarch64_clzv16qi (__Int8x16_t __a); -__Int16x8_t __builtin_aarch64_clzv8hi (__Int16x8_t __a); -__Int32x4_t __builtin_aarch64_clzv4si (__Int32x4_t __a); -__Int8x8_t __builtin_aarch64_popcountv8qi (__Int8x8_t __a); -__Int8x16_t __builtin_aarch64_popcountv16qi (__Int8x16_t __a); -__Float16x4_t __builtin_aarch64_float_truncate_lo_v4hf (__Float32x4_t __a); -__Float16x8_t __builtin_aarch64_float_truncate_hi_v8hf (__Float16x4_t __a, __Float32x4_t __b); -__Float32x2_t __builtin_aarch64_float_truncate_lo_v2sf (__Float64x2_t __a); -__Float32x4_t __builtin_aarch64_float_truncate_hi_v4sf (__Float32x2_t __a, __Float64x2_t __b); -__Float32x4_t __builtin_aarch64_float_extend_lo_v4sf (__Float16x4_t __a); -__Float64x2_t __builtin_aarch64_float_extend_lo_v2df (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_vec_unpacks_hi_v8hf (__Float16x8_t __a); -__Float64x2_t __builtin_aarch64_vec_unpacks_hi_v4sf (__Float32x4_t __a); -__Float32x2_t __builtin_aarch64_floatv2siv2sf (__Int32x2_t __a); -__Float32x2_t __builtin_aarch64_floatunsv2siv2sf (__Int32x2_t __a); -__Float32x4_t __builtin_aarch64_floatv4siv4sf (__Int32x4_t __a); -__Float32x4_t __builtin_aarch64_floatunsv4siv4sf (__Int32x4_t __a); -__Float64x2_t __builtin_aarch64_floatv2div2df (__Int64x2_t __a); -__Float64x2_t __builtin_aarch64_floatunsv2div2df (__Int64x2_t __a); -__Int32x2_t __builtin_aarch64_lbtruncv2sfv2si (__Float32x2_t __a); -__Uint32x2_t __builtin_aarch64_lbtruncuv2sfv2si_us (__Float32x2_t __a); -__Int32x4_t __builtin_aarch64_lbtruncv4sfv4si (__Float32x4_t __a); -__Uint32x4_t __builtin_aarch64_lbtruncuv4sfv4si_us (__Float32x4_t __a); -__Int64x2_t __builtin_aarch64_lbtruncv2dfv2di (__Float64x2_t __a); -__Uint64x2_t __builtin_aarch64_lbtruncuv2dfv2di_us (__Float64x2_t __a); -__Int32x2_t __builtin_aarch64_lroundv2sfv2si (__Float32x2_t __a); -__Uint32x2_t __builtin_aarch64_lrounduv2sfv2si_us (__Float32x2_t __a); -__Int32x4_t __builtin_aarch64_lroundv4sfv4si (__Float32x4_t __a); -__Uint32x4_t __builtin_aarch64_lrounduv4sfv4si_us (__Float32x4_t __a); -__Int64x2_t __builtin_aarch64_lroundv2dfv2di (__Float64x2_t __a); -__Uint64x2_t __builtin_aarch64_lrounduv2dfv2di_us (__Float64x2_t __a); -__Int32x2_t __builtin_aarch64_lfloorv2sfv2si (__Float32x2_t __a); -__Uint32x2_t __builtin_aarch64_lflooruv2sfv2si_us (__Float32x2_t __a); -__Int32x4_t __builtin_aarch64_lfloorv4sfv4si (__Float32x4_t __a); -__Uint32x4_t __builtin_aarch64_lflooruv4sfv4si_us (__Float32x4_t __a); -__Int64x2_t __builtin_aarch64_lfloorv2dfv2di (__Float64x2_t __a); -__Uint64x2_t __builtin_aarch64_lflooruv2dfv2di_us (__Float64x2_t __a); -__Int32x2_t __builtin_aarch64_lfrintnv2sfv2si (__Float32x2_t __a); -__Uint32x2_t __builtin_aarch64_lfrintnuv2sfv2si_us (__Float32x2_t __a); -__Int32x4_t __builtin_aarch64_lfrintnv4sfv4si (__Float32x4_t __a); -__Uint32x4_t __builtin_aarch64_lfrintnuv4sfv4si_us (__Float32x4_t __a); -__Int64x2_t __builtin_aarch64_lfrintnv2dfv2di (__Float64x2_t __a); -__Uint64x2_t __builtin_aarch64_lfrintnuv2dfv2di_us (__Float64x2_t __a); -__Int32x2_t __builtin_aarch64_lceilv2sfv2si (__Float32x2_t __a); -__Uint32x2_t __builtin_aarch64_lceiluv2sfv2si_us (__Float32x2_t __a); -__Int32x4_t __builtin_aarch64_lceilv4sfv4si (__Float32x4_t __a); -__Uint32x4_t __builtin_aarch64_lceiluv4sfv4si_us (__Float32x4_t __a); -__Int64x2_t __builtin_aarch64_lceilv2dfv2di (__Float64x2_t __a); -__Uint64x2_t __builtin_aarch64_lceiluv2dfv2di_us (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_fmav2sf (__Float32x2_t __a, __Float32x2_t __b, __Float32x2_t __c); -__Float32x4_t __builtin_aarch64_fmav4sf (__Float32x4_t __a, __Float32x4_t __b, __Float32x4_t __c); -__Float64x2_t __builtin_aarch64_fmav2df (__Float64x2_t __a, __Float64x2_t __b, __Float64x2_t __c); -__Float16x4_t __builtin_aarch64_ld1v4hf (const __fp16 *__a); -__Float32x2_t __builtin_aarch64_ld1v2sf (const __builtin_aarch64_simd_sf * a); -__Int8x8_t __builtin_aarch64_ld1v8qi (const __builtin_aarch64_simd_qi * a); -__Int16x4_t __builtin_aarch64_ld1v4hi (const __builtin_aarch64_simd_hi * a); -__Int32x2_t __builtin_aarch64_ld1v2si (const __builtin_aarch64_simd_si * a); -__Float16x8_t __builtin_aarch64_ld1v8hf (const __fp16 *__a); -__Float32x4_t __builtin_aarch64_ld1v4sf (const __builtin_aarch64_simd_sf * a); -__Float64x2_t __builtin_aarch64_ld1v2df (const __builtin_aarch64_simd_df * a); -__Int8x16_t __builtin_aarch64_ld1v16qi (const __builtin_aarch64_simd_qi * a); -__Int16x8_t __builtin_aarch64_ld1v8hi (const __builtin_aarch64_simd_hi * a); -__Int32x4_t __builtin_aarch64_ld1v4si (const __builtin_aarch64_simd_si * a); -__Int64x2_t __builtin_aarch64_ld1v2di (const __builtin_aarch64_simd_di * a); -__Float32x2_t __builtin_aarch64_smax_nanv2sf (__Float32x2_t __a, __Float32x2_t __b); -__Int8x8_t __builtin_aarch64_smaxv8qi (__Int8x8_t __a, __Int8x8_t __b); -__Int16x4_t __builtin_aarch64_smaxv4hi (__Int16x4_t __a, __Int16x4_t __b); -__Int32x2_t __builtin_aarch64_smaxv2si (__Int32x2_t __a, __Int32x2_t __b); -__Float32x4_t __builtin_aarch64_smax_nanv4sf (__Float32x4_t __a, __Float32x4_t __b); -__Float64x2_t __builtin_aarch64_smax_nanv2df (__Float64x2_t __a, __Float64x2_t __b); -__Int8x16_t __builtin_aarch64_smaxv16qi (__Int8x16_t __a, __Int8x16_t __b); -__Int16x8_t __builtin_aarch64_smaxv8hi (__Int16x8_t __a, __Int16x8_t __b); -__Int32x4_t __builtin_aarch64_smaxv4si (__Int32x4_t __a, __Int32x4_t __b); -__Int8x8_t __builtin_aarch64_smaxpv8qi (__Int8x8_t a, __Int8x8_t b); -__Int16x4_t __builtin_aarch64_smaxpv4hi (__Int16x4_t a, __Int16x4_t b); -__Int32x2_t __builtin_aarch64_smaxpv2si (__Int32x2_t a, __Int32x2_t b); -__Int8x16_t __builtin_aarch64_smaxpv16qi (__Int8x16_t a, __Int8x16_t b); -__Int16x8_t __builtin_aarch64_smaxpv8hi (__Int16x8_t a, __Int16x8_t b); -__Int32x4_t __builtin_aarch64_smaxpv4si (__Int32x4_t a, __Int32x4_t b); -__Float32x4_t __builtin_aarch64_smax_nanpv4sf (__Float32x4_t a, __Float32x4_t b); -__Float64x2_t __builtin_aarch64_smax_nanpv2df (__Float64x2_t a, __Float64x2_t b); -__Float32x2_t __builtin_aarch64_smaxpv2sf (__Float32x2_t a, __Float32x2_t b); -__Float32x4_t __builtin_aarch64_smaxpv4sf (__Float32x4_t a, __Float32x4_t b); -__Float64x2_t __builtin_aarch64_smaxpv2df (__Float64x2_t a, __Float64x2_t b); -__Int8x8_t __builtin_aarch64_sminpv8qi (__Int8x8_t a, __Int8x8_t b); -__Int16x4_t __builtin_aarch64_sminpv4hi (__Int16x4_t a, __Int16x4_t b); -__Int32x2_t __builtin_aarch64_sminpv2si (__Int32x2_t a, __Int32x2_t b); -__Int8x16_t __builtin_aarch64_sminpv16qi (__Int8x16_t a, __Int8x16_t b); -__Int16x8_t __builtin_aarch64_sminpv8hi (__Int16x8_t a, __Int16x8_t b); -__Int32x4_t __builtin_aarch64_sminpv4si (__Int32x4_t a, __Int32x4_t b); -__Float32x2_t __builtin_aarch64_smin_nanpv2sf (__Float32x2_t a, __Float32x2_t b); -__Float32x4_t __builtin_aarch64_smin_nanpv4sf (__Float32x4_t a, __Float32x4_t b); -__Float64x2_t __builtin_aarch64_smin_nanpv2df (__Float64x2_t a, __Float64x2_t b); -__Float32x2_t __builtin_aarch64_sminpv2sf (__Float32x2_t a, __Float32x2_t b); -__Float32x4_t __builtin_aarch64_sminpv4sf (__Float32x4_t a, __Float32x4_t b); -__Float64x2_t __builtin_aarch64_sminpv2df (__Float64x2_t a, __Float64x2_t b); -__Float32x2_t __builtin_aarch64_smaxv2sf (__Float32x2_t __a, __Float32x2_t __b); -__Float32x4_t __builtin_aarch64_smaxv4sf (__Float32x4_t __a, __Float32x4_t __b); -__Float64x2_t __builtin_aarch64_smaxv2df (__Float64x2_t __a, __Float64x2_t __b); -__Float32x2_t __builtin_aarch64_smin_nanv2sf (__Float32x2_t __a, __Float32x2_t __b); -__Int8x8_t __builtin_aarch64_sminv8qi (__Int8x8_t __a, __Int8x8_t __b); -__Int16x4_t __builtin_aarch64_sminv4hi (__Int16x4_t __a, __Int16x4_t __b); -__Int32x2_t __builtin_aarch64_sminv2si (__Int32x2_t __a, __Int32x2_t __b); -__Float32x4_t __builtin_aarch64_smin_nanv4sf (__Float32x4_t __a, __Float32x4_t __b); -__Float64x2_t __builtin_aarch64_smin_nanv2df (__Float64x2_t __a, __Float64x2_t __b); -__Int8x16_t __builtin_aarch64_sminv16qi (__Int8x16_t __a, __Int8x16_t __b); -__Int16x8_t __builtin_aarch64_sminv8hi (__Int16x8_t __a, __Int16x8_t __b); -__Int32x4_t __builtin_aarch64_sminv4si (__Int32x4_t __a, __Int32x4_t __b); -__Float32x2_t __builtin_aarch64_sminv2sf (__Float32x2_t __a, __Float32x2_t __b); -__Float32x4_t __builtin_aarch64_sminv4sf (__Float32x4_t __a, __Float32x4_t __b); -__Float64x2_t __builtin_aarch64_sminv2df (__Float64x2_t __a, __Float64x2_t __b); -__Int8x8_t __builtin_aarch64_addpv8qi (__Int8x8_t __a, __Int8x8_t __b); -__Int16x4_t __builtin_aarch64_addpv4hi (__Int16x4_t __a, __Int16x4_t __b); -__Int32x2_t __builtin_aarch64_addpv2si (__Int32x2_t __a, __Int32x2_t __b); -__Int32x4_t __builtin_aarch64_sqdmlalv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c); -__Int32x4_t __builtin_aarch64_sqdmlal2v8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c); -__Int32x4_t __builtin_aarch64_sqdmlal2_lanev8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x4_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlal2_laneqv8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlal2_nv8hi (__Int32x4_t __a, __Int16x8_t __b, short int __c); -__Int32x4_t __builtin_aarch64_sqdmlal_lanev4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlal_laneqv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x8_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlal_nv4hi (__Int32x4_t __a, __Int16x4_t __b, short int __c); -__Int64x2_t __builtin_aarch64_sqdmlalv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c); -__Int64x2_t __builtin_aarch64_sqdmlal2v4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c); -__Int64x2_t __builtin_aarch64_sqdmlal2_lanev4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x2_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlal2_laneqv4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlal2_nv4si (__Int64x2_t __a, __Int32x4_t __b, int __c); -__Int64x2_t __builtin_aarch64_sqdmlal_lanev2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlal_laneqv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x4_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlal_nv2si (__Int64x2_t __a, __Int32x2_t __b, int __c); -__Int32x4_t __builtin_aarch64_sqdmlslv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c); -__Int32x4_t __builtin_aarch64_sqdmlsl2v8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c); -__Int32x4_t __builtin_aarch64_sqdmlsl2_lanev8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x4_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlsl2_laneqv8hi (__Int32x4_t __a, __Int16x8_t __b, __Int16x8_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlsl2_nv8hi (__Int32x4_t __a, __Int16x8_t __b, short int __c); -__Int32x4_t __builtin_aarch64_sqdmlsl_lanev4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x4_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlsl_laneqv4hi (__Int32x4_t __a, __Int16x4_t __b, __Int16x8_t __c, int const __d); -__Int32x4_t __builtin_aarch64_sqdmlsl_nv4hi (__Int32x4_t __a, __Int16x4_t __b, short int __c); -__Int64x2_t __builtin_aarch64_sqdmlslv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c); -__Int64x2_t __builtin_aarch64_sqdmlsl2v4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c); -__Int64x2_t __builtin_aarch64_sqdmlsl2_lanev4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x2_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlsl2_laneqv4si (__Int64x2_t __a, __Int32x4_t __b, __Int32x4_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlsl2_nv4si (__Int64x2_t __a, __Int32x4_t __b, int __c); -__Int64x2_t __builtin_aarch64_sqdmlsl_lanev2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x2_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlsl_laneqv2si (__Int64x2_t __a, __Int32x2_t __b, __Int32x4_t __c, int const __d); -__Int64x2_t __builtin_aarch64_sqdmlsl_nv2si (__Int64x2_t __a, __Int32x2_t __b, int __c); -__Int16x4_t __builtin_aarch64_sqdmulh_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, const int __c); -__Int32x2_t __builtin_aarch64_sqdmulh_lanev2si (__Int32x2_t __a, __Int32x2_t __b, const int __c); -__Int16x8_t __builtin_aarch64_sqdmulh_lanev8hi (__Int16x8_t __a, __Int16x4_t __b, const int __c); -__Int32x4_t __builtin_aarch64_sqdmulh_lanev4si (__Int32x4_t __a, __Int32x2_t __b, const int __c); -__Int32x4_t __builtin_aarch64_sqdmullv4hi (__Int16x4_t __a, __Int16x4_t __b); -__Int32x4_t __builtin_aarch64_sqdmull2v8hi (__Int16x8_t __a, __Int16x8_t __b); -__Int32x4_t __builtin_aarch64_sqdmull2_lanev8hi (__Int16x8_t __a, __Int16x4_t __b, int const __c); -__Int32x4_t __builtin_aarch64_sqdmull2_laneqv8hi (__Int16x8_t __a, __Int16x8_t __b, int const __c); -__Int32x4_t __builtin_aarch64_sqdmull2_nv8hi (__Int16x8_t __a, short int __b); -__Int32x4_t __builtin_aarch64_sqdmull_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, int const __c); -__Int32x4_t __builtin_aarch64_sqdmull_laneqv4hi (__Int16x4_t __a, __Int16x8_t __b, int const __c); -__Int32x4_t __builtin_aarch64_sqdmull_nv4hi (__Int16x4_t __a, short int __b); -__Int64x2_t __builtin_aarch64_sqdmullv2si (__Int32x2_t __a, __Int32x2_t __b); -__Int64x2_t __builtin_aarch64_sqdmull2v4si (__Int32x4_t __a, __Int32x4_t __b); -__Int64x2_t __builtin_aarch64_sqdmull2_lanev4si (__Int32x4_t __a, __Int32x2_t __b, int const __c); -__Int64x2_t __builtin_aarch64_sqdmull2_laneqv4si (__Int32x4_t __a, __Int32x4_t __b, int const __c); -__Int64x2_t __builtin_aarch64_sqdmull2_nv4si (__Int32x4_t __a, int __b); -__Int64x2_t __builtin_aarch64_sqdmull_lanev2si (__Int32x2_t __a, __Int32x2_t __b, int const __c); -__Int64x2_t __builtin_aarch64_sqdmull_laneqv2si (__Int32x2_t __a, __Int32x4_t __b, int const __c); -__Int64x2_t __builtin_aarch64_sqdmull_nv2si (__Int32x2_t __a, int __b); -__Int16x4_t __builtin_aarch64_sqrdmulh_lanev4hi (__Int16x4_t __a, __Int16x4_t __b, const int __c); -__Int32x2_t __builtin_aarch64_sqrdmulh_lanev2si (__Int32x2_t __a, __Int32x2_t __b, const int __c); -__Int16x8_t __builtin_aarch64_sqrdmulh_lanev8hi (__Int16x8_t __a, __Int16x4_t __b, const int __c); -__Int32x4_t __builtin_aarch64_sqrdmulh_lanev4si (__Int32x4_t __a, __Int32x2_t __b, const int __c); -__Int8x8_t __builtin_aarch64_sqrshlv8qi (__Int8x8_t __a, __Int8x8_t __b); -__Int16x4_t __builtin_aarch64_sqrshlv4hi (__Int16x4_t __a, __Int16x4_t __b); -__Int32x2_t __builtin_aarch64_sqrshlv2si (__Int32x2_t __a, __Int32x2_t __b); -__Uint8x8_t __builtin_aarch64_uqrshlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); -__Uint16x4_t __builtin_aarch64_uqrshlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); -__Uint32x2_t __builtin_aarch64_uqrshlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); -__Int8x16_t __builtin_aarch64_sqrshlv16qi (__Int8x16_t __a, __Int8x16_t __b); -__Int16x8_t __builtin_aarch64_sqrshlv8hi (__Int16x8_t __a, __Int16x8_t __b); -__Int32x4_t __builtin_aarch64_sqrshlv4si (__Int32x4_t __a, __Int32x4_t __b); -__Int64x2_t __builtin_aarch64_sqrshlv2di (__Int64x2_t __a, __Int64x2_t __b); -__Uint8x16_t __builtin_aarch64_uqrshlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); -__Uint16x8_t __builtin_aarch64_uqrshlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); -__Uint32x4_t __builtin_aarch64_uqrshlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); -__Uint64x2_t __builtin_aarch64_uqrshlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); -__Uint8x8_t __builtin_aarch64_uqrshrn_nv8hi_uus (__Uint16x8_t __a, const int __b); -__Uint16x4_t __builtin_aarch64_uqrshrn_nv4si_uus (__Uint32x4_t __a, const int __b); -__Uint32x2_t __builtin_aarch64_uqrshrn_nv2di_uus (__Uint64x2_t __a, const int __b); -__Int8x8_t __builtin_aarch64_sqshlv8qi (__Int8x8_t __a, __Int8x8_t __b); -__Int16x4_t __builtin_aarch64_sqshlv4hi (__Int16x4_t __a, __Int16x4_t __b); -__Int32x2_t __builtin_aarch64_sqshlv2si (__Int32x2_t __a, __Int32x2_t __b); -__Uint8x8_t __builtin_aarch64_uqshlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); -__Uint16x4_t __builtin_aarch64_uqshlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); -__Uint32x2_t __builtin_aarch64_uqshlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); -__Int8x16_t __builtin_aarch64_sqshlv16qi (__Int8x16_t __a, __Int8x16_t __b); -__Int16x8_t __builtin_aarch64_sqshlv8hi (__Int16x8_t __a, __Int16x8_t __b); -__Int32x4_t __builtin_aarch64_sqshlv4si (__Int32x4_t __a, __Int32x4_t __b); -__Int64x2_t __builtin_aarch64_sqshlv2di (__Int64x2_t __a, __Int64x2_t __b); -__Uint8x16_t __builtin_aarch64_uqshlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); -__Uint16x8_t __builtin_aarch64_uqshlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); -__Uint32x4_t __builtin_aarch64_uqshlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); -__Uint64x2_t __builtin_aarch64_uqshlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); -__Uint8x8_t __builtin_aarch64_uqshl_nv8qi_uus (__Uint8x8_t __a, const int __b); -__Uint16x4_t __builtin_aarch64_uqshl_nv4hi_uus (__Uint16x4_t __a, const int __b); -__Uint32x2_t __builtin_aarch64_uqshl_nv2si_uus (__Uint32x2_t __a, const int __b); -__Uint8x16_t __builtin_aarch64_uqshl_nv16qi_uus (__Uint8x16_t __a, const int __b); -__Uint16x8_t __builtin_aarch64_uqshl_nv8hi_uus (__Uint16x8_t __a, const int __b); -__Uint32x4_t __builtin_aarch64_uqshl_nv4si_uus (__Uint32x4_t __a, const int __b); -__Uint64x2_t __builtin_aarch64_uqshl_nv2di_uus (__Uint64x2_t __a, const int __b); -__Uint8x8_t __builtin_aarch64_sqshlu_nv8qi_uss (__Int8x8_t __a, const int __b); -__Uint16x4_t __builtin_aarch64_sqshlu_nv4hi_uss (__Int16x4_t __a, const int __b); -__Uint32x2_t __builtin_aarch64_sqshlu_nv2si_uss (__Int32x2_t __a, const int __b); -__Uint8x16_t __builtin_aarch64_sqshlu_nv16qi_uss (__Int8x16_t __a, const int __b); -__Uint16x8_t __builtin_aarch64_sqshlu_nv8hi_uss (__Int16x8_t __a, const int __b); -__Uint32x4_t __builtin_aarch64_sqshlu_nv4si_uss (__Int32x4_t __a, const int __b); -__Uint64x2_t __builtin_aarch64_sqshlu_nv2di_uss (__Int64x2_t __a, const int __b); -__Uint8x8_t __builtin_aarch64_uqshrn_nv8hi_uus (__Uint16x8_t __a, const int __b); -__Uint16x4_t __builtin_aarch64_uqshrn_nv4si_uus (__Uint32x4_t __a, const int __b); -__Uint32x2_t __builtin_aarch64_uqshrn_nv2di_uus (__Uint64x2_t __a, const int __b); -__Int8x8_t __builtin_aarch64_rbitv8qi (__Int8x8_t __a); -__Int8x16_t __builtin_aarch64_rbitv16qi (__Int8x16_t __a); -__Float32x2_t __builtin_aarch64_frecpev2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_frecpev4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_frecpev2df (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_frecpsv2sf (__Float32x2_t __a, __Float32x2_t __b); -__Float32x4_t __builtin_aarch64_frecpsv4sf (__Float32x4_t __a, __Float32x4_t __b); -__Float64x2_t __builtin_aarch64_frecpsv2df (__Float64x2_t __a, __Float64x2_t __b); -__Float32x2_t __builtin_aarch64_btruncv2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_btruncv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_btruncv2df (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_roundv2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_roundv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_roundv2df (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_nearbyintv2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_nearbyintv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_nearbyintv2df (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_floorv2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_floorv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_floorv2df (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_frintnv2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_frintnv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_frintnv2df (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_ceilv2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_ceilv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_ceilv2df (__Float64x2_t __a); -__Float32x2_t __builtin_aarch64_rintv2sf (__Float32x2_t __a); -__Float32x4_t __builtin_aarch64_rintv4sf (__Float32x4_t __a); -__Float64x2_t __builtin_aarch64_rintv2df (__Float64x2_t __a); -__Uint8x8_t __builtin_aarch64_urshlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); -__Uint16x4_t __builtin_aarch64_urshlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); -__Uint32x2_t __builtin_aarch64_urshlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); -__Uint8x16_t __builtin_aarch64_urshlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); -__Uint16x8_t __builtin_aarch64_urshlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); -__Uint32x4_t __builtin_aarch64_urshlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); -__Uint64x2_t __builtin_aarch64_urshlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); -__Uint8x8_t __builtin_aarch64_urshr_nv8qi_uus (__Uint8x8_t __a, const int __b); -__Uint16x4_t __builtin_aarch64_urshr_nv4hi_uus (__Uint16x4_t __a, const int __b); -__Uint32x2_t __builtin_aarch64_urshr_nv2si_uus (__Uint32x2_t __a, const int __b); -__Uint8x16_t __builtin_aarch64_urshr_nv16qi_uus (__Uint8x16_t __a, const int __b); -__Uint16x8_t __builtin_aarch64_urshr_nv8hi_uus (__Uint16x8_t __a, const int __b); -__Uint32x4_t __builtin_aarch64_urshr_nv4si_uus (__Uint32x4_t __a, const int __b); -__Uint64x2_t __builtin_aarch64_urshr_nv2di_uus (__Uint64x2_t __a, const int __b); -__Uint8x8_t __builtin_aarch64_ursra_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); -__Uint16x4_t __builtin_aarch64_ursra_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); -__Uint32x2_t __builtin_aarch64_ursra_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); -__Uint8x16_t __builtin_aarch64_ursra_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); -__Uint16x8_t __builtin_aarch64_ursra_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); -__Uint32x4_t __builtin_aarch64_ursra_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); -__Uint64x2_t __builtin_aarch64_ursra_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); -__Uint32x4_t __builtin_aarch64_crypto_sha1cv4si_uuuu (__Uint32x4_t hash_abcd, unsigned int hash_e, __Uint32x4_t wk); -__Uint32x4_t __builtin_aarch64_crypto_sha1mv4si_uuuu (__Uint32x4_t hash_abcd, unsigned int hash_e, __Uint32x4_t wk); -__Uint32x4_t __builtin_aarch64_crypto_sha1pv4si_uuuu (__Uint32x4_t hash_abcd, unsigned int hash_e, __Uint32x4_t wk); -__Uint32x4_t __builtin_aarch64_crypto_sha1su0v4si_uuuu (__Uint32x4_t w0_3, __Uint32x4_t w4_7, __Uint32x4_t w8_11); -__Uint32x4_t __builtin_aarch64_crypto_sha1su1v4si_uuu (__Uint32x4_t tw0_3, __Uint32x4_t w12_15); -__Uint32x4_t __builtin_aarch64_crypto_sha256hv4si_uuuu (__Uint32x4_t hash_abcd, __Uint32x4_t hash_efgh, __Uint32x4_t wk); -__Uint32x4_t __builtin_aarch64_crypto_sha256h2v4si_uuuu (__Uint32x4_t hash_efgh, __Uint32x4_t hash_abcd, __Uint32x4_t wk); -__Uint32x4_t __builtin_aarch64_crypto_sha256su0v4si_uuu (__Uint32x4_t w0_3, __Uint32x4_t w4_7); -__Uint32x4_t __builtin_aarch64_crypto_sha256su1v4si_uuuu (__Uint32x4_t tw0_3, __Uint32x4_t w8_11, __Uint32x4_t w12_15); -__Poly128_t __builtin_aarch64_crypto_pmullv2di_ppp (__Poly64x2_t a, __Poly64x2_t b); -__Int8x8_t __builtin_aarch64_sshlv8qi (__Int8x8_t __a, __Int8x8_t __b); -__Int16x4_t __builtin_aarch64_sshlv4hi (__Int16x4_t __a, __Int16x4_t __b); -__Int32x2_t __builtin_aarch64_sshlv2si (__Int32x2_t __a, __Int32x2_t __b); -__Uint8x8_t __builtin_aarch64_ushlv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); -__Uint16x4_t __builtin_aarch64_ushlv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); -__Uint32x2_t __builtin_aarch64_ushlv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); -__Int8x16_t __builtin_aarch64_sshlv16qi (__Int8x16_t __a, __Int8x16_t __b); -__Int16x8_t __builtin_aarch64_sshlv8hi (__Int16x8_t __a, __Int16x8_t __b); -__Int32x4_t __builtin_aarch64_sshlv4si (__Int32x4_t __a, __Int32x4_t __b); -__Int64x2_t __builtin_aarch64_sshlv2di (__Int64x2_t __a, __Int64x2_t __b); -__Uint8x16_t __builtin_aarch64_ushlv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); -__Uint16x8_t __builtin_aarch64_ushlv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); -__Uint32x4_t __builtin_aarch64_ushlv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); -__Uint64x2_t __builtin_aarch64_ushlv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); -__Int16x8_t __builtin_aarch64_sshll2_nv16qi (__Int8x16_t __a, const int __b); -__Int32x4_t __builtin_aarch64_sshll2_nv8hi (__Int16x8_t __a, const int __b); -__Int64x2_t __builtin_aarch64_sshll2_nv4si (__Int32x4_t __a, const int __b); -__Int16x8_t __builtin_aarch64_sshll_nv8qi (__Int8x8_t __a, const int __b); -__Int32x4_t __builtin_aarch64_sshll_nv4hi (__Int16x4_t __a, const int __b); -__Int64x2_t __builtin_aarch64_sshll_nv2si (__Int32x2_t __a, const int __b); -__Uint16x8_t __builtin_aarch64_ushll_nv8qi_uus (__Uint8x8_t __a, const int __b); -__Uint32x4_t __builtin_aarch64_ushll_nv4hi_uus (__Uint16x4_t __a, const int __b); -__Uint64x2_t __builtin_aarch64_ushll_nv2si_uus (__Uint32x2_t __a, const int __b); -__Int32x4_t __builtin_aarch64_lshrv4si (__Int32x4_t __a, const int __b); -__Int64x2_t __builtin_aarch64_lshrv2di (__Int64x2_t __a, const int __b); -__Uint8x8_t __builtin_aarch64_usli_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); -__Uint16x4_t __builtin_aarch64_usli_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); -__Uint32x2_t __builtin_aarch64_usli_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); -__Uint8x16_t __builtin_aarch64_usli_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); -__Uint16x8_t __builtin_aarch64_usli_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); -__Uint32x4_t __builtin_aarch64_usli_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); -__Uint64x2_t __builtin_aarch64_usli_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); -__Uint8x8_t __builtin_aarch64_usqaddv8qi_uus (__Uint8x8_t __a, __Int8x8_t __b); -__Uint16x4_t __builtin_aarch64_usqaddv4hi_uus (__Uint16x4_t __a, __Int16x4_t __b); -__Uint32x2_t __builtin_aarch64_usqaddv2si_uus (__Uint32x2_t __a, __Int32x2_t __b); -__Uint8x16_t __builtin_aarch64_usqaddv16qi_uus (__Uint8x16_t __a, __Int8x16_t __b); -__Uint16x8_t __builtin_aarch64_usqaddv8hi_uus (__Uint16x8_t __a, __Int16x8_t __b); -__Uint32x4_t __builtin_aarch64_usqaddv4si_uus (__Uint32x4_t __a, __Int32x4_t __b); -__Uint64x2_t __builtin_aarch64_usqaddv2di_uus (__Uint64x2_t __a, __Int64x2_t __b); -__Float32x2_t __builtin_aarch64_sqrtv2sf (__Float32x2_t a); -__Float32x4_t __builtin_aarch64_sqrtv4sf (__Float32x4_t a); -__Float64x2_t __builtin_aarch64_sqrtv2df (__Float64x2_t a); -__Uint8x8_t __builtin_aarch64_usra_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); -__Uint16x4_t __builtin_aarch64_usra_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); -__Uint32x2_t __builtin_aarch64_usra_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); -__Uint8x16_t __builtin_aarch64_usra_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); -__Uint16x8_t __builtin_aarch64_usra_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); -__Uint32x4_t __builtin_aarch64_usra_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); -__Uint64x2_t __builtin_aarch64_usra_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); -__Uint8x8_t __builtin_aarch64_usri_nv8qi_uuus (__Uint8x8_t __a, __Uint8x8_t __b, const int __c); -__Uint16x4_t __builtin_aarch64_usri_nv4hi_uuus (__Uint16x4_t __a, __Uint16x4_t __b, const int __c); -__Uint32x2_t __builtin_aarch64_usri_nv2si_uuus (__Uint32x2_t __a, __Uint32x2_t __b, const int __c); -__Uint8x16_t __builtin_aarch64_usri_nv16qi_uuus (__Uint8x16_t __a, __Uint8x16_t __b, const int __c); -__Uint16x8_t __builtin_aarch64_usri_nv8hi_uuus (__Uint16x8_t __a, __Uint16x8_t __b, const int __c); -__Uint32x4_t __builtin_aarch64_usri_nv4si_uuus (__Uint32x4_t __a, __Uint32x4_t __b, const int __c); -__Uint64x2_t __builtin_aarch64_usri_nv2di_uuus (__Uint64x2_t __a, __Uint64x2_t __b, const int __c); -__Int8x8_t __builtin_aarch64_suqaddv8qi_ssu (__Int8x8_t __a, __Uint8x8_t __b); -__Int16x4_t __builtin_aarch64_suqaddv4hi_ssu (__Int16x4_t __a, __Uint16x4_t __b); -__Int32x2_t __builtin_aarch64_suqaddv2si_ssu (__Int32x2_t __a, __Uint32x2_t __b); -__Int8x16_t __builtin_aarch64_suqaddv16qi_ssu (__Int8x16_t __a, __Uint8x16_t __b); -__Int16x8_t __builtin_aarch64_suqaddv8hi_ssu (__Int16x8_t __a, __Uint16x8_t __b); -__Int32x4_t __builtin_aarch64_suqaddv4si_ssu (__Int32x4_t __a, __Uint32x4_t __b); -__Int64x2_t __builtin_aarch64_suqaddv2di_ssu (__Int64x2_t __a, __Uint64x2_t __b); -__Poly128_t __builtin_aarch64_crypto_pmulldi_ppp (__Poly64_t a, __Poly64_t b); -__Int8x8_t __builtin_aarch64_tbx4v8qi (__Int8x8_t, __builtin_aarch64_simd_oi, __Int8x8_t); -//end CMPCPP-6477 -void __builtin_aarch64_st2_lanev4hf(__fp16*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev2sf(float*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanedf(double*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev8qi(signed char*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev4hi(short int*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanedi(long int*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev2si(int*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st3_lanev4hf(__fp16*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev2sf(float*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanedf(double*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev8qi(signed char*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev4hi(short int*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanedi(long int*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev2si(int*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st4_lanev4hf(__fp16*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev2sf(float*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanedf(double*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev8qi(signed char*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev4hi(short int*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanedi(long int*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev2si(int*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4hf(const __fp16*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2sf(const float*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanedf(const double*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8qi(const signed char*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4hi(const short int*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanedi(const long int*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2si(const int*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4hf(const __fp16*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2sf(const float*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanedf(const double*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8qi(const signed char*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4hi(const short int*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanedi(const long int*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2si(const int*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4hf(const __fp16*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2sf(const float*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanedf(const double*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8qi(const signed char*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4hi(const short int*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanedi(const long int*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2si(const int*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev16qi(const signed char*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2df(const double*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev2di(const long int*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4sf(const float*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4si(const int*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8hf(const __fp16*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8hi(const short int*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev16qi(const signed char*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2df(const double*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev2di(const long int*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4sf(const float*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4si(const int*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8hf(const __fp16*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8hi(const short int*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev16qi(const signed char*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2df(const double*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2di(const long int*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4sf(const float*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4si(const int*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8hf(const __fp16*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8hi(const short int*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st2_lanev16qi(signed char*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev2df(double*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev2di(long int*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev4sf(float*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev4si(int*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev8hf(__fp16*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev8hi(short int*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st3_lanev16qi(signed char*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev2df(double*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev2di(long int*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev4sf(float*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev4si(int*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev8hf(__fp16*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev8hi(short int*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st4_lanev16qi(signed char*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev2df(double*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev2di(long int*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev4sf(float*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev4si(int*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev8hf(__fp16*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev8hi(short int*, __builtin_aarch64_simd_xi, int); -__fp16 __builtin_aarch64_abshf(__fp16); -__Float16x4_t __builtin_aarch64_absv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_absv8hf(__Float16x8_t); -long int __builtin_aarch64_addpdi(__Int64x2_t); -long int __builtin_aarch64_ashldi(long int, signed char); -long int __builtin_aarch64_ashr_simddi(long int, int); -__Int8x16_t __builtin_aarch64_bcaxqv16qi(__Int8x16_t, __Int8x16_t, __Int8x16_t); -__Uint8x16_t __builtin_aarch64_bcaxqv16qi_uuuu(__Uint8x16_t, __Uint8x16_t, __Uint8x16_t); -__Int64x2_t __builtin_aarch64_bcaxqv2di(__Int64x2_t, __Int64x2_t, __Int64x2_t); -__Uint64x2_t __builtin_aarch64_bcaxqv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); -__Int32x4_t __builtin_aarch64_bcaxqv4si(__Int32x4_t, __Int32x4_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_bcaxqv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); -__Int16x8_t __builtin_aarch64_bcaxqv8hi(__Int16x8_t, __Int16x8_t, __Int16x8_t); -__Uint16x8_t __builtin_aarch64_bcaxqv8hi_uuuu(__Uint16x8_t, __Uint16x8_t, __Uint16x8_t); -__fp16 __builtin_aarch64_btrunchf(__fp16); -__Float16x4_t __builtin_aarch64_btruncv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_btruncv8hf(__Float16x8_t); -__fp16 __builtin_aarch64_ceilhf(__fp16); -__Float16x4_t __builtin_aarch64_ceilv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_ceilv8hf(__Float16x8_t); -short unsigned int __builtin_aarch64_cmeqhf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_cmeqv4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_cmeqv8hf_uss(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_cmgehf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_cmgev4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_cmgev8hf_uss(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_cmgthf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_cmgtv4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_cmgtv8hf_uss(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_cmlehf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_cmlev4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_cmlev8hf_uss(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_cmlthf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_cmltv4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_cmltv8hf_uss(__Float16x8_t, __Float16x8_t); -__Poly64x2_t __builtin_aarch64_combinedi_ppp(__Poly64_t, __Poly64_t); -unsigned int __builtin_aarch64_crc32b(unsigned int, unsigned char); -unsigned int __builtin_aarch64_crc32cb(unsigned int, unsigned char); -unsigned int __builtin_aarch64_crc32ch(unsigned int, short unsigned int); -unsigned int __builtin_aarch64_crc32cw(unsigned int, unsigned int); -unsigned int __builtin_aarch64_crc32cx(unsigned int, long unsigned int); -unsigned int __builtin_aarch64_crc32h(unsigned int, short unsigned int); -unsigned int __builtin_aarch64_crc32w(unsigned int, unsigned int); -unsigned int __builtin_aarch64_crc32x(unsigned int, long unsigned int); -unsigned int __builtin_aarch64_crypto_sha1hsi_uu(unsigned int); -__Uint64x2_t __builtin_aarch64_crypto_sha512h2qv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); -__Uint64x2_t __builtin_aarch64_crypto_sha512hqv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); -__Uint64x2_t __builtin_aarch64_crypto_sha512su0qv2di_uuu(__Uint64x2_t, __Uint64x2_t); -__Uint64x2_t __builtin_aarch64_crypto_sha512su1qv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); -__Int8x16_t __builtin_aarch64_eor3qv16qi(__Int8x16_t, __Int8x16_t, __Int8x16_t); -__Uint8x16_t __builtin_aarch64_eor3qv16qi_uuuu(__Uint8x16_t, __Uint8x16_t, __Uint8x16_t); -__Int64x2_t __builtin_aarch64_eor3qv2di(__Int64x2_t, __Int64x2_t, __Int64x2_t); -__Uint64x2_t __builtin_aarch64_eor3qv2di_uuuu(__Uint64x2_t, __Uint64x2_t, __Uint64x2_t); -__Int32x4_t __builtin_aarch64_eor3qv4si(__Int32x4_t, __Int32x4_t, __Int32x4_t); -__Uint32x4_t __builtin_aarch64_eor3qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); -__Int16x8_t __builtin_aarch64_eor3qv8hi(__Int16x8_t, __Int16x8_t, __Int16x8_t); -__Uint16x8_t __builtin_aarch64_eor3qv8hi_uuuu(__Uint16x8_t, __Uint16x8_t, __Uint16x8_t); -double __builtin_aarch64_fabddf(double, double); -__fp16 __builtin_aarch64_fabdhf(__fp16, __fp16); -float __builtin_aarch64_fabdsf(float, float); -__Float64x2_t __builtin_aarch64_fabdv2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fabdv2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fabdv4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fabdv4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fabdv8hf(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_facgehf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_facgev4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_facgev8hf_uss(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_facgthf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_facgtv4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_facgtv8hf_uss(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_faclehf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_faclev4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_faclev8hf_uss(__Float16x8_t, __Float16x8_t); -short unsigned int __builtin_aarch64_faclthf_uss(__fp16, __fp16); -__Uint16x4_t __builtin_aarch64_facltv4hf_uss(__Float16x4_t, __Float16x4_t); -__Uint16x8_t __builtin_aarch64_facltv8hf_uss(__Float16x8_t, __Float16x8_t); -__Float64x2_t __builtin_aarch64_faddpv2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_faddpv2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_faddpv4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_faddpv4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_faddpv8hf(__Float16x8_t, __Float16x8_t); -__Float64x2_t __builtin_aarch64_fcadd270v2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fcadd270v2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fcadd270v4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fcadd270v4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fcadd270v8hf(__Float16x8_t, __Float16x8_t); -__Float64x2_t __builtin_aarch64_fcadd90v2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fcadd90v2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fcadd90v4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fcadd90v4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fcadd90v8hf(__Float16x8_t, __Float16x8_t); -__Float64x2_t __builtin_aarch64_fcmla0v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fcmla0v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fcmla0v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fcmla0v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fcmla0v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); -__Float64x2_t __builtin_aarch64_fcmla180v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fcmla180v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fcmla180v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fcmla180v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fcmla180v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); -__Float64x2_t __builtin_aarch64_fcmla270v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fcmla270v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fcmla270v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fcmla270v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fcmla270v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); -__Float64x2_t __builtin_aarch64_fcmla90v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fcmla90v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fcmla90v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fcmla90v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fcmla90v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); -__Float32x2_t __builtin_aarch64_fcmla_lane0v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); -__Float16x4_t __builtin_aarch64_fcmla_lane0v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fcmla_lane0v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); -__Float16x8_t __builtin_aarch64_fcmla_lane0v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fcmla_lane180v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); -__Float16x4_t __builtin_aarch64_fcmla_lane180v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fcmla_lane180v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); -__Float16x8_t __builtin_aarch64_fcmla_lane180v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fcmla_lane270v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); -__Float16x4_t __builtin_aarch64_fcmla_lane270v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fcmla_lane270v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); -__Float16x8_t __builtin_aarch64_fcmla_lane270v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fcmla_lane90v2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t, int); -__Float16x4_t __builtin_aarch64_fcmla_lane90v4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fcmla_lane90v4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t, int); -__Float16x8_t __builtin_aarch64_fcmla_lane90v8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fcmla_laneq0v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); -__Float16x4_t __builtin_aarch64_fcmla_laneq0v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); -__Float32x2_t __builtin_aarch64_fcmla_laneq180v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); -__Float16x4_t __builtin_aarch64_fcmla_laneq180v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); -__Float32x2_t __builtin_aarch64_fcmla_laneq270v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); -__Float16x4_t __builtin_aarch64_fcmla_laneq270v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); -__Float32x2_t __builtin_aarch64_fcmla_laneq90v2sf(__Float32x2_t, __Float32x2_t, __Float32x4_t, unsigned int); -__Float16x4_t __builtin_aarch64_fcmla_laneq90v4hf(__Float16x4_t, __Float16x4_t, __Float16x8_t, unsigned int); -__Float32x4_t __builtin_aarch64_fcmlaq_lane0v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); -__Float16x8_t __builtin_aarch64_fcmlaq_lane0v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fcmlaq_lane180v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); -__Float16x8_t __builtin_aarch64_fcmlaq_lane180v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fcmlaq_lane270v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); -__Float16x8_t __builtin_aarch64_fcmlaq_lane270v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fcmlaq_lane90v4sf(__Float32x4_t, __Float32x4_t, __Float32x2_t, int); -__Float16x8_t __builtin_aarch64_fcmlaq_lane90v8hf(__Float16x8_t, __Float16x8_t, __Float16x4_t, int); -long int __builtin_aarch64_fcvtzsdf(double, int); -short int __builtin_aarch64_fcvtzshf(__fp16, int); -long int __builtin_aarch64_fcvtzshfdi(__fp16, int); -int __builtin_aarch64_fcvtzshfsi(__fp16, int); -int __builtin_aarch64_fcvtzssf(float, int); -__Int64x2_t __builtin_aarch64_fcvtzsv2df(__Float64x2_t, int); -__Int32x2_t __builtin_aarch64_fcvtzsv2sf(__Float32x2_t, int); -__Int16x4_t __builtin_aarch64_fcvtzsv4hf(__Float16x4_t, int); -__Int32x4_t __builtin_aarch64_fcvtzsv4sf(__Float32x4_t, int); -__Int16x8_t __builtin_aarch64_fcvtzsv8hf(__Float16x8_t, int); -long unsigned int __builtin_aarch64_fcvtzudf_uss(double, int); -long unsigned int __builtin_aarch64_fcvtzuhfdi_uss(__fp16, int); -unsigned int __builtin_aarch64_fcvtzuhfsi_uss(__fp16, int); -short unsigned int __builtin_aarch64_fcvtzuhf_uss(__fp16, int); -unsigned int __builtin_aarch64_fcvtzusf_uss(float, int); -__Uint64x2_t __builtin_aarch64_fcvtzuv2df_uss(__Float64x2_t, int); -__Uint32x2_t __builtin_aarch64_fcvtzuv2sf_uss(__Float32x2_t, int); -__Uint16x4_t __builtin_aarch64_fcvtzuv4hf_uss(__Float16x4_t, int); -__Uint32x4_t __builtin_aarch64_fcvtzuv4sf_uss(__Float32x4_t, int); -__Uint16x8_t __builtin_aarch64_fcvtzuv8hf_uss(__Float16x8_t, int); -long int __builtin_aarch64_fix_trunchfdi(__fp16); -short int __builtin_aarch64_fix_trunchfhi(__fp16); -int __builtin_aarch64_fix_trunchfsi(__fp16); -long unsigned int __builtin_aarch64_fixuns_trunchfdi_us(__fp16); -short unsigned int __builtin_aarch64_fixuns_trunchfhi_us(__fp16); -unsigned int __builtin_aarch64_fixuns_trunchfsi_us(__fp16); -__fp16 __builtin_aarch64_floatdihf(long int); -__fp16 __builtin_aarch64_floathihf(short int); -__fp16 __builtin_aarch64_floatsihf(int); -__fp16 __builtin_aarch64_floatunsdihf_us(long int); -__fp16 __builtin_aarch64_floatunshihf_us(short int); -__fp16 __builtin_aarch64_floatunssihf_us(int); -__Float16x4_t __builtin_aarch64_floatunsv4hiv4hf(__Int16x4_t); -__Float16x8_t __builtin_aarch64_floatunsv8hiv8hf(__Int16x8_t); -__Float16x4_t __builtin_aarch64_floatv4hiv4hf(__Int16x4_t); -__Float16x8_t __builtin_aarch64_floatv8hiv8hf(__Int16x8_t); -__fp16 __builtin_aarch64_floorhf(__fp16); -__Float16x4_t __builtin_aarch64_floorv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_floorv8hf(__Float16x8_t); -__fp16 __builtin_aarch64_fmahf(__fp16, __fp16, __fp16); -__Float16x4_t __builtin_aarch64_fmav4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_fmav8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); -double __builtin_aarch64_fmaxdf(double, double); -__fp16 __builtin_aarch64_fmaxhf(__fp16, __fp16); -__Float64x2_t __builtin_aarch64_fmaxv2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fmaxv2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fmaxv4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fmaxv4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fmaxv8hf(__Float16x8_t, __Float16x8_t); -double __builtin_aarch64_fmindf(double, double); -__fp16 __builtin_aarch64_fminhf(__fp16, __fp16); -__Float64x2_t __builtin_aarch64_fminv2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fminv2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fminv4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fminv4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fminv8hf(__Float16x8_t, __Float16x8_t); -__Float32x2_t __builtin_aarch64_fmlal_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); -__Float32x2_t __builtin_aarch64_fmlal_lane_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); -__Float32x2_t __builtin_aarch64_fmlal_lane_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); -__Float32x2_t __builtin_aarch64_fmlal_laneq_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fmlal_laneq_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fmlal_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fmlalq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); -__Float32x4_t __builtin_aarch64_fmlalq_lane_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fmlalq_lane_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fmlalq_laneq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); -__Float32x4_t __builtin_aarch64_fmlalq_laneq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); -__Float32x4_t __builtin_aarch64_fmlalq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); -__Float32x2_t __builtin_aarch64_fmlsl_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); -__Float32x2_t __builtin_aarch64_fmlsl_lane_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); -__Float32x2_t __builtin_aarch64_fmlsl_lane_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t, int); -__Float32x2_t __builtin_aarch64_fmlsl_laneq_highv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fmlsl_laneq_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x8_t, int); -__Float32x2_t __builtin_aarch64_fmlsl_lowv2sf(__Float32x2_t, __Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fmlslq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); -__Float32x4_t __builtin_aarch64_fmlslq_lane_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fmlslq_lane_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x4_t, int); -__Float32x4_t __builtin_aarch64_fmlslq_laneq_highv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); -__Float32x4_t __builtin_aarch64_fmlslq_laneq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t, int); -__Float32x4_t __builtin_aarch64_fmlslq_lowv4sf(__Float32x4_t, __Float16x8_t, __Float16x8_t); -double __builtin_aarch64_fmulxdf(double, double); -__fp16 __builtin_aarch64_fmulxhf(__fp16, __fp16); -float __builtin_aarch64_fmulxsf(float, float); -__Float64x2_t __builtin_aarch64_fmulxv2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fmulxv2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_fmulxv4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_fmulxv4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_fmulxv8hf(__Float16x8_t, __Float16x8_t); -__fp16 __builtin_aarch64_fnmahf(__fp16, __fp16, __fp16); -__Float16x4_t __builtin_aarch64_fnmav4hf(__Float16x4_t, __Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_fnmav8hf(__Float16x8_t, __Float16x8_t, __Float16x8_t); -double __builtin_aarch64_frecpedf(double); -__fp16 __builtin_aarch64_frecpehf(__fp16); -float __builtin_aarch64_frecpesf(float); -__Float16x4_t __builtin_aarch64_frecpev4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_frecpev8hf(__Float16x8_t); -double __builtin_aarch64_frecpsdf(double, double); -__fp16 __builtin_aarch64_frecpshf(__fp16, __fp16); -float __builtin_aarch64_frecpssf(float, float); -__Float16x4_t __builtin_aarch64_frecpsv4hf(__Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_frecpsv8hf(__Float16x8_t, __Float16x8_t); -double __builtin_aarch64_frecpxdf(double); -__fp16 __builtin_aarch64_frecpxhf(__fp16); -float __builtin_aarch64_frecpxsf(float); -double __builtin_aarch64_frintndf(double); -__fp16 __builtin_aarch64_frintnhf(__fp16); -__Float16x4_t __builtin_aarch64_frintnv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_frintnv8hf(__Float16x8_t); -__Poly64_t __builtin_aarch64_get_dregcidi_pss(__builtin_aarch64_simd_ci, int); -__Poly64_t __builtin_aarch64_get_dregoidi_pss(__builtin_aarch64_simd_oi, int); -__Poly64_t __builtin_aarch64_get_dregxidi_pss(__builtin_aarch64_simd_xi, int); -__Poly64x2_t __builtin_aarch64_get_qregciv2di_pss(__builtin_aarch64_simd_ci, int); -__Poly64x2_t __builtin_aarch64_get_qregoiv2di_pss(__builtin_aarch64_simd_oi, int); -__Poly64x2_t __builtin_aarch64_get_qregxiv2di_pss(__builtin_aarch64_simd_xi, int); -__Uint16x4_t __builtin_aarch64_lbtruncuv4hfv4hi_us(__Float16x4_t); -__Uint16x8_t __builtin_aarch64_lbtruncuv8hfv8hi_us(__Float16x8_t); -__Int16x4_t __builtin_aarch64_lbtruncv4hfv4hi(__Float16x4_t); -__Int16x8_t __builtin_aarch64_lbtruncv8hfv8hi(__Float16x8_t); -long int __builtin_aarch64_lceilhfdi(__fp16); -short int __builtin_aarch64_lceilhfhi(__fp16); -int __builtin_aarch64_lceilhfsi(__fp16); -long unsigned int __builtin_aarch64_lceiludfdi_us(double); -long unsigned int __builtin_aarch64_lceiluhfdi_us(__fp16); -short unsigned int __builtin_aarch64_lceiluhfhi_us(__fp16); -unsigned int __builtin_aarch64_lceiluhfsi_us(__fp16); -unsigned int __builtin_aarch64_lceilusfsi_us(float); -__Uint16x4_t __builtin_aarch64_lceiluv4hfv4hi_us(__Float16x4_t); -__Uint16x8_t __builtin_aarch64_lceiluv8hfv8hi_us(__Float16x8_t); -__Int16x4_t __builtin_aarch64_lceilv4hfv4hi(__Float16x4_t); -__Int16x8_t __builtin_aarch64_lceilv8hfv8hi(__Float16x8_t); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2df(const double*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2di(const long int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v16qi(const signed char*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2df(const double*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2di(const long int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2sf(const float*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v2si(const int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4hf(const __fp16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4hi(const short int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4sf(const float*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4si(const int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8hf(const __fp16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8hi(const short int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8qi(const signed char*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3df(const double*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3di(const long int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v16qi(const signed char*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2df(const double*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2di(const long int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2sf(const float*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v2si(const int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4hf(const __fp16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4hi(const short int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4sf(const float*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4si(const int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8hf(const __fp16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8hi(const short int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8qi(const signed char*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2df(const double*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2di(const long int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rdf(const double*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rdi(const long int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv16qi(const signed char*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2df(const double*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2di(const long int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2sf(const float*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv2si(const int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4hf(const __fp16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4hi(const short int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4sf(const float*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4si(const int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8hf(const __fp16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8hi(const short int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8qi(const signed char*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v16qi(const signed char*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2df(const double*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2di(const long int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2sf(const float*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v2si(const int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4hf(const __fp16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4hi(const short int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4sf(const float*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4si(const int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8hf(const __fp16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8hi(const short int*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8qi(const signed char*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3df(const double*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rdf(const double*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rdi(const long int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv16qi(const signed char*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2df(const double*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2di(const long int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2sf(const float*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv2si(const int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4hf(const __fp16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4hi(const short int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4sf(const float*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4si(const int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8hf(const __fp16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8hi(const short int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8qi(const signed char*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v16qi(const signed char*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2df(const double*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2di(const long int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2sf(const float*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v2si(const int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4hf(const __fp16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4hi(const short int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4sf(const float*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4si(const int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8hf(const __fp16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8hi(const short int*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8qi(const signed char*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4df(const double*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4di(const long int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rdf(const double*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rdi(const long int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv16qi(const signed char*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2df(const double*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2di(const long int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2sf(const float*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv2si(const int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4hf(const __fp16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4hi(const short int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4sf(const float*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4si(const int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8hf(const __fp16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8hi(const short int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8qi(const signed char*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v16qi(const signed char*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2df(const double*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2di(const long int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2sf(const float*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v2si(const int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4hf(const __fp16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4hi(const short int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4sf(const float*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4si(const int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8hf(const __fp16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8hi(const short int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8qi(const signed char*); -long int __builtin_aarch64_lfloorhfdi(__fp16); -short int __builtin_aarch64_lfloorhfhi(__fp16); -int __builtin_aarch64_lfloorhfsi(__fp16); -long unsigned int __builtin_aarch64_lfloorudfdi_us(double); -long unsigned int __builtin_aarch64_lflooruhfdi_us(__fp16); -short unsigned int __builtin_aarch64_lflooruhfhi_us(__fp16); -unsigned int __builtin_aarch64_lflooruhfsi_us(__fp16); -unsigned int __builtin_aarch64_lfloorusfsi_us(float); -__Uint16x4_t __builtin_aarch64_lflooruv4hfv4hi_us(__Float16x4_t); -__Uint16x8_t __builtin_aarch64_lflooruv8hfv8hi_us(__Float16x8_t); -__Int16x4_t __builtin_aarch64_lfloorv4hfv4hi(__Float16x4_t); -__Int16x8_t __builtin_aarch64_lfloorv8hfv8hi(__Float16x8_t); -long int __builtin_aarch64_lfrintndfdi(double); -long int __builtin_aarch64_lfrintnhfdi(__fp16); -short int __builtin_aarch64_lfrintnhfhi(__fp16); -int __builtin_aarch64_lfrintnhfsi(__fp16); -int __builtin_aarch64_lfrintnsfsi(float); -long unsigned int __builtin_aarch64_lfrintnudfdi_us(double); -long unsigned int __builtin_aarch64_lfrintnuhfdi_us(__fp16); -short unsigned int __builtin_aarch64_lfrintnuhfhi_us(__fp16); -unsigned int __builtin_aarch64_lfrintnuhfsi_us(__fp16); -unsigned int __builtin_aarch64_lfrintnusfsi_us(float); -__Uint16x4_t __builtin_aarch64_lfrintnuv4hfv4hi_us(__Float16x4_t); -__Uint16x8_t __builtin_aarch64_lfrintnuv8hfv8hi_us(__Float16x8_t); -__Int16x4_t __builtin_aarch64_lfrintnv4hfv4hi(__Float16x4_t); -__Int16x8_t __builtin_aarch64_lfrintnv8hfv8hi(__Float16x8_t); -long int __builtin_aarch64_lrounddfdi(double); -long int __builtin_aarch64_lroundhfdi(__fp16); -short int __builtin_aarch64_lroundhfhi(__fp16); -int __builtin_aarch64_lroundhfsi(__fp16); -int __builtin_aarch64_lroundsfsi(float); -long unsigned int __builtin_aarch64_lroundudfdi_us(double); -long unsigned int __builtin_aarch64_lrounduhfdi_us(__fp16); -short unsigned int __builtin_aarch64_lrounduhfhi_us(__fp16); -unsigned int __builtin_aarch64_lrounduhfsi_us(__fp16); -unsigned int __builtin_aarch64_lroundusfsi_us(float); -__Uint16x4_t __builtin_aarch64_lrounduv4hfv4hi_us(__Float16x4_t); -__Uint16x8_t __builtin_aarch64_lrounduv8hfv8hi_us(__Float16x8_t); -__Int16x4_t __builtin_aarch64_lroundv4hfv4hi(__Float16x4_t); -__Int16x8_t __builtin_aarch64_lroundv8hfv8hi(__Float16x8_t); -long unsigned int __builtin_aarch64_lshr_simddi_uus(long unsigned int, int); -__fp16 __builtin_aarch64_nearbyinthf(__fp16); -__Float16x4_t __builtin_aarch64_nearbyintv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_nearbyintv8hf(__Float16x8_t); -__fp16 __builtin_aarch64_neghf(__fp16); -__Int8x16_t __builtin_aarch64_qtbl3v16qi(__builtin_aarch64_simd_ci, __Int8x16_t); -__Int8x8_t __builtin_aarch64_qtbl3v8qi(__builtin_aarch64_simd_ci, __Int8x8_t); -__Int8x16_t __builtin_aarch64_qtbl4v16qi(__builtin_aarch64_simd_xi, __Int8x16_t); -__Int8x8_t __builtin_aarch64_qtbl4v8qi(__builtin_aarch64_simd_xi, __Int8x8_t); -__Int8x16_t __builtin_aarch64_qtbx3v16qi(__Int8x16_t, __builtin_aarch64_simd_ci, __Int8x16_t); -__Int8x8_t __builtin_aarch64_qtbx3v8qi(__Int8x8_t, __builtin_aarch64_simd_ci, __Int8x8_t); -__Int8x16_t __builtin_aarch64_qtbx4v16qi(__Int8x16_t, __builtin_aarch64_simd_xi, __Int8x16_t); -__Int8x8_t __builtin_aarch64_qtbx4v8qi(__Int8x8_t, __builtin_aarch64_simd_xi, __Int8x8_t); -__Uint64x2_t __builtin_aarch64_rax1qv2di_uuu(__Uint64x2_t, __Uint64x2_t); -signed char __builtin_aarch64_reduc_plus_scal_v16qi(__Int8x16_t); -double __builtin_aarch64_reduc_plus_scal_v2df(__Float64x2_t); -long int __builtin_aarch64_reduc_plus_scal_v2di(__Int64x2_t); -float __builtin_aarch64_reduc_plus_scal_v2sf(__Float32x2_t); -int __builtin_aarch64_reduc_plus_scal_v2si(__Int32x2_t); -short int __builtin_aarch64_reduc_plus_scal_v4hi(__Int16x4_t); -float __builtin_aarch64_reduc_plus_scal_v4sf(__Float32x4_t); -int __builtin_aarch64_reduc_plus_scal_v4si(__Int32x4_t); -short int __builtin_aarch64_reduc_plus_scal_v8hi(__Int16x8_t); -signed char __builtin_aarch64_reduc_plus_scal_v8qi(__Int8x8_t); -double __builtin_aarch64_reduc_smax_nan_scal_v2df(__Float64x2_t); -float __builtin_aarch64_reduc_smax_nan_scal_v2sf(__Float32x2_t); -__fp16 __builtin_aarch64_reduc_smax_nan_scal_v4hf(__Float16x4_t); -float __builtin_aarch64_reduc_smax_nan_scal_v4sf(__Float32x4_t); -__fp16 __builtin_aarch64_reduc_smax_nan_scal_v8hf(__Float16x8_t); -signed char __builtin_aarch64_reduc_smax_scal_v16qi(__Int8x16_t); -double __builtin_aarch64_reduc_smax_scal_v2df(__Float64x2_t); -float __builtin_aarch64_reduc_smax_scal_v2sf(__Float32x2_t); -int __builtin_aarch64_reduc_smax_scal_v2si(__Int32x2_t); -__fp16 __builtin_aarch64_reduc_smax_scal_v4hf(__Float16x4_t); -short int __builtin_aarch64_reduc_smax_scal_v4hi(__Int16x4_t); -float __builtin_aarch64_reduc_smax_scal_v4sf(__Float32x4_t); -int __builtin_aarch64_reduc_smax_scal_v4si(__Int32x4_t); -__fp16 __builtin_aarch64_reduc_smax_scal_v8hf(__Float16x8_t); -short int __builtin_aarch64_reduc_smax_scal_v8hi(__Int16x8_t); -signed char __builtin_aarch64_reduc_smax_scal_v8qi(__Int8x8_t); -double __builtin_aarch64_reduc_smin_nan_scal_v2df(__Float64x2_t); -float __builtin_aarch64_reduc_smin_nan_scal_v2sf(__Float32x2_t); -__fp16 __builtin_aarch64_reduc_smin_nan_scal_v4hf(__Float16x4_t); -float __builtin_aarch64_reduc_smin_nan_scal_v4sf(__Float32x4_t); -__fp16 __builtin_aarch64_reduc_smin_nan_scal_v8hf(__Float16x8_t); -signed char __builtin_aarch64_reduc_smin_scal_v16qi(__Int8x16_t); -double __builtin_aarch64_reduc_smin_scal_v2df(__Float64x2_t); -float __builtin_aarch64_reduc_smin_scal_v2sf(__Float32x2_t); -int __builtin_aarch64_reduc_smin_scal_v2si(__Int32x2_t); -__fp16 __builtin_aarch64_reduc_smin_scal_v4hf(__Float16x4_t); -short int __builtin_aarch64_reduc_smin_scal_v4hi(__Int16x4_t); -float __builtin_aarch64_reduc_smin_scal_v4sf(__Float32x4_t); -int __builtin_aarch64_reduc_smin_scal_v4si(__Int32x4_t); -__fp16 __builtin_aarch64_reduc_smin_scal_v8hf(__Float16x8_t); -short int __builtin_aarch64_reduc_smin_scal_v8hi(__Int16x8_t); -signed char __builtin_aarch64_reduc_smin_scal_v8qi(__Int8x8_t); -unsigned char __builtin_aarch64_reduc_umax_scal_v16qi_uu(__Uint8x16_t); -unsigned int __builtin_aarch64_reduc_umax_scal_v2si_uu(__Uint32x2_t); -short unsigned int __builtin_aarch64_reduc_umax_scal_v4hi_uu(__Uint16x4_t); -unsigned int __builtin_aarch64_reduc_umax_scal_v4si_uu(__Uint32x4_t); -short unsigned int __builtin_aarch64_reduc_umax_scal_v8hi_uu(__Uint16x8_t); -unsigned char __builtin_aarch64_reduc_umax_scal_v8qi_uu(__Uint8x8_t); -unsigned char __builtin_aarch64_reduc_umin_scal_v16qi_uu(__Uint8x16_t); -unsigned int __builtin_aarch64_reduc_umin_scal_v2si_uu(__Uint32x2_t); -short unsigned int __builtin_aarch64_reduc_umin_scal_v4hi_uu(__Uint16x4_t); -unsigned int __builtin_aarch64_reduc_umin_scal_v4si_uu(__Uint32x4_t); -short unsigned int __builtin_aarch64_reduc_umin_scal_v8hi_uu(__Uint16x8_t); -unsigned char __builtin_aarch64_reduc_umin_scal_v8qi_uu(__Uint8x8_t); -__fp16 __builtin_aarch64_rinthf(__fp16); -__Float16x4_t __builtin_aarch64_rintv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_rintv8hf(__Float16x8_t); -__fp16 __builtin_aarch64_roundhf(__fp16); -__Float16x4_t __builtin_aarch64_roundv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_roundv8hf(__Float16x8_t); -double __builtin_aarch64_rsqrtedf(double); -__fp16 __builtin_aarch64_rsqrtehf(__fp16); -float __builtin_aarch64_rsqrtesf(float); -__Float64x2_t __builtin_aarch64_rsqrtev2df(__Float64x2_t); -__Float32x2_t __builtin_aarch64_rsqrtev2sf(__Float32x2_t); -__Float16x4_t __builtin_aarch64_rsqrtev4hf(__Float16x4_t); -__Float32x4_t __builtin_aarch64_rsqrtev4sf(__Float32x4_t); -__Float16x8_t __builtin_aarch64_rsqrtev8hf(__Float16x8_t); -double __builtin_aarch64_rsqrtsdf(double, double); -__fp16 __builtin_aarch64_rsqrtshf(__fp16, __fp16); -float __builtin_aarch64_rsqrtssf(float, float); -__Float64x2_t __builtin_aarch64_rsqrtsv2df(__Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_rsqrtsv2sf(__Float32x2_t, __Float32x2_t); -__Float16x4_t __builtin_aarch64_rsqrtsv4hf(__Float16x4_t, __Float16x4_t); -__Float32x4_t __builtin_aarch64_rsqrtsv4sf(__Float32x4_t, __Float32x4_t); -__Float16x8_t __builtin_aarch64_rsqrtsv8hf(__Float16x8_t, __Float16x8_t); -double __builtin_aarch64_scvtfdi(long int, int); -__fp16 __builtin_aarch64_scvtfdihf(long int, int); -__fp16 __builtin_aarch64_scvtfhi(short int, int); -float __builtin_aarch64_scvtfsi(int, int); -__fp16 __builtin_aarch64_scvtfsihf(int, int); -__Float64x2_t __builtin_aarch64_scvtfv2di(__Int64x2_t, int); -__Float32x2_t __builtin_aarch64_scvtfv2si(__Int32x2_t, int); -__Float16x4_t __builtin_aarch64_scvtfv4hi(__Int16x4_t, int); -__Float32x4_t __builtin_aarch64_scvtfv4si(__Int32x4_t, int); -__Float16x8_t __builtin_aarch64_scvtfv8hi(__Int16x8_t, int); -__Int32x4_t __builtin_aarch64_sdot_laneqv16qi(__Int32x4_t, __Int8x16_t, __Int8x16_t, int); -__Int32x2_t __builtin_aarch64_sdot_laneqv8qi(__Int32x2_t, __Int8x8_t, __Int8x16_t, int); -__Int32x4_t __builtin_aarch64_sdot_lanev16qi(__Int32x4_t, __Int8x16_t, __Int8x8_t, int); -__Int32x2_t __builtin_aarch64_sdot_lanev8qi(__Int32x2_t, __Int8x8_t, __Int8x8_t, int); -__Int32x4_t __builtin_aarch64_sdotv16qi(__Int32x4_t, __Int8x16_t, __Int8x16_t); -__Int32x2_t __builtin_aarch64_sdotv8qi(__Int32x2_t, __Int8x8_t, __Int8x8_t); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv2di_ssps(__builtin_aarch64_simd_ci, __Poly64x2_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv2di_ssps(__builtin_aarch64_simd_oi, __Poly64x2_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv2di_ssps(__builtin_aarch64_simd_xi, __Poly64x2_t, int); -double __builtin_aarch64_simd_bsldf_suss(long unsigned int, double, double); -__Poly64_t __builtin_aarch64_simd_bsldi_pupp(long unsigned int, __Poly64_t, __Poly64_t); -long int __builtin_aarch64_simd_bsldi_suss(long unsigned int, long int, long int); -long unsigned int __builtin_aarch64_simd_bsldi_uuuu(long unsigned int, long unsigned int, long unsigned int); -__Poly64x2_t __builtin_aarch64_simd_bslv2di_pupp(__Uint64x2_t, __Poly64x2_t, __Poly64x2_t); -__Float16x4_t __builtin_aarch64_simd_bslv4hf_suss(__Uint16x4_t, __Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_simd_bslv8hf_suss(__Uint16x8_t, __Float16x8_t, __Float16x8_t); -__Uint32x4_t __builtin_aarch64_sm3partw1qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); -__Uint32x4_t __builtin_aarch64_sm3partw2qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); -__Uint32x4_t __builtin_aarch64_sm3ss1qv4si_uuuu(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t); -__Uint32x4_t __builtin_aarch64_sm3tt1aqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); -__Uint32x4_t __builtin_aarch64_sm3tt1bqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); -__Uint32x4_t __builtin_aarch64_sm3tt2aqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); -__Uint32x4_t __builtin_aarch64_sm3tt2bqv4si_uuuus(__Uint32x4_t, __Uint32x4_t, __Uint32x4_t, int); -__Uint32x4_t __builtin_aarch64_sm4ekeyqv4si_uuu(__Uint32x4_t, __Uint32x4_t); -__Uint32x4_t __builtin_aarch64_sm4eqv4si_uuu(__Uint32x4_t, __Uint32x4_t); -double __builtin_aarch64_smax_nandf(double, double); -__Float16x4_t __builtin_aarch64_smax_nanpv4hf(__Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_smax_nanpv8hf(__Float16x8_t, __Float16x8_t); -__Float16x4_t __builtin_aarch64_smax_nanv4hf(__Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_smax_nanv8hf(__Float16x8_t, __Float16x8_t); -__Float16x4_t __builtin_aarch64_smaxpv4hf(__Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_smaxpv8hf(__Float16x8_t, __Float16x8_t); -double __builtin_aarch64_smin_nandf(double, double); -__Float16x4_t __builtin_aarch64_smin_nanpv4hf(__Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_smin_nanpv8hf(__Float16x8_t, __Float16x8_t); -__Float16x4_t __builtin_aarch64_smin_nanv4hf(__Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_smin_nanv8hf(__Float16x8_t, __Float16x8_t); -__Float16x4_t __builtin_aarch64_sminpv4hf(__Float16x4_t, __Float16x4_t); -__Float16x8_t __builtin_aarch64_sminpv8hf(__Float16x8_t, __Float16x8_t); -long int __builtin_aarch64_sqabsdi(long int); -short int __builtin_aarch64_sqabshi(short int); -signed char __builtin_aarch64_sqabsqi(signed char); -int __builtin_aarch64_sqabssi(int); -long int __builtin_aarch64_sqadddi(long int, long int); -short int __builtin_aarch64_sqaddhi(short int, short int); -signed char __builtin_aarch64_sqaddqi(signed char, signed char); -int __builtin_aarch64_sqaddsi(int, int); -int __builtin_aarch64_sqdmlalhi(int, short int, short int); -int __builtin_aarch64_sqdmlal_lanehi(int, short int, __Int16x4_t, int); -int __builtin_aarch64_sqdmlal_laneqhi(int, short int, __Int16x8_t, int); -long int __builtin_aarch64_sqdmlal_laneqsi(long int, int, __Int32x4_t, int); -long int __builtin_aarch64_sqdmlal_lanesi(long int, int, __Int32x2_t, int); -long int __builtin_aarch64_sqdmlalsi(long int, int, int); -int __builtin_aarch64_sqdmlslhi(int, short int, short int); -int __builtin_aarch64_sqdmlsl_lanehi(int, short int, __Int16x4_t, int); -int __builtin_aarch64_sqdmlsl_laneqhi(int, short int, __Int16x8_t, int); -long int __builtin_aarch64_sqdmlsl_laneqsi(long int, int, __Int32x4_t, int); -long int __builtin_aarch64_sqdmlsl_lanesi(long int, int, __Int32x2_t, int); -long int __builtin_aarch64_sqdmlslsi(long int, int, int); -short int __builtin_aarch64_sqdmulhhi(short int, short int); -short int __builtin_aarch64_sqdmulh_lanehi(short int, __Int16x4_t, int); -short int __builtin_aarch64_sqdmulh_laneqhi(short int, __Int16x8_t, int); -int __builtin_aarch64_sqdmulh_laneqsi(int, __Int32x4_t, int); -int __builtin_aarch64_sqdmulh_lanesi(int, __Int32x2_t, int); -int __builtin_aarch64_sqdmulhsi(int, int); -int __builtin_aarch64_sqdmullhi(short int, short int); -int __builtin_aarch64_sqdmull_lanehi(short int, __Int16x4_t, int); -int __builtin_aarch64_sqdmull_laneqhi(short int, __Int16x8_t, int); -long int __builtin_aarch64_sqdmull_laneqsi(int, __Int32x4_t, int); -long int __builtin_aarch64_sqdmull_lanesi(int, __Int32x2_t, int); -long int __builtin_aarch64_sqdmullsi(int, int); -int __builtin_aarch64_sqmovndi(long int); -signed char __builtin_aarch64_sqmovnhi(short int); -short int __builtin_aarch64_sqmovnsi(int); -int __builtin_aarch64_sqmovundi(long int); -signed char __builtin_aarch64_sqmovunhi(short int); -short int __builtin_aarch64_sqmovunsi(int); -long int __builtin_aarch64_sqnegdi(long int); -short int __builtin_aarch64_sqneghi(short int); -signed char __builtin_aarch64_sqnegqi(signed char); -int __builtin_aarch64_sqnegsi(int); -short int __builtin_aarch64_sqrdmlahhi(short int, short int, short int); -short int __builtin_aarch64_sqrdmlah_lanehi(short int, short int, __Int16x4_t, int); -short int __builtin_aarch64_sqrdmlah_laneqhi(short int, short int, __Int16x8_t, int); -int __builtin_aarch64_sqrdmlah_laneqsi(int, int, __Int32x4_t, int); -int __builtin_aarch64_sqrdmlah_lanesi(int, int, __Int32x2_t, int); -int __builtin_aarch64_sqrdmlahsi(int, int, int); -short int __builtin_aarch64_sqrdmlshhi(short int, short int, short int); -short int __builtin_aarch64_sqrdmlsh_lanehi(short int, short int, __Int16x4_t, int); -short int __builtin_aarch64_sqrdmlsh_laneqhi(short int, short int, __Int16x8_t, int); -int __builtin_aarch64_sqrdmlsh_laneqsi(int, int, __Int32x4_t, int); -int __builtin_aarch64_sqrdmlsh_lanesi(int, int, __Int32x2_t, int); -int __builtin_aarch64_sqrdmlshsi(int, int, int); -short int __builtin_aarch64_sqrdmulhhi(short int, short int); -short int __builtin_aarch64_sqrdmulh_lanehi(short int, __Int16x4_t, int); -short int __builtin_aarch64_sqrdmulh_laneqhi(short int, __Int16x8_t, int); -int __builtin_aarch64_sqrdmulh_laneqsi(int, __Int32x4_t, int); -int __builtin_aarch64_sqrdmulh_lanesi(int, __Int32x2_t, int); -int __builtin_aarch64_sqrdmulhsi(int, int); -long int __builtin_aarch64_sqrshldi(long int, long int); -short int __builtin_aarch64_sqrshlhi(short int, short int); -signed char __builtin_aarch64_sqrshlqi(signed char, signed char); -int __builtin_aarch64_sqrshlsi(int, int); -int __builtin_aarch64_sqrshrn_ndi(long int, int); -signed char __builtin_aarch64_sqrshrn_nhi(short int, int); -short int __builtin_aarch64_sqrshrn_nsi(int, int); -int __builtin_aarch64_sqrshrun_ndi(long int, int); -signed char __builtin_aarch64_sqrshrun_nhi(short int, int); -short int __builtin_aarch64_sqrshrun_nsi(int, int); -double __builtin_aarch64_sqrtdf(double); -__fp16 __builtin_aarch64_sqrthf(__fp16); -__Float16x4_t __builtin_aarch64_sqrtv4hf(__Float16x4_t); -__Float16x8_t __builtin_aarch64_sqrtv8hf(__Float16x8_t); -long int __builtin_aarch64_sqshldi(long int, long int); -short int __builtin_aarch64_sqshlhi(short int, short int); -long int __builtin_aarch64_sqshl_ndi(long int, int); -short int __builtin_aarch64_sqshl_nhi(short int, int); -signed char __builtin_aarch64_sqshl_nqi(signed char, int); -int __builtin_aarch64_sqshl_nsi(int, int); -signed char __builtin_aarch64_sqshlqi(signed char, signed char); -int __builtin_aarch64_sqshlsi(int, int); -long unsigned int __builtin_aarch64_sqshlu_ndi_uss(long int, int); -short unsigned int __builtin_aarch64_sqshlu_nhi_uss(short int, int); -unsigned char __builtin_aarch64_sqshlu_nqi_uss(signed char, int); -unsigned int __builtin_aarch64_sqshlu_nsi_uss(int, int); -int __builtin_aarch64_sqshrn_ndi(long int, int); -signed char __builtin_aarch64_sqshrn_nhi(short int, int); -short int __builtin_aarch64_sqshrn_nsi(int, int); -int __builtin_aarch64_sqshrun_ndi(long int, int); -signed char __builtin_aarch64_sqshrun_nhi(short int, int); -short int __builtin_aarch64_sqshrun_nsi(int, int); -long int __builtin_aarch64_sqsubdi(long int, long int); -short int __builtin_aarch64_sqsubhi(short int, short int); -signed char __builtin_aarch64_sqsubqi(signed char, signed char); -int __builtin_aarch64_sqsubsi(int, int); -long int __builtin_aarch64_srshldi(long int, long int); -long int __builtin_aarch64_srshr_ndi(long int, int); -long int __builtin_aarch64_srsra_ndi(long int, long int, int); -long int __builtin_aarch64_sshldi(long int, long int); -long int __builtin_aarch64_ssli_ndi(long int, long int, int); -__Poly64_t __builtin_aarch64_ssli_ndi_ppps(__Poly64_t, __Poly64_t, int); -__Poly64x2_t __builtin_aarch64_ssli_nv2di_ppps(__Poly64x2_t, __Poly64x2_t, int); -long int __builtin_aarch64_ssra_ndi(long int, long int, int); -long int __builtin_aarch64_ssri_ndi(long int, long int, int); -void __builtin_aarch64_st1v16qi(signed char*, __Int8x16_t); -void __builtin_aarch64_st1v2df(double*, __Float64x2_t); -void __builtin_aarch64_st1v2di(long int*, __Int64x2_t); -void __builtin_aarch64_st1v2di_sp(long int*, __Poly64x2_t); -void __builtin_aarch64_st1v2sf(float*, __Float32x2_t); -void __builtin_aarch64_st1v2si(int*, __Int32x2_t); -void __builtin_aarch64_st1v4hf(__fp16*, __Float16x4_t); -void __builtin_aarch64_st1v4hi(short int*, __Int16x4_t); -void __builtin_aarch64_st1v4sf(float*, __Float32x4_t); -void __builtin_aarch64_st1v4si(int*, __Int32x4_t); -void __builtin_aarch64_st1v8hf(__fp16*, __Float16x8_t); -void __builtin_aarch64_st1v8hi(short int*, __Int16x8_t); -void __builtin_aarch64_st1v8qi(signed char*, __Int8x8_t); -void __builtin_aarch64_st1x2df(double*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2di(long int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v16qi(signed char*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v2df(double*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v2di(long int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v2sf(float*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v2si(int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v4hf(__fp16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v4hi(short int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v4sf(float*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v4si(int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v8hf(__fp16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v8hi(short int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v8qi(signed char*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x3df(double*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3di(long int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v16qi(signed char*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v2df(double*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v2di(long int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v2sf(float*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v2si(int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v4hf(__fp16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v4hi(short int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v4sf(float*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v4si(int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v8hf(__fp16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v8hi(short int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v8qi(signed char*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st2df(double*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2di(long int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v16qi(signed char*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v2df(double*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v2di(long int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v2sf(float*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v2si(int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v4hf(__fp16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v4hi(short int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v4sf(float*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v4si(int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v8hf(__fp16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v8hi(short int*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v8qi(signed char*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st3df(double*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3di(long int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v16qi(signed char*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v2df(double*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v2di(long int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v2sf(float*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v2si(int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v4hf(__fp16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v4hi(short int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v4sf(float*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v4si(int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v8hf(__fp16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v8hi(short int*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v8qi(signed char*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st4df(double*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4di(long int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v16qi(signed char*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v2df(double*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v2di(long int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v2sf(float*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v2si(int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v4hf(__fp16*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v4hi(short int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v4sf(float*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v4si(int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v8hf(__fp16*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v8hi(short int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v8qi(signed char*, __builtin_aarch64_simd_xi); -long int __builtin_aarch64_suqadddi_ssu(long int, long unsigned int); -short int __builtin_aarch64_suqaddhi_ssu(short int, short unsigned int); -signed char __builtin_aarch64_suqaddqi_ssu(signed char, unsigned char); -int __builtin_aarch64_suqaddsi_ssu(int, unsigned int); -__Int8x16_t __builtin_aarch64_tbl3v16qi(__builtin_aarch64_simd_oi, __Int8x16_t); -__Int8x16_t __builtin_aarch64_tbx4v16qi(__Int8x16_t, __builtin_aarch64_simd_oi, __Int8x16_t); -__fp16 __builtin_aarch64_ucvtfdihf_sus(long unsigned int, int); -double __builtin_aarch64_ucvtfdi_sus(long unsigned int, int); -__fp16 __builtin_aarch64_ucvtfhi_sus(short unsigned int, int); -__fp16 __builtin_aarch64_ucvtfsihf_sus(unsigned int, int); -float __builtin_aarch64_ucvtfsi_sus(unsigned int, int); -__Float64x2_t __builtin_aarch64_ucvtfv2di_sus(__Uint64x2_t, int); -__Float32x2_t __builtin_aarch64_ucvtfv2si_sus(__Uint32x2_t, int); -__Float16x4_t __builtin_aarch64_ucvtfv4hi_sus(__Uint16x4_t, int); -__Float32x4_t __builtin_aarch64_ucvtfv4si_sus(__Uint32x4_t, int); -__Float16x8_t __builtin_aarch64_ucvtfv8hi_sus(__Uint16x8_t, int); -__Uint32x4_t __builtin_aarch64_udot_laneqv16qi_uuuus(__Uint32x4_t, __Uint8x16_t, __Uint8x16_t, int); -__Uint32x2_t __builtin_aarch64_udot_laneqv8qi_uuuus(__Uint32x2_t, __Uint8x8_t, __Uint8x16_t, int); -__Uint32x4_t __builtin_aarch64_udot_lanev16qi_uuuus(__Uint32x4_t, __Uint8x16_t, __Uint8x8_t, int); -__Uint32x2_t __builtin_aarch64_udot_lanev8qi_uuuus(__Uint32x2_t, __Uint8x8_t, __Uint8x8_t, int); -__Uint32x4_t __builtin_aarch64_udotv16qi_uuuu(__Uint32x4_t, __Uint8x16_t, __Uint8x16_t); -__Uint32x2_t __builtin_aarch64_udotv8qi_uuuu(__Uint32x2_t, __Uint8x8_t, __Uint8x8_t); -long unsigned int __builtin_aarch64_uqadddi_uuu(long unsigned int, long unsigned int); -short unsigned int __builtin_aarch64_uqaddhi_uuu(short unsigned int, short unsigned int); -unsigned char __builtin_aarch64_uqaddqi_uuu(unsigned char, unsigned char); -unsigned int __builtin_aarch64_uqaddsi_uuu(unsigned int, unsigned int); -int __builtin_aarch64_uqmovndi(long int); -signed char __builtin_aarch64_uqmovnhi(short int); -short int __builtin_aarch64_uqmovnsi(int); -long unsigned int __builtin_aarch64_uqrshldi_uus(long unsigned int, long int); -short unsigned int __builtin_aarch64_uqrshlhi_uus(short unsigned int, short int); -unsigned char __builtin_aarch64_uqrshlqi_uus(unsigned char, signed char); -unsigned int __builtin_aarch64_uqrshlsi_uus(unsigned int, int); -unsigned int __builtin_aarch64_uqrshrn_ndi_uus(long unsigned int, int); -unsigned char __builtin_aarch64_uqrshrn_nhi_uus(short unsigned int, int); -short unsigned int __builtin_aarch64_uqrshrn_nsi_uus(unsigned int, int); -long unsigned int __builtin_aarch64_uqshldi_uus(long unsigned int, long int); -short unsigned int __builtin_aarch64_uqshlhi_uus(short unsigned int, short int); -long unsigned int __builtin_aarch64_uqshl_ndi_uus(long unsigned int, int); -short unsigned int __builtin_aarch64_uqshl_nhi_uus(short unsigned int, int); -unsigned char __builtin_aarch64_uqshl_nqi_uus(unsigned char, int); -unsigned int __builtin_aarch64_uqshl_nsi_uus(unsigned int, int); -unsigned char __builtin_aarch64_uqshlqi_uus(unsigned char, signed char); -unsigned int __builtin_aarch64_uqshlsi_uus(unsigned int, int); -unsigned int __builtin_aarch64_uqshrn_ndi_uus(long unsigned int, int); -unsigned char __builtin_aarch64_uqshrn_nhi_uus(short unsigned int, int); -short unsigned int __builtin_aarch64_uqshrn_nsi_uus(unsigned int, int); -long unsigned int __builtin_aarch64_uqsubdi_uuu(long unsigned int, long unsigned int); -short unsigned int __builtin_aarch64_uqsubhi_uuu(short unsigned int, short unsigned int); -unsigned char __builtin_aarch64_uqsubqi_uuu(unsigned char, unsigned char); -unsigned int __builtin_aarch64_uqsubsi_uuu(unsigned int, unsigned int); -long unsigned int __builtin_aarch64_urshldi_uus(long unsigned int, long int); -long unsigned int __builtin_aarch64_urshr_ndi_uus(long unsigned int, int); -long unsigned int __builtin_aarch64_ursra_ndi_uuus(long unsigned int, long unsigned int, int); -long unsigned int __builtin_aarch64_ushldi_uus(long unsigned int, long int); -long unsigned int __builtin_aarch64_usli_ndi_uuus(long unsigned int, long unsigned int, int); -long unsigned int __builtin_aarch64_usqadddi_uus(long unsigned int, long int); -short unsigned int __builtin_aarch64_usqaddhi_uus(short unsigned int, short int); -unsigned char __builtin_aarch64_usqaddqi_uus(unsigned char, signed char); -unsigned int __builtin_aarch64_usqaddsi_uus(unsigned int, int); -long unsigned int __builtin_aarch64_usra_ndi_uuus(long unsigned int, long unsigned int, int); -long unsigned int __builtin_aarch64_usri_ndi_uuus(long unsigned int, long unsigned int, int); -__Uint64x2_t __builtin_aarch64_xarqv2di_uuus(__Uint64x2_t, __Uint64x2_t, int); - -void* __builtin_aarch64_autia1716(void*, long unsigned int); -void* __builtin_aarch64_autib1716(void*, long unsigned int); -__bf16 __builtin_aarch64_bfcvtbf(float); -__Bfloat16x8_t __builtin_aarch64_bfcvtn2v8bf(__Bfloat16x8_t, __Float32x4_t); -__Bfloat16x8_t __builtin_aarch64_bfcvtn_qv8bf(__Float32x4_t); -__Bfloat16x4_t __builtin_aarch64_bfcvtnv4bf(__Float32x4_t); -__Float32x2_t __builtin_aarch64_bfdot_laneqv2sf(__Float32x2_t, __Bfloat16x4_t, __Bfloat16x8_t, int); -__Float32x4_t __builtin_aarch64_bfdot_laneqv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t, int); -__Float32x2_t __builtin_aarch64_bfdot_lanev2sf(__Float32x2_t, __Bfloat16x4_t, __Bfloat16x4_t, int); -__Float32x4_t __builtin_aarch64_bfdot_lanev4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x4_t, int); -__Float32x2_t __builtin_aarch64_bfdotv2sf(__Float32x2_t, __Bfloat16x4_t, __Bfloat16x4_t); -__Float32x4_t __builtin_aarch64_bfdotv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); -__Float32x4_t __builtin_aarch64_bfmlalb_lane_qv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t, int); -__Float32x4_t __builtin_aarch64_bfmlalb_lanev4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x4_t, int); -__Float32x4_t __builtin_aarch64_bfmlalbv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); -__Float32x4_t __builtin_aarch64_bfmlalt_lane_qv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t, int); -__Float32x4_t __builtin_aarch64_bfmlalt_lanev4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x4_t, int); -__Float32x4_t __builtin_aarch64_bfmlaltv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); -__Float32x4_t __builtin_aarch64_bfmmlaqv4sf(__Float32x4_t, __Bfloat16x8_t, __Bfloat16x8_t); -__Uint64x2_t __builtin_aarch64_bswapv2di_uu(__Uint64x2_t); -__Uint32x2_t __builtin_aarch64_bswapv2si_uu(__Uint32x2_t); -__Uint16x4_t __builtin_aarch64_bswapv4hi_uu(__Uint16x4_t); -__Uint32x4_t __builtin_aarch64_bswapv4si_uu(__Uint32x4_t); -__Uint16x8_t __builtin_aarch64_bswapv8hi_uu(__Uint16x8_t); -long unsigned int __builtin_aarch64_cmeqdf_uss(double, double); -unsigned int __builtin_aarch64_cmeqsf_uss(float, float); -__Uint64x2_t __builtin_aarch64_cmeqv2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_cmeqv2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_cmeqv4sf_uss(__Float32x4_t, __Float32x4_t); -long unsigned int __builtin_aarch64_cmgedf_uss(double, double); -unsigned int __builtin_aarch64_cmgesf_uss(float, float); -__Uint64x2_t __builtin_aarch64_cmgev2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_cmgev2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_cmgev4sf_uss(__Float32x4_t, __Float32x4_t); -long unsigned int __builtin_aarch64_cmgtdf_uss(double, double); -unsigned int __builtin_aarch64_cmgtsf_uss(float, float); -__Uint64x2_t __builtin_aarch64_cmgtv2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_cmgtv2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_cmgtv4sf_uss(__Float32x4_t, __Float32x4_t); -long unsigned int __builtin_aarch64_cmledf_uss(double, double); -unsigned int __builtin_aarch64_cmlesf_uss(float, float); -__Uint64x2_t __builtin_aarch64_cmlev2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_cmlev2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_cmlev4sf_uss(__Float32x4_t, __Float32x4_t); -long unsigned int __builtin_aarch64_cmltdf_uss(double, double); -unsigned int __builtin_aarch64_cmltsf_uss(float, float); -__Uint64x2_t __builtin_aarch64_cmltv2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_cmltv2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_cmltv4sf_uss(__Float32x4_t, __Float32x4_t); -__Bfloat16x8_t __builtin_aarch64_combinev4bf(__Bfloat16x4_t, __Bfloat16x4_t); -__Int32x2_t __builtin_aarch64_ctzv2si(__Int32x2_t); -__Int32x4_t __builtin_aarch64_ctzv4si(__Int32x4_t); -long unsigned int __builtin_aarch64_facgedf_uss(double, double); -unsigned int __builtin_aarch64_facgesf_uss(float, float); -__Uint64x2_t __builtin_aarch64_facgev2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_facgev2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_facgev4sf_uss(__Float32x4_t, __Float32x4_t); -long unsigned int __builtin_aarch64_facgtdf_uss(double, double); -unsigned int __builtin_aarch64_facgtsf_uss(float, float); -__Uint64x2_t __builtin_aarch64_facgtv2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_facgtv2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_facgtv4sf_uss(__Float32x4_t, __Float32x4_t); -long unsigned int __builtin_aarch64_facledf_uss(double, double); -unsigned int __builtin_aarch64_faclesf_uss(float, float); -__Uint64x2_t __builtin_aarch64_faclev2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_faclev2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_faclev4sf_uss(__Float32x4_t, __Float32x4_t); -long unsigned int __builtin_aarch64_facltdf_uss(double, double); -unsigned int __builtin_aarch64_facltsf_uss(float, float); -__Uint64x2_t __builtin_aarch64_facltv2df_uss(__Float64x2_t, __Float64x2_t); -__Uint32x2_t __builtin_aarch64_facltv2sf_uss(__Float32x2_t, __Float32x2_t); -__Uint32x4_t __builtin_aarch64_facltv4sf_uss(__Float32x4_t, __Float32x4_t); -__Float64x2_t __builtin_aarch64_fcmla_lane0v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); -__Float64x2_t __builtin_aarch64_fcmla_lane180v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); -__Float64x2_t __builtin_aarch64_fcmla_lane270v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); -__Float64x2_t __builtin_aarch64_fcmla_lane90v2df(__Float64x2_t, __Float64x2_t, __Float64x2_t, int); -long int __builtin_aarch64_fix_truncdfdi(double); -int __builtin_aarch64_fix_truncdfsi(double); -long int __builtin_aarch64_fix_truncsfdi(float); -int __builtin_aarch64_fix_truncsfsi(float); -long unsigned int __builtin_aarch64_fixuns_truncdfdi_us(double); -unsigned int __builtin_aarch64_fixuns_truncdfsi_us(double); -long unsigned int __builtin_aarch64_fixuns_truncsfdi_us(float); -unsigned int __builtin_aarch64_fixuns_truncsfsi_us(float); -float __builtin_aarch64_fmaxsf(float, float); -float __builtin_aarch64_fminsf(float, float); -__Float64x2_t __builtin_aarch64_fnmav2df(__Float64x2_t, __Float64x2_t, __Float64x2_t); -__Float32x2_t __builtin_aarch64_fnmav2sf(__Float32x2_t, __Float32x2_t, __Float32x2_t); -__Float32x4_t __builtin_aarch64_fnmav4sf(__Float32x4_t, __Float32x4_t, __Float32x4_t); -double __builtin_aarch64_frint32xdf(double); -float __builtin_aarch64_frint32xsf(float); -__Float64x2_t __builtin_aarch64_frint32xv2df(__Float64x2_t); -__Float32x2_t __builtin_aarch64_frint32xv2sf(__Float32x2_t); -__Float32x4_t __builtin_aarch64_frint32xv4sf(__Float32x4_t); -double __builtin_aarch64_frint32zdf(double); -float __builtin_aarch64_frint32zsf(float); -__Float64x2_t __builtin_aarch64_frint32zv2df(__Float64x2_t); -__Float32x2_t __builtin_aarch64_frint32zv2sf(__Float32x2_t); -__Float32x4_t __builtin_aarch64_frint32zv4sf(__Float32x4_t); -double __builtin_aarch64_frint64xdf(double); -float __builtin_aarch64_frint64xsf(float); -__Float64x2_t __builtin_aarch64_frint64xv2df(__Float64x2_t); -__Float32x2_t __builtin_aarch64_frint64xv2sf(__Float32x2_t); -__Float32x4_t __builtin_aarch64_frint64xv4sf(__Float32x4_t); -double __builtin_aarch64_frint64zdf(double); -float __builtin_aarch64_frint64zsf(float); -__Float64x2_t __builtin_aarch64_frint64zv2df(__Float64x2_t); -__Float32x2_t __builtin_aarch64_frint64zv2sf(__Float32x2_t); -__Float32x4_t __builtin_aarch64_frint64zv4sf(__Float32x4_t); -__Bfloat16x4_t __builtin_aarch64_get_dregciv4bf(__builtin_aarch64_simd_ci, int); -__Bfloat16x4_t __builtin_aarch64_get_dregoiv4bf(__builtin_aarch64_simd_oi, int); -__Bfloat16x4_t __builtin_aarch64_get_dregxiv4bf(__builtin_aarch64_simd_xi, int); -__Bfloat16x8_t __builtin_aarch64_get_qregciv8bf(__builtin_aarch64_simd_ci, int); -__Bfloat16x8_t __builtin_aarch64_get_qregoiv8bf(__builtin_aarch64_simd_oi, int); -__Bfloat16x8_t __builtin_aarch64_get_qregxiv8bf(__builtin_aarch64_simd_xi, int); -__Int64x2_t __builtin_aarch64_intrinsic_vec_smult_lo_v2si(__Int32x2_t, __Int32x2_t); -__Int32x4_t __builtin_aarch64_intrinsic_vec_smult_lo_v4hi(__Int16x4_t, __Int16x4_t); -__Int16x8_t __builtin_aarch64_intrinsic_vec_smult_lo_v8qi(__Int8x8_t, __Int8x8_t); -__Uint64x2_t __builtin_aarch64_intrinsic_vec_umult_lo_v2si_uuu(__Uint32x2_t, __Uint32x2_t); -__Uint32x4_t __builtin_aarch64_intrinsic_vec_umult_lo_v4hi_uuu(__Uint16x4_t, __Uint16x4_t); -__Uint16x8_t __builtin_aarch64_intrinsic_vec_umult_lo_v8qi_uuu(__Uint8x8_t, __Uint8x8_t); -int __builtin_aarch64_jcvtzs(double); -void __builtin_aarch64_ld1v2di_sp(long int*, __Poly64_t); -__Bfloat16x4_t __builtin_aarch64_ld1v4bf(const __bf16*); -__Bfloat16x8_t __builtin_aarch64_ld1v8bf(const __bf16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v4bf(const __bf16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld1x2v8bf(const __bf16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v4bf(const __bf16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld1x3v8bf(const __bf16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4df(const double*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4di(const long int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v16qi(const signed char*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2df(const double*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2di(const long int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2sf(const float*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v2si(const int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4bf(const __bf16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4hf(const __fp16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4hi(const short int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4sf(const float*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v4si(const int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8bf(const __bf16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8hf(const __fp16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8hi(const short int*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld1x4v8qi(const signed char*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev4bf(const __bf16*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2_lanev8bf(const __bf16*, __builtin_aarch64_simd_oi, int); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv4bf(const __bf16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2rv8bf(const __bf16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v4bf(const __bf16*); -__builtin_aarch64_simd_oi __builtin_aarch64_ld2v8bf(const __bf16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev4bf(const __bf16*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3_lanev8bf(const __bf16*, __builtin_aarch64_simd_ci, int); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv4bf(const __bf16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3rv8bf(const __bf16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v4bf(const __bf16*); -__builtin_aarch64_simd_ci __builtin_aarch64_ld3v8bf(const __bf16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev4bf(const __bf16*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev8bf(const __bf16*, __builtin_aarch64_simd_xi, int); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv4bf(const __bf16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4rv8bf(const __bf16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v4bf(const __bf16*); -__builtin_aarch64_simd_xi __builtin_aarch64_ld4v8bf(const __bf16*); -double __builtin_aarch64_negdf(double); -float __builtin_aarch64_negsf(float); -__Float64x2_t __builtin_aarch64_negv2df(__Float64x2_t); -__Float32x2_t __builtin_aarch64_negv2sf(__Float32x2_t); -__Float16x4_t __builtin_aarch64_negv4hf(__Float16x4_t); -__Float32x4_t __builtin_aarch64_negv4sf(__Float32x4_t); -__Float16x8_t __builtin_aarch64_negv8hf(__Float16x8_t); -void* __builtin_aarch64_pacia1716(void*, long unsigned int); -void* __builtin_aarch64_pacib1716(void*, long unsigned int); -int __builtin_aarch64_rndr(long unsigned int*); -int __builtin_aarch64_rndrrs(long unsigned int*); -double __builtin_aarch64_rsqrt_df(double); -float __builtin_aarch64_rsqrt_sf(float); -__Float64x2_t __builtin_aarch64_rsqrt_v2df(__Float64x2_t); -__Float32x2_t __builtin_aarch64_rsqrt_v2sf(__Float32x2_t); -__Float32x4_t __builtin_aarch64_rsqrt_v4sf(__Float32x4_t); -__builtin_aarch64_simd_ci __builtin_aarch64_set_qregciv8bf(__builtin_aarch64_simd_ci, __Bfloat16x8_t, int); -__builtin_aarch64_simd_oi __builtin_aarch64_set_qregoiv8bf(__builtin_aarch64_simd_oi, __Bfloat16x8_t, int); -__builtin_aarch64_simd_xi __builtin_aarch64_set_qregxiv8bf(__builtin_aarch64_simd_xi, __Bfloat16x8_t, int); -__Bfloat16x4_t __builtin_aarch64_simd_bslv4bf_suss(__Uint16x4_t, __Bfloat16x4_t, __Bfloat16x4_t); -__Bfloat16x8_t __builtin_aarch64_simd_bslv8bf_suss(__Uint16x8_t, __Bfloat16x8_t, __Bfloat16x8_t); -__Int32x4_t __builtin_aarch64_simd_smmlav16qi(__Int32x4_t, __Int8x16_t, __Int8x16_t); -__Uint32x4_t __builtin_aarch64_simd_ummlav16qi_uuuu(__Uint32x4_t, __Uint8x16_t, __Uint8x16_t); -__Int32x4_t __builtin_aarch64_simd_usmmlav16qi_ssus(__Int32x4_t, __Uint8x16_t, __Int8x16_t); -void __builtin_aarch64_st1v4bf(__bf16*, __Bfloat16x4_t); -void __builtin_aarch64_st1v8bf(__bf16*, __Bfloat16x8_t); -void __builtin_aarch64_st1x2v4bf(__bf16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x2v8bf(__bf16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st1x3v4bf(__bf16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x3v8bf(__bf16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st1x4df(double*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4di(long int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v16qi(signed char*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v2df(double*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v2di(long int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v2sf(float*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v2si(int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v4bf(__bf16*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v4hf(__fp16*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v4hi(short int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v4sf(float*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v4si(int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v8bf(__bf16*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v8hf(__fp16*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v8hi(short int*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st1x4v8qi(signed char*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st2_lanev4bf(__bf16*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2_lanev8bf(__bf16*, __builtin_aarch64_simd_oi, int); -void __builtin_aarch64_st2v4bf(__bf16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st2v8bf(__bf16*, __builtin_aarch64_simd_oi); -void __builtin_aarch64_st3_lanev4bf(__bf16*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3_lanev8bf(__bf16*, __builtin_aarch64_simd_ci, int); -void __builtin_aarch64_st3v4bf(__bf16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st3v8bf(__bf16*, __builtin_aarch64_simd_ci); -void __builtin_aarch64_st4_lanev4bf(__bf16*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4_lanev8bf(__bf16*, __builtin_aarch64_simd_xi, int); -void __builtin_aarch64_st4v4bf(__bf16*, __builtin_aarch64_simd_xi); -void __builtin_aarch64_st4v8bf(__bf16*, __builtin_aarch64_simd_xi); -__Int32x4_t __builtin_aarch64_sudot_laneqv16qi_sssus(__Int32x4_t, __Int8x16_t, __Uint8x16_t, int); -__Int32x2_t __builtin_aarch64_sudot_laneqv8qi_sssus(__Int32x2_t, __Int8x8_t, __Uint8x16_t, int); -__Int32x4_t __builtin_aarch64_sudot_lanev16qi_sssus(__Int32x4_t, __Int8x16_t, __Uint8x8_t, int); -__Int32x2_t __builtin_aarch64_sudot_lanev8qi_sssus(__Int32x2_t, __Int8x8_t, __Uint8x8_t, int); -__Int8x16_t __builtin_aarch64_trn1v16qi(__Int8x16_t, __Int8x16_t); -__Float64x2_t __builtin_aarch64_trn1v2df(__Float64x2_t, __Float64x2_t); -__Int64x2_t __builtin_aarch64_trn1v2di(__Int64x2_t, __Int64x2_t); -__Float32x2_t __builtin_aarch64_trn1v2sf(__Float32x2_t, __Float32x2_t); -__Int32x2_t __builtin_aarch64_trn1v2si(__Int32x2_t, __Int32x2_t); -__Int16x4_t __builtin_aarch64_trn1v4hi(__Int16x4_t, __Int16x4_t); -__Float32x4_t __builtin_aarch64_trn1v4sf(__Float32x4_t, __Float32x4_t); -__Int32x4_t __builtin_aarch64_trn1v4si(__Int32x4_t, __Int32x4_t); -__Int16x8_t __builtin_aarch64_trn1v8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_trn1v8qi(__Int8x8_t, __Int8x8_t); -__Int8x16_t __builtin_aarch64_trn2v16qi(__Int8x16_t, __Int8x16_t); -__Float64x2_t __builtin_aarch64_trn2v2df(__Float64x2_t, __Float64x2_t); -__Int64x2_t __builtin_aarch64_trn2v2di(__Int64x2_t, __Int64x2_t); -__Float32x2_t __builtin_aarch64_trn2v2sf(__Float32x2_t, __Float32x2_t); -__Int32x2_t __builtin_aarch64_trn2v2si(__Int32x2_t, __Int32x2_t); -__Int16x4_t __builtin_aarch64_trn2v4hi(__Int16x4_t, __Int16x4_t); -__Float32x4_t __builtin_aarch64_trn2v4sf(__Float32x4_t, __Float32x4_t); -__Int32x4_t __builtin_aarch64_trn2v4si(__Int32x4_t, __Int32x4_t); -__Int16x8_t __builtin_aarch64_trn2v8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_trn2v8qi(__Int8x8_t, __Int8x8_t); -__Int32x4_t __builtin_aarch64_usdot_laneqv16qi_ssuss(__Int32x4_t, __Uint8x16_t, __Int8x16_t, int); -__Int32x2_t __builtin_aarch64_usdot_laneqv8qi_ssuss(__Int32x2_t, __Uint8x8_t, __Int8x16_t, int); -__Int32x4_t __builtin_aarch64_usdot_lanev16qi_ssuss(__Int32x4_t, __Uint8x16_t, __Int8x8_t, int); -__Int32x2_t __builtin_aarch64_usdot_lanev8qi_ssuss(__Int32x2_t, __Uint8x8_t, __Int8x8_t, int); -__Int32x4_t __builtin_aarch64_usdotv16qi_ssus(__Int32x4_t, __Uint8x16_t, __Int8x16_t); -__Int32x2_t __builtin_aarch64_usdotv8qi_ssus(__Int32x2_t, __Uint8x8_t, __Int8x8_t); -__Int8x16_t __builtin_aarch64_uzp1v16qi(__Int8x16_t, __Int8x16_t); -__Float64x2_t __builtin_aarch64_uzp1v2df(__Float64x2_t, __Float64x2_t); -__Int64x2_t __builtin_aarch64_uzp1v2di(__Int64x2_t, __Int64x2_t); -__Float32x2_t __builtin_aarch64_uzp1v2sf(__Float32x2_t, __Float32x2_t); -__Int32x2_t __builtin_aarch64_uzp1v2si(__Int32x2_t, __Int32x2_t); -__Int16x4_t __builtin_aarch64_uzp1v4hi(__Int16x4_t, __Int16x4_t); -__Float32x4_t __builtin_aarch64_uzp1v4sf(__Float32x4_t, __Float32x4_t); -__Int32x4_t __builtin_aarch64_uzp1v4si(__Int32x4_t, __Int32x4_t); -__Int16x8_t __builtin_aarch64_uzp1v8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_uzp1v8qi(__Int8x8_t, __Int8x8_t); -__Int8x16_t __builtin_aarch64_uzp2v16qi(__Int8x16_t, __Int8x16_t); -__Float64x2_t __builtin_aarch64_uzp2v2df(__Float64x2_t, __Float64x2_t); -__Int64x2_t __builtin_aarch64_uzp2v2di(__Int64x2_t, __Int64x2_t); -__Float32x2_t __builtin_aarch64_uzp2v2sf(__Float32x2_t, __Float32x2_t); -__Int32x2_t __builtin_aarch64_uzp2v2si(__Int32x2_t, __Int32x2_t); -__Int16x4_t __builtin_aarch64_uzp2v4hi(__Int16x4_t, __Int16x4_t); -__Float32x4_t __builtin_aarch64_uzp2v4sf(__Float32x4_t, __Float32x4_t); -__Int32x4_t __builtin_aarch64_uzp2v4si(__Int32x4_t, __Int32x4_t); -__Int16x8_t __builtin_aarch64_uzp2v8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_uzp2v8qi(__Int8x8_t, __Int8x8_t); -__Int64x2_t __builtin_aarch64_vec_smlal_laneq_v2si(__Int64x2_t, __Int32x2_t, __Int32x4_t, int); -__Int32x4_t __builtin_aarch64_vec_smlal_laneq_v4hi(__Int32x4_t, __Int16x4_t, __Int16x8_t, int); -__Int64x2_t __builtin_aarch64_vec_smlal_lane_v2si(__Int64x2_t, __Int32x2_t, __Int32x2_t, int); -__Int32x4_t __builtin_aarch64_vec_smlal_lane_v4hi(__Int32x4_t, __Int16x4_t, __Int16x4_t, int); -__Int64x2_t __builtin_aarch64_vec_smult_laneq_v2si(__Int32x2_t, __Int32x4_t, int); -__Int32x4_t __builtin_aarch64_vec_smult_laneq_v4hi(__Int16x4_t, __Int16x8_t, int); -__Int64x2_t __builtin_aarch64_vec_smult_lane_v2si(__Int32x2_t, __Int32x2_t, int); -__Int32x4_t __builtin_aarch64_vec_smult_lane_v4hi(__Int16x4_t, __Int16x4_t, int); -__Uint64x2_t __builtin_aarch64_vec_umlal_laneq_v2si_uuuus(__Uint64x2_t, __Uint32x2_t, __Uint32x4_t, int); -__Uint32x4_t __builtin_aarch64_vec_umlal_laneq_v4hi_uuuus(__Uint32x4_t, __Uint16x4_t, __Uint16x8_t, int); -__Uint64x2_t __builtin_aarch64_vec_umlal_lane_v2si_uuuus(__Uint64x2_t, __Uint32x2_t, __Uint32x2_t, int); -__Uint32x4_t __builtin_aarch64_vec_umlal_lane_v4hi_uuuus(__Uint32x4_t, __Uint16x4_t, __Uint16x4_t, int); -__Uint64x2_t __builtin_aarch64_vec_umult_laneq_v2si_uuus(__Uint32x2_t, __Uint32x4_t, int); -__Uint32x4_t __builtin_aarch64_vec_umult_laneq_v4hi_uuus(__Uint16x4_t, __Uint16x8_t, int); -__Uint64x2_t __builtin_aarch64_vec_umult_lane_v2si_uuus(__Uint32x2_t, __Uint32x2_t, int); -__Uint32x4_t __builtin_aarch64_vec_umult_lane_v4hi_uuus(__Uint16x4_t, __Uint16x4_t, int); -__Int16x8_t __builtin_aarch64_vec_widen_smult_hi_v16qi(__Int8x16_t, __Int8x16_t); -__Int64x2_t __builtin_aarch64_vec_widen_smult_hi_v4si(__Int32x4_t, __Int32x4_t); -__Int32x4_t __builtin_aarch64_vec_widen_smult_hi_v8hi(__Int16x8_t, __Int16x8_t); -__Uint16x8_t __builtin_aarch64_vec_widen_umult_hi_v16qi_uuu(__Uint8x16_t, __Uint8x16_t); -__Uint64x2_t __builtin_aarch64_vec_widen_umult_hi_v4si_uuu(__Uint32x4_t, __Uint32x4_t); -__Uint32x4_t __builtin_aarch64_vec_widen_umult_hi_v8hi_uuu(__Uint16x8_t, __Uint16x8_t); -void* __builtin_aarch64_xpaclri(void*); -__Int8x16_t __builtin_aarch64_zip1v16qi(__Int8x16_t, __Int8x16_t); -__Float64x2_t __builtin_aarch64_zip1v2df(__Float64x2_t, __Float64x2_t); -__Int64x2_t __builtin_aarch64_zip1v2di(__Int64x2_t, __Int64x2_t); -__Float32x2_t __builtin_aarch64_zip1v2sf(__Float32x2_t, __Float32x2_t); -__Int32x2_t __builtin_aarch64_zip1v2si(__Int32x2_t, __Int32x2_t); -__Int16x4_t __builtin_aarch64_zip1v4hi(__Int16x4_t, __Int16x4_t); -__Float32x4_t __builtin_aarch64_zip1v4sf(__Float32x4_t, __Float32x4_t); -__Int32x4_t __builtin_aarch64_zip1v4si(__Int32x4_t, __Int32x4_t); -__Int16x8_t __builtin_aarch64_zip1v8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_zip1v8qi(__Int8x8_t, __Int8x8_t); -__Int8x16_t __builtin_aarch64_zip2v16qi(__Int8x16_t, __Int8x16_t); -__Float64x2_t __builtin_aarch64_zip2v2df(__Float64x2_t, __Float64x2_t); -__Int64x2_t __builtin_aarch64_zip2v2di(__Int64x2_t, __Int64x2_t); -__Float32x2_t __builtin_aarch64_zip2v2sf(__Float32x2_t, __Float32x2_t); -__Int32x2_t __builtin_aarch64_zip2v2si(__Int32x2_t, __Int32x2_t); -__Int16x4_t __builtin_aarch64_zip2v4hi(__Int16x4_t, __Int16x4_t); -__Float32x4_t __builtin_aarch64_zip2v4sf(__Float32x4_t, __Float32x4_t); -__Int32x4_t __builtin_aarch64_zip2v4si(__Int32x4_t, __Int32x4_t); -__Int16x8_t __builtin_aarch64_zip2v8hi(__Int16x8_t, __Int16x8_t); -__Int8x8_t __builtin_aarch64_zip2v8qi(__Int8x8_t, __Int8x8_t); - -// -march=armv8.5-a+memtag -void* __builtin_aarch64_memtag_get_tag(void*); -long unsigned int __builtin_aarch64_memtag_gmi(void*, long unsigned int); -void* __builtin_aarch64_memtag_inc_tag(void*, unsigned int); -void* __builtin_aarch64_memtag_irg(void*, long unsigned int); -void __builtin_aarch64_memtag_set_tag(void*); -long int __builtin_aarch64_memtag_subp(void*, void*); -// -march=armv8.5-a+tme -void __builtin_aarch64_tcancel(long unsigned int); -void __builtin_aarch64_tcommit(void); -long unsigned int __builtin_aarch64_tstart(void); -long unsigned int __builtin_aarch64_ttest(void); - -#endif - -#ifdef __IWMMXT__ -typedef unsigned long long __mmx_m64; -typedef int __mmx_v2si __attribute__ ((vector_size (8))); -typedef short __mmx_v4hi __attribute__ ((vector_size (8))); - -#ifdef __ANDROID__ -typedef char __mmx_v8qi __attribute__ ((vector_size (8))); -__mmx_m64 __builtin_arm_wsadb (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wsadh (__mmx_v4hi __A, __mmx_v4hi __B); -void __builtin_arm_setwcx(int x, int y); -int __builtin_arm_getwcx(int x); -#else -typedef signed char __mmx_v8qi __attribute__ ((vector_size (8))); -__mmx_m64 __builtin_arm_wsadb (__mmx_v2si __A, __mmx_v8qi __B, __mmx_v8qi __C); -__mmx_m64 __builtin_arm_wsadh (__mmx_v2si __A, __mmx_v4hi __B, __mmx_v4hi __C); -#endif // __ANDROID__ - -__mmx_m64 __builtin_arm_walign (__mmx_v8qi __a, __mmx_v8qi __b, int __C); -__mmx_m64 __builtin_arm_wpackhss (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wpackwss (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wpackdss (long long __m1, long long __m2); -__mmx_m64 __builtin_arm_wpackhus (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wpackwus (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wpackdus (long long __m1, long long __m2); -__mmx_m64 __builtin_arm_wunpckihb (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wunpckihh (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wunpckihw (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wunpckilb (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wunpckilh (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wunpckilw (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wunpckelsb (__mmx_v8qi __m1); -__mmx_m64 __builtin_arm_wunpckelsh (__mmx_v4hi __m1); -__mmx_m64 __builtin_arm_wunpckelsw (__mmx_v2si __m1); -__mmx_m64 __builtin_arm_wunpckehsb (__mmx_v8qi __m1); -__mmx_m64 __builtin_arm_wunpckehsh (__mmx_v4hi __m1); -__mmx_m64 __builtin_arm_wunpckehsw (__mmx_v2si __m1); -__mmx_m64 __builtin_arm_wunpckelub (__mmx_v8qi __m1); -__mmx_m64 __builtin_arm_wunpckeluh (__mmx_v4hi __m1); -__mmx_m64 __builtin_arm_wunpckeluw (__mmx_v2si __m1); -__mmx_m64 __builtin_arm_wunpckehub (__mmx_v8qi __m1); -__mmx_m64 __builtin_arm_wunpckehuh (__mmx_v4hi __m1); -__mmx_m64 __builtin_arm_wunpckehuw (__mmx_v2si __m1); -__mmx_m64 __builtin_arm_waddb (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_waddh (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_waddw (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_waddbss (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_waddhss (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_waddwss (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_waddbus (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_waddhus (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_waddwus (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wsubb (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wsubh (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wsubw (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wsubbss (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wsubhss (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wsubwss (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wsubbus (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wsubhus (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wsubwus (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wmadds (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wmaddu (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wmulsm (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wmulum (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wmulul (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wsllh (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wsllhi (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wsllw (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wsllwi (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wslld (int __m, int __count); -__mmx_m64 __builtin_arm_wslldi (int __m, int __count); -__mmx_m64 __builtin_arm_wsrah (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wsrahi (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wsraw (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wsrawi (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wsrad (int __m, int __count); -__mmx_m64 __builtin_arm_wsradi (int __m, int __count); -__mmx_m64 __builtin_arm_wsrlh (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wsrlhi (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wsrlw (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wsrlwi (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wsrld (int __m, int __count); -__mmx_m64 __builtin_arm_wsrldi (int __m, int __count); -__mmx_m64 __builtin_arm_wrorh (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wrorhi (__mmx_v4hi __m, int __count); -__mmx_m64 __builtin_arm_wrorw (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wrorwi (__mmx_v2si __m, int __count); -__mmx_m64 __builtin_arm_wrord (int __m, int __count); -__mmx_m64 __builtin_arm_wrordi (int __m, int __count); -__mmx_m64 __builtin_arm_wand (int __m1, int __m2); -__mmx_m64 __builtin_arm_wandn (int __m2, int __m1); -__mmx_m64 __builtin_arm_wor (int __m1, int __m2); -__mmx_m64 __builtin_arm_wxor (int __m1, int __m2); -__mmx_m64 __builtin_arm_wcmpeqb (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wcmpgtsb (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wcmpgtub (__mmx_v8qi __m1, __mmx_v8qi __m2); -__mmx_m64 __builtin_arm_wcmpeqh (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wcmpgtsh (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wcmpgtuh (__mmx_v4hi __m1, __mmx_v4hi __m2); -__mmx_m64 __builtin_arm_wcmpeqw (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wcmpgtsw (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wcmpgtuw (__mmx_v2si __m1, __mmx_v2si __m2); -__mmx_m64 __builtin_arm_wmacu (int __A, __mmx_v4hi __B, __mmx_v4hi __C); -__mmx_m64 __builtin_arm_wmacs (int __A, __mmx_v4hi __B, __mmx_v4hi __C); -__mmx_m64 __builtin_arm_wmacuz (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wmacsz (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_waccb (__mmx_v8qi __A); -__mmx_m64 __builtin_arm_wacch (__mmx_v4hi __A); -__mmx_m64 __builtin_arm_waccw (__mmx_v2si __A); -__mmx_m64 __builtin_arm_tmia (int __A, int __B, int __C); -__mmx_m64 __builtin_arm_tmiaph (int __A, int __B, int __C); -__mmx_m64 __builtin_arm_tmiabb (int __A, int __B, int __C); -__mmx_m64 __builtin_arm_tmiabt (int __A, int __B, int __C); -__mmx_m64 __builtin_arm_tmiatb (int __A, int __B, int __C); -__mmx_m64 __builtin_arm_tmiatt (int __A, int __B, int __C); -__mmx_m64 __builtin_arm_wmaxsb (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wmaxsh (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wmaxsw (__mmx_v2si __A, __mmx_v2si __B); -__mmx_m64 __builtin_arm_wmaxub (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wmaxuh (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wmaxuw (__mmx_v2si __A, __mmx_v2si __B); -__mmx_m64 __builtin_arm_wminsb (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wminsh (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wminsw (__mmx_v2si __A, __mmx_v2si __B); -__mmx_m64 __builtin_arm_wminub (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wminuh (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wminuw (__mmx_v2si __A, __mmx_v2si __B); -__mmx_m64 __builtin_arm_tmovmskb (__mmx_v8qi __A); -__mmx_m64 __builtin_arm_tmovmskh (__mmx_v4hi __A); -__mmx_m64 __builtin_arm_tmovmskw (__mmx_v2si __A); -__mmx_m64 __builtin_arm_wavg2br (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wavg2hr (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wavg2b (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wavg2h (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wsadbz (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wsadhz (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wsadbz (__mmx_v8qi __A, __mmx_v8qi __B); -__mmx_m64 __builtin_arm_wsadhz (__mmx_v4hi __A, __mmx_v4hi __B); -__mmx_m64 __builtin_arm_wzero (); -__mmx_m64 __builtin_arm_setwcgr0 (int __value); -__mmx_m64 __builtin_arm_setwcgr1 (int __value); -__mmx_m64 __builtin_arm_setwcgr2 (int __value); -__mmx_m64 __builtin_arm_setwcgr3 (int __value); -__mmx_m64 __builtin_arm_getwcgr0 (); -__mmx_m64 __builtin_arm_getwcgr1 (); -__mmx_m64 __builtin_arm_getwcgr2 (); -__mmx_m64 __builtin_arm_getwcgr3 (); -__mmx_m64 __builtin_arm_wabsb (__mmx_v8qi m1); -__mmx_m64 __builtin_arm_wabsh (__mmx_v4hi __m1); -__mmx_m64 __builtin_arm_wabsw (__mmx_v2si __m1); -__mmx_m64 __builtin_arm_waddsubhx (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wabsdiffb (__mmx_v8qi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_wabsdiffh (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wabsdiffw (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wavg4 (__mmx_v8qi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_wavg4r (__mmx_v8qi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_wmaddsx (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wmaddux (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wmaddsn (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wmaddun (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wmulwsm (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wmulwum (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wmulsmr (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wmulwsmr (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wmulumr (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wmulwumr (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wmulwl (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wqmulm (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wqmulwm (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wqmulmr (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_wqmulwmr (__mmx_v2si __a, __mmx_v2si __b); -__mmx_m64 __builtin_arm_wsubaddhx (__mmx_v4hi __a, __mmx_v4hi __b); -__mmx_m64 __builtin_arm_waddbhusl (__mmx_v4hi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_waddbhusm (__mmx_v4hi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_walignr0 (__mmx_v8qi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_walignr1 (__mmx_v8qi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_walignr2 (__mmx_v8qi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_walignr3 (__mmx_v8qi __a, __mmx_v8qi __b); -__mmx_m64 __builtin_arm_tbcstb (signed char value); -__mmx_m64 __builtin_arm_tbcsth (short value); -__mmx_m64 __builtin_arm_tbcstw (int value); -int __builtin_arm_textrmsb(__mmx_v8qi, int); -int __builtin_arm_textrmsh(__mmx_v4hi, int); -int __builtin_arm_textrmsw(__mmx_v2si, int); -int __builtin_arm_textrmub(__mmx_v8qi, int); -int __builtin_arm_textrmuh(___mmx_v4hi, int); -int __builtin_arm_textrmuw(__mmx_v2si, int); -__mmx_v8qi __builtin_arm_tinsrb(__mmx_v8qi, int, int); -___mmx_v4hi __builtin_arm_tinsrh(___mmx_v4hi, int, int); -__mmx_v2si __builtin_arm_tinsrw(__mmx_v2si, int, int); -___mmx_v4hi __builtin_arm_wshufh(___mmx_v4hi, int); -#endif // __IWMMX__ - -#ifdef __IWMMXT2__ //enable with -march=iwmmxt2 -long long unsigned int __builtin_arm_wmerge(long long unsigned int, long long unsigned int, int); -long long unsigned int __builtin_arm_wmiabb(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiabbn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiabt(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiabtn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiatb(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiatbn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiatt(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiattn(long long unsigned int, __mmx_v4hi, __mmx_v4hi); -long long unsigned int __builtin_arm_wmiawbb(long long unsigned int, __mmx_v2si, __mmx_v2si); -long long unsigned int __builtin_arm_wmiawbbn(long long unsigned int, __mmx_v2si, __mmx_v2si); -long long unsigned int __builtin_arm_wmiawbt(long long unsigned int, __mmx_v2si, __mmx_v2si); -long long unsigned int __builtin_arm_wmiawbtn(long long unsigned int, __mmx_v2si, __mmx_v2si); -long long unsigned int __builtin_arm_wmiawtb(long long unsigned int, __mmx_v2si, __mmx_v2si); -long long unsigned int __builtin_arm_wmiawtbn(long long unsigned int, __mmx_v2si, __mmx_v2si); -long long unsigned int __builtin_arm_wmiawtt(long long unsigned int, __mmx_v2si, __mmx_v2si); -long long unsigned int __builtin_arm_wmiawttn(long long unsigned int, __mmx_v2si, __mmx_v2si); -__mmx_v2si __builtin_arm_wqmiabb(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -__mmx_v2si __builtin_arm_wqmiabbn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -__mmx_v2si __builtin_arm_wqmiabt(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -__mmx_v2si __builtin_arm_wqmiabtn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -__mmx_v2si __builtin_arm_wqmiatb(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -__mmx_v2si __builtin_arm_wqmiatbn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -__mmx_v2si __builtin_arm_wqmiatt(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -__mmx_v2si __builtin_arm_wqmiattn(__mmx_v2si, __mmx_v4hi, __mmx_v4hi); -#endif - -#ifdef __ARM_FP16_ARGS // arm-eabi -mfp16-format=ieee or aarch64 -typedef float cov_fp16 __attribute__((mode(HF))); - -cov_fp16 __builtin_ceilf16(cov_fp16); -cov_fp16 __builtin_copysignf16(cov_fp16, cov_fp16); -cov_fp16 __builtin_fabsf16(cov_fp16); -cov_fp16 __builtin_floorf16(cov_fp16); -cov_fp16 __builtin_fmaf16(cov_fp16, cov_fp16, cov_fp16); -cov_fp16 __builtin_fmaxf16(cov_fp16, cov_fp16); -cov_fp16 __builtin_fminf16(cov_fp16, cov_fp16); -cov_fp16 __builtin_nanf16(const char*); -cov_fp16 __builtin_nansf16(const char*); -cov_fp16 __builtin_nearbyintf16(cov_fp16); -cov_fp16 __builtin_rintf16(cov_fp16); -cov_fp16 __builtin_roundevenf16(cov_fp16); -cov_fp16 __builtin_roundf16(cov_fp16); -cov_fp16 __builtin_sqrtf16(cov_fp16); -cov_fp16 __builtin_truncf16(cov_fp16); -cov_fp16 __builtin_huge_valf16(void); -cov_fp16 __builtin_inff16(void); -#endif - -#ifdef __coverity_cplusplus -} -#endif -/* - Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. - The information contained in this file is the proprietary and confidential - information of Synopsys, Inc. and its licensors, and is supplied subject to, - and may be used only by Synopsys customers in accordance with the terms and - conditions of a previously executed license agreement between Synopsys and - that customer. -*/ - - -#define __COVERITY_GCC_VERSION_AT_LEAST(maj, min) \ - ((__GNUC__ > (maj)) || (__GNUC__ == (maj) && __GNUC_MINOR__ >= (min))) - -#if __COVERITY_GCC_VERSION_AT_LEAST(4, 9) -// Starting with GCC 4.9, instruction set intrinsics are always visible -// regardless of whether or not the instruction set is enabled. -#define __COVERITY_GCC49_INTRINSICS 1 -#else // GCC <4.9 -#define __COVERITY_GCC49_INTRINSICS 0 -#endif - -#ifdef __IA64__ -typedef __coverity___fpreg long double __fpreg; -#endif - - -#ifdef __coverity_cplusplus -extern "C" { -#endif - -#if defined(__SIZEOF_FLOAT128__) && defined(__coverity_cplusplus) -#define cov_f128_t __float128 -#else -#define cov_f128_t long double -#endif - -// The following macros are used in the Linux Kernel -#if defined(__linux__) && defined(__KERNEL__) -#nodef BUG_ON(x) do { if (x) __coverity_panic__(); } while (0) -#nodef WARN_ON(x) ({ int result = !!(x); if (result) __coverity_panic__(); result; }) -#nodef BUG() __coverity_panic__() -void __coverity_panic__(); -#endif // Linux kernel - -#nodef setjmp -int setjmp(void *); - -#ifndef __COVERITY_NO_STRING_NODEFS__ -// Function list obtained from "cstring"+memrchr+stpcopy (from bits/string.h) - -#nodef memcpy -void *memcpy(void *, const void *, __COVERITY_SIZE_TYPE__); - -#nodef memmove -void *memmove(void *, const void *, __COVERITY_SIZE_TYPE__); - -#nodef strcpy -char *strcpy(char *, const char *); - -#nodef strncpy -char *strncpy(char *, const char *, __COVERITY_SIZE_TYPE__); - -#nodef strcat -char *strcat(char *, const char *); - -#nodef strncat -char *strncat(char *, const char *, __COVERITY_SIZE_TYPE__); - -#nodef memcmp -int memcmp(const void *, const void *, __COVERITY_SIZE_TYPE__ n); - -#nodef strcmp -int strcmp(const char *, const char *); - -#nodef strcoll -int strcoll(const char *, const char *); - -#nodef strncmp -int strncmp(const char *, const char *, __COVERITY_SIZE_TYPE__); - -#nodef strxfrm -__COVERITY_SIZE_TYPE__ -strxfrm(char *, const char *, __COVERITY_SIZE_TYPE__); - -#nodef memchr -void *memchr(const void *, int, __COVERITY_SIZE_TYPE__); - -#nodef strchr -char *strchr(const char *, int); - -#nodef strcspn -__COVERITY_SIZE_TYPE__ strcspn(const char *, const char *); - -#nodef strpbrk -char *strpbrk(const char *, const char *); - -#nodef strrchr -char *strrchr(const char *, int); - -#nodef strspn -__COVERITY_SIZE_TYPE__ strspn(const char *, const char *); - -#nodef strstr -char *strstr(const char *, const char *); - -#nodef strtok -char *strtok(char *, const char *); - -#nodef memset -void *memset(void *, int, __COVERITY_SIZE_TYPE__); - -#nodef strlen -__COVERITY_SIZE_TYPE__ strlen(const char *); - -#nodef strerror -char *strerror(int); - -#nodef memrchr -void *memrchr(const void *, int, __COVERITY_SIZE_TYPE__); - -#nodef stpcpy -char *stpcpy(char *, const char *); - -#nodef strdup -char *strdup(const char *); -#endif // __COVERITY_NO_STRING_NODEFS__ - -#define __builtin_expect_with_probability(expr, value, probability) (expr) -#define __builtin_speculation_safe_value(t1, t2) (t1) - -#ifndef __coverity_cplusplus -#if __COVERITY_GCC_VERSION_AT_LEAST(7, 0) -typedef float __coverity_float _Float32; -typedef double __coverity_floatx _Float32x; -typedef double __coverity_float _Float64; -typedef long double _Float64x; -typedef long double _Float128; -#endif /* GCC >= 7.0 */ -#endif /* __coverity_cplusplus */ - -#ifdef __coverity_cplusplus -} -#endif -#if __COVERITY_GCC_VERSION_AT_LEAST(4, 0) -typedef float __coverity_decimal _Decimal32; -typedef double __coverity_decimal _Decimal64; -typedef long double __coverity_decimal _Decimal128; - -_Decimal32 __builtin_nand32(const char*); -_Decimal32 __builtin_infd32(); -_Decimal64 __builtin_infd64(); -_Decimal64 __builtin_nand64(const char*); -_Decimal128 __builtin_infd128(); -_Decimal128 __builtin_nand128(const char*); -_Decimal128 __builtin_fabsd128(_Decimal128); -_Decimal32 __builtin_fabsd32(_Decimal32); -_Decimal64 __builtin_fabsd64(_Decimal64); -int __builtin_finited128(_Decimal128); -int __builtin_finited32(_Decimal32); -int __builtin_finited64(_Decimal64); -int __builtin_isinfd128(_Decimal128); -int __builtin_isinfd32(_Decimal32); -int __builtin_isinfd64(_Decimal64); -int __builtin_isnand128(_Decimal128); -int __builtin_isnand32(_Decimal32); -int __builtin_isnand64(_Decimal64); -int __builtin_signbitd128(_Decimal128); -int __builtin_signbitd32(_Decimal32); -int __builtin_signbitd64(_Decimal64); -_Decimal128 __builtin_nansd128(const char*); -_Decimal32 __builtin_nansd32(const char*); -_Decimal64 __builtin_nansd64(const char*); -#endif /* GCC >= 4.0 */ - -#ifdef __COVERITY_CILKPLUS -#define _Cilk_spawn -#define _Cilk_sync -#define _Cilk_for for -#endif /* __cilk */ - -#if __COVERITY_GCC_VERSION_AT_LEAST(8, 0) -/* - * The following macros are used to implement __builtin_tgmath. This GCC - * intrinsic is used to support type generic math operations in C modes. These - * can be disabled by defining __COVERITY_DISABLE_TGTMATH. - */ -#if !defined(__COVERITY_DISABLE_TGTMATH) && !defined(__coverity_cplusplus) -#define __coverity_count_args(...) __coverity_count_args_n(-,##__VA_ARGS__,9,8,7,6,5,4,3,2,1,0) -#define __coverity_count_args_n(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, count, ...) count -#define __coverity_cat(x, ...) __coverity_cat_n(x, __VA_ARGS__) -#define __coverity_cat_n(x, ...) x ## __VA_ARGS__ - -#define __builtin_tgmath(...) \ - __coverity_cat(__coverity_tgmath_,__coverity_count_args(__VA_ARGS__))(__VA_ARGS__) - -#define __coverity_tgmath_4(...) __coverity_tgmath_real(__VA_ARGS__) -#define __coverity_tgmath_5(...) __coverity_tgmath_real(__VA_ARGS__) -#define __coverity_tgmath_6(...) __coverity_tgmath_real(__VA_ARGS__) -#define __coverity_tgmath_7(...) __coverity_tgmath_cplx(__VA_ARGS__) -#define __coverity_tgmath_8(...) __coverity_tgmath_cplx(__VA_ARGS__) -#define __coverity_tgmath_9(...) __coverity_tgmath_cplx(__VA_ARGS__) - -#define __coverity_tgmath_real(rf, r, rl, arg0, ...) \ - _Generic((arg0), \ - float: (rf)(arg0, ## __VA_ARGS__), \ - long double: (rl)(arg0, ## __VA_ARGS__), \ - default: (r)(arg0, ## __VA_ARGS__)) -#define __coverity_tgmath_cplx(rf, r, rl, cf, c, cl, arg0, ...) \ - _Generic((arg0), \ - float: (rf)(arg0, ## __VA_ARGS__), \ - long double: (rl)(arg0, ## __VA_ARGS__), \ - __complex__ float: (cf)(arg0, ## __VA_ARGS__), \ - __complex__ long double: (cl)(arg0, ## __VA_ARGS__), \ - __complex__ double: (c)(arg0, ## __VA_ARGS__), \ - default: (r)(arg0, ## __VA_ARGS__)) -#endif /* !__COVERITY_DISABLE_TGTMATH_DECLS && !__coverity_cplusplus */ -#endif /* GCC 8+ */ -/* - Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. - The information contained in this file is the proprietary and confidential - information of Synopsys, Inc. and its licensors, and is supplied subject to, - and may be used only by Synopsys customers in accordance with the terms and - conditions of a previously executed license agreement between Synopsys and - that customer. -*/ - -/* - * These declarations are needed for GCC's transactional memory support. They - * are not supported intrinsically by cov-emit. - */ - -// -fgnu-tm -mavx -void __builtin__ITM_abortTransaction(int); -unsigned int __builtin__ITM_beginTransaction(unsigned int, ...); -void* __builtin__ITM_calloc(long unsigned int, long unsigned int); -void __builtin__ITM_changeTransactionMode(int); -void __builtin__ITM_commitTransactionEH(void*); -void __builtin__ITM_free(void*); -void* __builtin__ITM_getTMCloneOrIrrevocable(void*); -void* __builtin__ITM_getTMCloneSafe(void*); -void __builtin__ITM_LB(volatile void*, long unsigned int); -void __builtin__ITM_LD(volatile void*); -void __builtin__ITM_LE(volatile void*); -void __builtin__ITM_LF(volatile void*); -void __builtin__ITM_LM128(const void*); -void __builtin__ITM_LM256(const void*); -void __builtin__ITM_LM64(const void*); -void __builtin__ITM_LU1(volatile void*); -void __builtin__ITM_LU2(volatile void*); -void __builtin__ITM_LU4(volatile void*); -void __builtin__ITM_LU8(volatile void*); -void* __builtin__ITM_malloc(long unsigned int); -void __builtin__ITM_memcpyRnWt(void*, const void*, long unsigned int); -void __builtin__ITM_memcpyRtWn(void*, const void*, long unsigned int); -void __builtin__ITM_memcpyRtWt(void*, const void*, long unsigned int); -void __builtin__ITM_memmoveRtWt(void*, const void*, long unsigned int); -void __builtin__ITM_memsetW(void*, int, long unsigned int); -double __builtin__ITM_RaRD(double*); -long double __builtin__ITM_RaRE(volatile void*); -float __builtin__ITM_RaRF(volatile void*); -__edg_vector_type__(float,4) __builtin__ITM_RaRM128(const __edg_vector_type__(float,4)*); -__edg_vector_type__(float,8) __builtin__ITM_RaRM256(const __edg_vector_type__(float,8)*); -__edg_vector_type__(int,2) __builtin__ITM_RaRM64(const __edg_vector_type__(int,2)*); -unsigned char __builtin__ITM_RaRU1(volatile void*); -short unsigned int __builtin__ITM_RaRU2(volatile void*); -unsigned int __builtin__ITM_RaRU4(volatile void*); -long unsigned int __builtin__ITM_RaRU8(volatile void*); -double __builtin__ITM_RaWD(double*); -long double __builtin__ITM_RaWE(volatile void*); -float __builtin__ITM_RaWF(volatile void*); -__edg_vector_type__(float,4) __builtin__ITM_RaWM128(const __edg_vector_type__(float,4)*); -__edg_vector_type__(float,8) __builtin__ITM_RaWM256(const __edg_vector_type__(float,8)*); -__edg_vector_type__(int,2) __builtin__ITM_RaWM64(const __edg_vector_type__(int,2)*); -unsigned char __builtin__ITM_RaWU1(volatile void*); -short unsigned int __builtin__ITM_RaWU2(volatile void*); -unsigned int __builtin__ITM_RaWU4(volatile void*); -long unsigned int __builtin__ITM_RaWU8(volatile void*); -double __builtin__ITM_RD(double*); -long double __builtin__ITM_RE(volatile void*); -float __builtin__ITM_RF(volatile void*); -double __builtin__ITM_RfWD(double*); -long double __builtin__ITM_RfWE(volatile void*); -float __builtin__ITM_RfWF(volatile void*); -__edg_vector_type__(float,4) __builtin__ITM_RfWM128(const __edg_vector_type__(float,4)*); -__edg_vector_type__(float,8) __builtin__ITM_RfWM256(const __edg_vector_type__(float,8)*); -__edg_vector_type__(int,2) __builtin__ITM_RfWM64(const __edg_vector_type__(int,2)*); -unsigned char __builtin__ITM_RfWU1(volatile void*); -short unsigned int __builtin__ITM_RfWU2(volatile void*); -unsigned int __builtin__ITM_RfWU4(volatile void*); -long unsigned int __builtin__ITM_RfWU8(volatile void*); -__edg_vector_type__(float,4) __builtin__ITM_RM128(const __edg_vector_type__(float,4)*); -__edg_vector_type__(float,8) __builtin__ITM_RM256(const __edg_vector_type__(float,8)*); -__edg_vector_type__(int,2) __builtin__ITM_RM64(const __edg_vector_type__(int,2)*); -unsigned char __builtin__ITM_RU1(volatile void*); -short unsigned int __builtin__ITM_RU2(volatile void*); -unsigned int __builtin__ITM_RU4(volatile void*); -long unsigned int __builtin__ITM_RU8(volatile void*); -void __builtin__ITM_WaRD(volatile void*, double); -void __builtin__ITM_WaRE(volatile void*, long double); -void __builtin__ITM_WaRF(volatile void*, float); -void __builtin__ITM_WaRM128(__edg_vector_type__(float,4)*, __edg_vector_type__(float,4)); -void __builtin__ITM_WaRM256(__edg_vector_type__(float,8)*, __edg_vector_type__(float,8)); -void __builtin__ITM_WaRM64(__edg_vector_type__(int,2)*, __edg_vector_type__(int,2)); -void __builtin__ITM_WaRU1(volatile void*, unsigned char); -void __builtin__ITM_WaRU2(volatile void*, short unsigned int); -void __builtin__ITM_WaRU4(volatile void*, unsigned int); -void __builtin__ITM_WaRU8(volatile void*, long unsigned int); -void __builtin__ITM_WaWD(volatile void*, double); -void __builtin__ITM_WaWE(volatile void*, long double); -void __builtin__ITM_WaWF(volatile void*, float); -void __builtin__ITM_WaWM128(__edg_vector_type__(float,4)*, __edg_vector_type__(float,4)); -void __builtin__ITM_WaWM256(__edg_vector_type__(float,8)*, __edg_vector_type__(float,8)); -void __builtin__ITM_WaWM64(__edg_vector_type__(int,2)*, __edg_vector_type__(int,2)); -void __builtin__ITM_WaWU1(volatile void*, unsigned char); -void __builtin__ITM_WaWU2(volatile void*, short unsigned int); -void __builtin__ITM_WaWU4(volatile void*, unsigned int); -void __builtin__ITM_WaWU8(volatile void*, long unsigned int); -void __builtin__ITM_WD(volatile void*, double); -void __builtin__ITM_WE(volatile void*, long double); -void __builtin__ITM_WF(volatile void*, float); -void __builtin__ITM_WM128(__edg_vector_type__(float,4)*, __edg_vector_type__(float,4)); -void __builtin__ITM_WM256(__edg_vector_type__(float,8)*, __edg_vector_type__(float,8)); -void __builtin__ITM_WM64(__edg_vector_type__(int,2)*, __edg_vector_type__(int,2)); -void __builtin__ITM_WU1(volatile void*, unsigned char); -void __builtin__ITM_WU2(volatile void*, short unsigned int); -void __builtin__ITM_WU4(volatile void*, unsigned int); -void __builtin__ITM_WU8(volatile void*, long unsigned int); -void __builtin__ITM_commitTransaction(void); - -/* - Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. - The information contained in this file is the proprietary and confidential - information of Synopsys, Inc. and its licensors, and is supplied subject to, - and may be used only by Synopsys customers in accordance with the terms and - conditions of a previously executed license agreement between Synopsys and - that customer. -*/ - -/* - * These declarations are needed for GCC's OpenMP/OpenACC support. They are not - * supported intrinsically by cov-emit. - */ - -#ifdef _OPENMP -int __builtin_acc_get_device_type(void); -void __builtin_GOACC_data_end(void); -void __builtin_GOMP_atomic_end(void); -void __builtin_GOMP_atomic_start(void); -void __builtin_GOMP_barrier(void); -__edg_bool_type__ __builtin_GOMP_barrier_cancel(void); -void __builtin_GOMP_critical_end(void); -void __builtin_GOMP_critical_start(void); -void __builtin_GOMP_loop_end(void); -__edg_bool_type__ __builtin_GOMP_loop_end_cancel(void); -void __builtin_GOMP_loop_end_nowait(void); -void __builtin_GOMP_ordered_end(void); -void __builtin_GOMP_ordered_start(void); -void __builtin_GOMP_sections_end(void); -__edg_bool_type__ __builtin_GOMP_sections_end_cancel(void); -void __builtin_GOMP_sections_end_nowait(void); -unsigned int __builtin_GOMP_sections_next(void); -void* __builtin_GOMP_single_copy_start(void); -__edg_bool_type__ __builtin_GOMP_single_start(void); -void __builtin_GOMP_target_end_data(void); -void __builtin_GOMP_taskgroup_end(void); -void __builtin_GOMP_taskgroup_start(void); -void __builtin_GOMP_taskwait(void); -void __builtin_GOMP_taskyield(void); -int __builtin_omp_get_num_teams(void); -int __builtin_omp_get_num_threads(void); -int __builtin_omp_get_team_num(void); -int __builtin_omp_get_thread_num(void); -void __builtin_GOACC_data_start(int, long unsigned int, void*, void*, void*); -void __builtin_GOACC_declare(int, long unsigned int, void*, void*, void*); -void __builtin_GOACC_enter_exit_data(int, long unsigned int, void*, void*, void*, int, int, ...); -void __builtin_GOACC_parallel_keyed(int, void (*)(void*), long unsigned int, void*, void*, void*, ...); -int __builtin_goacc_parlevel_id(int); -int __builtin_goacc_parlevel_size(int); -void __builtin_GOACC_update(int, long unsigned int, void*, void*, void*, int, int, ...); -void __builtin_GOACC_wait(int, int, ...); -__edg_bool_type__ __builtin_GOMP_cancel(int, __edg_bool_type__); -__edg_bool_type__ __builtin_GOMP_cancellation_point(int); -void __builtin_GOMP_critical_name_end(void**); -void __builtin_GOMP_critical_name_start(void**); -void __builtin_GOMP_doacross_post(void*); -void __builtin_GOMP_doacross_ull_post(void*); -void __builtin_GOMP_doacross_ull_wait(long long unsigned int, ...); -void __builtin_GOMP_doacross_wait(long int, ...); -__edg_bool_type__ __builtin_GOMP_loop_doacross_dynamic_start(unsigned int, long int*, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_doacross_guided_start(unsigned int, long int*, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_doacross_runtime_start(unsigned int, long int*, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_doacross_start(unsigned int, long int*, long int, long int, long int*, long int*, void*, void*); -__edg_bool_type__ __builtin_GOMP_loop_doacross_static_start(unsigned int, long int*, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_dynamic_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_dynamic_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_guided_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_guided_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_maybe_nonmonotonic_runtime_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_maybe_nonmonotonic_runtime_start(long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_dynamic_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_dynamic_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_guided_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_guided_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_runtime_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_nonmonotonic_runtime_start(long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_dynamic_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_dynamic_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_guided_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_guided_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_runtime_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_runtime_start(long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_start(long int, long int, long int, long int, long int, long int*, long int*, void*, void*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_static_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ordered_static_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_runtime_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_runtime_start(long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_start(long int, long int, long int, long int, long int, long int*, long int*, void*, void*); -__edg_bool_type__ __builtin_GOMP_loop_static_next(long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_static_start(long int, long int, long int, long int, long int*, long int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_dynamic_start(unsigned int, long long unsigned int*, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_guided_start(unsigned int, long long unsigned int*, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_runtime_start(unsigned int, long long unsigned int*, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_start(unsigned int, long long unsigned int*, long int, long long unsigned int, long long unsigned int*, long long unsigned int*, void*, void*); -__edg_bool_type__ __builtin_GOMP_loop_ull_doacross_static_start(unsigned int, long long unsigned int*, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_dynamic_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_dynamic_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_guided_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_guided_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_maybe_nonmonotonic_runtime_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_maybe_nonmonotonic_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_dynamic_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_dynamic_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_guided_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_guided_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_runtime_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_nonmonotonic_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_dynamic_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_dynamic_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_guided_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_guided_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_runtime_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long int, long long unsigned int, long long unsigned int*, long long unsigned int*, void*, void*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_static_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_ordered_static_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_runtime_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_runtime_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long int, long long unsigned int, long long unsigned int*, long long unsigned int*, void*, void*); -__edg_bool_type__ __builtin_GOMP_loop_ull_static_next(long long unsigned int*, long long unsigned int*); -__edg_bool_type__ __builtin_GOMP_loop_ull_static_start(__edg_bool_type__, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int*, long long unsigned int*); -void __builtin_GOMP_offload_register_ver(int, void*, int, void*); -void __builtin_GOMP_offload_unregister_ver(int, void*, int, void*); -void __builtin_GOMP_parallel(void (*)(void*), void*, unsigned int, unsigned int); -void __builtin_GOMP_parallel_loop_dynamic(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); -void __builtin_GOMP_parallel_loop_guided(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); -void __builtin_GOMP_parallel_loop_maybe_nonmonotonic_runtime(void (*)(void*), void*, unsigned int, long int, long int, long int, unsigned int); -void __builtin_GOMP_parallel_loop_nonmonotonic_dynamic(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); -void __builtin_GOMP_parallel_loop_nonmonotonic_guided(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); -void __builtin_GOMP_parallel_loop_nonmonotonic_runtime(void (*)(void*), void*, unsigned int, long int, long int, long int, unsigned int); -void __builtin_GOMP_parallel_loop_runtime(void (*)(void*), void*, unsigned int, long int, long int, long int, unsigned int); -void __builtin_GOMP_parallel_loop_static(void (*)(void*), void*, unsigned int, long int, long int, long int, long int, unsigned int); -unsigned int __builtin_GOMP_parallel_reductions(void (*)(void*), void*, unsigned int, unsigned int); -void __builtin_GOMP_parallel_sections(void (*)(void*), void*, unsigned int, unsigned int, unsigned int); -unsigned int __builtin_GOMP_sections2_start(unsigned int, void*, void*); -unsigned int __builtin_GOMP_sections_start(unsigned int); -void __builtin_GOMP_single_copy_end(void*); -void __builtin_GOMP_target_data_ext(int, long unsigned int, void*, void*, void*); -void __builtin_GOMP_target_enter_exit_data(int, long unsigned int, void*, void*, void*, unsigned int, void*); -void __builtin_GOMP_target_ext(int, void (*)(void*), long unsigned int, void*, void*, void*, unsigned int, void*, void*); -void __builtin_GOMP_target_update_ext(int, long unsigned int, void*, void*, void*, unsigned int, void*); -#if __COVERITY_GCC_VERSION_AT_LEAST(6, 0) -void __builtin_GOMP_task(void (*)(void*), void*, void (*)(void*, void*), long int, long int, __edg_bool_type__, unsigned int, void*, int); -#endif -void __builtin_GOMP_taskgroup_reduction_register(void*); -void __builtin_GOMP_taskgroup_reduction_unregister(void*); -void __builtin_GOMP_taskloop(void (*)(void*), void*, void (*)(void*, void*), long int, long int, unsigned int, long int, int, long int, long int, long int); -void __builtin_GOMP_taskloop_ull(void (*)(void*), void*, void (*)(void*, void*), long int, long int, unsigned int, long int, int, long long unsigned int, long long unsigned int, long long unsigned int); -void __builtin_GOMP_task_reduction_remap(long unsigned int, long unsigned int, void*); -void __builtin_GOMP_taskwait_depend(void*); -void __builtin_GOMP_teams(unsigned int, unsigned int); -void __builtin_GOMP_teams_reg(void (*)(void*), void*, unsigned int, unsigned int, unsigned int); -void __builtin_GOMP_workshare_task_reduction_unregister(__edg_bool_type__); -void* __builtin_GOMP_alloc(long unsigned int, long unsigned int, long int); -void __builtin_GOMP_free(void*, long int); - -#if __COVERITY_GCC_VERSION_AT_LEAST(12, 0) -void __builtin_GOACC_barrier(); -void __builtin_GOACC_enter_data(int, long unsigned int, void*, void*, void*, int, int, ...); -void __builtin_GOACC_exit_data(int, long unsigned int, void*, void*, void*, int, int, ...); -void __builtin_GOACC_single_copy_end(void*); -void* __builtin_GOACC_single_copy_start(); -__cov_bool __builtin_GOACC_single_start(); -void __builtin_GOMP_error(const void*, long unsigned int); -void __builtin_GOMP_scope_start(void*); -__cov_bool __builtin_GOMP_teams4(unsigned int, unsigned int, unsigned int, __cov_bool); -void __builtin_GOMP_warning(const void*, long unsigned int); -#endif /* GCC >= 12.0 */ -#endif /* _OPENMP */ -/* Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. */ -#ifdef __coverity_cplusplus -extern "C" { -#endif - -#ifdef __PPC__ - -typedef int __attribute__((vector_size(8))) __ev64_opaque__; -typedef int __ppc_v2i __attribute__ ((__vector_size__ (8))); - -int __builtin_spe_brinc(int, int); -__ppc_v2i __builtin_spe_evabs(__ppc_v2i); -__ppc_v2i __builtin_spe_evaddiw(__ppc_v2i, char); -__ppc_v2i __builtin_spe_evaddsmiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evaddssiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evaddumiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evaddusiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evaddw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evand(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evandc(__ppc_v2i, __ppc_v2i); -int __builtin_spe_evcmpeq(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evcmpgts(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evcmpgtu(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evcmplts(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evcmpltu(int, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evcntlsw(__ppc_v2i); -__ppc_v2i __builtin_spe_evcntlzw(__ppc_v2i); -__ppc_v2i __builtin_spe_evdivws(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evdivwu(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_eveqv(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evextsb(__ppc_v2i); -__ppc_v2i __builtin_spe_evextsh(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsabs(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsadd(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evfscfsf(__ppc_v2i); -__ppc_v2i __builtin_spe_evfscfsi(__ppc_v2i); -__ppc_v2i __builtin_spe_evfscfuf(__ppc_v2i); -__ppc_v2i __builtin_spe_evfscfui(__ppc_v2i); -int __builtin_spe_evfscmpeq(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evfscmpgt(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evfscmplt(int, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evfsctsf(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsctsi(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsctsiz(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsctuf(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsctui(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsctuiz(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsdiv(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evfsmul(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evfsnabs(__ppc_v2i); -__ppc_v2i __builtin_spe_evfsneg(__ppc_v2i); -__ppc_v2i __builtin_spe_evfssub(__ppc_v2i, __ppc_v2i); -int __builtin_spe_evfststeq(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evfststgt(int, __ppc_v2i, __ppc_v2i); -int __builtin_spe_evfststlt(int, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evldd(__ppc_v2i*, int); -__ppc_v2i __builtin_spe_evlddx(__ppc_v2i*, int); -__ppc_v2i __builtin_spe_evldh(__ppc_v2i*, int); -__ppc_v2i __builtin_spe_evldhx(__ppc_v2i*, int); -__ppc_v2i __builtin_spe_evldw(__ppc_v2i*, int); -__ppc_v2i __builtin_spe_evldwx(__ppc_v2i*, int); -__ppc_v2i __builtin_spe_evlhhesplat(short unsigned int*, int); -__ppc_v2i __builtin_spe_evlhhesplatx(short unsigned int*, int); -__ppc_v2i __builtin_spe_evlhhossplat(short unsigned int*, int); -__ppc_v2i __builtin_spe_evlhhossplatx(short unsigned int*, int); -__ppc_v2i __builtin_spe_evlhhousplat(short unsigned int*, int); -__ppc_v2i __builtin_spe_evlhhousplatx(short unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhe(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhex(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhos(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhosx(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhou(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhoux(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhsplat(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwhsplatx(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwwsplat(unsigned int*, int); -__ppc_v2i __builtin_spe_evlwwsplatx(unsigned int*, int); -__ppc_v2i __builtin_spe_evmergehi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmergehilo(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmergelo(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmergelohi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhegsmfaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhegsmfan(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhegsmiaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhegsmian(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhegumiaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhegumian(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmfaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmfanw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhesmianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhessf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhessfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhessfaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhessfanw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhessiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhessianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmheumi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmheumia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmheumiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmheumianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmheusiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmheusianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhogsmfaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhogsmfan(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhogsmiaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhogsmian(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhogumiaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhogumian(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmfaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmfanw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhosmianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhossf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhossfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhossfaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhossfanw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhossiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhossianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhoumi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhoumia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhoumiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhoumianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhousiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmhousianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmra(__ppc_v2i); -__ppc_v2i __builtin_spe_evmwhsmf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwhsmfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwhsmi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwhsmia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwhssf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwhssfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwhumi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwhumia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlsmiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlsmianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlssiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlssianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlumi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlumia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlumiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlumianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlusiaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwlusianw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmfaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmfan(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmiaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwsmian(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwssf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwssfa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwssfaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwssfan(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwumi(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwumia(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwumiaa(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evmwumian(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evnand(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evneg(__ppc_v2i); -__ppc_v2i __builtin_spe_evnor(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evor(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evorc(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evrlw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evrlwi(__ppc_v2i, char); -__ppc_v2i __builtin_spe_evrndw(__ppc_v2i); -__ppc_v2i __builtin_spe_evsel_eq(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_fseq(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_fsgt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_fslt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_fststeq(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_fststgt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_fststlt(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_gts(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_gtu(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_lts(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsel_ltu(__ppc_v2i, __ppc_v2i, __ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evslw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evslwi(__ppc_v2i, char); -__ppc_v2i __builtin_spe_evsplatfi(signed char); -__ppc_v2i __builtin_spe_evsplati(signed char); -__ppc_v2i __builtin_spe_evsrwis(__ppc_v2i, char); -__ppc_v2i __builtin_spe_evsrwiu(__ppc_v2i, char); -__ppc_v2i __builtin_spe_evsrws(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsrwu(__ppc_v2i, __ppc_v2i); -void __builtin_spe_evstdd(__ppc_v2i, __ppc_v2i*, char); -void __builtin_spe_evstddx(__ppc_v2i, __ppc_v2i*, int); -void __builtin_spe_evstdh(__ppc_v2i, __ppc_v2i*, char); -void __builtin_spe_evstdhx(__ppc_v2i, __ppc_v2i*, int); -void __builtin_spe_evstdw(__ppc_v2i, __ppc_v2i*, char); -void __builtin_spe_evstdwx(__ppc_v2i, __ppc_v2i*, int); -void __builtin_spe_evstwhe(__ppc_v2i, unsigned int*, char); -void __builtin_spe_evstwhex(__ppc_v2i, unsigned int*, int); -void __builtin_spe_evstwho(__ppc_v2i, unsigned int*, char); -void __builtin_spe_evstwhox(__ppc_v2i, unsigned int*, int); -void __builtin_spe_evstwwe(__ppc_v2i, unsigned int*, char); -void __builtin_spe_evstwwex(__ppc_v2i, unsigned int*, int); -void __builtin_spe_evstwwo(__ppc_v2i, unsigned int*, char); -void __builtin_spe_evstwwox(__ppc_v2i, unsigned int*, int); -__ppc_v2i __builtin_spe_evsubfsmiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evsubfssiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evsubfumiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evsubfusiaaw(__ppc_v2i); -__ppc_v2i __builtin_spe_evsubfw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe_evsubifw(__ppc_v2i, char); -__ppc_v2i __builtin_spe_evxor(__ppc_v2i, __ppc_v2i); -int __builtin_spe_mfspefscr(); -void __builtin_spe_mtspefscr(int); - -__ppc_v2i __builtin_spe2_evaddwss(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evaddhss(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evsubfwss(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evsubfhss(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evsatsdsw(__ppc_v2i); -__ppc_v2i __internal_ev_mwhssfanw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evmwhssfanw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evmwhssfaaw(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evdotpwcssf(__ppc_v2i, __ppc_v2i); -__ppc_v2i __builtin_spe2_evdotphihcssf(__ppc_v2i, __ppc_v2i); - -#endif - -#ifdef __coverity_cplusplus -} -#endif - -#ifdef __COVERITY_ALTIVEC__ -/* Declarations of AltiVec PPU built-in intrinsic functions. */ -/* Many of these are overloaded, so they can't be declared in C. For those - * that have operator equivalents those equivalents are used in C instead, - * otherwise a generic version with no parameter types is declared. - */ - -typedef vector int __coverity_generic_altivec_vector; - -#ifdef __coverity_cplusplus -extern vector signed char __builtin_vec_abs (vector signed char a1); -extern vector signed short __builtin_vec_abs (vector signed short a1); -extern vector signed int __builtin_vec_abs (vector signed int a1); -extern vector float __builtin_vec_abs (vector float a1); - -extern vector signed char __builtin_vec_abss (vector signed char a1); -extern vector signed short __builtin_vec_abss (vector signed short a1); -#else -__coverity_generic_altivec_vector __builtin_vec_abs(); -__coverity_generic_altivec_vector __builtin_vec_abss(); -#endif - -#ifdef __coverity_cplusplus - extern vector unsigned int __builtin_vec_vslw (vector unsigned int a1, vector unsigned int a2); -#else -__coverity_generic_altivec_vector __builtin_vec_vslw (); -#endif - -#ifdef __coverity_cplusplus -extern int __builtin_vec_vcmpgt_p(int, vector signed char a1, vector signed char a2); -extern int __builtin_vec_vcmpgt_p(int, vector unsigned char a1, vector unsigned char a2); -extern int __builtin_vec_vcmpgt_p(int, vector signed short a1, vector signed short a2); -extern int __builtin_vec_vcmpgt_p(int, vector unsigned short a1, vector unsigned short a2); -extern int __builtin_vec_vcmpgt_p(int, vector signed int a1, vector signed int a2); -extern int __builtin_vec_vcmpgt_p(int, vector unsigned int a1, vector unsigned int a2); -extern int __builtin_vec_vcmpgt_p(int, vector signed char a1, vector signed char a2); -extern int __builtin_vec_vcmpgt_p(int, vector float a1, vector float a2); -#else -int __builtin_vec_vcmpgt_p(); -#endif - -#ifdef __coverity_cplusplus -extern vector signed char __builtin_vec_add (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_add (vector signed char a1, vector unsigned char a2); - -extern vector unsigned char __builtin_vec_add (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_add (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_add (vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_vec_add (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_add (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_add (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_add (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_add (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_add (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_add (vector unsigned int a1, vector unsigned int a2); -extern vector float __builtin_vec_add (vector float a1, vector float a2); -#else -# define __builtin_vec_add(a, b) ((a) + (b)) -#endif - -extern vector unsigned int __builtin_vec_addc (vector unsigned int a1, vector unsigned int a2); - -#ifdef __coverity_cplusplus -extern vector unsigned char __builtin_vec_adds (vector signed char a1, - vector unsigned char a2); -extern vector unsigned char __builtin_vec_adds (vector unsigned char a1, - vector signed char a2); -extern vector unsigned char __builtin_vec_adds (vector unsigned char a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_adds (vector signed char a1, vector signed char a2); -extern vector unsigned short __builtin_vec_adds (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_adds (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_adds (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_adds (vector signed short a1, vector signed short a2); - -extern vector unsigned int __builtin_vec_adds (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_adds (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_adds (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_adds (vector signed int a1, vector signed int a2); -#else -__coverity_generic_altivec_vector __builtin_vec_adds (); -#endif - -#ifdef __coverity_cplusplus -extern vector float __builtin_vec_and (vector float a1, vector float a2); -extern vector float __builtin_vec_and (vector float a1, vector signed int a2); -extern vector float __builtin_vec_and (vector signed int a1, vector float a2); -extern vector signed int __builtin_vec_and (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_and (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_and (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_and (vector unsigned int a1, vector unsigned int a2); -extern vector signed short __builtin_vec_and (vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_vec_and (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_and (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_and (vector unsigned short a1, - vector unsigned short a2); -extern vector signed char __builtin_vec_and (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_and (vector signed char a1, vector unsigned char a2); - -extern vector unsigned char __builtin_vec_and (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_and (vector unsigned char a1, - vector unsigned char a2); -#else -# define __builtin_vec_and(a, b) ((a) & (b)) -#endif - -#ifdef __coverity_cplusplus -extern vector float __builtin_vec_andc (vector float a1, vector float a2); -extern vector float __builtin_vec_andc (vector float a1, vector signed int a2); -extern vector float __builtin_vec_andc (vector signed int a1, vector float a2); -extern vector signed int __builtin_vec_andc (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_andc (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_andc (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_andc (vector unsigned int a1, vector unsigned int a2); - -extern vector signed short __builtin_vec_andc (vector signed short a1, vector signed short a2); - -extern vector unsigned short __builtin_vec_andc (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_andc (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_andc (vector unsigned short a1, - vector unsigned short a2); -extern vector signed char __builtin_vec_andc (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_andc (vector signed char a1, - vector unsigned char a2); -extern vector unsigned char __builtin_vec_andc (vector unsigned char a1, - vector signed char a2); -extern vector unsigned char __builtin_vec_andc (vector unsigned char a1, - vector unsigned char a2); -#else -__coverity_generic_altivec_vector __builtin_vec_andc (); -#endif - -#ifdef __coverity_cplusplus -extern vector unsigned char __builtin_vec_avg (vector unsigned char a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_avg (vector signed char a1, vector signed char a2); -extern vector unsigned short __builtin_vec_avg (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_avg (vector signed short a1, vector signed short a2); -extern vector unsigned int __builtin_vec_avg (vector unsigned int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_avg (vector signed int a1, vector signed int a2); -#else -__coverity_generic_altivec_vector __builtin_vec_avg (); -#endif - -extern vector float __builtin_vec_ceil (vector float a1); - -extern vector signed int __builtin_vec_cmpb (vector float a1, vector float a2); - -#ifdef __coverity_cplusplus -extern vector signed char __builtin_vec_cmpeq (vector signed char a1, vector signed char a2); -extern vector signed char __builtin_vec_cmpeq (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_cmpeq (vector signed short a1, - vector signed short a2); -extern vector signed short __builtin_vec_cmpeq (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_cmpeq (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_cmpeq (vector unsigned int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_cmpeq (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_cmpge (vector float a1, vector float a2); - -extern vector signed char __builtin_vec_cmpgt (vector unsigned char a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_cmpgt (vector signed char a1, vector signed char a2); -extern vector signed short __builtin_vec_cmpgt (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_cmpgt (vector signed short a1, - vector signed short a2); -extern vector signed int __builtin_vec_cmpgt (vector unsigned int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_cmpgt (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_cmpgt (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_cmple (vector float a1, vector float a2); - -extern vector signed char __builtin_vec_cmplt (vector unsigned char a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_cmplt (vector signed char a1, vector signed char a2); -extern vector signed short __builtin_vec_cmplt (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_cmplt (vector signed short a1, - vector signed short a2); -extern vector signed int __builtin_vec_cmplt (vector unsigned int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_cmplt (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_cmplt (vector float a1, vector float a2); -#else -__coverity_generic_altivec_vector __builtin_vec_cmpeq (); -__coverity_generic_altivec_vector __builtin_vec_cmpge (); -__coverity_generic_altivec_vector __builtin_vec_cmpgt (); -__coverity_generic_altivec_vector __builtin_vec_cmple (); -__coverity_generic_altivec_vector __builtin_vec_cmplt (); -#endif - -#ifdef __coverity_cplusplus -extern vector float __builtin_vec_ctf (vector unsigned int a1, const char a2); -extern vector float __builtin_vec_ctf (vector signed int a1, const char a2); -#else -extern vector float __builtin_vec_ctf (); -#endif - -extern vector signed int __builtin_vec_cts (vector float a1, const char a2); - -extern vector unsigned int __builtin_vec_ctu (vector float a1, const char a2); - -extern void __builtin_vec_dss (const char a1); - -extern void __builtin_vec_dssall (void); - -extern void __builtin_vec_dst (const void * a1, int a2, const char a3); - -extern void __builtin_vec_dstst (const void * a1, int a2, const char a3); - -extern void __builtin_vec_dststt (const void * a1, int a2, const char a3); - -extern void __builtin_vec_dstt (const void * a1, int a2, const char a3); - -#ifdef __coverity_cplusplus -extern vector float __builtin_vec_expte (vector float a1, vector float a2); -extern vector float __builtin_vec_expte (vector float a1); - -extern vector float __builtin_vec_floor (vector float a1, vector float a2); -extern vector float __builtin_vec_floor (vector float a1); -#else -__coverity_generic_altivec_vector __builtin_vec_expte(); -__coverity_generic_altivec_vector __builtin_vec_floor(); -#endif - -#ifdef __coverity_cplusplus -extern vector float __builtin_vec_ld (int a1, vector float * a2); -extern vector float __builtin_vec_ld (int a1, float * a2); -extern vector signed int __builtin_vec_ld (int a1, int * a2); -extern vector signed int __builtin_vec_ld (int a1, vector signed int * a2); -extern vector unsigned int __builtin_vec_ld (int a1, vector unsigned int * a2); -extern vector unsigned int __builtin_vec_ld (int a1, unsigned int * a2); -extern vector signed short __builtin_vec_ld (int a1, short * a2, vector signed short * a3); -extern vector unsigned short __builtin_vec_ld (int a1, unsigned short * a2, - vector unsigned short * a3); -extern vector signed char __builtin_vec_ld (int a1, signed char * a2); -extern vector signed char __builtin_vec_ld (int a1, vector signed char * a2); -extern vector unsigned char __builtin_vec_ld (int a1, unsigned char * a2); -extern vector unsigned char __builtin_vec_ld (int a1, vector unsigned char * a2); - -extern vector signed char __builtin_vec_lde (int a1, signed char * a2); -extern vector unsigned char __builtin_vec_lde (int a1, unsigned char * a2); -extern vector signed short __builtin_vec_lde (int a1, short * a2); -extern vector unsigned short __builtin_vec_lde (int a1, unsigned short * a2); -extern vector float __builtin_vec_lde (int a1, float * a2); -extern vector signed int __builtin_vec_lde (int a1, int * a2); -extern vector unsigned int __builtin_vec_lde (int a1, unsigned int * a2); - -extern vector float __builtin_vec_ldl (int a1, float * a2); -extern vector float __builtin_vec_ldl (int a1, vector float * a2); -extern vector signed int __builtin_vec_ldl (int a1, vector signed int * a2); -extern vector signed int __builtin_vec_ldl (int a1, int * a2); -extern vector unsigned int __builtin_vec_ldl (int a1, unsigned int * a2); -extern vector unsigned int __builtin_vec_ldl (int a1, vector unsigned int * a2); -extern vector signed short __builtin_vec_ldl (int a1, vector signed short * a2); -extern vector signed short __builtin_vec_ldl (int a1, short * a2); -extern vector unsigned short __builtin_vec_ldl (int a1, vector unsigned short * a2); -extern vector unsigned short __builtin_vec_ldl (int a1, unsigned short * a2); -extern vector signed char __builtin_vec_ldl (int a1, vector signed char * a2); -extern vector signed char __builtin_vec_ldl (int a1, signed char * a2); -extern vector unsigned char __builtin_vec_ldl (int a1, vector unsigned char * a2); -extern vector unsigned char __builtin_vec_ldl (int a1, unsigned char * a2); -#else -__coverity_generic_altivec_vector __builtin_vec_ld (); -__coverity_generic_altivec_vector __builtin_vec_lde (); -__coverity_generic_altivec_vector __builtin_vec_ldl (); -#endif - -extern vector float __builtin_vec_loge (vector float a1); - -extern vector unsigned char __builtin_vec_lvsl (int a1, const void * a2, int * a3); - -extern vector unsigned char __builtin_vec_lvsr (int a1, const void * a2, int * a3); - -extern vector float __builtin_vec_madd (vector float a1, vector float a2, vector float a3); - -extern vector signed short __builtin_vec_madds (vector signed short a1, vector signed short a2, - vector signed short a3); - -#ifdef __coverity_cplusplus -extern vector unsigned char __builtin_vec_max (vector signed char a1, vector unsigned char a2); - -extern vector unsigned char __builtin_vec_max (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_max (vector unsigned char a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_max (vector signed char a1, vector signed char a2); -extern vector unsigned short __builtin_vec_max (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_max (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_max (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_max (vector signed short a1, vector signed short a2); -extern vector unsigned int __builtin_vec_max (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_max (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_max (vector unsigned int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_max (vector signed int a1, vector signed int a2); -extern vector float __builtin_vec_max (vector float a1, vector float a2); - -extern vector signed char __builtin_vec_mergeh (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_mergeh (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_mergeh (vector signed short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_mergeh (vector unsigned short a1, - vector unsigned short a2); -extern vector float __builtin_vec_mergeh (vector float a1, vector float a2); -extern vector signed int __builtin_vec_mergeh (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_mergeh (vector unsigned int a1, - vector unsigned int a2); - -extern vector signed char __builtin_vec_mergel (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_mergel (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_mergel (vector signed short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_mergel (vector unsigned short a1, - vector unsigned short a2); -extern vector float __builtin_vec_mergel (vector float a1, vector float a2); -extern vector signed int __builtin_vec_mergel (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_mergel (vector unsigned int a1, - vector unsigned int a2); -#else -__coverity_generic_altivec_vector __builtin_vec_max (); -__coverity_generic_altivec_vector __builtin_vec_mergeh (); -__coverity_generic_altivec_vector __builtin_vec_mergel (); -#endif - -extern vector unsigned short __builtin_vec_mfvscr (void); - -#ifdef __coverity_cplusplus -extern vector unsigned char __builtin_vec_min (vector signed char a1, vector unsigned char a2); - -extern vector unsigned char __builtin_vec_min (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_min (vector unsigned char a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_min (vector signed char a1, vector signed char a2); -extern vector unsigned short __builtin_vec_min (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_min (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_min (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_min (vector signed short a1, vector signed short a2); -extern vector unsigned int __builtin_vec_min (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_min (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_min (vector unsigned int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_min (vector signed int a1, vector signed int a2); -extern vector float __builtin_vec_min (vector float a1, vector float a2); - -extern vector signed short __builtin_vec_mladd (vector signed short a1, vector signed short a2, - vector signed short a3); -extern vector signed short __builtin_vec_mladd (vector signed short a1, - vector unsigned short a2, - vector unsigned short a3); -extern vector signed short __builtin_vec_mladd (vector unsigned short a1, - vector signed short a2, - vector signed short a3); -extern vector unsigned short __builtin_vec_mladd (vector unsigned short a1, - vector unsigned short a2, - vector unsigned short a3); -#else -__coverity_generic_altivec_vector __builtin_vec_min (); -__coverity_generic_altivec_vector __builtin_vec_mladd (); -#endif - -extern vector signed short __builtin_vec_mradds (vector signed short a1, - vector signed short a2, - vector signed short a3); - -#ifdef __coverity_cplusplus -extern vector unsigned int __builtin_vec_msum (vector unsigned char a1, - vector unsigned char a2, - vector unsigned int a3); -extern vector signed int __builtin_vec_msum (vector signed char a1, vector unsigned char a2, - vector signed int a3); -extern vector unsigned int __builtin_vec_msum (vector unsigned short a1, - vector unsigned short a2, - vector unsigned int a3); -extern vector signed int __builtin_vec_msum (vector signed short a1, vector signed short a2, - vector signed int a3); - -extern vector unsigned int __builtin_vec_msums (vector unsigned short a1, - vector unsigned short a2, - vector unsigned int a3); -extern vector signed int __builtin_vec_msums (vector signed short a1, vector signed short a2, - vector signed int a3); - -extern void __builtin_vec_mtvscr (vector signed int a1); -extern void __builtin_vec_mtvscr (vector unsigned int a1); -extern void __builtin_vec_mtvscr (vector signed short a1); -extern void __builtin_vec_mtvscr (vector unsigned short a1); -extern void __builtin_vec_mtvscr (vector signed char a1); -extern void __builtin_vec_mtvscr (vector unsigned char a1); - -extern vector unsigned short __builtin_vec_mule (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_mule (vector signed char a1, vector signed char a2); -extern vector unsigned int __builtin_vec_mule (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_mule (vector signed short a1, vector signed short a2); - -extern vector unsigned short __builtin_vec_mulo (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_mulo (vector signed char a1, vector signed char a2); -extern vector unsigned int __builtin_vec_mulo (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_mulo (vector signed short a1, vector signed short a2); -#else -__coverity_generic_altivec_vector __builtin_vec_msum (); -__coverity_generic_altivec_vector __builtin_vec_msums (); -extern void __builtin_vec_mtvscr (); -__coverity_generic_altivec_vector __builtin_vec_mule (); -__coverity_generic_altivec_vector __builtin_vec_mulo (); -#endif - -extern vector float __builtin_vec_nmsub (vector float a1, vector float a2, vector float a3); - -#ifdef __coverity_cplusplus -extern vector float __builtin_vec_nor (vector float a1, vector float a2); -extern vector signed int __builtin_vec_nor (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_nor (vector unsigned int a1, vector unsigned int a2); -extern vector signed short __builtin_vec_nor (vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_vec_nor (vector unsigned short a1, - vector unsigned short a2); -extern vector signed char __builtin_vec_nor (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_nor (vector unsigned char a1, - vector unsigned char a2); - -extern vector float __builtin_vec_or (vector float a1, vector float a2); -extern vector float __builtin_vec_or (vector float a1, vector signed int a2); -extern vector float __builtin_vec_or (vector signed int a1, vector float a2); -extern vector signed int __builtin_vec_or (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_or (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_or (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_or (vector unsigned int a1, vector unsigned int a2); -extern vector signed short __builtin_vec_or (vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_vec_or (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_or (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_or (vector unsigned short a1, - vector unsigned short a2); -extern vector signed char __builtin_vec_or (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_or (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_or (vector unsigned char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_or (vector unsigned char a1, - vector unsigned char a2); - -extern vector signed char __builtin_vec_pack (vector signed short a1, vector signed short a2); -extern vector unsigned char __builtin_vec_pack (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_pack (vector signed int a1, vector signed int a2); -extern vector unsigned short __builtin_vec_pack (vector unsigned int a1, - vector unsigned int a2); -#else -# define __builtin_vec_nor(a, b) (~((a) | (b))) -# define __builtin_vec_or(a, b) ((a) | (b)) -__coverity_generic_altivec_vector __builtin_vec_pack (); -#endif - -extern vector signed short __builtin_vec_packpx (vector unsigned int a1, - vector unsigned int a2); - -#ifdef __coverity_cplusplus -extern vector unsigned char __builtin_vec_packs (vector unsigned short a1, - vector unsigned short a2); -extern vector signed char __builtin_vec_packs (vector signed short a1, vector signed short a2); - -extern vector unsigned short __builtin_vec_packs (vector unsigned int a1, - vector unsigned int a2); -extern vector signed short __builtin_vec_packs (vector signed int a1, vector signed int a2); - -extern vector unsigned char __builtin_vec_packsu (vector unsigned short a1, - vector unsigned short a2); -extern vector unsigned char __builtin_vec_packsu (vector signed short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_packsu (vector unsigned int a1, - vector unsigned int a2); -extern vector unsigned short __builtin_vec_packsu (vector signed int a1, vector signed int a2); - -extern vector float __builtin_vec_perm (vector float a1, vector float a2, - vector unsigned char a3); -extern vector signed int __builtin_vec_perm (vector signed int a1, vector signed int a2, - vector unsigned char a3); -extern vector unsigned int __builtin_vec_perm (vector unsigned int a1, vector unsigned int a2, - vector unsigned char a3); -extern vector signed short __builtin_vec_perm (vector signed short a1, vector signed short a2, - vector unsigned char a3); -extern vector unsigned short __builtin_vec_perm (vector unsigned short a1, - vector unsigned short a2, - vector unsigned char a3); -extern vector signed char __builtin_vec_perm (vector signed char a1, vector signed char a2, - vector unsigned char a3); -extern vector unsigned char __builtin_vec_perm (vector unsigned char a1, - vector unsigned char a2, - vector unsigned char a3); -#else -__coverity_generic_altivec_vector __builtin_vec_packs (); -__coverity_generic_altivec_vector __builtin_vec_packsu (); -__coverity_generic_altivec_vector __builtin_vec_perm (); -#endif - -extern vector float __builtin_vec_re (vector float a1); - -#ifdef __coverity_cplusplus -extern vector signed char __builtin_vec_rl (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_rl (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_rl (vector signed short a1, vector unsigned short a2); - -extern vector unsigned short __builtin_vec_rl (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_rl (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_rl (vector unsigned int a1, vector unsigned int a2); -#else -__coverity_generic_altivec_vector __builtin_vec_rl (); -#endif - -extern vector float __builtin_vec_round (vector float a1); - -extern vector float __builtin_vec_rsqrte (vector float a1); - -#ifdef __coverity_cplusplus -extern vector float __builtin_vec_sel (vector float a1, vector float a2, vector signed int a3); -extern vector float __builtin_vec_sel (vector float a1, vector float a2, vector unsigned int a3); -extern vector signed int __builtin_vec_sel (vector signed int a1, vector signed int a2, - vector signed int a3); -extern vector signed int __builtin_vec_sel (vector signed int a1, vector signed int a2, - vector unsigned int a3); -extern vector unsigned int __builtin_vec_sel (vector unsigned int a1, vector unsigned int a2, - vector signed int a3); -extern vector unsigned int __builtin_vec_sel (vector unsigned int a1, vector unsigned int a2, - vector unsigned int a3); -extern vector signed short __builtin_vec_sel (vector signed short a1, vector signed short a2, - vector signed short a3); -extern vector signed short __builtin_vec_sel (vector signed short a1, vector signed short a2, - vector unsigned short a3); -extern vector unsigned short __builtin_vec_sel (vector unsigned short a1, - vector unsigned short a2, - vector signed short a3); -extern vector unsigned short __builtin_vec_sel (vector unsigned short a1, - vector unsigned short a2, - vector unsigned short a3); -extern vector signed char __builtin_vec_sel (vector signed char a1, vector signed char a2, - vector signed char a3); -extern vector signed char __builtin_vec_sel (vector signed char a1, vector signed char a2, - vector unsigned char a3); -extern vector unsigned char __builtin_vec_sel (vector unsigned char a1, - vector unsigned char a2, - vector signed char a3); -extern vector unsigned char __builtin_vec_sel (vector unsigned char a1, - vector unsigned char a2, - vector unsigned char a3); - -extern vector signed char __builtin_vec_sl (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_sl (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_sl (vector signed short a1, vector unsigned short a2); - -extern vector unsigned short __builtin_vec_sl (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_sl (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_sl (vector unsigned int a1, vector unsigned int a2); - -extern vector float __builtin_vec_sld (vector float a1, vector float a2, const char a3); -extern vector signed int __builtin_vec_sld (vector signed int a1, vector signed int a2, - const char a3); -extern vector unsigned int __builtin_vec_sld (vector unsigned int a1, vector unsigned int a2, - const char a3); -extern vector signed short __builtin_vec_sld (vector signed short a1, vector signed short a2, - const char a3); -extern vector unsigned short __builtin_vec_sld (vector unsigned short a1, - vector unsigned short a2, const char a3); -extern vector signed char __builtin_vec_sld (vector signed char a1, vector signed char a2, - const char a3); -extern vector unsigned char __builtin_vec_sld (vector unsigned char a1, - vector unsigned char a2, - const char a3); - -extern vector signed int __builtin_vec_sll (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_sll (vector signed int a1, vector unsigned short a2); -extern vector signed int __builtin_vec_sll (vector signed int a1, vector unsigned char a2); -extern vector unsigned int __builtin_vec_sll (vector unsigned int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_sll (vector unsigned int a1, - vector unsigned short a2); -extern vector unsigned int __builtin_vec_sll (vector unsigned int a1, vector unsigned char a2); - -extern vector signed short __builtin_vec_sll (vector signed short a1, vector unsigned int a2); -extern vector signed short __builtin_vec_sll (vector signed short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_sll (vector signed short a1, vector unsigned char a2); - -extern vector unsigned short __builtin_vec_sll (vector unsigned short a1, - vector unsigned int a2); -extern vector unsigned short __builtin_vec_sll (vector unsigned short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_sll (vector unsigned short a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_sll (vector signed char a1, vector unsigned int a2); -extern vector signed char __builtin_vec_sll (vector signed char a1, vector unsigned short a2); -extern vector signed char __builtin_vec_sll (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_sll (vector unsigned char a1, - vector unsigned int a2); -extern vector unsigned char __builtin_vec_sll (vector unsigned char a1, - vector unsigned short a2); -extern vector unsigned char __builtin_vec_sll (vector unsigned char a1, - vector unsigned char a2); - -extern vector float __builtin_vec_slo (vector float a1, vector signed char a2); -extern vector float __builtin_vec_slo (vector float a1, vector unsigned char a2); -extern vector signed int __builtin_vec_slo (vector signed int a1, vector signed char a2); -extern vector signed int __builtin_vec_slo (vector signed int a1, vector unsigned char a2); -extern vector unsigned int __builtin_vec_slo (vector unsigned int a1, vector signed char a2); -extern vector unsigned int __builtin_vec_slo (vector unsigned int a1, vector unsigned char a2); - -extern vector signed short __builtin_vec_slo (vector signed short a1, vector signed char a2); -extern vector signed short __builtin_vec_slo (vector signed short a1, vector unsigned char a2); - -extern vector unsigned short __builtin_vec_slo (vector unsigned short a1, - vector signed char a2); -extern vector unsigned short __builtin_vec_slo (vector unsigned short a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_slo (vector signed char a1, vector signed char a2); -extern vector signed char __builtin_vec_slo (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_slo (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_slo (vector unsigned char a1, - vector unsigned char a2); - -extern vector signed char __builtin_vec_splat (vector signed char a1, const char a2); -extern vector unsigned char __builtin_vec_splat (vector unsigned char a1, const char a2); -extern vector signed short __builtin_vec_splat (vector signed short a1, const char a2); -extern vector unsigned short __builtin_vec_splat (vector unsigned short a1, const char a2); -extern vector float __builtin_vec_splat (vector float a1, const char a2); -extern vector signed int __builtin_vec_splat (vector signed int a1, const char a2); -extern vector unsigned int __builtin_vec_splat (vector unsigned int a1, const char a2); -#else -# define __builtin_vec_sl(a, b) ((a) << (b)) -__coverity_generic_altivec_vector __builtin_vec_sel (); -__coverity_generic_altivec_vector __builtin_vec_sel (); -__coverity_generic_altivec_vector __builtin_vec_sld (); -__coverity_generic_altivec_vector __builtin_vec_sll (); -__coverity_generic_altivec_vector __builtin_vec_slo (); -#endif - -extern vector signed char __builtin_vec_splat_s8 (const char a1); - -extern vector signed short __builtin_vec_splat_s16 (const char a1); - -extern vector signed int __builtin_vec_splat_s32 (const char a1); - -extern vector unsigned char __builtin_vec_splat_u8 (const char a1); - -extern vector unsigned short __builtin_vec_splat_u16 (const char a1); - -extern vector unsigned int __builtin_vec_splat_u32 (const char a1); - -#ifdef __coverity_cplusplus -extern vector signed char __builtin_vec_sr (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_sr (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_sr (vector signed short a1, vector unsigned short a2); - -extern vector unsigned short __builtin_vec_sr (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_sr (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_sr (vector unsigned int a1, vector unsigned int a2); - -extern vector signed char __builtin_vec_sra (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_sra (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_sra (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_sra (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_sra (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_sra (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_srl (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_srl (vector signed int a1, vector unsigned short a2); -extern vector signed int __builtin_vec_srl (vector signed int a1, vector unsigned char a2); -extern vector unsigned int __builtin_vec_srl (vector unsigned int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_srl (vector unsigned int a1, - vector unsigned short a2); -extern vector unsigned int __builtin_vec_srl (vector unsigned int a1, vector unsigned char a2); - -extern vector signed short __builtin_vec_srl (vector signed short a1, vector unsigned int a2); -extern vector signed short __builtin_vec_srl (vector signed short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_srl (vector signed short a1, vector unsigned char a2); - -extern vector unsigned short __builtin_vec_srl (vector unsigned short a1, - vector unsigned int a2); -extern vector unsigned short __builtin_vec_srl (vector unsigned short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_srl (vector unsigned short a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_srl (vector signed char a1, vector unsigned int a2); -extern vector signed char __builtin_vec_srl (vector signed char a1, vector unsigned short a2); -extern vector signed char __builtin_vec_srl (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_srl (vector unsigned char a1, - vector unsigned int a2); -extern vector unsigned char __builtin_vec_srl (vector unsigned char a1, - vector unsigned short a2); -extern vector unsigned char __builtin_vec_srl (vector unsigned char a1, - vector unsigned char a2); - -extern vector float __builtin_vec_sro (vector float a1, vector signed char a2); -extern vector float __builtin_vec_sro (vector float a1, vector unsigned char a2); -extern vector signed int __builtin_vec_sro (vector signed int a1, vector signed char a2); -extern vector signed int __builtin_vec_sro (vector signed int a1, vector unsigned char a2); -extern vector unsigned int __builtin_vec_sro (vector unsigned int a1, vector signed char a2); -extern vector unsigned int __builtin_vec_sro (vector unsigned int a1, vector unsigned char a2); - -extern vector signed short __builtin_vec_sro (vector signed short a1, vector signed char a2); -extern vector signed short __builtin_vec_sro (vector signed short a1, vector unsigned char a2); - -extern vector unsigned short __builtin_vec_sro (vector unsigned short a1, - vector signed char a2); -extern vector unsigned short __builtin_vec_sro (vector unsigned short a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_sro (vector signed char a1, vector signed char a2); -extern vector signed char __builtin_vec_sro (vector signed char a1, vector unsigned char a2); -extern vector unsigned char __builtin_vec_sro (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_sro (vector unsigned char a1, - vector unsigned char a2); - -extern void __builtin_vec_st (vector float a1, int a2, const void * a3); -extern void __builtin_vec_st (vector signed int a1, int a2, const void * a3); -extern void __builtin_vec_st (vector unsigned int a1, int a2, const void * a3); -extern void __builtin_vec_st (vector signed short a1, int a2, const void * a3); -extern void __builtin_vec_st (vector unsigned short a1, int a2, const void * a3); -extern void __builtin_vec_st (vector signed char a1, int a2, const void * a3); -extern void __builtin_vec_st (vector unsigned char a1, int a2, const void * a3); - -extern void __builtin_vec_ste (vector signed char a1, int a2, const void * a3); -extern void __builtin_vec_ste (vector unsigned char a1, int a2, unsigned char * a3); -extern void __builtin_vec_ste (vector signed short a1, int a2, const void * a3); -extern void __builtin_vec_ste (vector unsigned short a1, int a2, const void * a3); -extern void __builtin_vec_ste (vector signed int a1, int a2, const void * a3); -extern void __builtin_vec_ste (vector unsigned int a1, int a2, unsigned int * a3); -extern void __builtin_vec_ste (vector float a1, int a2, float * a3); - -extern void __builtin_vec_stl (vector float a1, int a2, const void * a3); -extern void __builtin_vec_stl (vector signed int a1, int a2, const void * a3); -extern void __builtin_vec_stl (vector unsigned int a1, int a2, const void * a3); -extern void __builtin_vec_stl (vector signed short a1, int a2, const void * a3); -extern void __builtin_vec_stl (vector unsigned short a1, int a2, const void * a3); -extern void __builtin_vec_stl (vector signed char a1, int a2, const void * a3); -extern void __builtin_vec_stl (vector unsigned char a1, int a2, const void * a3); - -extern vector signed char __builtin_vec_sub (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_sub (vector signed char a1, vector unsigned char a2); - -extern vector unsigned char __builtin_vec_sub (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_sub (vector unsigned char a1, - vector unsigned char a2); -extern vector signed short __builtin_vec_sub (vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_vec_sub (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_sub (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_sub (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_sub (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_sub (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_sub (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_sub (vector unsigned int a1, vector unsigned int a2); -extern vector float __builtin_vec_sub (vector float a1, vector float a2); - -extern vector unsigned int __builtin_vec_subc (vector unsigned int a1, vector unsigned int a2); - -extern vector unsigned char __builtin_vec_subs (vector signed char a1, - vector unsigned char a2); -extern vector unsigned char __builtin_vec_subs (vector unsigned char a1, - vector signed char a2); -extern vector unsigned char __builtin_vec_subs (vector unsigned char a1, - vector unsigned char a2); -extern vector signed char __builtin_vec_subs (vector signed char a1, vector signed char a2); -extern vector unsigned short __builtin_vec_subs (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_subs (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_subs (vector unsigned short a1, - vector unsigned short a2); -extern vector signed short __builtin_vec_subs (vector signed short a1, vector signed short a2); - -extern vector unsigned int __builtin_vec_subs (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_subs (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_subs (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_subs (vector signed int a1, vector signed int a2); - -extern vector unsigned int __builtin_vec_sum4s (vector unsigned char a1, - vector unsigned int a2); -extern vector signed int __builtin_vec_sum4s (vector signed char a1, vector signed int a2); -extern vector signed int __builtin_vec_sum4s (vector signed short a1, vector signed int a2); -#else -# define __builtin_vec_sr(a, b) ((a) >> (b)) -# define __builtin_vec_sub(a, b) ((a) - (b)) -__coverity_generic_altivec_vector __builtin_vec_sra (); -__coverity_generic_altivec_vector __builtin_vec_srl (); -__coverity_generic_altivec_vector __builtin_vec_sro (); -extern void __builtin_vec_st (); -extern void __builtin_vec_ste (); -extern void __builtin_vec_stl (); -__coverity_generic_altivec_vector __builtin_vec_subc (); -__coverity_generic_altivec_vector __builtin_vec_subs (); -__coverity_generic_altivec_vector __builtin_vec_sum4s (); -#endif - -extern vector signed int __builtin_vec_sum2s (vector signed int a1, vector signed int a2); - -extern vector signed int __builtin_vec_sums (vector signed int a1, vector signed int a2); - -extern vector float __builtin_vec_trunc (vector float a1); - -#ifdef __coverity_cplusplus -extern vector signed short __builtin_vec_unpackh (vector signed char a1); -extern vector unsigned int __builtin_vec_unpackh (vector unsigned short a1); -extern vector signed int __builtin_vec_unpackh (vector signed short a1); - -extern vector signed short __builtin_vec_unpackl (vector signed char a1); -extern vector unsigned int __builtin_vec_unpackl (vector unsigned short a1); -extern vector signed int __builtin_vec_unpackl (vector signed short a1); - -extern vector float __builtin_vec_xor (vector float a1, vector float a2); -extern vector float __builtin_vec_xor (vector float a1, vector signed int a2); -extern vector float __builtin_vec_xor (vector signed int a1, vector float a2); -extern vector signed int __builtin_vec_xor (vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_xor (vector signed int a1, vector unsigned int a2); -extern vector unsigned int __builtin_vec_xor (vector unsigned int a1, vector signed int a2); -extern vector unsigned int __builtin_vec_xor (vector unsigned int a1, vector unsigned int a2); -extern vector signed short __builtin_vec_xor (vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_vec_xor (vector signed short a1, - vector unsigned short a2); -extern vector unsigned short __builtin_vec_xor (vector unsigned short a1, - vector signed short a2); -extern vector unsigned short __builtin_vec_xor (vector unsigned short a1, - vector unsigned short a2); -extern vector signed char __builtin_vec_xor (vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_vec_xor (vector signed char a1, vector unsigned char a2); - -extern vector unsigned char __builtin_vec_xor (vector unsigned char a1, vector signed char a2); - -extern vector unsigned char __builtin_vec_xor (vector unsigned char a1, - vector unsigned char a2); - -extern vector signed int __builtin_vec_all_eq (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_all_eq (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_all_eq (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_all_eq (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_all_eq (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_eq (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_all_eq (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_all_eq (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_eq (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_all_eq (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_eq (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_eq (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_all_eq (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_ge (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_all_ge (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_all_ge (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_all_ge (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_all_ge (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_ge (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_all_ge (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_ge (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_all_ge (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_all_ge (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_ge (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_all_ge (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_ge (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_gt (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_all_gt (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_all_gt (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_all_gt (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_all_gt (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_gt (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_all_gt (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_gt (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_all_gt (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_all_gt (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_gt (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_all_gt (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_gt (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_in (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_le (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_all_le (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_all_le (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_all_le (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_all_le (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_le (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_all_le (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_le (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_all_le (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_all_le (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_le (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_all_le (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_le (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_lt (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_all_lt (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_all_lt (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_all_lt (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_all_lt (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_lt (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_all_lt (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_lt (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_all_lt (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_all_lt (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_lt (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_all_lt (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_lt (vector float a1, vector float a2); -#else -__coverity_generic_altivec_vector __builtin_vec_unpackh (); -__coverity_generic_altivec_vector __builtin_vec_unpackl (); -#define __builtin_vec_xor(a1, a2) ((a1) ^ (a2)) -__coverity_generic_altivec_vector __builtin_vec_all_eq (); -__coverity_generic_altivec_vector __builtin_vec_all_ge (); -__coverity_generic_altivec_vector __builtin_vec_all_gt (); -__coverity_generic_altivec_vector __builtin_vec_all_le (); -__coverity_generic_altivec_vector __builtin_vec_all_lt (); -#endif - -extern vector signed int __builtin_vec_all_nan (vector float a1); - -#ifdef __coverity_cplusplus -extern vector signed int __builtin_vec_all_ne (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_all_ne (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_all_ne (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_all_ne (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_all_ne (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_ne (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_all_ne (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_all_ne (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_all_ne (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_all_ne (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_ne (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_all_ne (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_all_ne (vector float a1, vector float a2); - -#else -__coverity_generic_altivec_vector __builtin_vec_all_ne (); -#endif - -extern vector signed int __builtin_vec_all_nge (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_ngt (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_nle (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_nlt (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_all_numeric (vector float a1); - -#ifdef __coverity_cplusplus -extern vector signed int __builtin_vec_any_eq (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_any_eq (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_any_eq (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_any_eq (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_any_eq (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_eq (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_any_eq (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_any_eq (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_eq (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_any_eq (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_eq (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_eq (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_any_eq (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_ge (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_any_ge (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_any_ge (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_any_ge (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_any_ge (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_ge (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_any_ge (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_ge (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_any_ge (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_any_ge (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_ge (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_any_ge (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_ge (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_gt (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_any_gt (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_any_gt (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_any_gt (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_any_gt (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_gt (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_any_gt (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_gt (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_any_gt (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_any_gt (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_gt (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_any_gt (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_gt (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_le (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_any_le (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_any_le (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_any_le (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_any_le (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_le (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_any_le (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_le (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_any_le (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_any_le (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_le (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_any_le (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_le (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_lt (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_any_lt (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_any_lt (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_any_lt (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_any_lt (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_lt (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_any_lt (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_lt (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_any_lt (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_any_lt (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_lt (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_any_lt (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_lt (vector float a1, vector float a2); -#else -__coverity_generic_altivec_vector __builtin_vec_any_eq (); -__coverity_generic_altivec_vector __builtin_vec_any_ge (); -__coverity_generic_altivec_vector __builtin_vec_any_gt (); -__coverity_generic_altivec_vector __builtin_vec_any_le (); -__coverity_generic_altivec_vector __builtin_vec_any_lt (); -#endif - -extern vector signed int __builtin_vec_any_nan (vector float a1); - -#ifdef __coverity_cplusplus -extern vector signed int __builtin_vec_any_ne (vector signed char a1, vector unsigned char a2); - -extern vector signed int __builtin_vec_any_ne (vector signed char a1, vector signed char a2); -extern vector signed int __builtin_vec_any_ne (vector unsigned char a1, vector signed char a2); - -extern vector signed int __builtin_vec_any_ne (vector unsigned char a1, - vector unsigned char a2); -extern vector signed int __builtin_vec_any_ne (vector signed short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_ne (vector signed short a1, vector signed short a2); - -extern vector signed int __builtin_vec_any_ne (vector unsigned short a1, - vector signed short a2); -extern vector signed int __builtin_vec_any_ne (vector unsigned short a1, - vector unsigned short a2); -extern vector signed int __builtin_vec_any_ne (vector signed int a1, vector unsigned int a2); -extern vector signed int __builtin_vec_any_ne (vector signed int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_ne (vector unsigned int a1, vector signed int a2); -extern vector signed int __builtin_vec_any_ne (vector unsigned int a1, vector unsigned int a2); - -extern vector signed int __builtin_vec_any_ne (vector float a1, vector float a2); -#else -__coverity_generic_altivec_vector __builtin_vec_any_ne (); -#endif - -extern vector signed int __builtin_vec_any_nge (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_ngt (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_nle (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_nlt (vector float a1, vector float a2); - -extern vector signed int __builtin_vec_any_numeric (vector float a1); - -extern vector signed int __builtin_vec_any_out (vector float a1, vector float a2); - -# ifndef OFFSET_T -# ifdef _ARCH_PPC64 -# define OFFSET_T long -# else -# define OFFSET_T int -# endif -# endif - -extern int __builtin_altivec_vcmpbfp_p(int a1, vector float a2, vector float a3); -extern int __builtin_altivec_vcmpeqfp_p(int a1, vector float a2, vector float a3); -extern int __builtin_altivec_vcmpeqfp_p(int, vector float a1, vector float a2); -extern int __builtin_altivec_vcmpequb_p(int a1, vector signed char a2, vector signed char a3); -extern int __builtin_altivec_vcmpequh_p(int a1, vector signed short a2, vector signed short a3); -extern int __builtin_altivec_vcmpequw_p(int a1, vector signed int a2, vector signed int a3); -extern int __builtin_altivec_vcmpgefp_p(int a1, vector float a2, vector float a3); -extern int __builtin_altivec_vcmpgtfp_p(int a1, vector float a2, vector float a3); -extern int __builtin_altivec_vcmpgtsb_p(int a1, vector signed char a2, vector signed char a3); -extern int __builtin_altivec_vcmpgtsh_p(int a1, vector signed short a2, vector signed short a3); -extern int __builtin_altivec_vcmpgtsw_p(int a1, vector signed int a2, vector signed int a3); -extern int __builtin_altivec_vcmpgtub_p(int a1, vector signed char a2, vector signed char a3); -extern int __builtin_altivec_vcmpgtuh_p(int a1, vector signed short a2, vector signed short a3); -extern int __builtin_altivec_vcmpgtuw_p(int a1, vector signed int a2, vector signed int a3); -extern vector bool char __builtin_altivec_lvx(OFFSET_T a1, const void * a2); -extern vector bool char __builtin_altivec_lvxl(OFFSET_T a1, const void * a2); -extern vector bool char __builtin_altivec_vand(vector signed int a1, vector signed int a2); -extern vector bool char __builtin_altivec_vandc(vector signed int a1, vector signed int a2); -extern vector bool char __builtin_altivec_vcmpequb(vector signed char a1, vector signed char a2); -extern vector bool char __builtin_altivec_vcmpgtsb(vector signed char a1, vector signed char a2); -extern vector bool char __builtin_altivec_vcmpgtub(vector signed char a1, vector signed char a2); -extern vector bool char __builtin_altivec_vmrghb(vector signed char a1, vector signed char a2); -extern vector bool char __builtin_altivec_vmrglb(vector signed char a1, vector signed char a2); -extern vector bool char __builtin_altivec_vnor(vector signed int a1, vector signed int a2); -extern vector bool char __builtin_altivec_vor(vector signed int a1, vector signed int a2); -extern vector bool char __builtin_altivec_vperm_4si(vector signed int a1, vector signed int a2, vector signed char a3); -extern vector bool char __builtin_altivec_vpkuhum(vector signed short a1, vector signed short a2); -extern vector bool char __builtin_altivec_vsel_4si(vector signed int a1, vector signed int a2, vector signed int a3); -extern vector bool char __builtin_altivec_vsl(vector signed int a1, vector signed int a2); -extern vector bool char __builtin_altivec_vsldoi_4si(vector signed int a1, vector signed int a2, const int a3); -extern vector bool char __builtin_altivec_vsldoi_4sf(vector float a1, vector float a2, const int a3); -extern vector bool char __builtin_altivec_vspltb(vector signed char a1, const int a2); -extern vector bool char __builtin_altivec_vsr(vector signed int a1, vector signed int a2); -extern vector bool char __builtin_altivec_vxor(vector signed int a1, vector signed int a2); -extern vector bool int __builtin_altivec_vcmpeqfp(vector float a1, vector float a2); -extern vector bool int __builtin_altivec_vcmpequw(vector signed int a1, vector signed int a2); -extern vector bool int __builtin_altivec_vcmpgefp(vector float a1, vector float a2); -extern vector bool int __builtin_altivec_vcmpgtfp(vector float a1, vector float a2); -extern vector bool int __builtin_altivec_vcmpgtsw(vector signed int a1, vector signed int a2); -extern vector bool int __builtin_altivec_vcmpgtuw(vector signed int a1, vector signed int a2); -extern vector bool int __builtin_altivec_vmrghw(vector signed int a1, vector signed int a2); -extern vector bool int __builtin_altivec_vmrglw(vector signed int a1, vector signed int a2); -extern vector bool int __builtin_altivec_vspltw(vector signed int a1, const int a2); -extern vector bool int __builtin_altivec_vupkhsh(vector signed short a1); -extern vector bool int __builtin_altivec_vupklsh(vector signed short a1); -extern vector bool short __builtin_altivec_vcmpequh(vector signed short a1, vector signed short a2); -extern vector bool short __builtin_altivec_vcmpgtsh(vector signed short a1, vector signed short a2); -extern vector bool short __builtin_altivec_vcmpgtuh(vector signed short a1, vector signed short a2); -extern vector bool short __builtin_altivec_vmrghh(vector signed short a1, vector signed short a2); -extern vector bool short __builtin_altivec_vmrglh(vector signed short a1, vector signed short a2); -extern vector bool short __builtin_altivec_vpkuwum(vector signed int a1, vector signed int a2); -extern vector bool short __builtin_altivec_vsplth(vector signed short a1, const int a2); -extern vector bool short __builtin_altivec_vupkhsb(vector signed char a1); -extern vector bool short __builtin_altivec_vupklsb(vector signed char a1); -extern vector float __builtin_altivec_abs_v4sf(vector float a1); -extern vector float __builtin_altivec_lvewx(OFFSET_T a1, const void * a2); -extern vector float __builtin_altivec_vaddfp(vector float a1, vector float a2); -extern vector float __builtin_altivec_vcfsx(vector signed int a1, const int a2); -extern vector float __builtin_altivec_vcfux(vector signed int a1, const int a2); -extern vector float __builtin_altivec_vexptefp(vector float a1); -extern vector float __builtin_altivec_vlogefp(vector float a1); -extern vector float __builtin_altivec_vmaddfp(vector float a1, vector float a2, vector float a3); -extern vector float __builtin_altivec_vmaxfp(vector float a1, vector float a2); -extern vector float __builtin_altivec_vminfp(vector float a1, vector float a2); -extern vector float __builtin_altivec_vnmsubfp(vector float a1, vector float a2, vector float a3); -extern vector float __builtin_altivec_vrefp(vector float a1); -extern vector float __builtin_altivec_vrfim(vector float a1); -extern vector float __builtin_altivec_vrfin(vector float a1); -extern vector float __builtin_altivec_vrfip(vector float a1); -extern vector float __builtin_altivec_vrfiz(vector float a1); -extern vector float __builtin_altivec_vrsqrtefp(vector float a1); -extern vector float __builtin_altivec_vslo(vector signed int a1, vector signed int a2); -extern vector float __builtin_altivec_vsro(vector signed int a1, vector signed int a2); -extern vector float __builtin_altivec_vsubfp(vector float a1, vector float a2); -extern vector pixel __builtin_altivec_vpkpx(vector signed int a1, vector signed int a2); -extern vector signed char __builtin_altivec_abs_v16qi(vector signed char a1); -extern vector signed char __builtin_altivec_abss_v16qi(vector signed char a1); -extern vector signed char __builtin_altivec_lvebx(OFFSET_T a1, const void * a2); -extern vector signed char __builtin_altivec_vaddsbs(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vaddubm(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vavgsb(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vmaxsb(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vminsb(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vpkshss(vector signed short a1, vector signed short a2); -extern vector signed char __builtin_altivec_vrlb(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vslb(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vspltisb(const int a1); -extern vector signed char __builtin_altivec_vsrab(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vsrb(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vsubsbs(vector signed char a1, vector signed char a2); -extern vector signed char __builtin_altivec_vsububm(vector signed char a1, vector signed char a2); -extern vector signed int __builtin_altivec_abs_v4si(vector signed int a1); -extern vector signed int __builtin_altivec_abss_v4si(vector signed int a1); -extern vector signed int __builtin_altivec_vaddsws(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vadduwm(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vavgsw(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vcmpbfp(vector float a1, vector float a2); -extern vector signed int __builtin_altivec_vctsxs(vector float a1, const int a2); -extern vector signed int __builtin_altivec_vmaxsw(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vminsw(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vmsummbm(vector signed char a1, vector signed char a2, vector signed int a3); -extern vector signed int __builtin_altivec_vmsumshm(vector signed short a1, vector signed short a2, vector signed int a3); -extern vector signed int __builtin_altivec_vmsumshs(vector signed short a1, vector signed short a2, vector signed int a3); -extern vector signed int __builtin_altivec_vmulesh(vector signed short a1, vector signed short a2); -extern vector signed int __builtin_altivec_vmulosh(vector signed short a1, vector signed short a2); -extern vector signed int __builtin_altivec_vrlw(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vslw(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vspltisw(const int a1); -extern vector signed int __builtin_altivec_vsraw(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vsrw(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vsubsws(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vsubuwm(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vsum2sws(vector signed int a1, vector signed int a2); -extern vector signed int __builtin_altivec_vsum4sbs(vector signed char a1, vector signed int a2); -extern vector signed int __builtin_altivec_vsum4shs(vector signed short a1, vector signed int a2); -extern vector signed int __builtin_altivec_vsumsws(vector signed int a1, vector signed int a2); -extern vector signed short __builtin_altivec_abs_v8hi(vector signed short a1); -extern vector signed short __builtin_altivec_abss_v8hi(vector signed short a1); -extern vector signed short __builtin_altivec_lvehx(OFFSET_T a1, const void * a2); -extern vector signed short __builtin_altivec_vaddshs(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vadduhm(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vavgsh(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vmaxsh(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vmhaddshs(vector signed short a1, vector signed short a2, vector signed short a3); -extern vector signed short __builtin_altivec_vmhraddshs(vector signed short a1, vector signed short a2, vector signed short a3); -extern vector signed short __builtin_altivec_vminsh(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vmladduhm(vector signed short a1, vector signed short a2, vector signed short a3); -extern vector signed short __builtin_altivec_vmulesb(vector signed char a1, vector signed char a2); -extern vector signed short __builtin_altivec_vmuleub(vector signed char a1, vector signed char a2); -extern vector signed short __builtin_altivec_vmulosb(vector signed char a1, vector signed char a2); -extern vector signed short __builtin_altivec_vpkswss(vector signed int a1, vector signed int a2); -extern vector signed short __builtin_altivec_vrlh(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vslh(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vspltish(const int a1); -extern vector signed short __builtin_altivec_vsrah(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vsrh(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vsubshs(vector signed short a1, vector signed short a2); -extern vector signed short __builtin_altivec_vsubuhm(vector signed short a1, vector signed short a2); -extern vector unsigned char __builtin_altivec_lvlx(OFFSET_T a1, const void * a2); -extern vector unsigned char __builtin_altivec_lvlxl(OFFSET_T a1, const void * a2); -extern vector unsigned char __builtin_altivec_lvrx(OFFSET_T a1, const void * a2); -extern vector unsigned char __builtin_altivec_lvrxl(OFFSET_T a1, const void * a2); -extern vector unsigned char __builtin_altivec_lvsl(OFFSET_T a1, const void * a2); -extern vector unsigned char __builtin_altivec_lvsr(OFFSET_T a1, const void * a2); -extern vector unsigned char __builtin_altivec_vaddubs(vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_altivec_vavgub(vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_altivec_vmaxub(vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_altivec_vminub(vector signed char a1, vector signed char a2); -extern vector unsigned char __builtin_altivec_vpkshus(vector signed short a1, vector signed short a2); -extern vector unsigned char __builtin_altivec_vpkuhus(vector signed short a1, vector signed short a2); -extern vector unsigned char __builtin_altivec_vsububs(vector signed char a1, vector signed char a2); -extern vector unsigned int __builtin_altivec_vaddcuw(vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vadduws(vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vavguw(vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vctuxs(vector float a1, const int a2); -extern vector unsigned int __builtin_altivec_vmaxuw(vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vminuw(vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vmsumubm(vector signed char a1, vector signed char a2, vector signed int a3); -extern vector unsigned int __builtin_altivec_vmsumuhm(vector signed short a1, vector signed short a2, vector signed int a3); -extern vector unsigned int __builtin_altivec_vmsumuhs(vector signed short a1, vector signed short a2, vector signed int a3); -extern vector unsigned int __builtin_altivec_vmuleuh(vector signed short a1, vector signed short a2); -extern vector unsigned int __builtin_altivec_vmulouh(vector signed short a1, vector signed short a2); -extern vector unsigned int __builtin_altivec_vsubcuw(vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vsubuws(vector signed int a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vsum4ubs(vector signed char a1, vector signed int a2); -extern vector unsigned int __builtin_altivec_vupkhpx(vector signed short a1); -extern vector unsigned int __builtin_altivec_vupklpx(vector signed short a1); -extern vector unsigned short __builtin_altivec_mfvscr(); -extern vector unsigned short __builtin_altivec_vadduhs(vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_altivec_vavguh(vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_altivec_vmaxuh(vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_altivec_vminuh(vector signed short a1, vector signed short a2); -extern vector unsigned short __builtin_altivec_vmuloub(vector signed char a1, vector signed char a2); -extern vector unsigned short __builtin_altivec_vpkswus(vector signed int a1, vector signed int a2); -extern vector unsigned short __builtin_altivec_vpkuwus(vector signed int a1, vector signed int a2); -extern vector unsigned short __builtin_altivec_vsubuhs(vector signed short a1, vector signed short a2); -extern void __builtin_altivec_dss(int a1); -extern void __builtin_altivec_dssall(); -extern void __builtin_altivec_dst(const void *a1, OFFSET_T a2, const int a3); -extern void __builtin_altivec_dstst(const void *a1, OFFSET_T a2, const int a3); -extern void __builtin_altivec_dststt(const void *a1, OFFSET_T a2, const int a3); -extern void __builtin_altivec_dstt(const void *a1, OFFSET_T a2, const int a3); -extern void __builtin_altivec_mtvscr(vector signed int a1); -#ifdef __coverity_cplusplus -extern void __builtin_altivec_stvebx(vector signed char a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvehx(vector signed short a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvewx(vector signed int a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvlx(vector signed char a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvlxl(vector signed char a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvrx(vector signed char a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvrxl(vector signed char a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvx(vector signed int a1, OFFSET_T a2, const void * a3); -extern void __builtin_altivec_stvxl(vector signed int a1, OFFSET_T a2, const void * a3); -extern vector bool char __builtin_altivec_vsel_4sf(vector float a1, vector float a2, vector float a3); -extern vector bool char __builtin_altivec_vsel_4sf(vector float a1, vector float a2, vector signed int a3); -#else -extern void __builtin_altivec_stvebx(); -extern void __builtin_altivec_stvehx(); -extern void __builtin_altivec_stvewx(); -extern void __builtin_altivec_stvlx(); -extern void __builtin_altivec_stvlxl(); -extern void __builtin_altivec_stvrx(); -extern void __builtin_altivec_stvrxl(); -extern void __builtin_altivec_stvx(); -extern void __builtin_altivec_stvxl(); -extern __coverity_generic_altivec_vector __builtin_altivec_vsel_4sf(); -#endif -#endif /* __ALTIVEC__ */ -/* - Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. - The information contained in this file is the proprietary and confidential - information of Synopsys, Inc. and its licensors, and is supplied subject to, - and may be used only by Synopsys customers in accordance with the terms and - conditions of a previously executed license agreement between Synopsys and - that customer. -*/ - -/* - * These declarations are used to implement various sanitizer modes. They are - * not supported intrinsically by cov-emit. - */ - -// -fsanitize-coverage=trace-cmp -void __asan_after_dynamic_init(void); -void __asan_handle_no_return(void); -void __asan_init(void); -void __asan_version_mismatch_check_v8(void); -void __builtin___asan_after_dynamic_init(void); -void __builtin___asan_handle_no_return(void); -void __builtin___asan_init(void); -void __builtin___asan_version_mismatch_check_v8(void); -void __builtin___sanitizer_cov_trace_pc(void); -void __builtin___tsan_init(void); -void __sanitizer_cov_trace_pc(void); -void __tsan_init(void); -void __asan_alloca_poison(void*, long int); -void __asan_allocas_unpoison(void*, long int); -void __asan_before_dynamic_init(const void*); -void __asan_load1(void*); -void __asan_load16(void*); -void __asan_load16_noabort(void*); -void __asan_load1_noabort(void*); -void __asan_load2(void*); -void __asan_load2_noabort(void*); -void __asan_load4(void*); -void __asan_load4_noabort(void*); -void __asan_load8(void*); -void __asan_load8_noabort(void*); -void __asan_loadN(void*, long int); -void __asan_loadN_noabort(void*, long int); -void __asan_poison_stack_memory(void*, long int); -void __asan_register_globals(void*, long int); -void __asan_report_load1(void*); -void __asan_report_load16(void*); -void __asan_report_load16_noabort(void*); -void __asan_report_load1_noabort(void*); -void __asan_report_load2(void*); -void __asan_report_load2_noabort(void*); -void __asan_report_load4(void*); -void __asan_report_load4_noabort(void*); -void __asan_report_load8(void*); -void __asan_report_load8_noabort(void*); -void __asan_report_load_n(void*, long int); -void __asan_report_load_n_noabort(void*, long int); -void __asan_report_store1(void*); -void __asan_report_store16(void*); -void __asan_report_store16_noabort(void*); -void __asan_report_store1_noabort(void*); -void __asan_report_store2(void*); -void __asan_report_store2_noabort(void*); -void __asan_report_store4(void*); -void __asan_report_store4_noabort(void*); -void __asan_report_store8(void*); -void __asan_report_store8_noabort(void*); -void __asan_report_store_n(void*, long int); -void __asan_report_store_n_noabort(void*, long int); -void __asan_store1(void*); -void __asan_store16(void*); -void __asan_store16_noabort(void*); -void __asan_store1_noabort(void*); -void __asan_store2(void*); -void __asan_store2_noabort(void*); -void __asan_store4(void*); -void __asan_store4_noabort(void*); -void __asan_store8(void*); -void __asan_store8_noabort(void*); -void __asan_storeN(void*, long int); -void __asan_storeN_noabort(void*, long int); -void __asan_unpoison_stack_memory(void*, long int); -void __asan_unregister_globals(void*, long int); -void __builtin___asan_alloca_poison(void*, long int); -void __builtin___asan_allocas_unpoison(void*, long int); -void __builtin___asan_before_dynamic_init(const void*); -void __builtin___asan_load1(void*); -void __builtin___asan_load16(void*); -void __builtin___asan_load16_noabort(void*); -void __builtin___asan_load1_noabort(void*); -void __builtin___asan_load2(void*); -void __builtin___asan_load2_noabort(void*); -void __builtin___asan_load4(void*); -void __builtin___asan_load4_noabort(void*); -void __builtin___asan_load8(void*); -void __builtin___asan_load8_noabort(void*); -void __builtin___asan_loadN(void*, long int); -void __builtin___asan_loadN_noabort(void*, long int); -void __builtin___asan_poison_stack_memory(void*, long int); -void __builtin___asan_register_globals(void*, long int); -void __builtin___asan_report_load1(void*); -void __builtin___asan_report_load16(void*); -void __builtin___asan_report_load16_noabort(void*); -void __builtin___asan_report_load1_noabort(void*); -void __builtin___asan_report_load2(void*); -void __builtin___asan_report_load2_noabort(void*); -void __builtin___asan_report_load4(void*); -void __builtin___asan_report_load4_noabort(void*); -void __builtin___asan_report_load8(void*); -void __builtin___asan_report_load8_noabort(void*); -void __builtin___asan_report_load_n(void*, long int); -void __builtin___asan_report_load_n_noabort(void*, long int); -void __builtin___asan_report_store1(void*); -void __builtin___asan_report_store16(void*); -void __builtin___asan_report_store16_noabort(void*); -void __builtin___asan_report_store1_noabort(void*); -void __builtin___asan_report_store2(void*); -void __builtin___asan_report_store2_noabort(void*); -void __builtin___asan_report_store4(void*); -void __builtin___asan_report_store4_noabort(void*); -void __builtin___asan_report_store8(void*); -void __builtin___sanitizer_cov_trace_cmp2(short unsigned int, short unsigned int); -void __builtin___sanitizer_cov_trace_cmp4(unsigned int, unsigned int); -void __builtin___sanitizer_cov_trace_cmp8(long unsigned int, long unsigned int); -void __builtin___sanitizer_cov_trace_cmpd(double, double); -void __builtin___sanitizer_cov_trace_cmpf(float, float); -void __builtin___sanitizer_cov_trace_const_cmp1(unsigned char, unsigned char); -void __builtin___sanitizer_cov_trace_const_cmp2(short unsigned int, short unsigned int); -void __builtin___sanitizer_cov_trace_const_cmp4(unsigned int, unsigned int); -void __builtin___sanitizer_cov_trace_const_cmp8(long unsigned int, long unsigned int); -void __builtin___sanitizer_cov_trace_switch(long unsigned int, void*); -void __builtin___sanitizer_ptr_cmp(void*, long int); -void __builtin___sanitizer_ptr_sub(void*, long int); - -void __builtin___hwasan_handle_longjmp(const void*); -void __builtin___hwasan_load1(void*); -void __builtin___hwasan_load16(void*); -void __builtin___hwasan_load16_noabort(void*); -void __builtin___hwasan_load1_noabort(void*); -void __builtin___hwasan_load2(void*); -void __builtin___hwasan_load2_noabort(void*); -void __builtin___hwasan_load4(void*); -void __builtin___hwasan_load4_noabort(void*); -void __builtin___hwasan_load8(void*); -void __builtin___hwasan_load8_noabort(void*); -void __builtin___hwasan_loadN(void*, long int); -void __builtin___hwasan_loadN_noabort(void*, long int); -void __builtin___hwasan_store1(void*); -void __builtin___hwasan_store16(void*); -void __builtin___hwasan_store16_noabort(void*); -void __builtin___hwasan_store1_noabort(void*); -void __builtin___hwasan_store2(void*); -void __builtin___hwasan_store2_noabort(void*); -void __builtin___hwasan_store4(void*); -void __builtin___hwasan_store4_noabort(void*); -void __builtin___hwasan_store8(void*); -void __builtin___hwasan_store8_noabort(void*); -void __builtin___hwasan_storeN(void*, long int); -void __builtin___hwasan_storeN_noabort(void*, long int); -void __builtin___hwasan_tag_memory(void*, unsigned char, long int); -void __builtin___hwasan_tag_mismatch4(void*); -void* __builtin___hwasan_tag_pointer(const void*, unsigned char); -void __builtin___tsan_volatile_read1(void*); -void __builtin___tsan_volatile_read16(void*); -void __builtin___tsan_volatile_read2(void*); -void __builtin___tsan_volatile_read4(void*); -void __builtin___tsan_volatile_read8(void*); -void __builtin___tsan_volatile_write1(void*); -void __builtin___tsan_volatile_write16(void*); -void __builtin___tsan_volatile_write2(void*); -void __builtin___tsan_volatile_write4(void*); -void __builtin___tsan_volatile_write8(void*); -void __hwasan_handle_longjmp(const void*); -void __hwasan_load1(void*); -void __hwasan_load16(void*); -void __hwasan_load16_noabort(void*); -void __hwasan_load1_noabort(void*); -void __hwasan_load2(void*); -void __hwasan_load2_noabort(void*); -void __hwasan_load4(void*); -void __hwasan_load4_noabort(void*); -void __hwasan_load8(void*); -void __hwasan_load8_noabort(void*); -void __hwasan_loadN(void*, long int); -void __hwasan_loadN_noabort(void*, long int); -void __hwasan_store1(void*); -void __hwasan_store16(void*); -void __hwasan_store16_noabort(void*); -void __hwasan_store1_noabort(void*); -void __hwasan_store2(void*); -void __hwasan_store2_noabort(void*); -void __hwasan_store4(void*); -void __hwasan_store4_noabort(void*); -void __hwasan_store8(void*); -void __hwasan_store8_noabort(void*); -void __hwasan_storeN(void*, long int); -void __hwasan_storeN_noabort(void*, long int); -void __hwasan_tag_memory(void*, unsigned char, long int); -void __hwasan_tag_mismatch4(void*); -void* __hwasan_tag_pointer(const void*, unsigned char); -void __tsan_volatile_read1(void*); -void __tsan_volatile_read16(void*); -void __tsan_volatile_read2(void*); -void __tsan_volatile_read4(void*); -void __tsan_volatile_read8(void*); -void __tsan_volatile_write1(void*); -void __tsan_volatile_write16(void*); -void __tsan_volatile_write2(void*); -void __tsan_volatile_write4(void*); -void __tsan_volatile_write8(void*); -void __builtin___hwasan_init(void); -void __hwasan_init(void); - -#if defined(__SIZEOF_INT128__) -__edg_bool_type__ __builtin___tsan_atomic128_compare_exchange_strong(volatile void*, void*, __int128 unsigned, int, int); -__edg_bool_type__ __builtin___tsan_atomic128_compare_exchange_weak(volatile void*, void*, __int128 unsigned, int, int); -__int128 unsigned __builtin___tsan_atomic128_exchange(volatile void*, __int128 unsigned, int); -__int128 unsigned __builtin___tsan_atomic128_fetch_add(volatile void*, __int128 unsigned, int); -__int128 unsigned __builtin___tsan_atomic128_fetch_and(volatile void*, __int128 unsigned, int); -__int128 unsigned __builtin___tsan_atomic128_fetch_nand(volatile void*, __int128 unsigned, int); -__int128 unsigned __builtin___tsan_atomic128_fetch_or(volatile void*, __int128 unsigned, int); -__int128 unsigned __builtin___tsan_atomic128_fetch_sub(volatile void*, __int128 unsigned, int); -__int128 unsigned __builtin___tsan_atomic128_fetch_xor(volatile void*, __int128 unsigned, int); -__int128 unsigned __builtin___tsan_atomic128_load(const volatile void*, int); -void __builtin___tsan_atomic128_store(volatile void*, __int128 unsigned, int); -__edg_bool_type__ __tsan_atomic128_compare_exchange_strong(volatile void*, void*, __int128 unsigned, int, int); -__edg_bool_type__ __tsan_atomic128_compare_exchange_weak(volatile void*, void*, __int128 unsigned, int, int); -__int128 unsigned __tsan_atomic128_exchange(volatile void*, __int128 unsigned, int); -__int128 unsigned __tsan_atomic128_fetch_add(volatile void*, __int128 unsigned, int); -__int128 unsigned __tsan_atomic128_fetch_and(volatile void*, __int128 unsigned, int); -__int128 unsigned __tsan_atomic128_fetch_nand(volatile void*, __int128 unsigned, int); -__int128 unsigned __tsan_atomic128_fetch_or(volatile void*, __int128 unsigned, int); -__int128 unsigned __tsan_atomic128_fetch_sub(volatile void*, __int128 unsigned, int); -__int128 unsigned __tsan_atomic128_fetch_xor(volatile void*, __int128 unsigned, int); -__int128 unsigned __tsan_atomic128_load(const volatile void*, int); -void __tsan_atomic128_store(volatile void*, __int128 unsigned, int); - -__int128 unsigned __builtin_bswap128(__int128 unsigned); -#endif /* defined(__SIZEOF_INT128__) */ - -__edg_bool_type__ __builtin___tsan_atomic16_compare_exchange_strong(volatile void*, void*, short unsigned int, int, int); -__edg_bool_type__ __builtin___tsan_atomic16_compare_exchange_weak(volatile void*, void*, short unsigned int, int, int); -short unsigned int __builtin___tsan_atomic16_exchange(volatile void*, short unsigned int, int); -short unsigned int __builtin___tsan_atomic16_fetch_add(volatile void*, short unsigned int, int); -short unsigned int __builtin___tsan_atomic16_fetch_and(volatile void*, short unsigned int, int); -short unsigned int __builtin___tsan_atomic16_fetch_nand(volatile void*, short unsigned int, int); -short unsigned int __builtin___tsan_atomic16_fetch_or(volatile void*, short unsigned int, int); -short unsigned int __builtin___tsan_atomic16_fetch_sub(volatile void*, short unsigned int, int); -short unsigned int __builtin___tsan_atomic16_fetch_xor(volatile void*, short unsigned int, int); -short unsigned int __builtin___tsan_atomic16_load(const volatile void*, int); -void __builtin___tsan_atomic16_store(volatile void*, short unsigned int, int); -__edg_bool_type__ __builtin___tsan_atomic32_compare_exchange_strong(volatile void*, void*, unsigned int, int, int); -__edg_bool_type__ __builtin___tsan_atomic32_compare_exchange_weak(volatile void*, void*, unsigned int, int, int); -unsigned int __builtin___tsan_atomic32_exchange(volatile void*, unsigned int, int); -unsigned int __builtin___tsan_atomic32_fetch_add(volatile void*, unsigned int, int); -unsigned int __builtin___tsan_atomic32_fetch_and(volatile void*, unsigned int, int); -unsigned int __builtin___tsan_atomic32_fetch_nand(volatile void*, unsigned int, int); -unsigned int __builtin___tsan_atomic32_fetch_or(volatile void*, unsigned int, int); -unsigned int __builtin___tsan_atomic32_fetch_sub(volatile void*, unsigned int, int); -unsigned int __builtin___tsan_atomic32_fetch_xor(volatile void*, unsigned int, int); -unsigned int __builtin___tsan_atomic32_load(const volatile void*, int); -void __builtin___tsan_atomic32_store(volatile void*, unsigned int, int); -__edg_bool_type__ __builtin___tsan_atomic64_compare_exchange_strong(volatile void*, void*, long unsigned int, int, int); -__edg_bool_type__ __builtin___tsan_atomic64_compare_exchange_weak(volatile void*, void*, long unsigned int, int, int); -long unsigned int __builtin___tsan_atomic64_exchange(volatile void*, long unsigned int, int); -long unsigned int __builtin___tsan_atomic64_fetch_add(volatile void*, long unsigned int, int); -long unsigned int __builtin___tsan_atomic64_fetch_and(volatile void*, long unsigned int, int); -long unsigned int __builtin___tsan_atomic64_fetch_nand(volatile void*, long unsigned int, int); -long unsigned int __builtin___tsan_atomic64_fetch_or(volatile void*, long unsigned int, int); -long unsigned int __builtin___tsan_atomic64_fetch_sub(volatile void*, long unsigned int, int); -long unsigned int __builtin___tsan_atomic64_fetch_xor(volatile void*, long unsigned int, int); -long unsigned int __builtin___tsan_atomic64_load(const volatile void*, int); -void __builtin___tsan_atomic64_store(volatile void*, long unsigned int, int); -__edg_bool_type__ __builtin___tsan_atomic8_compare_exchange_strong(volatile void*, void*, unsigned char, int, int); -__edg_bool_type__ __builtin___tsan_atomic8_compare_exchange_weak(volatile void*, void*, unsigned char, int, int); -unsigned char __builtin___tsan_atomic8_exchange(volatile void*, unsigned char, int); -unsigned char __builtin___tsan_atomic8_fetch_add(volatile void*, unsigned char, int); -unsigned char __builtin___tsan_atomic8_fetch_and(volatile void*, unsigned char, int); -unsigned char __builtin___tsan_atomic8_fetch_nand(volatile void*, unsigned char, int); -unsigned char __builtin___tsan_atomic8_fetch_or(volatile void*, unsigned char, int); -unsigned char __builtin___tsan_atomic8_fetch_sub(volatile void*, unsigned char, int); -unsigned char __builtin___tsan_atomic8_fetch_xor(volatile void*, unsigned char, int); -unsigned char __builtin___tsan_atomic8_load(const volatile void*, int); -void __builtin___tsan_atomic8_store(volatile void*, unsigned char, int); -void __builtin___tsan_atomic_signal_fence(int); -void __builtin___tsan_atomic_thread_fence(int); -void __builtin___tsan_func_entry(void*); -void __builtin___tsan_func_exit(void*); -void __builtin___tsan_read1(void*); -void __builtin___tsan_read16(void*); -void __builtin___tsan_read2(void*); -void __builtin___tsan_read4(void*); -void __builtin___tsan_read8(void*); -void __builtin___tsan_read_range(void*, long int); -#if __COVERITY_GCC_VERSION_AT_LEAST(5, 1) -void __builtin___tsan_vptr_update(void*, void*); -void __tsan_vptr_update(void*, void*); -#else -void __tsan_vptr_update(void*); -void __builtin___tsan_vptr_update(void*); -#endif -void __builtin___tsan_write1(void*); -void __builtin___tsan_write16(void*); -void __builtin___tsan_write2(void*); -void __builtin___tsan_write4(void*); -void __builtin___tsan_write8(void*); -void __builtin___tsan_write_range(void*, long int); -void __builtin___ubsan_handle_add_overflow(void*, void*, void*); -void __builtin___ubsan_handle_add_overflow_abort(void*, void*, void*); -void __builtin___ubsan_handle_builtin_unreachable(void*); -void __builtin___ubsan_handle_divrem_overflow(void*, void*, void*); -void __builtin___ubsan_handle_divrem_overflow_abort(void*, void*, void*); -void __builtin___ubsan_handle_dynamic_type_cache_miss(void*, void*, void*); -void __builtin___ubsan_handle_dynamic_type_cache_miss_abort(void*, void*, void*); -void __builtin___ubsan_handle_float_cast_overflow(void*, void*); -void __builtin___ubsan_handle_float_cast_overflow_abort(void*, void*); -void __builtin___ubsan_handle_invalid_builtin(void*); -void __builtin___ubsan_handle_invalid_builtin_abort(void*); -void __builtin___ubsan_handle_load_invalid_value(void*, void*); -void __builtin___ubsan_handle_load_invalid_value_abort(void*, void*); -void __builtin___ubsan_handle_missing_return(void*); -void __builtin___ubsan_handle_mul_overflow(void*, void*, void*); -void __builtin___ubsan_handle_mul_overflow_abort(void*, void*, void*); -void __builtin___ubsan_handle_negate_overflow(void*, void*); -void __builtin___ubsan_handle_negate_overflow_abort(void*, void*); -#if __COVERITY_GCC_VERSION_AT_LEAST(6, 0) -void __builtin___ubsan_handle_nonnull_arg(void*); -void __builtin___ubsan_handle_nonnull_arg_abort(void*); -void __ubsan_handle_nonnull_arg(void*); -void __ubsan_handle_nonnull_arg_abort(void*); -#else -void __ubsan_handle_nonnull_arg(void*, int); -void __ubsan_handle_nonnull_arg_abort(void*, int); -void __builtin___ubsan_handle_nonnull_arg(void*, int); -void __builtin___ubsan_handle_nonnull_arg_abort(void*, int); -#endif -void __builtin___ubsan_handle_nonnull_return_v1(void*, void*); -void __builtin___ubsan_handle_nonnull_return_v1_abort(void*, void*); -void __builtin___ubsan_handle_out_of_bounds(void*, void*); -void __builtin___ubsan_handle_out_of_bounds_abort(void*, void*); -void __builtin___ubsan_handle_pointer_overflow(void*, void*, void*); -void __builtin___ubsan_handle_pointer_overflow_abort(void*, void*, void*); -void __builtin___ubsan_handle_shift_out_of_bounds(void*, void*, void*); -void __builtin___ubsan_handle_shift_out_of_bounds_abort(void*, void*, void*); -void __builtin___ubsan_handle_sub_overflow(void*, void*, void*); -void __builtin___ubsan_handle_sub_overflow_abort(void*, void*, void*); -void __builtin___ubsan_handle_type_mismatch_v1(void*, void*); -void __builtin___ubsan_handle_type_mismatch_v1_abort(void*, void*); -void __builtin___ubsan_handle_vla_bound_not_positive(void*, void*); -void __builtin___ubsan_handle_vla_bound_not_positive_abort(void*, void*); -void __sanitizer_cov_trace_cmp1(unsigned char, unsigned char); -void __sanitizer_cov_trace_cmp2(short unsigned int, short unsigned int); -void __sanitizer_cov_trace_cmp4(unsigned int, unsigned int); -void __sanitizer_cov_trace_cmp8(long unsigned int, long unsigned int); -void __sanitizer_cov_trace_cmpd(double, double); -void __sanitizer_cov_trace_cmpf(float, float); -void __sanitizer_cov_trace_const_cmp1(unsigned char, unsigned char); -void __sanitizer_cov_trace_const_cmp2(short unsigned int, short unsigned int); -void __sanitizer_cov_trace_const_cmp4(unsigned int, unsigned int); -void __sanitizer_cov_trace_const_cmp8(long unsigned int, long unsigned int); -void __sanitizer_cov_trace_switch(long unsigned int, void*); -void __sanitizer_ptr_cmp(void*, long int); -void __sanitizer_ptr_sub(void*, long int); -__edg_bool_type__ __tsan_atomic16_compare_exchange_strong(volatile void*, void*, short unsigned int, int, int); -__edg_bool_type__ __tsan_atomic16_compare_exchange_weak(volatile void*, void*, short unsigned int, int, int); -short unsigned int __tsan_atomic16_exchange(volatile void*, short unsigned int, int); -short unsigned int __tsan_atomic16_fetch_add(volatile void*, short unsigned int, int); -short unsigned int __tsan_atomic16_fetch_and(volatile void*, short unsigned int, int); -short unsigned int __tsan_atomic16_fetch_nand(volatile void*, short unsigned int, int); -short unsigned int __tsan_atomic16_fetch_or(volatile void*, short unsigned int, int); -short unsigned int __tsan_atomic16_fetch_sub(volatile void*, short unsigned int, int); -short unsigned int __tsan_atomic16_fetch_xor(volatile void*, short unsigned int, int); -short unsigned int __tsan_atomic16_load(const volatile void*, int); -void __tsan_atomic16_store(volatile void*, short unsigned int, int); -__edg_bool_type__ __tsan_atomic32_compare_exchange_strong(volatile void*, void*, unsigned int, int, int); -__edg_bool_type__ __tsan_atomic32_compare_exchange_weak(volatile void*, void*, unsigned int, int, int); -unsigned int __tsan_atomic32_exchange(volatile void*, unsigned int, int); -unsigned int __tsan_atomic32_fetch_add(volatile void*, unsigned int, int); -unsigned int __tsan_atomic32_fetch_and(volatile void*, unsigned int, int); -unsigned int __tsan_atomic32_fetch_nand(volatile void*, unsigned int, int); -unsigned int __tsan_atomic32_fetch_or(volatile void*, unsigned int, int); -unsigned int __tsan_atomic32_fetch_sub(volatile void*, unsigned int, int); -unsigned int __tsan_atomic32_fetch_xor(volatile void*, unsigned int, int); -unsigned int __tsan_atomic32_load(const volatile void*, int); -void __tsan_atomic32_store(volatile void*, unsigned int, int); -__edg_bool_type__ __tsan_atomic64_compare_exchange_strong(volatile void*, void*, long unsigned int, int, int); -__edg_bool_type__ __tsan_atomic64_compare_exchange_weak(volatile void*, void*, long unsigned int, int, int); -long unsigned int __tsan_atomic64_exchange(volatile void*, long unsigned int, int); -long unsigned int __tsan_atomic64_fetch_add(volatile void*, long unsigned int, int); -long unsigned int __tsan_atomic64_fetch_and(volatile void*, long unsigned int, int); -long unsigned int __tsan_atomic64_fetch_nand(volatile void*, long unsigned int, int); -long unsigned int __tsan_atomic64_fetch_or(volatile void*, long unsigned int, int); -long unsigned int __tsan_atomic64_fetch_sub(volatile void*, long unsigned int, int); -long unsigned int __tsan_atomic64_fetch_xor(volatile void*, long unsigned int, int); -long unsigned int __tsan_atomic64_load(const volatile void*, int); -void __tsan_atomic64_store(volatile void*, long unsigned int, int); -__edg_bool_type__ __tsan_atomic8_compare_exchange_strong(volatile void*, void*, unsigned char, int, int); -__edg_bool_type__ __tsan_atomic8_compare_exchange_weak(volatile void*, void*, unsigned char, int, int); -unsigned char __tsan_atomic8_exchange(volatile void*, unsigned char, int); -unsigned char __tsan_atomic8_fetch_add(volatile void*, unsigned char, int); -unsigned char __tsan_atomic8_fetch_and(volatile void*, unsigned char, int); -unsigned char __tsan_atomic8_fetch_nand(volatile void*, unsigned char, int); -unsigned char __tsan_atomic8_fetch_or(volatile void*, unsigned char, int); -unsigned char __tsan_atomic8_fetch_sub(volatile void*, unsigned char, int); -unsigned char __tsan_atomic8_fetch_xor(volatile void*, unsigned char, int); -unsigned char __tsan_atomic8_load(const volatile void*, int); -void __tsan_atomic8_store(volatile void*, unsigned char, int); -void __tsan_atomic_signal_fence(int); -void __tsan_atomic_thread_fence(int); -void __tsan_func_entry(void*); -void __tsan_func_exit(void*); -void __tsan_read1(void*); -void __tsan_read16(void*); -void __tsan_read2(void*); -void __tsan_read4(void*); -void __tsan_read8(void*); -void __tsan_read_range(void*, long int); -void __tsan_write1(void*); -void __tsan_write16(void*); -void __tsan_write2(void*); -void __tsan_write4(void*); -void __tsan_write8(void*); -void __tsan_write_range(void*, long int); -void __ubsan_handle_add_overflow(void*, void*, void*); -void __ubsan_handle_add_overflow_abort(void*, void*, void*); -void __ubsan_handle_builtin_unreachable(void*); -void __ubsan_handle_divrem_overflow(void*, void*, void*); -void __ubsan_handle_divrem_overflow_abort(void*, void*, void*); -void __ubsan_handle_dynamic_type_cache_miss(void*, void*, void*); -void __ubsan_handle_dynamic_type_cache_miss_abort(void*, void*, void*); -void __ubsan_handle_float_cast_overflow(void*, void*); -void __ubsan_handle_float_cast_overflow_abort(void*, void*); -void __ubsan_handle_invalid_builtin(void*); -void __ubsan_handle_invalid_builtin_abort(void*); -void __ubsan_handle_load_invalid_value(void*, void*); -void __ubsan_handle_load_invalid_value_abort(void*, void*); -void __ubsan_handle_missing_return(void*); -void __ubsan_handle_mul_overflow(void*, void*, void*); -void __ubsan_handle_mul_overflow_abort(void*, void*, void*); -void __ubsan_handle_negate_overflow(void*, void*); -void __ubsan_handle_negate_overflow_abort(void*, void*); -void __ubsan_handle_nonnull_return_v1(void*, void*); -void __ubsan_handle_nonnull_return_v1_abort(void*, void*); -void __ubsan_handle_out_of_bounds(void*, void*); -void __ubsan_handle_out_of_bounds_abort(void*, void*); -void __ubsan_handle_pointer_overflow(void*, void*, void*); -void __ubsan_handle_pointer_overflow_abort(void*, void*, void*); -void __ubsan_handle_shift_out_of_bounds(void*, void*, void*); -void __ubsan_handle_shift_out_of_bounds_abort(void*, void*, void*); -void __ubsan_handle_sub_overflow(void*, void*, void*); -void __ubsan_handle_sub_overflow_abort(void*, void*, void*); -void __ubsan_handle_type_mismatch_v1(void*, void*); -void __ubsan_handle_type_mismatch_v1_abort(void*, void*); -void __ubsan_handle_vla_bound_not_positive(void*, void*); -void __ubsan_handle_vla_bound_not_positive_abort(void*, void*); - -/* Copyright (c) 2023 Synopsys, Inc. All rights reserved worldwide. */ - -/* - * These declarations are used to support Windows targets. They are not - * supported intrinsically by cov-emit. - */ - -#if __COVERITY_GCC_VERSION_AT_LEAST(4, 4) -#define __builtin_ms_va_list __builtin_va_list -#define __builtin_ms_va_copy __builtin_va_copy -#define __builtin_ms_va_start __builtin_va_start -#define __builtin_ms_va_end __builtin_va_end - -#define __builtin_sysv_va_list __builtin_va_list -#define __builtin_sysv_va_copy __builtin_va_copy -#define __builtin_sysv_va_start __builtin_va_start -#define __builtin_sysv_va_end __builtin_va_end - -#define __ms_va_copy(__d,__s) __builtin_ms_va_copy(__d,__s) -#define __ms_va_start(__v,__l) __builtin_ms_va_start(__v,__l) -#define __ms_va_arg(__v,__l) __builtin_va_arg(__v,__l) -#define __ms_va_end(__v) __builtin_ms_va_end(__v) - -#define __sysv_va_copy(__d,__s) __builtin_sysv_va_copy(__d,__s) -#define __sysv_va_start(__v,__l) __builtin_sysv_va_start(__v,__l) -#define __sysv_va_arg(__v,__l) __builtin_va_arg(__v,__l) -#define __sysv_va_end(__v) __builtin_sysv_va_end(__v) -#endif /* GCC >= 4.4 */ - -#pragma builtin end -#endif /* COVERITY_COMPAT_a686842b84bb52371c3dd7976b9e30b4 */ -#endif /* __COVERITY__ */ diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-macro-compat.h b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-macro-compat.h deleted file mode 100644 index dd0854e36..000000000 --- a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity-macro-compat.h +++ /dev/null @@ -1,1084 +0,0 @@ - -#if !(defined(__SSP_STRONG__) || defined(__coverity_undefine___SSP_STRONG__)) -#define __SSP_STRONG__ 3 -#endif -#if !(defined(__DBL_MIN_EXP__) || defined(__coverity_undefine___DBL_MIN_EXP__)) -#define __DBL_MIN_EXP__ (-1021) -#endif -#if !(defined(__FLT32X_MAX_EXP__) || defined(__coverity_undefine___FLT32X_MAX_EXP__)) -#define __FLT32X_MAX_EXP__ 1024 -#endif -#if !(defined(__UINT_LEAST16_MAX__) || defined(__coverity_undefine___UINT_LEAST16_MAX__)) -#define __UINT_LEAST16_MAX__ 0xffff -#endif -#if !(defined(__ATOMIC_ACQUIRE) || defined(__coverity_undefine___ATOMIC_ACQUIRE)) -#define __ATOMIC_ACQUIRE 2 -#endif -#if !(defined(__FLT128_MAX_10_EXP__) || defined(__coverity_undefine___FLT128_MAX_10_EXP__)) -#define __FLT128_MAX_10_EXP__ 4932 -#endif -#if !(defined(__FLT_MIN__) || defined(__coverity_undefine___FLT_MIN__)) -#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F -#endif -#if !(defined(__GCC_IEC_559_COMPLEX) || defined(__coverity_undefine___GCC_IEC_559_COMPLEX)) -#define __GCC_IEC_559_COMPLEX 2 -#endif -#if !(defined(__UINT_LEAST8_TYPE__) || defined(__coverity_undefine___UINT_LEAST8_TYPE__)) -#define __UINT_LEAST8_TYPE__ unsigned char -#endif -#if !(defined(__SIZEOF_FLOAT80__) || defined(__coverity_undefine___SIZEOF_FLOAT80__)) -#define __SIZEOF_FLOAT80__ 16 -#endif -#if !(defined(__INTMAX_C) || defined(__coverity_undefine___INTMAX_C)) -#define __INTMAX_C(c) c ## L -#endif -#if !(defined(__CHAR_BIT__) || defined(__coverity_undefine___CHAR_BIT__)) -#define __CHAR_BIT__ 8 -#endif -#if !(defined(__UINT8_MAX__) || defined(__coverity_undefine___UINT8_MAX__)) -#define __UINT8_MAX__ 0xff -#endif -#if !(defined(__WINT_MAX__) || defined(__coverity_undefine___WINT_MAX__)) -#define __WINT_MAX__ 0xffffffffU -#endif -#if !(defined(__FLT32_MIN_EXP__) || defined(__coverity_undefine___FLT32_MIN_EXP__)) -#define __FLT32_MIN_EXP__ (-125) -#endif -#if !(defined(__ORDER_LITTLE_ENDIAN__) || defined(__coverity_undefine___ORDER_LITTLE_ENDIAN__)) -#define __ORDER_LITTLE_ENDIAN__ 1234 -#endif -#if !(defined(__SIZE_MAX__) || defined(__coverity_undefine___SIZE_MAX__)) -#define __SIZE_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__WCHAR_MAX__) || defined(__coverity_undefine___WCHAR_MAX__)) -#define __WCHAR_MAX__ 0x7fffffff -#endif -#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_1)) -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 -#endif -#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_2)) -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 -#endif -#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4)) -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 -#endif -#if !(defined(__DBL_DENORM_MIN__) || defined(__coverity_undefine___DBL_DENORM_MIN__)) -#define __DBL_DENORM_MIN__ ((double)4.94065645841246544176568792868221372e-324L) -#endif -#if !(defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8) || defined(__coverity_undefine___GCC_HAVE_SYNC_COMPARE_AND_SWAP_8)) -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 -#endif -#if !(defined(__GCC_ATOMIC_CHAR_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_CHAR_LOCK_FREE)) -#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 -#endif -#if !(defined(__GCC_IEC_559) || defined(__coverity_undefine___GCC_IEC_559)) -#define __GCC_IEC_559 2 -#endif -#if !(defined(__FLT32X_DECIMAL_DIG__) || defined(__coverity_undefine___FLT32X_DECIMAL_DIG__)) -#define __FLT32X_DECIMAL_DIG__ 17 -#endif -#if !(defined(__FLT_EVAL_METHOD__) || defined(__coverity_undefine___FLT_EVAL_METHOD__)) -#define __FLT_EVAL_METHOD__ 0 -#endif -#if !(defined(__unix__) || defined(__coverity_undefine___unix__)) -#define __unix__ 1 -#endif -#if !(defined(__FLT64_DECIMAL_DIG__) || defined(__coverity_undefine___FLT64_DECIMAL_DIG__)) -#define __FLT64_DECIMAL_DIG__ 17 -#endif -#if !(defined(__CET__) || defined(__coverity_undefine___CET__)) -#define __CET__ 3 -#endif -#if !(defined(__GCC_ATOMIC_CHAR32_T_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_CHAR32_T_LOCK_FREE)) -#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 -#endif -#if !(defined(__x86_64) || defined(__coverity_undefine___x86_64)) -#define __x86_64 1 -#endif -#if !(defined(__UINT_FAST64_MAX__) || defined(__coverity_undefine___UINT_FAST64_MAX__)) -#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__SIG_ATOMIC_TYPE__) || defined(__coverity_undefine___SIG_ATOMIC_TYPE__)) -#define __SIG_ATOMIC_TYPE__ int -#endif -#if !(defined(__DBL_MIN_10_EXP__) || defined(__coverity_undefine___DBL_MIN_10_EXP__)) -#define __DBL_MIN_10_EXP__ (-307) -#endif -#if !(defined(__FINITE_MATH_ONLY__) || defined(__coverity_undefine___FINITE_MATH_ONLY__)) -#define __FINITE_MATH_ONLY__ 0 -#endif -#if !(defined(__GNUC_PATCHLEVEL__) || defined(__coverity_undefine___GNUC_PATCHLEVEL__)) -#define __GNUC_PATCHLEVEL__ 0 -#endif -#if !(defined(__FLT32_HAS_DENORM__) || defined(__coverity_undefine___FLT32_HAS_DENORM__)) -#define __FLT32_HAS_DENORM__ 1 -#endif -#if !(defined(__UINT_FAST8_MAX__) || defined(__coverity_undefine___UINT_FAST8_MAX__)) -#define __UINT_FAST8_MAX__ 0xff -#endif -#if !(defined(__DEC64_MAX_EXP__) || defined(__coverity_undefine___DEC64_MAX_EXP__)) -#define __DEC64_MAX_EXP__ 385 -#endif -#if !(defined(__INT8_C) || defined(__coverity_undefine___INT8_C)) -#define __INT8_C(c) c -#endif -#if !(defined(__INT_LEAST8_WIDTH__) || defined(__coverity_undefine___INT_LEAST8_WIDTH__)) -#define __INT_LEAST8_WIDTH__ 8 -#endif -#if !(defined(__UINT_LEAST64_MAX__) || defined(__coverity_undefine___UINT_LEAST64_MAX__)) -#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__SHRT_MAX__) || defined(__coverity_undefine___SHRT_MAX__)) -#define __SHRT_MAX__ 0x7fff -#endif -#if !(defined(__LDBL_MAX__) || defined(__coverity_undefine___LDBL_MAX__)) -#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L -#endif -#if !(defined(__FLT64X_MAX_10_EXP__) || defined(__coverity_undefine___FLT64X_MAX_10_EXP__)) -#define __FLT64X_MAX_10_EXP__ 4932 -#endif -#if !(defined(__UINT_LEAST8_MAX__) || defined(__coverity_undefine___UINT_LEAST8_MAX__)) -#define __UINT_LEAST8_MAX__ 0xff -#endif -#if !(defined(__GCC_ATOMIC_BOOL_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_BOOL_LOCK_FREE)) -#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 -#endif -#if !(defined(__FLT128_DENORM_MIN__) || defined(__coverity_undefine___FLT128_DENORM_MIN__)) -#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128 -#endif -#if !(defined(__UINTMAX_TYPE__) || defined(__coverity_undefine___UINTMAX_TYPE__)) -#define __UINTMAX_TYPE__ long unsigned int -#endif -#if !(defined(__linux) || defined(__coverity_undefine___linux)) -#define __linux 1 -#endif -#if !(defined(__DEC32_EPSILON__) || defined(__coverity_undefine___DEC32_EPSILON__)) -#define __DEC32_EPSILON__ 1E-6DF -#endif -#if !(defined(__FLT_EVAL_METHOD_TS_18661_3__) || defined(__coverity_undefine___FLT_EVAL_METHOD_TS_18661_3__)) -#define __FLT_EVAL_METHOD_TS_18661_3__ 0 -#endif -#if !(defined(__unix) || defined(__coverity_undefine___unix)) -#define __unix 1 -#endif -#if !(defined(__UINT32_MAX__) || defined(__coverity_undefine___UINT32_MAX__)) -#define __UINT32_MAX__ 0xffffffffU -#endif -#if !(defined(__LDBL_MAX_EXP__) || defined(__coverity_undefine___LDBL_MAX_EXP__)) -#define __LDBL_MAX_EXP__ 16384 -#endif -#if !(defined(__FLT128_MIN_EXP__) || defined(__coverity_undefine___FLT128_MIN_EXP__)) -#define __FLT128_MIN_EXP__ (-16381) -#endif -#if !(defined(__WINT_MIN__) || defined(__coverity_undefine___WINT_MIN__)) -#define __WINT_MIN__ 0U -#endif -#if !(defined(__linux__) || defined(__coverity_undefine___linux__)) -#define __linux__ 1 -#endif -#if !(defined(__FLT128_MIN_10_EXP__) || defined(__coverity_undefine___FLT128_MIN_10_EXP__)) -#define __FLT128_MIN_10_EXP__ (-4931) -#endif -#if !(defined(__INT_LEAST16_WIDTH__) || defined(__coverity_undefine___INT_LEAST16_WIDTH__)) -#define __INT_LEAST16_WIDTH__ 16 -#endif -#if !(defined(__SCHAR_MAX__) || defined(__coverity_undefine___SCHAR_MAX__)) -#define __SCHAR_MAX__ 0x7f -#endif -#if !(defined(__FLT128_MANT_DIG__) || defined(__coverity_undefine___FLT128_MANT_DIG__)) -#define __FLT128_MANT_DIG__ 113 -#endif -#if !(defined(__WCHAR_MIN__) || defined(__coverity_undefine___WCHAR_MIN__)) -#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) -#endif -#if !(defined(__INT64_C) || defined(__coverity_undefine___INT64_C)) -#define __INT64_C(c) c ## L -#endif -#if !(defined(__DBL_DIG__) || defined(__coverity_undefine___DBL_DIG__)) -#define __DBL_DIG__ 15 -#endif -#if !(defined(__GCC_ATOMIC_POINTER_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_POINTER_LOCK_FREE)) -#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 -#endif -#if !(defined(__FLT64X_MANT_DIG__) || defined(__coverity_undefine___FLT64X_MANT_DIG__)) -#define __FLT64X_MANT_DIG__ 64 -#endif -#if !(defined(__SIZEOF_INT__) || defined(__coverity_undefine___SIZEOF_INT__)) -#define __SIZEOF_INT__ 4 -#endif -#if !(defined(__SIZEOF_POINTER__) || defined(__coverity_undefine___SIZEOF_POINTER__)) -#define __SIZEOF_POINTER__ 8 -#endif -#if !(defined(__USER_LABEL_PREFIX__) || defined(__coverity_undefine___USER_LABEL_PREFIX__)) -#define __USER_LABEL_PREFIX__ -#endif -#if !(defined(__FLT64X_EPSILON__) || defined(__coverity_undefine___FLT64X_EPSILON__)) -#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x -#endif -#if !(defined(__STDC_HOSTED__) || defined(__coverity_undefine___STDC_HOSTED__)) -#define __STDC_HOSTED__ 1 -#endif -#if !(defined(__LDBL_HAS_INFINITY__) || defined(__coverity_undefine___LDBL_HAS_INFINITY__)) -#define __LDBL_HAS_INFINITY__ 1 -#endif -#if !(defined(__FLT32_DIG__) || defined(__coverity_undefine___FLT32_DIG__)) -#define __FLT32_DIG__ 6 -#endif -#if !(defined(__FLT_EPSILON__) || defined(__coverity_undefine___FLT_EPSILON__)) -#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F -#endif -#if !(defined(__SHRT_WIDTH__) || defined(__coverity_undefine___SHRT_WIDTH__)) -#define __SHRT_WIDTH__ 16 -#endif -#if !(defined(__LDBL_MIN__) || defined(__coverity_undefine___LDBL_MIN__)) -#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L -#endif -#if !(defined(__DEC32_MAX__) || defined(__coverity_undefine___DEC32_MAX__)) -#define __DEC32_MAX__ 9.999999E96DF -#endif -#if !(defined(__FLT64X_DENORM_MIN__) || defined(__coverity_undefine___FLT64X_DENORM_MIN__)) -#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x -#endif -#if !(defined(__FLT32X_HAS_INFINITY__) || defined(__coverity_undefine___FLT32X_HAS_INFINITY__)) -#define __FLT32X_HAS_INFINITY__ 1 -#endif -#if !(defined(__INT32_MAX__) || defined(__coverity_undefine___INT32_MAX__)) -#define __INT32_MAX__ 0x7fffffff -#endif -#if !(defined(__INT_WIDTH__) || defined(__coverity_undefine___INT_WIDTH__)) -#define __INT_WIDTH__ 32 -#endif -#if !(defined(__SIZEOF_LONG__) || defined(__coverity_undefine___SIZEOF_LONG__)) -#define __SIZEOF_LONG__ 8 -#endif -#if !(defined(__STDC_IEC_559__) || defined(__coverity_undefine___STDC_IEC_559__)) -#define __STDC_IEC_559__ 1 -#endif -#if !(defined(__STDC_ISO_10646__) || defined(__coverity_undefine___STDC_ISO_10646__)) -#define __STDC_ISO_10646__ 201706L -#endif -#if !(defined(__UINT16_C) || defined(__coverity_undefine___UINT16_C)) -#define __UINT16_C(c) c -#endif -#if !(defined(__PTRDIFF_WIDTH__) || defined(__coverity_undefine___PTRDIFF_WIDTH__)) -#define __PTRDIFF_WIDTH__ 64 -#endif -#if !(defined(__DECIMAL_DIG__) || defined(__coverity_undefine___DECIMAL_DIG__)) -#define __DECIMAL_DIG__ 21 -#endif -#if !(defined(__FLT64_EPSILON__) || defined(__coverity_undefine___FLT64_EPSILON__)) -#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64 -#endif -#if !(defined(__gnu_linux__) || defined(__coverity_undefine___gnu_linux__)) -#define __gnu_linux__ 1 -#endif -#if !(defined(__INTMAX_WIDTH__) || defined(__coverity_undefine___INTMAX_WIDTH__)) -#define __INTMAX_WIDTH__ 64 -#endif -#if !(defined(__FLT64X_MIN_10_EXP__) || defined(__coverity_undefine___FLT64X_MIN_10_EXP__)) -#define __FLT64X_MIN_10_EXP__ (-4931) -#endif -#if !(defined(__LDBL_HAS_QUIET_NAN__) || defined(__coverity_undefine___LDBL_HAS_QUIET_NAN__)) -#define __LDBL_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__FLT64_MANT_DIG__) || defined(__coverity_undefine___FLT64_MANT_DIG__)) -#define __FLT64_MANT_DIG__ 53 -#endif -#if !(defined(__GNUC__) || defined(__coverity_undefine___GNUC__)) -#define __GNUC__ 9 -#endif -#if !(defined(__pie__) || defined(__coverity_undefine___pie__)) -#define __pie__ 2 -#endif -#if !(defined(__MMX__) || defined(__coverity_undefine___MMX__)) -#define __MMX__ 1 -#endif -#if !(defined(__FLT_HAS_DENORM__) || defined(__coverity_undefine___FLT_HAS_DENORM__)) -#define __FLT_HAS_DENORM__ 1 -#endif -#if !(defined(__SIZEOF_LONG_DOUBLE__) || defined(__coverity_undefine___SIZEOF_LONG_DOUBLE__)) -#define __SIZEOF_LONG_DOUBLE__ 16 -#endif -#if !(defined(__BIGGEST_ALIGNMENT__) || defined(__coverity_undefine___BIGGEST_ALIGNMENT__)) -#define __BIGGEST_ALIGNMENT__ 16 -#endif -#if !(defined(__FLT64_MAX_10_EXP__) || defined(__coverity_undefine___FLT64_MAX_10_EXP__)) -#define __FLT64_MAX_10_EXP__ 308 -#endif -#if !(defined(__DBL_MAX__) || defined(__coverity_undefine___DBL_MAX__)) -#define __DBL_MAX__ ((double)1.79769313486231570814527423731704357e+308L) -#endif -#if !(defined(__INT_FAST32_MAX__) || defined(__coverity_undefine___INT_FAST32_MAX__)) -#define __INT_FAST32_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__DBL_HAS_INFINITY__) || defined(__coverity_undefine___DBL_HAS_INFINITY__)) -#define __DBL_HAS_INFINITY__ 1 -#endif -#if !(defined(__HAVE_SPECULATION_SAFE_VALUE) || defined(__coverity_undefine___HAVE_SPECULATION_SAFE_VALUE)) -#define __HAVE_SPECULATION_SAFE_VALUE 1 -#endif -#if !(defined(__DEC32_MIN_EXP__) || defined(__coverity_undefine___DEC32_MIN_EXP__)) -#define __DEC32_MIN_EXP__ (-94) -#endif -#if !(defined(__INTPTR_WIDTH__) || defined(__coverity_undefine___INTPTR_WIDTH__)) -#define __INTPTR_WIDTH__ 64 -#endif -#if !(defined(__FLT32X_HAS_DENORM__) || defined(__coverity_undefine___FLT32X_HAS_DENORM__)) -#define __FLT32X_HAS_DENORM__ 1 -#endif -#if !(defined(__INT_FAST16_TYPE__) || defined(__coverity_undefine___INT_FAST16_TYPE__)) -#define __INT_FAST16_TYPE__ long int -#endif -#if !(defined(__LDBL_HAS_DENORM__) || defined(__coverity_undefine___LDBL_HAS_DENORM__)) -#define __LDBL_HAS_DENORM__ 1 -#endif -#if !(defined(__FLT128_HAS_INFINITY__) || defined(__coverity_undefine___FLT128_HAS_INFINITY__)) -#define __FLT128_HAS_INFINITY__ 1 -#endif -#if !(defined(__DEC128_MAX__) || defined(__coverity_undefine___DEC128_MAX__)) -#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL -#endif -#if !(defined(__INT_LEAST32_MAX__) || defined(__coverity_undefine___INT_LEAST32_MAX__)) -#define __INT_LEAST32_MAX__ 0x7fffffff -#endif -#if !(defined(__DEC32_MIN__) || defined(__coverity_undefine___DEC32_MIN__)) -#define __DEC32_MIN__ 1E-95DF -#endif -#if !(defined(__DBL_MAX_EXP__) || defined(__coverity_undefine___DBL_MAX_EXP__)) -#define __DBL_MAX_EXP__ 1024 -#endif -#if !(defined(__WCHAR_WIDTH__) || defined(__coverity_undefine___WCHAR_WIDTH__)) -#define __WCHAR_WIDTH__ 32 -#endif -#if !(defined(__FLT32_MAX__) || defined(__coverity_undefine___FLT32_MAX__)) -#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32 -#endif -#if !(defined(__DEC128_EPSILON__) || defined(__coverity_undefine___DEC128_EPSILON__)) -#define __DEC128_EPSILON__ 1E-33DL -#endif -#if !(defined(__SSE2_MATH__) || defined(__coverity_undefine___SSE2_MATH__)) -#define __SSE2_MATH__ 1 -#endif -#if !(defined(__ATOMIC_HLE_RELEASE) || defined(__coverity_undefine___ATOMIC_HLE_RELEASE)) -#define __ATOMIC_HLE_RELEASE 131072 -#endif -#if !(defined(__PTRDIFF_MAX__) || defined(__coverity_undefine___PTRDIFF_MAX__)) -#define __PTRDIFF_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__amd64) || defined(__coverity_undefine___amd64)) -#define __amd64 1 -#endif -#if !(defined(__ATOMIC_HLE_ACQUIRE) || defined(__coverity_undefine___ATOMIC_HLE_ACQUIRE)) -#define __ATOMIC_HLE_ACQUIRE 65536 -#endif -#if !(defined(__FLT32_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT32_HAS_QUIET_NAN__)) -#define __FLT32_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__LONG_LONG_MAX__) || defined(__coverity_undefine___LONG_LONG_MAX__)) -#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL -#endif -#if !(defined(__SIZEOF_SIZE_T__) || defined(__coverity_undefine___SIZEOF_SIZE_T__)) -#define __SIZEOF_SIZE_T__ 8 -#endif -#if !(defined(__FLT64X_MIN_EXP__) || defined(__coverity_undefine___FLT64X_MIN_EXP__)) -#define __FLT64X_MIN_EXP__ (-16381) -#endif -#if !(defined(__SIZEOF_WINT_T__) || defined(__coverity_undefine___SIZEOF_WINT_T__)) -#define __SIZEOF_WINT_T__ 4 -#endif -#if !(defined(__LONG_LONG_WIDTH__) || defined(__coverity_undefine___LONG_LONG_WIDTH__)) -#define __LONG_LONG_WIDTH__ 64 -#endif -#if !(defined(__FLT32_MAX_EXP__) || defined(__coverity_undefine___FLT32_MAX_EXP__)) -#define __FLT32_MAX_EXP__ 128 -#endif -#if !(defined(__GCC_HAVE_DWARF2_CFI_ASM) || defined(__coverity_undefine___GCC_HAVE_DWARF2_CFI_ASM)) -#define __GCC_HAVE_DWARF2_CFI_ASM 1 -#endif -#if !(defined(__GXX_ABI_VERSION) || defined(__coverity_undefine___GXX_ABI_VERSION)) -#define __GXX_ABI_VERSION 1013 -#endif -#if !(defined(__FLT_MIN_EXP__) || defined(__coverity_undefine___FLT_MIN_EXP__)) -#define __FLT_MIN_EXP__ (-125) -#endif -#if !(defined(__FLT64X_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT64X_HAS_QUIET_NAN__)) -#define __FLT64X_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__INT_FAST64_TYPE__) || defined(__coverity_undefine___INT_FAST64_TYPE__)) -#define __INT_FAST64_TYPE__ long int -#endif -#if !(defined(__FLT64_DENORM_MIN__) || defined(__coverity_undefine___FLT64_DENORM_MIN__)) -#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64 -#endif -#if !(defined(__DBL_MIN__) || defined(__coverity_undefine___DBL_MIN__)) -#define __DBL_MIN__ ((double)2.22507385850720138309023271733240406e-308L) -#endif -#if !(defined(__PIE__) || defined(__coverity_undefine___PIE__)) -#define __PIE__ 2 -#endif -#if !(defined(__LP64__) || defined(__coverity_undefine___LP64__)) -#define __LP64__ 1 -#endif -#if !(defined(__FLT32X_EPSILON__) || defined(__coverity_undefine___FLT32X_EPSILON__)) -#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x -#endif -#if !(defined(__DECIMAL_BID_FORMAT__) || defined(__coverity_undefine___DECIMAL_BID_FORMAT__)) -#define __DECIMAL_BID_FORMAT__ 1 -#endif -#if !(defined(__FLT64_MIN_EXP__) || defined(__coverity_undefine___FLT64_MIN_EXP__)) -#define __FLT64_MIN_EXP__ (-1021) -#endif -#if !(defined(__FLT64_MIN_10_EXP__) || defined(__coverity_undefine___FLT64_MIN_10_EXP__)) -#define __FLT64_MIN_10_EXP__ (-307) -#endif -#if !(defined(__FLT64X_DECIMAL_DIG__) || defined(__coverity_undefine___FLT64X_DECIMAL_DIG__)) -#define __FLT64X_DECIMAL_DIG__ 21 -#endif -#if !(defined(__DEC128_MIN__) || defined(__coverity_undefine___DEC128_MIN__)) -#define __DEC128_MIN__ 1E-6143DL -#endif -#if !(defined(__REGISTER_PREFIX__) || defined(__coverity_undefine___REGISTER_PREFIX__)) -#define __REGISTER_PREFIX__ -#endif -#if !(defined(__UINT16_MAX__) || defined(__coverity_undefine___UINT16_MAX__)) -#define __UINT16_MAX__ 0xffff -#endif -#if !(defined(__DBL_HAS_DENORM__) || defined(__coverity_undefine___DBL_HAS_DENORM__)) -#define __DBL_HAS_DENORM__ 1 -#endif -#if !(defined(__FLT32_MIN__) || defined(__coverity_undefine___FLT32_MIN__)) -#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32 -#endif -#if !(defined(__UINT8_TYPE__) || defined(__coverity_undefine___UINT8_TYPE__)) -#define __UINT8_TYPE__ unsigned char -#endif -#if !(defined(__FLT_MANT_DIG__) || defined(__coverity_undefine___FLT_MANT_DIG__)) -#define __FLT_MANT_DIG__ 24 -#endif -#if !(defined(__LDBL_DECIMAL_DIG__) || defined(__coverity_undefine___LDBL_DECIMAL_DIG__)) -#define __LDBL_DECIMAL_DIG__ 21 -#endif -#if !(defined(__VERSION__) || defined(__coverity_undefine___VERSION__)) -#define __VERSION__ "9.4.0" -#endif -#if !(defined(__UINT64_C) || defined(__coverity_undefine___UINT64_C)) -#define __UINT64_C(c) c ## UL -#endif -#if !(defined(_STDC_PREDEF_H) || defined(__coverity_undefine__STDC_PREDEF_H)) -#define _STDC_PREDEF_H 1 -#endif -#if !(defined(__GCC_ATOMIC_INT_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_INT_LOCK_FREE)) -#define __GCC_ATOMIC_INT_LOCK_FREE 2 -#endif -#if !(defined(__FLT128_MAX_EXP__) || defined(__coverity_undefine___FLT128_MAX_EXP__)) -#define __FLT128_MAX_EXP__ 16384 -#endif -#if !(defined(__FLT32_MANT_DIG__) || defined(__coverity_undefine___FLT32_MANT_DIG__)) -#define __FLT32_MANT_DIG__ 24 -#endif -#if !(defined(__FLOAT_WORD_ORDER__) || defined(__coverity_undefine___FLOAT_WORD_ORDER__)) -#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ -#endif -#if !(defined(__STDC_IEC_559_COMPLEX__) || defined(__coverity_undefine___STDC_IEC_559_COMPLEX__)) -#define __STDC_IEC_559_COMPLEX__ 1 -#endif -#if !(defined(__FLT128_HAS_DENORM__) || defined(__coverity_undefine___FLT128_HAS_DENORM__)) -#define __FLT128_HAS_DENORM__ 1 -#endif -#if !(defined(__FLT128_DIG__) || defined(__coverity_undefine___FLT128_DIG__)) -#define __FLT128_DIG__ 33 -#endif -#if !(defined(__SCHAR_WIDTH__) || defined(__coverity_undefine___SCHAR_WIDTH__)) -#define __SCHAR_WIDTH__ 8 -#endif -#if !(defined(__INT32_C) || defined(__coverity_undefine___INT32_C)) -#define __INT32_C(c) c -#endif -#if !(defined(__DEC64_EPSILON__) || defined(__coverity_undefine___DEC64_EPSILON__)) -#define __DEC64_EPSILON__ 1E-15DD -#endif -#if !(defined(__ORDER_PDP_ENDIAN__) || defined(__coverity_undefine___ORDER_PDP_ENDIAN__)) -#define __ORDER_PDP_ENDIAN__ 3412 -#endif -#if !(defined(__DEC128_MIN_EXP__) || defined(__coverity_undefine___DEC128_MIN_EXP__)) -#define __DEC128_MIN_EXP__ (-6142) -#endif -#if !(defined(__FLT32_MAX_10_EXP__) || defined(__coverity_undefine___FLT32_MAX_10_EXP__)) -#define __FLT32_MAX_10_EXP__ 38 -#endif -#if !(defined(__INT_FAST32_TYPE__) || defined(__coverity_undefine___INT_FAST32_TYPE__)) -#define __INT_FAST32_TYPE__ long int -#endif -#if !(defined(__UINT_LEAST16_TYPE__) || defined(__coverity_undefine___UINT_LEAST16_TYPE__)) -#define __UINT_LEAST16_TYPE__ short unsigned int -#endif -#if !(defined(__FLT64X_HAS_INFINITY__) || defined(__coverity_undefine___FLT64X_HAS_INFINITY__)) -#define __FLT64X_HAS_INFINITY__ 1 -#endif -#if !(defined(unix) || defined(__coverity_undefine_unix)) -#define unix 1 -#endif -#if !(defined(__INT16_MAX__) || defined(__coverity_undefine___INT16_MAX__)) -#define __INT16_MAX__ 0x7fff -#endif -#if !(defined(__SIZE_TYPE__) || defined(__coverity_undefine___SIZE_TYPE__)) -#define __SIZE_TYPE__ long unsigned int -#endif -#if !(defined(__UINT64_MAX__) || defined(__coverity_undefine___UINT64_MAX__)) -#define __UINT64_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__FLT64X_DIG__) || defined(__coverity_undefine___FLT64X_DIG__)) -#define __FLT64X_DIG__ 18 -#endif -#if !(defined(__INT8_TYPE__) || defined(__coverity_undefine___INT8_TYPE__)) -#define __INT8_TYPE__ signed char -#endif -#if !(defined(__ELF__) || defined(__coverity_undefine___ELF__)) -#define __ELF__ 1 -#endif -#if !(defined(__GCC_ASM_FLAG_OUTPUTS__) || defined(__coverity_undefine___GCC_ASM_FLAG_OUTPUTS__)) -#define __GCC_ASM_FLAG_OUTPUTS__ 1 -#endif -#if !(defined(__FLT_RADIX__) || defined(__coverity_undefine___FLT_RADIX__)) -#define __FLT_RADIX__ 2 -#endif -#if !(defined(__INT_LEAST16_TYPE__) || defined(__coverity_undefine___INT_LEAST16_TYPE__)) -#define __INT_LEAST16_TYPE__ short int -#endif -#if !(defined(__LDBL_EPSILON__) || defined(__coverity_undefine___LDBL_EPSILON__)) -#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L -#endif -#if !(defined(__UINTMAX_C) || defined(__coverity_undefine___UINTMAX_C)) -#define __UINTMAX_C(c) c ## UL -#endif -#if !(defined(__SSE_MATH__) || defined(__coverity_undefine___SSE_MATH__)) -#define __SSE_MATH__ 1 -#endif -#if !(defined(__k8) || defined(__coverity_undefine___k8)) -#define __k8 1 -#endif -#if !(defined(__SIG_ATOMIC_MAX__) || defined(__coverity_undefine___SIG_ATOMIC_MAX__)) -#define __SIG_ATOMIC_MAX__ 0x7fffffff -#endif -#if !(defined(__GCC_ATOMIC_WCHAR_T_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_WCHAR_T_LOCK_FREE)) -#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 -#endif -#if !(defined(__SIZEOF_PTRDIFF_T__) || defined(__coverity_undefine___SIZEOF_PTRDIFF_T__)) -#define __SIZEOF_PTRDIFF_T__ 8 -#endif -#if !(defined(__FLT32X_MANT_DIG__) || defined(__coverity_undefine___FLT32X_MANT_DIG__)) -#define __FLT32X_MANT_DIG__ 53 -#endif -#if !(defined(__x86_64__) || defined(__coverity_undefine___x86_64__)) -#define __x86_64__ 1 -#endif -#if !(defined(__FLT32X_MIN_EXP__) || defined(__coverity_undefine___FLT32X_MIN_EXP__)) -#define __FLT32X_MIN_EXP__ (-1021) -#endif -#if !(defined(__DEC32_SUBNORMAL_MIN__) || defined(__coverity_undefine___DEC32_SUBNORMAL_MIN__)) -#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF -#endif -#if !(defined(__INT_FAST16_MAX__) || defined(__coverity_undefine___INT_FAST16_MAX__)) -#define __INT_FAST16_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__FLT64_DIG__) || defined(__coverity_undefine___FLT64_DIG__)) -#define __FLT64_DIG__ 15 -#endif -#if !(defined(__UINT_FAST32_MAX__) || defined(__coverity_undefine___UINT_FAST32_MAX__)) -#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__UINT_LEAST64_TYPE__) || defined(__coverity_undefine___UINT_LEAST64_TYPE__)) -#define __UINT_LEAST64_TYPE__ long unsigned int -#endif -#if !(defined(__FLT_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT_HAS_QUIET_NAN__)) -#define __FLT_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__FLT_MAX_10_EXP__) || defined(__coverity_undefine___FLT_MAX_10_EXP__)) -#define __FLT_MAX_10_EXP__ 38 -#endif -#if !(defined(__LONG_MAX__) || defined(__coverity_undefine___LONG_MAX__)) -#define __LONG_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__FLT64X_HAS_DENORM__) || defined(__coverity_undefine___FLT64X_HAS_DENORM__)) -#define __FLT64X_HAS_DENORM__ 1 -#endif -#if !(defined(__DEC128_SUBNORMAL_MIN__) || defined(__coverity_undefine___DEC128_SUBNORMAL_MIN__)) -#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL -#endif -#if !(defined(__FLT_HAS_INFINITY__) || defined(__coverity_undefine___FLT_HAS_INFINITY__)) -#define __FLT_HAS_INFINITY__ 1 -#endif -#if !(defined(__UINT_FAST16_TYPE__) || defined(__coverity_undefine___UINT_FAST16_TYPE__)) -#define __UINT_FAST16_TYPE__ long unsigned int -#endif -#if !(defined(__DEC64_MAX__) || defined(__coverity_undefine___DEC64_MAX__)) -#define __DEC64_MAX__ 9.999999999999999E384DD -#endif -#if !(defined(__INT_FAST32_WIDTH__) || defined(__coverity_undefine___INT_FAST32_WIDTH__)) -#define __INT_FAST32_WIDTH__ 64 -#endif -#if !(defined(__CHAR16_TYPE__) || defined(__coverity_undefine___CHAR16_TYPE__)) -#define __CHAR16_TYPE__ short unsigned int -#endif -#if !(defined(__PRAGMA_REDEFINE_EXTNAME) || defined(__coverity_undefine___PRAGMA_REDEFINE_EXTNAME)) -#define __PRAGMA_REDEFINE_EXTNAME 1 -#endif -#if !(defined(__SIZE_WIDTH__) || defined(__coverity_undefine___SIZE_WIDTH__)) -#define __SIZE_WIDTH__ 64 -#endif -#if !(defined(__SEG_FS) || defined(__coverity_undefine___SEG_FS)) -#define __SEG_FS 1 -#endif -#if !(defined(__INT_LEAST16_MAX__) || defined(__coverity_undefine___INT_LEAST16_MAX__)) -#define __INT_LEAST16_MAX__ 0x7fff -#endif -#if !(defined(__DEC64_MANT_DIG__) || defined(__coverity_undefine___DEC64_MANT_DIG__)) -#define __DEC64_MANT_DIG__ 16 -#endif -#if !(defined(__INT64_MAX__) || defined(__coverity_undefine___INT64_MAX__)) -#define __INT64_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__UINT_LEAST32_MAX__) || defined(__coverity_undefine___UINT_LEAST32_MAX__)) -#define __UINT_LEAST32_MAX__ 0xffffffffU -#endif -#if !(defined(__SEG_GS) || defined(__coverity_undefine___SEG_GS)) -#define __SEG_GS 1 -#endif -#if !(defined(__FLT32_DENORM_MIN__) || defined(__coverity_undefine___FLT32_DENORM_MIN__)) -#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32 -#endif -#if !(defined(__GCC_ATOMIC_LONG_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_LONG_LOCK_FREE)) -#define __GCC_ATOMIC_LONG_LOCK_FREE 2 -#endif -#if !(defined(__SIG_ATOMIC_WIDTH__) || defined(__coverity_undefine___SIG_ATOMIC_WIDTH__)) -#define __SIG_ATOMIC_WIDTH__ 32 -#endif -#if !(defined(__INT_LEAST64_TYPE__) || defined(__coverity_undefine___INT_LEAST64_TYPE__)) -#define __INT_LEAST64_TYPE__ long int -#endif -#if !(defined(__INT16_TYPE__) || defined(__coverity_undefine___INT16_TYPE__)) -#define __INT16_TYPE__ short int -#endif -#if !(defined(__INT_LEAST8_TYPE__) || defined(__coverity_undefine___INT_LEAST8_TYPE__)) -#define __INT_LEAST8_TYPE__ signed char -#endif -#if !(defined(__DEC32_MAX_EXP__) || defined(__coverity_undefine___DEC32_MAX_EXP__)) -#define __DEC32_MAX_EXP__ 97 -#endif -#if !(defined(__INT_FAST8_MAX__) || defined(__coverity_undefine___INT_FAST8_MAX__)) -#define __INT_FAST8_MAX__ 0x7f -#endif -#if !(defined(__FLT128_MAX__) || defined(__coverity_undefine___FLT128_MAX__)) -#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128 -#endif -#if !(defined(__INTPTR_MAX__) || defined(__coverity_undefine___INTPTR_MAX__)) -#define __INTPTR_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(linux) || defined(__coverity_undefine_linux)) -#define linux 1 -#endif -#if !(defined(__FLT64_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT64_HAS_QUIET_NAN__)) -#define __FLT64_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__FLT32_MIN_10_EXP__) || defined(__coverity_undefine___FLT32_MIN_10_EXP__)) -#define __FLT32_MIN_10_EXP__ (-37) -#endif -#if !(defined(__SSE2__) || defined(__coverity_undefine___SSE2__)) -#define __SSE2__ 1 -#endif -#if !(defined(__FLT32X_DIG__) || defined(__coverity_undefine___FLT32X_DIG__)) -#define __FLT32X_DIG__ 15 -#endif -#if !(defined(__LDBL_MANT_DIG__) || defined(__coverity_undefine___LDBL_MANT_DIG__)) -#define __LDBL_MANT_DIG__ 64 -#endif -#if !(defined(__DBL_HAS_QUIET_NAN__) || defined(__coverity_undefine___DBL_HAS_QUIET_NAN__)) -#define __DBL_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__FLT64_HAS_INFINITY__) || defined(__coverity_undefine___FLT64_HAS_INFINITY__)) -#define __FLT64_HAS_INFINITY__ 1 -#endif -#if !(defined(__FLT64X_MAX__) || defined(__coverity_undefine___FLT64X_MAX__)) -#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x -#endif -#if !(defined(__SIG_ATOMIC_MIN__) || defined(__coverity_undefine___SIG_ATOMIC_MIN__)) -#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) -#endif -#if !(defined(__code_model_small__) || defined(__coverity_undefine___code_model_small__)) -#define __code_model_small__ 1 -#endif -#if !(defined(__k8__) || defined(__coverity_undefine___k8__)) -#define __k8__ 1 -#endif -#if !(defined(__INTPTR_TYPE__) || defined(__coverity_undefine___INTPTR_TYPE__)) -#define __INTPTR_TYPE__ long int -#endif -#if !(defined(__UINT16_TYPE__) || defined(__coverity_undefine___UINT16_TYPE__)) -#define __UINT16_TYPE__ short unsigned int -#endif -#if !(defined(__WCHAR_TYPE__) || defined(__coverity_undefine___WCHAR_TYPE__)) -#define __WCHAR_TYPE__ int -#endif -#if !(defined(__SIZEOF_FLOAT__) || defined(__coverity_undefine___SIZEOF_FLOAT__)) -#define __SIZEOF_FLOAT__ 4 -#endif -#if !(defined(__pic__) || defined(__coverity_undefine___pic__)) -#define __pic__ 2 -#endif -#if !(defined(__UINTPTR_MAX__) || defined(__coverity_undefine___UINTPTR_MAX__)) -#define __UINTPTR_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__INT_FAST64_WIDTH__) || defined(__coverity_undefine___INT_FAST64_WIDTH__)) -#define __INT_FAST64_WIDTH__ 64 -#endif -#if !(defined(__DEC64_MIN_EXP__) || defined(__coverity_undefine___DEC64_MIN_EXP__)) -#define __DEC64_MIN_EXP__ (-382) -#endif -#if !(defined(__FLT32_DECIMAL_DIG__) || defined(__coverity_undefine___FLT32_DECIMAL_DIG__)) -#define __FLT32_DECIMAL_DIG__ 9 -#endif -#if !(defined(__INT_FAST64_MAX__) || defined(__coverity_undefine___INT_FAST64_MAX__)) -#define __INT_FAST64_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__GCC_ATOMIC_TEST_AND_SET_TRUEVAL) || defined(__coverity_undefine___GCC_ATOMIC_TEST_AND_SET_TRUEVAL)) -#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 -#endif -#if !(defined(__FLT_DIG__) || defined(__coverity_undefine___FLT_DIG__)) -#define __FLT_DIG__ 6 -#endif -#if !(defined(__FLT32_HAS_INFINITY__) || defined(__coverity_undefine___FLT32_HAS_INFINITY__)) -#define __FLT32_HAS_INFINITY__ 1 -#endif -#if !(defined(__FLT64X_MAX_EXP__) || defined(__coverity_undefine___FLT64X_MAX_EXP__)) -#define __FLT64X_MAX_EXP__ 16384 -#endif -#if !(defined(__UINT_FAST64_TYPE__) || defined(__coverity_undefine___UINT_FAST64_TYPE__)) -#define __UINT_FAST64_TYPE__ long unsigned int -#endif -#if !(defined(__INT_MAX__) || defined(__coverity_undefine___INT_MAX__)) -#define __INT_MAX__ 0x7fffffff -#endif -#if !(defined(__amd64__) || defined(__coverity_undefine___amd64__)) -#define __amd64__ 1 -#endif -#if !(defined(__INT64_TYPE__) || defined(__coverity_undefine___INT64_TYPE__)) -#define __INT64_TYPE__ long int -#endif -#if !(defined(__FLT_MAX_EXP__) || defined(__coverity_undefine___FLT_MAX_EXP__)) -#define __FLT_MAX_EXP__ 128 -#endif -#if !(defined(__ORDER_BIG_ENDIAN__) || defined(__coverity_undefine___ORDER_BIG_ENDIAN__)) -#define __ORDER_BIG_ENDIAN__ 4321 -#endif -#if !(defined(__DBL_MANT_DIG__) || defined(__coverity_undefine___DBL_MANT_DIG__)) -#define __DBL_MANT_DIG__ 53 -#endif -#if !(defined(__SIZEOF_FLOAT128__) || defined(__coverity_undefine___SIZEOF_FLOAT128__)) -#define __SIZEOF_FLOAT128__ 16 -#endif -#if !(defined(__INT_LEAST64_MAX__) || defined(__coverity_undefine___INT_LEAST64_MAX__)) -#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__GCC_ATOMIC_CHAR16_T_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_CHAR16_T_LOCK_FREE)) -#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 -#endif -#if !(defined(__DEC64_MIN__) || defined(__coverity_undefine___DEC64_MIN__)) -#define __DEC64_MIN__ 1E-383DD -#endif -#if !(defined(__WINT_TYPE__) || defined(__coverity_undefine___WINT_TYPE__)) -#define __WINT_TYPE__ unsigned int -#endif -#if !(defined(__UINT_LEAST32_TYPE__) || defined(__coverity_undefine___UINT_LEAST32_TYPE__)) -#define __UINT_LEAST32_TYPE__ unsigned int -#endif -#if !(defined(__SIZEOF_SHORT__) || defined(__coverity_undefine___SIZEOF_SHORT__)) -#define __SIZEOF_SHORT__ 2 -#endif -#if !(defined(__SSE__) || defined(__coverity_undefine___SSE__)) -#define __SSE__ 1 -#endif -#if !(defined(__LDBL_MIN_EXP__) || defined(__coverity_undefine___LDBL_MIN_EXP__)) -#define __LDBL_MIN_EXP__ (-16381) -#endif -#if !(defined(__FLT64_MAX__) || defined(__coverity_undefine___FLT64_MAX__)) -#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64 -#endif -#if !(defined(__WINT_WIDTH__) || defined(__coverity_undefine___WINT_WIDTH__)) -#define __WINT_WIDTH__ 32 -#endif -#if !(defined(__INT_LEAST8_MAX__) || defined(__coverity_undefine___INT_LEAST8_MAX__)) -#define __INT_LEAST8_MAX__ 0x7f -#endif -#if !(defined(__FLT32X_MAX_10_EXP__) || defined(__coverity_undefine___FLT32X_MAX_10_EXP__)) -#define __FLT32X_MAX_10_EXP__ 308 -#endif -#if !(defined(__SIZEOF_INT128__) || defined(__coverity_undefine___SIZEOF_INT128__)) -#define __SIZEOF_INT128__ 16 -#endif -#if !(defined(__LDBL_MAX_10_EXP__) || defined(__coverity_undefine___LDBL_MAX_10_EXP__)) -#define __LDBL_MAX_10_EXP__ 4932 -#endif -#if !(defined(__ATOMIC_RELAXED) || defined(__coverity_undefine___ATOMIC_RELAXED)) -#define __ATOMIC_RELAXED 0 -#endif -#if !(defined(__DBL_EPSILON__) || defined(__coverity_undefine___DBL_EPSILON__)) -#define __DBL_EPSILON__ ((double)2.22044604925031308084726333618164062e-16L) -#endif -#if !(defined(__FLT128_MIN__) || defined(__coverity_undefine___FLT128_MIN__)) -#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128 -#endif -#if !(defined(_LP64) || defined(__coverity_undefine__LP64)) -#define _LP64 1 -#endif -#if !(defined(__UINT8_C) || defined(__coverity_undefine___UINT8_C)) -#define __UINT8_C(c) c -#endif -#if !(defined(__FLT64_MAX_EXP__) || defined(__coverity_undefine___FLT64_MAX_EXP__)) -#define __FLT64_MAX_EXP__ 1024 -#endif -#if !(defined(__INT_LEAST32_TYPE__) || defined(__coverity_undefine___INT_LEAST32_TYPE__)) -#define __INT_LEAST32_TYPE__ int -#endif -#if !(defined(__SIZEOF_WCHAR_T__) || defined(__coverity_undefine___SIZEOF_WCHAR_T__)) -#define __SIZEOF_WCHAR_T__ 4 -#endif -#if !(defined(__UINT64_TYPE__) || defined(__coverity_undefine___UINT64_TYPE__)) -#define __UINT64_TYPE__ long unsigned int -#endif -#if !(defined(__FLT128_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT128_HAS_QUIET_NAN__)) -#define __FLT128_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__INT_FAST8_TYPE__) || defined(__coverity_undefine___INT_FAST8_TYPE__)) -#define __INT_FAST8_TYPE__ signed char -#endif -#if !(defined(__FLT64X_MIN__) || defined(__coverity_undefine___FLT64X_MIN__)) -#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x -#endif -#if !(defined(__FLT64_HAS_DENORM__) || defined(__coverity_undefine___FLT64_HAS_DENORM__)) -#define __FLT64_HAS_DENORM__ 1 -#endif -#if !(defined(__FLT32_EPSILON__) || defined(__coverity_undefine___FLT32_EPSILON__)) -#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32 -#endif -#if !(defined(__DBL_DECIMAL_DIG__) || defined(__coverity_undefine___DBL_DECIMAL_DIG__)) -#define __DBL_DECIMAL_DIG__ 17 -#endif -#if !(defined(__INT_FAST8_WIDTH__) || defined(__coverity_undefine___INT_FAST8_WIDTH__)) -#define __INT_FAST8_WIDTH__ 8 -#endif -#if !(defined(__FXSR__) || defined(__coverity_undefine___FXSR__)) -#define __FXSR__ 1 -#endif -#if !(defined(__DEC_EVAL_METHOD__) || defined(__coverity_undefine___DEC_EVAL_METHOD__)) -#define __DEC_EVAL_METHOD__ 2 -#endif -#if !(defined(__FLT32X_MAX__) || defined(__coverity_undefine___FLT32X_MAX__)) -#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x -#endif -#if !(defined(__UINT32_C) || defined(__coverity_undefine___UINT32_C)) -#define __UINT32_C(c) c ## U -#endif -#if !(defined(__INTMAX_MAX__) || defined(__coverity_undefine___INTMAX_MAX__)) -#define __INTMAX_MAX__ 0x7fffffffffffffffL -#endif -#if !(defined(__BYTE_ORDER__) || defined(__coverity_undefine___BYTE_ORDER__)) -#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ -#endif -#if !(defined(__FLT_DENORM_MIN__) || defined(__coverity_undefine___FLT_DENORM_MIN__)) -#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F -#endif -#if !(defined(__INT8_MAX__) || defined(__coverity_undefine___INT8_MAX__)) -#define __INT8_MAX__ 0x7f -#endif -#if !(defined(__LONG_WIDTH__) || defined(__coverity_undefine___LONG_WIDTH__)) -#define __LONG_WIDTH__ 64 -#endif -#if !(defined(__PIC__) || defined(__coverity_undefine___PIC__)) -#define __PIC__ 2 -#endif -#if !(defined(__UINT_FAST32_TYPE__) || defined(__coverity_undefine___UINT_FAST32_TYPE__)) -#define __UINT_FAST32_TYPE__ long unsigned int -#endif -#if !(defined(__CHAR32_TYPE__) || defined(__coverity_undefine___CHAR32_TYPE__)) -#define __CHAR32_TYPE__ unsigned int -#endif -#if !(defined(__FLT_MAX__) || defined(__coverity_undefine___FLT_MAX__)) -#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F -#endif -#if !(defined(__INT32_TYPE__) || defined(__coverity_undefine___INT32_TYPE__)) -#define __INT32_TYPE__ int -#endif -#if !(defined(__SIZEOF_DOUBLE__) || defined(__coverity_undefine___SIZEOF_DOUBLE__)) -#define __SIZEOF_DOUBLE__ 8 -#endif -#if !(defined(__FLT_MIN_10_EXP__) || defined(__coverity_undefine___FLT_MIN_10_EXP__)) -#define __FLT_MIN_10_EXP__ (-37) -#endif -#if !(defined(__FLT64_MIN__) || defined(__coverity_undefine___FLT64_MIN__)) -#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64 -#endif -#if !(defined(__INT_LEAST32_WIDTH__) || defined(__coverity_undefine___INT_LEAST32_WIDTH__)) -#define __INT_LEAST32_WIDTH__ 32 -#endif -#if !(defined(__INTMAX_TYPE__) || defined(__coverity_undefine___INTMAX_TYPE__)) -#define __INTMAX_TYPE__ long int -#endif -#if !(defined(__DEC128_MAX_EXP__) || defined(__coverity_undefine___DEC128_MAX_EXP__)) -#define __DEC128_MAX_EXP__ 6145 -#endif -#if !(defined(__FLT32X_HAS_QUIET_NAN__) || defined(__coverity_undefine___FLT32X_HAS_QUIET_NAN__)) -#define __FLT32X_HAS_QUIET_NAN__ 1 -#endif -#if !(defined(__ATOMIC_CONSUME) || defined(__coverity_undefine___ATOMIC_CONSUME)) -#define __ATOMIC_CONSUME 1 -#endif -#if !(defined(__GNUC_MINOR__) || defined(__coverity_undefine___GNUC_MINOR__)) -#define __GNUC_MINOR__ 4 -#endif -#if !(defined(__INT_FAST16_WIDTH__) || defined(__coverity_undefine___INT_FAST16_WIDTH__)) -#define __INT_FAST16_WIDTH__ 64 -#endif -#if !(defined(__UINTMAX_MAX__) || defined(__coverity_undefine___UINTMAX_MAX__)) -#define __UINTMAX_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__DEC32_MANT_DIG__) || defined(__coverity_undefine___DEC32_MANT_DIG__)) -#define __DEC32_MANT_DIG__ 7 -#endif -#if !(defined(__FLT32X_DENORM_MIN__) || defined(__coverity_undefine___FLT32X_DENORM_MIN__)) -#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x -#endif -#if !(defined(__DBL_MAX_10_EXP__) || defined(__coverity_undefine___DBL_MAX_10_EXP__)) -#define __DBL_MAX_10_EXP__ 308 -#endif -#if !(defined(__LDBL_DENORM_MIN__) || defined(__coverity_undefine___LDBL_DENORM_MIN__)) -#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L -#endif -#if !(defined(__INT16_C) || defined(__coverity_undefine___INT16_C)) -#define __INT16_C(c) c -#endif -#if !(defined(__STDC__) || defined(__coverity_undefine___STDC__)) -#define __STDC__ 1 -#endif -#if !(defined(__PTRDIFF_TYPE__) || defined(__coverity_undefine___PTRDIFF_TYPE__)) -#define __PTRDIFF_TYPE__ long int -#endif -#if !(defined(__ATOMIC_SEQ_CST) || defined(__coverity_undefine___ATOMIC_SEQ_CST)) -#define __ATOMIC_SEQ_CST 5 -#endif -#if !(defined(__UINT32_TYPE__) || defined(__coverity_undefine___UINT32_TYPE__)) -#define __UINT32_TYPE__ unsigned int -#endif -#if !(defined(__FLT32X_MIN_10_EXP__) || defined(__coverity_undefine___FLT32X_MIN_10_EXP__)) -#define __FLT32X_MIN_10_EXP__ (-307) -#endif -#if !(defined(__UINTPTR_TYPE__) || defined(__coverity_undefine___UINTPTR_TYPE__)) -#define __UINTPTR_TYPE__ long unsigned int -#endif -#if !(defined(__DEC64_SUBNORMAL_MIN__) || defined(__coverity_undefine___DEC64_SUBNORMAL_MIN__)) -#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD -#endif -#if !(defined(__DEC128_MANT_DIG__) || defined(__coverity_undefine___DEC128_MANT_DIG__)) -#define __DEC128_MANT_DIG__ 34 -#endif -#if !(defined(__LDBL_MIN_10_EXP__) || defined(__coverity_undefine___LDBL_MIN_10_EXP__)) -#define __LDBL_MIN_10_EXP__ (-4931) -#endif -#if !(defined(__FLT128_EPSILON__) || defined(__coverity_undefine___FLT128_EPSILON__)) -#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128 -#endif -#if !(defined(__SIZEOF_LONG_LONG__) || defined(__coverity_undefine___SIZEOF_LONG_LONG__)) -#define __SIZEOF_LONG_LONG__ 8 -#endif -#if !(defined(__FLT128_DECIMAL_DIG__) || defined(__coverity_undefine___FLT128_DECIMAL_DIG__)) -#define __FLT128_DECIMAL_DIG__ 36 -#endif -#if !(defined(__GCC_ATOMIC_LLONG_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_LLONG_LOCK_FREE)) -#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 -#endif -#if !(defined(__FLT32X_MIN__) || defined(__coverity_undefine___FLT32X_MIN__)) -#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x -#endif -#if !(defined(__LDBL_DIG__) || defined(__coverity_undefine___LDBL_DIG__)) -#define __LDBL_DIG__ 18 -#endif -#if !(defined(__FLT_DECIMAL_DIG__) || defined(__coverity_undefine___FLT_DECIMAL_DIG__)) -#define __FLT_DECIMAL_DIG__ 9 -#endif -#if !(defined(__UINT_FAST16_MAX__) || defined(__coverity_undefine___UINT_FAST16_MAX__)) -#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL -#endif -#if !(defined(__GNUC_GNU_INLINE__) || defined(__coverity_undefine___GNUC_GNU_INLINE__)) -#define __GNUC_GNU_INLINE__ 1 -#endif -#if !(defined(__GCC_ATOMIC_SHORT_LOCK_FREE) || defined(__coverity_undefine___GCC_ATOMIC_SHORT_LOCK_FREE)) -#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 -#endif -#if !(defined(__INT_LEAST64_WIDTH__) || defined(__coverity_undefine___INT_LEAST64_WIDTH__)) -#define __INT_LEAST64_WIDTH__ 64 -#endif -#if !(defined(__UINT_FAST8_TYPE__) || defined(__coverity_undefine___UINT_FAST8_TYPE__)) -#define __UINT_FAST8_TYPE__ unsigned char -#endif -#if !(defined(__ATOMIC_ACQ_REL) || defined(__coverity_undefine___ATOMIC_ACQ_REL)) -#define __ATOMIC_ACQ_REL 4 -#endif -#if !(defined(__ATOMIC_RELEASE) || defined(__coverity_undefine___ATOMIC_RELEASE)) -#define __ATOMIC_RELEASE 3 -#endif -#if !(defined(__CET__) || defined(__coverity_undefine___CET__)) -#define __CET__ 3 -#endif -#if !(defined(__FINITE_MATH_ONLY__) || defined(__coverity_undefine___FINITE_MATH_ONLY__)) -#define __FINITE_MATH_ONLY__ 0 -#endif -#if !(defined(__GCC_HAVE_DWARF2_CFI_ASM) || defined(__coverity_undefine___GCC_HAVE_DWARF2_CFI_ASM)) -#define __GCC_HAVE_DWARF2_CFI_ASM 1 -#endif -#if !(defined(__GCC_IEC_559_COMPLEX) || defined(__coverity_undefine___GCC_IEC_559_COMPLEX)) -#define __GCC_IEC_559_COMPLEX 2 -#endif -#if !(defined(__INCLUDE_LEVEL__) || defined(__coverity_undefine___INCLUDE_LEVEL__)) -#define __INCLUDE_LEVEL__ 0 -#endif -#if !(defined(__PIC__) || defined(__coverity_undefine___PIC__)) -#define __PIC__ 2 -#endif -#if !(defined(__PIE__) || defined(__coverity_undefine___PIE__)) -#define __PIE__ 2 -#endif -#if !(defined(__PTRDIFF_TYPE__) || defined(__coverity_undefine___PTRDIFF_TYPE__)) -#define __PTRDIFF_TYPE__ long int -#endif -#if !(defined(__REGISTER_PREFIX__) || defined(__coverity_undefine___REGISTER_PREFIX__)) -#define __REGISTER_PREFIX__ -#endif -#if !(defined(__SIZE_TYPE__) || defined(__coverity_undefine___SIZE_TYPE__)) -#define __SIZE_TYPE__ long unsigned int -#endif -#if !(defined(__SSP_STRONG__) || defined(__coverity_undefine___SSP_STRONG__)) -#define __SSP_STRONG__ 3 -#endif -#if !(defined(__STDC_IEC_559_COMPLEX__) || defined(__coverity_undefine___STDC_IEC_559_COMPLEX__)) -#define __STDC_IEC_559_COMPLEX__ -#endif -#if !(defined(__STDC_IEC_559__) || defined(__coverity_undefine___STDC_IEC_559__)) -#define __STDC_IEC_559__ -#endif -#if !(defined(__STDC__) || defined(__coverity_undefine___STDC__)) -#define __STDC__ 1 -#endif -#if !(defined(__USER_LABEL_PREFIX__) || defined(__coverity_undefine___USER_LABEL_PREFIX__)) -#define __USER_LABEL_PREFIX__ -#endif -#if !(defined(__VERSION__) || defined(__coverity_undefine___VERSION__)) -#define __VERSION__ "9.4.0" -#endif -#if !(defined(__pic__) || defined(__coverity_undefine___pic__)) -#define __pic__ 2 -#endif -#if !(defined(__pie__) || defined(__coverity_undefine___pie__)) -#define __pie__ 2 -#endif -#if !(defined(__unix__) || defined(__coverity_undefine___unix__)) -#define __unix__ 1 -#endif diff --git a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity_config.xml b/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity_config.xml deleted file mode 100644 index a15d95493..000000000 --- a/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/gcc-config-0/coverity_config.xml +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - 1 - - - - cc - gcc - gcc-9 - x86_64-linux-gnu-gcc-9 - /usr/bin - gcc - C - cov-emit - GNU C compiler - g++ - gnu - -std=gnu90 - gcc-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 - 9.4.0 - true - true - all - - - gcc-cc-9.4.0-660e697d2e8e4024af35c3f44545d3ec-0 - gcc-cc-.* - - /usr/lib/gcc/x86_64-linux-gnu/9/include - /usr/local/include - /usr/include/x86_64-linux-gnu - /usr/include - -E - -v - -dM - -E - -o.+ - -c - -Werror - -o - -E - -U__BLOCKS__ - -xc - -C - - - 2 - $CONFIGDIR$/coverity-compiler-compat.h - $CONFIGDIR$/coverity-macro-compat.h - --fixed_point - --add_type_modifier=__coverity___fpreg - --add_type_modifier=__coverity_decimal - --add_type_modifier=__coverity_float - --add_type_modifier=__coverity_floatx - --no_predefined_feature_test_macros - --no_stdarg_builtin - --enable_128bit_int - --no_predefined_cplusplus - -w - --no_predefines - --comp_ver - 9.4.0 - --size_t_type=m - --ptrdiff_t_type=l - --type_sizes=xl8i4s2e16d8f4P8 - --type_alignments=xl8i4s2e16d8f4P8 - --char_bit_size=8 - --gnu_carriage_return_line_terminator - --wchar_t_type=i - --no_multiline_string - --no_trigraphs - --ignore_calling_convention - --enable_80bit_float - --enable_128bit_float - --allow__bool - --macro_stack_pragmas - --inline_keyword - --has_include_macro - --has_include_next_macro - --has_cpp_attribute_macro - --no_predefines - conftest\.c{1,2}$ - conftest\.cpp$ - cgo-cc-input-[0-9]+\.(c|cc|cpp|cxx) - $CONFIGDIR$/../user_nodefs.h - - gcc - - - /usr/lib/gcc/x86_64-linux-gnu/9/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/ - /lib/x86_64-linux-gnu/9/ - /lib/x86_64-linux-gnu/ - /lib/../lib/ - /usr/lib/x86_64-linux-gnu/9/ - /usr/lib/x86_64-linux-gnu/ - /usr/lib/../lib/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../ - /lib/ - /usr/lib/ - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o - /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o - /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 - /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so - /lib/x86_64-linux-gnu/libc.so.6 - /usr/lib/x86_64-linux-gnu/libc_nonshared.a - /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 - /usr/lib/x86_64-linux-gnu/libc_nonshared.a - /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 - /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 - /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a - /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o - /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o - - - - @(.*) - --coverity_resp_file=$1 - - - - - - gnu_pre_translate - - - - - CPATH - true - - - - - C_INCLUDE_PATH - --c - - - - - - - 8f22057cb35e01414cb91c893028d6c8 - - diff --git a/cov-out/emit/ip-172-31-80-220/config/configure-log.txt b/cov-out/emit/ip-172-31-80-220/config/configure-log.txt deleted file mode 100644 index 23c4ffa0b..000000000 --- a/cov-out/emit/ip-172-31-80-220/config/configure-log.txt +++ /dev/null @@ -1,93 +0,0 @@ -Encountered compiler invocation for first time, configuring it: /usr/bin/x86_64-linux-gnu-gcc-9 -std=gnu90 -[STATUS] Using comptype gcc -[STATUS] Environment Variables -VSCODE_GIT_ASKPASS_MAIN=/home/ubuntu/.vscode-server/cli/servers/Stable-611f9bfce64f25108829dd295f54a6894e87339d/server/extensions/git/dist/askpass-main.js -COVERITY_BUILD_INVOCATION_ID=1 -XDG_SESSION_CLASS=user -XDG_SESSION_TYPE=tty -COVERITY_COMMON_TEMP=/tmp -COVERITY_IDIR=/home/ubuntu/coreMQTT/cov-out -SHELL=/bin/bash -_=/usr/bin/make -COVERITY_IS_COMPILER_DESCENDANT=0 -COVERITY_CONFIG_FILE=/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/coverity_config.xml -XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop -COVERITY_SITE_CC_CAPTURE_DESCENDANTS= -LESSOPEN=| /usr/bin/lesspipe %s -SSH_CONNECTION=15.248.4.151 1076 172.31.80.220 22 -UseSharedCompilation=false -PATH=/tmp/cbmc-viewer/bin:/home/ubuntu/workspace/uncrustify-0.66.1/build:/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/:/usr/bin/java:/opt/homebrew/opt/openjdk/bin:/home/ubuntu/.toolbox/bin:/opt/homebrew/opt/ruby/bin:/home/ubuntu/.vscode-server/cli/servers/Stable-611f9bfce64f25108829dd295f54a6894e87339d/server/bin/remote-cli:/home/ubuntu/bin:/tmp/cbmc-viewer/bin:/home/ubuntu/workspace/uncrustify-0.66.1/build:/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/:/usr/bin/java:/opt/homebrew/opt/openjdk/bin:/home/ubuntu/.toolbox/bin:/opt/homebrew/opt/ruby/bin:/tmp/cbmc-viewer/bin:/home/ubuntu/workspace/uncrustify-0.66.1/build:/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/:/usr/bin/java:/opt/homebrew/opt/openjdk/bin:/home/ubuntu/.toolbox/bin:/opt/homebrew/opt/ruby/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin -COVERITY_REWRITE_TO= -XDG_RUNTIME_DIR=/run/user/1000 -COVERITY_TEMP=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596 -LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36: -COVERITY_OUTPUT_ENCODING=UTF-8 -COVERITY_TOP_CONFIG=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-configure/coverity_config.xml -SSL_CERT_FILE=/usr/lib/ssl/certs/ca-certificates.crt -HOME=/home/ubuntu -PWD=/home/ubuntu/coreMQTT -COVERITY_LD_PRELOAD=/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/libcapture-linux64-${PLATFORM}.so -VSCODE_IPC_HOOK_CLI=/run/user/1000/vscode-ipc-34ea2f65-7eff-4b28-9ef7-2974233a0d32.sock -DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus -COVERITY_BIN=/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin -LESSCLOSE=/usr/bin/lesspipe %s %s -LOGNAME=ubuntu -COVERITY_DISENGAGE_EXES=qemuwrapper;qemu-aarch64;qemu-alpha;qemu-arm;qemu-armeb;qemu-cris;qemu-i386;qemu-m68k;qemu-microblaze;qemu-mips;qemu-mipsel;qemu-nios2;qemu-ppc;qemu-ppc64;qemu-ppc64abi32;qemu-sh4;qemu-sh4eb;qemu-sparc;qemu-sparc32plus;qemu-sparc64;qemu-x86_64 -COVERITY_SYSTEM_ENCODING=UTF-8 -COVERITY_PATHLESS_CONFIGS_FILE=/home/ubuntu/coreMQTT/cov-out/has_pathless_configs -VSCODE_GIT_IPC_HANDLE=/run/user/1000/vscode-git-d220dbbd51.sock -COLORTERM=truecolor -SHLVL=1 -XDG_SESSION_ID=5887 -USER=ubuntu -COVERITY_ENABLE_JAVA_ANNOTATION_FRAMEWORK_SUPPORT=1 -COVERITY_IS_COMPILER=0 -VSCODE_GIT_ASKPASS_EXTRA_ARGS= -TERM_PROGRAM=vscode -VSCODE_GIT_ASKPASS_NODE=/home/ubuntu/.vscode-server/cli/servers/Stable-611f9bfce64f25108829dd295f54a6894e87339d/server/node -MAKEFLAGS=s -MFLAGS=-s -SSH_CLIENT=15.248.4.151 1076 22 -TERM_PROGRAM_VERSION=1.90.1 -COVERITY_EMIT=/home/ubuntu/coreMQTT/cov-out/emit -MAKE_TERMOUT=/dev/pts/0 -BROWSER=/home/ubuntu/.vscode-server/cli/servers/Stable-611f9bfce64f25108829dd295f54a6894e87339d/server/bin/helpers/browser.sh -MSBUILDDISABLENODEREUSE=1 -COVERITY_COMPILER_PATH_MISMATCH_FILE=/home/ubuntu/coreMQTT/cov-out/has_path_mismatches -GIT_ASKPASS=/home/ubuntu/.vscode-server/cli/servers/Stable-611f9bfce64f25108829dd295f54a6894e87339d/server/extensions/git/dist/askpass.sh -COVERITY_OUTPUT=/home/ubuntu/coreMQTT/cov-out/build-log.txt -COVERITY_SITE_CC=*-g++;*-gcc;ar;c++;cc;g++-*;gcc-*;ld -SSL_CERT_DIR=/usr/lib/ssl/certs -COVERITY_PREV_XML_CATALOG_FILES= -MAKE_TERMERR=/dev/pts/0 -LANG=C.UTF-8 -TERM=xterm-256color -COVERITY_LOG=/home/ubuntu/coreMQTT/cov-out/build-log.txt -COVERITY_TOP_PROCESS=0 -COVERITY_REWRITE_FROM= -MOTD_SHOWN=pam -MAKELEVEL=4 -COVERITY_BIN=/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin -COVERITY_COMPILER_PATH_MISMATCH_FILE=/home/ubuntu/coreMQTT/cov-out/has_path_mismatches -COVERITY_EMIT=/home/ubuntu/coreMQTT/cov-out/emit -COVERITY_OUTPUT=/home/ubuntu/coreMQTT/cov-out/build-log.txt -COVERITY_OUTPUT_ENCODING=UTF-8 -COVERITY_BUILD_INVOCATION_ID=1 -COVERITY_TEMP=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596 -COVERITY_COMMON_TEMP=/tmp -COVERITY_SITE_CC=*-g++;*-gcc;ar;c++;cc;g++-*;gcc-*;ld -COVERITY_SITE_CC_CAPTURE_DESCENDANTS= -COVERITY_PATHLESS_CONFIGS_FILE=/home/ubuntu/coreMQTT/cov-out/has_pathless_configs -COVERITY_SITE_CC=*-g++;*-gcc;ar;c++;cc;g++-*;gcc-*;ld -COVERITY_TOP_CONFIG=/tmp/cov-ubuntu/cfa911df378e2f9eb2a4797e35bf1596/cov-configure/coverity_config.xml -COVERITY_DISENGAGE_EXES=qemuwrapper;qemu-aarch64;qemu-alpha;qemu-arm;qemu-armeb;qemu-cris;qemu-i386;qemu-m68k;qemu-microblaze;qemu-mips;qemu-mipsel;qemu-nios2;qemu-ppc;qemu-ppc64;qemu-ppc64abi32;qemu-sh4;qemu-sh4eb;qemu-sparc;qemu-sparc32plus;qemu-sparc64;qemu-x86_64 -COVERITY_REWRITE_FROM= -COVERITY_REWRITE_TO= -COVERITY_TOP_PROCESS=0 -COVERITY_IS_COMPILER=0 -COVERITY_IS_COMPILER_DESCENDANT=0 -COVERITY_LD_PRELOAD=/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/libcapture-linux64-${PLATFORM}.so -COVERITY_TRANSLATION_INVOCATION_ID=1 -Added template compiler configuration instance /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config.xml -Using cached template compiler configuration instance /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config.xml -Using cached template compiler configuration instance /home/ubuntu/coreMQTT/cov-out/emit/ip-172-31-80-220/config/660e697d2e8e4024af35c3f44545d3ec/coverity_config.xml diff --git a/cov-out/emit/ip-172-31-80-220/emit-db b/cov-out/emit/ip-172-31-80-220/emit-db deleted file mode 100644 index 72776fdf77fa22ca0924f7465b68cc868c507a9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1159168 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%0D}@LyuZ%?WtoViyzwDRpF%G&=GTE#Xlc=>$m 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 @{o8o8UA>P1RbL-YF^{O^9h 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 DCC4x) diff --git a/cov-out/emit/ip-172-31-80-220/emit-db.lock b/cov-out/emit/ip-172-31-80-220/emit-db.lock deleted file mode 100644 index 72e1c98d0..000000000 --- a/cov-out/emit/ip-172-31-80-220/emit-db.lock +++ /dev/null @@ -1 +0,0 @@ -ip-172-31-80-220 \ No newline at end of file diff --git a/cov-out/emit/ip-172-31-80-220/emit-db.write-lock b/cov-out/emit/ip-172-31-80-220/emit-db.write-lock deleted file mode 100644 index e69de29bb..000000000 diff --git a/cov-out/emit/version b/cov-out/emit/version deleted file mode 100644 index c71cee1cd..000000000 --- a/cov-out/emit/version +++ /dev/null @@ -1,2 +0,0 @@ -# Version file created with Prevent version 2023.6.1 -325 diff --git a/cov-out/output/analysis-log.txt b/cov-out/output/analysis-log.txt deleted file mode 100644 index cc2c75b06..000000000 --- a/cov-out/output/analysis-log.txt +++ /dev/null @@ -1,20 +0,0 @@ -cmdline: command line: cov-analyze --dir . --coding-standard-config ../../tools/coverity/misra.config --tu-pattern file('.*/source/.*') -cmdline: parsed cmdline: [ -cmdline: { name: "dir", args: [ "." ] }, -cmdline: { name: "coding-standard-config", args: [ "../../tools/coverity/misra.config" ] }, -cmdline: { name: "tu-pattern", args: [ "file(\'.*/source/.*\')" ] }, -cmdline: { name: "config", args: [ "/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/config/coverity_config.xml" ] }, -cmdline: ] -startup: am_pid=1762902 -startup: detected platform: Linux 5.15.0-1050-aws x86_64 -startup: target platform: linux64 -startup: Detected 2 logical cpus -startup: Detected 2 cpu cores -startup: host name: ip-172-31-80-220 -startup: user name: ubuntu -startup: Analysis version: 2023.6.1 (4ae07d0526 p-2023.6-push-61) -startup: temp directory: /tmp/cov-ubuntu/72d706081da6cfb83e1cb375872fb0aa -startup: enable_constraint_fpp=0 -startup: current time: 2024-Jun-21 07:00:40 -startup: Detected amount of memory: 8125360kb -startup: Limiting memory to 7312824kb diff --git a/cov-out/output/summary.txt b/cov-out/output/summary.txt deleted file mode 100644 index 771593b56..000000000 --- a/cov-out/output/summary.txt +++ /dev/null @@ -1 +0,0 @@ -cov-analyze --dir . --coding-standard-config ../../tools/coverity/misra.config --tu-pattern file('.*/source/.*') diff --git a/cov-out/output/version b/cov-out/output/version deleted file mode 100644 index c71cee1cd..000000000 --- a/cov-out/output/version +++ /dev/null @@ -1,2 +0,0 @@ -# Version file created with Prevent version 2023.6.1 -325 diff --git a/cov-out/security-da-log.txt b/cov-out/security-da-log.txt deleted file mode 100644 index d55b2b7b5..000000000 --- a/cov-out/security-da-log.txt +++ /dev/null @@ -1,4 +0,0 @@ -/home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/cov-security-da --dir /home/ubuntu/coreMQTT/cov-out -cov-security-da version 2023.6.1 on Linux 5.15.0-1050-aws x86_64 -Internal version numbers: 4ae07d0526 p-2023.6-push-61 - diff --git a/cov-out/security-da-timings.txt b/cov-out/security-da-timings.txt deleted file mode 100644 index 4d16accf8..000000000 --- a/cov-out/security-da-timings.txt +++ /dev/null @@ -1,9 +0,0 @@ -# Version: 4ae07d0526 p-2023.6-push-61 -# Command Line: /home/ubuntu/workspace/coverity/cov-analysis-linux64-2023.6.1/bin/cov-security-da --dir /home/ubuntu/coreMQTT/cov-out -timer ms calls -------------------------------------------- -cov_security_da::run 0 1 - -activity ms calls -------------------------------------------- -cov_security_da::run 0 1 diff --git a/cov-out/tmp/emit-db-cache b/cov-out/tmp/emit-db-cache deleted file mode 100644 index e6081b4b44927a06ba1d85ddec181e85a5d816a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73728 zcmeI&%TMD*0LO7VgqU}Liw|hEz911bElQ)R$1Mc9phlqb=tF81nZ$tGJdo`y<**0y z5A@t?|AL;Xz4c${AJZPH_Rz6ogPk!ch)ZRCBOu<)jA!Qao7jnFk3VnPo@Ja5oSx|! zb!AymRpk@IP!y#gepkhB{8$kO#rPlMSxp>2bXZV6Xse5&bfx&6QvS89EcuJ?7K;n7 z=6{^~W%jq3zh*wtzAgP!s!jKb??e?I2q2J4f#ym{fB90iJ@c$ox7zd}#X2t(-S<|h$>VIwbJJt_7mSexM zI*qRBx|Z88+m}|$8y;KUXV%T0-D-E;o1WciJydrk>U{rTXZI`PDJL@y53=eT8~43e zji~#Izg5=sdR@J(ga{e^WW2PTg2||m=t^>`8u2)qgN(vxU>POu@T@(;G`5?E+xPJ2 zOQm26!_f?G`ex5=H_UF=ir9DLm&)lG$Q3s1{`p|6AAf66)7^E|zYar7cF}5IM6rr~ zFC6pgveh2+&+UuWc|VbJvdK~^;AF`oPZs2yY-VgkgAnPCjiPEq!>IVD3!1*ZuHN=S ztz`S;@nXs+SrT`W5m4BDcBo_H$!Hu6Fr!3HqH1)48H#-4>S7(wOW8QlyY30uL`@dt zY@T+qyKJInkISYpH_B%JKAWh0m_T$qFJ}{#{2#KZ`2E=#-PaoG?Thej@`deqL$iBi zxr6S|vj_ddHJa<>psv*DED*pSLrnfg$|1^yAOY6+Mx@y|}?=45V zsd>XuY@@$Y)tOXeQgJe<^qGQyr0VHd;szCeyQJxxo9b;nj6-TBy`ZJ&rQ&CR$79NX zz782%UEwIO)}0R#|0009ILKmY**5I_I{1oAJy{(t^6W`+nLfB*srAb@}_1Q0*~0R#|0009ILKmY;$|37O00R#|0009ILKmY**5I_Kd x{0jv8|7!UUMf~tU009ILKmY**5I_I{1Q0*~fgB0UsfE(%pD%uY``*w0{0lS`5$6B^ diff --git a/cov-out/tmp/emit-db-cache.lock b/cov-out/tmp/emit-db-cache.lock deleted file mode 100644 index 72e1c98d0..000000000 --- a/cov-out/tmp/emit-db-cache.lock +++ /dev/null @@ -1 +0,0 @@ -ip-172-31-80-220 \ No newline at end of file diff --git a/cov-out/tu-timings.txt b/cov-out/tu-timings.txt deleted file mode 100644 index b66bcb848..000000000 --- a/cov-out/tu-timings.txt +++ /dev/null @@ -1,15 +0,0 @@ -Translation unit: -1 -> /home/ubuntu/coreMQTT/source/core_mqtt.c -cov-emit invocation time (seconds): 0 -cov-translate invocation time (seconds): 6 -cov-build invocation time (seconds): 8 -Translation unit: -2 -> /home/ubuntu/coreMQTT/source/core_mqtt_state.c -cov-emit invocation time (seconds): 0 -cov-translate invocation time (seconds): 0 -cov-build invocation time (seconds): 8 -Translation unit: -3 -> /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c -cov-emit invocation time (seconds): 0 -cov-translate invocation time (seconds): 0 -cov-build invocation time (seconds): 8 From ee611787c23faf9f46676a2180a94fe0d7721f32 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Mon, 24 Jun 2024 16:13:24 +0000 Subject: [PATCH 29/82] MQTTV5 connect and connack --- source/core_mqtt.c | 318 +++++++------ source/core_mqtt_serializer.c | 630 ++++++++++---------------- source/include/core_mqtt_serializer.h | 7 +- 3 files changed, 417 insertions(+), 538 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 5fce330a2..f31411351 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -559,6 +559,30 @@ static bool matchTopicFilter(const char *pTopicName, #if (MQTT_VERSION_5_ENABLED) +typedef struct WillPropertiesVector{ + uint8_t serializedWillUserKeyLength[MAX_USER_PROPERTY][2]; + uint8_t willUserId[MAX_USER_PROPERTY]; + uint8_t serializedWillUserValueLength[MAX_USER_PROPERTY][2]; + uint8_t serializedContentTypeLength[2]; + uint8_t contentTypeId; + uint8_t serializedResponseTopicLength[2]; + uint8_t responseTopicId; + uint8_t serailizedCorrelationLength[2]; + uint8_t correlationDataId; +} WillVector_t; + + +typedef struct ConnectPropertiesVector{ + uint8_t serializedUserKeyLength[MAX_USER_PROPERTY][2]; + uint8_t userId[MAX_USER_PROPERTY]; + uint8_t serializedUserValueLength[MAX_USER_PROPERTY][2]; + uint8_t serializedAuthMethodLength[2]; + uint8_t authMethodId; + uint8_t serializedAuthDataLength[2]; + uint8_t authDataId; +} PropertiesVector_t; + + /** * @brief Add a string ,its length and its id after serializing it in a manner outlined by * the MQTT specification. @@ -583,6 +607,7 @@ static size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_ TransportOutVector_t *iterator, size_t *updatedLength, const uint8_t* packetId); + /*-----------------------------------------------------------*/ static size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES], @@ -623,6 +648,149 @@ static size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_ return vectorsAdded; } + +static size_t sendWillProperties(const MQTTPublishInfo_t* pWillInfo, WillVector_t * willVector, size_t *totalMessageLength, TransportOutVector_t ** vectorIterator){ + size_t vectorsAdded= 0U; + size_t ioVectorLength = 0U; + TransportOutVector_t * iterator = *vectorIterator; + willVector->contentTypeId= MQTT_CONTENT_TYPE_ID; + willVector->responseTopicId = MQTT_RESPONSE_TOPIC_ID; + willVector->correlationDataId = MQTT_CORRELATION_DATA_ID; + if (pWillInfo->contentTypeLength != 0U) + { + /* Serialize the content type string. */ + vectorsAdded = addEncodedStringToVectorWithId(willVector->serializedContentTypeLength, + pWillInfo->contentType, + pWillInfo->contentTypeLength, + iterator, + totalMessageLength, &willVector->contentTypeId); + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[vectorsAdded]; + ioVectorLength += vectorsAdded; + } + /* Encode the response topic if provided. */ + if (pWillInfo->responseTopicLength != 0U) + { + /* Serialize the response topic string. */ + vectorsAdded = addEncodedStringToVectorWithId(willVector->serializedResponseTopicLength, + pWillInfo->responseTopic, + pWillInfo->responseTopicLength, + iterator, + totalMessageLength,&willVector->responseTopicId); + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[vectorsAdded]; + ioVectorLength += vectorsAdded; + } + /* Encode the correlation lenght if provided. */ + if (pWillInfo->correlationLength != 0U) + { + /* Serialize the correlation data string. */ + vectorsAdded = addEncodedStringToVectorWithId(willVector->serailizedCorrelationLength, + pWillInfo->correlationData, + pWillInfo->correlationLength, + iterator, + totalMessageLength,&willVector->correlationDataId); + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[vectorsAdded]; + ioVectorLength += vectorsAdded; + } + /* Encode the user properties if provided. */ + if (pWillInfo->userPropertySize != 0U) + { + uint32_t i = 0; + uint32_t size = pWillInfo->userPropertySize; + const MQTTUserProperty_t* userProperty = pWillInfo->userProperty; + for (; i < size; i++) + { + willVector->willUserId[i]=MQTT_USER_PROPERTY_ID; + vectorsAdded = addEncodedStringToVectorWithId(willVector->serializedWillUserKeyLength[i], + userProperty[i].key, + userProperty[i].keyLength, + iterator, + totalMessageLength, &willVector->willUserId[i]); + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[vectorsAdded]; + ioVectorLength += vectorsAdded; + + vectorsAdded = addEncodedStringToVector(willVector->serializedWillUserValueLength[i], + userProperty[i].value, + userProperty[i].valueLength, + iterator, + totalMessageLength); + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[vectorsAdded]; + ioVectorLength += vectorsAdded; + + } +} + return ioVectorLength; +} + + +static size_t sendConnectProperties(const MQTTConnectProperties_t* pConnectProperties, PropertiesVector_t * propertiesVector, size_t *totalMessageLength, TransportOutVector_t ** vectorIterator){ + size_t vectorsAdded= 0U; + size_t ioVectorLength = 0U; + TransportOutVector_t *iterator = *vectorIterator; + propertiesVector->authMethodId = MQTT_AUTH_METHOD_ID; + propertiesVector->authDataId = MQTT_AUTH_DATA_ID; + + if (pConnectProperties->outgoingUserPropSize != 0U) + { + uint32_t i = 0; + uint32_t size = pConnectProperties->outgoingUserPropSize; + const MQTTUserProperty_t *userProperty = pConnectProperties->outgoingUserProperty; + for (; i < size; i++) + { + propertiesVector->userId[i]=MQTT_USER_PROPERTY_ID; + /* Serialize the user key string. */ + vectorsAdded = addEncodedStringToVectorWithId(propertiesVector->serializedUserKeyLength[i], + userProperty[i].key, + userProperty[i].keyLength, + iterator, + totalMessageLength,&propertiesVector->userId[i]); + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[vectorsAdded]; + ioVectorLength += vectorsAdded; + /* Serialize the user value string. */ + vectorsAdded = addEncodedStringToVector(propertiesVector->serializedUserValueLength[i], + userProperty[i].value, + userProperty[i].valueLength, + iterator, + totalMessageLength); + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[vectorsAdded]; + ioVectorLength += vectorsAdded; + } + } + /*Encodethe authentication method and data if provided*/ + if (pConnectProperties->outgoingAuth != NULL) + { + /* Serialize the authentication method string. */ + vectorsAdded = addEncodedStringToVectorWithId(propertiesVector->serializedAuthMethodLength, + pConnectProperties->outgoingAuth->authMethod, + pConnectProperties->outgoingAuth->authMethodLength, + iterator, + totalMessageLength, &propertiesVector->authMethodId); + + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[vectorsAdded]; + ioVectorLength += vectorsAdded; + if (pConnectProperties->outgoingAuth->authDataLength != 0U) + { + /* Serialize the authentication data string. */ + vectorsAdded = addEncodedStringToVectorWithId(propertiesVector->serializedAuthDataLength, + pConnectProperties->outgoingAuth->authData, + pConnectProperties->outgoingAuth->authDataLength, + iterator, + totalMessageLength, &propertiesVector->authDataId); + + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[vectorsAdded]; + ioVectorLength += vectorsAdded; + } + + } +} #endif /*-----------------------------------------------------------*/ @@ -2292,22 +2460,8 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, uint8_t connectPacketHeader[39U]; uint8_t fixedSizeProperties[20U]; - uint8_t serializedUserKeyLength[MAX_USER_PROPERTY][2]; - uint8_t userId[MAX_USER_PROPERTY]; - uint8_t serializedUserValueLength[MAX_USER_PROPERTY][2]; - uint8_t serializedWillUserKeyLength[MAX_USER_PROPERTY][2]; - uint8_t willUserId[MAX_USER_PROPERTY]; - uint8_t serializedWillUserValueLength[MAX_USER_PROPERTY][2]; - uint8_t serializedAuthMethodLength[2]; - uint8_t authMethodId = MQTT_AUTH_METHOD_ID; - uint8_t serializedAuthDataLength[2]; - uint8_t authDataId = MQTT_AUTH_DATA_ID; - uint8_t serializedContentTypeLength[2]; - uint8_t contentTypeId = MQTT_CONTENT_TYPE_ID; - uint8_t serializedResponseTopicLength[2]; - uint8_t responseTopicId = MQTT_RESPONSE_TOPIC_ID; - uint8_t serailizedCorrelationLength[2]; - uint8_t correlationDataId = MQTT_CORRELATION_DATA_ID; + WillVector_t willVector; + PropertiesVector_t propertiesVector; #endif /* The maximum vectors required to encode and send a connect packet. The @@ -2340,6 +2494,7 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, LogError(("pWillInfo->pTopicName cannot be NULL if Will is present.")); status = MQTTBadParameter; } + else { pIndex = MQTT_SerializeConnectFixedHeader(pIndex, @@ -2366,64 +2521,10 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, ioVectorLength++; #if (MQTT_VERSION_5_ENABLED) - /*Encode the user Properties if provided*/ - if (pContext->connectProperties->outgoingUserPropSize != 0U) - { - - uint32_t i = 0; - uint32_t size = pContext->connectProperties->outgoingUserPropSize; - const MQTTUserProperty_t *userProperty = pContext->connectProperties->outgoingUserProperty; - for (; i < size; i++) - { - userId[i]=MQTT_USER_PROPERTY_ID; - /* Serialize the user key string. */ - vectorsAdded = addEncodedStringToVectorWithId(serializedUserKeyLength[i], - userProperty[i].key, - userProperty[i].keyLength, - iterator, - &totalMessageLength,&userId[i]); - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; - ioVectorLength += vectorsAdded; - /* Serialize the user value string. */ - vectorsAdded = addEncodedStringToVector(serializedUserValueLength[i], - userProperty[i].value, - userProperty[i].valueLength, - iterator, - &totalMessageLength); - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; - ioVectorLength += vectorsAdded; - } - } + /*Encode the user Properties if provided*/ + ioVectorLength += sendConnectProperties(pContext->connectProperties,&propertiesVector,&totalMessageLength,&iterator); /*Encodethe authentication method and data if provided*/ - if (pContext->connectProperties->outgoingAuth != NULL) - { - /* Serialize the authentication method string. */ - vectorsAdded = addEncodedStringToVectorWithId(serializedAuthMethodLength, - pContext->connectProperties->outgoingAuth->authMethod, - pContext->connectProperties->outgoingAuth->authMethodLength, - iterator, - &totalMessageLength, &authMethodId); - - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; - ioVectorLength += vectorsAdded; - if (pContext->connectProperties->outgoingAuth->authDataLength != 0U) - { - /* Serialize the authentication data string. */ - vectorsAdded = addEncodedStringToVectorWithId(serializedAuthDataLength, - pContext->connectProperties->outgoingAuth->authData, - pContext->connectProperties->outgoingAuth->authDataLength, - iterator, - &totalMessageLength, &authDataId); - - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; - ioVectorLength += vectorsAdded; - } - - } + #endif @@ -2454,75 +2555,8 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, totalMessageLength += iterator->iov_len; iterator++; ioVectorLength++; - /* Encode the content type if provided. */ - if (pWillInfo->contentTypeLength != 0U) - { - /* Serialize the content type string. */ - vectorsAdded = addEncodedStringToVectorWithId(serializedContentTypeLength, - pWillInfo->contentType, - pWillInfo->contentTypeLength, - iterator, - &totalMessageLength, &contentTypeId); - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; - ioVectorLength += vectorsAdded; - } - /* Encode the response topic if provided. */ - if (pWillInfo->responseTopicLength != 0U) - { - /* Serialize the response topic string. */ - vectorsAdded = addEncodedStringToVectorWithId(serializedResponseTopicLength, - pWillInfo->responseTopic, - pWillInfo->responseTopicLength, - iterator, - &totalMessageLength, &responseTopicId); - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; - ioVectorLength += vectorsAdded; - } - /* Encode the correlation lenght if provided. */ - if (pWillInfo->correlationLength != 0U) - { - /* Serialize the correlation data string. */ - vectorsAdded = addEncodedStringToVectorWithId(serailizedCorrelationLength, - pWillInfo->correlationData, - pWillInfo->correlationLength, - iterator, - &totalMessageLength, &correlationDataId); - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; - ioVectorLength += vectorsAdded; - } - /* Encode the user properties if provided. */ - if (pWillInfo->userPropertySize != 0U) - { - uint32_t i = 0; - uint32_t size = pWillInfo->userPropertySize; - const MQTTUserProperty_t* userProperty = pWillInfo->userProperty; - for (; i < size; i++) - { - willUserId[i]=MQTT_USER_PROPERTY_ID; - vectorsAdded = addEncodedStringToVectorWithId(serializedWillUserKeyLength[i], - userProperty[i].key, - userProperty[i].keyLength, - iterator, - &totalMessageLength, &willUserId[i]); - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; - ioVectorLength += vectorsAdded; - - vectorsAdded = addEncodedStringToVector(serializedWillUserValueLength[i], - userProperty[i].value, - userProperty[i].valueLength, - iterator, - &totalMessageLength); - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; - ioVectorLength += vectorsAdded; - - } - - } + ioVectorLength += sendWillProperties(pWillInfo,&willVector,&totalMessageLength,&iterator); + #endif /* Serialize the topic. */ diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 6f482ac9b..3ff4b823e 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -535,6 +535,12 @@ static MQTTStatus_t deserializePingresp(const MQTTPacketInfo_t *pPingresp); */ static MQTTStatus_t MQTT_GetUserPropertySize(const MQTTUserProperty_t *pUserProperty, uint32_t number, size_t *size); + + +static MQTTStatus_t MQTT_GetAuthInfoSize(const MQTTAuthInfo_t *authInfo,size_t *propertyLength); + +static decodeSessionExpiry(uint32_t property,size_t * porpertyLength); + /** * @brief Get the size of connect properties. * @@ -598,7 +604,7 @@ static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t *pIncomingPacke static MQTTStatus_t logConnackResponseV5(uint8_t responseCode); /** - * @brief Serialize an MQTT CONNECT packet in the given buffer. + * @brief Serialize a MQTT CONNECT packet in the given buffer. * * @param[in] pConnectInfo MQTT CONNECT packet parameters. * @param[in] pWillInfo Last Will and Testament. Pass NULL if not used. @@ -803,6 +809,36 @@ static MQTTStatus_t MQTT_GetUserPropertySize(const MQTTUserProperty_t *pUserProp return status; } +static MQTTStatus_t MQTT_GetAuthInfoSize(const MQTTAuthInfo_t *authInfo,size_t *propertyLength){ + MQTTStatus_t status= MQTTSuccess; + if ((authInfo->authMethodLength == 0U) && (authInfo->authDataLength != 0U)) + { + status = MQTTBadParameter; + } + else if ((authInfo->authMethodLength != 0U) && (authInfo->authMethod == NULL)) + { + status = MQTTBadParameter; + } + else if ((authInfo->authDataLength != 0U) && (authInfo->authData == NULL)) + { + status = MQTTBadParameter; + } + else + { + if (authInfo->authMethodLength != 0U) + { + propertyLength += authInfo->authMethodLength; + propertyLength += 3U; + if (authInfo->authDataLength != 0U) + { + propertyLength += authInfo->authDataLength; + propertyLength += 3U; + } + } + } + return status; +} + static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t *pConnectProperties) { size_t propertyLength = 0; @@ -846,31 +882,7 @@ static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t *pConn if (pConnectProperties->outgoingAuth != NULL) { /*Valid authentication parameters*/ - if ((pConnectProperties->outgoingAuth->authMethodLength == 0U) && (pConnectProperties->outgoingAuth->authDataLength != 0U)) - { - status = MQTTBadParameter; - } - else if ((pConnectProperties->outgoingAuth->authMethodLength != 0U) && (pConnectProperties->outgoingAuth->authMethod == NULL)) - { - status = MQTTBadParameter; - } - else if ((pConnectProperties->outgoingAuth->authDataLength != 0U) && (pConnectProperties->outgoingAuth->authData == NULL)) - { - status = MQTTBadParameter; - } - else - { - if (pConnectProperties->outgoingAuth->authMethodLength != 0U) - { - propertyLength += pConnectProperties->outgoingAuth->authMethodLength; - propertyLength += 3U; - if (pConnectProperties->outgoingAuth->authDataLength != 0U) - { - propertyLength += pConnectProperties->outgoingAuth->authDataLength; - propertyLength += 3U; - } - } - } + status = MQTT_GetAuthInfoSize(pConnectProperties->outgoingAuth,&propertyLength); } } /*Get the length of the user properties*/ @@ -1400,43 +1412,157 @@ static MQTTStatus_t decodeVariableLength(const uint8_t *pBuffer, size_t *length) return status; } -MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t *pConnackProperties, const MQTTPacketInfo_t *pIncomingPacket, +static MQTTStatus_t decodeuint32_t(uint32_t *property,size_t * propertyLength, bool * used, uint8_t** index){ + uint8_t * pVariableHeader = *index; + MQTTStatus_t status = MQTTSuccess; + if (*used == true) + { + status = MQTTProtocolError; + } + else if (*propertyLength < 4U) + { + status = MQTTMalformedPacket; + } + else + { + *property = UINT32_DECODE(pVariableHeader); + pVariableHeader = &pVariableHeader[sizeof(uint32_t)]; + *used = true; + *propertyLength -= 4U; + } + *index = pVariableHeader; + return status; +} - bool *pSessionPresent) -{ - MQTTStatus_t status = MQTTSuccess; - size_t propertyLength; - size_t remainingLengthSize; - uint8_t *pVariableHeader = NULL; - if (pConnackProperties == NULL) +static MQTTStatus_t decodeuint16_t(uint16_t *property,size_t * propertyLength, bool * used, uint8_t** index){ + uint8_t * pVariableHeader = *index; + MQTTStatus_t status = MQTTSuccess; + if (*used == true) { - status = MQTTBadParameter; + status = MQTTProtocolError; } - if (status == MQTTSuccess) + else if (*propertyLength < 2U) { - status = validateConnackParams(pIncomingPacket, pSessionPresent); + status = MQTTMalformedPacket; } - if (status == MQTTSuccess) + else { - pVariableHeader = pIncomingPacket->pRemainingData; - pVariableHeader = &pVariableHeader[2]; - remainingLengthSize = remainingLengthEncodedSize(pIncomingPacket->remainingLength); - status = decodeVariableLength(pVariableHeader, &propertyLength); + *property = UINT16_DECODE(pVariableHeader); + pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; + *used = true; + *propertyLength -= 2U; + } + *index = pVariableHeader; + return status; +} + +static MQTTStatus_t decodeuint8_t(uint8_t *property,size_t * propertyLength, bool * used, uint8_t** index){ + uint8_t * pVariableHeader = *index; + MQTTStatus_t status = MQTTSuccess; + if (*used == true) + { + status = MQTTProtocolError; + } + else if (*propertyLength < 1U) + { + status = MQTTMalformedPacket; } else { - /* MISRA Empty body */ + *property = *pVariableHeader; + pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; + *used = true; + *propertyLength -= 1U; + if (*property > 1U) + { + status = MQTTProtocolError; + } } - if ((status == MQTTSuccess) && (pConnackProperties->isMaxPacketSize == true) && ((pIncomingPacket->remainingLength + remainingLengthSize + 1U) > (pConnackProperties->maxPacketSize))) + *index = pVariableHeader; + return status; +} + +static MQTTStatus_t decodeutf_8(const char ** property,uint16_t *length,size_t * propertyLength, bool * used, uint8_t** index){ + uint8_t * pVariableHeader = *index; + MQTTStatus_t status = MQTTSuccess ; + if (*used == true) { status = MQTTProtocolError; } - else if ((status == MQTTSuccess) && ((pIncomingPacket->remainingLength) != (2U + propertyLength + remainingLengthEncodedSize(propertyLength)))) + else if (*propertyLength < 2U) { status = MQTTMalformedPacket; } - else if (status == MQTTSuccess) + else { + *length = UINT16_DECODE(pVariableHeader); + pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; + *propertyLength -= 2U; + if (*propertyLength < *length) + { + status = MQTTMalformedPacket; + } + else + { + *property = (const char *)pVariableHeader; + pVariableHeader = &pVariableHeader[*length]; + *propertyLength -= *length; + *used = true; + } + } + *index= pVariableHeader; + return status; +} + +static MQTTStatus_t decodeutf_8pair(MQTTUserProperty_t* userProperty,size_t * propertyLength, uint8_t** index){ + uint8_t * pVariableHeader = *index; + MQTTStatus_t status = MQTTSuccess ; + if (*propertyLength < 2U) + { + status = MQTTMalformedPacket; + } + else + { + userProperty->keyLength = UINT16_DECODE(pVariableHeader); + *propertyLength -= 2U; + if (*propertyLength < userProperty->keyLength) + { + status = MQTTMalformedPacket; + } + else + { + pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; + userProperty->key = (const char *)pVariableHeader; + *propertyLength -= userProperty->keyLength; + pVariableHeader = &pVariableHeader[userProperty->keyLength]; + userProperty->valueLength = UINT16_DECODE(pVariableHeader); + if (*propertyLength < 2U) + { + status = MQTTMalformedPacket; + } + else + { + *propertyLength -= 2U; + if (*propertyLength < (size_t)(userProperty->valueLength)) + { + status = MQTTMalformedPacket; + } + else + { + userProperty->value = (const char *)pVariableHeader; + pVariableHeader = &pVariableHeader[userProperty->valueLength]; + *propertyLength -= userProperty->valueLength; + } + } + } + } + *index = pVariableHeader; + return status; +} + +static MQTTStatus_t deserializeConnackV5(MQTTConnectProperties_t *pConnackProperties, size_t propertyLength,uint8_t ** index){ + MQTTStatus_t status = MQTTSuccess; + uint8_t * pVariableHeader = *index; bool sessionExpiry = false; bool serverReceiveMax = false; bool maxQos = false; @@ -1463,405 +1589,83 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t *pConnackProperti switch (packetId) { case MQTT_SESSION_EXPIRY_ID: - if (sessionExpiry == true) - { - status = MQTTProtocolError; - } - else if (propertyLength < 4U) - { - status = MQTTMalformedPacket; - } - else - { - pConnackProperties->sessionExpiry = UINT32_DECODE(pVariableHeader); - pVariableHeader = &pVariableHeader[sizeof(uint32_t)]; - sessionExpiry = true; - propertyLength -= 4U; - } + status = decodeuint32_t(&pConnackProperties->sessionExpiry,&propertyLength,&sessionExpiry,&pVariableHeader); break; case MQTT_RECEIVE_MAX_ID: - if (serverReceiveMax == true) - { - status = MQTTProtocolError; - } - else if (propertyLength < 2U) - { - status = MQTTMalformedPacket; - } - else - { - pConnackProperties->serverReceiveMax = UINT16_DECODE(pVariableHeader); - pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - serverReceiveMax = true; - propertyLength -= 2U; - if (pConnackProperties->serverReceiveMax == 0u) + status= decodeuint16_t(&pConnackProperties->serverReceiveMax,&propertyLength,&serverReceiveMax,&pVariableHeader); + if(pConnackProperties->serverReceiveMax == 0U) { status = MQTTProtocolError; } - } break; case MQTT_MAX_QOS_ID: - if (maxQos == true) - { - status = MQTTProtocolError; - } - else if (propertyLength < 1U) - { - status = MQTTMalformedPacket; - } - else - { - pConnackProperties->serverMaxQos = *pVariableHeader; - pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; - maxQos = true; - propertyLength -= 1U; - if (pConnackProperties->serverMaxQos > 1U) - { - status = MQTTProtocolError; - } - } + status = decodeuint8_t(&pConnackProperties->serverMaxQos,&propertyLength,&maxQos,&pVariableHeader); break; case MQTT_RETAIN_AVAILABLE_ID: - if (retain == true) - { - status = MQTTProtocolError; - } - else if (propertyLength < 1U) - { - status = MQTTMalformedPacket; - } - else - { - pConnackProperties->retainAvailable = *pVariableHeader; - pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; - retain = true; - propertyLength -= 1U; - - if (pConnackProperties->retainAvailable > 1U) - { - status = MQTTProtocolError; - } - } + status = decodeuint8_t(&pConnackProperties->retainAvailable,&propertyLength,&retain,&pVariableHeader); break; case MQTT_MAX_PACKET_SIZE_ID: - if (maxPacket == true) + status = decodeuint32_t(&pConnackProperties->serverMaxPacketSize,&propertyLength,&maxPacket,&pVariableHeader); + if ((pConnackProperties->serverMaxPacketSize == 0U)) { status = MQTTProtocolError; } - else if (propertyLength < 4U) - { - status = MQTTMalformedPacket; - } - else - { - pConnackProperties->serverMaxPacketSize = UINT32_DECODE(pVariableHeader); - pVariableHeader = &pVariableHeader[sizeof(uint32_t)]; - maxPacket = true; - propertyLength -= 4U; - if (pConnackProperties->serverMaxPacketSize == 0U) - { - status = MQTTProtocolError; - } - } break; case MQTT_ASSIGNED_CLIENT_ID: - if (clientId == true) - { - status = MQTTProtocolError; - } - else if (propertyLength < 2U) - { - status = MQTTMalformedPacket; - } - else - { - pConnackProperties->clientIdLength = UINT16_DECODE(pVariableHeader); - pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - propertyLength -= 2U; - if (propertyLength < pConnackProperties->clientIdLength) - { - status = MQTTMalformedPacket; - } - else - { - pConnackProperties->clientIdentifier = (const char *)pVariableHeader; - pVariableHeader = &pVariableHeader[pConnackProperties->clientIdLength]; - propertyLength -= pConnackProperties->clientIdLength; - clientId = true; - } - } + status = decodeutf_8(&pConnackProperties->clientIdentifier,&pConnackProperties->clientIdLength,&propertyLength,&clientId,&pVariableHeader); break; - case MQTT_TOPIC_ALIAS_MAX_ID: - if (topicAlias == true) - { - status = MQTTProtocolError; - } - else if (propertyLength < 2U) - { - status = MQTTMalformedPacket; - } - else - { - pConnackProperties->serverTopicAliasMax = UINT16_DECODE(pVariableHeader); - pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - topicAlias = true; - propertyLength -= 2U; - } + status= decodeuint16_t(&pConnackProperties->serverTopicAliasMax,&propertyLength,&topicAlias,&pVariableHeader); break; case MQTT_REASON_STRING_ID: - if (reasonString == true) - { - status = MQTTProtocolError; - } - else if (propertyLength < 2U) - { - status = MQTTMalformedPacket; - } - else - { - pConnackProperties->reasonStringLength = UINT16_DECODE(pVariableHeader); - pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - propertyLength -= 2U; - if (propertyLength < pConnackProperties->reasonStringLength) - { - status = MQTTMalformedPacket; - } - else - { - pConnackProperties->reasonString = (const char *)pVariableHeader; - pVariableHeader = &pVariableHeader[pConnackProperties->reasonStringLength]; - propertyLength -= pConnackProperties->reasonStringLength; - reasonString = true; - } - } + status = decodeutf_8(&pConnackProperties->reasonString,&pConnackProperties->reasonStringLength,&propertyLength,&reasonString,&pVariableHeader); break; case MQTT_USER_PROPERTY_ID: - if (propertyLength < 2U) - { - status = MQTTMalformedPacket; - } - else - { - pConnackProperties->incomingUserPropSize++; - userProperty->keyLength = UINT16_DECODE(pVariableHeader); - propertyLength -= 2U; - if (propertyLength < userProperty->keyLength) - { - status = MQTTMalformedPacket; - } - else - { - pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - userProperty->key = (const char *)pVariableHeader; - propertyLength -= userProperty->keyLength; - pVariableHeader = &pVariableHeader[userProperty->keyLength]; - userProperty->valueLength = UINT16_DECODE(pVariableHeader); - if (propertyLength < 2U) - { - status = MQTTMalformedPacket; - } - else - { - propertyLength -= 2U; - if (propertyLength < (size_t)(userProperty->valueLength)) - { - status = MQTTMalformedPacket; - } - else - { - userProperty->value = (const char *)pVariableHeader; - pVariableHeader = &pVariableHeader[userProperty->valueLength]; - propertyLength -= userProperty->valueLength; - userProperty++; - } - } - } - } + status = decodeutf_8pair(userProperty,&propertyLength,&pVariableHeader); + userProperty++; + pConnackProperties->incomingUserPropSize++; break; case MQTT_WILDCARD_ID: - if (wildcard == true) - { - status = MQTTProtocolError; - } - else if (propertyLength < 1U) - { - status = MQTTMalformedPacket; - } - else - { - if (*pVariableHeader > 1U) - { - status = MQTTProtocolError; - } - else - { - pConnackProperties->isWildcardAvaiable = *pVariableHeader; - pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; - propertyLength -= 1U; - wildcard = true; - } - } + status = decodeuint8_t(&pConnackProperties->isWildcardAvaiable,&propertyLength,&wildcard,&pVariableHeader); break; case MQTT_SUB_AVAILABLE_ID: - if (subId == true) - { - status = MQTTProtocolError; - } - else if (propertyLength < 1U) - { - status = MQTTMalformedPacket; - } - else - { - if (*pVariableHeader > 1U) - { - status = MQTTProtocolError; - } - else - { - pConnackProperties->subscriptionId = *pVariableHeader; - pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; - propertyLength -= 1U; - subId = true; - } - } + status = decodeuint8_t(&pConnackProperties->subscriptionId ,&propertyLength,&subId,&pVariableHeader); break; case MQTT_SHARED_SUB_ID: - if (sharedsub == true) - { - status = MQTTProtocolError; - } - else if (propertyLength < 1U) - { - status = MQTTMalformedPacket; - } - else - { - if (*pVariableHeader > 1U) - { - status = MQTTProtocolError; - } - else - { - pConnackProperties->isSharedAvailable = *pVariableHeader; - pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; - propertyLength -= 1U; - sharedsub = true; - } - } + status = decodeuint8_t(&pConnackProperties->isSharedAvailable,&propertyLength,&sharedsub,&pVariableHeader); break; case MQTT_SERVER_KEEP_ALIVE_ID: - if (keepAlive == true) - { - status = MQTTProtocolError; - } - else if (propertyLength < 2U) - { - status = MQTTMalformedPacket; - } - else - { - pConnackProperties->serverKeepAlive = UINT16_DECODE(pVariableHeader); - pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - propertyLength -= 2U; - keepAlive = true; - } + status= decodeuint16_t(&pConnackProperties->serverKeepAlive,&propertyLength,&keepAlive,&pVariableHeader); break; case MQTT_RESPONSE_INFO_ID: - if ((responseInfo == true) || (pConnackProperties->reqResInfo == false)) + if (pConnackProperties->reqResInfo == false) { status = MQTTProtocolError; } - else if (propertyLength < 2U) - { - status = MQTTMalformedPacket; - } else { - pConnackProperties->responseInfoLength = UINT16_DECODE(pVariableHeader); - pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - propertyLength -= 2U; - if (propertyLength < pConnackProperties->responseInfoLength) - { - status = MQTTMalformedPacket; - } - pConnackProperties->responseInfo = (const char *)pVariableHeader; - pVariableHeader = &pVariableHeader[pConnackProperties->responseInfoLength]; - propertyLength -= pConnackProperties->responseInfoLength; - responseInfo = true; + status = decodeutf_8(&pConnackProperties->responseInfo,&pConnackProperties->responseInfoLength,&propertyLength,&reasonString,&pVariableHeader); } break; case MQTT_SERVER_REF_ID: - if (serverRef == true) - { - status = MQTTProtocolError; - } - else if (propertyLength < 2U) - { - status = MQTTMalformedPacket; - } - else - { - pConnackProperties->serverRefLength = UINT16_DECODE(pVariableHeader); - pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - propertyLength -= 2U; - if (propertyLength < pConnackProperties->serverRefLength) - { - status = MQTTMalformedPacket; - } - pConnackProperties->serverRef = (const char *)pVariableHeader; - pVariableHeader = &pVariableHeader[pConnackProperties->serverRefLength]; - propertyLength -= pConnackProperties->serverRefLength; - serverRef = true; - } + status = decodeutf_8(&pConnackProperties->serverRef,&pConnackProperties->serverRefLength,&propertyLength,&serverRef,&pVariableHeader); break; case MQTT_AUTH_METHOD_ID: - if ((authMethod == true) || (pConnackProperties->outgoingAuth == NULL)) + if (pConnackProperties->outgoingAuth == NULL) { status = MQTTProtocolError; } - else if (propertyLength < 2U) - { - status = MQTTMalformedPacket; - } - else - { - pConnackProperties->incomingAuth->authMethodLength = UINT16_DECODE(pVariableHeader); - pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - propertyLength -= 2U; - if (propertyLength < pConnackProperties->incomingAuth->authMethodLength) - { - status = MQTTMalformedPacket; - } - pConnackProperties->incomingAuth->authMethod = (const char *)pVariableHeader; - pVariableHeader = &pVariableHeader[pConnackProperties->incomingAuth->authMethodLength]; - propertyLength -= pConnackProperties->incomingAuth->authMethodLength; - authMethod = true; + else{ + status = decodeutf_8(&pConnackProperties->incomingAuth->authMethod,&pConnackProperties->incomingAuth->authMethodLength ,&propertyLength,&authMethod,&pVariableHeader); } break; case MQTT_AUTH_DATA_ID: - if ((authData == true) || (pConnackProperties->outgoingAuth == NULL)) + if ((pConnackProperties->outgoingAuth == NULL)) { status = MQTTProtocolError; } - else if (propertyLength < 2U) - { - status = MQTTMalformedPacket; - } - else - { - pConnackProperties->incomingAuth->authDataLength = UINT16_DECODE(pVariableHeader); - pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - propertyLength -= 2U; - if (propertyLength < pConnackProperties->incomingAuth->authDataLength) - { - status = MQTTMalformedPacket; - } - pConnackProperties->incomingAuth->authData = (const char *)pVariableHeader; - pVariableHeader = &pVariableHeader[pConnackProperties->incomingAuth->authDataLength]; - propertyLength -= pConnackProperties->incomingAuth->authDataLength; - authData = true; + else{ + status = decodeutf_8(&pConnackProperties->incomingAuth->authData,&pConnackProperties->incomingAuth->authDataLength ,&propertyLength,&authData,&pVariableHeader); } break; default: @@ -1869,6 +1673,44 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t *pConnackProperti break; } } + return status; +} + +MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t *pConnackProperties, const MQTTPacketInfo_t *pIncomingPacket, + + bool *pSessionPresent) +{ + MQTTStatus_t status = MQTTSuccess; + size_t propertyLength; + size_t remainingLengthSize; + uint8_t *pVariableHeader = NULL; + if (pConnackProperties == NULL) + { + status = MQTTBadParameter; + } + if (status == MQTTSuccess) + { + status = validateConnackParams(pIncomingPacket, pSessionPresent); + } + if (status == MQTTSuccess) + { + pVariableHeader = pIncomingPacket->pRemainingData; + pVariableHeader = &pVariableHeader[2]; + remainingLengthSize = remainingLengthEncodedSize(pIncomingPacket->remainingLength); + status = decodeVariableLength(pVariableHeader, &propertyLength); + } + + if ((status == MQTTSuccess) && (pConnackProperties->isMaxPacketSize == true) && ((pIncomingPacket->remainingLength + remainingLengthSize + 1U) > (pConnackProperties->maxPacketSize))) + { + status = MQTTProtocolError; + } + else if ((status == MQTTSuccess) && ((pIncomingPacket->remainingLength) != (2U + propertyLength + remainingLengthEncodedSize(propertyLength)))) + { + status = MQTTMalformedPacket; + } + else if (status == MQTTSuccess) + { + status = deserializeConnackV5(pConnackProperties,propertyLength,&pVariableHeader); } else { diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index 18c72cb01..deb8f2fa7 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -266,7 +266,7 @@ typedef struct MQTTAuthInfo * @brief Length of the authentication data. */ uint16_t authDataLength; -}MQTTAuthInfo_t; +} MQTTAuthInfo_t; /** * @ingroup mqtt_struct_types @@ -290,7 +290,7 @@ typedef struct MQTTUserProperty * @brief Length of the value. */ uint16_t valueLength; -}MQTTUserProperty_t; +} MQTTUserProperty_t; /** * @ingroup mqtt_struct_types @@ -1593,6 +1593,8 @@ uint8_t * MQTT_SerializeUnsubscribeHeader( size_t remainingLength, * Doxygen should ignore this definition, this function is private. */ uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex,const MQTTConnectProperties_t * pConnectProperties); +/** @endcond */ + /** * @fnuint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, uint8_t* pIndex); @@ -1609,6 +1611,7 @@ uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex,const MQTTConnectProper * Doxygen should ignore this definition, this function is private. */ uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, uint8_t* pIndex); +/** @endcond */ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackProperties,const MQTTPacketInfo_t * pIncomingPacket, From 4a9145ea3d847b405b062baeb83c91ca61387106 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Mon, 24 Jun 2024 17:12:38 +0000 Subject: [PATCH 30/82] MQTTV5 connect and connack --- source/core_mqtt.c | 39 ++-- source/core_mqtt_serializer.c | 72 ++++--- source/include/core_mqtt_serializer.h | 32 +-- .../MQTTv5/core_mqttv5_serializer_utest.c | 188 +++++++++--------- test/unit-test/MQTTv5/core_mqttv5_utest.c | 28 +-- 5 files changed, 179 insertions(+), 180 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index f31411351..54752d5e9 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -660,7 +660,7 @@ static size_t sendWillProperties(const MQTTPublishInfo_t* pWillInfo, WillVector_ { /* Serialize the content type string. */ vectorsAdded = addEncodedStringToVectorWithId(willVector->serializedContentTypeLength, - pWillInfo->contentType, + pWillInfo->pContentType, pWillInfo->contentTypeLength, iterator, totalMessageLength, &willVector->contentTypeId); @@ -673,7 +673,7 @@ static size_t sendWillProperties(const MQTTPublishInfo_t* pWillInfo, WillVector_ { /* Serialize the response topic string. */ vectorsAdded = addEncodedStringToVectorWithId(willVector->serializedResponseTopicLength, - pWillInfo->responseTopic, + pWillInfo->pResponseTopic, pWillInfo->responseTopicLength, iterator, totalMessageLength,&willVector->responseTopicId); @@ -686,7 +686,7 @@ static size_t sendWillProperties(const MQTTPublishInfo_t* pWillInfo, WillVector_ { /* Serialize the correlation data string. */ vectorsAdded = addEncodedStringToVectorWithId(willVector->serailizedCorrelationLength, - pWillInfo->correlationData, + pWillInfo->pCorrelationData, pWillInfo->correlationLength, iterator, totalMessageLength,&willVector->correlationDataId); @@ -699,12 +699,12 @@ static size_t sendWillProperties(const MQTTPublishInfo_t* pWillInfo, WillVector_ { uint32_t i = 0; uint32_t size = pWillInfo->userPropertySize; - const MQTTUserProperty_t* userProperty = pWillInfo->userProperty; + const MQTTUserProperty_t* userProperty = pWillInfo->pUserProperty; for (; i < size; i++) { willVector->willUserId[i]=MQTT_USER_PROPERTY_ID; vectorsAdded = addEncodedStringToVectorWithId(willVector->serializedWillUserKeyLength[i], - userProperty[i].key, + userProperty[i].pKey, userProperty[i].keyLength, iterator, totalMessageLength, &willVector->willUserId[i]); @@ -713,7 +713,7 @@ static size_t sendWillProperties(const MQTTPublishInfo_t* pWillInfo, WillVector_ ioVectorLength += vectorsAdded; vectorsAdded = addEncodedStringToVector(willVector->serializedWillUserValueLength[i], - userProperty[i].value, + userProperty[i].pValue, userProperty[i].valueLength, iterator, totalMessageLength); @@ -722,7 +722,7 @@ static size_t sendWillProperties(const MQTTPublishInfo_t* pWillInfo, WillVector_ ioVectorLength += vectorsAdded; } -} + } return ioVectorLength; } @@ -738,22 +738,22 @@ static size_t sendConnectProperties(const MQTTConnectProperties_t* pConnectPrope { uint32_t i = 0; uint32_t size = pConnectProperties->outgoingUserPropSize; - const MQTTUserProperty_t *userProperty = pConnectProperties->outgoingUserProperty; + const MQTTUserProperty_t *userProperty = pConnectProperties->pOutgoingUserProperty; for (; i < size; i++) { propertiesVector->userId[i]=MQTT_USER_PROPERTY_ID; /* Serialize the user key string. */ vectorsAdded = addEncodedStringToVectorWithId(propertiesVector->serializedUserKeyLength[i], - userProperty[i].key, + userProperty[i].pKey, userProperty[i].keyLength, iterator, - totalMessageLength,&propertiesVector->userId[i]); + totalMessageLength,&(propertiesVector->userId[i])); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; /* Serialize the user value string. */ vectorsAdded = addEncodedStringToVector(propertiesVector->serializedUserValueLength[i], - userProperty[i].value, + userProperty[i].pValue, userProperty[i].valueLength, iterator, totalMessageLength); @@ -763,26 +763,26 @@ static size_t sendConnectProperties(const MQTTConnectProperties_t* pConnectPrope } } /*Encodethe authentication method and data if provided*/ - if (pConnectProperties->outgoingAuth != NULL) + if (pConnectProperties->pOutgoingAuth != NULL) { /* Serialize the authentication method string. */ vectorsAdded = addEncodedStringToVectorWithId(propertiesVector->serializedAuthMethodLength, - pConnectProperties->outgoingAuth->authMethod, - pConnectProperties->outgoingAuth->authMethodLength, + pConnectProperties->pOutgoingAuth->pAuthMethod, + pConnectProperties->pOutgoingAuth->authMethodLength, iterator, - totalMessageLength, &propertiesVector->authMethodId); + totalMessageLength, &(propertiesVector->authMethodId)); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; - if (pConnectProperties->outgoingAuth->authDataLength != 0U) + if (pConnectProperties->pOutgoingAuth->authDataLength != 0U) { /* Serialize the authentication data string. */ vectorsAdded = addEncodedStringToVectorWithId(propertiesVector->serializedAuthDataLength, - pConnectProperties->outgoingAuth->authData, - pConnectProperties->outgoingAuth->authDataLength, + pConnectProperties->pOutgoingAuth->pAuthData, + pConnectProperties->pOutgoingAuth->authDataLength, iterator, - totalMessageLength, &propertiesVector->authDataId); + totalMessageLength, &(propertiesVector->authDataId)); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; @@ -790,6 +790,7 @@ static size_t sendConnectProperties(const MQTTConnectProperties_t* pConnectPrope } } + return ioVectorLength; } #endif diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 3ff4b823e..1692f975e 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -539,8 +539,6 @@ static MQTTStatus_t MQTT_GetUserPropertySize(const MQTTUserProperty_t *pUserProp static MQTTStatus_t MQTT_GetAuthInfoSize(const MQTTAuthInfo_t *authInfo,size_t *propertyLength); -static decodeSessionExpiry(uint32_t property,size_t * porpertyLength); - /** * @brief Get the size of connect properties. * @@ -665,7 +663,7 @@ MQTTStatus_t MQTTV5_GetConnectPacketSize(const MQTTConnectInfo_t *pConnectInfo, LogError(("Argument cannot be NULL: connectProperties")); status = MQTTBadParameter; } - else if ((pConnectProperties->outgoingAuth != NULL) && (pConnectProperties->incomingAuth == NULL)) + else if ((pConnectProperties->pOutgoingAuth != NULL) && (pConnectProperties->pIncomingAuth == NULL)) { LogError(("Incoming Auth cannot be NULL")); status = MQTTBadParameter; @@ -792,7 +790,7 @@ static MQTTStatus_t MQTT_GetUserPropertySize(const MQTTUserProperty_t *pUserProp { for (; (i < number); i++) { - if ((pUserProperty[i].keyLength == 0U) || (pUserProperty[i].valueLength == 0U) || (pUserProperty[i].key == NULL) || (pUserProperty[i].value == NULL)) + if ((pUserProperty[i].keyLength == 0U) || (pUserProperty[i].valueLength == 0U) || (pUserProperty[i].pKey == NULL) || (pUserProperty[i].pValue == NULL)) { status = MQTTBadParameter; break; @@ -815,11 +813,11 @@ static MQTTStatus_t MQTT_GetAuthInfoSize(const MQTTAuthInfo_t *authInfo,size_t * { status = MQTTBadParameter; } - else if ((authInfo->authMethodLength != 0U) && (authInfo->authMethod == NULL)) + else if ((authInfo->authMethodLength != 0U) && (authInfo->pAuthMethod == NULL)) { status = MQTTBadParameter; } - else if ((authInfo->authDataLength != 0U) && (authInfo->authData == NULL)) + else if ((authInfo->authDataLength != 0U) && (authInfo->pAuthData == NULL)) { status = MQTTBadParameter; } @@ -879,16 +877,16 @@ static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t *pConn { propertyLength += MQTT_REQUEST_PPOBLEM_SIZE; } - if (pConnectProperties->outgoingAuth != NULL) + if (pConnectProperties->pOutgoingAuth != NULL) { /*Valid authentication parameters*/ - status = MQTT_GetAuthInfoSize(pConnectProperties->outgoingAuth,&propertyLength); + status = MQTT_GetAuthInfoSize(pConnectProperties->pOutgoingAuth,&propertyLength); } } /*Get the length of the user properties*/ if ((status == MQTTSuccess) && (pConnectProperties->outgoingUserPropSize != 0U)) { - status = MQTT_GetUserPropertySize(pConnectProperties->outgoingUserProperty, pConnectProperties->outgoingUserPropSize, &propertyLength); + status = MQTT_GetUserPropertySize(pConnectProperties->pOutgoingUserProperty, pConnectProperties->outgoingUserPropSize, &propertyLength); } /*Variable length encoded values cannot have valued more than 268435455U*/ if ((status == MQTTSuccess) && (pConnectProperties->propertyLength > MQTT_MAX_REMAINING_LENGTH)) @@ -922,7 +920,7 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillPropertie } if (pWillProperties->contentTypeLength != 0U) { - if (pWillProperties->contentType == NULL) + if (pWillProperties->pContentType == NULL) { status = MQTTBadParameter; } @@ -935,7 +933,7 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillPropertie /*Validate if length and pointers are valid*/ if ((status == MQTTSuccess) && (pWillProperties->responseTopicLength != 0U)) { - if (pWillProperties->responseTopic == NULL) + if (pWillProperties->pResponseTopic == NULL) { status = MQTTBadParameter; } @@ -947,7 +945,7 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillPropertie } if ((status == MQTTSuccess) && (pWillProperties->correlationLength != 0U)) { - if (pWillProperties->correlationData == NULL) + if (pWillProperties->pCorrelationData == NULL) { status = MQTTBadParameter; } @@ -960,7 +958,7 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillPropertie /*Get the length of user properties*/ if (status == MQTTSuccess) { - status = MQTT_GetUserPropertySize(pWillProperties->userProperty, pWillProperties->userPropertySize, &willLength); + status = MQTT_GetUserPropertySize(pWillProperties->pUserProperty, pWillProperties->userPropertySize, &willLength); } /*Variable encoded can't have a value more than 268435455UL*/ if (willLength > MQTT_MAX_REMAINING_LENGTH) @@ -1056,27 +1054,27 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t *pConnectInfo, { uint32_t i = 0; uint32_t size = pConnectProperties->outgoingUserPropSize; - const MQTTUserProperty_t *pUserProperty = pConnectProperties->outgoingUserProperty; + const MQTTUserProperty_t *pUserProperty = pConnectProperties->pOutgoingUserProperty; for (; i < size; i++) { *pIndex = MQTT_USER_PROPERTY_ID; pIndex++; - pIndex = encodeString(pIndex, pUserProperty[i].key, pUserProperty[i].keyLength); - pIndex = encodeString(pIndex, pUserProperty[i].value, pUserProperty[i].valueLength); + pIndex = encodeString(pIndex, pUserProperty[i].pKey, pUserProperty[i].keyLength); + pIndex = encodeString(pIndex, pUserProperty[i].pValue, pUserProperty[i].valueLength); } } - if (pConnectProperties->outgoingAuth != NULL) + if (pConnectProperties->pOutgoingAuth != NULL) { /* Serialize the authentication method string. */ *pIndex = MQTT_AUTH_METHOD_ID; pIndex++; - pIndex = encodeString(pIndex, pConnectProperties->outgoingAuth->authMethod, pConnectProperties->outgoingAuth->authMethodLength); - if (pConnectProperties->outgoingAuth->authDataLength != 0U) + pIndex = encodeString(pIndex, pConnectProperties->pOutgoingAuth->pAuthMethod, pConnectProperties->pOutgoingAuth->authMethodLength); + if (pConnectProperties->pOutgoingAuth->authDataLength != 0U) { *pIndex = MQTT_AUTH_DATA_ID; pIndex++; - pIndex = encodeString(pIndex, pConnectProperties->outgoingAuth->authData, pConnectProperties->outgoingAuth->authDataLength); + pIndex = encodeString(pIndex, pConnectProperties->pOutgoingAuth->pAuthData, pConnectProperties->pOutgoingAuth->authDataLength); } } @@ -1093,31 +1091,31 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t *pConnectInfo, { *pIndex = MQTT_CONTENT_TYPE_ID; pIndex++; - pIndex = encodeString(pIndex, pWillInfo->contentType, pWillInfo->contentTypeLength); + pIndex = encodeString(pIndex, pWillInfo->pContentType, pWillInfo->contentTypeLength); } if (pWillInfo->responseTopicLength != 0U) { *pIndex = MQTT_RESPONSE_TOPIC_ID; pIndex++; - pIndex = encodeString(pIndex, pWillInfo->responseTopic, pWillInfo->responseTopicLength); + pIndex = encodeString(pIndex, pWillInfo->pResponseTopic, pWillInfo->responseTopicLength); } if (pWillInfo->correlationLength != 0U) { *pIndex = MQTT_CORRELATION_DATA_ID; pIndex++; - pIndex = encodeString(pIndex, pWillInfo->correlationData, pWillInfo->correlationLength); + pIndex = encodeString(pIndex, pWillInfo->pCorrelationData, pWillInfo->correlationLength); } if (pWillInfo->userPropertySize != 0U) { uint32_t i = 0; uint32_t size = pWillInfo->userPropertySize; - const MQTTUserProperty_t *pUserProperty = pWillInfo->userProperty; + const MQTTUserProperty_t *pUserProperty = pWillInfo->pUserProperty; for (; i < size; i++) { *pIndex = MQTT_USER_PROPERTY_ID; pIndex++; - pIndex = encodeString(pIndex, pUserProperty[i].key, pUserProperty[i].keyLength); - pIndex = encodeString(pIndex, pUserProperty[i].value, pUserProperty[i].valueLength); + pIndex = encodeString(pIndex, pUserProperty[i].pKey, pUserProperty[i].keyLength); + pIndex = encodeString(pIndex, pUserProperty[i].pValue, pUserProperty[i].valueLength); } } pIndex = encodeString(pIndex, pWillInfo->pTopicName, pWillInfo->topicNameLength); @@ -1532,7 +1530,7 @@ static MQTTStatus_t decodeutf_8pair(MQTTUserProperty_t* userProperty,size_t * pr else { pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - userProperty->key = (const char *)pVariableHeader; + userProperty->pKey = (const char *)pVariableHeader; *propertyLength -= userProperty->keyLength; pVariableHeader = &pVariableHeader[userProperty->keyLength]; userProperty->valueLength = UINT16_DECODE(pVariableHeader); @@ -1549,7 +1547,7 @@ static MQTTStatus_t decodeutf_8pair(MQTTUserProperty_t* userProperty,size_t * pr } else { - userProperty->value = (const char *)pVariableHeader; + userProperty->pValue = (const char *)pVariableHeader; pVariableHeader = &pVariableHeader[userProperty->valueLength]; *propertyLength -= userProperty->valueLength; } @@ -1579,7 +1577,7 @@ static MQTTStatus_t deserializeConnackV5(MQTTConnectProperties_t *pConnackProper bool serverRef = false; bool authMethod = false; bool authData = false; - MQTTUserProperty_t *userProperty = pConnackProperties->incomingUserProperty; + MQTTUserProperty_t *userProperty = pConnackProperties->pIncomingUserProperty; pVariableHeader = &pVariableHeader[remainingLengthEncodedSize(propertyLength)]; while ((propertyLength > 0U) && (status == MQTTSuccess)) { @@ -1612,13 +1610,13 @@ static MQTTStatus_t deserializeConnackV5(MQTTConnectProperties_t *pConnackProper } break; case MQTT_ASSIGNED_CLIENT_ID: - status = decodeutf_8(&pConnackProperties->clientIdentifier,&pConnackProperties->clientIdLength,&propertyLength,&clientId,&pVariableHeader); + status = decodeutf_8(&pConnackProperties->pClientIdentifier,&pConnackProperties->clientIdLength,&propertyLength,&clientId,&pVariableHeader); break; case MQTT_TOPIC_ALIAS_MAX_ID: status= decodeuint16_t(&pConnackProperties->serverTopicAliasMax,&propertyLength,&topicAlias,&pVariableHeader); break; case MQTT_REASON_STRING_ID: - status = decodeutf_8(&pConnackProperties->reasonString,&pConnackProperties->reasonStringLength,&propertyLength,&reasonString,&pVariableHeader); + status = decodeutf_8(&pConnackProperties->pReasonString,&pConnackProperties->reasonStringLength,&propertyLength,&reasonString,&pVariableHeader); break; case MQTT_USER_PROPERTY_ID: status = decodeutf_8pair(userProperty,&propertyLength,&pVariableHeader); @@ -1644,28 +1642,28 @@ static MQTTStatus_t deserializeConnackV5(MQTTConnectProperties_t *pConnackProper } else { - status = decodeutf_8(&pConnackProperties->responseInfo,&pConnackProperties->responseInfoLength,&propertyLength,&reasonString,&pVariableHeader); + status = decodeutf_8(&pConnackProperties->pResponseInfo,&pConnackProperties->responseInfoLength,&propertyLength,&responseInfo,&pVariableHeader); } break; case MQTT_SERVER_REF_ID: - status = decodeutf_8(&pConnackProperties->serverRef,&pConnackProperties->serverRefLength,&propertyLength,&serverRef,&pVariableHeader); + status = decodeutf_8(&pConnackProperties->pServerRef,&pConnackProperties->serverRefLength,&propertyLength,&serverRef,&pVariableHeader); break; case MQTT_AUTH_METHOD_ID: - if (pConnackProperties->outgoingAuth == NULL) + if (pConnackProperties->pOutgoingAuth == NULL) { status = MQTTProtocolError; } else{ - status = decodeutf_8(&pConnackProperties->incomingAuth->authMethod,&pConnackProperties->incomingAuth->authMethodLength ,&propertyLength,&authMethod,&pVariableHeader); + status = decodeutf_8(&pConnackProperties->pIncomingAuth->pAuthMethod,&pConnackProperties->pIncomingAuth->authMethodLength ,&propertyLength,&authMethod,&pVariableHeader); } break; case MQTT_AUTH_DATA_ID: - if ((pConnackProperties->outgoingAuth == NULL)) + if ((pConnackProperties->pOutgoingAuth == NULL)) { status = MQTTProtocolError; } else{ - status = decodeutf_8(&pConnackProperties->incomingAuth->authData,&pConnackProperties->incomingAuth->authDataLength ,&propertyLength,&authData,&pVariableHeader); + status = decodeutf_8(&pConnackProperties->pIncomingAuth->pAuthData,&pConnackProperties->pIncomingAuth->authDataLength ,&propertyLength,&authData,&pVariableHeader); } break; default: diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index deb8f2fa7..f999badac 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -253,7 +253,7 @@ typedef struct MQTTAuthInfo /** * @brief Authentication method used for authentication. */ - const char* authMethod; + const char* pAuthMethod; /** * @brief Length of the authentication mathod. */ @@ -261,7 +261,7 @@ typedef struct MQTTAuthInfo /** * @brief Authentication data used for authentication. */ - const char* authData; + const char* pAuthData; /** * @brief Length of the authentication data. */ @@ -277,7 +277,7 @@ typedef struct MQTTUserProperty /** * @brief key. */ - const char* key; + const char* pKey; /** * @brief Length of the key. */ @@ -285,7 +285,7 @@ typedef struct MQTTUserProperty /** * @brief value. */ - const char* value; + const char* pValue; /** * @brief Length of the value. */ @@ -334,7 +334,7 @@ typedef struct MQTTConnectProperties /** * @brief Pointer to the outgoing user properties. */ - MQTTUserProperty_t *outgoingUserProperty; + MQTTUserProperty_t *pOutgoingUserProperty; /** * @brief Total number of outgoing user properties. */ @@ -343,7 +343,7 @@ typedef struct MQTTConnectProperties /** * @brief Pointer to the incoming authentication information. */ - MQTTAuthInfo_t *outgoingAuth; + MQTTAuthInfo_t *pOutgoingAuth; /** * @brief Maximum number of unacknowledged PUBLISH packets client is willing to receive. @@ -364,7 +364,7 @@ typedef struct MQTTConnectProperties /** * @brief Client identifier assigned by the client. */ - const char* clientIdentifier; + const char* pClientIdentifier; /** * @brief Length of the assigned client identifier. */ @@ -376,7 +376,7 @@ typedef struct MQTTConnectProperties /** * @brief Reason String is a human readable string designed for diagnostics. */ - const char* reasonString; + const char* pReasonString; /** * @brief Length of reason string. */ @@ -384,7 +384,7 @@ typedef struct MQTTConnectProperties /** * @brief Pointer to the incoming user properties. */ - MQTTUserProperty_t *incomingUserProperty; + MQTTUserProperty_t *pIncomingUserProperty; /** * @brief Total number of user properties received. */ @@ -408,7 +408,7 @@ typedef struct MQTTConnectProperties /** * @brief UTF-8 Encoded String which is used as the basis for creating a Response Topic. */ - const char* responseInfo; + const char* pResponseInfo; /** * @brief Length of the response information. */ @@ -416,7 +416,7 @@ typedef struct MQTTConnectProperties /** * @brief UTF-8 Encoded String which can be used by the Client to identify another Server to use */ - const char* serverRef; + const char* pServerRef; /** * @brief Length of the server reference. */ @@ -424,7 +424,7 @@ typedef struct MQTTConnectProperties /** * @brief Pointer to the incoming authentication information. */ - MQTTAuthInfo_t *incomingAuth; + MQTTAuthInfo_t *pIncomingAuth; } MQTTConnectProperties_t; @@ -498,7 +498,7 @@ typedef struct MQTTPublishInfo /** * @brief UTF-8 Encoded String describing the content of the Will Message. */ - const char *contentType; + const char *pContentType; /** * @brief Length of the response topic. */ @@ -506,7 +506,7 @@ typedef struct MQTTPublishInfo /** * @brief UTF-8 Encoded String which is used as the Topic Name for a response message. */ - const char *responseTopic; + const char *pResponseTopic; /** * @brief Length of the correlation lenght. */ @@ -514,11 +514,11 @@ typedef struct MQTTPublishInfo /** * @brief To identify which request the Response Message is for. */ - const void *correlationData; + const void *pCorrelationData; /** * @brief Pointer to the user properties. */ - MQTTUserProperty_t* userProperty; + MQTTUserProperty_t* pUserProperty; /** * @brief Number of user properties. */ diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index f25a57ae8..c0fac4bdd 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -453,7 +453,7 @@ static MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t *pUserProperty, { for (; i < number && status == MQTTSuccess; i++) { - if ((pUserProperty + i) == NULL || (pUserProperty + i)->keyLength == 0 || (pUserProperty + i)->valueLength == 0 || (pUserProperty + i)->key == NULL || (pUserProperty + i)->value == NULL) + if ((pUserProperty + i) == NULL || (pUserProperty + i)->keyLength == 0 || (pUserProperty + i)->valueLength == 0 || (pUserProperty + i)->pKey == NULL || (pUserProperty + i)->pValue == NULL) { status = MQTTBadParameter; } @@ -493,7 +493,7 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillPropertie } if (pWillProperties->contentTypeLength != 0U) { - if (pWillProperties->contentType == NULL) + if (pWillProperties->pContentType == NULL) { status = MQTTBadParameter; } @@ -506,7 +506,7 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillPropertie /*Validate if length and pointers are valid*/ if (status == MQTTSuccess && pWillProperties->responseTopicLength != 0U) { - if (pWillProperties->responseTopic == NULL) + if (pWillProperties->pResponseTopic == NULL) { status = MQTTBadParameter; } @@ -517,7 +517,7 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillPropertie } if (status == MQTTSuccess && pWillProperties->correlationLength != 0U) { - if (pWillProperties->correlationData == NULL) + if (pWillProperties->pCorrelationData == NULL) { status = MQTTBadParameter; } @@ -529,7 +529,7 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillPropertie /*Get the length of user properties*/ if (status == MQTTSuccess) { - status = MQTT_GetUserPropertySize(pWillProperties->userProperty, pWillProperties->userPropertySize, &willLength); + status = MQTT_GetUserPropertySize(pWillProperties->pUserProperty, pWillProperties->userPropertySize, &willLength); } /*Variable encoded can't have a value more than 268435455UL*/ if (willLength > MQTT_MAX_REMAINING_LENGTH) @@ -553,8 +553,8 @@ static uint8_t *serializeUserProperties(uint8_t *pIndex, const MQTTUserProperty_ { *pIndexLocal = MQTT_USER_PROPERTY_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, (pUserProperty + i)->key, (pUserProperty + i)->keyLength); - dummy = encodeString(pIndexLocal, (pUserProperty + i)->value, (pUserProperty + i)->valueLength); + dummy = encodeString(pIndexLocal, (pUserProperty + i)->pKey, (pUserProperty + i)->keyLength); + dummy = encodeString(pIndexLocal, (pUserProperty + i)->pValue, (pUserProperty + i)->valueLength); } i = dummy; return pIndexLocal; @@ -708,23 +708,23 @@ static void verifySerializedConnectPacket(const MQTTConnectInfo_t *const pConnec if (pConnectProperties->outgoingUserPropSize > 0) { - pIndex = serializeUserProperties(pIndex, pConnectProperties->outgoingUserProperty, pConnectProperties->outgoingUserPropSize); + pIndex = serializeUserProperties(pIndex, pConnectProperties->pOutgoingUserProperty, pConnectProperties->outgoingUserPropSize); } - if (pConnectProperties->outgoingAuth != NULL) + if (pConnectProperties->pOutgoingAuth != NULL) { - if (pConnectProperties->outgoingAuth->authMethodLength != 0) + if (pConnectProperties->pOutgoingAuth->authMethodLength != 0) { encodedStringLength = encodeString(encodedStringBuffer, - pConnectProperties->outgoingAuth->authMethod, - pConnectProperties->outgoingAuth->authMethodLength); + pConnectProperties->pOutgoingAuth->pAuthMethod, + pConnectProperties->pOutgoingAuth->authMethodLength); TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); pIndex += encodedStringLength; - if (pConnectProperties->outgoingAuth->authDataLength != 0) + if (pConnectProperties->pOutgoingAuth->authDataLength != 0) { encodedStringLength = encodeString(encodedStringBuffer, - pConnectProperties->outgoingAuth->authData, - pConnectProperties->outgoingAuth->authDataLength); + pConnectProperties->pOutgoingAuth->pAuthData, + pConnectProperties->pOutgoingAuth->authDataLength); TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); pIndex += encodedStringLength; } @@ -748,7 +748,7 @@ static void verifySerializedConnectPacket(const MQTTConnectInfo_t *const pConnec TEST_ASSERT_EQUAL_INT(MQTT_CONTENT_TYPE_ID, *pIndex); pIndex++; encodedStringLength = encodeString(encodedStringBuffer, - pWillInfo->contentType, + pWillInfo->pContentType, pWillInfo->contentTypeLength); TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); pIndex += encodedStringLength; @@ -758,7 +758,7 @@ static void verifySerializedConnectPacket(const MQTTConnectInfo_t *const pConnec TEST_ASSERT_EQUAL_INT(MQTT_RESPONSE_TOPIC_ID, *pIndex); pIndex++; encodedStringLength = encodeString(encodedStringBuffer, - pWillInfo->responseTopic, + pWillInfo->pResponseTopic, pWillInfo->responseTopicLength); TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); pIndex += encodedStringLength; @@ -768,7 +768,7 @@ static void verifySerializedConnectPacket(const MQTTConnectInfo_t *const pConnec TEST_ASSERT_EQUAL_INT(MQTT_CORRELATION_DATA_ID, *pIndex); pIndex++; encodedStringLength = encodeString(encodedStringBuffer, - pWillInfo->correlationData, + pWillInfo->pCorrelationData, pWillInfo->correlationLength); TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); pIndex += encodedStringLength; @@ -776,7 +776,7 @@ static void verifySerializedConnectPacket(const MQTTConnectInfo_t *const pConnec if (pWillInfo->userPropertySize != 0) { - pIndex = serializeUserProperties(pIndex, pWillInfo->userProperty, pWillInfo->userPropertySize); + pIndex = serializeUserProperties(pIndex, pWillInfo->pUserProperty, pWillInfo->userPropertySize); } encodedStringLength = encodeString(encodedStringBuffer, pWillInfo->pTopicName, @@ -854,7 +854,7 @@ void test_MQTT_GetWillPropertiesSize(void) status = MQTT_GetWillPropertiesSize(&willInfo); TEST_ASSERT_EQUAL(MQTTBadParameter, status); - willInfo.contentType = "ab"; + willInfo.pContentType = "ab"; status = MQTT_GetWillPropertiesSize(&willInfo); TEST_ASSERT_EQUAL(MQTTSuccess, status); TEST_ASSERT_EQUAL_size_t(17, willInfo.propertyLength); @@ -863,7 +863,7 @@ void test_MQTT_GetWillPropertiesSize(void) status = MQTT_GetWillPropertiesSize(&willInfo); TEST_ASSERT_EQUAL(MQTTBadParameter, status); - willInfo.responseTopic = "ab"; + willInfo.pResponseTopic = "ab"; status = MQTT_GetWillPropertiesSize(&willInfo); TEST_ASSERT_EQUAL(MQTTSuccess, status); TEST_ASSERT_EQUAL_size_t(22, willInfo.propertyLength); @@ -872,21 +872,21 @@ void test_MQTT_GetWillPropertiesSize(void) status = MQTT_GetWillPropertiesSize(&willInfo); TEST_ASSERT_EQUAL(MQTTBadParameter, status); - willInfo.correlationData = "ab"; + willInfo.pCorrelationData = "ab"; status = MQTT_GetWillPropertiesSize(&willInfo); TEST_ASSERT_EQUAL(MQTTSuccess, status); TEST_ASSERT_EQUAL_size_t(27, willInfo.propertyLength); MQTTUserProperty_t userProperty[2]; - userProperty[0].key = "2"; + userProperty[0].pKey = "2"; userProperty[0].keyLength = 1; userProperty[0].valueLength = 3; - userProperty[0].value = "abc"; - userProperty[1].key = "2"; + userProperty[0].pValue = "abc"; + userProperty[1].pKey = "2"; userProperty[1].keyLength = 1; userProperty[1].valueLength = 2; - userProperty[1].value = "ab"; - willInfo.userProperty = userProperty; + userProperty[1].pValue = "ab"; + willInfo.pUserProperty = userProperty; willInfo.userPropertySize = 2; status = MQTT_GetWillPropertiesSize(&willInfo); TEST_ASSERT_EQUAL(MQTTSuccess, status); @@ -1551,7 +1551,7 @@ void test_MQTTV5_DeserializeConnackOnlyClientId(void) pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL(pIndexLocal, properties.clientIdentifier + 2); + TEST_ASSERT_EQUAL(pIndexLocal, properties.pClientIdentifier + 2); /*Protocol error to include the same property twice*/ packetInfo.remainingLength = 13; @@ -1745,7 +1745,7 @@ void test_MQTTV5_DeserializeConnackOnlyReasonString(void) pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL_INT(pIndexLocal, properties.reasonString + 2); + TEST_ASSERT_EQUAL_INT(pIndexLocal, properties.pReasonString + 2); /*Protocol error to include the same property twice*/ packetInfo.remainingLength = 13; @@ -2070,8 +2070,8 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty(void) memset(&properties, 0x0, sizeof(properties)); memset(&packetInfo, 0x0, sizeof(packetInfo)); properties.outgoingUserPropSize = 1; - properties.outgoingUserProperty = userProperty; - properties.incomingUserProperty = userProperty2; + properties.pOutgoingUserProperty = userProperty; + properties.pIncomingUserProperty = userProperty2; MQTTStatus_t status; uint8_t buffer[600] = {0}; @@ -2097,8 +2097,8 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty(void) status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); TEST_ASSERT_EQUAL(1, properties.incomingUserPropSize); - TEST_ASSERT_EQUAL(3, (properties.incomingUserProperty->valueLength)); - TEST_ASSERT_EQUAL(2, (properties.incomingUserProperty->keyLength)); + TEST_ASSERT_EQUAL(3, (properties.pIncomingUserProperty->valueLength)); + TEST_ASSERT_EQUAL(2, (properties.pIncomingUserProperty->keyLength)); /*Invalid property length*/ packetInfo.remainingLength = 5; @@ -2185,7 +2185,7 @@ void test_MQTTV5_DeserializeConnackOnlyServerRef(void) status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); TEST_ASSERT_EQUAL(2, properties.serverRefLength); - TEST_ASSERT_EQUAL(pIndexLocal, properties.serverRef + 2); + TEST_ASSERT_EQUAL(pIndexLocal, properties.pServerRef + 2); /*Protocol error to include the same property twice*/ pIndexLocal = &buffer[2]; @@ -2237,8 +2237,8 @@ void test_MQTTV5_DeserializeConnackOnlyAuthMethod(void) MQTTStatus_t status; memset(&properties, 0x0, sizeof(properties)); memset(&packetInfo, 0x0, sizeof(packetInfo)); - properties.incomingAuth = &auth; - properties.outgoingAuth = &auth1; + properties.pIncomingAuth = &auth; + properties.pOutgoingAuth = &auth1; uint8_t buffer[200] = {0}; uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; @@ -2258,15 +2258,15 @@ void test_MQTTV5_DeserializeConnackOnlyAuthMethod(void) pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL(2, properties.incomingAuth->authMethodLength); + TEST_ASSERT_EQUAL(2, properties.pIncomingAuth->authMethodLength); /*Outgoing auth is null*/ - properties.outgoingAuth = NULL; + properties.pOutgoingAuth = NULL; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); /*Protocol error to include auth method more than once*/ - properties.outgoingAuth = &auth; + properties.pOutgoingAuth = &auth; packetInfo.remainingLength = 13; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 10); @@ -2316,8 +2316,8 @@ void test_MQTTV5_DeserializeConnackOnlyAuthData(void) MQTTStatus_t status; memset(&properties, 0x0, sizeof(properties)); memset(&packetInfo, 0x0, sizeof(packetInfo)); - properties.incomingAuth = &auth; - properties.outgoingAuth = &auth1; + properties.pIncomingAuth = &auth; + properties.pOutgoingAuth = &auth1; uint8_t buffer[200] = {0}; uint8_t *pIndexLocal = buffer; buffer[0] = 0x01; @@ -2337,15 +2337,15 @@ void test_MQTTV5_DeserializeConnackOnlyAuthData(void) pIndexLocal = &pIndexLocal[dummy]; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL(2, properties.incomingAuth->authDataLength); + TEST_ASSERT_EQUAL(2, properties.pIncomingAuth->authDataLength); /*Outgoing auth is null*/ - properties.outgoingAuth = NULL; + properties.pOutgoingAuth = NULL; status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); /*Protocol error to include auth method more than once*/ - properties.outgoingAuth = &auth1; + properties.pOutgoingAuth = &auth1; packetInfo.remainingLength = 13; pIndexLocal = &buffer[2]; propertyLength = encodeRemainingLength(pIndexLocal, 10); @@ -2546,7 +2546,7 @@ void test_MQTTV5_GetConnectPacketSize(void) status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); - properties.outgoingUserProperty = &userProperty; + properties.pOutgoingUserProperty = &userProperty; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); @@ -2558,14 +2558,14 @@ void test_MQTTV5_GetConnectPacketSize(void) status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); - userProperty.value = "1"; + userProperty.pValue = "1"; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); - userProperty.key = "2"; + userProperty.pKey = "2"; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - userProperty.value = NULL; + userProperty.pValue = NULL; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); @@ -2594,7 +2594,7 @@ void test_MQTTV5_GetConnectPacketSize(void) /* More than 1 user property*/ MQTTUserProperty_t user [1]; memset(&user, 0x0, sizeof(user)); - properties.outgoingUserProperty =user; + properties.pOutgoingUserProperty =user; properties.outgoingUserPropSize = 2; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); @@ -2603,17 +2603,17 @@ void test_MQTTV5_GetConnectPacketSize(void) * Incoming AuthInfo not intialized. */ properties.outgoingUserPropSize = 1; - properties.outgoingUserProperty = &userProperty; + properties.pOutgoingUserProperty = &userProperty; MQTTAuthInfo_t auth; memset(&auth, 0x0, sizeof(auth)); - properties.outgoingAuth = &auth; + properties.pOutgoingAuth = &auth; auth.authDataLength = 1; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); MQTTAuthInfo_t auth2; memset(&auth2, 0x0, sizeof(auth2)); - properties.incomingAuth = &auth2; + properties.pIncomingAuth = &auth2; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); @@ -2625,7 +2625,7 @@ void test_MQTTV5_GetConnectPacketSize(void) /* * Protocol Error to include Authentication Data if there is no Authentication Method */ - auth.authData = "1"; + auth.pAuthData = "1"; auth.authDataLength = 1; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); @@ -2634,12 +2634,12 @@ void test_MQTTV5_GetConnectPacketSize(void) status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); - auth.authMethod = "234"; + auth.pAuthMethod = "234"; auth.authDataLength = 0; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); - auth.authData = NULL; + auth.pAuthData = NULL; auth.authDataLength = 1; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); @@ -2656,10 +2656,10 @@ void test_MQTTV5_GetConnectPacketSize(void) memset(&userProperty, 0x0, sizeof(userProperty)); userProperty.keyLength = 3; userProperty.valueLength = 1; - userProperty.value = "1"; - userProperty.key = "211"; + userProperty.pValue = "1"; + userProperty.pKey = "211"; properties.outgoingUserPropSize = 1; - properties.outgoingUserProperty = &userProperty; + properties.pOutgoingUserProperty = &userProperty; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTSuccess, status); @@ -2694,7 +2694,7 @@ void test_MQTTV5_GetConnectPacketSize(void) status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); - willInfo.contentType = "ab"; + willInfo.pContentType = "ab"; status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTSuccess, status); TEST_ASSERT_EQUAL_size_t(17, willInfo.propertyLength); @@ -2703,7 +2703,7 @@ void test_MQTTV5_GetConnectPacketSize(void) status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); - willInfo.responseTopic = "ab"; + willInfo.pResponseTopic = "ab"; status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTSuccess, status); TEST_ASSERT_EQUAL_size_t(22, willInfo.propertyLength); @@ -2712,21 +2712,21 @@ void test_MQTTV5_GetConnectPacketSize(void) status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); - willInfo.correlationData = "ab"; + willInfo.pCorrelationData = "ab"; status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTSuccess, status); TEST_ASSERT_EQUAL_size_t(27, willInfo.propertyLength); MQTTUserProperty_t userProperty1[2]; - userProperty1[0].key = "2"; + userProperty1[0].pKey = "2"; userProperty1[0].keyLength = 1; userProperty1[0].valueLength = 3; - userProperty1[0].value = "abc"; - userProperty1[1].key = "2"; + userProperty1[0].pValue = "abc"; + userProperty1[1].pKey = "2"; userProperty1[1].keyLength = 1; userProperty1[1].valueLength = 2; - userProperty1[1].value = "ab"; - willInfo.userProperty = userProperty1; + userProperty1[1].pValue = "ab"; + willInfo.pUserProperty = userProperty1; willInfo.userPropertySize = 2; status = MQTT_GetWillPropertiesSize(&willInfo); TEST_ASSERT_EQUAL(MQTTSuccess, status); @@ -2738,11 +2738,11 @@ void test_MQTTV5_GetConnectPacketSize(void) willInfo.msgExpiryPresent = 1; willInfo.msgExpiryInterval = 10; willInfo.contentTypeLength = 2; - willInfo.contentType = "ab"; + willInfo.pContentType = "ab"; willInfo.responseTopicLength = 2; - willInfo.responseTopic = "ab"; + willInfo.pResponseTopic = "ab"; willInfo.correlationLength = 2; - willInfo.correlationData = "ab"; + willInfo.pCorrelationData = "ab"; willInfo.willDelay = 3; // 34 + 12 + 29 status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); @@ -2759,7 +2759,7 @@ void test_MQTTV5_GetConnectPacketSize(void) properties.reqProbInfo = 1; MQTTUserProperty_t userPropArr[3500]; properties.outgoingUserPropSize = 2078; - properties.outgoingUserProperty = userPropArr; + properties.pOutgoingUserProperty = userPropArr; uint16_t i = 0; char str[65535]; memset(str, '.', 65535 * sizeof(char)); @@ -2767,8 +2767,8 @@ void test_MQTTV5_GetConnectPacketSize(void) for (; i < 3500; i++) { userPropArr[i].keyLength = UINT16_MAX; - userPropArr[i].key = str; - userPropArr[i].value = str; + userPropArr[i].pKey = str; + userPropArr[i].pValue = str; userPropArr[i].valueLength = UINT16_MAX; } @@ -2777,7 +2777,7 @@ void test_MQTTV5_GetConnectPacketSize(void) properties.outgoingUserPropSize = 0; willInfo.userPropertySize = 2048; - willInfo.userProperty = userPropArr; + willInfo.pUserProperty = userPropArr; status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTBadParameter, status); @@ -2943,18 +2943,18 @@ void test_MQTTV5_SerializeConnect(void) MQTTAuthInfo_t auth; memset(&userProperty, 0x0, sizeof(userProperty)); memset(&auth, 0x0, sizeof(auth)); - auth.authMethod = "ab"; + auth.pAuthMethod = "ab"; auth.authMethodLength = 2; - auth.authData = "abc"; + auth.pAuthData = "abc"; auth.authDataLength = 3; userProperty.keyLength = 3; userProperty.valueLength = 1; - userProperty.value = "1"; - userProperty.key = "211"; + userProperty.pValue = "1"; + userProperty.pKey = "211"; properties.outgoingUserPropSize = 1; - properties.outgoingUserProperty = &userProperty; - properties.outgoingAuth = &auth; - properties.incomingAuth = &auth; + properties.pOutgoingUserProperty = &userProperty; + properties.pOutgoingAuth = &auth; + properties.pIncomingAuth = &auth; // 29 status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTSuccess, status); @@ -2977,7 +2977,7 @@ void test_MQTTV5_SerializeConnect(void) TEST_ASSERT_EQUAL(MQTTSuccess, status); checkBufferOverflow(buffer, sizeof(buffer)); - properties.outgoingAuth = NULL; + properties.pOutgoingAuth = NULL; status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTSuccess, status); TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); @@ -2995,14 +2995,14 @@ void test_MQTTV5_SerializeConnect(void) willInfo.msgExpiryPresent = 1; willInfo.msgExpiryInterval = 10; willInfo.contentTypeLength = 2; - willInfo.contentType = "ab"; + willInfo.pContentType = "ab"; willInfo.responseTopicLength = 2; - willInfo.responseTopic = "ab"; + willInfo.pResponseTopic = "ab"; willInfo.correlationLength = 2; - willInfo.correlationData = "ab"; + willInfo.pCorrelationData = "ab"; willInfo.willDelay = 3; willInfo.userPropertySize = 1; - willInfo.userProperty = &userProperty; + willInfo.pUserProperty = &userProperty; // 27 status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); TEST_ASSERT_EQUAL(MQTTSuccess, status); @@ -3042,11 +3042,11 @@ void test_MQTTV5_SerializeConnect_Happy_Paths() willInfo.msgExpiryPresent = 1; willInfo.msgExpiryInterval = 10; willInfo.contentTypeLength = 2; - willInfo.contentType = "ab"; + willInfo.pContentType = "ab"; willInfo.responseTopicLength = 2; - willInfo.responseTopic = "ab"; + willInfo.pResponseTopic = "ab"; willInfo.correlationLength = 2; - willInfo.correlationData = "ab"; + willInfo.pCorrelationData = "ab"; willInfo.willDelay = 3; /* Fill structs to pass into methods to be tested. */ setupNetworkBuffer(&networkBuffer); @@ -3156,11 +3156,11 @@ void test_WillLimit(void) willInfo.msgExpiryPresent = 1; willInfo.msgExpiryInterval = 10; willInfo.contentTypeLength = 2; - willInfo.contentType = "ab"; + willInfo.pContentType = "ab"; willInfo.responseTopicLength = 2; - willInfo.responseTopic = "ab"; + willInfo.pResponseTopic = "ab"; willInfo.correlationLength = 2; - willInfo.correlationData = "ab"; + willInfo.pCorrelationData = "ab"; willInfo.willDelay = 3; MQTTUserProperty_t userPropArr[3500]; uint16_t i = 0; @@ -3170,12 +3170,12 @@ void test_WillLimit(void) for (; i < 3500; i++) { userPropArr[i].keyLength = UINT16_MAX; - userPropArr[i].key = str; - userPropArr[i].value = str; + userPropArr[i].pKey = str; + userPropArr[i].pValue = str; userPropArr[i].valueLength = UINT16_MAX; } - willInfo.userProperty = userPropArr; + willInfo.pUserProperty = userPropArr; willInfo.userPropertySize = 2048; status = MQTT_GetWillPropertiesSize(&willInfo); TEST_ASSERT_EQUAL(MQTTBadParameter, status); diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index b2a84973f..07104d3a7 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -443,13 +443,13 @@ void test_MQTT_Connect_happy_path() memset(&authInfo,0x0,sizeof(authInfo)); memset(&authInfo2,0x0,sizeof(authInfo2)); memset(&userProperty,0x0,sizeof(userProperty)); - userProperty.key = "ab"; - userProperty.value = "ab"; + userProperty.pKey = "ab"; + userProperty.pValue = "ab"; userProperty.keyLength = 2; userProperty.valueLength = 2; - authInfo.authMethod= "2"; + authInfo.pAuthMethod= "2"; authInfo.authMethodLength = 1; - authInfo.authData ="ab"; + authInfo.pAuthData ="ab"; authInfo.authDataLength = 2; setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); @@ -470,9 +470,9 @@ void test_MQTT_Connect_happy_path() properties.reqProbInfo= 0; properties.reqResInfo = 1; properties.outgoingUserPropSize = 1; - properties.outgoingUserProperty = &userProperty; - properties.outgoingAuth= &authInfo; - properties.incomingAuth = &authInfo2; + properties.pOutgoingUserProperty = &userProperty; + properties.pOutgoingAuth= &authInfo; + properties.pIncomingAuth = &authInfo2; willInfo.pTopicName = "test"; willInfo.topicNameLength = 4; @@ -484,14 +484,14 @@ void test_MQTT_Connect_happy_path() willInfo.msgExpiryPresent = 1; willInfo.msgExpiryInterval = 10; willInfo.contentTypeLength = 2; - willInfo.contentType = "ab"; + willInfo.pContentType = "ab"; willInfo.responseTopicLength = 2; - willInfo.responseTopic = "ab"; + willInfo.pResponseTopic = "ab"; willInfo.correlationLength = 2; - willInfo.correlationData = "ab"; + willInfo.pCorrelationData = "ab"; willInfo.willDelay = 3; willInfo.userPropertySize = 1; - willInfo.userProperty=&userProperty; + willInfo.pUserProperty=&userProperty; connectInfo.pUserName ="hdhf"; connectInfo.userNameLength =3; connectInfo.passwordLength =4; @@ -502,7 +502,7 @@ void test_MQTT_Connect_happy_path() MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTRecvFailed ); - status = MQTT_Connect( &mqttContext, &connectInfo, &willInfo, timeout, &sessionPresent ); + status = MQTT_Connect( &mqttContext, &connectInfo, NULL, timeout, &sessionPresent ); TEST_ASSERT_EQUAL_INT( MQTTRecvFailed, status ); properties.outgoingUserPropSize =0; @@ -513,7 +513,7 @@ void test_MQTT_Connect_happy_path() MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTRecvFailed ); status = MQTT_Connect( &mqttContext, &connectInfo, &willInfo, timeout, &sessionPresent ); TEST_ASSERT_EQUAL_INT( MQTTRecvFailed, status ); - properties.outgoingAuth->authDataLength = 0; + properties.pOutgoingAuth->authDataLength = 0; MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); @@ -522,7 +522,7 @@ void test_MQTT_Connect_happy_path() status = MQTT_Connect( &mqttContext, &connectInfo, &willInfo, timeout, &sessionPresent ); TEST_ASSERT_EQUAL_INT( MQTTRecvFailed, status ); - properties.outgoingAuth = NULL; + properties.pOutgoingAuth = NULL; willInfo.contentTypeLength = 0; willInfo.responseTopicLength = 0; willInfo.correlationLength = 0; From 27b82fd483bc314a57904bacceacedc8bb7eb4a4 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Mon, 24 Jun 2024 19:40:36 +0000 Subject: [PATCH 31/82] MQTTV5 connect and connack --- source/core_mqtt.c | 2 + source/core_mqtt_serializer.c | 154 ++++++++++++++++++---------------- 2 files changed, 85 insertions(+), 71 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 54752d5e9..cdd896fce 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -723,6 +723,7 @@ static size_t sendWillProperties(const MQTTPublishInfo_t* pWillInfo, WillVector_ } } + *vectorIterator = iterator; return ioVectorLength; } @@ -790,6 +791,7 @@ static size_t sendConnectProperties(const MQTTConnectProperties_t* pConnectPrope } } + *vectorIterator = iterator; return ioVectorLength; } #endif diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 1692f975e..390a0810e 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -617,6 +617,18 @@ static void serializeConnectPacketV5(const MQTTConnectInfo_t *pConnectInfo, size_t remainingLength, const MQTTFixedBuffer_t *pFixedBuffer); + +static MQTTStatus_t decodeuint32_t(uint32_t *property,size_t * propertyLength, bool * used, uint8_t** index); + +static MQTTStatus_t decodeuint16_t(uint16_t *property,size_t * propertyLength, bool * used, uint8_t** index); + +static MQTTStatus_t decodeuint8_t(uint8_t *property,size_t * propertyLength, bool * used, uint8_t** index); + +static MQTTStatus_t decodeutf_8(const char ** property,uint16_t *length,size_t * propertyLength, bool * used, uint8_t** index); + +static MQTTStatus_t decodeutf_8pair(MQTTUserProperty_t* userProperty,size_t * propertyLength, uint8_t** index); + +static MQTTStatus_t deserializeConnackV5(MQTTConnectProperties_t *pConnackProperties, size_t propertyLength,uint8_t ** index); /*-----------------------------------------------------------*/ MQTTStatus_t MQTTV5_GetConnectPacketSize(const MQTTConnectInfo_t *pConnectInfo, @@ -773,7 +785,7 @@ uint8_t *MQTT_SerializePublishProperties(const MQTTPublishInfo_t *pPublishInfo, /*-----------------------------------------------------------*/ -static MQTTStatus_t MQTT_GetUserPropertySize(const MQTTUserProperty_t *pUserProperty, uint32_t number, size_t *size) +static MQTTStatus_t MQTT_GetUserPropertySize(const MQTTUserProperty_t *pUserProperty, uint32_t number, size_t *pSize) { MQTTStatus_t status = MQTTSuccess; uint32_t i = 0; @@ -797,40 +809,40 @@ static MQTTStatus_t MQTT_GetUserPropertySize(const MQTTUserProperty_t *pUserProp } else { - *size += (pUserProperty[i].keyLength); - *size += 3U; - *size += (pUserProperty[i].valueLength); - *size += 2U; + *pSize += (pUserProperty[i].keyLength); + *pSize += 3U; + *pSize += (pUserProperty[i].valueLength); + *pSize += 2U; } } } return status; } -static MQTTStatus_t MQTT_GetAuthInfoSize(const MQTTAuthInfo_t *authInfo,size_t *propertyLength){ +static MQTTStatus_t MQTT_GetAuthInfoSize(const MQTTAuthInfo_t *pAuthInfo,size_t *pPropertyLength){ MQTTStatus_t status= MQTTSuccess; - if ((authInfo->authMethodLength == 0U) && (authInfo->authDataLength != 0U)) + if ((pAuthInfo->authMethodLength == 0U) && (pAuthInfo->authDataLength != 0U)) { status = MQTTBadParameter; } - else if ((authInfo->authMethodLength != 0U) && (authInfo->pAuthMethod == NULL)) + else if ((pAuthInfo->authMethodLength != 0U) && (pAuthInfo->pAuthMethod == NULL)) { status = MQTTBadParameter; } - else if ((authInfo->authDataLength != 0U) && (authInfo->pAuthData == NULL)) + else if ((pAuthInfo->authDataLength != 0U) && (pAuthInfo->pAuthData == NULL)) { status = MQTTBadParameter; } else { - if (authInfo->authMethodLength != 0U) + if (pAuthInfo->authMethodLength != 0U) { - propertyLength += authInfo->authMethodLength; - propertyLength += 3U; - if (authInfo->authDataLength != 0U) + pPropertyLength += pAuthInfo->authMethodLength; + pPropertyLength += 3U; + if (pAuthInfo->authDataLength != 0U) { - propertyLength += authInfo->authDataLength; - propertyLength += 3U; + pPropertyLength += pAuthInfo->authDataLength; + pPropertyLength += 3U; } } } @@ -1353,7 +1365,7 @@ static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t *pIncomingPacke return status; } -static MQTTStatus_t decodeVariableLength(const uint8_t *pBuffer, size_t *length) +static MQTTStatus_t decodeVariableLength(const uint8_t *pBuffer, size_t *pLength) { size_t remainingLength = 0; size_t multiplier = 1; @@ -1403,91 +1415,91 @@ static MQTTStatus_t decodeVariableLength(const uint8_t *pBuffer, size_t *length) } else { - *length = remainingLength; + *pLength = remainingLength; } } return status; } -static MQTTStatus_t decodeuint32_t(uint32_t *property,size_t * propertyLength, bool * used, uint8_t** index){ - uint8_t * pVariableHeader = *index; +static MQTTStatus_t decodeuint32_t(uint32_t *pProperty,size_t * pPropertyLength, bool * pUsed, uint8_t** pIndex){ + uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; - if (*used == true) + if (*pUsed == true) { status = MQTTProtocolError; } - else if (*propertyLength < 4U) + else if (*pPropertyLength < 4U) { status = MQTTMalformedPacket; } else { - *property = UINT32_DECODE(pVariableHeader); + *pProperty = UINT32_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint32_t)]; - *used = true; - *propertyLength -= 4U; + *pUsed = true; + *pPropertyLength -= 4U; } - *index = pVariableHeader; + *pIndex = pVariableHeader; return status; } -static MQTTStatus_t decodeuint16_t(uint16_t *property,size_t * propertyLength, bool * used, uint8_t** index){ - uint8_t * pVariableHeader = *index; +static MQTTStatus_t decodeuint16_t(uint16_t *pProperty,size_t * pPropertyLength, bool * pUsed, uint8_t** pIndex){ + uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; - if (*used == true) + if (*pUsed == true) { status = MQTTProtocolError; } - else if (*propertyLength < 2U) + else if (*pPropertyLength < 2U) { status = MQTTMalformedPacket; } else { - *property = UINT16_DECODE(pVariableHeader); + *pProperty = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - *used = true; - *propertyLength -= 2U; + *pUsed = true; + *pPropertyLength -= 2U; } - *index = pVariableHeader; + *pIndex = pVariableHeader; return status; } -static MQTTStatus_t decodeuint8_t(uint8_t *property,size_t * propertyLength, bool * used, uint8_t** index){ - uint8_t * pVariableHeader = *index; +static MQTTStatus_t decodeuint8_t(uint8_t *pProperty,size_t * pPropertyLength, bool * pUsed, uint8_t** pIndex){ + uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; - if (*used == true) + if (*pUsed == true) { status = MQTTProtocolError; } - else if (*propertyLength < 1U) + else if (*pPropertyLength < 1U) { status = MQTTMalformedPacket; } else { - *property = *pVariableHeader; + *pProperty = *pVariableHeader; pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; - *used = true; - *propertyLength -= 1U; - if (*property > 1U) + *pUsed = true; + *pPropertyLength -= 1U; + if (*pProperty > 1U) { status = MQTTProtocolError; } } - *index = pVariableHeader; + *pIndex = pVariableHeader; return status; } -static MQTTStatus_t decodeutf_8(const char ** property,uint16_t *length,size_t * propertyLength, bool * used, uint8_t** index){ - uint8_t * pVariableHeader = *index; +static MQTTStatus_t decodeutf_8(const char ** pProperty,uint16_t *pLength,size_t * pPropertyLength, bool * pUsed, uint8_t** pIndex){ + uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess ; - if (*used == true) + if (*pUsed == true) { status = MQTTProtocolError; } - else if (*propertyLength < 2U) + else if (*pPropertyLength < 2U) { status = MQTTMalformedPacket; } @@ -1495,72 +1507,72 @@ static MQTTStatus_t decodeutf_8(const char ** property,uint16_t *length,size_t * { *length = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - *propertyLength -= 2U; - if (*propertyLength < *length) + *pPropertyLength -= 2U; + if (*pPropertyLength < *pLength) { status = MQTTMalformedPacket; } else { - *property = (const char *)pVariableHeader; + *pProperty = (const char *)pVariableHeader; pVariableHeader = &pVariableHeader[*length]; - *propertyLength -= *length; - *used = true; + *pPropertyLength -= *pLength; + *pUsed = true; } } - *index= pVariableHeader; + *pIndex= pVariableHeader; return status; } -static MQTTStatus_t decodeutf_8pair(MQTTUserProperty_t* userProperty,size_t * propertyLength, uint8_t** index){ - uint8_t * pVariableHeader = *index; +static MQTTStatus_t decodeutf_8pair(MQTTUserProperty_t* pUserProperty,size_t * pPropertyLength, uint8_t** pIndex){ + uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess ; - if (*propertyLength < 2U) + if (*pPropertyLength < 2U) { status = MQTTMalformedPacket; } else { - userProperty->keyLength = UINT16_DECODE(pVariableHeader); - *propertyLength -= 2U; - if (*propertyLength < userProperty->keyLength) + pUserProperty->keyLength = UINT16_DECODE(pVariableHeader); + *pPropertyLength -= 2U; + if (*pPropertyLength < pUserProperty->keyLength) { status = MQTTMalformedPacket; } else { pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - userProperty->pKey = (const char *)pVariableHeader; - *propertyLength -= userProperty->keyLength; - pVariableHeader = &pVariableHeader[userProperty->keyLength]; - userProperty->valueLength = UINT16_DECODE(pVariableHeader); - if (*propertyLength < 2U) + pUserProperty->pKey = (const char *)pVariableHeader; + *pPropertyLength -= pUserProperty->keyLength; + pVariableHeader = &pVariableHeader[pUserProperty->keyLength]; + pUserProperty->valueLength = UINT16_DECODE(pVariableHeader); + if (*pPropertyLength < 2U) { status = MQTTMalformedPacket; } else { - *propertyLength -= 2U; - if (*propertyLength < (size_t)(userProperty->valueLength)) + *pPropertyLength -= 2U; + if (*pPropertyLength < (size_t)(pUserProperty->valueLength)) { status = MQTTMalformedPacket; } else { - userProperty->pValue = (const char *)pVariableHeader; - pVariableHeader = &pVariableHeader[userProperty->valueLength]; - *propertyLength -= userProperty->valueLength; + pUserProperty->pValue = (const char *)pVariableHeader; + pVariableHeader = &pVariableHeader[pUserProperty->valueLength]; + *pPropertyLength -= pUserProperty->valueLength; } } } } - *index = pVariableHeader; + *pIndex = pVariableHeader; return status; } -static MQTTStatus_t deserializeConnackV5(MQTTConnectProperties_t *pConnackProperties, size_t propertyLength,uint8_t ** index){ +static MQTTStatus_t deserializeConnackV5(MQTTConnectProperties_t *pConnackProperties, size_t propertyLength,uint8_t ** pIndex){ MQTTStatus_t status = MQTTSuccess; - uint8_t * pVariableHeader = *index; + uint8_t * pVariableHeader = *pIndex; bool sessionExpiry = false; bool serverReceiveMax = false; bool maxQos = false; From f139ce7414d2d53cc0b3dfb8403e4d860b3ba3d4 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 25 Jun 2024 05:25:48 +0000 Subject: [PATCH 32/82] MQTTV5 Connect and Connack --- source/core_mqtt.c | 98 +++++++++++++++++++++++------------ source/core_mqtt_serializer.c | 84 ++++++++++++++++-------------- 2 files changed, 109 insertions(+), 73 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index cdd896fce..7b9610d90 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -606,7 +606,35 @@ static size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_ uint16_t length, TransportOutVector_t *iterator, size_t *updatedLength, const uint8_t* packetId); +/** + * @brief Serialize the variable length will properties. + * + * @param[in] pWillInfo Properties to serialize + * @param[in] willVector vectors used to encode. + * @param[in] pTotalMessageLength The iterator pointing to the first element in the + * transport interface IO array. + * @param[out] pVectorIterator This parameter will be added to with the number of + * bytes added to the vector. + * + * @return The number of vectors added. + */ +static size_t sendWillProperties(const MQTTPublishInfo_t* pWillInfo, WillVector_t * pWillVector, size_t *pTotalMessageLength, TransportOutVector_t ** pVectorIterator); + +/** + * @brief Serialize the variable length connect properties. + * + * @param[in] pWillInfo Properties to serialize + * @param[in] willVector vectors used to encode. + * @param[in] pTotalMessageLength The iterator pointing to the first element in the + * transport interface IO array. + * @param[out] pVectorIterator This parameter will be added to with the number of + * bytes added to the vector. + * + * @return The number of vectors added. + */ + +static size_t sendConnectProperties(const MQTTConnectProperties_t* pConnectProperties, PropertiesVector_t * pPropertiesVector, size_t *pTotalMessageLength, TransportOutVector_t ** pVectorIterator); /*-----------------------------------------------------------*/ @@ -649,21 +677,22 @@ static size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_ } -static size_t sendWillProperties(const MQTTPublishInfo_t* pWillInfo, WillVector_t * willVector, size_t *totalMessageLength, TransportOutVector_t ** vectorIterator){ +static size_t sendWillProperties(const MQTTPublishInfo_t* pWillInfo, WillVector_t * pWillVector, size_t *pTotalMessageLength, TransportOutVector_t ** pVectorIterator){ size_t vectorsAdded= 0U; size_t ioVectorLength = 0U; - TransportOutVector_t * iterator = *vectorIterator; - willVector->contentTypeId= MQTT_CONTENT_TYPE_ID; - willVector->responseTopicId = MQTT_RESPONSE_TOPIC_ID; - willVector->correlationDataId = MQTT_CORRELATION_DATA_ID; - if (pWillInfo->contentTypeLength != 0U) + TransportOutVector_t * iterator = *pVectorIterator; + pWillVector->contentTypeId= MQTT_CONTENT_TYPE_ID; + pWillVector->responseTopicId = MQTT_RESPONSE_TOPIC_ID; + pWillVector->correlationDataId = MQTT_CORRELATION_DATA_ID; + /* Encode the content type if provided.*/ + if (pWillInfo->contentTypeLength != 0U) { /* Serialize the content type string. */ - vectorsAdded = addEncodedStringToVectorWithId(willVector->serializedContentTypeLength, + vectorsAdded = addEncodedStringToVectorWithId(pWillVector->serializedContentTypeLength, pWillInfo->pContentType, pWillInfo->contentTypeLength, iterator, - totalMessageLength, &willVector->contentTypeId); + pTotalMessageLength, &pWillVector->contentTypeId); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; @@ -672,11 +701,11 @@ static size_t sendWillProperties(const MQTTPublishInfo_t* pWillInfo, WillVector_ if (pWillInfo->responseTopicLength != 0U) { /* Serialize the response topic string. */ - vectorsAdded = addEncodedStringToVectorWithId(willVector->serializedResponseTopicLength, + vectorsAdded = addEncodedStringToVectorWithId(pWillVector->serializedResponseTopicLength, pWillInfo->pResponseTopic, pWillInfo->responseTopicLength, iterator, - totalMessageLength,&willVector->responseTopicId); + pTotalMessageLength,&pWillVector->responseTopicId); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; @@ -685,11 +714,11 @@ static size_t sendWillProperties(const MQTTPublishInfo_t* pWillInfo, WillVector_ if (pWillInfo->correlationLength != 0U) { /* Serialize the correlation data string. */ - vectorsAdded = addEncodedStringToVectorWithId(willVector->serailizedCorrelationLength, + vectorsAdded = addEncodedStringToVectorWithId(pWillVector->serailizedCorrelationLength, pWillInfo->pCorrelationData, pWillInfo->correlationLength, iterator, - totalMessageLength,&willVector->correlationDataId); + pTotalMessageLength,&pWillVector->correlationDataId); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; @@ -702,39 +731,39 @@ static size_t sendWillProperties(const MQTTPublishInfo_t* pWillInfo, WillVector_ const MQTTUserProperty_t* userProperty = pWillInfo->pUserProperty; for (; i < size; i++) { - willVector->willUserId[i]=MQTT_USER_PROPERTY_ID; - vectorsAdded = addEncodedStringToVectorWithId(willVector->serializedWillUserKeyLength[i], + pWillVector->willUserId[i]=MQTT_USER_PROPERTY_ID; + vectorsAdded = addEncodedStringToVectorWithId(pWillVector->serializedWillUserKeyLength[i], userProperty[i].pKey, userProperty[i].keyLength, iterator, - totalMessageLength, &willVector->willUserId[i]); + pTotalMessageLength, &pWillVector->willUserId[i]); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; - vectorsAdded = addEncodedStringToVector(willVector->serializedWillUserValueLength[i], + vectorsAdded = addEncodedStringToVector(pWillVector->serializedWillUserValueLength[i], userProperty[i].pValue, userProperty[i].valueLength, iterator, - totalMessageLength); + pTotalMessageLength); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; } } - *vectorIterator = iterator; + *pVectorIterator = iterator; return ioVectorLength; } -static size_t sendConnectProperties(const MQTTConnectProperties_t* pConnectProperties, PropertiesVector_t * propertiesVector, size_t *totalMessageLength, TransportOutVector_t ** vectorIterator){ +static size_t sendConnectProperties(const MQTTConnectProperties_t* pConnectProperties, PropertiesVector_t * pPropertiesVector, size_t *pTotalMessageLength, TransportOutVector_t ** pVectorIterator){ size_t vectorsAdded= 0U; size_t ioVectorLength = 0U; - TransportOutVector_t *iterator = *vectorIterator; - propertiesVector->authMethodId = MQTT_AUTH_METHOD_ID; - propertiesVector->authDataId = MQTT_AUTH_DATA_ID; - + TransportOutVector_t *iterator = *pVectorIterator; + pPropertiesVector->authMethodId = MQTT_AUTH_METHOD_ID; + pPropertiesVector->authDataId = MQTT_AUTH_DATA_ID; + /*Encode the user properties if provided.*/ if (pConnectProperties->outgoingUserPropSize != 0U) { uint32_t i = 0; @@ -742,36 +771,37 @@ static size_t sendConnectProperties(const MQTTConnectProperties_t* pConnectPrope const MQTTUserProperty_t *userProperty = pConnectProperties->pOutgoingUserProperty; for (; i < size; i++) { - propertiesVector->userId[i]=MQTT_USER_PROPERTY_ID; + pPropertiesVector->userId[i]=MQTT_USER_PROPERTY_ID; /* Serialize the user key string. */ - vectorsAdded = addEncodedStringToVectorWithId(propertiesVector->serializedUserKeyLength[i], + vectorsAdded = addEncodedStringToVectorWithId(pPropertiesVector->serializedUserKeyLength[i], userProperty[i].pKey, userProperty[i].keyLength, iterator, - totalMessageLength,&(propertiesVector->userId[i])); + pTotalMessageLength,&(pPropertiesVector->userId[i])); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; /* Serialize the user value string. */ - vectorsAdded = addEncodedStringToVector(propertiesVector->serializedUserValueLength[i], + vectorsAdded = addEncodedStringToVector(pPropertiesVector->serializedUserValueLength[i], userProperty[i].pValue, userProperty[i].valueLength, iterator, - totalMessageLength); + pTotalMessageLength); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; ioVectorLength += vectorsAdded; } } - /*Encodethe authentication method and data if provided*/ + + /*Encode the authentication method and data if provided*/ if (pConnectProperties->pOutgoingAuth != NULL) { /* Serialize the authentication method string. */ - vectorsAdded = addEncodedStringToVectorWithId(propertiesVector->serializedAuthMethodLength, + vectorsAdded = addEncodedStringToVectorWithId(pPropertiesVector->serializedAuthMethodLength, pConnectProperties->pOutgoingAuth->pAuthMethod, pConnectProperties->pOutgoingAuth->authMethodLength, iterator, - totalMessageLength, &(propertiesVector->authMethodId)); + pTotalMessageLength, &(pPropertiesVector->authMethodId)); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; @@ -779,11 +809,11 @@ static size_t sendConnectProperties(const MQTTConnectProperties_t* pConnectPrope if (pConnectProperties->pOutgoingAuth->authDataLength != 0U) { /* Serialize the authentication data string. */ - vectorsAdded = addEncodedStringToVectorWithId(propertiesVector->serializedAuthDataLength, + vectorsAdded = addEncodedStringToVectorWithId(pPropertiesVector->serializedAuthDataLength, pConnectProperties->pOutgoingAuth->pAuthData, pConnectProperties->pOutgoingAuth->authDataLength, iterator, - totalMessageLength, &(propertiesVector->authDataId)); + pTotalMessageLength, &(pPropertiesVector->authDataId)); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[vectorsAdded]; @@ -791,7 +821,7 @@ static size_t sendConnectProperties(const MQTTConnectProperties_t* pConnectPrope } } - *vectorIterator = iterator; + *pVectorIterator = iterator; return ioVectorLength; } #endif diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 390a0810e..a15aa3186 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -1429,7 +1429,7 @@ static MQTTStatus_t decodeuint32_t(uint32_t *pProperty,size_t * pPropertyLength, { status = MQTTProtocolError; } - else if (*pPropertyLength < 4U) + else if (*pPropertyLength < sizeof(uint32_t)) { status = MQTTMalformedPacket; } @@ -1438,7 +1438,7 @@ static MQTTStatus_t decodeuint32_t(uint32_t *pProperty,size_t * pPropertyLength, *pProperty = UINT32_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint32_t)]; *pUsed = true; - *pPropertyLength -= 4U; + *pPropertyLength -= sizeof(uint32_t); } *pIndex = pVariableHeader; return status; @@ -1451,7 +1451,7 @@ static MQTTStatus_t decodeuint16_t(uint16_t *pProperty,size_t * pPropertyLength, { status = MQTTProtocolError; } - else if (*pPropertyLength < 2U) + else if (*pPropertyLength < sizeof(uint16_t)) { status = MQTTMalformedPacket; } @@ -1460,7 +1460,7 @@ static MQTTStatus_t decodeuint16_t(uint16_t *pProperty,size_t * pPropertyLength, *pProperty = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; *pUsed = true; - *pPropertyLength -= 2U; + *pPropertyLength -= sizeof(uint16_t); } *pIndex = pVariableHeader; return status; @@ -1473,7 +1473,7 @@ static MQTTStatus_t decodeuint8_t(uint8_t *pProperty,size_t * pPropertyLength, b { status = MQTTProtocolError; } - else if (*pPropertyLength < 1U) + else if (*pPropertyLength < sizeof(uint8_t)) { status = MQTTMalformedPacket; } @@ -1482,7 +1482,7 @@ static MQTTStatus_t decodeuint8_t(uint8_t *pProperty,size_t * pPropertyLength, b *pProperty = *pVariableHeader; pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; *pUsed = true; - *pPropertyLength -= 1U; + *pPropertyLength -= sizeof(uint8_t); if (*pProperty > 1U) { status = MQTTProtocolError; @@ -1499,15 +1499,15 @@ static MQTTStatus_t decodeutf_8(const char ** pProperty,uint16_t *pLength,size_t { status = MQTTProtocolError; } - else if (*pPropertyLength < 2U) + else if (*pPropertyLength < sizeof(uint16_t)) { status = MQTTMalformedPacket; } else { - *length = UINT16_DECODE(pVariableHeader); + *pLength = UINT16_DECODE(pVariableHeader); pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - *pPropertyLength -= 2U; + *pPropertyLength -= sizeof(uint16_t); if (*pPropertyLength < *pLength) { status = MQTTMalformedPacket; @@ -1515,7 +1515,7 @@ static MQTTStatus_t decodeutf_8(const char ** pProperty,uint16_t *pLength,size_t else { *pProperty = (const char *)pVariableHeader; - pVariableHeader = &pVariableHeader[*length]; + pVariableHeader = &pVariableHeader[*pLength]; *pPropertyLength -= *pLength; *pUsed = true; } @@ -1527,14 +1527,14 @@ static MQTTStatus_t decodeutf_8(const char ** pProperty,uint16_t *pLength,size_t static MQTTStatus_t decodeutf_8pair(MQTTUserProperty_t* pUserProperty,size_t * pPropertyLength, uint8_t** pIndex){ uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess ; - if (*pPropertyLength < 2U) + if (*pPropertyLength < sizeof(uint16_t)) { status = MQTTMalformedPacket; } else { pUserProperty->keyLength = UINT16_DECODE(pVariableHeader); - *pPropertyLength -= 2U; + *pPropertyLength -= sizeof(uint16_t); if (*pPropertyLength < pUserProperty->keyLength) { status = MQTTMalformedPacket; @@ -1546,13 +1546,13 @@ static MQTTStatus_t decodeutf_8pair(MQTTUserProperty_t* pUserProperty,size_t * p *pPropertyLength -= pUserProperty->keyLength; pVariableHeader = &pVariableHeader[pUserProperty->keyLength]; pUserProperty->valueLength = UINT16_DECODE(pVariableHeader); - if (*pPropertyLength < 2U) + if (*pPropertyLength < sizeof(uint16_t)) { status = MQTTMalformedPacket; } else { - *pPropertyLength -= 2U; + *pPropertyLength -= sizeof(uint16_t); if (*pPropertyLength < (size_t)(pUserProperty->valueLength)) { status = MQTTMalformedPacket; @@ -1605,7 +1605,7 @@ static MQTTStatus_t deserializeConnackV5(MQTTConnectProperties_t *pConnackProper status= decodeuint16_t(&pConnackProperties->serverReceiveMax,&propertyLength,&serverReceiveMax,&pVariableHeader); if(pConnackProperties->serverReceiveMax == 0U) { - status = MQTTProtocolError; + status = MQTTProtocolError; } break; case MQTT_MAX_QOS_ID: @@ -1616,10 +1616,10 @@ static MQTTStatus_t deserializeConnackV5(MQTTConnectProperties_t *pConnackProper break; case MQTT_MAX_PACKET_SIZE_ID: status = decodeuint32_t(&pConnackProperties->serverMaxPacketSize,&propertyLength,&maxPacket,&pVariableHeader); - if ((pConnackProperties->serverMaxPacketSize == 0U)) - { - status = MQTTProtocolError; - } + // if ((pConnackProperties->serverMaxPacketSize == 0U)) + // { + // status = MQTTProtocolError; + // } break; case MQTT_ASSIGNED_CLIENT_ID: status = decodeutf_8(&pConnackProperties->pClientIdentifier,&pConnackProperties->clientIdLength,&propertyLength,&clientId,&pVariableHeader); @@ -1648,35 +1648,35 @@ static MQTTStatus_t deserializeConnackV5(MQTTConnectProperties_t *pConnackProper status= decodeuint16_t(&pConnackProperties->serverKeepAlive,&propertyLength,&keepAlive,&pVariableHeader); break; case MQTT_RESPONSE_INFO_ID: - if (pConnackProperties->reqResInfo == false) - { - status = MQTTProtocolError; - } - else - { + // if (pConnackProperties->reqResInfo == false) + // { + // status = MQTTProtocolError; + // } + // else + // { status = decodeutf_8(&pConnackProperties->pResponseInfo,&pConnackProperties->responseInfoLength,&propertyLength,&responseInfo,&pVariableHeader); - } + // } break; case MQTT_SERVER_REF_ID: status = decodeutf_8(&pConnackProperties->pServerRef,&pConnackProperties->serverRefLength,&propertyLength,&serverRef,&pVariableHeader); break; case MQTT_AUTH_METHOD_ID: - if (pConnackProperties->pOutgoingAuth == NULL) - { - status = MQTTProtocolError; - } - else{ + // if (pConnackProperties->pOutgoingAuth == NULL) + // { + // status = MQTTProtocolError; + // } + // else{ status = decodeutf_8(&pConnackProperties->pIncomingAuth->pAuthMethod,&pConnackProperties->pIncomingAuth->authMethodLength ,&propertyLength,&authMethod,&pVariableHeader); - } + // } break; case MQTT_AUTH_DATA_ID: - if ((pConnackProperties->pOutgoingAuth == NULL)) - { - status = MQTTProtocolError; - } - else{ + // if ((pConnackProperties->pOutgoingAuth == NULL)) + // { + // status = MQTTProtocolError; + // } + // else{ status = decodeutf_8(&pConnackProperties->pIncomingAuth->pAuthData,&pConnackProperties->pIncomingAuth->authDataLength ,&propertyLength,&authData,&pVariableHeader); - } + // } break; default: status = MQTTProtocolError; @@ -1694,14 +1694,17 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t *pConnackProperti size_t propertyLength; size_t remainingLengthSize; uint8_t *pVariableHeader = NULL; + /*Validate the arguments*/ if (pConnackProperties == NULL) { status = MQTTBadParameter; } + if (status == MQTTSuccess) { status = validateConnackParams(pIncomingPacket, pSessionPresent); } + if (status == MQTTSuccess) { pVariableHeader = pIncomingPacket->pRemainingData; @@ -1709,19 +1712,22 @@ MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t *pConnackProperti remainingLengthSize = remainingLengthEncodedSize(pIncomingPacket->remainingLength); status = decodeVariableLength(pVariableHeader, &propertyLength); } - + /*Validate the packet size if max packet size is set*/ if ((status == MQTTSuccess) && (pConnackProperties->isMaxPacketSize == true) && ((pIncomingPacket->remainingLength + remainingLengthSize + 1U) > (pConnackProperties->maxPacketSize))) { status = MQTTProtocolError; } + /*Validate the remaining length*/ else if ((status == MQTTSuccess) && ((pIncomingPacket->remainingLength) != (2U + propertyLength + remainingLengthEncodedSize(propertyLength)))) { status = MQTTMalformedPacket; } + else if (status == MQTTSuccess) { status = deserializeConnackV5(pConnackProperties,propertyLength,&pVariableHeader); } + else { /* MISRA Empty body */ From 696a73af83d6809eaae7cfdedf1fc2597a76d217 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Tue, 25 Jun 2024 05:27:29 +0000 Subject: [PATCH 33/82] Uncrustify: triggered by comment. --- CTestTestfile.cmake | 6 +- DartConfiguration.tcl | 78 +- source/core_mqtt.c | 2854 ++++++------ source/core_mqtt_serializer.c | 3877 +++++++++-------- source/include/core_mqtt.h | 13 +- source/include/core_mqtt_config_defaults.h | 4 +- source/include/core_mqtt_serializer.h | 14 +- test/CMakeLists.txt | 2 +- test/unit-test/MQTTv5/cmock_opaque_types.h | 2 +- test/unit-test/MQTTv5/core_mqtt_config.h | 6 +- .../MQTTv5/core_mqttv5_serializer_utest.c | 2963 ++++++------- .../MQTTv5/core_mqttv5_state_utest.c | 1 - test/unit-test/MQTTv5/core_mqttv5_utest.c | 63 +- unit-test/MQTT/CTestTestfile.cmake | 6 +- unit-test/MQTTv5/CTestTestfile.cmake | 6 +- 15 files changed, 5077 insertions(+), 4818 deletions(-) diff --git a/CTestTestfile.cmake b/CTestTestfile.cmake index b967327da..2c629cab0 100644 --- a/CTestTestfile.cmake +++ b/CTestTestfile.cmake @@ -1,8 +1,8 @@ -# CMake generated Testfile for +# CMake generated Testfile for # Source directory: /home/ubuntu/coreMQTT/test # Build directory: /home/ubuntu/coreMQTT -# -# This file includes the relevant testing commands required for +# +# This file includes the relevant testing commands required for # testing this directory and lists subdirectories to be tested as well. subdirs("unit-test/MQTT") subdirs("unit-test/MQTTv5") diff --git a/DartConfiguration.tcl b/DartConfiguration.tcl index 20f1a9776..a77d8175a 100644 --- a/DartConfiguration.tcl +++ b/DartConfiguration.tcl @@ -8,7 +8,7 @@ SourceDirectory: /home/ubuntu/coreMQTT/test BuildDirectory: /home/ubuntu/coreMQTT # Where to place the cost data store -CostDataFile: +CostDataFile: # Site is something like machine.domain, i.e. pragmatic.crd Site: ip-172-31-80-220 @@ -17,11 +17,11 @@ Site: ip-172-31-80-220 BuildName: Linux-cc # Subprojects -LabelsForSubprojects: +LabelsForSubprojects: # Submission information SubmitURL: http:// -SubmitInactivityTimeout: +SubmitInactivityTimeout: # Dashboard start time NightlyStartTime: 00:00:00 EDT @@ -32,53 +32,53 @@ MakeCommand: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake --build . --co DefaultCTestConfigurationType: Release # version control -UpdateVersionOnly: +UpdateVersionOnly: # CVS options # Default is "-d -P -A" -CVSCommand: -CVSUpdateOptions: +CVSCommand: +CVSUpdateOptions: # Subversion options -SVNCommand: -SVNOptions: -SVNUpdateOptions: +SVNCommand: +SVNOptions: +SVNUpdateOptions: # Git options -GITCommand: -GITInitSubmodules: -GITUpdateOptions: -GITUpdateCustom: +GITCommand: +GITInitSubmodules: +GITUpdateOptions: +GITUpdateCustom: # Perforce options -P4Command: -P4Client: -P4Options: -P4UpdateOptions: -P4UpdateCustom: +P4Command: +P4Client: +P4Options: +P4UpdateOptions: +P4UpdateCustom: # Generic update command -UpdateCommand: -UpdateOptions: -UpdateType: +UpdateCommand: +UpdateOptions: +UpdateType: # Compiler info -Compiler: -CompilerVersion: +Compiler: +CompilerVersion: # Dynamic analysis (MemCheck) -PurifyCommand: -ValgrindCommand: -ValgrindCommandOptions: -DrMemoryCommand: -DrMemoryCommandOptions: -CudaSanitizerCommand: -CudaSanitizerCommandOptions: -MemoryCheckType: -MemoryCheckSanitizerOptions: +PurifyCommand: +ValgrindCommand: +ValgrindCommandOptions: +DrMemoryCommand: +DrMemoryCommandOptions: +CudaSanitizerCommand: +CudaSanitizerCommandOptions: +MemoryCheckType: +MemoryCheckSanitizerOptions: MemoryCheckCommand: MEMORYCHECK_COMMAND-NOTFOUND -MemoryCheckCommandOptions: -MemoryCheckSuppressionFile: +MemoryCheckCommandOptions: +MemoryCheckSuppressionFile: # Coverage CoverageCommand: /usr/bin/gcov @@ -93,13 +93,13 @@ TimeOut: 1500 # During parallel testing CTest will not start a new test if doing # so would cause the system load to exceed this value. -TestLoad: +TestLoad: -TLSVerify: -TLSVersion: +TLSVerify: +TLSVersion: -UseLaunchers: -CurlOptions: +UseLaunchers: +CurlOptions: # warning, if you add new options here that have to do with submit, # you have to update cmCTestSubmitCommand.cxx diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 7b9610d90..14baffb43 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -40,7 +40,7 @@ /** * @brief Hook called before a 'send' operation is executed. */ -#define MQTT_PRE_SEND_HOOK(pContext) + #define MQTT_PRE_SEND_HOOK( pContext ) #endif /* !MQTT_PRE_SEND_HOOK */ #ifndef MQTT_POST_SEND_HOOK @@ -48,7 +48,7 @@ /** * @brief Hook called after the 'send' operation is complete. */ -#define MQTT_POST_SEND_HOOK(pContext) + #define MQTT_POST_SEND_HOOK( pContext ) #endif /* !MQTT_POST_SEND_HOOK */ #ifndef MQTT_PRE_STATE_UPDATE_HOOK @@ -56,7 +56,7 @@ /** * @brief Hook called just before an update to the MQTT state is made. */ -#define MQTT_PRE_STATE_UPDATE_HOOK(pContext) + #define MQTT_PRE_STATE_UPDATE_HOOK( pContext ) #endif /* !MQTT_PRE_STATE_UPDATE_HOOK */ #ifndef MQTT_POST_STATE_UPDATE_HOOK @@ -65,7 +65,7 @@ * @brief Hook called just after an update to the MQTT state has * been made. */ -#define MQTT_POST_STATE_UPDATE_HOOK(pContext) + #define MQTT_POST_STATE_UPDATE_HOOK( pContext ) #endif /* !MQTT_POST_STATE_UPDATE_HOOK */ /** @@ -79,7 +79,7 @@ * subscribe request namely: * 1. Topic filter length; 2. Topic filter; and 3. QoS in this order. */ -#define CORE_MQTT_SUBSCRIBE_PER_TOPIC_VECTOR_LENGTH (3U) +#define CORE_MQTT_SUBSCRIBE_PER_TOPIC_VECTOR_LENGTH ( 3U ) /** * @brief Number of vectors required to encode one topic filter in an @@ -87,17 +87,17 @@ * unsubscribe request namely: * 1. Topic filter length; and 2. Topic filter in this order. */ -#define CORE_MQTT_UNSUBSCRIBE_PER_TOPIC_VECTOR_LENGTH (2U) +#define CORE_MQTT_UNSUBSCRIBE_PER_TOPIC_VECTOR_LENGTH ( 2U ) -#if (MQTT_VERSION_5_ENABLED) +#if ( MQTT_VERSION_5_ENABLED ) /*Connect and will packet id's*/ -#define MQTT_USER_PROPERTY_ID (0x26) -#define MQTT_AUTH_METHOD_ID (0x15) -#define MQTT_AUTH_DATA_ID (0x16) -#define MQTT_CONTENT_TYPE_ID (0x03) -#define MQTT_RESPONSE_TOPIC_ID (0x08) -#define MQTT_CORRELATION_DATA_ID (0x09) -#define CORE_MQTT_ID_SIZE (1U) + #define MQTT_USER_PROPERTY_ID ( 0x26 ) + #define MQTT_AUTH_METHOD_ID ( 0x15 ) + #define MQTT_AUTH_DATA_ID ( 0x16 ) + #define MQTT_CONTENT_TYPE_ID ( 0x03 ) + #define MQTT_RESPONSE_TOPIC_ID ( 0x08 ) + #define MQTT_CORRELATION_DATA_ID ( 0x09 ) + #define CORE_MQTT_ID_SIZE ( 1U ) #endif /*-----------------------------------------------------------*/ @@ -120,9 +120,9 @@ * * @return Total number of bytes sent, or negative value on network error. */ -static int32_t sendBuffer(MQTTContext_t *pContext, - const uint8_t *pBufferToSend, - size_t bytesToSend); +static int32_t sendBuffer( MQTTContext_t * pContext, + const uint8_t * pBufferToSend, + size_t bytesToSend ); /** * @brief Sends MQTT connect without copying the users data into any buffer. @@ -144,10 +144,10 @@ static int32_t sendBuffer(MQTTContext_t *pContext, * * @return #MQTTSendFailed or #MQTTSuccess. */ -static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, - const MQTTConnectInfo_t *pConnectInfo, - const MQTTPublishInfo_t *pWillInfo, - size_t remainingLength); +static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, + const MQTTConnectInfo_t * pConnectInfo, + const MQTTPublishInfo_t * pWillInfo, + size_t remainingLength ); /** * @brief Sends the vector array passed through the parameters over the network. @@ -172,9 +172,9 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, * @return The total number of bytes sent or the error code as received from the * transport interface. */ -static int32_t sendMessageVector(MQTTContext_t *pContext, - TransportOutVector_t *pIoVec, - size_t ioVecCount); +static int32_t sendMessageVector( MQTTContext_t * pContext, + TransportOutVector_t * pIoVec, + size_t ioVecCount ); /** * @brief Add a string and its length after serializing it in a manner outlined by @@ -209,11 +209,11 @@ static size_t addEncodedStringToVector( uint8_t serializedLength[ CORE_MQTT_SERI * * @return #MQTTSuccess or #MQTTSendFailed. */ -static MQTTStatus_t sendSubscribeWithoutCopy(MQTTContext_t *pContext, - const MQTTSubscribeInfo_t *pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength); +static MQTTStatus_t sendSubscribeWithoutCopy( MQTTContext_t * pContext, + const MQTTSubscribeInfo_t * pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength ); /** * @brief Send MQTT UNSUBSCRIBE message without copying the user data into a buffer and @@ -227,11 +227,11 @@ static MQTTStatus_t sendSubscribeWithoutCopy(MQTTContext_t *pContext, * * @return #MQTTSuccess or #MQTTSendFailed. */ -static MQTTStatus_t sendUnsubscribeWithoutCopy(MQTTContext_t *pContext, - const MQTTSubscribeInfo_t *pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength); +static MQTTStatus_t sendUnsubscribeWithoutCopy( MQTTContext_t * pContext, + const MQTTSubscribeInfo_t * pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength ); /** * @brief Calculate the interval between two millisecond timestamps, including @@ -246,8 +246,8 @@ static MQTTStatus_t sendUnsubscribeWithoutCopy(MQTTContext_t *pContext, * * @return later - start. */ -static uint32_t calculateElapsedTime(uint32_t later, - uint32_t start); +static uint32_t calculateElapsedTime( uint32_t later, + uint32_t start ); /** * @brief Convert a byte indicating a publish ack type to an #MQTTPubAckType_t. @@ -256,7 +256,7 @@ static uint32_t calculateElapsedTime(uint32_t later, * * @return Type of ack. */ -static MQTTPubAckType_t getAckFromPacketType(uint8_t packetType); +static MQTTPubAckType_t getAckFromPacketType( uint8_t packetType ); /** * @brief Receive bytes into the network buffer. @@ -276,8 +276,8 @@ static MQTTPubAckType_t getAckFromPacketType(uint8_t packetType); * * @return Number of bytes received, or negative number on network error. */ -static int32_t recvExact(const MQTTContext_t *pContext, - size_t bytesToRecv); +static int32_t recvExact( const MQTTContext_t * pContext, + size_t bytesToRecv ); /** * @brief Discard a packet from the transport interface. @@ -288,9 +288,9 @@ static int32_t recvExact(const MQTTContext_t *pContext, * * @return #MQTTRecvFailed or #MQTTNoDataAvailable. */ -static MQTTStatus_t discardPacket(const MQTTContext_t *pContext, - size_t remainingLength, - uint32_t timeoutMs); +static MQTTStatus_t discardPacket( const MQTTContext_t * pContext, + size_t remainingLength, + uint32_t timeoutMs ); /** * @brief Discard a packet from the MQTT buffer and the transport interface. @@ -300,8 +300,8 @@ static MQTTStatus_t discardPacket(const MQTTContext_t *pContext, * * @return #MQTTRecvFailed or #MQTTNoDataAvailable. */ -static MQTTStatus_t discardStoredPacket(MQTTContext_t *pContext, - const MQTTPacketInfo_t *pPacketInfo); +static MQTTStatus_t discardStoredPacket( MQTTContext_t * pContext, + const MQTTPacketInfo_t * pPacketInfo ); /** * @brief Receive a packet from the transport interface. @@ -312,9 +312,9 @@ static MQTTStatus_t discardStoredPacket(MQTTContext_t *pContext, * * @return #MQTTSuccess or #MQTTRecvFailed. */ -static MQTTStatus_t receivePacket(const MQTTContext_t *pContext, - MQTTPacketInfo_t incomingPacket, - uint32_t remainingTimeMs); +static MQTTStatus_t receivePacket( const MQTTContext_t * pContext, + MQTTPacketInfo_t incomingPacket, + uint32_t remainingTimeMs ); /** * @brief Get the correct ack type to send. @@ -324,7 +324,7 @@ static MQTTStatus_t receivePacket(const MQTTContext_t *pContext, * @return Packet Type byte of PUBACK, PUBREC, PUBREL, or PUBCOMP if one of * those should be sent, else 0. */ -static uint8_t getAckTypeToSend(MQTTPublishState_t state); +static uint8_t getAckTypeToSend( MQTTPublishState_t state ); /** * @brief Send acks for received QoS 1/2 publishes. @@ -335,9 +335,9 @@ static uint8_t getAckTypeToSend(MQTTPublishState_t state); * * @return #MQTTSuccess, #MQTTIllegalState or #MQTTSendFailed. */ -static MQTTStatus_t sendPublishAcks(MQTTContext_t *pContext, - uint16_t packetId, - MQTTPublishState_t publishState); +static MQTTStatus_t sendPublishAcks( MQTTContext_t * pContext, + uint16_t packetId, + MQTTPublishState_t publishState ); /** * @brief Send a keep alive PINGREQ if the keep alive interval has elapsed. @@ -347,7 +347,7 @@ static MQTTStatus_t sendPublishAcks(MQTTContext_t *pContext, * @return #MQTTKeepAliveTimeout if a PINGRESP is not received in time, * #MQTTSendFailed if the PINGREQ cannot be sent, or #MQTTSuccess. */ -static MQTTStatus_t handleKeepAlive(MQTTContext_t *pContext); +static MQTTStatus_t handleKeepAlive( MQTTContext_t * pContext ); /** * @brief Handle received MQTT PUBLISH packet. @@ -357,8 +357,8 @@ static MQTTStatus_t handleKeepAlive(MQTTContext_t *pContext); * * @return MQTTSuccess, MQTTIllegalState or deserialization error. */ -static MQTTStatus_t handleIncomingPublish(MQTTContext_t *pContext, - MQTTPacketInfo_t *pIncomingPacket); +static MQTTStatus_t handleIncomingPublish( MQTTContext_t * pContext, + MQTTPacketInfo_t * pIncomingPacket ); /** * @brief Handle received MQTT publish acks. @@ -368,8 +368,8 @@ static MQTTStatus_t handleIncomingPublish(MQTTContext_t *pContext, * * @return MQTTSuccess, MQTTIllegalState, or deserialization error. */ -static MQTTStatus_t handlePublishAcks(MQTTContext_t *pContext, - MQTTPacketInfo_t *pIncomingPacket); +static MQTTStatus_t handlePublishAcks( MQTTContext_t * pContext, + MQTTPacketInfo_t * pIncomingPacket ); /** * @brief Handle received MQTT ack. @@ -381,9 +381,9 @@ static MQTTStatus_t handlePublishAcks(MQTTContext_t *pContext, * * @return MQTTSuccess, MQTTIllegalState, or deserialization error. */ -static MQTTStatus_t handleIncomingAck(MQTTContext_t *pContext, - MQTTPacketInfo_t *pIncomingPacket, - bool manageKeepAlive); +static MQTTStatus_t handleIncomingAck( MQTTContext_t * pContext, + MQTTPacketInfo_t * pIncomingPacket, + bool manageKeepAlive ); /** * @brief Run a single iteration of the receive loop. @@ -400,8 +400,8 @@ static MQTTStatus_t handleIncomingAck(MQTTContext_t *pContext, * invalid transition for the internal state machine; * #MQTTSuccess on success. */ -static MQTTStatus_t receiveSingleIteration(MQTTContext_t *pContext, - bool manageKeepAlive); +static MQTTStatus_t receiveSingleIteration( MQTTContext_t * pContext, + bool manageKeepAlive ); /** * @brief Validates parameters of #MQTT_Subscribe or #MQTT_Unsubscribe. @@ -414,10 +414,10 @@ static MQTTStatus_t receiveSingleIteration(MQTTContext_t *pContext, * @return #MQTTBadParameter if invalid parameters are passed; * #MQTTSuccess otherwise. */ -static MQTTStatus_t validateSubscribeUnsubscribeParams(const MQTTContext_t *pContext, - const MQTTSubscribeInfo_t *pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId); +static MQTTStatus_t validateSubscribeUnsubscribeParams( const MQTTContext_t * pContext, + const MQTTSubscribeInfo_t * pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId ); /** * @brief Receives a CONNACK MQTT packet. @@ -434,11 +434,11 @@ static MQTTStatus_t validateSubscribeUnsubscribeParams(const MQTTContext_t *pCon * ##MQTTRecvFailed if transport recv failed; * #MQTTSuccess otherwise. */ -static MQTTStatus_t receiveConnack(const MQTTContext_t *pContext, - uint32_t timeoutMs, - bool cleanSession, - MQTTPacketInfo_t *pIncomingPacket, - bool *pSessionPresent); +static MQTTStatus_t receiveConnack( const MQTTContext_t * pContext, + uint32_t timeoutMs, + bool cleanSession, + MQTTPacketInfo_t * pIncomingPacket, + bool * pSessionPresent ); /** * @brief Resends pending acks for a re-established MQTT session, or @@ -450,8 +450,8 @@ static MQTTStatus_t receiveConnack(const MQTTContext_t *pContext, * @return #MQTTSendFailed if transport send during resend failed; * #MQTTSuccess otherwise. */ -static MQTTStatus_t handleSessionResumption(MQTTContext_t *pContext, - bool sessionPresent); +static MQTTStatus_t handleSessionResumption( MQTTContext_t * pContext, + bool sessionPresent ); /** * @brief Send the publish packet without copying the topic string and payload in @@ -467,11 +467,11 @@ static MQTTStatus_t handleSessionResumption(MQTTContext_t *pContext, * @return #MQTTSendFailed if transport send during resend failed; * #MQTTSuccess otherwise. */ -static MQTTStatus_t sendPublishWithoutCopy(MQTTContext_t *pContext, - const MQTTPublishInfo_t *pPublishInfo, - const uint8_t *pMqttHeader, - size_t headerSize, - uint16_t packetId); +static MQTTStatus_t sendPublishWithoutCopy( MQTTContext_t * pContext, + const MQTTPublishInfo_t * pPublishInfo, + const uint8_t * pMqttHeader, + size_t headerSize, + uint16_t packetId ); /** * @brief Function to validate #MQTT_Publish parameters. @@ -483,9 +483,9 @@ static MQTTStatus_t sendPublishWithoutCopy(MQTTContext_t *pContext, * @return #MQTTBadParameter if invalid parameters are passed; * #MQTTSuccess otherwise. */ -static MQTTStatus_t validatePublishParams(const MQTTContext_t *pContext, - const MQTTPublishInfo_t *pPublishInfo, - uint16_t packetId); +static MQTTStatus_t validatePublishParams( const MQTTContext_t * pContext, + const MQTTPublishInfo_t * pPublishInfo, + uint16_t packetId ); /** * @brief Performs matching for special cases when a topic filter ends @@ -508,9 +508,9 @@ static MQTTStatus_t validatePublishParams(const MQTTContext_t *pContext, * * @return Returns whether the topic filter and the topic name match. */ -static bool matchEndWildcardsSpecialCases(const char *pTopicFilter, - uint16_t topicFilterLength, - uint16_t filterIndex); +static bool matchEndWildcardsSpecialCases( const char * pTopicFilter, + uint16_t topicFilterLength, + uint16_t filterIndex ); /** * @brief Attempt to match topic name with a topic filter starting with a wildcard. @@ -533,13 +533,13 @@ static bool matchEndWildcardsSpecialCases(const char *pTopicFilter, * @return `true` if the caller of this function should exit; `false` if the * caller should continue parsing the topics. */ -static bool matchWildcards(const char *pTopicName, - uint16_t topicNameLength, - const char *pTopicFilter, - uint16_t topicFilterLength, - uint16_t *pNameIndex, - uint16_t *pFilterIndex, - bool *pMatch); +static bool matchWildcards( const char * pTopicName, + uint16_t topicNameLength, + const char * pTopicFilter, + uint16_t topicFilterLength, + uint16_t * pNameIndex, + uint16_t * pFilterIndex, + bool * pMatch ); /** * @brief Match a topic name and topic filter allowing the use of wildcards. @@ -551,36 +551,38 @@ static bool matchWildcards(const char *pTopicName, * * @return `true` if the topic name and topic filter match; `false` otherwise. */ -static bool matchTopicFilter(const char *pTopicName, - uint16_t topicNameLength, - const char *pTopicFilter, - uint16_t topicFilterLength); - - -#if (MQTT_VERSION_5_ENABLED) - -typedef struct WillPropertiesVector{ - uint8_t serializedWillUserKeyLength[MAX_USER_PROPERTY][2]; - uint8_t willUserId[MAX_USER_PROPERTY]; - uint8_t serializedWillUserValueLength[MAX_USER_PROPERTY][2]; - uint8_t serializedContentTypeLength[2]; - uint8_t contentTypeId; - uint8_t serializedResponseTopicLength[2]; - uint8_t responseTopicId; - uint8_t serailizedCorrelationLength[2]; - uint8_t correlationDataId; -} WillVector_t; - - -typedef struct ConnectPropertiesVector{ - uint8_t serializedUserKeyLength[MAX_USER_PROPERTY][2]; - uint8_t userId[MAX_USER_PROPERTY]; - uint8_t serializedUserValueLength[MAX_USER_PROPERTY][2]; - uint8_t serializedAuthMethodLength[2]; - uint8_t authMethodId; - uint8_t serializedAuthDataLength[2]; - uint8_t authDataId; -} PropertiesVector_t; +static bool matchTopicFilter( const char * pTopicName, + uint16_t topicNameLength, + const char * pTopicFilter, + uint16_t topicFilterLength ); + + +#if ( MQTT_VERSION_5_ENABLED ) + + typedef struct WillPropertiesVector + { + uint8_t serializedWillUserKeyLength[ MAX_USER_PROPERTY ][ 2 ]; + uint8_t willUserId[ MAX_USER_PROPERTY ]; + uint8_t serializedWillUserValueLength[ MAX_USER_PROPERTY ][ 2 ]; + uint8_t serializedContentTypeLength[ 2 ]; + uint8_t contentTypeId; + uint8_t serializedResponseTopicLength[ 2 ]; + uint8_t responseTopicId; + uint8_t serailizedCorrelationLength[ 2 ]; + uint8_t correlationDataId; + } WillVector_t; + + + typedef struct ConnectPropertiesVector + { + uint8_t serializedUserKeyLength[ MAX_USER_PROPERTY ][ 2 ]; + uint8_t userId[ MAX_USER_PROPERTY ]; + uint8_t serializedUserValueLength[ MAX_USER_PROPERTY ][ 2 ]; + uint8_t serializedAuthMethodLength[ 2 ]; + uint8_t authMethodId; + uint8_t serializedAuthDataLength[ 2 ]; + uint8_t authDataId; + } PropertiesVector_t; /** @@ -595,17 +597,19 @@ typedef struct ConnectPropertiesVector{ * transport interface IO array. * @param[out] updatedLength This parameter will be added to with the number of * bytes added to the vector. - *@param[in] packetId Pointer to one byte used to add packet Id to the packet which must + *@param[in] packetId Pointer to one byte used to add packet Id to the packet which must * remain in scope until the message is sent. - * + * * @return The number of vectors added. */ -static size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES], - const char *const string, - uint16_t length, - TransportOutVector_t *iterator, - size_t *updatedLength, const uint8_t* packetId); + static size_t addEncodedStringToVectorWithId( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ], + const char * const string, + uint16_t length, + TransportOutVector_t * iterator, + size_t * updatedLength, + const uint8_t * packetId ); + /** * @brief Serialize the variable length will properties. * @@ -615,11 +619,14 @@ static size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_ * transport interface IO array. * @param[out] pVectorIterator This parameter will be added to with the number of * bytes added to the vector. - * + * * @return The number of vectors added. */ -static size_t sendWillProperties(const MQTTPublishInfo_t* pWillInfo, WillVector_t * pWillVector, size_t *pTotalMessageLength, TransportOutVector_t ** pVectorIterator); + static size_t sendWillProperties( const MQTTPublishInfo_t * pWillInfo, + WillVector_t * pWillVector, + size_t * pTotalMessageLength, + TransportOutVector_t ** pVectorIterator ); /** * @brief Serialize the variable length connect properties. @@ -630,259 +637,281 @@ static size_t sendWillProperties(const MQTTPublishInfo_t* pWillInfo, WillVector_ * transport interface IO array. * @param[out] pVectorIterator This parameter will be added to with the number of * bytes added to the vector. - * + * * @return The number of vectors added. */ -static size_t sendConnectProperties(const MQTTConnectProperties_t* pConnectProperties, PropertiesVector_t * pPropertiesVector, size_t *pTotalMessageLength, TransportOutVector_t ** pVectorIterator); + static size_t sendConnectProperties( const MQTTConnectProperties_t * pConnectProperties, + PropertiesVector_t * pPropertiesVector, + size_t * pTotalMessageLength, + TransportOutVector_t ** pVectorIterator ); /*-----------------------------------------------------------*/ -static size_t addEncodedStringToVectorWithId(uint8_t serializedLength[CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES], - const char *const string, - uint16_t length, - TransportOutVector_t *iterator, - size_t *updatedLength,const uint8_t* packetId) -{ - size_t packetLength = 0U; - TransportOutVector_t *pLocalIterator = iterator; - size_t vectorsAdded = 0U; + static size_t addEncodedStringToVectorWithId( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ], + const char * const string, + uint16_t length, + TransportOutVector_t * iterator, + size_t * updatedLength, + const uint8_t * packetId ) + { + size_t packetLength = 0U; + TransportOutVector_t * pLocalIterator = iterator; + size_t vectorsAdded = 0U; - /* Add the packet Id. */ - pLocalIterator[0].iov_base = packetId; - pLocalIterator[0].iov_len = CORE_MQTT_ID_SIZE; - vectorsAdded++; - packetLength = CORE_MQTT_ID_SIZE; + /* Add the packet Id. */ + pLocalIterator[ 0 ].iov_base = packetId; + pLocalIterator[ 0 ].iov_len = CORE_MQTT_ID_SIZE; + vectorsAdded++; + packetLength = CORE_MQTT_ID_SIZE; - /* When length is non-zero, the string must be non-NULL. */ - assert((length != 0U) ? (string != NULL) : true); - serializedLength[0] = ((uint8_t)((length) >> 8)); - serializedLength[1] = ((uint8_t)((length) & 0x00ffU)); + /* When length is non-zero, the string must be non-NULL. */ + assert( ( length != 0U ) ? ( string != NULL ) : true ); + serializedLength[ 0 ] = ( ( uint8_t ) ( ( length ) >> 8 ) ); + serializedLength[ 1 ] = ( ( uint8_t ) ( ( length ) & 0x00ffU ) ); - /* Add the serialized length of the string. */ - pLocalIterator[1].iov_base = serializedLength; - pLocalIterator[1].iov_len = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; - vectorsAdded++; - packetLength += CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; + /* Add the serialized length of the string. */ + pLocalIterator[ 1 ].iov_base = serializedLength; + pLocalIterator[ 1 ].iov_len = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; + vectorsAdded++; + packetLength += CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; - /* Then add the pointer to the string itself. */ - pLocalIterator[2].iov_base = string; - pLocalIterator[2].iov_len = length; + /* Then add the pointer to the string itself. */ + pLocalIterator[ 2 ].iov_base = string; + pLocalIterator[ 2 ].iov_len = length; vectorsAdded++; packetLength += length; - (*updatedLength) = (*updatedLength) + packetLength; + ( *updatedLength ) = ( *updatedLength ) + packetLength; - return vectorsAdded; -} + return vectorsAdded; + } -static size_t sendWillProperties(const MQTTPublishInfo_t* pWillInfo, WillVector_t * pWillVector, size_t *pTotalMessageLength, TransportOutVector_t ** pVectorIterator){ - size_t vectorsAdded= 0U; - size_t ioVectorLength = 0U; - TransportOutVector_t * iterator = *pVectorIterator; - pWillVector->contentTypeId= MQTT_CONTENT_TYPE_ID; - pWillVector->responseTopicId = MQTT_RESPONSE_TOPIC_ID; - pWillVector->correlationDataId = MQTT_CORRELATION_DATA_ID; - /* Encode the content type if provided.*/ - if (pWillInfo->contentTypeLength != 0U) - { - /* Serialize the content type string. */ - vectorsAdded = addEncodedStringToVectorWithId(pWillVector->serializedContentTypeLength, - pWillInfo->pContentType, - pWillInfo->contentTypeLength, - iterator, - pTotalMessageLength, &pWillVector->contentTypeId); - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; - ioVectorLength += vectorsAdded; - } - /* Encode the response topic if provided. */ - if (pWillInfo->responseTopicLength != 0U) + static size_t sendWillProperties( const MQTTPublishInfo_t * pWillInfo, + WillVector_t * pWillVector, + size_t * pTotalMessageLength, + TransportOutVector_t ** pVectorIterator ) + { + size_t vectorsAdded = 0U; + size_t ioVectorLength = 0U; + TransportOutVector_t * iterator = *pVectorIterator; + + pWillVector->contentTypeId = MQTT_CONTENT_TYPE_ID; + pWillVector->responseTopicId = MQTT_RESPONSE_TOPIC_ID; + pWillVector->correlationDataId = MQTT_CORRELATION_DATA_ID; + + /* Encode the content type if provided.*/ + if( pWillInfo->contentTypeLength != 0U ) + { + /* Serialize the content type string. */ + vectorsAdded = addEncodedStringToVectorWithId( pWillVector->serializedContentTypeLength, + pWillInfo->pContentType, + pWillInfo->contentTypeLength, + iterator, + pTotalMessageLength, &pWillVector->contentTypeId ); + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; + } + + /* Encode the response topic if provided. */ + if( pWillInfo->responseTopicLength != 0U ) + { + /* Serialize the response topic string. */ + vectorsAdded = addEncodedStringToVectorWithId( pWillVector->serializedResponseTopicLength, + pWillInfo->pResponseTopic, + pWillInfo->responseTopicLength, + iterator, + pTotalMessageLength, &pWillVector->responseTopicId ); + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; + } + + /* Encode the correlation lenght if provided. */ + if( pWillInfo->correlationLength != 0U ) + { + /* Serialize the correlation data string. */ + vectorsAdded = addEncodedStringToVectorWithId( pWillVector->serailizedCorrelationLength, + pWillInfo->pCorrelationData, + pWillInfo->correlationLength, + iterator, + pTotalMessageLength, &pWillVector->correlationDataId ); + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; + } + + /* Encode the user properties if provided. */ + if( pWillInfo->userPropertySize != 0U ) + { + uint32_t i = 0; + uint32_t size = pWillInfo->userPropertySize; + const MQTTUserProperty_t * userProperty = pWillInfo->pUserProperty; + + for( ; i < size; i++ ) { - /* Serialize the response topic string. */ - vectorsAdded = addEncodedStringToVectorWithId(pWillVector->serializedResponseTopicLength, - pWillInfo->pResponseTopic, - pWillInfo->responseTopicLength, - iterator, - pTotalMessageLength,&pWillVector->responseTopicId); + pWillVector->willUserId[ i ] = MQTT_USER_PROPERTY_ID; + vectorsAdded = addEncodedStringToVectorWithId( pWillVector->serializedWillUserKeyLength[ i ], + userProperty[ i ].pKey, + userProperty[ i ].keyLength, + iterator, + pTotalMessageLength, &pWillVector->willUserId[ i ] ); /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; + iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; - } - /* Encode the correlation lenght if provided. */ - if (pWillInfo->correlationLength != 0U) - { - /* Serialize the correlation data string. */ - vectorsAdded = addEncodedStringToVectorWithId(pWillVector->serailizedCorrelationLength, - pWillInfo->pCorrelationData, - pWillInfo->correlationLength, - iterator, - pTotalMessageLength,&pWillVector->correlationDataId); + + vectorsAdded = addEncodedStringToVector( pWillVector->serializedWillUserValueLength[ i ], + userProperty[ i ].pValue, + userProperty[ i ].valueLength, + iterator, + pTotalMessageLength ); /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; + iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; } - /* Encode the user properties if provided. */ - if (pWillInfo->userPropertySize != 0U) - { - uint32_t i = 0; - uint32_t size = pWillInfo->userPropertySize; - const MQTTUserProperty_t* userProperty = pWillInfo->pUserProperty; - for (; i < size; i++) - { - pWillVector->willUserId[i]=MQTT_USER_PROPERTY_ID; - vectorsAdded = addEncodedStringToVectorWithId(pWillVector->serializedWillUserKeyLength[i], - userProperty[i].pKey, - userProperty[i].keyLength, - iterator, - pTotalMessageLength, &pWillVector->willUserId[i]); - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; - ioVectorLength += vectorsAdded; - - vectorsAdded = addEncodedStringToVector(pWillVector->serializedWillUserValueLength[i], - userProperty[i].pValue, - userProperty[i].valueLength, - iterator, - pTotalMessageLength); - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; - ioVectorLength += vectorsAdded; - - } } + *pVectorIterator = iterator; - return ioVectorLength; -} + return ioVectorLength; + } -static size_t sendConnectProperties(const MQTTConnectProperties_t* pConnectProperties, PropertiesVector_t * pPropertiesVector, size_t *pTotalMessageLength, TransportOutVector_t ** pVectorIterator){ - size_t vectorsAdded= 0U; - size_t ioVectorLength = 0U; - TransportOutVector_t *iterator = *pVectorIterator; - pPropertiesVector->authMethodId = MQTT_AUTH_METHOD_ID; - pPropertiesVector->authDataId = MQTT_AUTH_DATA_ID; - /*Encode the user properties if provided.*/ - if (pConnectProperties->outgoingUserPropSize != 0U) - { + static size_t sendConnectProperties( const MQTTConnectProperties_t * pConnectProperties, + PropertiesVector_t * pPropertiesVector, + size_t * pTotalMessageLength, + TransportOutVector_t ** pVectorIterator ) + { + size_t vectorsAdded = 0U; + size_t ioVectorLength = 0U; + TransportOutVector_t * iterator = *pVectorIterator; + + pPropertiesVector->authMethodId = MQTT_AUTH_METHOD_ID; + pPropertiesVector->authDataId = MQTT_AUTH_DATA_ID; + + /*Encode the user properties if provided.*/ + if( pConnectProperties->outgoingUserPropSize != 0U ) + { uint32_t i = 0; uint32_t size = pConnectProperties->outgoingUserPropSize; - const MQTTUserProperty_t *userProperty = pConnectProperties->pOutgoingUserProperty; - for (; i < size; i++) + const MQTTUserProperty_t * userProperty = pConnectProperties->pOutgoingUserProperty; + + for( ; i < size; i++ ) { - pPropertiesVector->userId[i]=MQTT_USER_PROPERTY_ID; + pPropertiesVector->userId[ i ] = MQTT_USER_PROPERTY_ID; /* Serialize the user key string. */ - vectorsAdded = addEncodedStringToVectorWithId(pPropertiesVector->serializedUserKeyLength[i], - userProperty[i].pKey, - userProperty[i].keyLength, - iterator, - pTotalMessageLength,&(pPropertiesVector->userId[i])); + vectorsAdded = addEncodedStringToVectorWithId( pPropertiesVector->serializedUserKeyLength[ i ], + userProperty[ i ].pKey, + userProperty[ i ].keyLength, + iterator, + pTotalMessageLength, &( pPropertiesVector->userId[ i ] ) ); /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; + iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; /* Serialize the user value string. */ - vectorsAdded = addEncodedStringToVector(pPropertiesVector->serializedUserValueLength[i], - userProperty[i].pValue, - userProperty[i].valueLength, - iterator, - pTotalMessageLength); + vectorsAdded = addEncodedStringToVector( pPropertiesVector->serializedUserValueLength[ i ], + userProperty[ i ].pValue, + userProperty[ i ].valueLength, + iterator, + pTotalMessageLength ); /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; + iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; } } - /*Encode the authentication method and data if provided*/ - if (pConnectProperties->pOutgoingAuth != NULL) + /*Encode the authentication method and data if provided*/ + if( pConnectProperties->pOutgoingAuth != NULL ) + { + /* Serialize the authentication method string. */ + vectorsAdded = addEncodedStringToVectorWithId( pPropertiesVector->serializedAuthMethodLength, + pConnectProperties->pOutgoingAuth->pAuthMethod, + pConnectProperties->pOutgoingAuth->authMethodLength, + iterator, + pTotalMessageLength, &( pPropertiesVector->authMethodId ) ); + + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; + + if( pConnectProperties->pOutgoingAuth->authDataLength != 0U ) { - /* Serialize the authentication method string. */ - vectorsAdded = addEncodedStringToVectorWithId(pPropertiesVector->serializedAuthMethodLength, - pConnectProperties->pOutgoingAuth->pAuthMethod, - pConnectProperties->pOutgoingAuth->authMethodLength, - iterator, - pTotalMessageLength, &(pPropertiesVector->authMethodId)); + /* Serialize the authentication data string. */ + vectorsAdded = addEncodedStringToVectorWithId( pPropertiesVector->serializedAuthDataLength, + pConnectProperties->pOutgoingAuth->pAuthData, + pConnectProperties->pOutgoingAuth->authDataLength, + iterator, + pTotalMessageLength, &( pPropertiesVector->authDataId ) ); /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; + iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; - if (pConnectProperties->pOutgoingAuth->authDataLength != 0U) - { - /* Serialize the authentication data string. */ - vectorsAdded = addEncodedStringToVectorWithId(pPropertiesVector->serializedAuthDataLength, - pConnectProperties->pOutgoingAuth->pAuthData, - pConnectProperties->pOutgoingAuth->authDataLength, - iterator, - pTotalMessageLength, &(pPropertiesVector->authDataId)); - - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; - ioVectorLength += vectorsAdded; - } - + } } + *pVectorIterator = iterator; return ioVectorLength; -} -#endif + } +#endif /* if ( MQTT_VERSION_5_ENABLED ) */ /*-----------------------------------------------------------*/ -static size_t addEncodedStringToVector(uint8_t serializedLength[CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES], - const char *const string, - uint16_t length, - TransportOutVector_t *iterator, - size_t *updatedLength) +static size_t addEncodedStringToVector( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ], + const char * const string, + uint16_t length, + TransportOutVector_t * iterator, + size_t * updatedLength ) { size_t packetLength = 0U; - TransportOutVector_t *pLocalIterator = iterator; + TransportOutVector_t * pLocalIterator = iterator; size_t vectorsAdded = 0U; /* When length is non-zero, the string must be non-NULL. */ - assert((length != 0U) ? (string != NULL) : true); + assert( ( length != 0U ) ? ( string != NULL ) : true ); - serializedLength[0] = ((uint8_t)((length) >> 8)); - serializedLength[1] = ((uint8_t)((length) & 0x00ffU)); + serializedLength[ 0 ] = ( ( uint8_t ) ( ( length ) >> 8 ) ); + serializedLength[ 1 ] = ( ( uint8_t ) ( ( length ) & 0x00ffU ) ); /* Add the serialized length of the string first. */ - pLocalIterator[0].iov_base = serializedLength; - pLocalIterator[0].iov_len = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; + pLocalIterator[ 0 ].iov_base = serializedLength; + pLocalIterator[ 0 ].iov_len = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; vectorsAdded++; packetLength = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; /* Sometimes the string can be NULL that is, of 0 length. In that case, * only the length field should be encoded in the vector. */ - if ((string != NULL) && (length != 0U)) + if( ( string != NULL ) && ( length != 0U ) ) { /* Then add the pointer to the string itself. */ - pLocalIterator[1].iov_base = string; - pLocalIterator[1].iov_len = length; + pLocalIterator[ 1 ].iov_base = string; + pLocalIterator[ 1 ].iov_len = length; vectorsAdded++; packetLength += length; } - (*updatedLength) = (*updatedLength) + packetLength; + ( *updatedLength ) = ( *updatedLength ) + packetLength; return vectorsAdded; } -static bool matchEndWildcardsSpecialCases(const char *pTopicFilter, - uint16_t topicFilterLength, - uint16_t filterIndex) +static bool matchEndWildcardsSpecialCases( const char * pTopicFilter, + uint16_t topicFilterLength, + uint16_t filterIndex ) { bool matchFound = false; - assert(pTopicFilter != NULL); - assert(topicFilterLength != 0U); + assert( pTopicFilter != NULL ); + assert( topicFilterLength != 0U ); /* Check if the topic filter has 2 remaining characters and it ends in * "/#". This check handles the case to match filter "sport/#" with topic * "sport". The reason is that the '#' wildcard represents the parent and * any number of child levels in the topic name.*/ - if ((topicFilterLength >= 3U) && - (filterIndex == (topicFilterLength - 3U)) && - (pTopicFilter[filterIndex + 1U] == '/') && - (pTopicFilter[filterIndex + 2U] == '#')) + if( ( topicFilterLength >= 3U ) && + ( filterIndex == ( topicFilterLength - 3U ) ) && + ( pTopicFilter[ filterIndex + 1U ] == '/' ) && + ( pTopicFilter[ filterIndex + 2U ] == '#' ) ) { matchFound = true; @@ -894,12 +923,12 @@ static bool matchEndWildcardsSpecialCases(const char *pTopicFilter, * - Topic filter "sport/+" with topic "sport/". * - Topic filter "sport/#" with topic "sport/". */ - if ((filterIndex == (topicFilterLength - 2U)) && - (pTopicFilter[filterIndex] == '/')) + if( ( filterIndex == ( topicFilterLength - 2U ) ) && + ( pTopicFilter[ filterIndex ] == '/' ) ) { /* Check that the last character is a wildcard. */ - matchFound = (pTopicFilter[filterIndex + 1U] == '+') || - (pTopicFilter[filterIndex + 1U] == '#'); + matchFound = ( pTopicFilter[ filterIndex + 1U ] == '+' ) || + ( pTopicFilter[ filterIndex + 1U ] == '#' ); } return matchFound; @@ -907,31 +936,31 @@ static bool matchEndWildcardsSpecialCases(const char *pTopicFilter, /*-----------------------------------------------------------*/ -static bool matchWildcards(const char *pTopicName, - uint16_t topicNameLength, - const char *pTopicFilter, - uint16_t topicFilterLength, - uint16_t *pNameIndex, - uint16_t *pFilterIndex, - bool *pMatch) +static bool matchWildcards( const char * pTopicName, + uint16_t topicNameLength, + const char * pTopicFilter, + uint16_t topicFilterLength, + uint16_t * pNameIndex, + uint16_t * pFilterIndex, + bool * pMatch ) { bool shouldStopMatching = false; bool locationIsValidForWildcard; - assert(pTopicName != NULL); - assert(topicNameLength != 0U); - assert(pTopicFilter != NULL); - assert(topicFilterLength != 0U); - assert(pNameIndex != NULL); - assert(pFilterIndex != NULL); - assert(pMatch != NULL); + assert( pTopicName != NULL ); + assert( topicNameLength != 0U ); + assert( pTopicFilter != NULL ); + assert( topicFilterLength != 0U ); + assert( pNameIndex != NULL ); + assert( pFilterIndex != NULL ); + assert( pMatch != NULL ); /* Wild card in a topic filter is only valid either at the starting position * or when it is preceded by a '/'.*/ - locationIsValidForWildcard = (*pFilterIndex == 0u) || - (pTopicFilter[*pFilterIndex - 1U] == '/'); + locationIsValidForWildcard = ( *pFilterIndex == 0u ) || + ( pTopicFilter[ *pFilterIndex - 1U ] == '/' ); - if ((pTopicFilter[*pFilterIndex] == '+') && (locationIsValidForWildcard == true)) + if( ( pTopicFilter[ *pFilterIndex ] == '+' ) && ( locationIsValidForWildcard == true ) ) { bool nextLevelExistsInTopicName = false; bool nextLevelExistsinTopicFilter = false; @@ -939,30 +968,30 @@ static bool matchWildcards(const char *pTopicName, /* Move topic name index to the end of the current level. The end of the * current level is identified by the last character before the next level * separator '/'. */ - while (*pNameIndex < topicNameLength) + while( *pNameIndex < topicNameLength ) { /* Exit the loop if we hit the level separator. */ - if (pTopicName[*pNameIndex] == '/') + if( pTopicName[ *pNameIndex ] == '/' ) { nextLevelExistsInTopicName = true; break; } - (*pNameIndex)++; + ( *pNameIndex )++; } /* Determine if the topic filter contains a child level after the current level * represented by the '+' wildcard. */ - if ((*pFilterIndex < (topicFilterLength - 1U)) && - (pTopicFilter[*pFilterIndex + 1U] == '/')) + if( ( *pFilterIndex < ( topicFilterLength - 1U ) ) && + ( pTopicFilter[ *pFilterIndex + 1U ] == '/' ) ) { nextLevelExistsinTopicFilter = true; } /* If the topic name contains a child level but the topic filter ends at * the current level, then there does not exist a match. */ - if ((nextLevelExistsInTopicName == true) && - (nextLevelExistsinTopicFilter == false)) + if( ( nextLevelExistsInTopicName == true ) && + ( nextLevelExistsinTopicFilter == false ) ) { *pMatch = false; shouldStopMatching = true; @@ -973,9 +1002,9 @@ static bool matchWildcards(const char *pTopicName, * can be performed in the next level. * Note: The name index already points to the level separator in the topic * name. */ - else if (nextLevelExistsInTopicName == true) + else if( nextLevelExistsInTopicName == true ) { - (*pFilterIndex)++; + ( *pFilterIndex )++; } else { @@ -983,15 +1012,15 @@ static bool matchWildcards(const char *pTopicName, * ( *pNameIndex < topicNameLength) condition, which means that have * reached past the end of the topic name, and thus, we decrement the * index to the last character in the topic name.*/ - (*pNameIndex)--; + ( *pNameIndex )--; } } /* '#' matches everything remaining in the topic name. It must be the * last character in a topic filter. */ - else if ((pTopicFilter[*pFilterIndex] == '#') && - (*pFilterIndex == (topicFilterLength - 1U)) && - (locationIsValidForWildcard == true)) + else if( ( pTopicFilter[ *pFilterIndex ] == '#' ) && + ( *pFilterIndex == ( topicFilterLength - 1U ) ) && + ( locationIsValidForWildcard == true ) ) { /* Subsequent characters don't need to be checked for the * multi-level wildcard. */ @@ -1011,48 +1040,48 @@ static bool matchWildcards(const char *pTopicName, /*-----------------------------------------------------------*/ -static bool matchTopicFilter(const char *pTopicName, - uint16_t topicNameLength, - const char *pTopicFilter, - uint16_t topicFilterLength) +static bool matchTopicFilter( const char * pTopicName, + uint16_t topicNameLength, + const char * pTopicFilter, + uint16_t topicFilterLength ) { bool matchFound = false, shouldStopMatching = false; uint16_t nameIndex = 0, filterIndex = 0; - assert(pTopicName != NULL); - assert(topicNameLength != 0); - assert(pTopicFilter != NULL); - assert(topicFilterLength != 0); + assert( pTopicName != NULL ); + assert( topicNameLength != 0 ); + assert( pTopicFilter != NULL ); + assert( topicFilterLength != 0 ); - while ((nameIndex < topicNameLength) && (filterIndex < topicFilterLength)) + while( ( nameIndex < topicNameLength ) && ( filterIndex < topicFilterLength ) ) { /* Check if the character in the topic name matches the corresponding * character in the topic filter string. */ - if (pTopicName[nameIndex] == pTopicFilter[filterIndex]) + if( pTopicName[ nameIndex ] == pTopicFilter[ filterIndex ] ) { /* If the topic name has been consumed but the topic filter has not * been consumed, match for special cases when the topic filter ends * with wildcard character. */ - if (nameIndex == (topicNameLength - 1U)) + if( nameIndex == ( topicNameLength - 1U ) ) { - matchFound = matchEndWildcardsSpecialCases(pTopicFilter, - topicFilterLength, - filterIndex); + matchFound = matchEndWildcardsSpecialCases( pTopicFilter, + topicFilterLength, + filterIndex ); } } else { /* Check for matching wildcards. */ - shouldStopMatching = matchWildcards(pTopicName, - topicNameLength, - pTopicFilter, - topicFilterLength, - &nameIndex, - &filterIndex, - &matchFound); + shouldStopMatching = matchWildcards( pTopicName, + topicNameLength, + pTopicFilter, + topicFilterLength, + &nameIndex, + &filterIndex, + &matchFound ); } - if ((matchFound == true) || (shouldStopMatching == true)) + if( ( matchFound == true ) || ( shouldStopMatching == true ) ) { break; } @@ -1062,14 +1091,14 @@ static bool matchTopicFilter(const char *pTopicName, filterIndex++; } - if (matchFound == false) + if( matchFound == false ) { /* If the end of both strings has been reached, they match. This represents the * case when the topic filter contains the '+' wildcard at a non-starting position. * For example, when matching either of "sport/+/player" OR "sport/hockey/+" topic * filters with "sport/hockey/player" topic name. */ - matchFound = (nameIndex == topicNameLength) && - (filterIndex == topicFilterLength); + matchFound = ( nameIndex == topicNameLength ) && + ( filterIndex == topicFilterLength ); } return matchFound; @@ -1077,25 +1106,25 @@ static bool matchTopicFilter(const char *pTopicName, /*-----------------------------------------------------------*/ -static int32_t sendMessageVector(MQTTContext_t *pContext, - TransportOutVector_t *pIoVec, - size_t ioVecCount) +static int32_t sendMessageVector( MQTTContext_t * pContext, + TransportOutVector_t * pIoVec, + size_t ioVecCount ) { int32_t sendResult; uint32_t startTime; - TransportOutVector_t *pIoVectIterator; + TransportOutVector_t * pIoVectIterator; size_t vectorsToBeSent = ioVecCount; size_t bytesToSend = 0U; int32_t bytesSentOrError = 0; - assert(pContext != NULL); - assert(pIoVec != NULL); - assert(pContext->getTime != NULL); + assert( pContext != NULL ); + assert( pIoVec != NULL ); + assert( pContext->getTime != NULL ); /* Send must always be defined */ - assert(pContext->transportInterface.send != NULL); + assert( pContext->transportInterface.send != NULL ); /* Count the total number of bytes to be sent as outlined in the vector. */ - for (pIoVectIterator = pIoVec; pIoVectIterator <= &(pIoVec[ioVecCount - 1U]); pIoVectIterator++) + for( pIoVectIterator = pIoVec; pIoVectIterator <= &( pIoVec[ ioVecCount - 1U ] ); pIoVectIterator++ ) { bytesToSend += pIoVectIterator->iov_len; } @@ -1106,40 +1135,40 @@ static int32_t sendMessageVector(MQTTContext_t *pContext, /* Note the start time. */ startTime = pContext->getTime(); - while ((bytesSentOrError < (int32_t)bytesToSend) && (bytesSentOrError >= 0)) + while( ( bytesSentOrError < ( int32_t ) bytesToSend ) && ( bytesSentOrError >= 0 ) ) { - if (pContext->transportInterface.writev != NULL) + if( pContext->transportInterface.writev != NULL ) { - sendResult = pContext->transportInterface.writev(pContext->transportInterface.pNetworkContext, - pIoVectIterator, - vectorsToBeSent); + sendResult = pContext->transportInterface.writev( pContext->transportInterface.pNetworkContext, + pIoVectIterator, + vectorsToBeSent ); } else { - sendResult = pContext->transportInterface.send(pContext->transportInterface.pNetworkContext, - pIoVectIterator->iov_base, - pIoVectIterator->iov_len); + sendResult = pContext->transportInterface.send( pContext->transportInterface.pNetworkContext, + pIoVectIterator->iov_base, + pIoVectIterator->iov_len ); } - if (sendResult > 0) + if( sendResult > 0 ) { /* It is a bug in the application's transport send implementation if * more bytes than expected are sent. */ - assert(sendResult <= ((int32_t)bytesToSend - bytesSentOrError)); + assert( sendResult <= ( ( int32_t ) bytesToSend - bytesSentOrError ) ); bytesSentOrError += sendResult; /* Set last transmission time. */ pContext->lastPacketTxTime = pContext->getTime(); - LogDebug(("sendMessageVector: Bytes Sent=%ld, Bytes Remaining=%lu", - (long int)sendResult, - (unsigned long)(bytesToSend - (size_t)bytesSentOrError))); + LogDebug( ( "sendMessageVector: Bytes Sent=%ld, Bytes Remaining=%lu", + ( long int ) sendResult, + ( unsigned long ) ( bytesToSend - ( size_t ) bytesSentOrError ) ) ); } - else if (sendResult < 0) + else if( sendResult < 0 ) { bytesSentOrError = sendResult; - LogError(("sendMessageVector: Unable to send packet: Network Error.")); + LogError( ( "sendMessageVector: Unable to send packet: Network Error." ) ); } else { @@ -1147,17 +1176,17 @@ static int32_t sendMessageVector(MQTTContext_t *pContext, } /* Check for timeout. */ - if (calculateElapsedTime(pContext->getTime(), startTime) > MQTT_SEND_TIMEOUT_MS) + if( calculateElapsedTime( pContext->getTime(), startTime ) > MQTT_SEND_TIMEOUT_MS ) { - LogError(("sendMessageVector: Unable to send packet: Timed out.")); + LogError( ( "sendMessageVector: Unable to send packet: Timed out." ) ); break; } /* Update the send pointer to the correct vector and offset. */ - while ((pIoVectIterator <= &(pIoVec[ioVecCount - 1U])) && - (sendResult >= (int32_t)pIoVectIterator->iov_len)) + while( ( pIoVectIterator <= &( pIoVec[ ioVecCount - 1U ] ) ) && + ( sendResult >= ( int32_t ) pIoVectIterator->iov_len ) ) { - sendResult -= (int32_t)pIoVectIterator->iov_len; + sendResult -= ( int32_t ) pIoVectIterator->iov_len; pIoVectIterator++; /* Update the number of vector which are yet to be sent. */ vectorsToBeSent--; @@ -1165,60 +1194,60 @@ static int32_t sendMessageVector(MQTTContext_t *pContext, /* Some of the bytes from this vector were sent as well, update the length * and the pointer to data in this vector. */ - if ((sendResult > 0) && - (pIoVectIterator <= &(pIoVec[ioVecCount - 1U]))) + if( ( sendResult > 0 ) && + ( pIoVectIterator <= &( pIoVec[ ioVecCount - 1U ] ) ) ) { - pIoVectIterator->iov_base = (const void *)&(((const uint8_t *)pIoVectIterator->iov_base)[sendResult]); - pIoVectIterator->iov_len -= (size_t)sendResult; + pIoVectIterator->iov_base = ( const void * ) &( ( ( const uint8_t * ) pIoVectIterator->iov_base )[ sendResult ] ); + pIoVectIterator->iov_len -= ( size_t ) sendResult; } } return bytesSentOrError; } -static int32_t sendBuffer(MQTTContext_t *pContext, - const uint8_t *pBufferToSend, - size_t bytesToSend) +static int32_t sendBuffer( MQTTContext_t * pContext, + const uint8_t * pBufferToSend, + size_t bytesToSend ) { int32_t sendResult; uint32_t startTime; int32_t bytesSentOrError = 0; - const uint8_t *pIndex = pBufferToSend; + const uint8_t * pIndex = pBufferToSend; - assert(pContext != NULL); - assert(pContext->getTime != NULL); - assert(pContext->transportInterface.send != NULL); - assert(pIndex != NULL); + assert( pContext != NULL ); + assert( pContext->getTime != NULL ); + assert( pContext->transportInterface.send != NULL ); + assert( pIndex != NULL ); /* Set the timeout. */ startTime = pContext->getTime(); - while ((bytesSentOrError < (int32_t)bytesToSend) && (bytesSentOrError >= 0)) + while( ( bytesSentOrError < ( int32_t ) bytesToSend ) && ( bytesSentOrError >= 0 ) ) { - sendResult = pContext->transportInterface.send(pContext->transportInterface.pNetworkContext, - pIndex, - bytesToSend - (size_t)bytesSentOrError); + sendResult = pContext->transportInterface.send( pContext->transportInterface.pNetworkContext, + pIndex, + bytesToSend - ( size_t ) bytesSentOrError ); - if (sendResult > 0) + if( sendResult > 0 ) { /* It is a bug in the application's transport send implementation if * more bytes than expected are sent. */ - assert(sendResult <= ((int32_t)bytesToSend - bytesSentOrError)); + assert( sendResult <= ( ( int32_t ) bytesToSend - bytesSentOrError ) ); bytesSentOrError += sendResult; - pIndex = &pIndex[sendResult]; + pIndex = &pIndex[ sendResult ]; /* Set last transmission time. */ pContext->lastPacketTxTime = pContext->getTime(); - LogDebug(("sendBuffer: Bytes Sent=%ld, Bytes Remaining=%lu", - (long int)sendResult, - (unsigned long)(bytesToSend - (size_t)bytesSentOrError))); + LogDebug( ( "sendBuffer: Bytes Sent=%ld, Bytes Remaining=%lu", + ( long int ) sendResult, + ( unsigned long ) ( bytesToSend - ( size_t ) bytesSentOrError ) ) ); } - else if (sendResult < 0) + else if( sendResult < 0 ) { bytesSentOrError = sendResult; - LogError(("sendBuffer: Unable to send packet: Network Error.")); + LogError( ( "sendBuffer: Unable to send packet: Network Error." ) ); } else { @@ -1226,9 +1255,9 @@ static int32_t sendBuffer(MQTTContext_t *pContext, } /* Check for timeout. */ - if (calculateElapsedTime(pContext->getTime(), startTime) >= (MQTT_SEND_TIMEOUT_MS)) + if( calculateElapsedTime( pContext->getTime(), startTime ) >= ( MQTT_SEND_TIMEOUT_MS ) ) { - LogError(("sendBuffer: Unable to send packet: Timed out.")); + LogError( ( "sendBuffer: Unable to send packet: Timed out." ) ); break; } } @@ -1238,40 +1267,40 @@ static int32_t sendBuffer(MQTTContext_t *pContext, /*-----------------------------------------------------------*/ -static uint32_t calculateElapsedTime(uint32_t later, - uint32_t start) +static uint32_t calculateElapsedTime( uint32_t later, + uint32_t start ) { return later - start; } /*-----------------------------------------------------------*/ -static MQTTPubAckType_t getAckFromPacketType(uint8_t packetType) +static MQTTPubAckType_t getAckFromPacketType( uint8_t packetType ) { MQTTPubAckType_t ackType = MQTTPuback; - switch (packetType) + switch( packetType ) { - case MQTT_PACKET_TYPE_PUBACK: - ackType = MQTTPuback; - break; + case MQTT_PACKET_TYPE_PUBACK: + ackType = MQTTPuback; + break; - case MQTT_PACKET_TYPE_PUBREC: - ackType = MQTTPubrec; - break; + case MQTT_PACKET_TYPE_PUBREC: + ackType = MQTTPubrec; + break; - case MQTT_PACKET_TYPE_PUBREL: - ackType = MQTTPubrel; - break; + case MQTT_PACKET_TYPE_PUBREL: + ackType = MQTTPubrel; + break; - case MQTT_PACKET_TYPE_PUBCOMP: - default: + case MQTT_PACKET_TYPE_PUBCOMP: + default: - /* This function is only called after checking the type is one of - * the above four values, so packet type must be PUBCOMP here. */ - assert(packetType == MQTT_PACKET_TYPE_PUBCOMP); - ackType = MQTTPubcomp; - break; + /* This function is only called after checking the type is one of + * the above four values, so packet type must be PUBCOMP here. */ + assert( packetType == MQTT_PACKET_TYPE_PUBCOMP ); + ackType = MQTTPubcomp; + break; } return ackType; @@ -1279,10 +1308,10 @@ static MQTTPubAckType_t getAckFromPacketType(uint8_t packetType) /*-----------------------------------------------------------*/ -static int32_t recvExact(const MQTTContext_t *pContext, - size_t bytesToRecv) +static int32_t recvExact( const MQTTContext_t * pContext, + size_t bytesToRecv ) { - uint8_t *pIndex = NULL; + uint8_t * pIndex = NULL; size_t bytesRemaining = bytesToRecv; int32_t totalBytesRecvd = 0, bytesRecvd; uint32_t lastDataRecvTimeMs = 0U, timeSinceLastRecvMs = 0U; @@ -1290,11 +1319,11 @@ static int32_t recvExact(const MQTTContext_t *pContext, MQTTGetCurrentTimeFunc_t getTimeStampMs = NULL; bool receiveError = false; - assert(pContext != NULL); - assert(bytesToRecv <= pContext->networkBuffer.size); - assert(pContext->getTime != NULL); - assert(pContext->transportInterface.recv != NULL); - assert(pContext->networkBuffer.pBuffer != NULL); + assert( pContext != NULL ); + assert( bytesToRecv <= pContext->networkBuffer.size ); + assert( pContext->getTime != NULL ); + assert( pContext->transportInterface.recv != NULL ); + assert( pContext->networkBuffer.pBuffer != NULL ); pIndex = pContext->networkBuffer.pBuffer; recvFunc = pContext->transportInterface.recv; @@ -1303,20 +1332,20 @@ static int32_t recvExact(const MQTTContext_t *pContext, /* Part of the MQTT packet has been read before calling this function. */ lastDataRecvTimeMs = getTimeStampMs(); - while ((bytesRemaining > 0U) && (receiveError == false)) + while( ( bytesRemaining > 0U ) && ( receiveError == false ) ) { - bytesRecvd = recvFunc(pContext->transportInterface.pNetworkContext, - pIndex, - bytesRemaining); + bytesRecvd = recvFunc( pContext->transportInterface.pNetworkContext, + pIndex, + bytesRemaining ); - if (bytesRecvd < 0) + if( bytesRecvd < 0 ) { - LogError(("Network error while receiving packet: ReturnCode=%ld.", - (long int)bytesRecvd)); + LogError( ( "Network error while receiving packet: ReturnCode=%ld.", + ( long int ) bytesRecvd ) ); totalBytesRecvd = bytesRecvd; receiveError = true; } - else if (bytesRecvd > 0) + else if( bytesRecvd > 0 ) { /* Reset the starting time as we have received some data from the network. */ lastDataRecvTimeMs = getTimeStampMs(); @@ -1326,26 +1355,26 @@ static int32_t recvExact(const MQTTContext_t *pContext, * overflow in converting bytesRemaining from unsigned to signed, * this assert must exist after the check for bytesRecvd being * negative. */ - assert((size_t)bytesRecvd <= bytesRemaining); + assert( ( size_t ) bytesRecvd <= bytesRemaining ); - bytesRemaining -= (size_t)bytesRecvd; - totalBytesRecvd += (int32_t)bytesRecvd; + bytesRemaining -= ( size_t ) bytesRecvd; + totalBytesRecvd += ( int32_t ) bytesRecvd; /* Increment the index. */ - pIndex = &pIndex[bytesRecvd]; - LogDebug(("BytesReceived=%ld, BytesRemaining=%lu, TotalBytesReceived=%ld.", - (long int)bytesRecvd, - (unsigned long)bytesRemaining, - (long int)totalBytesRecvd)); + pIndex = &pIndex[ bytesRecvd ]; + LogDebug( ( "BytesReceived=%ld, BytesRemaining=%lu, TotalBytesReceived=%ld.", + ( long int ) bytesRecvd, + ( unsigned long ) bytesRemaining, + ( long int ) totalBytesRecvd ) ); } else { /* No bytes were read from the network. */ - timeSinceLastRecvMs = calculateElapsedTime(getTimeStampMs(), lastDataRecvTimeMs); + timeSinceLastRecvMs = calculateElapsedTime( getTimeStampMs(), lastDataRecvTimeMs ); /* Check for timeout if we have been waiting to receive any byte on the network. */ - if (timeSinceLastRecvMs >= MQTT_RECV_POLLING_TIMEOUT_MS) + if( timeSinceLastRecvMs >= MQTT_RECV_POLLING_TIMEOUT_MS ) { - LogError(("Unable to receive packet: Timed out in transport recv.")); + LogError( ( "Unable to receive packet: Timed out in transport recv." ) ); receiveError = true; } } @@ -1356,9 +1385,9 @@ static int32_t recvExact(const MQTTContext_t *pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t discardPacket(const MQTTContext_t *pContext, - size_t remainingLength, - uint32_t timeoutMs) +static MQTTStatus_t discardPacket( const MQTTContext_t * pContext, + size_t remainingLength, + uint32_t timeoutMs ) { MQTTStatus_t status = MQTTRecvFailed; int32_t bytesReceived = 0; @@ -1369,50 +1398,50 @@ static MQTTStatus_t discardPacket(const MQTTContext_t *pContext, MQTTGetCurrentTimeFunc_t getTimeStampMs = NULL; bool receiveError = false; - assert(pContext != NULL); - assert(pContext->getTime != NULL); + assert( pContext != NULL ); + assert( pContext->getTime != NULL ); bytesToReceive = pContext->networkBuffer.size; getTimeStampMs = pContext->getTime; entryTimeMs = getTimeStampMs(); - while ((totalBytesReceived < remainingLength) && (receiveError == false)) + while( ( totalBytesReceived < remainingLength ) && ( receiveError == false ) ) { - if ((remainingLength - totalBytesReceived) < bytesToReceive) + if( ( remainingLength - totalBytesReceived ) < bytesToReceive ) { bytesToReceive = remainingLength - totalBytesReceived; } - bytesReceived = recvExact(pContext, bytesToReceive); + bytesReceived = recvExact( pContext, bytesToReceive ); - if (bytesReceived != (int32_t)bytesToReceive) + if( bytesReceived != ( int32_t ) bytesToReceive ) { - LogError(("Receive error while discarding packet." - "ReceivedBytes=%ld, ExpectedBytes=%lu.", - (long int)bytesReceived, - (unsigned long)bytesToReceive)); + LogError( ( "Receive error while discarding packet." + "ReceivedBytes=%ld, ExpectedBytes=%lu.", + ( long int ) bytesReceived, + ( unsigned long ) bytesToReceive ) ); receiveError = true; } else { - totalBytesReceived += (uint32_t)bytesReceived; + totalBytesReceived += ( uint32_t ) bytesReceived; - elapsedTimeMs = calculateElapsedTime(getTimeStampMs(), entryTimeMs); + elapsedTimeMs = calculateElapsedTime( getTimeStampMs(), entryTimeMs ); /* Check for timeout. */ - if (elapsedTimeMs >= timeoutMs) + if( elapsedTimeMs >= timeoutMs ) { - LogError(("Time expired while discarding packet.")); + LogError( ( "Time expired while discarding packet." ) ); receiveError = true; } } } - if (totalBytesReceived == remainingLength) + if( totalBytesReceived == remainingLength ) { - LogError(("Dumped packet. DumpedBytes=%lu.", - (unsigned long)totalBytesReceived)); + LogError( ( "Dumped packet. DumpedBytes=%lu.", + ( unsigned long ) totalBytesReceived ) ); /* Packet dumped, so no data is available. */ status = MQTTNoDataAvailable; } @@ -1422,8 +1451,8 @@ static MQTTStatus_t discardPacket(const MQTTContext_t *pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t discardStoredPacket(MQTTContext_t *pContext, - const MQTTPacketInfo_t *pPacketInfo) +static MQTTStatus_t discardStoredPacket( MQTTContext_t * pContext, + const MQTTPacketInfo_t * pPacketInfo ) { MQTTStatus_t status = MQTTRecvFailed; int32_t bytesReceived = 0; @@ -1433,14 +1462,14 @@ static MQTTStatus_t discardStoredPacket(MQTTContext_t *pContext, size_t mqttPacketSize = 0; size_t remainingLength; - assert(pContext != NULL); - assert(pPacketInfo != NULL); + assert( pContext != NULL ); + assert( pPacketInfo != NULL ); mqttPacketSize = pPacketInfo->remainingLength + pPacketInfo->headerLength; /* Assert that the packet being discarded is bigger than the * receive buffer. */ - assert(mqttPacketSize > pContext->networkBuffer.size); + assert( mqttPacketSize > pContext->networkBuffer.size ); /* Discard these many bytes at a time. */ bytesToReceive = pContext->networkBuffer.size; @@ -1448,41 +1477,41 @@ static MQTTStatus_t discardStoredPacket(MQTTContext_t *pContext, /* Number of bytes depicted by 'index' have already been received. */ remainingLength = mqttPacketSize - pContext->index; - while ((totalBytesReceived < remainingLength) && (receiveError == false)) + while( ( totalBytesReceived < remainingLength ) && ( receiveError == false ) ) { - if ((remainingLength - totalBytesReceived) < bytesToReceive) + if( ( remainingLength - totalBytesReceived ) < bytesToReceive ) { bytesToReceive = remainingLength - totalBytesReceived; } - bytesReceived = recvExact(pContext, bytesToReceive); + bytesReceived = recvExact( pContext, bytesToReceive ); - if (bytesReceived != (int32_t)bytesToReceive) + if( bytesReceived != ( int32_t ) bytesToReceive ) { - LogError(("Receive error while discarding packet." - "ReceivedBytes=%ld, ExpectedBytes=%lu.", - (long int)bytesReceived, - (unsigned long)bytesToReceive)); + LogError( ( "Receive error while discarding packet." + "ReceivedBytes=%ld, ExpectedBytes=%lu.", + ( long int ) bytesReceived, + ( unsigned long ) bytesToReceive ) ); receiveError = true; } else { - totalBytesReceived += (uint32_t)bytesReceived; + totalBytesReceived += ( uint32_t ) bytesReceived; } } - if (totalBytesReceived == remainingLength) + if( totalBytesReceived == remainingLength ) { - LogError(("Dumped packet. DumpedBytes=%lu.", - (unsigned long)totalBytesReceived)); + LogError( ( "Dumped packet. DumpedBytes=%lu.", + ( unsigned long ) totalBytesReceived ) ); /* Packet dumped, so no data is available. */ status = MQTTNoDataAvailable; } /* Clear the buffer */ - (void)memset(pContext->networkBuffer.pBuffer, - 0, - pContext->networkBuffer.size); + ( void ) memset( pContext->networkBuffer.pBuffer, + 0, + pContext->networkBuffer.size ); /* Reset the index. */ pContext->index = 0; @@ -1492,45 +1521,45 @@ static MQTTStatus_t discardStoredPacket(MQTTContext_t *pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t receivePacket(const MQTTContext_t *pContext, - MQTTPacketInfo_t incomingPacket, - uint32_t remainingTimeMs) +static MQTTStatus_t receivePacket( const MQTTContext_t * pContext, + MQTTPacketInfo_t incomingPacket, + uint32_t remainingTimeMs ) { MQTTStatus_t status = MQTTSuccess; int32_t bytesReceived = 0; size_t bytesToReceive = 0U; - assert(pContext != NULL); - assert(pContext->networkBuffer.pBuffer != NULL); + assert( pContext != NULL ); + assert( pContext->networkBuffer.pBuffer != NULL ); - if (incomingPacket.remainingLength > pContext->networkBuffer.size) + if( incomingPacket.remainingLength > pContext->networkBuffer.size ) { - LogError(("Incoming packet will be dumped: " - "Packet length exceeds network buffer size." - "PacketSize=%lu, NetworkBufferSize=%lu.", - (unsigned long)incomingPacket.remainingLength, - (unsigned long)pContext->networkBuffer.size)); - status = discardPacket(pContext, - incomingPacket.remainingLength, - remainingTimeMs); + LogError( ( "Incoming packet will be dumped: " + "Packet length exceeds network buffer size." + "PacketSize=%lu, NetworkBufferSize=%lu.", + ( unsigned long ) incomingPacket.remainingLength, + ( unsigned long ) pContext->networkBuffer.size ) ); + status = discardPacket( pContext, + incomingPacket.remainingLength, + remainingTimeMs ); } else { bytesToReceive = incomingPacket.remainingLength; - bytesReceived = recvExact(pContext, bytesToReceive); + bytesReceived = recvExact( pContext, bytesToReceive ); - if (bytesReceived == (int32_t)bytesToReceive) + if( bytesReceived == ( int32_t ) bytesToReceive ) { /* Receive successful, bytesReceived == bytesToReceive. */ - LogDebug(("Packet received. ReceivedBytes=%ld.", - (long int)bytesReceived)); + LogDebug( ( "Packet received. ReceivedBytes=%ld.", + ( long int ) bytesReceived ) ); } else { - LogError(("Packet reception failed. ReceivedBytes=%ld, " - "ExpectedBytes=%lu.", - (long int)bytesReceived, - (unsigned long)bytesToReceive)); + LogError( ( "Packet reception failed. ReceivedBytes=%ld, " + "ExpectedBytes=%lu.", + ( long int ) bytesReceived, + ( unsigned long ) bytesToReceive ) ); status = MQTTRecvFailed; } } @@ -1540,38 +1569,38 @@ static MQTTStatus_t receivePacket(const MQTTContext_t *pContext, /*-----------------------------------------------------------*/ -static uint8_t getAckTypeToSend(MQTTPublishState_t state) +static uint8_t getAckTypeToSend( MQTTPublishState_t state ) { uint8_t packetTypeByte = 0U; - switch (state) + switch( state ) { - case MQTTPubAckSend: - packetTypeByte = MQTT_PACKET_TYPE_PUBACK; - break; + case MQTTPubAckSend: + packetTypeByte = MQTT_PACKET_TYPE_PUBACK; + break; - case MQTTPubRecSend: - packetTypeByte = MQTT_PACKET_TYPE_PUBREC; - break; + case MQTTPubRecSend: + packetTypeByte = MQTT_PACKET_TYPE_PUBREC; + break; - case MQTTPubRelSend: - packetTypeByte = MQTT_PACKET_TYPE_PUBREL; - break; + case MQTTPubRelSend: + packetTypeByte = MQTT_PACKET_TYPE_PUBREL; + break; - case MQTTPubCompSend: - packetTypeByte = MQTT_PACKET_TYPE_PUBCOMP; - break; + case MQTTPubCompSend: + packetTypeByte = MQTT_PACKET_TYPE_PUBCOMP; + break; - case MQTTPubAckPending: - case MQTTPubCompPending: - case MQTTPubRecPending: - case MQTTPubRelPending: - case MQTTPublishDone: - case MQTTPublishSend: - case MQTTStateNull: - default: - /* Take no action for states that do not require sending an ack. */ - break; + case MQTTPubAckPending: + case MQTTPubCompPending: + case MQTTPubRecPending: + case MQTTPubRelPending: + case MQTTPublishDone: + case MQTTPublishSend: + case MQTTStateNull: + default: + /* Take no action for states that do not require sending an ack. */ + break; } return packetTypeByte; @@ -1579,9 +1608,9 @@ static uint8_t getAckTypeToSend(MQTTPublishState_t state) /*-----------------------------------------------------------*/ -static MQTTStatus_t sendPublishAcks(MQTTContext_t *pContext, - uint16_t packetId, - MQTTPublishState_t publishState) +static MQTTStatus_t sendPublishAcks( MQTTContext_t * pContext, + uint16_t packetId, + MQTTPublishState_t publishState ) { MQTTStatus_t status = MQTTSuccess; MQTTPublishState_t newState = MQTTStateNull; @@ -1589,62 +1618,62 @@ static MQTTStatus_t sendPublishAcks(MQTTContext_t *pContext, uint8_t packetTypeByte = 0U; MQTTPubAckType_t packetType; MQTTFixedBuffer_t localBuffer; - uint8_t pubAckPacket[MQTT_PUBLISH_ACK_PACKET_SIZE]; + uint8_t pubAckPacket[ MQTT_PUBLISH_ACK_PACKET_SIZE ]; localBuffer.pBuffer = pubAckPacket; localBuffer.size = MQTT_PUBLISH_ACK_PACKET_SIZE; - assert(pContext != NULL); + assert( pContext != NULL ); - packetTypeByte = getAckTypeToSend(publishState); + packetTypeByte = getAckTypeToSend( publishState ); - if (packetTypeByte != 0U) + if( packetTypeByte != 0U ) { - packetType = getAckFromPacketType(packetTypeByte); + packetType = getAckFromPacketType( packetTypeByte ); - status = MQTT_SerializeAck(&localBuffer, - packetTypeByte, - packetId); + status = MQTT_SerializeAck( &localBuffer, + packetTypeByte, + packetId ); - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { - MQTT_PRE_SEND_HOOK(pContext); + MQTT_PRE_SEND_HOOK( pContext ); /* Here, we are not using the vector approach for efficiency. There is just one buffer * to be sent which can be achieved with a normal send call. */ - sendResult = sendBuffer(pContext, - localBuffer.pBuffer, - MQTT_PUBLISH_ACK_PACKET_SIZE); + sendResult = sendBuffer( pContext, + localBuffer.pBuffer, + MQTT_PUBLISH_ACK_PACKET_SIZE ); - MQTT_POST_SEND_HOOK(pContext); + MQTT_POST_SEND_HOOK( pContext ); } - if (sendResult == (int32_t)MQTT_PUBLISH_ACK_PACKET_SIZE) + if( sendResult == ( int32_t ) MQTT_PUBLISH_ACK_PACKET_SIZE ) { pContext->controlPacketSent = true; - MQTT_PRE_STATE_UPDATE_HOOK(pContext); + MQTT_PRE_STATE_UPDATE_HOOK( pContext ); - status = MQTT_UpdateStateAck(pContext, - packetId, - packetType, - MQTT_SEND, - &newState); + status = MQTT_UpdateStateAck( pContext, + packetId, + packetType, + MQTT_SEND, + &newState ); - MQTT_POST_STATE_UPDATE_HOOK(pContext); + MQTT_POST_STATE_UPDATE_HOOK( pContext ); - if (status != MQTTSuccess) + if( status != MQTTSuccess ) { - LogError(("Failed to update state of publish %hu.", - (unsigned short)packetId)); + LogError( ( "Failed to update state of publish %hu.", + ( unsigned short ) packetId ) ); } } else { - LogError(("Failed to send ACK packet: PacketType=%02x, SentBytes=%ld, " - "PacketSize=%lu.", - (unsigned int)packetTypeByte, (long int)sendResult, - MQTT_PUBLISH_ACK_PACKET_SIZE)); + LogError( ( "Failed to send ACK packet: PacketType=%02x, SentBytes=%ld, " + "PacketSize=%lu.", + ( unsigned int ) packetTypeByte, ( long int ) sendResult, + MQTT_PUBLISH_ACK_PACKET_SIZE ) ); status = MQTTSendFailed; } } @@ -1654,52 +1683,52 @@ static MQTTStatus_t sendPublishAcks(MQTTContext_t *pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t handleKeepAlive(MQTTContext_t *pContext) +static MQTTStatus_t handleKeepAlive( MQTTContext_t * pContext ) { MQTTStatus_t status = MQTTSuccess; uint32_t now = 0U; uint32_t packetTxTimeoutMs = 0U; uint32_t lastPacketTxTime = 0U; - assert(pContext != NULL); - assert(pContext->getTime != NULL); + assert( pContext != NULL ); + assert( pContext->getTime != NULL ); now = pContext->getTime(); - packetTxTimeoutMs = 1000U * (uint32_t)pContext->keepAliveIntervalSec; + packetTxTimeoutMs = 1000U * ( uint32_t ) pContext->keepAliveIntervalSec; - if (PACKET_TX_TIMEOUT_MS < packetTxTimeoutMs) + if( PACKET_TX_TIMEOUT_MS < packetTxTimeoutMs ) { packetTxTimeoutMs = PACKET_TX_TIMEOUT_MS; } /* If keep alive interval is 0, it is disabled. */ - if (pContext->waitingForPingResp == true) + if( pContext->waitingForPingResp == true ) { /* Has time expired? */ - if (calculateElapsedTime(now, pContext->pingReqSendTimeMs) > - MQTT_PINGRESP_TIMEOUT_MS) + if( calculateElapsedTime( now, pContext->pingReqSendTimeMs ) > + MQTT_PINGRESP_TIMEOUT_MS ) { status = MQTTKeepAliveTimeout; } } else { - MQTT_PRE_STATE_UPDATE_HOOK(pContext); + MQTT_PRE_STATE_UPDATE_HOOK( pContext ); lastPacketTxTime = pContext->lastPacketTxTime; - MQTT_POST_STATE_UPDATE_HOOK(pContext); + MQTT_POST_STATE_UPDATE_HOOK( pContext ); - if ((packetTxTimeoutMs != 0U) && (calculateElapsedTime(now, lastPacketTxTime) >= packetTxTimeoutMs)) + if( ( packetTxTimeoutMs != 0U ) && ( calculateElapsedTime( now, lastPacketTxTime ) >= packetTxTimeoutMs ) ) { - status = MQTT_Ping(pContext); + status = MQTT_Ping( pContext ); } else { - const uint32_t timeElapsed = calculateElapsedTime(now, pContext->lastPacketRxTime); + const uint32_t timeElapsed = calculateElapsedTime( now, pContext->lastPacketRxTime ); - if ((timeElapsed != 0U) && (timeElapsed >= PACKET_RX_TIMEOUT_MS)) + if( ( timeElapsed != 0U ) && ( timeElapsed >= PACKET_RX_TIMEOUT_MS ) ) { - status = MQTT_Ping(pContext); + status = MQTT_Ping( pContext ); } } } @@ -1709,8 +1738,8 @@ static MQTTStatus_t handleKeepAlive(MQTTContext_t *pContext) /*-----------------------------------------------------------*/ -static MQTTStatus_t handleIncomingPublish(MQTTContext_t *pContext, - MQTTPacketInfo_t *pIncomingPacket) +static MQTTStatus_t handleIncomingPublish( MQTTContext_t * pContext, + MQTTPacketInfo_t * pIncomingPacket ) { MQTTStatus_t status = MQTTBadParameter; MQTTPublishState_t publishRecordState = MQTTStateNull; @@ -1719,41 +1748,41 @@ static MQTTStatus_t handleIncomingPublish(MQTTContext_t *pContext, MQTTDeserializedInfo_t deserializedInfo; bool duplicatePublish = false; - assert(pContext != NULL); - assert(pIncomingPacket != NULL); - assert(pContext->appCallback != NULL); + assert( pContext != NULL ); + assert( pIncomingPacket != NULL ); + assert( pContext->appCallback != NULL ); - status = MQTT_DeserializePublish(pIncomingPacket, &packetIdentifier, &publishInfo); - LogInfo(("De-serialized incoming PUBLISH packet: DeserializerResult=%s.", - MQTT_Status_strerror(status))); + status = MQTT_DeserializePublish( pIncomingPacket, &packetIdentifier, &publishInfo ); + LogInfo( ( "De-serialized incoming PUBLISH packet: DeserializerResult=%s.", + MQTT_Status_strerror( status ) ) ); - if ((status == MQTTSuccess) && - (pContext->incomingPublishRecords == NULL) && - (publishInfo.qos > MQTTQoS0)) + if( ( status == MQTTSuccess ) && + ( pContext->incomingPublishRecords == NULL ) && + ( publishInfo.qos > MQTTQoS0 ) ) { - LogError(("Incoming publish has QoS > MQTTQoS0 but incoming " - "publish records have not been initialized. Dropping the " - "incoming publish. Please call MQTT_InitStatefulQoS to enable " - "use of QoS1 and QoS2 publishes.")); + LogError( ( "Incoming publish has QoS > MQTTQoS0 but incoming " + "publish records have not been initialized. Dropping the " + "incoming publish. Please call MQTT_InitStatefulQoS to enable " + "use of QoS1 and QoS2 publishes." ) ); status = MQTTRecvFailed; } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { - MQTT_PRE_STATE_UPDATE_HOOK(pContext); + MQTT_PRE_STATE_UPDATE_HOOK( pContext ); - status = MQTT_UpdateStatePublish(pContext, - packetIdentifier, - MQTT_RECEIVE, - publishInfo.qos, - &publishRecordState); + status = MQTT_UpdateStatePublish( pContext, + packetIdentifier, + MQTT_RECEIVE, + publishInfo.qos, + &publishRecordState ); - MQTT_POST_STATE_UPDATE_HOOK(pContext); + MQTT_POST_STATE_UPDATE_HOOK( pContext ); - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { - LogInfo(("State record updated. New state=%s.", - MQTT_State_strerror(publishRecordState))); + LogInfo( ( "State record updated. New state=%s.", + MQTT_State_strerror( publishRecordState ) ) ); } /* Different cases in which an incoming publish with duplicate flag is @@ -1782,34 +1811,34 @@ static MQTTStatus_t handleIncomingPublish(MQTTContext_t *pContext, * state engine. This will be handled by ignoring the * #MQTTStateCollision status from the state engine. The publish * data is not passed to the application. */ - else if (status == MQTTStateCollision) + else if( status == MQTTStateCollision ) { status = MQTTSuccess; duplicatePublish = true; /* Calculate the state for the ack packet that needs to be sent out * for the duplicate incoming publish. */ - publishRecordState = MQTT_CalculateStatePublish(MQTT_RECEIVE, - publishInfo.qos); + publishRecordState = MQTT_CalculateStatePublish( MQTT_RECEIVE, + publishInfo.qos ); - LogDebug(("Incoming publish packet with packet id %hu already exists.", - (unsigned short)packetIdentifier)); + LogDebug( ( "Incoming publish packet with packet id %hu already exists.", + ( unsigned short ) packetIdentifier ) ); - if (publishInfo.dup == false) + if( publishInfo.dup == false ) { - LogError(("DUP flag is 0 for duplicate packet (MQTT-3.3.1.-1).")); + LogError( ( "DUP flag is 0 for duplicate packet (MQTT-3.3.1.-1)." ) ); } } else { - LogError(("Error in updating publish state for incoming publish with packet id %hu." - " Error is %s", - (unsigned short)packetIdentifier, - MQTT_Status_strerror(status))); + LogError( ( "Error in updating publish state for incoming publish with packet id %hu." + " Error is %s", + ( unsigned short ) packetIdentifier, + MQTT_Status_strerror( status ) ) ); } } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Set fields of deserialized struct. */ deserializedInfo.packetIdentifier = packetIdentifier; @@ -1820,17 +1849,17 @@ static MQTTStatus_t handleIncomingPublish(MQTTContext_t *pContext, * before sending acks. * Application callback will be invoked for all publishes, except for * duplicate incoming publishes. */ - if (duplicatePublish == false) + if( duplicatePublish == false ) { - pContext->appCallback(pContext, - pIncomingPacket, - &deserializedInfo); + pContext->appCallback( pContext, + pIncomingPacket, + &deserializedInfo ); } /* Send PUBACK or PUBREC if necessary. */ - status = sendPublishAcks(pContext, - packetIdentifier, - publishRecordState); + status = sendPublishAcks( pContext, + packetIdentifier, + publishRecordState ); } return status; @@ -1838,8 +1867,8 @@ static MQTTStatus_t handleIncomingPublish(MQTTContext_t *pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t handlePublishAcks(MQTTContext_t *pContext, - MQTTPacketInfo_t *pIncomingPacket) +static MQTTStatus_t handlePublishAcks( MQTTContext_t * pContext, + MQTTPacketInfo_t * pIncomingPacket ) { MQTTStatus_t status = MQTTBadResponse; MQTTPublishState_t publishRecordState = MQTTStateNull; @@ -1848,44 +1877,44 @@ static MQTTStatus_t handlePublishAcks(MQTTContext_t *pContext, MQTTEventCallback_t appCallback; MQTTDeserializedInfo_t deserializedInfo; - assert(pContext != NULL); - assert(pIncomingPacket != NULL); - assert(pContext->appCallback != NULL); + assert( pContext != NULL ); + assert( pIncomingPacket != NULL ); + assert( pContext->appCallback != NULL ); appCallback = pContext->appCallback; - ackType = getAckFromPacketType(pIncomingPacket->type); - status = MQTT_DeserializeAck(pIncomingPacket, &packetIdentifier, NULL); - LogInfo(("Ack packet deserialized with result: %s.", - MQTT_Status_strerror(status))); + ackType = getAckFromPacketType( pIncomingPacket->type ); + status = MQTT_DeserializeAck( pIncomingPacket, &packetIdentifier, NULL ); + LogInfo( ( "Ack packet deserialized with result: %s.", + MQTT_Status_strerror( status ) ) ); - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { - MQTT_PRE_STATE_UPDATE_HOOK(pContext); + MQTT_PRE_STATE_UPDATE_HOOK( pContext ); - status = MQTT_UpdateStateAck(pContext, - packetIdentifier, - ackType, - MQTT_RECEIVE, - &publishRecordState); + status = MQTT_UpdateStateAck( pContext, + packetIdentifier, + ackType, + MQTT_RECEIVE, + &publishRecordState ); - MQTT_POST_STATE_UPDATE_HOOK(pContext); + MQTT_POST_STATE_UPDATE_HOOK( pContext ); - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { - LogInfo(("State record updated. New state=%s.", - MQTT_State_strerror(publishRecordState))); + LogInfo( ( "State record updated. New state=%s.", + MQTT_State_strerror( publishRecordState ) ) ); } else { - LogError(("Updating the state engine for packet id %hu" - " failed with error %s.", - (unsigned short)packetIdentifier, - MQTT_Status_strerror(status))); + LogError( ( "Updating the state engine for packet id %hu" + " failed with error %s.", + ( unsigned short ) packetIdentifier, + MQTT_Status_strerror( status ) ) ); } } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Set fields of deserialized struct. */ deserializedInfo.packetIdentifier = packetIdentifier; @@ -1894,12 +1923,12 @@ static MQTTStatus_t handlePublishAcks(MQTTContext_t *pContext, /* Invoke application callback to hand the buffer over to application * before sending acks. */ - appCallback(pContext, pIncomingPacket, &deserializedInfo); + appCallback( pContext, pIncomingPacket, &deserializedInfo ); /* Send PUBREL or PUBCOMP if necessary. */ - status = sendPublishAcks(pContext, - packetIdentifier, - publishRecordState); + status = sendPublishAcks( pContext, + packetIdentifier, + publishRecordState ); } return status; @@ -1907,9 +1936,9 @@ static MQTTStatus_t handlePublishAcks(MQTTContext_t *pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t handleIncomingAck(MQTTContext_t *pContext, - MQTTPacketInfo_t *pIncomingPacket, - bool manageKeepAlive) +static MQTTStatus_t handleIncomingAck( MQTTContext_t * pContext, + MQTTPacketInfo_t * pIncomingPacket, + bool manageKeepAlive ) { MQTTStatus_t status = MQTTBadResponse; uint16_t packetIdentifier = MQTT_PACKET_ID_INVALID; @@ -1923,60 +1952,60 @@ static MQTTStatus_t handleIncomingAck(MQTTContext_t *pContext, bool invokeAppCallback = false; MQTTEventCallback_t appCallback = NULL; - assert(pContext != NULL); - assert(pIncomingPacket != NULL); - assert(pContext->appCallback != NULL); + assert( pContext != NULL ); + assert( pIncomingPacket != NULL ); + assert( pContext->appCallback != NULL ); appCallback = pContext->appCallback; - LogDebug(("Received packet of type %02x.", - (unsigned int)pIncomingPacket->type)); + LogDebug( ( "Received packet of type %02x.", + ( unsigned int ) pIncomingPacket->type ) ); - switch (pIncomingPacket->type) + switch( pIncomingPacket->type ) { - case MQTT_PACKET_TYPE_PUBACK: - case MQTT_PACKET_TYPE_PUBREC: - case MQTT_PACKET_TYPE_PUBREL: - case MQTT_PACKET_TYPE_PUBCOMP: + case MQTT_PACKET_TYPE_PUBACK: + case MQTT_PACKET_TYPE_PUBREC: + case MQTT_PACKET_TYPE_PUBREL: + case MQTT_PACKET_TYPE_PUBCOMP: - /* Handle all the publish acks. The app callback is invoked here. */ - status = handlePublishAcks(pContext, pIncomingPacket); + /* Handle all the publish acks. The app callback is invoked here. */ + status = handlePublishAcks( pContext, pIncomingPacket ); - break; + break; - case MQTT_PACKET_TYPE_PINGRESP: - status = MQTT_DeserializeAck(pIncomingPacket, &packetIdentifier, NULL); - invokeAppCallback = (status == MQTTSuccess) && !manageKeepAlive; + case MQTT_PACKET_TYPE_PINGRESP: + status = MQTT_DeserializeAck( pIncomingPacket, &packetIdentifier, NULL ); + invokeAppCallback = ( status == MQTTSuccess ) && !manageKeepAlive; - if ((status == MQTTSuccess) && (manageKeepAlive == true)) - { - pContext->waitingForPingResp = false; - } + if( ( status == MQTTSuccess ) && ( manageKeepAlive == true ) ) + { + pContext->waitingForPingResp = false; + } - break; + break; - case MQTT_PACKET_TYPE_SUBACK: - case MQTT_PACKET_TYPE_UNSUBACK: - /* Deserialize and give these to the app provided callback. */ - status = MQTT_DeserializeAck(pIncomingPacket, &packetIdentifier, NULL); - invokeAppCallback = (status == MQTTSuccess) || (status == MQTTServerRefused); - break; + case MQTT_PACKET_TYPE_SUBACK: + case MQTT_PACKET_TYPE_UNSUBACK: + /* Deserialize and give these to the app provided callback. */ + status = MQTT_DeserializeAck( pIncomingPacket, &packetIdentifier, NULL ); + invokeAppCallback = ( status == MQTTSuccess ) || ( status == MQTTServerRefused ); + break; - default: - /* Bad response from the server. */ - LogError(("Unexpected packet type from server: PacketType=%02x.", - (unsigned int)pIncomingPacket->type)); - status = MQTTBadResponse; - break; + default: + /* Bad response from the server. */ + LogError( ( "Unexpected packet type from server: PacketType=%02x.", + ( unsigned int ) pIncomingPacket->type ) ); + status = MQTTBadResponse; + break; } - if (invokeAppCallback == true) + if( invokeAppCallback == true ) { /* Set fields of deserialized struct. */ deserializedInfo.packetIdentifier = packetIdentifier; deserializedInfo.deserializationResult = status; deserializedInfo.pPublishInfo = NULL; - appCallback(pContext, pIncomingPacket, &deserializedInfo); + appCallback( pContext, pIncomingPacket, &deserializedInfo ); /* In case a SUBACK indicated refusal, reset the status to continue the loop. */ status = MQTTSuccess; } @@ -1985,28 +2014,28 @@ static MQTTStatus_t handleIncomingAck(MQTTContext_t *pContext, } /*-----------------------------------------------------------*/ -static MQTTStatus_t receiveSingleIteration(MQTTContext_t *pContext, - bool manageKeepAlive) +static MQTTStatus_t receiveSingleIteration( MQTTContext_t * pContext, + bool manageKeepAlive ) { MQTTStatus_t status = MQTTSuccess; - MQTTPacketInfo_t incomingPacket = {0}; + MQTTPacketInfo_t incomingPacket = { 0 }; int32_t recvBytes; size_t totalMQTTPacketLength = 0; - assert(pContext != NULL); - assert(pContext->networkBuffer.pBuffer != NULL); + assert( pContext != NULL ); + assert( pContext->networkBuffer.pBuffer != NULL ); /* Read as many bytes as possible into the network buffer. */ - recvBytes = pContext->transportInterface.recv(pContext->transportInterface.pNetworkContext, - &(pContext->networkBuffer.pBuffer[pContext->index]), - pContext->networkBuffer.size - pContext->index); + recvBytes = pContext->transportInterface.recv( pContext->transportInterface.pNetworkContext, + &( pContext->networkBuffer.pBuffer[ pContext->index ] ), + pContext->networkBuffer.size - pContext->index ); - if (recvBytes < 0) + if( recvBytes < 0 ) { /* The receive function has failed. Bubble up the error up to the user. */ status = MQTTRecvFailed; } - else if ((recvBytes == 0) && (pContext->index == 0U)) + else if( ( recvBytes == 0 ) && ( pContext->index == 0U ) ) { /* No more bytes available since the last read and neither is anything in * the buffer. */ @@ -2018,62 +2047,62 @@ static MQTTStatus_t receiveSingleIteration(MQTTContext_t *pContext, else { /* Update the number of bytes in the MQTT fixed buffer. */ - pContext->index += (size_t)recvBytes; + pContext->index += ( size_t ) recvBytes; - status = MQTT_ProcessIncomingPacketTypeAndLength(pContext->networkBuffer.pBuffer, - &(pContext->index), - &incomingPacket); + status = MQTT_ProcessIncomingPacketTypeAndLength( pContext->networkBuffer.pBuffer, + &( pContext->index ), + &incomingPacket ); totalMQTTPacketLength = incomingPacket.remainingLength + incomingPacket.headerLength; } /* No data was received, check for keep alive timeout. */ - if (recvBytes == 0) + if( recvBytes == 0 ) { - if (manageKeepAlive == true) + if( manageKeepAlive == true ) { /* Keep the copy of the status to be reset later. */ MQTTStatus_t statusCopy = status; /* Assign status so an error can be bubbled up to application, * but reset it on success. */ - status = handleKeepAlive(pContext); + status = handleKeepAlive( pContext ); - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Reset the status. */ status = statusCopy; } else { - LogError(("Handling of keep alive failed. Status=%s", - MQTT_Status_strerror(status))); + LogError( ( "Handling of keep alive failed. Status=%s", + MQTT_Status_strerror( status ) ) ); } } } /* Check whether there is data available before processing the packet further. */ - if ((status == MQTTNeedMoreBytes) || (status == MQTTNoDataAvailable)) + if( ( status == MQTTNeedMoreBytes ) || ( status == MQTTNoDataAvailable ) ) { /* Do nothing as there is nothing to be processed right now. The proper * error code will be bubbled up to the user. */ } /* Any other error code. */ - else if (status != MQTTSuccess) + else if( status != MQTTSuccess ) { - LogError(("Call to receiveSingleIteration failed. Status=%s", - MQTT_Status_strerror(status))); + LogError( ( "Call to receiveSingleIteration failed. Status=%s", + MQTT_Status_strerror( status ) ) ); } /* If the MQTT Packet size is bigger than the buffer itself. */ - else if (totalMQTTPacketLength > pContext->networkBuffer.size) + else if( totalMQTTPacketLength > pContext->networkBuffer.size ) { /* Discard the packet from the receive buffer and drain the pending * data from the socket buffer. */ - status = discardStoredPacket(pContext, - &incomingPacket); + status = discardStoredPacket( pContext, + &incomingPacket ); } /* If the total packet is of more length than the bytes we have available. */ - else if (totalMQTTPacketLength > pContext->index) + else if( totalMQTTPacketLength > pContext->index ) { status = MQTTNeedMoreBytes; } @@ -2083,36 +2112,36 @@ static MQTTStatus_t receiveSingleIteration(MQTTContext_t *pContext, } /* Handle received packet. If incomplete data was read then this will not execute. */ - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { - incomingPacket.pRemainingData = &pContext->networkBuffer.pBuffer[incomingPacket.headerLength]; + incomingPacket.pRemainingData = &pContext->networkBuffer.pBuffer[ incomingPacket.headerLength ]; /* PUBLISH packets allow flags in the lower four bits. For other * packet types, they are reserved. */ - if ((incomingPacket.type & 0xF0U) == MQTT_PACKET_TYPE_PUBLISH) + if( ( incomingPacket.type & 0xF0U ) == MQTT_PACKET_TYPE_PUBLISH ) { - status = handleIncomingPublish(pContext, &incomingPacket); + status = handleIncomingPublish( pContext, &incomingPacket ); } else { - status = handleIncomingAck(pContext, &incomingPacket, manageKeepAlive); + status = handleIncomingAck( pContext, &incomingPacket, manageKeepAlive ); } /* Update the index to reflect the remaining bytes in the buffer. */ pContext->index -= totalMQTTPacketLength; /* Move the remaining bytes to the front of the buffer. */ - (void)memmove(pContext->networkBuffer.pBuffer, - &(pContext->networkBuffer.pBuffer[totalMQTTPacketLength]), - pContext->index); + ( void ) memmove( pContext->networkBuffer.pBuffer, + &( pContext->networkBuffer.pBuffer[ totalMQTTPacketLength ] ), + pContext->index ); - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { pContext->lastPacketRxTime = pContext->getTime(); } } - if (status == MQTTNoDataAvailable) + if( status == MQTTNoDataAvailable ) { /* No data available is not an error. Reset to MQTTSuccess so the * return code will indicate success. */ @@ -2124,45 +2153,45 @@ static MQTTStatus_t receiveSingleIteration(MQTTContext_t *pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t validateSubscribeUnsubscribeParams(const MQTTContext_t *pContext, - const MQTTSubscribeInfo_t *pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId) +static MQTTStatus_t validateSubscribeUnsubscribeParams( const MQTTContext_t * pContext, + const MQTTSubscribeInfo_t * pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId ) { MQTTStatus_t status = MQTTSuccess; size_t iterator; /* Validate all the parameters. */ - if ((pContext == NULL) || (pSubscriptionList == NULL)) + if( ( pContext == NULL ) || ( pSubscriptionList == NULL ) ) { - LogError(("Argument cannot be NULL: pContext=%p, " - "pSubscriptionList=%p.", - (void *)pContext, - (void *)pSubscriptionList)); + LogError( ( "Argument cannot be NULL: pContext=%p, " + "pSubscriptionList=%p.", + ( void * ) pContext, + ( void * ) pSubscriptionList ) ); status = MQTTBadParameter; } - else if (subscriptionCount == 0UL) + else if( subscriptionCount == 0UL ) { - LogError(("Subscription count is 0.")); + LogError( ( "Subscription count is 0." ) ); status = MQTTBadParameter; } - else if (packetId == 0U) + else if( packetId == 0U ) { - LogError(("Packet Id for subscription packet is 0.")); + LogError( ( "Packet Id for subscription packet is 0." ) ); status = MQTTBadParameter; } else { - if (pContext->incomingPublishRecords == NULL) + if( pContext->incomingPublishRecords == NULL ) { - for (iterator = 0; iterator < subscriptionCount; iterator++) + for( iterator = 0; iterator < subscriptionCount; iterator++ ) { - if (pSubscriptionList->qos > MQTTQoS0) + if( pSubscriptionList->qos > MQTTQoS0 ) { - LogError(("The incoming publish record list is not " - "initialised for QoS1/QoS2 records. Please call " - " MQTT_InitStatefulQoS to enable use of QoS1 and " - " QoS2 packets.")); + LogError( ( "The incoming publish record list is not " + "initialised for QoS1/QoS2 records. Please call " + " MQTT_InitStatefulQoS to enable use of QoS1 and " + " QoS2 packets." ) ); status = MQTTBadParameter; break; } @@ -2177,17 +2206,17 @@ static MQTTStatus_t validateSubscribeUnsubscribeParams(const MQTTContext_t *pCon /*-----------------------------------------------------------*/ -static MQTTStatus_t sendSubscribeWithoutCopy(MQTTContext_t *pContext, - const MQTTSubscribeInfo_t *pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength) +static MQTTStatus_t sendSubscribeWithoutCopy( MQTTContext_t * pContext, + const MQTTSubscribeInfo_t * pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength ) { MQTTStatus_t status = MQTTSuccess; - uint8_t *pIndex; - TransportOutVector_t pIoVector[MQTT_SUB_UNSUB_MAX_VECTORS]; - TransportOutVector_t *pIterator; - uint8_t serializedTopicFieldLength[MQTT_SUB_UNSUB_MAX_VECTORS][CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES]; + uint8_t * pIndex; + TransportOutVector_t pIoVector[ MQTT_SUB_UNSUB_MAX_VECTORS ]; + TransportOutVector_t * pIterator; + uint8_t serializedTopicFieldLength[ MQTT_SUB_UNSUB_MAX_VECTORS ][ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ]; size_t totalPacketLength = 0U; size_t ioVectorLength = 0U; size_t subscriptionsSent = 0U; @@ -2199,18 +2228,18 @@ static MQTTStatus_t sendSubscribeWithoutCopy(MQTTContext_t *pContext, * MQTT Control Byte 0 + 1 = 1 * Remaining length (max) + 4 = 5 * Packet ID + 2 = 7 */ - uint8_t subscribeheader[7U]; + uint8_t subscribeheader[ 7U ]; /* The vector array should be at least three element long as the topic * string needs these many vector elements to be stored. */ - assert(MQTT_SUB_UNSUB_MAX_VECTORS >= CORE_MQTT_SUBSCRIBE_PER_TOPIC_VECTOR_LENGTH); + assert( MQTT_SUB_UNSUB_MAX_VECTORS >= CORE_MQTT_SUBSCRIBE_PER_TOPIC_VECTOR_LENGTH ); pIndex = subscribeheader; pIterator = pIoVector; - pIndex = MQTT_SerializeSubscribeHeader(remainingLength, - pIndex, - packetId); + pIndex = MQTT_SerializeSubscribeHeader( remainingLength, + pIndex, + packetId ); /* The header is to be sent first. */ pIterator->iov_base = subscribeheader; @@ -2218,33 +2247,33 @@ static MQTTStatus_t sendSubscribeWithoutCopy(MQTTContext_t *pContext, /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-108 */ /* coverity[misra_c_2012_rule_18_2_violation] */ /* coverity[misra_c_2012_rule_10_8_violation] */ - pIterator->iov_len = (size_t)(pIndex - subscribeheader); + pIterator->iov_len = ( size_t ) ( pIndex - subscribeheader ); totalPacketLength += pIterator->iov_len; pIterator++; ioVectorLength++; - while ((status == MQTTSuccess) && (subscriptionsSent < subscriptionCount)) + while( ( status == MQTTSuccess ) && ( subscriptionsSent < subscriptionCount ) ) { /* Reset the index for next iteration. */ topicFieldLengthIndex = 0; /* Check whether the subscription topic (with QoS) will fit in the * given vector. */ - while ((ioVectorLength <= (MQTT_SUB_UNSUB_MAX_VECTORS - CORE_MQTT_SUBSCRIBE_PER_TOPIC_VECTOR_LENGTH)) && - (subscriptionsSent < subscriptionCount)) + while( ( ioVectorLength <= ( MQTT_SUB_UNSUB_MAX_VECTORS - CORE_MQTT_SUBSCRIBE_PER_TOPIC_VECTOR_LENGTH ) ) && + ( subscriptionsSent < subscriptionCount ) ) { /* The topic filter and the filter length gets sent next. */ - vectorsAdded = addEncodedStringToVector(serializedTopicFieldLength[topicFieldLengthIndex], - pSubscriptionList[subscriptionsSent].pTopicFilter, - pSubscriptionList[subscriptionsSent].topicFilterLength, - pIterator, - &totalPacketLength); + vectorsAdded = addEncodedStringToVector( serializedTopicFieldLength[ topicFieldLengthIndex ], + pSubscriptionList[ subscriptionsSent ].pTopicFilter, + pSubscriptionList[ subscriptionsSent ].topicFilterLength, + pIterator, + &totalPacketLength ); /* Update the pointer after the above operation. */ - pIterator = &pIterator[vectorsAdded]; + pIterator = &pIterator[ vectorsAdded ]; /* Lastly, the QoS gets sent. */ - pIterator->iov_base = &(pSubscriptionList[subscriptionsSent].qos); + pIterator->iov_base = &( pSubscriptionList[ subscriptionsSent ].qos ); pIterator->iov_len = 1U; totalPacketLength += pIterator->iov_len; @@ -2261,9 +2290,9 @@ static MQTTStatus_t sendSubscribeWithoutCopy(MQTTContext_t *pContext, topicFieldLengthIndex++; } - if (sendMessageVector(pContext, - pIoVector, - ioVectorLength) != (int32_t)totalPacketLength) + if( sendMessageVector( pContext, + pIoVector, + ioVectorLength ) != ( int32_t ) totalPacketLength ) { status = MQTTSendFailed; } @@ -2281,17 +2310,17 @@ static MQTTStatus_t sendSubscribeWithoutCopy(MQTTContext_t *pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t sendUnsubscribeWithoutCopy(MQTTContext_t *pContext, - const MQTTSubscribeInfo_t *pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength) +static MQTTStatus_t sendUnsubscribeWithoutCopy( MQTTContext_t * pContext, + const MQTTSubscribeInfo_t * pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength ) { MQTTStatus_t status = MQTTSuccess; - uint8_t *pIndex; - TransportOutVector_t pIoVector[MQTT_SUB_UNSUB_MAX_VECTORS]; - TransportOutVector_t *pIterator; - uint8_t serializedTopicFieldLength[MQTT_SUB_UNSUB_MAX_VECTORS][CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES]; + uint8_t * pIndex; + TransportOutVector_t pIoVector[ MQTT_SUB_UNSUB_MAX_VECTORS ]; + TransportOutVector_t * pIterator; + uint8_t serializedTopicFieldLength[ MQTT_SUB_UNSUB_MAX_VECTORS ][ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ]; size_t totalPacketLength = 0U; size_t unsubscriptionsSent = 0U; size_t ioVectorLength = 0U; @@ -2303,18 +2332,18 @@ static MQTTStatus_t sendUnsubscribeWithoutCopy(MQTTContext_t *pContext, * MQTT Control Byte 0 + 1 = 1 * Remaining length (max) + 4 = 5 * Packet ID + 2 = 7 */ - uint8_t unsubscribeheader[7U]; + uint8_t unsubscribeheader[ 7U ]; /* The vector array should be at least three element long as the topic * string needs these many vector elements to be stored. */ - assert(MQTT_SUB_UNSUB_MAX_VECTORS >= CORE_MQTT_UNSUBSCRIBE_PER_TOPIC_VECTOR_LENGTH); + assert( MQTT_SUB_UNSUB_MAX_VECTORS >= CORE_MQTT_UNSUBSCRIBE_PER_TOPIC_VECTOR_LENGTH ); pIndex = unsubscribeheader; pIterator = pIoVector; - pIndex = MQTT_SerializeUnsubscribeHeader(remainingLength, - pIndex, - packetId); + pIndex = MQTT_SerializeUnsubscribeHeader( remainingLength, + pIndex, + packetId ); /* The header is to be sent first. */ pIterator->iov_base = unsubscribeheader; @@ -2322,29 +2351,29 @@ static MQTTStatus_t sendUnsubscribeWithoutCopy(MQTTContext_t *pContext, /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-108 */ /* coverity[misra_c_2012_rule_18_2_violation] */ /* coverity[misra_c_2012_rule_10_8_violation] */ - pIterator->iov_len = (size_t)(pIndex - unsubscribeheader); + pIterator->iov_len = ( size_t ) ( pIndex - unsubscribeheader ); totalPacketLength += pIterator->iov_len; pIterator++; ioVectorLength++; - while ((status == MQTTSuccess) && (unsubscriptionsSent < subscriptionCount)) + while( ( status == MQTTSuccess ) && ( unsubscriptionsSent < subscriptionCount ) ) { /* Reset the index for next iteration. */ topicFieldLengthIndex = 0; /* Check whether the subscription topic will fit in the given vector. */ - while ((ioVectorLength <= (MQTT_SUB_UNSUB_MAX_VECTORS - CORE_MQTT_UNSUBSCRIBE_PER_TOPIC_VECTOR_LENGTH)) && - (unsubscriptionsSent < subscriptionCount)) + while( ( ioVectorLength <= ( MQTT_SUB_UNSUB_MAX_VECTORS - CORE_MQTT_UNSUBSCRIBE_PER_TOPIC_VECTOR_LENGTH ) ) && + ( unsubscriptionsSent < subscriptionCount ) ) { /* The topic filter gets sent next. */ - vectorsAdded = addEncodedStringToVector(serializedTopicFieldLength[topicFieldLengthIndex], - pSubscriptionList[unsubscriptionsSent].pTopicFilter, - pSubscriptionList[unsubscriptionsSent].topicFilterLength, - pIterator, - &totalPacketLength); + vectorsAdded = addEncodedStringToVector( serializedTopicFieldLength[ topicFieldLengthIndex ], + pSubscriptionList[ unsubscriptionsSent ].pTopicFilter, + pSubscriptionList[ unsubscriptionsSent ].topicFilterLength, + pIterator, + &totalPacketLength ); /* Update the iterator to point to the next empty location. */ - pIterator = &pIterator[vectorsAdded]; + pIterator = &pIterator[ vectorsAdded ]; /* Update the total count based on how many vectors were added. */ ioVectorLength += vectorsAdded; @@ -2354,7 +2383,7 @@ static MQTTStatus_t sendUnsubscribeWithoutCopy(MQTTContext_t *pContext, topicFieldLengthIndex++; } - if (sendMessageVector(pContext, pIoVector, ioVectorLength) != (int32_t)totalPacketLength) + if( sendMessageVector( pContext, pIoVector, ioVectorLength ) != ( int32_t ) totalPacketLength ) { status = MQTTSendFailed; } @@ -2372,11 +2401,11 @@ static MQTTStatus_t sendUnsubscribeWithoutCopy(MQTTContext_t *pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t sendPublishWithoutCopy(MQTTContext_t *pContext, - const MQTTPublishInfo_t *pPublishInfo, - const uint8_t *pMqttHeader, - size_t headerSize, - uint16_t packetId) +static MQTTStatus_t sendPublishWithoutCopy( MQTTContext_t * pContext, + const MQTTPublishInfo_t * pPublishInfo, + const uint8_t * pMqttHeader, + size_t headerSize, + uint16_t packetId ) { MQTTStatus_t status = MQTTSuccess; size_t ioVectorLength; @@ -2384,7 +2413,7 @@ static MQTTStatus_t sendPublishWithoutCopy(MQTTContext_t *pContext, /* Bytes required to encode the packet ID in an MQTT header according to * the MQTT specification. */ - uint8_t serializedPacketID[2U]; + uint8_t serializedPacketID[ 2U ]; /* Maximum number of vectors required to encode and send a publish * packet. The breakdown is shown below. @@ -2392,46 +2421,46 @@ static MQTTStatus_t sendPublishWithoutCopy(MQTTContext_t *pContext, * Topic string + 1 = 2 * Packet ID (only when QoS > QoS0) + 1 = 3 * Payload + 1 = 4 */ - TransportOutVector_t pIoVector[4U]; + TransportOutVector_t pIoVector[ 4U ]; /* The header is sent first. */ - pIoVector[0U].iov_base = pMqttHeader; - pIoVector[0U].iov_len = headerSize; + pIoVector[ 0U ].iov_base = pMqttHeader; + pIoVector[ 0U ].iov_len = headerSize; totalMessageLength = headerSize; /* Then the topic name has to be sent. */ - pIoVector[1U].iov_base = pPublishInfo->pTopicName; - pIoVector[1U].iov_len = pPublishInfo->topicNameLength; + pIoVector[ 1U ].iov_base = pPublishInfo->pTopicName; + pIoVector[ 1U ].iov_len = pPublishInfo->topicNameLength; totalMessageLength += pPublishInfo->topicNameLength; /* The next field's index should be 2 as the first two fields * have been filled in. */ ioVectorLength = 2U; - if (pPublishInfo->qos > MQTTQoS0) + if( pPublishInfo->qos > MQTTQoS0 ) { /* Encode the packet ID. */ - serializedPacketID[0] = ((uint8_t)((packetId) >> 8)); - serializedPacketID[1] = ((uint8_t)((packetId) & 0x00ffU)); + serializedPacketID[ 0 ] = ( ( uint8_t ) ( ( packetId ) >> 8 ) ); + serializedPacketID[ 1 ] = ( ( uint8_t ) ( ( packetId ) & 0x00ffU ) ); - pIoVector[ioVectorLength].iov_base = serializedPacketID; - pIoVector[ioVectorLength].iov_len = sizeof(serializedPacketID); + pIoVector[ ioVectorLength ].iov_base = serializedPacketID; + pIoVector[ ioVectorLength ].iov_len = sizeof( serializedPacketID ); ioVectorLength++; - totalMessageLength += sizeof(serializedPacketID); + totalMessageLength += sizeof( serializedPacketID ); } /* Publish packets are allowed to contain no payload. */ - if (pPublishInfo->payloadLength > 0U) + if( pPublishInfo->payloadLength > 0U ) { - pIoVector[ioVectorLength].iov_base = pPublishInfo->pPayload; - pIoVector[ioVectorLength].iov_len = pPublishInfo->payloadLength; + pIoVector[ ioVectorLength ].iov_base = pPublishInfo->pPayload; + pIoVector[ ioVectorLength ].iov_len = pPublishInfo->payloadLength; ioVectorLength++; totalMessageLength += pPublishInfo->payloadLength; } - if (sendMessageVector(pContext, pIoVector, ioVectorLength) != (int32_t)totalMessageLength) + if( sendMessageVector( pContext, pIoVector, ioVectorLength ) != ( int32_t ) totalMessageLength ) { status = MQTTSendFailed; } @@ -2441,62 +2470,63 @@ static MQTTStatus_t sendPublishWithoutCopy(MQTTContext_t *pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, - const MQTTConnectInfo_t *pConnectInfo, - const MQTTPublishInfo_t *pWillInfo, - size_t remainingLength) +static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, + const MQTTConnectInfo_t * pConnectInfo, + const MQTTPublishInfo_t * pWillInfo, + size_t remainingLength ) { MQTTStatus_t status = MQTTSuccess; - TransportOutVector_t *iterator; + TransportOutVector_t * iterator; size_t ioVectorLength = 0U; size_t totalMessageLength = 0U; int32_t bytesSentOrError; - uint8_t *pIndex; - uint8_t serializedClientIDLength[2]; - uint8_t serializedTopicLength[2]; - uint8_t serializedPayloadLength[2]; - uint8_t serializedUsernameLength[2]; - uint8_t serializedPasswordLength[2]; + uint8_t * pIndex; + uint8_t serializedClientIDLength[ 2 ]; + uint8_t serializedTopicLength[ 2 ]; + uint8_t serializedPayloadLength[ 2 ]; + uint8_t serializedUsernameLength[ 2 ]; + uint8_t serializedPasswordLength[ 2 ]; size_t vectorsAdded; -#if (!MQTT_VERSION_5_ENABLED) - /* Maximum number of bytes required by the 'fixed' part of the CONNECT - * packet header according to the MQTT specification. - * MQTT Control Byte 0 + 1 = 1 - * Remaining length (max) + 4 = 5 - * Protocol Name Length + 2 = 7 - * Protocol Name (MQTT) + 4 = 11 - * Protocol level + 1 = 12 - * Connect flags + 1 = 13 - * Keep alive + 2 = 15 */ - uint8_t connectPacketHeader[15U]; - -#else - /* Maximum number of bytes required by the fixed part of the CONNECT - * packet header according to the MQTT specification. - * MQTT Control Byte 0 + 1 = 1 - * Remaining length (max) + 4 = 5 - * Protocol Name Length + 2 = 7 - * Protocol Name (MQTT) + 4 = 11 - * Protocol level + 1 = 12 - * Connect flags + 1 = 13 - * Keep alive + 2 = 15 - * Properties length + 4 = 19 - * Session Expiry + 5 = 24 - * receive Maximum + 3 = 27 - * Max packet Size + 5 = 32 - * Topic Alias Maximum + 3 = 35 - * Request response Information + 2 = 37 - * Request problem Information + 2 = 39 - * Total- 39 - */ - - uint8_t connectPacketHeader[39U]; - uint8_t fixedSizeProperties[20U]; - WillVector_t willVector; - PropertiesVector_t propertiesVector; + #if ( !MQTT_VERSION_5_ENABLED ) + + /* Maximum number of bytes required by the 'fixed' part of the CONNECT + * packet header according to the MQTT specification. + * MQTT Control Byte 0 + 1 = 1 + * Remaining length (max) + 4 = 5 + * Protocol Name Length + 2 = 7 + * Protocol Name (MQTT) + 4 = 11 + * Protocol level + 1 = 12 + * Connect flags + 1 = 13 + * Keep alive + 2 = 15 */ + uint8_t connectPacketHeader[ 15U ]; + #else + + /* Maximum number of bytes required by the fixed part of the CONNECT + * packet header according to the MQTT specification. + * MQTT Control Byte 0 + 1 = 1 + * Remaining length (max) + 4 = 5 + * Protocol Name Length + 2 = 7 + * Protocol Name (MQTT) + 4 = 11 + * Protocol level + 1 = 12 + * Connect flags + 1 = 13 + * Keep alive + 2 = 15 + * Properties length + 4 = 19 + * Session Expiry + 5 = 24 + * receive Maximum + 3 = 27 + * Max packet Size + 5 = 32 + * Topic Alias Maximum + 3 = 35 + * Request response Information + 2 = 37 + * Request problem Information + 2 = 39 + * Total- 39 + */ + + uint8_t connectPacketHeader[ 39U ]; + uint8_t fixedSizeProperties[ 20U ]; + WillVector_t willVector; + PropertiesVector_t propertiesVector; + #endif -#endif /* The maximum vectors required to encode and send a connect packet. The * breakdown is shown below. * Fixed header 0 + 1 = 1 @@ -2505,42 +2535,41 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, * Will payload + 2 = 7 * Username + 2 = 9 * Password + 2 = 11 */ -#if (MQTT_VERSION_5_ENABLED == 0) - TransportOutVector_t pIoVector[11U]; -#else - /* - * - * User Property- 11 + 5* Max userProperty - * Authentication 17 + 5* Max userProperty - * Will Properties 27 + 10* Max userProperty - * - */ - TransportOutVector_t pIoVector[27 + 10 * MAX_USER_PROPERTY]; -#endif + #if ( MQTT_VERSION_5_ENABLED == 0 ) + TransportOutVector_t pIoVector[ 11U ]; + #else + + /* + * + * User Property- 11 + 5* Max userProperty + * Authentication 17 + 5* Max userProperty + * Will Properties 27 + 10* Max userProperty + * + */ + TransportOutVector_t pIoVector[ 27 + 10 * MAX_USER_PROPERTY ]; + #endif iterator = pIoVector; pIndex = connectPacketHeader; /* Validate arguments. */ - if ((pWillInfo != NULL) && (pWillInfo->pTopicName == NULL)) + if( ( pWillInfo != NULL ) && ( pWillInfo->pTopicName == NULL ) ) { - LogError(("pWillInfo->pTopicName cannot be NULL if Will is present.")); + LogError( ( "pWillInfo->pTopicName cannot be NULL if Will is present." ) ); status = MQTTBadParameter; } else { - pIndex = MQTT_SerializeConnectFixedHeader(pIndex, - pConnectInfo, - pWillInfo, - remainingLength); + pIndex = MQTT_SerializeConnectFixedHeader( pIndex, + pConnectInfo, + pWillInfo, + remainingLength ); -#if (MQTT_VERSION_5_ENABLED) - - pIndex = MQTT_SerializeConnectProperties(pIndex, pContext->connectProperties); - -#endif - assert(((size_t)(pIndex - connectPacketHeader)) <= sizeof(connectPacketHeader)); + #if ( MQTT_VERSION_5_ENABLED ) + pIndex = MQTT_SerializeConnectProperties( pIndex, pContext->connectProperties ); + #endif + assert( ( ( size_t ) ( pIndex - connectPacketHeader ) ) <= sizeof( connectPacketHeader ) ); /* The header gets sent first. */ iterator->iov_base = connectPacketHeader; @@ -2548,105 +2577,100 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-108 */ /* coverity[misra_c_2012_rule_18_2_violation] */ /* coverity[misra_c_2012_rule_10_8_violation] */ - iterator->iov_len = (size_t)(pIndex - connectPacketHeader); + iterator->iov_len = ( size_t ) ( pIndex - connectPacketHeader ); totalMessageLength += iterator->iov_len; iterator++; ioVectorLength++; -#if (MQTT_VERSION_5_ENABLED) - /*Encode the user Properties if provided*/ - ioVectorLength += sendConnectProperties(pContext->connectProperties,&propertiesVector,&totalMessageLength,&iterator); + #if ( MQTT_VERSION_5_ENABLED ) + /*Encode the user Properties if provided*/ + ioVectorLength += sendConnectProperties( pContext->connectProperties, &propertiesVector, &totalMessageLength, &iterator ); /*Encodethe authentication method and data if provided*/ - - -#endif + #endif /* Serialize the client ID. */ - vectorsAdded = addEncodedStringToVector(serializedClientIDLength, - pConnectInfo->pClientIdentifier, - pConnectInfo->clientIdentifierLength, - iterator, - &totalMessageLength); + vectorsAdded = addEncodedStringToVector( serializedClientIDLength, + pConnectInfo->pClientIdentifier, + pConnectInfo->clientIdentifierLength, + iterator, + &totalMessageLength ); /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; + iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; - if (pWillInfo != NULL) - { -#if (MQTT_VERSION_5_ENABLED) - - /*Serialize the will properties*/ - pIndex = fixedSizeProperties; - pIndex = MQTT_SerializePublishProperties(pWillInfo, pIndex); - iterator->iov_base = fixedSizeProperties; - /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-182 */ - /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-108 */ - /* coverity[misra_c_2012_rule_18_2_violation] */ - /* coverity[misra_c_2012_rule_10_8_violation] */ - iterator->iov_len = (size_t)(pIndex - fixedSizeProperties); - totalMessageLength += iterator->iov_len; - iterator++; - ioVectorLength++; - ioVectorLength += sendWillProperties(pWillInfo,&willVector,&totalMessageLength,&iterator); - - -#endif + if( pWillInfo != NULL ) + { + #if ( MQTT_VERSION_5_ENABLED ) + /*Serialize the will properties*/ + pIndex = fixedSizeProperties; + pIndex = MQTT_SerializePublishProperties( pWillInfo, pIndex ); + iterator->iov_base = fixedSizeProperties; + /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-182 */ + /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-108 */ + /* coverity[misra_c_2012_rule_18_2_violation] */ + /* coverity[misra_c_2012_rule_10_8_violation] */ + iterator->iov_len = ( size_t ) ( pIndex - fixedSizeProperties ); + totalMessageLength += iterator->iov_len; + iterator++; + ioVectorLength++; + ioVectorLength += sendWillProperties( pWillInfo, &willVector, &totalMessageLength, &iterator ); + #endif /* if ( MQTT_VERSION_5_ENABLED ) */ /* Serialize the topic. */ - vectorsAdded = addEncodedStringToVector(serializedTopicLength, - pWillInfo->pTopicName, - pWillInfo->topicNameLength, - iterator, - &totalMessageLength); + vectorsAdded = addEncodedStringToVector( serializedTopicLength, + pWillInfo->pTopicName, + pWillInfo->topicNameLength, + iterator, + &totalMessageLength ); /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; + iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; /* Serialize the payload. Payload of last will and testament can be NULL. */ - vectorsAdded = addEncodedStringToVector(serializedPayloadLength, - pWillInfo->pPayload, - (uint16_t)pWillInfo->payloadLength, - iterator, - &totalMessageLength); + vectorsAdded = addEncodedStringToVector( serializedPayloadLength, + pWillInfo->pPayload, + ( uint16_t ) pWillInfo->payloadLength, + iterator, + &totalMessageLength ); /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; + iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; } /* Encode the user name if provided. */ - if (pConnectInfo->pUserName != NULL) + if( pConnectInfo->pUserName != NULL ) { /* Serialize the user name string. */ - vectorsAdded = addEncodedStringToVector(serializedUsernameLength, - pConnectInfo->pUserName, - pConnectInfo->userNameLength, - iterator, - &totalMessageLength); + vectorsAdded = addEncodedStringToVector( serializedUsernameLength, + pConnectInfo->pUserName, + pConnectInfo->userNameLength, + iterator, + &totalMessageLength ); /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; + iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; } /* Encode the password if provided. */ - if (pConnectInfo->pPassword != NULL) + if( pConnectInfo->pPassword != NULL ) { /* Serialize the user name string. */ - vectorsAdded = addEncodedStringToVector(serializedPasswordLength, - pConnectInfo->pPassword, - pConnectInfo->passwordLength, - iterator, - &totalMessageLength); + vectorsAdded = addEncodedStringToVector( serializedPasswordLength, + pConnectInfo->pPassword, + pConnectInfo->passwordLength, + iterator, + &totalMessageLength ); /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[vectorsAdded]; + iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; } - bytesSentOrError = sendMessageVector(pContext, pIoVector, ioVectorLength); + bytesSentOrError = sendMessageVector( pContext, pIoVector, ioVectorLength ); - if (bytesSentOrError != (int32_t)totalMessageLength) + if( bytesSentOrError != ( int32_t ) totalMessageLength ) { status = MQTTSendFailed; } @@ -2657,11 +2681,11 @@ static MQTTStatus_t sendConnectWithoutCopy(MQTTContext_t *pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t receiveConnack(const MQTTContext_t *pContext, - uint32_t timeoutMs, - bool cleanSession, - MQTTPacketInfo_t *pIncomingPacket, - bool *pSessionPresent) +static MQTTStatus_t receiveConnack( const MQTTContext_t * pContext, + uint32_t timeoutMs, + bool cleanSession, + MQTTPacketInfo_t * pIncomingPacket, + bool * pSessionPresent ) { MQTTStatus_t status = MQTTSuccess; MQTTGetCurrentTimeFunc_t getTimeStamp = NULL; @@ -2669,9 +2693,9 @@ static MQTTStatus_t receiveConnack(const MQTTContext_t *pContext, bool breakFromLoop = false; uint16_t loopCount = 0U; - assert(pContext != NULL); - assert(pIncomingPacket != NULL); - assert(pContext->getTime != NULL); + assert( pContext != NULL ); + assert( pIncomingPacket != NULL ); + assert( pContext->getTime != NULL ); getTimeStamp = pContext->getTime; @@ -2684,9 +2708,9 @@ static MQTTStatus_t receiveConnack(const MQTTContext_t *pContext, * MQTT_GetIncomingPacketTypeAndLength is a blocking call and it is * returned after a transport receive timeout, an error, or a successful * receive of packet type and length. */ - status = MQTT_GetIncomingPacketTypeAndLength(pContext->transportInterface.recv, - pContext->transportInterface.pNetworkContext, - pIncomingPacket); + status = MQTT_GetIncomingPacketTypeAndLength( pContext->transportInterface.recv, + pContext->transportInterface.pNetworkContext, + pIncomingPacket ); /* The loop times out based on 2 conditions. * 1. If timeoutMs is greater than 0: @@ -2697,9 +2721,9 @@ static MQTTStatus_t receiveConnack(const MQTTContext_t *pContext, * MQTT_MAX_CONNACK_RECEIVE_RETRY_COUNT. This config will control * maximum the number of retry attempts to read the CONNACK packet. * A value of 0 for the config will try once to read CONNACK. */ - if (timeoutMs > 0U) + if( timeoutMs > 0U ) { - breakFromLoop = calculateElapsedTime(getTimeStamp(), entryTimeMs) >= timeoutMs; + breakFromLoop = calculateElapsedTime( getTimeStamp(), entryTimeMs ) >= timeoutMs; } else { @@ -2708,14 +2732,14 @@ static MQTTStatus_t receiveConnack(const MQTTContext_t *pContext, } /* Loop until there is data to read or if we have exceeded the timeout/retries. */ - } while ((status == MQTTNoDataAvailable) && (breakFromLoop == false)); + } while( ( status == MQTTNoDataAvailable ) && ( breakFromLoop == false ) ); - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Time taken in this function so far. */ - timeTakenMs = calculateElapsedTime(getTimeStamp(), entryTimeMs); + timeTakenMs = calculateElapsedTime( getTimeStamp(), entryTimeMs ); - if (timeTakenMs < timeoutMs) + if( timeTakenMs < timeoutMs ) { /* Calculate remaining time for receiving the remainder of * the packet. */ @@ -2729,55 +2753,55 @@ static MQTTStatus_t receiveConnack(const MQTTContext_t *pContext, * CONNACK packet is tried to be read only once. Reading once would be * good as the packet type and remaining length was already read. Hence, * the probability of the remaining 2 bytes available to read is very high. */ - if (pIncomingPacket->type == MQTT_PACKET_TYPE_CONNACK) + if( pIncomingPacket->type == MQTT_PACKET_TYPE_CONNACK ) { - status = receivePacket(pContext, - *pIncomingPacket, - remainingTimeMs); + status = receivePacket( pContext, + *pIncomingPacket, + remainingTimeMs ); } else { - LogError(("Incorrect packet type %X received while expecting" - " CONNACK(%X).", - (unsigned int)pIncomingPacket->type, - MQTT_PACKET_TYPE_CONNACK)); + LogError( ( "Incorrect packet type %X received while expecting" + " CONNACK(%X).", + ( unsigned int ) pIncomingPacket->type, + MQTT_PACKET_TYPE_CONNACK ) ); status = MQTTBadResponse; } } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Update the packet info pointer to the buffer read. */ pIncomingPacket->pRemainingData = pContext->networkBuffer.pBuffer; /* Deserialize CONNACK. */ -#if (MQTT_VERSION_5_ENABLED == 0) - status = MQTT_DeserializeAck(pIncomingPacket, NULL, pSessionPresent); -#else - status = MQTTV5_DeserializeConnack(pContext->connectProperties, pIncomingPacket, pSessionPresent); -#endif + #if ( MQTT_VERSION_5_ENABLED == 0 ) + status = MQTT_DeserializeAck( pIncomingPacket, NULL, pSessionPresent ); + #else + status = MQTTV5_DeserializeConnack( pContext->connectProperties, pIncomingPacket, pSessionPresent ); + #endif } /* If a clean session is requested, a session present should not be set by * broker. */ - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { - if ((cleanSession == true) && (*pSessionPresent == true)) + if( ( cleanSession == true ) && ( *pSessionPresent == true ) ) { - LogError(("Unexpected session present flag in CONNACK response from broker." - " CONNECT request with clean session was made with broker.")); + LogError( ( "Unexpected session present flag in CONNACK response from broker." + " CONNECT request with clean session was made with broker." ) ); status = MQTTBadResponse; } } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { - LogDebug(("Received MQTT CONNACK successfully from broker.")); + LogDebug( ( "Received MQTT CONNACK successfully from broker." ) ); } else { - LogError(("CONNACK recv failed with status = %s.", - MQTT_Status_strerror(status))); + LogError( ( "CONNACK recv failed with status = %s.", + MQTT_Status_strerror( status ) ) ); } return status; @@ -2785,89 +2809,89 @@ static MQTTStatus_t receiveConnack(const MQTTContext_t *pContext, /*-----------------------------------------------------------*/ -static MQTTStatus_t handleSessionResumption(MQTTContext_t *pContext, - bool sessionPresent) +static MQTTStatus_t handleSessionResumption( MQTTContext_t * pContext, + bool sessionPresent ) { MQTTStatus_t status = MQTTSuccess; MQTTStateCursor_t cursor = MQTT_STATE_CURSOR_INITIALIZER; uint16_t packetId = MQTT_PACKET_ID_INVALID; MQTTPublishState_t state = MQTTStateNull; - assert(pContext != NULL); + assert( pContext != NULL ); /* Reset the index and clear the buffer when a new session is established. */ pContext->index = 0; - (void)memset(pContext->networkBuffer.pBuffer, 0, pContext->networkBuffer.size); + ( void ) memset( pContext->networkBuffer.pBuffer, 0, pContext->networkBuffer.size ); - if (sessionPresent == true) + if( sessionPresent == true ) { /* Get the next packet ID for which a PUBREL need to be resent. */ - packetId = MQTT_PubrelToResend(pContext, &cursor, &state); + packetId = MQTT_PubrelToResend( pContext, &cursor, &state ); /* Resend all the PUBREL acks after session is reestablished. */ - while ((packetId != MQTT_PACKET_ID_INVALID) && - (status == MQTTSuccess)) + while( ( packetId != MQTT_PACKET_ID_INVALID ) && + ( status == MQTTSuccess ) ) { - status = sendPublishAcks(pContext, packetId, state); + status = sendPublishAcks( pContext, packetId, state ); - packetId = MQTT_PubrelToResend(pContext, &cursor, &state); + packetId = MQTT_PubrelToResend( pContext, &cursor, &state ); } } else { /* Clear any existing records if a new session is established. */ - if (pContext->outgoingPublishRecordMaxCount > 0U) + if( pContext->outgoingPublishRecordMaxCount > 0U ) { - (void)memset(pContext->outgoingPublishRecords, - 0x00, - pContext->outgoingPublishRecordMaxCount * sizeof(*pContext->outgoingPublishRecords)); + ( void ) memset( pContext->outgoingPublishRecords, + 0x00, + pContext->outgoingPublishRecordMaxCount * sizeof( *pContext->outgoingPublishRecords ) ); } - if (pContext->incomingPublishRecordMaxCount > 0U) + if( pContext->incomingPublishRecordMaxCount > 0U ) { - (void)memset(pContext->incomingPublishRecords, - 0x00, - pContext->incomingPublishRecordMaxCount * sizeof(*pContext->incomingPublishRecords)); + ( void ) memset( pContext->incomingPublishRecords, + 0x00, + pContext->incomingPublishRecordMaxCount * sizeof( *pContext->incomingPublishRecords ) ); } } return status; } -static MQTTStatus_t validatePublishParams(const MQTTContext_t *pContext, - const MQTTPublishInfo_t *pPublishInfo, - uint16_t packetId) +static MQTTStatus_t validatePublishParams( const MQTTContext_t * pContext, + const MQTTPublishInfo_t * pPublishInfo, + uint16_t packetId ) { MQTTStatus_t status = MQTTSuccess; /* Validate arguments. */ - if ((pContext == NULL) || (pPublishInfo == NULL)) + if( ( pContext == NULL ) || ( pPublishInfo == NULL ) ) { - LogError(("Argument cannot be NULL: pContext=%p, " - "pPublishInfo=%p.", - (void *)pContext, - (void *)pPublishInfo)); + LogError( ( "Argument cannot be NULL: pContext=%p, " + "pPublishInfo=%p.", + ( void * ) pContext, + ( void * ) pPublishInfo ) ); status = MQTTBadParameter; } - else if ((pPublishInfo->qos != MQTTQoS0) && (packetId == 0U)) + else if( ( pPublishInfo->qos != MQTTQoS0 ) && ( packetId == 0U ) ) { - LogError(("Packet Id is 0 for PUBLISH with QoS=%u.", - (unsigned int)pPublishInfo->qos)); + LogError( ( "Packet Id is 0 for PUBLISH with QoS=%u.", + ( unsigned int ) pPublishInfo->qos ) ); status = MQTTBadParameter; } - else if ((pPublishInfo->payloadLength > 0U) && (pPublishInfo->pPayload == NULL)) + else if( ( pPublishInfo->payloadLength > 0U ) && ( pPublishInfo->pPayload == NULL ) ) { - LogError(("A nonzero payload length requires a non-NULL payload: " - "payloadLength=%lu, pPayload=%p.", - (unsigned long)pPublishInfo->payloadLength, - pPublishInfo->pPayload)); + LogError( ( "A nonzero payload length requires a non-NULL payload: " + "payloadLength=%lu, pPayload=%p.", + ( unsigned long ) pPublishInfo->payloadLength, + pPublishInfo->pPayload ) ); status = MQTTBadParameter; } - else if ((pContext->outgoingPublishRecords == NULL) && (pPublishInfo->qos > MQTTQoS0)) + else if( ( pContext->outgoingPublishRecords == NULL ) && ( pPublishInfo->qos > MQTTQoS0 ) ) { - LogError(("Trying to publish a QoS > MQTTQoS0 packet when outgoing publishes " - "for QoS1/QoS2 have not been enabled. Please, call MQTT_InitStatefulQoS " - "to initialize and enable the use of QoS1/QoS2 publishes.")); + LogError( ( "Trying to publish a QoS > MQTTQoS0 packet when outgoing publishes " + "for QoS1/QoS2 have not been enabled. Please, call MQTT_InitStatefulQoS " + "to initialize and enable the use of QoS1/QoS2 publishes." ) ); status = MQTTBadParameter; } else @@ -2880,49 +2904,49 @@ static MQTTStatus_t validatePublishParams(const MQTTContext_t *pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_Init(MQTTContext_t *pContext, - const TransportInterface_t *pTransportInterface, - MQTTGetCurrentTimeFunc_t getTimeFunction, - MQTTEventCallback_t userCallback, - const MQTTFixedBuffer_t *pNetworkBuffer) +MQTTStatus_t MQTT_Init( MQTTContext_t * pContext, + const TransportInterface_t * pTransportInterface, + MQTTGetCurrentTimeFunc_t getTimeFunction, + MQTTEventCallback_t userCallback, + const MQTTFixedBuffer_t * pNetworkBuffer ) { MQTTStatus_t status = MQTTSuccess; /* Validate arguments. */ - if ((pContext == NULL) || (pTransportInterface == NULL) || - (pNetworkBuffer == NULL)) - { - LogError(("Argument cannot be NULL: pContext=%p, " - "pTransportInterface=%p, " - "pNetworkBuffer=%p", - (void *)pContext, - (void *)pTransportInterface, - (void *)pNetworkBuffer)); + if( ( pContext == NULL ) || ( pTransportInterface == NULL ) || + ( pNetworkBuffer == NULL ) ) + { + LogError( ( "Argument cannot be NULL: pContext=%p, " + "pTransportInterface=%p, " + "pNetworkBuffer=%p", + ( void * ) pContext, + ( void * ) pTransportInterface, + ( void * ) pNetworkBuffer ) ); status = MQTTBadParameter; } - else if (getTimeFunction == NULL) + else if( getTimeFunction == NULL ) { - LogError(("Invalid parameter: getTimeFunction is NULL")); + LogError( ( "Invalid parameter: getTimeFunction is NULL" ) ); status = MQTTBadParameter; } - else if (userCallback == NULL) + else if( userCallback == NULL ) { - LogError(("Invalid parameter: userCallback is NULL")); + LogError( ( "Invalid parameter: userCallback is NULL" ) ); status = MQTTBadParameter; } - else if (pTransportInterface->recv == NULL) + else if( pTransportInterface->recv == NULL ) { - LogError(("Invalid parameter: pTransportInterface->recv is NULL")); + LogError( ( "Invalid parameter: pTransportInterface->recv is NULL" ) ); status = MQTTBadParameter; } - else if (pTransportInterface->send == NULL) + else if( pTransportInterface->send == NULL ) { - LogError(("Invalid parameter: pTransportInterface->send is NULL")); + LogError( ( "Invalid parameter: pTransportInterface->send is NULL" ) ); status = MQTTBadParameter; } else { - (void)memset(pContext, 0x00, sizeof(MQTTContext_t)); + ( void ) memset( pContext, 0x00, sizeof( MQTTContext_t ) ); pContext->connectStatus = MQTTNotConnected; pContext->transportInterface = *pTransportInterface; @@ -2939,48 +2963,48 @@ MQTTStatus_t MQTT_Init(MQTTContext_t *pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_InitStatefulQoS(MQTTContext_t *pContext, - MQTTPubAckInfo_t *pOutgoingPublishRecords, - size_t outgoingPublishCount, - MQTTPubAckInfo_t *pIncomingPublishRecords, - size_t incomingPublishCount) +MQTTStatus_t MQTT_InitStatefulQoS( MQTTContext_t * pContext, + MQTTPubAckInfo_t * pOutgoingPublishRecords, + size_t outgoingPublishCount, + MQTTPubAckInfo_t * pIncomingPublishRecords, + size_t incomingPublishCount ) { MQTTStatus_t status = MQTTSuccess; - if (pContext == NULL) + if( pContext == NULL ) { - LogError(("Argument cannot be NULL: pContext=%p\n", - (void *)pContext)); + LogError( ( "Argument cannot be NULL: pContext=%p\n", + ( void * ) pContext ) ); status = MQTTBadParameter; } /* Check whether the arguments make sense. Not equal here behaves * like an exclusive-or operator for boolean values. */ - else if ((outgoingPublishCount == 0U) != - (pOutgoingPublishRecords == NULL)) + else if( ( outgoingPublishCount == 0U ) != + ( pOutgoingPublishRecords == NULL ) ) { - LogError(("Arguments do not match: pOutgoingPublishRecords=%p, " - "outgoingPublishCount=%lu", - (void *)pOutgoingPublishRecords, - (unsigned long)outgoingPublishCount)); + LogError( ( "Arguments do not match: pOutgoingPublishRecords=%p, " + "outgoingPublishCount=%lu", + ( void * ) pOutgoingPublishRecords, + ( unsigned long ) outgoingPublishCount ) ); status = MQTTBadParameter; } /* Check whether the arguments make sense. Not equal here behaves * like an exclusive-or operator for boolean values. */ - else if ((incomingPublishCount == 0U) != - (pIncomingPublishRecords == NULL)) + else if( ( incomingPublishCount == 0U ) != + ( pIncomingPublishRecords == NULL ) ) { - LogError(("Arguments do not match: pIncomingPublishRecords=%p, " - "incomingPublishCount=%lu", - (void *)pIncomingPublishRecords, - (unsigned long)incomingPublishCount)); + LogError( ( "Arguments do not match: pIncomingPublishRecords=%p, " + "incomingPublishCount=%lu", + ( void * ) pIncomingPublishRecords, + ( unsigned long ) incomingPublishCount ) ); status = MQTTBadParameter; } - else if (pContext->appCallback == NULL) + else if( pContext->appCallback == NULL ) { - LogError(("MQTT_InitStatefulQoS must be called only after MQTT_Init has" - " been called successfully.\n")); + LogError( ( "MQTT_InitStatefulQoS must be called only after MQTT_Init has" + " been called successfully.\n" ) ); status = MQTTBadParameter; } else @@ -2996,31 +3020,31 @@ MQTTStatus_t MQTT_InitStatefulQoS(MQTTContext_t *pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_CancelCallback(const MQTTContext_t *pContext, - uint16_t packetId) +MQTTStatus_t MQTT_CancelCallback( const MQTTContext_t * pContext, + uint16_t packetId ) { MQTTStatus_t status = MQTTSuccess; - if (pContext == NULL) + if( pContext == NULL ) { - LogWarn(("pContext is NULL\n")); + LogWarn( ( "pContext is NULL\n" ) ); status = MQTTBadParameter; } - else if (pContext->outgoingPublishRecords == NULL) + else if( pContext->outgoingPublishRecords == NULL ) { - LogError(("QoS1/QoS2 is not initialized for use. Please, " - "call MQTT_InitStatefulQoS to enable QoS1 and QoS2 " - "publishes.\n")); + LogError( ( "QoS1/QoS2 is not initialized for use. Please, " + "call MQTT_InitStatefulQoS to enable QoS1 and QoS2 " + "publishes.\n" ) ); status = MQTTBadParameter; } else { - MQTT_PRE_STATE_UPDATE_HOOK(pContext); + MQTT_PRE_STATE_UPDATE_HOOK( pContext ); - status = MQTT_RemoveStateRecord(pContext, - packetId); + status = MQTT_RemoveStateRecord( pContext, + packetId ); - MQTT_POST_STATE_UPDATE_HOOK(pContext); + MQTT_POST_STATE_UPDATE_HOOK( pContext ); } return status; @@ -3028,83 +3052,83 @@ MQTTStatus_t MQTT_CancelCallback(const MQTTContext_t *pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_Connect(MQTTContext_t *pContext, - const MQTTConnectInfo_t *pConnectInfo, - MQTTPublishInfo_t *pWillInfo, - uint32_t timeoutMs, - bool *pSessionPresent) +MQTTStatus_t MQTT_Connect( MQTTContext_t * pContext, + const MQTTConnectInfo_t * pConnectInfo, + MQTTPublishInfo_t * pWillInfo, + uint32_t timeoutMs, + bool * pSessionPresent ) { size_t remainingLength = 0UL, packetSize = 0UL; MQTTStatus_t status = MQTTSuccess; - MQTTPacketInfo_t incomingPacket = {0}; + MQTTPacketInfo_t incomingPacket = { 0 }; - incomingPacket.type = (uint8_t)0; + incomingPacket.type = ( uint8_t ) 0; - if ((pContext == NULL) || (pConnectInfo == NULL) || (pSessionPresent == NULL)) + if( ( pContext == NULL ) || ( pConnectInfo == NULL ) || ( pSessionPresent == NULL ) ) { - LogError(("Argument cannot be NULL: pContext=%p, " - "pConnectInfo=%p, pSessionPresent=%p.", - (void *)pContext, - (void *)pConnectInfo, - (void *)pSessionPresent)); + LogError( ( "Argument cannot be NULL: pContext=%p, " + "pConnectInfo=%p, pSessionPresent=%p.", + ( void * ) pContext, + ( void * ) pConnectInfo, + ( void * ) pSessionPresent ) ); status = MQTTBadParameter; } - if (status == MQTTSuccess) - { -#if (MQTT_VERSION_5_ENABLED) - /* Get MQTT connect packet size and remaining length. */ - status = MQTTV5_GetConnectPacketSize(pConnectInfo, - pWillInfo, - pContext->connectProperties, - &remainingLength, - &packetSize); - LogDebug(("CONNECT packet size is %lu and remaining length is %lu.", - (unsigned long)packetSize, - (unsigned long)remainingLength)); -#else - - /* Get MQTT connect packet size and remaining length. */ - status = MQTT_GetConnectPacketSize(pConnectInfo, - pWillInfo, - &remainingLength, - &packetSize); - LogDebug(("CONNECT packet size is %lu and remaining length is %lu.", - (unsigned long)packetSize, - (unsigned long)remainingLength)); -#endif + + if( status == MQTTSuccess ) + { + #if ( MQTT_VERSION_5_ENABLED ) + /* Get MQTT connect packet size and remaining length. */ + status = MQTTV5_GetConnectPacketSize( pConnectInfo, + pWillInfo, + pContext->connectProperties, + &remainingLength, + &packetSize ); + LogDebug( ( "CONNECT packet size is %lu and remaining length is %lu.", + ( unsigned long ) packetSize, + ( unsigned long ) remainingLength ) ); + #else + /* Get MQTT connect packet size and remaining length. */ + status = MQTT_GetConnectPacketSize( pConnectInfo, + pWillInfo, + &remainingLength, + &packetSize ); + LogDebug( ( "CONNECT packet size is %lu and remaining length is %lu.", + ( unsigned long ) packetSize, + ( unsigned long ) remainingLength ) ); + #endif /* if ( MQTT_VERSION_5_ENABLED ) */ } - if (status == MQTTSuccess) + + if( status == MQTTSuccess ) { - MQTT_PRE_SEND_HOOK(pContext); + MQTT_PRE_SEND_HOOK( pContext ); - status = sendConnectWithoutCopy(pContext, - pConnectInfo, - pWillInfo, - remainingLength); + status = sendConnectWithoutCopy( pContext, + pConnectInfo, + pWillInfo, + remainingLength ); - MQTT_POST_SEND_HOOK(pContext); + MQTT_POST_SEND_HOOK( pContext ); } /* Read CONNACK from transport layer. */ - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { - status = receiveConnack(pContext, - timeoutMs, - pConnectInfo->cleanSession, - &incomingPacket, - pSessionPresent); - + status = receiveConnack( pContext, + timeoutMs, + pConnectInfo->cleanSession, + &incomingPacket, + pSessionPresent ); } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Resend PUBRELs when reestablishing a session, or clear records for new sessions. */ - status = handleSessionResumption(pContext, *pSessionPresent); + status = handleSessionResumption( pContext, *pSessionPresent ); } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { - LogInfo(("MQTT connection established with the broker.")); + LogInfo( ( "MQTT connection established with the broker." ) ); pContext->connectStatus = MQTTConnected; /* Initialize keep-alive fields after a successful connection. */ pContext->keepAliveIntervalSec = pConnectInfo->keepAliveSeconds; @@ -3113,8 +3137,8 @@ MQTTStatus_t MQTT_Connect(MQTTContext_t *pContext, } else { - LogError(("MQTT connection failed with status = %s.", - MQTT_Status_strerror(status))); + LogError( ( "MQTT connection failed with status = %s.", + MQTT_Status_strerror( status ) ) ); } return status; @@ -3122,43 +3146,43 @@ MQTTStatus_t MQTT_Connect(MQTTContext_t *pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_Subscribe(MQTTContext_t *pContext, - const MQTTSubscribeInfo_t *pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId) +MQTTStatus_t MQTT_Subscribe( MQTTContext_t * pContext, + const MQTTSubscribeInfo_t * pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId ) { size_t remainingLength = 0UL, packetSize = 0UL; /* Validate arguments. */ - MQTTStatus_t status = validateSubscribeUnsubscribeParams(pContext, - pSubscriptionList, - subscriptionCount, - packetId); + MQTTStatus_t status = validateSubscribeUnsubscribeParams( pContext, + pSubscriptionList, + subscriptionCount, + packetId ); - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Get the remaining length and packet size.*/ - status = MQTT_GetSubscribePacketSize(pSubscriptionList, - subscriptionCount, - &remainingLength, - &packetSize); - LogDebug(("SUBSCRIBE packet size is %lu and remaining length is %lu.", - (unsigned long)packetSize, - (unsigned long)remainingLength)); + status = MQTT_GetSubscribePacketSize( pSubscriptionList, + subscriptionCount, + &remainingLength, + &packetSize ); + LogDebug( ( "SUBSCRIBE packet size is %lu and remaining length is %lu.", + ( unsigned long ) packetSize, + ( unsigned long ) remainingLength ) ); } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { - MQTT_PRE_SEND_HOOK(pContext); + MQTT_PRE_SEND_HOOK( pContext ); /* Send MQTT SUBSCRIBE packet. */ - status = sendSubscribeWithoutCopy(pContext, - pSubscriptionList, - subscriptionCount, - packetId, - remainingLength); + status = sendSubscribeWithoutCopy( pContext, + pSubscriptionList, + subscriptionCount, + packetId, + remainingLength ); - MQTT_POST_SEND_HOOK(pContext); + MQTT_POST_SEND_HOOK( pContext ); } return status; @@ -3166,9 +3190,9 @@ MQTTStatus_t MQTT_Subscribe(MQTTContext_t *pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_Publish(MQTTContext_t *pContext, - const MQTTPublishInfo_t *pPublishInfo, - uint16_t packetId) +MQTTStatus_t MQTT_Publish( MQTTContext_t * pContext, + const MQTTPublishInfo_t * pPublishInfo, + uint16_t packetId ) { size_t headerSize = 0UL; size_t remainingLength = 0UL; @@ -3187,95 +3211,95 @@ MQTTStatus_t MQTT_Publish(MQTTContext_t *pContext, * the header so efficiency. Otherwise, we would need an extra vector and * an extra call to 'send' (in case writev is not defined) to send the * topic length. */ - uint8_t mqttHeader[7U]; + uint8_t mqttHeader[ 7U ]; /* Validate arguments. */ - MQTTStatus_t status = validatePublishParams(pContext, pPublishInfo, packetId); + MQTTStatus_t status = validatePublishParams( pContext, pPublishInfo, packetId ); - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Get the remaining length and packet size.*/ - status = MQTT_GetPublishPacketSize(pPublishInfo, - &remainingLength, - &packetSize); + status = MQTT_GetPublishPacketSize( pPublishInfo, + &remainingLength, + &packetSize ); } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { - status = MQTT_SerializePublishHeaderWithoutTopic(pPublishInfo, - remainingLength, - mqttHeader, - &headerSize); + status = MQTT_SerializePublishHeaderWithoutTopic( pPublishInfo, + remainingLength, + mqttHeader, + &headerSize ); } - if ((status == MQTTSuccess) && (pPublishInfo->qos > MQTTQoS0)) + if( ( status == MQTTSuccess ) && ( pPublishInfo->qos > MQTTQoS0 ) ) { - MQTT_PRE_STATE_UPDATE_HOOK(pContext); + MQTT_PRE_STATE_UPDATE_HOOK( pContext ); /* Set the flag so that the corresponding hook can be called later. */ stateUpdateHookExecuted = true; - status = MQTT_ReserveState(pContext, - packetId, - pPublishInfo->qos); + status = MQTT_ReserveState( pContext, + packetId, + pPublishInfo->qos ); /* State already exists for a duplicate packet. * If a state doesn't exist, it will be handled as a new publish in * state engine. */ - if ((status == MQTTStateCollision) && (pPublishInfo->dup == true)) + if( ( status == MQTTStateCollision ) && ( pPublishInfo->dup == true ) ) { status = MQTTSuccess; } } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Take the mutex as multiple send calls are required for sending this * packet. */ - MQTT_PRE_SEND_HOOK(pContext); + MQTT_PRE_SEND_HOOK( pContext ); - status = sendPublishWithoutCopy(pContext, - pPublishInfo, - mqttHeader, - headerSize, - packetId); + status = sendPublishWithoutCopy( pContext, + pPublishInfo, + mqttHeader, + headerSize, + packetId ); /* Give the mutex away for the next taker. */ - MQTT_POST_SEND_HOOK(pContext); + MQTT_POST_SEND_HOOK( pContext ); } - if ((status == MQTTSuccess) && - (pPublishInfo->qos > MQTTQoS0)) + if( ( status == MQTTSuccess ) && + ( pPublishInfo->qos > MQTTQoS0 ) ) { /* Update state machine after PUBLISH is sent. * Only to be done for QoS1 or QoS2. */ - status = MQTT_UpdateStatePublish(pContext, - packetId, - MQTT_SEND, - pPublishInfo->qos, - &publishStatus); + status = MQTT_UpdateStatePublish( pContext, + packetId, + MQTT_SEND, + pPublishInfo->qos, + &publishStatus ); - if (status != MQTTSuccess) + if( status != MQTTSuccess ) { - LogError(("Update state for publish failed with status %s." - " However PUBLISH packet was sent to the broker." - " Any further handling of ACKs for the packet Id" - " will fail.", - MQTT_Status_strerror(status))); + LogError( ( "Update state for publish failed with status %s." + " However PUBLISH packet was sent to the broker." + " Any further handling of ACKs for the packet Id" + " will fail.", + MQTT_Status_strerror( status ) ) ); } } - if (stateUpdateHookExecuted == true) + if( stateUpdateHookExecuted == true ) { /* Regardless of the status, if the mutex was taken due to the * packet being of QoS > QoS0, then it should be relinquished. */ - MQTT_POST_STATE_UPDATE_HOOK(pContext); + MQTT_POST_STATE_UPDATE_HOOK( pContext ); } - if (status != MQTTSuccess) + if( status != MQTTSuccess ) { - LogError(("MQTT PUBLISH failed with status %s.", - MQTT_Status_strerror(status))); + LogError( ( "MQTT PUBLISH failed with status %s.", + MQTT_Status_strerror( status ) ) ); } return status; @@ -3283,76 +3307,76 @@ MQTTStatus_t MQTT_Publish(MQTTContext_t *pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_Ping(MQTTContext_t *pContext) +MQTTStatus_t MQTT_Ping( MQTTContext_t * pContext ) { int32_t sendResult = 0; MQTTStatus_t status = MQTTSuccess; size_t packetSize = 0U; /* MQTT ping packets are of fixed length. */ - uint8_t pingreqPacket[2U]; + uint8_t pingreqPacket[ 2U ]; MQTTFixedBuffer_t localBuffer; localBuffer.pBuffer = pingreqPacket; - localBuffer.size = sizeof(pingreqPacket); + localBuffer.size = sizeof( pingreqPacket ); - if (pContext == NULL) + if( pContext == NULL ) { - LogError(("pContext is NULL.")); + LogError( ( "pContext is NULL." ) ); status = MQTTBadParameter; } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Get MQTT PINGREQ packet size. */ - status = MQTT_GetPingreqPacketSize(&packetSize); + status = MQTT_GetPingreqPacketSize( &packetSize ); - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { - assert(packetSize == localBuffer.size); - LogDebug(("MQTT PINGREQ packet size is %lu.", - (unsigned long)packetSize)); + assert( packetSize == localBuffer.size ); + LogDebug( ( "MQTT PINGREQ packet size is %lu.", + ( unsigned long ) packetSize ) ); } else { - LogError(("Failed to get the PINGREQ packet size.")); + LogError( ( "Failed to get the PINGREQ packet size." ) ); } } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Serialize MQTT PINGREQ. */ - status = MQTT_SerializePingreq(&localBuffer); + status = MQTT_SerializePingreq( &localBuffer ); } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Take the mutex as the send call should not be interrupted in * between. */ - MQTT_PRE_SEND_HOOK(pContext); + MQTT_PRE_SEND_HOOK( pContext ); /* Send the serialized PINGREQ packet to transport layer. * Here, we do not use the vectored IO approach for efficiency as the * Ping packet does not have numerous fields which need to be copied * from the user provided buffers. Thus it can be sent directly. */ - sendResult = sendBuffer(pContext, - localBuffer.pBuffer, - packetSize); + sendResult = sendBuffer( pContext, + localBuffer.pBuffer, + packetSize ); /* Give the mutex away. */ - MQTT_POST_SEND_HOOK(pContext); + MQTT_POST_SEND_HOOK( pContext ); /* It is an error to not send the entire PINGREQ packet. */ - if (sendResult < (int32_t)packetSize) + if( sendResult < ( int32_t ) packetSize ) { - LogError(("Transport send failed for PINGREQ packet.")); + LogError( ( "Transport send failed for PINGREQ packet." ) ); status = MQTTSendFailed; } else { pContext->pingReqSendTimeMs = pContext->lastPacketTxTime; pContext->waitingForPingResp = true; - LogDebug(("Sent %ld bytes of PINGREQ packet.", - (long int)sendResult)); + LogDebug( ( "Sent %ld bytes of PINGREQ packet.", + ( long int ) sendResult ) ); } } @@ -3361,44 +3385,44 @@ MQTTStatus_t MQTT_Ping(MQTTContext_t *pContext) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_Unsubscribe(MQTTContext_t *pContext, - const MQTTSubscribeInfo_t *pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId) +MQTTStatus_t MQTT_Unsubscribe( MQTTContext_t * pContext, + const MQTTSubscribeInfo_t * pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId ) { size_t remainingLength = 0UL, packetSize = 0UL; /* Validate arguments. */ - MQTTStatus_t status = validateSubscribeUnsubscribeParams(pContext, - pSubscriptionList, - subscriptionCount, - packetId); + MQTTStatus_t status = validateSubscribeUnsubscribeParams( pContext, + pSubscriptionList, + subscriptionCount, + packetId ); - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Get the remaining length and packet size.*/ - status = MQTT_GetUnsubscribePacketSize(pSubscriptionList, - subscriptionCount, - &remainingLength, - &packetSize); - LogDebug(("UNSUBSCRIBE packet size is %lu and remaining length is %lu.", - (unsigned long)packetSize, - (unsigned long)remainingLength)); + status = MQTT_GetUnsubscribePacketSize( pSubscriptionList, + subscriptionCount, + &remainingLength, + &packetSize ); + LogDebug( ( "UNSUBSCRIBE packet size is %lu and remaining length is %lu.", + ( unsigned long ) packetSize, + ( unsigned long ) remainingLength ) ); } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Take the mutex because the below call should not be interrupted. */ - MQTT_PRE_SEND_HOOK(pContext); + MQTT_PRE_SEND_HOOK( pContext ); - status = sendUnsubscribeWithoutCopy(pContext, - pSubscriptionList, - subscriptionCount, - packetId, - remainingLength); + status = sendUnsubscribeWithoutCopy( pContext, + pSubscriptionList, + subscriptionCount, + packetId, + remainingLength ); /* Give the mutex away. */ - MQTT_POST_SEND_HOOK(pContext); + MQTT_POST_SEND_HOOK( pContext ); } return status; @@ -3406,73 +3430,73 @@ MQTTStatus_t MQTT_Unsubscribe(MQTTContext_t *pContext, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_Disconnect(MQTTContext_t *pContext) +MQTTStatus_t MQTT_Disconnect( MQTTContext_t * pContext ) { size_t packetSize = 0U; int32_t sendResult = 0; MQTTStatus_t status = MQTTSuccess; MQTTFixedBuffer_t localBuffer; - uint8_t disconnectPacket[2U]; + uint8_t disconnectPacket[ 2U ]; localBuffer.pBuffer = disconnectPacket; localBuffer.size = 2U; /* Validate arguments. */ - if (pContext == NULL) + if( pContext == NULL ) { - LogError(("pContext cannot be NULL.")); + LogError( ( "pContext cannot be NULL." ) ); status = MQTTBadParameter; } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Get MQTT DISCONNECT packet size. */ - status = MQTT_GetDisconnectPacketSize(&packetSize); - LogDebug(("MQTT DISCONNECT packet size is %lu.", - (unsigned long)packetSize)); + status = MQTT_GetDisconnectPacketSize( &packetSize ); + LogDebug( ( "MQTT DISCONNECT packet size is %lu.", + ( unsigned long ) packetSize ) ); } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Serialize MQTT DISCONNECT packet. */ - status = MQTT_SerializeDisconnect(&localBuffer); + status = MQTT_SerializeDisconnect( &localBuffer ); } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Take the mutex because the below call should not be interrupted. */ - MQTT_PRE_SEND_HOOK(pContext); + MQTT_PRE_SEND_HOOK( pContext ); /* Here we do not use vectors as the disconnect packet has fixed fields * which do not reside in user provided buffers. Thus, it can be sent * using a simple send call. */ - sendResult = sendBuffer(pContext, - localBuffer.pBuffer, - packetSize); + sendResult = sendBuffer( pContext, + localBuffer.pBuffer, + packetSize ); /* Give the mutex away. */ - MQTT_POST_SEND_HOOK(pContext); + MQTT_POST_SEND_HOOK( pContext ); - if (sendResult < (int32_t)packetSize) + if( sendResult < ( int32_t ) packetSize ) { - LogError(("Transport send failed for DISCONNECT packet.")); + LogError( ( "Transport send failed for DISCONNECT packet." ) ); status = MQTTSendFailed; } else { - LogDebug(("Sent %ld bytes of DISCONNECT packet.", - (long int)sendResult)); + LogDebug( ( "Sent %ld bytes of DISCONNECT packet.", + ( long int ) sendResult ) ); } } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { - LogInfo(("Disconnected from the broker.")); + LogInfo( ( "Disconnected from the broker." ) ); pContext->connectStatus = MQTTNotConnected; /* Reset the index and clean the buffer on a successful disconnect. */ pContext->index = 0; - (void)memset(pContext->networkBuffer.pBuffer, 0, pContext->networkBuffer.size); + ( void ) memset( pContext->networkBuffer.pBuffer, 0, pContext->networkBuffer.size ); } return status; @@ -3480,26 +3504,26 @@ MQTTStatus_t MQTT_Disconnect(MQTTContext_t *pContext) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_ProcessLoop(MQTTContext_t *pContext) +MQTTStatus_t MQTT_ProcessLoop( MQTTContext_t * pContext ) { MQTTStatus_t status = MQTTBadParameter; - if (pContext == NULL) + if( pContext == NULL ) { - LogError(("Invalid input parameter: MQTT Context cannot be NULL.")); + LogError( ( "Invalid input parameter: MQTT Context cannot be NULL." ) ); } - else if (pContext->getTime == NULL) + else if( pContext->getTime == NULL ) { - LogError(("Invalid input parameter: MQTT Context must have valid getTime.")); + LogError( ( "Invalid input parameter: MQTT Context must have valid getTime." ) ); } - else if (pContext->networkBuffer.pBuffer == NULL) + else if( pContext->networkBuffer.pBuffer == NULL ) { - LogError(("Invalid input parameter: The MQTT context's networkBuffer must not be NULL.")); + LogError( ( "Invalid input parameter: The MQTT context's networkBuffer must not be NULL." ) ); } else { pContext->controlPacketSent = false; - status = receiveSingleIteration(pContext, true); + status = receiveSingleIteration( pContext, true ); } return status; @@ -3507,25 +3531,25 @@ MQTTStatus_t MQTT_ProcessLoop(MQTTContext_t *pContext) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_ReceiveLoop(MQTTContext_t *pContext) +MQTTStatus_t MQTT_ReceiveLoop( MQTTContext_t * pContext ) { MQTTStatus_t status = MQTTBadParameter; - if (pContext == NULL) + if( pContext == NULL ) { - LogError(("Invalid input parameter: MQTT Context cannot be NULL.")); + LogError( ( "Invalid input parameter: MQTT Context cannot be NULL." ) ); } - else if (pContext->getTime == NULL) + else if( pContext->getTime == NULL ) { - LogError(("Invalid input parameter: MQTT Context must have a valid getTime function.")); + LogError( ( "Invalid input parameter: MQTT Context must have a valid getTime function." ) ); } - else if (pContext->networkBuffer.pBuffer == NULL) + else if( pContext->networkBuffer.pBuffer == NULL ) { - LogError(("Invalid input parameter: MQTT context's networkBuffer must not be NULL.")); + LogError( ( "Invalid input parameter: MQTT context's networkBuffer must not be NULL." ) ); } else { - status = receiveSingleIteration(pContext, false); + status = receiveSingleIteration( pContext, false ); } return status; @@ -3533,19 +3557,19 @@ MQTTStatus_t MQTT_ReceiveLoop(MQTTContext_t *pContext) /*-----------------------------------------------------------*/ -uint16_t MQTT_GetPacketId(MQTTContext_t *pContext) +uint16_t MQTT_GetPacketId( MQTTContext_t * pContext ) { uint16_t packetId = 0U; - if (pContext != NULL) + if( pContext != NULL ) { - MQTT_PRE_STATE_UPDATE_HOOK(pContext); + MQTT_PRE_STATE_UPDATE_HOOK( pContext ); packetId = pContext->nextPacketId; /* A packet ID of zero is not a valid packet ID. When the max ID * is reached the next one should start at 1. */ - if (pContext->nextPacketId == (uint16_t)UINT16_MAX) + if( pContext->nextPacketId == ( uint16_t ) UINT16_MAX ) { pContext->nextPacketId = 1; } @@ -3554,7 +3578,7 @@ uint16_t MQTT_GetPacketId(MQTTContext_t *pContext) pContext->nextPacketId++; } - MQTT_POST_STATE_UPDATE_HOOK(pContext); + MQTT_POST_STATE_UPDATE_HOOK( pContext ); } return packetId; @@ -3562,63 +3586,63 @@ uint16_t MQTT_GetPacketId(MQTTContext_t *pContext) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_MatchTopic(const char *pTopicName, - const uint16_t topicNameLength, - const char *pTopicFilter, - const uint16_t topicFilterLength, - bool *pIsMatch) +MQTTStatus_t MQTT_MatchTopic( const char * pTopicName, + const uint16_t topicNameLength, + const char * pTopicFilter, + const uint16_t topicFilterLength, + bool * pIsMatch ) { MQTTStatus_t status = MQTTSuccess; bool topicFilterStartsWithWildcard = false; bool matchStatus = false; - if ((pTopicName == NULL) || (topicNameLength == 0u)) + if( ( pTopicName == NULL ) || ( topicNameLength == 0u ) ) { - LogError(("Invalid paramater: Topic name should be non-NULL and its " - "length should be > 0: TopicName=%p, TopicNameLength=%hu", - (void *)pTopicName, - (unsigned short)topicNameLength)); + LogError( ( "Invalid paramater: Topic name should be non-NULL and its " + "length should be > 0: TopicName=%p, TopicNameLength=%hu", + ( void * ) pTopicName, + ( unsigned short ) topicNameLength ) ); status = MQTTBadParameter; } - else if ((pTopicFilter == NULL) || (topicFilterLength == 0u)) + else if( ( pTopicFilter == NULL ) || ( topicFilterLength == 0u ) ) { - LogError(("Invalid paramater: Topic filter should be non-NULL and " - "its length should be > 0: TopicName=%p, TopicFilterLength=%hu", - (void *)pTopicFilter, - (unsigned short)topicFilterLength)); + LogError( ( "Invalid paramater: Topic filter should be non-NULL and " + "its length should be > 0: TopicName=%p, TopicFilterLength=%hu", + ( void * ) pTopicFilter, + ( unsigned short ) topicFilterLength ) ); status = MQTTBadParameter; } - else if (pIsMatch == NULL) + else if( pIsMatch == NULL ) { - LogError(("Invalid paramater: Output parameter, pIsMatch, is NULL")); + LogError( ( "Invalid paramater: Output parameter, pIsMatch, is NULL" ) ); status = MQTTBadParameter; } else { /* Check for an exact match if the incoming topic name and the registered * topic filter length match. */ - if (topicNameLength == topicFilterLength) + if( topicNameLength == topicFilterLength ) { - matchStatus = strncmp(pTopicName, pTopicFilter, topicNameLength) == 0; + matchStatus = strncmp( pTopicName, pTopicFilter, topicNameLength ) == 0; } - if (matchStatus == false) + if( matchStatus == false ) { /* If an exact match was not found, match against wildcard characters in * topic filter.*/ /* Determine if topic filter starts with a wildcard. */ - topicFilterStartsWithWildcard = (pTopicFilter[0] == '+') || - (pTopicFilter[0] == '#'); + topicFilterStartsWithWildcard = ( pTopicFilter[ 0 ] == '+' ) || + ( pTopicFilter[ 0 ] == '#' ); /* Note: According to the MQTT 3.1.1 specification, incoming PUBLISH topic names * starting with "$" character cannot be matched against topic filter starting with * a wildcard, i.e. for example, "$SYS/sport" cannot be matched with "#" or * "+/sport" topic filters. */ - if (!((pTopicName[0] == '$') && (topicFilterStartsWithWildcard == true))) + if( !( ( pTopicName[ 0 ] == '$' ) && ( topicFilterStartsWithWildcard == true ) ) ) { - matchStatus = matchTopicFilter(pTopicName, topicNameLength, pTopicFilter, topicFilterLength); + matchStatus = matchTopicFilter( pTopicName, topicNameLength, pTopicFilter, topicFilterLength ); } } @@ -3631,48 +3655,48 @@ MQTTStatus_t MQTT_MatchTopic(const char *pTopicName, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetSubAckStatusCodes(const MQTTPacketInfo_t *pSubackPacket, - uint8_t **pPayloadStart, - size_t *pPayloadSize) +MQTTStatus_t MQTT_GetSubAckStatusCodes( const MQTTPacketInfo_t * pSubackPacket, + uint8_t ** pPayloadStart, + size_t * pPayloadSize ) { MQTTStatus_t status = MQTTSuccess; - if (pSubackPacket == NULL) + if( pSubackPacket == NULL ) { - LogError(("Invalid parameter: pSubackPacket is NULL.")); + LogError( ( "Invalid parameter: pSubackPacket is NULL." ) ); status = MQTTBadParameter; } - else if (pPayloadStart == NULL) + else if( pPayloadStart == NULL ) { - LogError(("Invalid parameter: pPayloadStart is NULL.")); + LogError( ( "Invalid parameter: pPayloadStart is NULL." ) ); status = MQTTBadParameter; } - else if (pPayloadSize == NULL) + else if( pPayloadSize == NULL ) { - LogError(("Invalid parameter: pPayloadSize is NULL.")); + LogError( ( "Invalid parameter: pPayloadSize is NULL." ) ); status = MQTTBadParameter; } - else if (pSubackPacket->type != MQTT_PACKET_TYPE_SUBACK) + else if( pSubackPacket->type != MQTT_PACKET_TYPE_SUBACK ) { - LogError(("Invalid parameter: Input packet is not a SUBACK packet: " - "ExpectedType=%02x, InputType=%02x", - (int)MQTT_PACKET_TYPE_SUBACK, - (int)pSubackPacket->type)); + LogError( ( "Invalid parameter: Input packet is not a SUBACK packet: " + "ExpectedType=%02x, InputType=%02x", + ( int ) MQTT_PACKET_TYPE_SUBACK, + ( int ) pSubackPacket->type ) ); status = MQTTBadParameter; } - else if (pSubackPacket->pRemainingData == NULL) + else if( pSubackPacket->pRemainingData == NULL ) { - LogError(("Invalid parameter: pSubackPacket->pRemainingData is NULL")); + LogError( ( "Invalid parameter: pSubackPacket->pRemainingData is NULL" ) ); status = MQTTBadParameter; } /* A SUBACK must have a remaining length of at least 3 to accommodate the * packet identifier and at least 1 return code. */ - else if (pSubackPacket->remainingLength < 3U) + else if( pSubackPacket->remainingLength < 3U ) { - LogError(("Invalid parameter: Packet remaining length is invalid: " - "Should be greater than 2 for SUBACK packet: InputRemainingLength=%lu", - (unsigned long)pSubackPacket->remainingLength)); + LogError( ( "Invalid parameter: Packet remaining length is invalid: " + "Should be greater than 2 for SUBACK packet: InputRemainingLength=%lu", + ( unsigned long ) pSubackPacket->remainingLength ) ); status = MQTTBadParameter; } else @@ -3681,8 +3705,8 @@ MQTTStatus_t MQTT_GetSubAckStatusCodes(const MQTTPacketInfo_t *pSubackPacket, * length of the variable header (2 bytes) plus the length of the payload. * Therefore, we add 2 positions for the starting address of the payload, and * subtract 2 bytes from the remaining length for the length of the payload.*/ - *pPayloadStart = &pSubackPacket->pRemainingData[sizeof(uint16_t)]; - *pPayloadSize = pSubackPacket->remainingLength - sizeof(uint16_t); + *pPayloadStart = &pSubackPacket->pRemainingData[ sizeof( uint16_t ) ]; + *pPayloadSize = pSubackPacket->remainingLength - sizeof( uint16_t ); } return status; @@ -3690,63 +3714,63 @@ MQTTStatus_t MQTT_GetSubAckStatusCodes(const MQTTPacketInfo_t *pSubackPacket, /*-----------------------------------------------------------*/ -const char *MQTT_Status_strerror(MQTTStatus_t status) +const char * MQTT_Status_strerror( MQTTStatus_t status ) { - const char *str = NULL; + const char * str = NULL; - switch (status) + switch( status ) { - case MQTTSuccess: - str = "MQTTSuccess"; - break; + case MQTTSuccess: + str = "MQTTSuccess"; + break; - case MQTTBadParameter: - str = "MQTTBadParameter"; - break; + case MQTTBadParameter: + str = "MQTTBadParameter"; + break; - case MQTTNoMemory: - str = "MQTTNoMemory"; - break; + case MQTTNoMemory: + str = "MQTTNoMemory"; + break; - case MQTTSendFailed: - str = "MQTTSendFailed"; - break; + case MQTTSendFailed: + str = "MQTTSendFailed"; + break; - case MQTTRecvFailed: - str = "MQTTRecvFailed"; - break; + case MQTTRecvFailed: + str = "MQTTRecvFailed"; + break; - case MQTTBadResponse: - str = "MQTTBadResponse"; - break; + case MQTTBadResponse: + str = "MQTTBadResponse"; + break; - case MQTTServerRefused: - str = "MQTTServerRefused"; - break; + case MQTTServerRefused: + str = "MQTTServerRefused"; + break; - case MQTTNoDataAvailable: - str = "MQTTNoDataAvailable"; - break; + case MQTTNoDataAvailable: + str = "MQTTNoDataAvailable"; + break; - case MQTTIllegalState: - str = "MQTTIllegalState"; - break; + case MQTTIllegalState: + str = "MQTTIllegalState"; + break; - case MQTTStateCollision: - str = "MQTTStateCollision"; - break; + case MQTTStateCollision: + str = "MQTTStateCollision"; + break; - case MQTTKeepAliveTimeout: - str = "MQTTKeepAliveTimeout"; - break; + case MQTTKeepAliveTimeout: + str = "MQTTKeepAliveTimeout"; + break; - case MQTTNeedMoreBytes: - str = "MQTTNeedMoreBytes"; - break; + case MQTTNeedMoreBytes: + str = "MQTTNeedMoreBytes"; + break; - default: - str = "Invalid MQTT Status code"; - break; + default: + str = "Invalid MQTT Status code"; + break; } return str; diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index a15aa3186..0c6a6eba7 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -37,114 +37,114 @@ /** * @brief MQTT protocol version 3.1.1. */ -#define MQTT_VERSION_3_1_1 ((uint8_t)4U) +#define MQTT_VERSION_3_1_1 ( ( uint8_t ) 4U ) /** * @brief Size of the fixed and variable header of a CONNECT packet. */ -#define MQTT_PACKET_CONNECT_HEADER_SIZE (10UL) +#define MQTT_PACKET_CONNECT_HEADER_SIZE ( 10UL ) /* MQTT CONNECT flags. */ -#define MQTT_CONNECT_FLAG_CLEAN (1) /**< @brief Clean session. */ -#define MQTT_CONNECT_FLAG_WILL (2) /**< @brief Will present. */ -#define MQTT_CONNECT_FLAG_WILL_QOS1 (3) /**< @brief Will QoS 1. */ -#define MQTT_CONNECT_FLAG_WILL_QOS2 (4) /**< @brief Will QoS 2. */ -#define MQTT_CONNECT_FLAG_WILL_RETAIN (5) /**< @brief Will retain. */ -#define MQTT_CONNECT_FLAG_PASSWORD (6) /**< @brief Password present. */ -#define MQTT_CONNECT_FLAG_USERNAME (7) /**< @brief User name present. */ +#define MQTT_CONNECT_FLAG_CLEAN ( 1 ) /**< @brief Clean session. */ +#define MQTT_CONNECT_FLAG_WILL ( 2 ) /**< @brief Will present. */ +#define MQTT_CONNECT_FLAG_WILL_QOS1 ( 3 ) /**< @brief Will QoS 1. */ +#define MQTT_CONNECT_FLAG_WILL_QOS2 ( 4 ) /**< @brief Will QoS 2. */ +#define MQTT_CONNECT_FLAG_WILL_RETAIN ( 5 ) /**< @brief Will retain. */ +#define MQTT_CONNECT_FLAG_PASSWORD ( 6 ) /**< @brief Password present. */ +#define MQTT_CONNECT_FLAG_USERNAME ( 7 ) /**< @brief User name present. */ /* * Positions of each flag in the first byte of an MQTT PUBLISH packet's * fixed header. */ -#define MQTT_PUBLISH_FLAG_RETAIN (0) /**< @brief MQTT PUBLISH retain flag. */ -#define MQTT_PUBLISH_FLAG_QOS1 (1) /**< @brief MQTT PUBLISH QoS1 flag. */ -#define MQTT_PUBLISH_FLAG_QOS2 (2) /**< @brief MQTT PUBLISH QoS2 flag. */ -#define MQTT_PUBLISH_FLAG_DUP (3) /**< @brief MQTT PUBLISH duplicate flag. */ +#define MQTT_PUBLISH_FLAG_RETAIN ( 0 ) /**< @brief MQTT PUBLISH retain flag. */ +#define MQTT_PUBLISH_FLAG_QOS1 ( 1 ) /**< @brief MQTT PUBLISH QoS1 flag. */ +#define MQTT_PUBLISH_FLAG_QOS2 ( 2 ) /**< @brief MQTT PUBLISH QoS2 flag. */ +#define MQTT_PUBLISH_FLAG_DUP ( 3 ) /**< @brief MQTT PUBLISH duplicate flag. */ /** * @brief The size of MQTT DISCONNECT packets, per MQTT spec. */ -#define MQTT_DISCONNECT_PACKET_SIZE (2UL) +#define MQTT_DISCONNECT_PACKET_SIZE ( 2UL ) /** * @brief A PINGREQ packet is always 2 bytes in size, defined by MQTT 3.1.1 spec. */ -#define MQTT_PACKET_PINGREQ_SIZE (2UL) +#define MQTT_PACKET_PINGREQ_SIZE ( 2UL ) /** * @brief The Remaining Length field of MQTT disconnect packets, per MQTT spec. */ -#define MQTT_DISCONNECT_REMAINING_LENGTH ((uint8_t)0) +#define MQTT_DISCONNECT_REMAINING_LENGTH ( ( uint8_t ) 0 ) /* * Constants relating to CONNACK packets, defined by MQTT 3.1.1 spec. */ -#define MQTT_PACKET_CONNACK_REMAINING_LENGTH ((uint8_t)2U) /**< @brief A CONNACK packet always has a "Remaining length" of 2. */ -#define MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK ((uint8_t)0x01U) /**< @brief The "Session Present" bit is always the lowest bit. */ +#define MQTT_PACKET_CONNACK_REMAINING_LENGTH ( ( uint8_t ) 2U ) /**< @brief A CONNACK packet always has a "Remaining length" of 2. */ +#define MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK ( ( uint8_t ) 0x01U ) /**< @brief The "Session Present" bit is always the lowest bit. */ /* * UNSUBACK, PUBACK, PUBREC, PUBREL, and PUBCOMP always have a remaining length * of 2. */ -#define MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH ((uint8_t)2) /**< @brief PUBACK, PUBREC, PUBREl, PUBCOMP, UNSUBACK Remaining length. */ -#define MQTT_PACKET_PINGRESP_REMAINING_LENGTH (0U) /**< @brief A PINGRESP packet always has a "Remaining length" of 0. */ +#define MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH ( ( uint8_t ) 2 ) /**< @brief PUBACK, PUBREC, PUBREl, PUBCOMP, UNSUBACK Remaining length. */ +#define MQTT_PACKET_PINGRESP_REMAINING_LENGTH ( 0U ) /**< @brief A PINGRESP packet always has a "Remaining length" of 0. */ /** * @brief Per the MQTT 3.1.1 spec, the largest "Remaining Length" of an MQTT * packet is this value, 256 MB. */ -#define MQTT_MAX_REMAINING_LENGTH (268435455UL) +#define MQTT_MAX_REMAINING_LENGTH ( 268435455UL ) -#if (MQTT_VERSION_5_ENABLED) +#if ( MQTT_VERSION_5_ENABLED ) -#define MQTT_VERSION_5 (5U) -#define MQTT_SESSION_EXPIRY_SIZE (5U) -#define MQTT_RECEIVE_MAX_SIZE (3U) -#define MQTT_MAX_PACKET_SIZE (5U) -#define MQTT_TOPIC_ALIAS_SIZE (3U) -#define MQTT_REQUEST_RESPONSE_SIZE (2U) -#define MQTT_REQUEST_PPOBLEM_SIZE (2U) + #define MQTT_VERSION_5 ( 5U ) + #define MQTT_SESSION_EXPIRY_SIZE ( 5U ) + #define MQTT_RECEIVE_MAX_SIZE ( 3U ) + #define MQTT_MAX_PACKET_SIZE ( 5U ) + #define MQTT_TOPIC_ALIAS_SIZE ( 3U ) + #define MQTT_REQUEST_RESPONSE_SIZE ( 2U ) + #define MQTT_REQUEST_PPOBLEM_SIZE ( 2U ) /*CONNECT PROPERTIES*/ -#define MQTT_SESSION_EXPIRY_ID (0x11) -#define MQTT_RECEIVE_MAX_ID (0x21) -#define MQTT_MAX_PACKET_SIZE_ID (0x27) -#define MQTT_TOPIC_ALIAS_MAX_ID (0x22) -#define MQTT_REQUEST_RESPONSE_ID (0x19) -#define MQTT_REQUEST_PROBLEM_ID (0x17) -#define MQTT_USER_PROPERTY_ID (0x26) -#define MQTT_AUTH_METHOD_ID (0x15) -#define MQTT_AUTH_DATA_ID (0x16) + #define MQTT_SESSION_EXPIRY_ID ( 0x11 ) + #define MQTT_RECEIVE_MAX_ID ( 0x21 ) + #define MQTT_MAX_PACKET_SIZE_ID ( 0x27 ) + #define MQTT_TOPIC_ALIAS_MAX_ID ( 0x22 ) + #define MQTT_REQUEST_RESPONSE_ID ( 0x19 ) + #define MQTT_REQUEST_PROBLEM_ID ( 0x17 ) + #define MQTT_USER_PROPERTY_ID ( 0x26 ) + #define MQTT_AUTH_METHOD_ID ( 0x15 ) + #define MQTT_AUTH_DATA_ID ( 0x16 ) /*WILL PROPERTIES*/ -#define MQTT_WILL_DELAY_ID (0x18) -#define MQTT_PAYLOAD_FORMAT_ID (0x01) -#define MQTT_MSG_EXPIRY_ID (0x02) -#define MQTT_CONTENT_TYPE_ID (0x03) -#define MQTT_RESPONSE_TOPIC_ID (0x08) -#define MQTT_CORRELATION_DATA_ID (0x09) + #define MQTT_WILL_DELAY_ID ( 0x18 ) + #define MQTT_PAYLOAD_FORMAT_ID ( 0x01 ) + #define MQTT_MSG_EXPIRY_ID ( 0x02 ) + #define MQTT_CONTENT_TYPE_ID ( 0x03 ) + #define MQTT_RESPONSE_TOPIC_ID ( 0x08 ) + #define MQTT_CORRELATION_DATA_ID ( 0x09 ) /*CONNACK PROPERTIES*/ -#define MQTT_MAX_QOS_ID (0x24) -#define MQTT_RETAIN_AVAILABLE_ID (0x25) -#define MQTT_ASSIGNED_CLIENT_ID (0x12) -#define MQTT_REASON_STRING_ID (0x1F) -#define MQTT_WILDCARD_ID (0x28) -#define MQTT_SUB_AVAILABLE_ID (0x29) -#define MQTT_SHARED_SUB_ID (0x2A) -#define MQTT_SERVER_KEEP_ALIVE_ID (0x13) -#define MQTT_RESPONSE_INFO_ID (0x1A) -#define MQTT_SERVER_REF_ID (0x1C) + #define MQTT_MAX_QOS_ID ( 0x24 ) + #define MQTT_RETAIN_AVAILABLE_ID ( 0x25 ) + #define MQTT_ASSIGNED_CLIENT_ID ( 0x12 ) + #define MQTT_REASON_STRING_ID ( 0x1F ) + #define MQTT_WILDCARD_ID ( 0x28 ) + #define MQTT_SUB_AVAILABLE_ID ( 0x29 ) + #define MQTT_SHARED_SUB_ID ( 0x2A ) + #define MQTT_SERVER_KEEP_ALIVE_ID ( 0x13 ) + #define MQTT_RESPONSE_INFO_ID ( 0x1A ) + #define MQTT_SERVER_REF_ID ( 0x1C ) -#define CORE_MQTT_ID_SIZE (1U) + #define CORE_MQTT_ID_SIZE ( 1U ) -#endif +#endif /* if ( MQTT_VERSION_5_ENABLED ) */ /** * @brief Set a bit in an 8-bit unsigned integer. */ -#define UINT8_SET_BIT(x, position) ((x) = (uint8_t)((x) | (0x01U << (position)))) +#define UINT8_SET_BIT( x, position ) ( ( x ) = ( uint8_t ) ( ( x ) | ( 0x01U << ( position ) ) ) ) /** * @brief Macro for checking if a bit is set in a 1-byte unsigned int. @@ -152,71 +152,75 @@ * @param[in] x The unsigned int to check. * @param[in] position Which bit to check. */ -#define UINT8_CHECK_BIT(x, position) (((x) & (0x01U << (position))) == (0x01U << (position))) +#define UINT8_CHECK_BIT( x, position ) ( ( ( x ) & ( 0x01U << ( position ) ) ) == ( 0x01U << ( position ) ) ) /** * @brief Get the high byte of a 16-bit unsigned integer. */ -#define UINT16_HIGH_BYTE(x) ((uint8_t)((x) >> 8)) +#define UINT16_HIGH_BYTE( x ) ( ( uint8_t ) ( ( x ) >> 8 ) ) /** * @brief Get the low byte of a 16-bit unsigned integer. */ -#define UINT16_LOW_BYTE(x) ((uint8_t)((x) & 0x00ffU)) +#define UINT16_LOW_BYTE( x ) ( ( uint8_t ) ( ( x ) & 0x00ffU ) ) /** * @brief Macro for decoding a 2-byte unsigned int from a sequence of bytes. * * @param[in] ptr A uint8_t* that points to the high byte. */ -#define UINT16_DECODE(ptr) \ - (uint16_t)((((uint16_t)ptr[0]) << 8) | \ - ((uint16_t)ptr[1])) +#define UINT16_DECODE( ptr ) \ + ( uint16_t ) ( ( ( ( uint16_t ) ptr[ 0 ] ) << 8 ) | \ + ( ( uint16_t ) ptr[ 1 ] ) ) + +#if ( MQTT_VERSION_5_ENABLED ) -#if (MQTT_VERSION_5_ENABLED) /** * @brief Get the 4th byte of a 32-bit unsigned integer. */ -#define UINT32_BYTE3(x) ((uint8_t)((x) >> 24)) + #define UINT32_BYTE3( x ) ( ( uint8_t ) ( ( x ) >> 24 ) ) + /** * @brief Get the 3rd byte of a 32-bit unsigned integer. */ -#define UINT32_BYTE2(x) ((uint8_t)((x) >> 16)) + #define UINT32_BYTE2( x ) ( ( uint8_t ) ( ( x ) >> 16 ) ) + /** * @brief Get the 2nd byte of a 32-bit unsigned integer. */ -#define UINT32_BYTE1(x) ((uint8_t)((x) >> 8)) + #define UINT32_BYTE1( x ) ( ( uint8_t ) ( ( x ) >> 8 ) ) + /** * @brief Get the 1st byte of a 32-bit unsigned integer. */ -#define UINT32_BYTE0(x) ((uint8_t)((x) & 0x000000FFU)) + #define UINT32_BYTE0( x ) ( ( uint8_t ) ( ( x ) & 0x000000FFU ) ) /** * @brief Macro for decoding a 4-byte unsigned int from a sequence of bytes. * * @param[in] ptr A uint8_t* that points to the high byte. */ -#define UINT32_DECODE(ptr) \ - (uint32_t)((((uint32_t)ptr[0]) << 8) | \ - (((uint32_t)ptr[1]) << 16) | \ - (((uint32_t)ptr[2]) << 24) | \ - ((uint32_t)ptr[3])) + #define UINT32_DECODE( ptr ) \ + ( uint32_t ) ( ( ( ( uint32_t ) ptr[ 0 ] ) << 8 ) | \ + ( ( ( uint32_t ) ptr[ 1 ] ) << 16 ) | \ + ( ( ( uint32_t ) ptr[ 2 ] ) << 24 ) | \ + ( ( uint32_t ) ptr[ 3 ] ) ) -#endif +#endif /* if ( MQTT_VERSION_5_ENABLED ) */ /** * @brief A value that represents an invalid remaining length. * * This value is greater than what is allowed by the MQTT specification. */ -#define MQTT_REMAINING_LENGTH_INVALID ((size_t)268435456) +#define MQTT_REMAINING_LENGTH_INVALID ( ( size_t ) 268435456 ) /** * @brief The minimum remaining length for a QoS 0 PUBLISH. * * Includes two bytes for topic name length and one byte for topic name. */ -#define MQTT_MIN_PUBLISH_REMAINING_LENGTH_QOS0 (3U) +#define MQTT_MIN_PUBLISH_REMAINING_LENGTH_QOS0 ( 3U ) /*-----------------------------------------------------------*/ @@ -246,11 +250,11 @@ typedef enum MQTTSubscriptionType * @brief param[in] serializePayload Copy payload to the serialized buffer * only if true. Only PUBLISH header will be serialized if false. */ -static void serializePublishCommon(const MQTTPublishInfo_t *pPublishInfo, - size_t remainingLength, - uint16_t packetIdentifier, - const MQTTFixedBuffer_t *pFixedBuffer, - bool serializePayload); +static void serializePublishCommon( const MQTTPublishInfo_t * pPublishInfo, + size_t remainingLength, + uint16_t packetIdentifier, + const MQTTFixedBuffer_t * pFixedBuffer, + bool serializePayload ); /** * @brief Calculates the packet size and remaining length of an MQTT @@ -263,9 +267,9 @@ static void serializePublishCommon(const MQTTPublishInfo_t *pPublishInfo, * @return false if the packet would exceed the size allowed by the * MQTT spec; true otherwise. */ -static bool calculatePublishPacketSize(const MQTTPublishInfo_t *pPublishInfo, - size_t *pRemainingLength, - size_t *pPacketSize); +static bool calculatePublishPacketSize( const MQTTPublishInfo_t * pPublishInfo, + size_t * pRemainingLength, + size_t * pPacketSize ); /** * @brief Calculates the packet size and remaining length of an MQTT @@ -282,11 +286,11 @@ static bool calculatePublishPacketSize(const MQTTPublishInfo_t *pPublishInfo, * #MQTTBadParameter if the packet would exceed the size allowed by the * MQTT spec or a subscription is empty; #MQTTSuccess otherwise. */ -static MQTTStatus_t calculateSubscriptionPacketSize(const MQTTSubscribeInfo_t *pSubscriptionList, - size_t subscriptionCount, - size_t *pRemainingLength, - size_t *pPacketSize, - MQTTSubscriptionType_t subscriptionType); +static MQTTStatus_t calculateSubscriptionPacketSize( const MQTTSubscribeInfo_t * pSubscriptionList, + size_t subscriptionCount, + size_t * pRemainingLength, + size_t * pPacketSize, + MQTTSubscriptionType_t subscriptionType ); /** * @brief Validates parameters of #MQTT_SerializeSubscribe or @@ -302,11 +306,11 @@ static MQTTStatus_t calculateSubscriptionPacketSize(const MQTTSubscribeInfo_t *p * #MQTTBadParameter if invalid parameters are passed; * #MQTTSuccess otherwise. */ -static MQTTStatus_t validateSubscriptionSerializeParams(const MQTTSubscribeInfo_t *pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t *pFixedBuffer); +static MQTTStatus_t validateSubscriptionSerializeParams( const MQTTSubscribeInfo_t * pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t * pFixedBuffer ); /** * @brief Serialize an MQTT CONNECT packet in the given buffer. @@ -316,10 +320,10 @@ static MQTTStatus_t validateSubscriptionSerializeParams(const MQTTSubscribeInfo_ * @param[in] remainingLength Remaining Length of MQTT CONNECT packet. * @param[out] pFixedBuffer Buffer for packet serialization. */ -static void serializeConnectPacket(const MQTTConnectInfo_t *pConnectInfo, - const MQTTPublishInfo_t *pWillInfo, - size_t remainingLength, - const MQTTFixedBuffer_t *pFixedBuffer); +static void serializeConnectPacket( const MQTTConnectInfo_t * pConnectInfo, + const MQTTPublishInfo_t * pWillInfo, + size_t remainingLength, + const MQTTFixedBuffer_t * pFixedBuffer ); /** * @brief Prints the appropriate message for the CONNACK response code if logs @@ -327,7 +331,7 @@ static void serializeConnectPacket(const MQTTConnectInfo_t *pConnectInfo, * * @param[in] responseCode MQTT standard CONNACK response code. */ -static void logConnackResponse(uint8_t responseCode); +static void logConnackResponse( uint8_t responseCode ); /** * @brief Encodes the remaining length of the packet using the variable length @@ -339,8 +343,8 @@ static void logConnackResponse(uint8_t responseCode); * * @return The location of the byte following the encoded value. */ -static uint8_t *encodeRemainingLength(uint8_t *pDestination, - size_t length); +static uint8_t * encodeRemainingLength( uint8_t * pDestination, + size_t length ); /** * @brief Retrieve the size of the remaining length if it were to be encoded. @@ -349,7 +353,7 @@ static uint8_t *encodeRemainingLength(uint8_t *pDestination, * * @return The size of the remaining length if it were to be encoded. */ -static size_t remainingLengthEncodedSize(size_t length); +static size_t remainingLengthEncodedSize( size_t length ); /** * @brief Encode a string whose size is at maximum 16 bits in length. @@ -360,9 +364,9 @@ static size_t remainingLengthEncodedSize(size_t length); * * @return A pointer to the end of the encoded string. */ -static uint8_t *encodeString(uint8_t *pDestination, - const char *pSource, - uint16_t sourceLength); +static uint8_t * encodeString( uint8_t * pDestination, + const char * pSource, + uint16_t sourceLength ); /** * @brief Retrieves and decodes the Remaining Length from the network interface @@ -373,8 +377,8 @@ static uint8_t *encodeString(uint8_t *pDestination, * * @return The Remaining Length of the incoming packet. */ -static size_t getRemainingLength(TransportRecv_t recvFunc, - NetworkContext_t *pNetworkContext); +static size_t getRemainingLength( TransportRecv_t recvFunc, + NetworkContext_t * pNetworkContext ); /** * @brief Retrieves, decodes and stores the Remaining Length from the network @@ -390,9 +394,9 @@ static size_t getRemainingLength(TransportRecv_t recvFunc, * packet is not yet fully received and decoded. Otherwise, MQTTSuccess * shows that processing of the packet was successful. */ -static MQTTStatus_t processRemainingLength(const uint8_t *pBuffer, - const size_t *pIndex, - MQTTPacketInfo_t *pIncomingPacket); +static MQTTStatus_t processRemainingLength( const uint8_t * pBuffer, + const size_t * pIndex, + MQTTPacketInfo_t * pIncomingPacket ); /** * @brief Check if an incoming packet type is valid. @@ -401,7 +405,7 @@ static MQTTStatus_t processRemainingLength(const uint8_t *pBuffer, * * @return `true` if the packet type is valid; `false` otherwise. */ -static bool incomingPacketValid(uint8_t packetType); +static bool incomingPacketValid( uint8_t packetType ); /** * @brief Check the remaining length of an incoming PUBLISH packet against some @@ -416,9 +420,9 @@ static bool incomingPacketValid(uint8_t packetType); * * @return #MQTTSuccess or #MQTTBadResponse. */ -static MQTTStatus_t checkPublishRemainingLength(size_t remainingLength, - MQTTQoS_t qos, - size_t qos0Minimum); +static MQTTStatus_t checkPublishRemainingLength( size_t remainingLength, + MQTTQoS_t qos, + size_t qos0Minimum ); /** * @brief Process the flags of an incoming PUBLISH packet. @@ -429,8 +433,8 @@ static MQTTStatus_t checkPublishRemainingLength(size_t remainingLength, * * @return #MQTTSuccess or #MQTTBadResponse. */ -static MQTTStatus_t processPublishFlags(uint8_t publishFlags, - MQTTPublishInfo_t *pPublishInfo); +static MQTTStatus_t processPublishFlags( uint8_t publishFlags, + MQTTPublishInfo_t * pPublishInfo ); /** * @brief Deserialize a CONNACK packet. @@ -445,8 +449,8 @@ static MQTTStatus_t processPublishFlags(uint8_t publishFlags, * #MQTTServerRefused if CONNACK specifies that CONNECT was rejected; * #MQTTBadResponse if the CONNACK packet doesn't follow MQTT spec. */ -static MQTTStatus_t deserializeConnack(const MQTTPacketInfo_t *pConnack, - bool *pSessionPresent); +static MQTTStatus_t deserializeConnack( const MQTTPacketInfo_t * pConnack, + bool * pSessionPresent ); /** * @brief Decode the status bytes of a SUBACK packet to a #MQTTStatus_t. @@ -456,8 +460,8 @@ static MQTTStatus_t deserializeConnack(const MQTTPacketInfo_t *pConnack, * * @return #MQTTSuccess, #MQTTServerRefused, or #MQTTBadResponse. */ -static MQTTStatus_t readSubackStatus(size_t statusCount, - const uint8_t *pStatusStart); +static MQTTStatus_t readSubackStatus( size_t statusCount, + const uint8_t * pStatusStart ); /** * @brief Deserialize a SUBACK packet. @@ -471,8 +475,8 @@ static MQTTStatus_t readSubackStatus(size_t statusCount, * @return #MQTTSuccess if SUBACK is valid; #MQTTBadResponse if SUBACK packet * doesn't follow the MQTT spec. */ -static MQTTStatus_t deserializeSuback(const MQTTPacketInfo_t *pSuback, - uint16_t *pPacketIdentifier); +static MQTTStatus_t deserializeSuback( const MQTTPacketInfo_t * pSuback, + uint16_t * pPacketIdentifier ); /** * @brief Deserialize a PUBLISH packet received from the server. @@ -490,9 +494,9 @@ static MQTTStatus_t deserializeSuback(const MQTTPacketInfo_t *pSuback, * @return #MQTTSuccess if PUBLISH is valid; #MQTTBadResponse * if the PUBLISH packet doesn't follow MQTT spec. */ -static MQTTStatus_t deserializePublish(const MQTTPacketInfo_t *pIncomingPacket, - uint16_t *pPacketId, - MQTTPublishInfo_t *pPublishInfo); +static MQTTStatus_t deserializePublish( const MQTTPacketInfo_t * pIncomingPacket, + uint16_t * pPacketId, + MQTTPublishInfo_t * pPublishInfo ); /** * @brief Deserialize an UNSUBACK, PUBACK, PUBREC, PUBREL, or PUBCOMP packet. @@ -506,8 +510,8 @@ static MQTTStatus_t deserializePublish(const MQTTPacketInfo_t *pIncomingPacket, * @return #MQTTSuccess if UNSUBACK, PUBACK, PUBREC, PUBREL, or PUBCOMP is valid; * #MQTTBadResponse if the packet doesn't follow the MQTT spec. */ -static MQTTStatus_t deserializeSimpleAck(const MQTTPacketInfo_t *pAck, - uint16_t *pPacketIdentifier); +static MQTTStatus_t deserializeSimpleAck( const MQTTPacketInfo_t * pAck, + uint16_t * pPacketIdentifier ); /** * @brief Deserialize a PINGRESP packet. @@ -519,9 +523,10 @@ static MQTTStatus_t deserializeSimpleAck(const MQTTPacketInfo_t *pAck, * @return #MQTTSuccess if PINGRESP is valid; #MQTTBadResponse if the PINGRESP * packet doesn't follow MQTT spec. */ -static MQTTStatus_t deserializePingresp(const MQTTPacketInfo_t *pPingresp); +static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); + +#if ( MQTT_VERSION_5_ENABLED ) -#if (MQTT_VERSION_5_ENABLED) /** * @brief Get the size of user properties. * @@ -533,11 +538,14 @@ static MQTTStatus_t deserializePingresp(const MQTTPacketInfo_t *pPingresp); * * @return #MQTTSuccess if user properties are valid and #MQTTBadParametr if the user properties are not valid */ -static MQTTStatus_t MQTT_GetUserPropertySize(const MQTTUserProperty_t *pUserProperty, uint32_t number, size_t *size); + static MQTTStatus_t MQTT_GetUserPropertySize( const MQTTUserProperty_t * pUserProperty, + uint32_t number, + size_t * size ); -static MQTTStatus_t MQTT_GetAuthInfoSize(const MQTTAuthInfo_t *authInfo,size_t *propertyLength); + static MQTTStatus_t MQTT_GetAuthInfoSize( const MQTTAuthInfo_t * authInfo, + size_t * propertyLength ); /** * @brief Get the size of connect properties. @@ -549,7 +557,7 @@ static MQTTStatus_t MQTT_GetAuthInfoSize(const MQTTAuthInfo_t *authInfo,size_t * * @return #MQTTSuccess if connect properties are valid and #MQTTBadParametr if the connect properties are not valid. */ -static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t *pConnectProperties); + static MQTTStatus_t MQTT_GetConnectPropertiesSize( MQTTConnectProperties_t * pConnectProperties ); /** * @brief Get the size of connect properties. @@ -561,7 +569,7 @@ static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t *pConn * @return #MQTTSuccess if will properties are valid and #MQTTBadParametr if the will properties are not valid. */ -static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillProperties); + static MQTTStatus_t MQTT_GetWillPropertiesSize( MQTTPublishInfo_t * pWillProperties ); /** * @brief decodes the variable length by reading a single byte at a time. @@ -573,7 +581,8 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillPropertie * * @return #MQTTSuccess if variable length and paramters are valid else #MQTTBadParamter. */ -static MQTTStatus_t decodeVariableLength(const uint8_t *pBuffer, size_t *length); + static MQTTStatus_t decodeVariableLength( const uint8_t * pBuffer, + size_t * length ); /** * @brief Validate the connack parameters. @@ -588,8 +597,8 @@ static MQTTStatus_t decodeVariableLength(const uint8_t *pBuffer, size_t *length) * @return #MQTTSuccess if connack without connack properties is valid; #MQTTBadResponse if the Connack * packet doesn't follow MQTT spec. */ -static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t *pIncomingPacket, - bool *pSessionPresent); + static MQTTStatus_t validateConnackParams( const MQTTPacketInfo_t * pIncomingPacket, + bool * pSessionPresent ); /** * @brief Prints the appropriate message for the CONNACK response code if logs @@ -599,7 +608,7 @@ static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t *pIncomingPacke * * @return MQTTServerRefused if response code is valid and MQTTProtocol if responseCode is invalid. */ -static MQTTStatus_t logConnackResponseV5(uint8_t responseCode); + static MQTTStatus_t logConnackResponseV5( uint8_t responseCode ); /** * @brief Serialize a MQTT CONNECT packet in the given buffer. @@ -611,966 +620,1103 @@ static MQTTStatus_t logConnackResponseV5(uint8_t responseCode); * @param[out] pFixedBuffer Buffer for packet serialization. */ -static void serializeConnectPacketV5(const MQTTConnectInfo_t *pConnectInfo, - const MQTTPublishInfo_t *pWillInfo, - const MQTTConnectProperties_t *pConnectProperties, - size_t remainingLength, - const MQTTFixedBuffer_t *pFixedBuffer); + static void serializeConnectPacketV5( const MQTTConnectInfo_t * pConnectInfo, + const MQTTPublishInfo_t * pWillInfo, + const MQTTConnectProperties_t * pConnectProperties, + size_t remainingLength, + const MQTTFixedBuffer_t * pFixedBuffer ); + + + static MQTTStatus_t decodeuint32_t( uint32_t * property, + size_t * propertyLength, + bool * used, + uint8_t ** index ); + + static MQTTStatus_t decodeuint16_t( uint16_t * property, + size_t * propertyLength, + bool * used, + uint8_t ** index ); + + static MQTTStatus_t decodeuint8_t( uint8_t * property, + size_t * propertyLength, + bool * used, + uint8_t ** index ); + + static MQTTStatus_t decodeutf_8( const char ** property, + uint16_t * length, + size_t * propertyLength, + bool * used, + uint8_t ** index ); + + static MQTTStatus_t decodeutf_8pair( MQTTUserProperty_t * userProperty, + size_t * propertyLength, + uint8_t ** index ); + + static MQTTStatus_t deserializeConnackV5( MQTTConnectProperties_t * pConnackProperties, + size_t propertyLength, + uint8_t ** index ); +/*-----------------------------------------------------------*/ + MQTTStatus_t MQTTV5_GetConnectPacketSize( const MQTTConnectInfo_t * pConnectInfo, + MQTTPublishInfo_t * pWillInfo, + MQTTConnectProperties_t * pConnectProperties, + size_t * pRemainingLength, + size_t * pPacketSize ) + { + MQTTStatus_t status = MQTTSuccess; + size_t remainingLength; -static MQTTStatus_t decodeuint32_t(uint32_t *property,size_t * propertyLength, bool * used, uint8_t** index); + /* The CONNECT packet will always include a 10-byte variable header without connect properties. */ + size_t connectPacketSize = MQTT_PACKET_CONNECT_HEADER_SIZE; -static MQTTStatus_t decodeuint16_t(uint16_t *property,size_t * propertyLength, bool * used, uint8_t** index); + /* Validate arguments. */ + if( ( pConnectInfo == NULL ) || ( pRemainingLength == NULL ) || + ( pPacketSize == NULL ) ) + { + LogError( ( "Argument cannot be NULL: pConnectInfo=%p, " + "pRemainingLength=%p, pPacketSize=%p.", + ( void * ) pConnectInfo, + ( void * ) pRemainingLength, + ( void * ) pPacketSize ) ); + status = MQTTBadParameter; + } + else if( ( pConnectInfo->clientIdentifierLength == 0U ) || ( pConnectInfo->pClientIdentifier == NULL ) ) + { + LogError( ( "Mqtt_GetConnectPacketSize() client identifier must be set." ) ); + status = MQTTBadParameter; + } + else if( ( pWillInfo != NULL ) && ( pWillInfo->payloadLength > ( size_t ) UINT16_MAX ) ) + { + /* The MQTTPublishInfo_t is reused for the will message. The payload + * length for any other message could be larger than 65,535, but + * the will message length is required to be represented in 2 bytes.*/ + LogError( ( "The Will Message length must not exceed %d. " + "pWillInfo->payloadLength=%lu.", + UINT16_MAX, + ( unsigned long ) pWillInfo->payloadLength ) ); + status = MQTTBadParameter; + } + else if( pConnectProperties == NULL ) + { + LogError( ( "Argument cannot be NULL: connectProperties" ) ); + status = MQTTBadParameter; + } + else if( ( pConnectProperties->pOutgoingAuth != NULL ) && ( pConnectProperties->pIncomingAuth == NULL ) ) + { + LogError( ( "Incoming Auth cannot be NULL" ) ); + status = MQTTBadParameter; + } + else + { + /* Add the connect properties size. */ + status = MQTT_GetConnectPropertiesSize( pConnectProperties ); + } -static MQTTStatus_t decodeuint8_t(uint8_t *property,size_t * propertyLength, bool * used, uint8_t** index); + if( status == MQTTSuccess ) + { + connectPacketSize += pConnectProperties->propertyLength; + connectPacketSize += remainingLengthEncodedSize( pConnectProperties->propertyLength ); + /* Add the length of the client identifier. */ + connectPacketSize += pConnectInfo->clientIdentifierLength + sizeof( uint16_t ); -static MQTTStatus_t decodeutf_8(const char ** property,uint16_t *length,size_t * propertyLength, bool * used, uint8_t** index); + /* Add the lengths of the will properties if provided. */ + if( pWillInfo != NULL ) + { + status = MQTT_GetWillPropertiesSize( pWillInfo ); + } + } -static MQTTStatus_t decodeutf_8pair(MQTTUserProperty_t* userProperty,size_t * propertyLength, uint8_t** index); + if( status == MQTTSuccess ) + { + /* Add the lengths of the will message and topic name if provided. */ + if( pWillInfo != NULL ) + { + connectPacketSize += pWillInfo->propertyLength; + connectPacketSize += remainingLengthEncodedSize( pWillInfo->propertyLength ); + connectPacketSize += pWillInfo->topicNameLength + sizeof( uint16_t ) + + pWillInfo->payloadLength + sizeof( uint16_t ); + } -static MQTTStatus_t deserializeConnackV5(MQTTConnectProperties_t *pConnackProperties, size_t propertyLength,uint8_t ** index); -/*-----------------------------------------------------------*/ + /* Add the lengths of the user name and password if provided. */ + if( pConnectInfo->pUserName != NULL ) + { + connectPacketSize += pConnectInfo->userNameLength + sizeof( uint16_t ); + } -MQTTStatus_t MQTTV5_GetConnectPacketSize(const MQTTConnectInfo_t *pConnectInfo, - MQTTPublishInfo_t *pWillInfo, - MQTTConnectProperties_t *pConnectProperties, - size_t *pRemainingLength, - size_t *pPacketSize) -{ - MQTTStatus_t status = MQTTSuccess; - size_t remainingLength; + if( pConnectInfo->pPassword != NULL ) + { + connectPacketSize += pConnectInfo->passwordLength + sizeof( uint16_t ); + } - /* The CONNECT packet will always include a 10-byte variable header without connect properties. */ - size_t connectPacketSize = MQTT_PACKET_CONNECT_HEADER_SIZE; + /* At this point, the "Remaining Length" field of the MQTT CONNECT packet has + * been calculated. */ + remainingLength = connectPacketSize; - /* Validate arguments. */ - if ((pConnectInfo == NULL) || (pRemainingLength == NULL) || - (pPacketSize == NULL)) - { - LogError(("Argument cannot be NULL: pConnectInfo=%p, " - "pRemainingLength=%p, pPacketSize=%p.", - (void *)pConnectInfo, - (void *)pRemainingLength, - (void *)pPacketSize)); - status = MQTTBadParameter; - } - else if ((pConnectInfo->clientIdentifierLength == 0U) || (pConnectInfo->pClientIdentifier == NULL)) - { - LogError(("Mqtt_GetConnectPacketSize() client identifier must be set.")); - status = MQTTBadParameter; - } - else if ((pWillInfo != NULL) && (pWillInfo->payloadLength > (size_t)UINT16_MAX)) - { - /* The MQTTPublishInfo_t is reused for the will message. The payload - * length for any other message could be larger than 65,535, but - * the will message length is required to be represented in 2 bytes.*/ - LogError(("The Will Message length must not exceed %d. " - "pWillInfo->payloadLength=%lu.", - UINT16_MAX, - (unsigned long)pWillInfo->payloadLength)); - status = MQTTBadParameter; - } - else if (pConnectProperties == NULL) - { - LogError(("Argument cannot be NULL: connectProperties")); - status = MQTTBadParameter; - } - else if ((pConnectProperties->pOutgoingAuth != NULL) && (pConnectProperties->pIncomingAuth == NULL)) - { - LogError(("Incoming Auth cannot be NULL")); - status = MQTTBadParameter; - } - else - { - /* Add the connect properties size. */ - status = MQTT_GetConnectPropertiesSize(pConnectProperties); - } - if (status == MQTTSuccess) - { - connectPacketSize += pConnectProperties->propertyLength; - connectPacketSize += remainingLengthEncodedSize(pConnectProperties->propertyLength); - /* Add the length of the client identifier. */ - connectPacketSize += pConnectInfo->clientIdentifierLength + sizeof(uint16_t); - /* Add the lengths of the will properties if provided. */ - if (pWillInfo != NULL) + /* Calculate the full size of the MQTT CONNECT packet by adding the size of + * the "Remaining Length" field plus 1 byte for the "Packet Type" field. */ + connectPacketSize += 1U + remainingLengthEncodedSize( connectPacketSize ); + + /** + * 268,435,455 - max remaining length according to spec MQTT-v5; + * + * */ + if( remainingLength > MQTT_MAX_REMAINING_LENGTH ) + { + status = MQTTBadParameter; + } + } + + if( status == MQTTSuccess ) { - status = MQTT_GetWillPropertiesSize(pWillInfo); + *pRemainingLength = remainingLength; + *pPacketSize = connectPacketSize; + + LogDebug( ( "CONNECT packet remaining length=%lu and packet size=%lu.", + ( unsigned long ) *pRemainingLength, + ( unsigned long ) *pPacketSize ) ); } + + return status; } - if (status == MQTTSuccess) + + uint8_t * MQTT_SerializePublishProperties( const MQTTPublishInfo_t * pPublishInfo, + uint8_t * pIndex ) { - /* Add the lengths of the will message and topic name if provided. */ - if (pWillInfo != NULL) + uint8_t * pIndexLocal = pIndex; + + pIndexLocal = encodeRemainingLength( pIndexLocal, pPublishInfo->propertyLength ); + + if( pPublishInfo->willDelay != 0U ) { - connectPacketSize += pWillInfo->propertyLength; - connectPacketSize += remainingLengthEncodedSize(pWillInfo->propertyLength); - connectPacketSize += pWillInfo->topicNameLength + sizeof(uint16_t) + - pWillInfo->payloadLength + sizeof(uint16_t); + *pIndexLocal = MQTT_WILL_DELAY_ID; + pIndexLocal++; + pIndexLocal[ 0 ] = UINT32_BYTE3( pPublishInfo->willDelay ); + pIndexLocal[ 1 ] = UINT32_BYTE2( pPublishInfo->willDelay ); + pIndexLocal[ 2 ] = UINT32_BYTE1( pPublishInfo->willDelay ); + pIndexLocal[ 3 ] = UINT32_BYTE0( pPublishInfo->willDelay ); + pIndexLocal = &pIndexLocal[ 4 ]; } - /* Add the lengths of the user name and password if provided. */ - if (pConnectInfo->pUserName != NULL) + if( pPublishInfo->payloadFormat != 0U ) { - connectPacketSize += pConnectInfo->userNameLength + sizeof(uint16_t); + *pIndexLocal = MQTT_PAYLOAD_FORMAT_ID; + pIndexLocal++; + *pIndexLocal = pPublishInfo->payloadFormat; + pIndexLocal++; } - if (pConnectInfo->pPassword != NULL) + if( pPublishInfo->msgExpiryPresent != false ) { - connectPacketSize += pConnectInfo->passwordLength + sizeof(uint16_t); + *pIndexLocal = MQTT_MSG_EXPIRY_ID; + pIndexLocal++; + pIndexLocal[ 0 ] = UINT32_BYTE3( pPublishInfo->msgExpiryInterval ); + pIndexLocal[ 1 ] = UINT32_BYTE2( pPublishInfo->msgExpiryInterval ); + pIndexLocal[ 2 ] = UINT32_BYTE1( pPublishInfo->msgExpiryInterval ); + pIndexLocal[ 3 ] = UINT32_BYTE0( pPublishInfo->msgExpiryInterval ); + pIndexLocal = &pIndexLocal[ 4 ]; } - /* At this point, the "Remaining Length" field of the MQTT CONNECT packet has - * been calculated. */ - remainingLength = connectPacketSize; + return pIndexLocal; + } - /* Calculate the full size of the MQTT CONNECT packet by adding the size of - * the "Remaining Length" field plus 1 byte for the "Packet Type" field. */ - connectPacketSize += 1U + remainingLengthEncodedSize(connectPacketSize); +/*-----------------------------------------------------------*/ + + static MQTTStatus_t MQTT_GetUserPropertySize( const MQTTUserProperty_t * pUserProperty, + uint32_t number, + size_t * pSize ) + { + MQTTStatus_t status = MQTTSuccess; + uint32_t i = 0; - /** - * 268,435,455 - max remaining length according to spec MQTT-v5; - * - * */ - if (remainingLength > MQTT_MAX_REMAINING_LENGTH) + /*Number of user properties can't be more than the max user properties specified*/ + if( number > ( uint32_t ) MAX_USER_PROPERTY ) { status = MQTTBadParameter; } - } - if (status == MQTTSuccess) - { - *pRemainingLength = remainingLength; - *pPacketSize = connectPacketSize; + else if( ( number != 0U ) && ( pUserProperty == NULL ) ) + { + status = MQTTBadParameter; + } + else + { + for( ; ( i < number ); i++ ) + { + if( ( pUserProperty[ i ].keyLength == 0U ) || ( pUserProperty[ i ].valueLength == 0U ) || ( pUserProperty[ i ].pKey == NULL ) || ( pUserProperty[ i ].pValue == NULL ) ) + { + status = MQTTBadParameter; + break; + } + else + { + *pSize += ( pUserProperty[ i ].keyLength ); + *pSize += 3U; + *pSize += ( pUserProperty[ i ].valueLength ); + *pSize += 2U; + } + } + } - LogDebug(("CONNECT packet remaining length=%lu and packet size=%lu.", - (unsigned long)*pRemainingLength, - (unsigned long)*pPacketSize)); + return status; } - return status; -} + static MQTTStatus_t MQTT_GetAuthInfoSize( const MQTTAuthInfo_t * pAuthInfo, + size_t * pPropertyLength ) + { + MQTTStatus_t status = MQTTSuccess; -uint8_t *MQTT_SerializePublishProperties(const MQTTPublishInfo_t *pPublishInfo, uint8_t *pIndex) -{ - uint8_t *pIndexLocal = pIndex; - pIndexLocal = encodeRemainingLength(pIndexLocal, pPublishInfo->propertyLength); - if (pPublishInfo->willDelay != 0U) - { - *pIndexLocal = MQTT_WILL_DELAY_ID; - pIndexLocal++; - pIndexLocal[0] = UINT32_BYTE3(pPublishInfo->willDelay); - pIndexLocal[1] = UINT32_BYTE2(pPublishInfo->willDelay); - pIndexLocal[2] = UINT32_BYTE1(pPublishInfo->willDelay); - pIndexLocal[3] = UINT32_BYTE0(pPublishInfo->willDelay); - pIndexLocal = &pIndexLocal[4]; - } - if (pPublishInfo->payloadFormat != 0U) - { - *pIndexLocal = MQTT_PAYLOAD_FORMAT_ID; - pIndexLocal++; - *pIndexLocal = pPublishInfo->payloadFormat; - pIndexLocal++; - } - if (pPublishInfo->msgExpiryPresent != false) - { - *pIndexLocal = MQTT_MSG_EXPIRY_ID; - pIndexLocal++; - pIndexLocal[0] = UINT32_BYTE3(pPublishInfo->msgExpiryInterval); - pIndexLocal[1] = UINT32_BYTE2(pPublishInfo->msgExpiryInterval); - pIndexLocal[2] = UINT32_BYTE1(pPublishInfo->msgExpiryInterval); - pIndexLocal[3] = UINT32_BYTE0(pPublishInfo->msgExpiryInterval); - pIndexLocal = &pIndexLocal[4]; - } - return pIndexLocal; -} + if( ( pAuthInfo->authMethodLength == 0U ) && ( pAuthInfo->authDataLength != 0U ) ) + { + status = MQTTBadParameter; + } + else if( ( pAuthInfo->authMethodLength != 0U ) && ( pAuthInfo->pAuthMethod == NULL ) ) + { + status = MQTTBadParameter; + } + else if( ( pAuthInfo->authDataLength != 0U ) && ( pAuthInfo->pAuthData == NULL ) ) + { + status = MQTTBadParameter; + } + else + { + if( pAuthInfo->authMethodLength != 0U ) + { + pPropertyLength += pAuthInfo->authMethodLength; + pPropertyLength += 3U; -/*-----------------------------------------------------------*/ + if( pAuthInfo->authDataLength != 0U ) + { + pPropertyLength += pAuthInfo->authDataLength; + pPropertyLength += 3U; + } + } + } -static MQTTStatus_t MQTT_GetUserPropertySize(const MQTTUserProperty_t *pUserProperty, uint32_t number, size_t *pSize) -{ - MQTTStatus_t status = MQTTSuccess; - uint32_t i = 0; - /*Number of user properties can't be more than the max user properties specified*/ - if (number > (uint32_t)MAX_USER_PROPERTY) - { - status = MQTTBadParameter; + return status; } - else if ((number != 0U) && (pUserProperty == NULL)) - { - status = MQTTBadParameter; - } - else + + static MQTTStatus_t MQTT_GetConnectPropertiesSize( MQTTConnectProperties_t * pConnectProperties ) { - for (; (i < number); i++) + size_t propertyLength = 0; + MQTTStatus_t status = MQTTSuccess; + + /*Validate the arguments*/ + if( ( pConnectProperties->maxPacketSize == 0U ) && ( pConnectProperties->isMaxPacketSize == true ) ) + { + status = MQTTBadParameter; + } + else if( pConnectProperties->receiveMax == 0U ) + { + status = MQTTBadParameter; + } + else { - if ((pUserProperty[i].keyLength == 0U) || (pUserProperty[i].valueLength == 0U) || (pUserProperty[i].pKey == NULL) || (pUserProperty[i].pValue == NULL)) + /*Add the lengths of the parameters if applicable*/ + if( pConnectProperties->sessionExpiry != 0U ) { - status = MQTTBadParameter; - break; + propertyLength += MQTT_SESSION_EXPIRY_SIZE; } - else + + if( pConnectProperties->receiveMax != ( uint16_t ) UINT16_MAX ) { - *pSize += (pUserProperty[i].keyLength); - *pSize += 3U; - *pSize += (pUserProperty[i].valueLength); - *pSize += 2U; + propertyLength += MQTT_RECEIVE_MAX_SIZE; } - } - } - return status; -} -static MQTTStatus_t MQTT_GetAuthInfoSize(const MQTTAuthInfo_t *pAuthInfo,size_t *pPropertyLength){ - MQTTStatus_t status= MQTTSuccess; - if ((pAuthInfo->authMethodLength == 0U) && (pAuthInfo->authDataLength != 0U)) - { - status = MQTTBadParameter; - } - else if ((pAuthInfo->authMethodLength != 0U) && (pAuthInfo->pAuthMethod == NULL)) - { - status = MQTTBadParameter; - } - else if ((pAuthInfo->authDataLength != 0U) && (pAuthInfo->pAuthData == NULL)) - { - status = MQTTBadParameter; - } - else - { - if (pAuthInfo->authMethodLength != 0U) - { - pPropertyLength += pAuthInfo->authMethodLength; - pPropertyLength += 3U; - if (pAuthInfo->authDataLength != 0U) + if( pConnectProperties->isMaxPacketSize != false ) { - pPropertyLength += pAuthInfo->authDataLength; - pPropertyLength += 3U; + propertyLength += MQTT_MAX_PACKET_SIZE; + } + + if( pConnectProperties->topicAliasMax != 0U ) + { + propertyLength += MQTT_TOPIC_ALIAS_SIZE; + } + + if( pConnectProperties->reqResInfo != false ) + { + propertyLength += MQTT_REQUEST_RESPONSE_SIZE; + } + + if( pConnectProperties->reqProbInfo != true ) + { + propertyLength += MQTT_REQUEST_PPOBLEM_SIZE; + } + + if( pConnectProperties->pOutgoingAuth != NULL ) + { + /*Valid authentication parameters*/ + status = MQTT_GetAuthInfoSize( pConnectProperties->pOutgoingAuth, &propertyLength ); } } - } - return status; -} -static MQTTStatus_t MQTT_GetConnectPropertiesSize(MQTTConnectProperties_t *pConnectProperties) -{ - size_t propertyLength = 0; - MQTTStatus_t status = MQTTSuccess; - /*Validate the arguments*/ - if ((pConnectProperties->maxPacketSize == 0U) && (pConnectProperties->isMaxPacketSize == true)) - { - status = MQTTBadParameter; - } - else if (pConnectProperties->receiveMax == 0U) - { - status = MQTTBadParameter; + /*Get the length of the user properties*/ + if( ( status == MQTTSuccess ) && ( pConnectProperties->outgoingUserPropSize != 0U ) ) + { + status = MQTT_GetUserPropertySize( pConnectProperties->pOutgoingUserProperty, pConnectProperties->outgoingUserPropSize, &propertyLength ); + } + + /*Variable length encoded values cannot have valued more than 268435455U*/ + if( ( status == MQTTSuccess ) && ( pConnectProperties->propertyLength > MQTT_MAX_REMAINING_LENGTH ) ) + { + status = MQTTBadParameter; + } + + if( status == MQTTSuccess ) + { + pConnectProperties->propertyLength = propertyLength; + } + + return status; } - else + + static MQTTStatus_t MQTT_GetWillPropertiesSize( MQTTPublishInfo_t * pWillProperties ) { - /*Add the lengths of the parameters if applicable*/ - if (pConnectProperties->sessionExpiry != 0U) + size_t willLength = 0U; + MQTTStatus_t status = MQTTSuccess; + + /*Add the length of all the parameters which are applicable*/ + if( pWillProperties->willDelay != 0U ) { - propertyLength += MQTT_SESSION_EXPIRY_SIZE; + willLength += 5U; } - if (pConnectProperties->receiveMax != (uint16_t)UINT16_MAX) + + if( pWillProperties->payloadFormat != 0U ) { - propertyLength += MQTT_RECEIVE_MAX_SIZE; + willLength += 2U; } - if (pConnectProperties->isMaxPacketSize != false) + + if( pWillProperties->msgExpiryPresent == true ) { - propertyLength += MQTT_MAX_PACKET_SIZE; + willLength += 5U; } - if (pConnectProperties->topicAliasMax != 0U) + + if( pWillProperties->contentTypeLength != 0U ) { - propertyLength += MQTT_TOPIC_ALIAS_SIZE; + if( pWillProperties->pContentType == NULL ) + { + status = MQTTBadParameter; + } + else + { + willLength += ( pWillProperties->contentTypeLength ); + willLength += 3U; + } } - if (pConnectProperties->reqResInfo != false) + + /*Validate if length and pointers are valid*/ + if( ( status == MQTTSuccess ) && ( pWillProperties->responseTopicLength != 0U ) ) { - propertyLength += MQTT_REQUEST_RESPONSE_SIZE; + if( pWillProperties->pResponseTopic == NULL ) + { + status = MQTTBadParameter; + } + else + { + willLength += ( pWillProperties->responseTopicLength ); + willLength += 3U; + } } - if (pConnectProperties->reqProbInfo != true) + + if( ( status == MQTTSuccess ) && ( pWillProperties->correlationLength != 0U ) ) { - propertyLength += MQTT_REQUEST_PPOBLEM_SIZE; + if( pWillProperties->pCorrelationData == NULL ) + { + status = MQTTBadParameter; + } + else + { + willLength += ( pWillProperties->correlationLength ); + willLength += 3U; + } } - if (pConnectProperties->pOutgoingAuth != NULL) + + /*Get the length of user properties*/ + if( status == MQTTSuccess ) { - /*Valid authentication parameters*/ - status = MQTT_GetAuthInfoSize(pConnectProperties->pOutgoingAuth,&propertyLength); + status = MQTT_GetUserPropertySize( pWillProperties->pUserProperty, pWillProperties->userPropertySize, &willLength ); } - } - /*Get the length of the user properties*/ - if ((status == MQTTSuccess) && (pConnectProperties->outgoingUserPropSize != 0U)) - { - status = MQTT_GetUserPropertySize(pConnectProperties->pOutgoingUserProperty, pConnectProperties->outgoingUserPropSize, &propertyLength); - } - /*Variable length encoded values cannot have valued more than 268435455U*/ - if ((status == MQTTSuccess) && (pConnectProperties->propertyLength > MQTT_MAX_REMAINING_LENGTH)) - { - status = MQTTBadParameter; - } - if (status == MQTTSuccess) - { - pConnectProperties->propertyLength = propertyLength; - } - return status; -} - -static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillProperties) -{ - size_t willLength = 0U; - MQTTStatus_t status = MQTTSuccess; - /*Add the length of all the parameters which are applicable*/ - if (pWillProperties->willDelay != 0U) - { - willLength += 5U; - } - if (pWillProperties->payloadFormat != 0U) - { - willLength += 2U; - } - if (pWillProperties->msgExpiryPresent == true) - { - willLength += 5U; - } - if (pWillProperties->contentTypeLength != 0U) - { - if (pWillProperties->pContentType == NULL) + /*Variable encoded can't have a value more than 268435455UL*/ + if( willLength > MQTT_MAX_REMAINING_LENGTH ) { status = MQTTBadParameter; } - else + + if( status == MQTTSuccess ) { - willLength += (pWillProperties->contentTypeLength); - willLength += 3U; + pWillProperties->propertyLength = willLength; } + + return status; } - /*Validate if length and pointers are valid*/ - if ((status == MQTTSuccess) && (pWillProperties->responseTopicLength != 0U)) + + uint8_t * MQTT_SerializeConnectProperties( uint8_t * pIndex, + const MQTTConnectProperties_t * pConnectProperties ) { - if (pWillProperties->pResponseTopic == NULL) + uint8_t * pIndexLocal = pIndex; + + pIndexLocal = encodeRemainingLength( pIndexLocal, pConnectProperties->propertyLength ); + + if( pConnectProperties->sessionExpiry != 0U ) { - status = MQTTBadParameter; + *pIndexLocal = MQTT_SESSION_EXPIRY_ID; + pIndexLocal++; + pIndexLocal[ 0 ] = UINT32_BYTE3( pConnectProperties->sessionExpiry ); + pIndexLocal[ 1 ] = UINT32_BYTE2( pConnectProperties->sessionExpiry ); + pIndexLocal[ 2 ] = UINT32_BYTE1( pConnectProperties->sessionExpiry ); + pIndexLocal[ 3 ] = UINT32_BYTE0( pConnectProperties->sessionExpiry ); + pIndexLocal = &pIndexLocal[ 4 ]; } - else + + if( pConnectProperties->receiveMax != ( uint16_t ) UINT16_MAX ) { - willLength += (pWillProperties->responseTopicLength); - willLength += 3U; + *pIndexLocal = MQTT_RECEIVE_MAX_ID; + pIndexLocal++; + pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( pConnectProperties->receiveMax ); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( pConnectProperties->receiveMax ); + pIndexLocal = &pIndexLocal[ 2 ]; } - } - if ((status == MQTTSuccess) && (pWillProperties->correlationLength != 0U)) - { - if (pWillProperties->pCorrelationData == NULL) + + if( pConnectProperties->isMaxPacketSize == true ) { - status = MQTTBadParameter; + *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; + pIndexLocal++; + pIndexLocal[ 0 ] = UINT32_BYTE3( pConnectProperties->maxPacketSize ); + pIndexLocal[ 1 ] = UINT32_BYTE2( pConnectProperties->maxPacketSize ); + pIndexLocal[ 2 ] = UINT32_BYTE1( pConnectProperties->maxPacketSize ); + pIndexLocal[ 3 ] = UINT32_BYTE0( pConnectProperties->maxPacketSize ); + pIndexLocal = &pIndexLocal[ 4 ]; } - else + + if( pConnectProperties->topicAliasMax != 0U ) { - willLength += (pWillProperties->correlationLength); - willLength += 3U; + *pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; + pIndexLocal++; + pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( pConnectProperties->topicAliasMax ); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( pConnectProperties->topicAliasMax ); + pIndexLocal = &pIndexLocal[ 2 ]; } + + if( pConnectProperties->reqResInfo != false ) + { + *pIndexLocal = MQTT_REQUEST_RESPONSE_ID; + pIndexLocal++; + *pIndexLocal = 1U; + pIndexLocal++; + } + + if( pConnectProperties->reqProbInfo != true ) + { + *pIndexLocal = MQTT_REQUEST_PROBLEM_ID; + pIndexLocal++; + *pIndexLocal = 0U; + pIndexLocal++; + } + + return pIndexLocal; } - /*Get the length of user properties*/ - if (status == MQTTSuccess) - { - status = MQTT_GetUserPropertySize(pWillProperties->pUserProperty, pWillProperties->userPropertySize, &willLength); - } - /*Variable encoded can't have a value more than 268435455UL*/ - if (willLength > MQTT_MAX_REMAINING_LENGTH) - { - status = MQTTBadParameter; - } - if (status == MQTTSuccess) + + static void serializeConnectPacketV5( const MQTTConnectInfo_t * pConnectInfo, + const MQTTPublishInfo_t * pWillInfo, + const MQTTConnectProperties_t * pConnectProperties, + size_t remainingLength, + const MQTTFixedBuffer_t * pFixedBuffer ) { - pWillProperties->propertyLength = willLength; - } - return status; -} + uint8_t * pIndex = NULL; -uint8_t *MQTT_SerializeConnectProperties(uint8_t *pIndex, const MQTTConnectProperties_t *pConnectProperties) -{ - uint8_t *pIndexLocal = pIndex; - pIndexLocal = encodeRemainingLength(pIndexLocal, pConnectProperties->propertyLength); - if (pConnectProperties->sessionExpiry != 0U) - { - *pIndexLocal = MQTT_SESSION_EXPIRY_ID; - pIndexLocal++; - pIndexLocal[0] = UINT32_BYTE3(pConnectProperties->sessionExpiry); - pIndexLocal[1] = UINT32_BYTE2(pConnectProperties->sessionExpiry); - pIndexLocal[2] = UINT32_BYTE1(pConnectProperties->sessionExpiry); - pIndexLocal[3] = UINT32_BYTE0(pConnectProperties->sessionExpiry); - pIndexLocal = &pIndexLocal[4]; - } - if (pConnectProperties->receiveMax != (uint16_t)UINT16_MAX) - { - *pIndexLocal = MQTT_RECEIVE_MAX_ID; - pIndexLocal++; - pIndexLocal[0] = UINT16_HIGH_BYTE(pConnectProperties->receiveMax); - pIndexLocal[1] = UINT16_LOW_BYTE(pConnectProperties->receiveMax); - pIndexLocal = &pIndexLocal[2]; - } - if (pConnectProperties->isMaxPacketSize == true) - { - *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; - pIndexLocal++; - pIndexLocal[0] = UINT32_BYTE3(pConnectProperties->maxPacketSize); - pIndexLocal[1] = UINT32_BYTE2(pConnectProperties->maxPacketSize); - pIndexLocal[2] = UINT32_BYTE1(pConnectProperties->maxPacketSize); - pIndexLocal[3] = UINT32_BYTE0(pConnectProperties->maxPacketSize); - pIndexLocal = &pIndexLocal[4]; - } - if (pConnectProperties->topicAliasMax != 0U) - { - *pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; - pIndexLocal++; - pIndexLocal[0] = UINT16_HIGH_BYTE(pConnectProperties->topicAliasMax); - pIndexLocal[1] = UINT16_LOW_BYTE(pConnectProperties->topicAliasMax); - pIndexLocal = &pIndexLocal[2]; - } - if (pConnectProperties->reqResInfo != false) - { - *pIndexLocal = MQTT_REQUEST_RESPONSE_ID; - pIndexLocal++; - *pIndexLocal = 1U; - pIndexLocal++; - } - if (pConnectProperties->reqProbInfo != true) - { - *pIndexLocal = MQTT_REQUEST_PROBLEM_ID; - pIndexLocal++; - *pIndexLocal = 0U; - pIndexLocal++; - } - return pIndexLocal; -} + assert( pConnectInfo != NULL ); + assert( pFixedBuffer != NULL ); + assert( pFixedBuffer->pBuffer != NULL ); + assert( pConnectProperties != NULL ); + pIndex = pFixedBuffer->pBuffer; + /* Serialize the header. */ + pIndex = MQTT_SerializeConnectFixedHeader( pIndex, + pConnectInfo, + pWillInfo, + remainingLength ); -static void serializeConnectPacketV5(const MQTTConnectInfo_t *pConnectInfo, - const MQTTPublishInfo_t *pWillInfo, - const MQTTConnectProperties_t *pConnectProperties, - size_t remainingLength, - const MQTTFixedBuffer_t *pFixedBuffer) -{ - uint8_t *pIndex = NULL; - assert(pConnectInfo != NULL); - assert(pFixedBuffer != NULL); - assert(pFixedBuffer->pBuffer != NULL); - assert(pConnectProperties != NULL); - pIndex = pFixedBuffer->pBuffer; - /* Serialize the header. */ - pIndex = MQTT_SerializeConnectFixedHeader(pIndex, - pConnectInfo, - pWillInfo, - remainingLength); + /* Serialize the connect Properties. */ + pIndex = MQTT_SerializeConnectProperties( pIndex, pConnectProperties ); - /* Serialize the connect Properties. */ - pIndex = MQTT_SerializeConnectProperties(pIndex, pConnectProperties); + if( pConnectProperties->outgoingUserPropSize > 0U ) + { + uint32_t i = 0; + uint32_t size = pConnectProperties->outgoingUserPropSize; + const MQTTUserProperty_t * pUserProperty = pConnectProperties->pOutgoingUserProperty; - if (pConnectProperties->outgoingUserPropSize > 0U) - { - uint32_t i = 0; - uint32_t size = pConnectProperties->outgoingUserPropSize; - const MQTTUserProperty_t *pUserProperty = pConnectProperties->pOutgoingUserProperty; - for (; i < size; i++) + for( ; i < size; i++ ) + { + *pIndex = MQTT_USER_PROPERTY_ID; + pIndex++; + pIndex = encodeString( pIndex, pUserProperty[ i ].pKey, pUserProperty[ i ].keyLength ); + pIndex = encodeString( pIndex, pUserProperty[ i ].pValue, pUserProperty[ i ].valueLength ); + } + } + + if( pConnectProperties->pOutgoingAuth != NULL ) { - *pIndex = MQTT_USER_PROPERTY_ID; + /* Serialize the authentication method string. */ + *pIndex = MQTT_AUTH_METHOD_ID; pIndex++; - pIndex = encodeString(pIndex, pUserProperty[i].pKey, pUserProperty[i].keyLength); - pIndex = encodeString(pIndex, pUserProperty[i].pValue, pUserProperty[i].valueLength); + pIndex = encodeString( pIndex, pConnectProperties->pOutgoingAuth->pAuthMethod, pConnectProperties->pOutgoingAuth->authMethodLength ); + + if( pConnectProperties->pOutgoingAuth->authDataLength != 0U ) + { + *pIndex = MQTT_AUTH_DATA_ID; + pIndex++; + pIndex = encodeString( pIndex, pConnectProperties->pOutgoingAuth->pAuthData, pConnectProperties->pOutgoingAuth->authDataLength ); + } } - } - if (pConnectProperties->pOutgoingAuth != NULL) - { - /* Serialize the authentication method string. */ - *pIndex = MQTT_AUTH_METHOD_ID; - pIndex++; - pIndex = encodeString(pIndex, pConnectProperties->pOutgoingAuth->pAuthMethod, pConnectProperties->pOutgoingAuth->authMethodLength); - if (pConnectProperties->pOutgoingAuth->authDataLength != 0U) + /* Write the client identifier into the CONNECT packet. */ + pIndex = encodeString( pIndex, + pConnectInfo->pClientIdentifier, + pConnectInfo->clientIdentifierLength ); + + /* Serialze the will properties,topic name and message into the CONNECT packet if provided. */ + if( pWillInfo != NULL ) { - *pIndex = MQTT_AUTH_DATA_ID; - pIndex++; - pIndex = encodeString(pIndex, pConnectProperties->pOutgoingAuth->pAuthData, pConnectProperties->pOutgoingAuth->authDataLength); + pIndex = MQTT_SerializePublishProperties( pWillInfo, pIndex ); + + if( pWillInfo->contentTypeLength != 0U ) + { + *pIndex = MQTT_CONTENT_TYPE_ID; + pIndex++; + pIndex = encodeString( pIndex, pWillInfo->pContentType, pWillInfo->contentTypeLength ); + } + + if( pWillInfo->responseTopicLength != 0U ) + { + *pIndex = MQTT_RESPONSE_TOPIC_ID; + pIndex++; + pIndex = encodeString( pIndex, pWillInfo->pResponseTopic, pWillInfo->responseTopicLength ); + } + + if( pWillInfo->correlationLength != 0U ) + { + *pIndex = MQTT_CORRELATION_DATA_ID; + pIndex++; + pIndex = encodeString( pIndex, pWillInfo->pCorrelationData, pWillInfo->correlationLength ); + } + + if( pWillInfo->userPropertySize != 0U ) + { + uint32_t i = 0; + uint32_t size = pWillInfo->userPropertySize; + const MQTTUserProperty_t * pUserProperty = pWillInfo->pUserProperty; + + for( ; i < size; i++ ) + { + *pIndex = MQTT_USER_PROPERTY_ID; + pIndex++; + pIndex = encodeString( pIndex, pUserProperty[ i ].pKey, pUserProperty[ i ].keyLength ); + pIndex = encodeString( pIndex, pUserProperty[ i ].pValue, pUserProperty[ i ].valueLength ); + } + } + + pIndex = encodeString( pIndex, pWillInfo->pTopicName, pWillInfo->topicNameLength ); + pIndex = encodeString( pIndex, pWillInfo->pPayload, ( uint16_t ) pWillInfo->payloadLength ); } - } - /* Write the client identifier into the CONNECT packet. */ - pIndex = encodeString(pIndex, - pConnectInfo->pClientIdentifier, - pConnectInfo->clientIdentifierLength); + /* Encode the user name if provided. */ + if( pConnectInfo->pUserName != NULL ) + { + pIndex = encodeString( pIndex, pConnectInfo->pUserName, pConnectInfo->userNameLength ); + } + + /* Encode the password if provided. */ + if( pConnectInfo->pPassword != NULL ) + { + pIndex = encodeString( pIndex, pConnectInfo->pPassword, pConnectInfo->passwordLength ); + } + + LogDebug( ( "Length of serialized CONNECT packet is %lu.", + ( ( unsigned long ) ( pIndex - pFixedBuffer->pBuffer ) ) ) ); + + /* Ensure that the difference between the end and beginning of the buffer + * is less than the buffer size. */ + assert( ( ( size_t ) ( pIndex - pFixedBuffer->pBuffer ) ) <= pFixedBuffer->size ); + } - /* Serialze the will properties,topic name and message into the CONNECT packet if provided. */ - if (pWillInfo != NULL) + MQTTStatus_t MQTTV5_SerializeConnect( const MQTTConnectInfo_t * pConnectInfo, + const MQTTPublishInfo_t * pWillInfo, + const MQTTConnectProperties_t * pConnectProperties, + size_t remainingLength, + const MQTTFixedBuffer_t * pFixedBuffer ) { - pIndex = MQTT_SerializePublishProperties(pWillInfo, pIndex); - if (pWillInfo->contentTypeLength != 0U) + MQTTStatus_t status = MQTTSuccess; + size_t connectPacketSize = 0; + + /* Validate arguments. */ + if( ( pConnectInfo == NULL ) || ( pFixedBuffer == NULL ) ) { - *pIndex = MQTT_CONTENT_TYPE_ID; - pIndex++; - pIndex = encodeString(pIndex, pWillInfo->pContentType, pWillInfo->contentTypeLength); + LogError( ( "Argument cannot be NULL: pConnectInfo=%p, " + "pFixedBuffer=%p.", + ( void * ) pConnectInfo, + ( void * ) pFixedBuffer ) ); + status = MQTTBadParameter; } - if (pWillInfo->responseTopicLength != 0U) + /* A buffer must be configured for serialization. */ + else if( pFixedBuffer->pBuffer == NULL ) { - *pIndex = MQTT_RESPONSE_TOPIC_ID; - pIndex++; - pIndex = encodeString(pIndex, pWillInfo->pResponseTopic, pWillInfo->responseTopicLength); + LogError( ( "Argument cannot be NULL: pFixedBuffer->pBuffer is NULL." ) ); + status = MQTTBadParameter; } - if (pWillInfo->correlationLength != 0U) + else if( ( pWillInfo != NULL ) && ( pWillInfo->pTopicName == NULL ) ) { - *pIndex = MQTT_CORRELATION_DATA_ID; - pIndex++; - pIndex = encodeString(pIndex, pWillInfo->pCorrelationData, pWillInfo->correlationLength); + LogError( ( "pWillInfo->pTopicName cannot be NULL if Will is present." ) ); + status = MQTTBadParameter; } - if (pWillInfo->userPropertySize != 0U) + + else if( pConnectProperties == NULL ) { - uint32_t i = 0; - uint32_t size = pWillInfo->userPropertySize; - const MQTTUserProperty_t *pUserProperty = pWillInfo->pUserProperty; - for (; i < size; i++) + LogError( ( "Argument cannot be NULL: connectProperties" ) ); + status = MQTTBadParameter; + } + else + { + /* Calculate CONNECT packet size. Overflow in in this addition is not checked + * because it is part of the API contract to call Mqtt_GetConnectPacketSize() + * before this function. */ + connectPacketSize = remainingLength + remainingLengthEncodedSize( remainingLength ) + 1U; + + /* Check that the full packet size fits within the given buffer. */ + if( connectPacketSize > pFixedBuffer->size ) { - *pIndex = MQTT_USER_PROPERTY_ID; - pIndex++; - pIndex = encodeString(pIndex, pUserProperty[i].pKey, pUserProperty[i].keyLength); - pIndex = encodeString(pIndex, pUserProperty[i].pValue, pUserProperty[i].valueLength); + LogError( ( "Buffer size of %lu is not sufficient to hold " + "serialized CONNECT packet of size of %lu.", + ( unsigned long ) pFixedBuffer->size, + ( unsigned long ) connectPacketSize ) ); + status = MQTTNoMemory; + } + else + { + serializeConnectPacketV5( pConnectInfo, + pWillInfo, + pConnectProperties, + remainingLength, + pFixedBuffer ); } } - pIndex = encodeString(pIndex, pWillInfo->pTopicName, pWillInfo->topicNameLength); - pIndex = encodeString(pIndex, pWillInfo->pPayload, (uint16_t)pWillInfo->payloadLength); - } - /* Encode the user name if provided. */ - if (pConnectInfo->pUserName != NULL) - { - pIndex = encodeString(pIndex, pConnectInfo->pUserName, pConnectInfo->userNameLength); + + return status; } - /* Encode the password if provided. */ - if (pConnectInfo->pPassword != NULL) + static MQTTStatus_t logConnackResponseV5( uint8_t responseCode ) { - pIndex = encodeString(pIndex, pConnectInfo->pPassword, pConnectInfo->passwordLength); - } + MQTTStatus_t status = MQTTServerRefused; - LogDebug(("Length of serialized CONNECT packet is %lu.", - ((unsigned long)(pIndex - pFixedBuffer->pBuffer)))); + switch( responseCode ) + { + case ( uint8_t ) MQTT_REASON_UNSPECIFIED_ERR: + LogError( ( "Connection refused: Unspecified error" ) ); + break; - /* Ensure that the difference between the end and beginning of the buffer - * is less than the buffer size. */ - assert(((size_t)(pIndex - pFixedBuffer->pBuffer)) <= pFixedBuffer->size); -} + case ( uint8_t ) MQTT_REASON_MALFORMED_PACKET: + LogError( ( "Connection refused: Malformed Packet." ) ); + break; -MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t *pConnectInfo, - const MQTTPublishInfo_t *pWillInfo, - const MQTTConnectProperties_t *pConnectProperties, - size_t remainingLength, - const MQTTFixedBuffer_t *pFixedBuffer) -{ - MQTTStatus_t status = MQTTSuccess; - size_t connectPacketSize = 0; + case ( uint8_t ) MQTT_REASON_PROTOCOL_ERR: + LogError( ( "Connection refused: Protocol Error." ) ); + break; - /* Validate arguments. */ - if ((pConnectInfo == NULL) || (pFixedBuffer == NULL)) - { - LogError(("Argument cannot be NULL: pConnectInfo=%p, " - "pFixedBuffer=%p.", - (void *)pConnectInfo, - (void *)pFixedBuffer)); - status = MQTTBadParameter; - } - /* A buffer must be configured for serialization. */ - else if (pFixedBuffer->pBuffer == NULL) - { - LogError(("Argument cannot be NULL: pFixedBuffer->pBuffer is NULL.")); - status = MQTTBadParameter; - } - else if ((pWillInfo != NULL) && (pWillInfo->pTopicName == NULL)) - { - LogError(("pWillInfo->pTopicName cannot be NULL if Will is present.")); - status = MQTTBadParameter; - } + case ( uint8_t ) MQTT_REASON_IMPL_SPECIFIC_ERR: + LogError( ( "Connection refused: Impementation specific error." ) ); + break; - else if (pConnectProperties == NULL) - { - LogError(("Argument cannot be NULL: connectProperties")); - status = MQTTBadParameter; + case ( uint8_t ) MQTT_REASON_UNSUP_PROTO_VER: + LogError( ( "Connection refused: Unsupported Protocol Version." ) ); + break; + + case ( uint8_t ) MQTT_REASON_CLIENT_ID_NOT_VALID: + LogError( ( "Connection refused: Client Identifier not valid." ) ); + break; + + case ( uint8_t ) MQTT_REASON_BAD_USER_OR_PASS: + LogError( ( "Connection refused: Bad User Name or Password." ) ); + break; + + case ( uint8_t ) MQTT_REASON_NOT_AUTHORIZED: + LogError( ( "Connection refused: Not authorized." ) ); + break; + + case ( uint8_t ) MQTT_REASON_SERVER_UNAVAILABLE: + LogError( ( "Connection refused: Server unavailable." ) ); + break; + + case ( uint8_t ) MQTT_REASON_SERVER_BUSY: + LogError( ( "Connection refused: Server busy." ) ); + break; + + case ( uint8_t ) MQTT_REASON_BANNED: + LogError( ( "Connection refused: Banned." ) ); + break; + + case ( uint8_t ) MQTT_REASON_BAD_AUTH_METHOD: + LogError( ( "Connection refused: Bad authentication method." ) ); + break; + + case ( uint8_t ) MQTT_REASON_TOPIC_NAME_INVALID: + LogError( ( "Connection refused: Topic Name invalid." ) ); + break; + + case ( uint8_t ) MQTT_REASON_PACKET_TOO_LARGE: + LogError( ( "Connection refused: Packet too large ." ) ); + break; + + case ( uint8_t ) MQTT_REASON_QUOTA_EXCEEDED: + LogError( ( "Connection refused: Quota exceeded." ) ); + break; + + case ( uint8_t ) MQTT_REASON_PAYLOAD_FORMAT_INVALID: + LogError( ( "Connection refused: Payload format invalid." ) ); + break; + + case ( uint8_t ) MQTT_REASON_RETAIN_NOT_SUPPORTED: + LogError( ( "Connection refused: Retain not supported." ) ); + break; + + case ( uint8_t ) MQTT_REASON_QOS_NOT_SUPPORTED: + LogError( ( "Connection refused: QoS not supported." ) ); + break; + + case ( uint8_t ) MQTT_REASON_USE_ANOTHER_SERVER: + LogError( ( "Connection refused: Use another server." ) ); + break; + + case ( uint8_t ) MQTT_REASON_SERVER_MOVED: + LogError( ( "Connection refused: Server moved." ) ); + break; + + case ( uint8_t ) MQTT_REASON_CON_RATE_EXCEED: + LogError( ( "Connection refused: Connection rate exceeded." ) ); + break; + + default: + status = MQTTProtocolError; + break; + } + + return status; } - else + + static MQTTStatus_t validateConnackParams( const MQTTPacketInfo_t * pIncomingPacket, + bool * pSessionPresent ) { - /* Calculate CONNECT packet size. Overflow in in this addition is not checked - * because it is part of the API contract to call Mqtt_GetConnectPacketSize() - * before this function. */ - connectPacketSize = remainingLength + remainingLengthEncodedSize(remainingLength) + 1U; + MQTTStatus_t status = MQTTSuccess; - /* Check that the full packet size fits within the given buffer. */ - if (connectPacketSize > pFixedBuffer->size) + if( pIncomingPacket == NULL ) { - LogError(("Buffer size of %lu is not sufficient to hold " - "serialized CONNECT packet of size of %lu.", - (unsigned long)pFixedBuffer->size, - (unsigned long)connectPacketSize)); - status = MQTTNoMemory; + LogError( ( "pIncomingPacket cannot be NULL." ) ); + status = MQTTBadParameter; } - else + else if( pSessionPresent == NULL ) { - serializeConnectPacketV5(pConnectInfo, - pWillInfo, - pConnectProperties, - remainingLength, - pFixedBuffer); + LogError( ( "pSessionPresent cannot be NULL for CONNACK packet." ) ); + status = MQTTBadParameter; } - } + else if( pIncomingPacket->pRemainingData == NULL ) + { + LogError( ( "Remaining data of incoming packet is NULL." ) ); + status = MQTTBadParameter; + } + else if( pIncomingPacket->type != MQTT_PACKET_TYPE_CONNACK ) + { + LogError( ( "Packet type is invalid." ) ); + status = MQTTBadParameter; + } + else + { + const uint8_t * pRemainingData = NULL; + pRemainingData = pIncomingPacket->pRemainingData; - return status; -} + if( ( pRemainingData[ 0 ] | 0x01U ) != 0x01U ) + { + LogError( ( "Reserved bits in CONNACK incorrect." ) ); -static MQTTStatus_t logConnackResponseV5(uint8_t responseCode) -{ + status = MQTTBadResponse; + } + else + { + /* Determine if the "Session Present" bit is set. This is the lowest bit of + * the third byte in CONNACK. */ + if( ( pRemainingData[ 0 ] & MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK ) == MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK ) + { + LogDebug( ( "CONNACK session present bit set." ) ); + *pSessionPresent = true; - MQTTStatus_t status = MQTTServerRefused; - switch (responseCode) - { - case (uint8_t)MQTT_REASON_UNSPECIFIED_ERR: - LogError(("Connection refused: Unspecified error")); - break; - case (uint8_t)MQTT_REASON_MALFORMED_PACKET: - LogError(("Connection refused: Malformed Packet.")); - break; - case (uint8_t)MQTT_REASON_PROTOCOL_ERR: - LogError(("Connection refused: Protocol Error.")); - break; - case (uint8_t)MQTT_REASON_IMPL_SPECIFIC_ERR: - LogError(("Connection refused: Impementation specific error.")); - break; - case (uint8_t)MQTT_REASON_UNSUP_PROTO_VER: - LogError(("Connection refused: Unsupported Protocol Version.")); - break; - case (uint8_t)MQTT_REASON_CLIENT_ID_NOT_VALID: - LogError(("Connection refused: Client Identifier not valid.")); - break; - case (uint8_t)MQTT_REASON_BAD_USER_OR_PASS: - LogError(("Connection refused: Bad User Name or Password.")); - break; - case (uint8_t)MQTT_REASON_NOT_AUTHORIZED: - LogError(("Connection refused: Not authorized.")); - break; - case (uint8_t)MQTT_REASON_SERVER_UNAVAILABLE: - LogError(("Connection refused: Server unavailable.")); - break; - case (uint8_t)MQTT_REASON_SERVER_BUSY: - LogError(("Connection refused: Server busy.")); - break; - case (uint8_t)MQTT_REASON_BANNED: - LogError(("Connection refused: Banned.")); - break; - case (uint8_t)MQTT_REASON_BAD_AUTH_METHOD: - LogError(("Connection refused: Bad authentication method.")); - break; - case (uint8_t)MQTT_REASON_TOPIC_NAME_INVALID: - LogError(("Connection refused: Topic Name invalid.")); - break; - case (uint8_t)MQTT_REASON_PACKET_TOO_LARGE: - LogError(("Connection refused: Packet too large .")); - break; - case (uint8_t)MQTT_REASON_QUOTA_EXCEEDED: - LogError(("Connection refused: Quota exceeded.")); - break; - case (uint8_t)MQTT_REASON_PAYLOAD_FORMAT_INVALID: - LogError(("Connection refused: Payload format invalid.")); - break; - case (uint8_t)MQTT_REASON_RETAIN_NOT_SUPPORTED: - LogError(("Connection refused: Retain not supported.")); - break; - case (uint8_t)MQTT_REASON_QOS_NOT_SUPPORTED: - LogError(("Connection refused: QoS not supported.")); - break; - case (uint8_t)MQTT_REASON_USE_ANOTHER_SERVER: - LogError(("Connection refused: Use another server.")); - break; - case (uint8_t)MQTT_REASON_SERVER_MOVED: - LogError(("Connection refused: Server moved.")); - break; - case (uint8_t)MQTT_REASON_CON_RATE_EXCEED: - LogError(("Connection refused: Connection rate exceeded.")); - break; - default: - status = MQTTProtocolError; - break; - } - return status; -} + /* MQTT 5 specifies that the fourth byte in CONNACK must be 0 if the + * "Session Present" bit is set. */ + if( pRemainingData[ 1 ] != 0U ) + { + LogError( ( "Session Present bit is set, but connect return code in CONNACK is %u (nonzero).", + ( unsigned int ) pRemainingData[ 1 ] ) ); + status = MQTTBadResponse; + } + } + else + { + LogDebug( ( "CONNACK session present bit not set." ) ); + *pSessionPresent = false; + } + } -static MQTTStatus_t validateConnackParams(const MQTTPacketInfo_t *pIncomingPacket, bool *pSessionPresent) -{ + if( status == MQTTSuccess ) + { + if( pRemainingData[ 1 ] != 0u ) + { + status = logConnackResponseV5( pRemainingData[ 1 ] ); + } + } + } - MQTTStatus_t status = MQTTSuccess; - if (pIncomingPacket == NULL) - { - LogError(("pIncomingPacket cannot be NULL.")); - status = MQTTBadParameter; + return status; } - else if (pSessionPresent == NULL) - { - LogError(("pSessionPresent cannot be NULL for CONNACK packet.")); - status = MQTTBadParameter; - } - else if (pIncomingPacket->pRemainingData == NULL) - { - LogError(("Remaining data of incoming packet is NULL.")); - status = MQTTBadParameter; - } - else if (pIncomingPacket->type != MQTT_PACKET_TYPE_CONNACK) - { - LogError(("Packet type is invalid.")); - status = MQTTBadParameter; - } - else + static MQTTStatus_t decodeVariableLength( const uint8_t * pBuffer, + size_t * pLength ) { - const uint8_t *pRemainingData = NULL; - pRemainingData = pIncomingPacket->pRemainingData; - if ((pRemainingData[0] | 0x01U) != 0x01U) - { - LogError(("Reserved bits in CONNACK incorrect.")); + size_t remainingLength = 0; + size_t multiplier = 1; + size_t bytesDecoded = 0; + size_t expectedSize = 0; + uint8_t encodedByte = 0; + MQTTStatus_t status = MQTTSuccess; - status = MQTTBadResponse; - } - else + /* This algorithm is copied from the MQTT v3.1.1 spec. */ + do { - /* Determine if the "Session Present" bit is set. This is the lowest bit of - * the third byte in CONNACK. */ - if ((pRemainingData[0] & MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) == MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) + if( multiplier > 2097152U ) /* 128 ^ 3 */ { - LogDebug(("CONNACK session present bit set.")); - *pSessionPresent = true; + remainingLength = MQTT_REMAINING_LENGTH_INVALID; - /* MQTT 5 specifies that the fourth byte in CONNACK must be 0 if the - * "Session Present" bit is set. */ - if (pRemainingData[1] != 0U) - { - LogError(("Session Present bit is set, but connect return code in CONNACK is %u (nonzero).", - (unsigned int)pRemainingData[1])); - status = MQTTBadResponse; - } + LogError( ( "Invalid remaining length in the packet.\n" ) ); + + status = MQTTBadResponse; } else { - LogDebug(("CONNACK session present bit not set.")); - *pSessionPresent = false; + /* Get the next byte. It is at the next position after the bytes + * decoded till now since the header of one byte was read before. */ + encodedByte = pBuffer[ bytesDecoded ]; + remainingLength += ( ( size_t ) encodedByte & 0x7FU ) * multiplier; + multiplier *= 128U; + bytesDecoded++; } - } - if (status == MQTTSuccess) + + /* If the response is incorrect then + * break out of the loop. */ + if( remainingLength == MQTT_REMAINING_LENGTH_INVALID ) + { + break; + } + } while( ( encodedByte & 0x80U ) != 0U ); + + if( status == MQTTSuccess ) { + /* Check that the decoded remaining length conforms to the MQTT specification. */ + expectedSize = remainingLengthEncodedSize( remainingLength ); - if (pRemainingData[1] != 0u) + if( bytesDecoded != expectedSize ) + { + LogError( ( "Expected and actual length of decoded bytes do not match.\n" ) ); + status = MQTTBadResponse; + } + else { - status = logConnackResponseV5(pRemainingData[1]); + *pLength = remainingLength; } } - } - - return status; -} -static MQTTStatus_t decodeVariableLength(const uint8_t *pBuffer, size_t *pLength) -{ - size_t remainingLength = 0; - size_t multiplier = 1; - size_t bytesDecoded = 0; - size_t expectedSize = 0; - uint8_t encodedByte = 0; - MQTTStatus_t status = MQTTSuccess; + return status; + } - /* This algorithm is copied from the MQTT v3.1.1 spec. */ - do + static MQTTStatus_t decodeuint32_t( uint32_t * pProperty, + size_t * pPropertyLength, + bool * pUsed, + uint8_t ** pIndex ) { - if (multiplier > 2097152U) /* 128 ^ 3 */ - { - remainingLength = MQTT_REMAINING_LENGTH_INVALID; - - LogError(("Invalid remaining length in the packet.\n")); + uint8_t * pVariableHeader = *pIndex; + MQTTStatus_t status = MQTTSuccess; - status = MQTTBadResponse; + if( *pUsed == true ) + { + status = MQTTProtocolError; } - else + else if( *pPropertyLength < sizeof( uint32_t ) ) { - /* Get the next byte. It is at the next position after the bytes - * decoded till now since the header of one byte was read before. */ - encodedByte = pBuffer[bytesDecoded]; - remainingLength += ((size_t)encodedByte & 0x7FU) * multiplier; - multiplier *= 128U; - bytesDecoded++; + status = MQTTMalformedPacket; } - - /* If the response is incorrect then - * break out of the loop. */ - if (remainingLength == MQTT_REMAINING_LENGTH_INVALID) + else { - break; + *pProperty = UINT32_DECODE( pVariableHeader ); + pVariableHeader = &pVariableHeader[ sizeof( uint32_t ) ]; + *pUsed = true; + *pPropertyLength -= sizeof( uint32_t ); } - } while ((encodedByte & 0x80U) != 0U); - if (status == MQTTSuccess) + *pIndex = pVariableHeader; + return status; + } + + static MQTTStatus_t decodeuint16_t( uint16_t * pProperty, + size_t * pPropertyLength, + bool * pUsed, + uint8_t ** pIndex ) { - /* Check that the decoded remaining length conforms to the MQTT specification. */ - expectedSize = remainingLengthEncodedSize(remainingLength); + uint8_t * pVariableHeader = *pIndex; + MQTTStatus_t status = MQTTSuccess; - if (bytesDecoded != expectedSize) + if( *pUsed == true ) { - LogError(("Expected and actual length of decoded bytes do not match.\n")); - status = MQTTBadResponse; + status = MQTTProtocolError; + } + else if( *pPropertyLength < sizeof( uint16_t ) ) + { + status = MQTTMalformedPacket; } else { - *pLength = remainingLength; + *pProperty = UINT16_DECODE( pVariableHeader ); + pVariableHeader = &pVariableHeader[ sizeof( uint16_t ) ]; + *pUsed = true; + *pPropertyLength -= sizeof( uint16_t ); } - } - - return status; -} -static MQTTStatus_t decodeuint32_t(uint32_t *pProperty,size_t * pPropertyLength, bool * pUsed, uint8_t** pIndex){ - uint8_t * pVariableHeader = *pIndex; - MQTTStatus_t status = MQTTSuccess; - if (*pUsed == true) - { - status = MQTTProtocolError; - } - else if (*pPropertyLength < sizeof(uint32_t)) - { - status = MQTTMalformedPacket; - } - else - { - *pProperty = UINT32_DECODE(pVariableHeader); - pVariableHeader = &pVariableHeader[sizeof(uint32_t)]; - *pUsed = true; - *pPropertyLength -= sizeof(uint32_t); + *pIndex = pVariableHeader; + return status; } - *pIndex = pVariableHeader; - return status; -} -static MQTTStatus_t decodeuint16_t(uint16_t *pProperty,size_t * pPropertyLength, bool * pUsed, uint8_t** pIndex){ - uint8_t * pVariableHeader = *pIndex; - MQTTStatus_t status = MQTTSuccess; - if (*pUsed == true) - { - status = MQTTProtocolError; - } - else if (*pPropertyLength < sizeof(uint16_t)) + static MQTTStatus_t decodeuint8_t( uint8_t * pProperty, + size_t * pPropertyLength, + bool * pUsed, + uint8_t ** pIndex ) { - status = MQTTMalformedPacket; - } - else - { - *pProperty = UINT16_DECODE(pVariableHeader); - pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - *pUsed = true; - *pPropertyLength -= sizeof(uint16_t); - } - *pIndex = pVariableHeader; - return status; -} + uint8_t * pVariableHeader = *pIndex; + MQTTStatus_t status = MQTTSuccess; -static MQTTStatus_t decodeuint8_t(uint8_t *pProperty,size_t * pPropertyLength, bool * pUsed, uint8_t** pIndex){ - uint8_t * pVariableHeader = *pIndex; - MQTTStatus_t status = MQTTSuccess; - if (*pUsed == true) - { - status = MQTTProtocolError; - } - else if (*pPropertyLength < sizeof(uint8_t)) - { - status = MQTTMalformedPacket; - } - else - { - *pProperty = *pVariableHeader; - pVariableHeader = &pVariableHeader[sizeof(uint8_t)]; - *pUsed = true; - *pPropertyLength -= sizeof(uint8_t); - if (*pProperty > 1U) + if( *pUsed == true ) { status = MQTTProtocolError; } - } - *pIndex = pVariableHeader; - return status; -} - -static MQTTStatus_t decodeutf_8(const char ** pProperty,uint16_t *pLength,size_t * pPropertyLength, bool * pUsed, uint8_t** pIndex){ - uint8_t * pVariableHeader = *pIndex; - MQTTStatus_t status = MQTTSuccess ; - if (*pUsed == true) - { - status = MQTTProtocolError; - } - else if (*pPropertyLength < sizeof(uint16_t)) - { - status = MQTTMalformedPacket; - } - else - { - *pLength = UINT16_DECODE(pVariableHeader); - pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - *pPropertyLength -= sizeof(uint16_t); - if (*pPropertyLength < *pLength) + else if( *pPropertyLength < sizeof( uint8_t ) ) { status = MQTTMalformedPacket; } else { - *pProperty = (const char *)pVariableHeader; - pVariableHeader = &pVariableHeader[*pLength]; - *pPropertyLength -= *pLength; + *pProperty = *pVariableHeader; + pVariableHeader = &pVariableHeader[ sizeof( uint8_t ) ]; *pUsed = true; + *pPropertyLength -= sizeof( uint8_t ); + + if( *pProperty > 1U ) + { + status = MQTTProtocolError; + } } + + *pIndex = pVariableHeader; + return status; } - *pIndex= pVariableHeader; - return status; -} -static MQTTStatus_t decodeutf_8pair(MQTTUserProperty_t* pUserProperty,size_t * pPropertyLength, uint8_t** pIndex){ - uint8_t * pVariableHeader = *pIndex; - MQTTStatus_t status = MQTTSuccess ; - if (*pPropertyLength < sizeof(uint16_t)) + static MQTTStatus_t decodeutf_8( const char ** pProperty, + uint16_t * pLength, + size_t * pPropertyLength, + bool * pUsed, + uint8_t ** pIndex ) { - status = MQTTMalformedPacket; + uint8_t * pVariableHeader = *pIndex; + MQTTStatus_t status = MQTTSuccess; + + if( *pUsed == true ) + { + status = MQTTProtocolError; + } + else if( *pPropertyLength < sizeof( uint16_t ) ) + { + status = MQTTMalformedPacket; + } + else + { + *pLength = UINT16_DECODE( pVariableHeader ); + pVariableHeader = &pVariableHeader[ sizeof( uint16_t ) ]; + *pPropertyLength -= sizeof( uint16_t ); + + if( *pPropertyLength < *pLength ) + { + status = MQTTMalformedPacket; + } + else + { + *pProperty = ( const char * ) pVariableHeader; + pVariableHeader = &pVariableHeader[ *pLength ]; + *pPropertyLength -= *pLength; + *pUsed = true; + } + } + + *pIndex = pVariableHeader; + return status; } - else + + static MQTTStatus_t decodeutf_8pair( MQTTUserProperty_t * pUserProperty, + size_t * pPropertyLength, + uint8_t ** pIndex ) { - pUserProperty->keyLength = UINT16_DECODE(pVariableHeader); - *pPropertyLength -= sizeof(uint16_t); - if (*pPropertyLength < pUserProperty->keyLength) + uint8_t * pVariableHeader = *pIndex; + MQTTStatus_t status = MQTTSuccess; + + if( *pPropertyLength < sizeof( uint16_t ) ) { status = MQTTMalformedPacket; } else { - pVariableHeader = &pVariableHeader[sizeof(uint16_t)]; - pUserProperty->pKey = (const char *)pVariableHeader; - *pPropertyLength -= pUserProperty->keyLength; - pVariableHeader = &pVariableHeader[pUserProperty->keyLength]; - pUserProperty->valueLength = UINT16_DECODE(pVariableHeader); - if (*pPropertyLength < sizeof(uint16_t)) + pUserProperty->keyLength = UINT16_DECODE( pVariableHeader ); + *pPropertyLength -= sizeof( uint16_t ); + + if( *pPropertyLength < pUserProperty->keyLength ) { status = MQTTMalformedPacket; } else { - *pPropertyLength -= sizeof(uint16_t); - if (*pPropertyLength < (size_t)(pUserProperty->valueLength)) + pVariableHeader = &pVariableHeader[ sizeof( uint16_t ) ]; + pUserProperty->pKey = ( const char * ) pVariableHeader; + *pPropertyLength -= pUserProperty->keyLength; + pVariableHeader = &pVariableHeader[ pUserProperty->keyLength ]; + pUserProperty->valueLength = UINT16_DECODE( pVariableHeader ); + + if( *pPropertyLength < sizeof( uint16_t ) ) { status = MQTTMalformedPacket; } else { - pUserProperty->pValue = (const char *)pVariableHeader; - pVariableHeader = &pVariableHeader[pUserProperty->valueLength]; - *pPropertyLength -= pUserProperty->valueLength; + *pPropertyLength -= sizeof( uint16_t ); + + if( *pPropertyLength < ( size_t ) ( pUserProperty->valueLength ) ) + { + status = MQTTMalformedPacket; + } + else + { + pUserProperty->pValue = ( const char * ) pVariableHeader; + pVariableHeader = &pVariableHeader[ pUserProperty->valueLength ]; + *pPropertyLength -= pUserProperty->valueLength; + } } } } + + *pIndex = pVariableHeader; + return status; } - *pIndex = pVariableHeader; - return status; -} -static MQTTStatus_t deserializeConnackV5(MQTTConnectProperties_t *pConnackProperties, size_t propertyLength,uint8_t ** pIndex){ + static MQTTStatus_t deserializeConnackV5( MQTTConnectProperties_t * pConnackProperties, + size_t propertyLength, + uint8_t ** pIndex ) + { MQTTStatus_t status = MQTTSuccess; uint8_t * pVariableHeader = *pIndex; bool sessionExpiry = false; @@ -1589,156 +1735,183 @@ static MQTTStatus_t deserializeConnackV5(MQTTConnectProperties_t *pConnackProper bool serverRef = false; bool authMethod = false; bool authData = false; - MQTTUserProperty_t *userProperty = pConnackProperties->pIncomingUserProperty; - pVariableHeader = &pVariableHeader[remainingLengthEncodedSize(propertyLength)]; - while ((propertyLength > 0U) && (status == MQTTSuccess)) + MQTTUserProperty_t * userProperty = pConnackProperties->pIncomingUserProperty; + + pVariableHeader = &pVariableHeader[ remainingLengthEncodedSize( propertyLength ) ]; + + while( ( propertyLength > 0U ) && ( status == MQTTSuccess ) ) { uint8_t packetId = *pVariableHeader; - pVariableHeader = &pVariableHeader[1]; + pVariableHeader = &pVariableHeader[ 1 ]; propertyLength -= 1U; - switch (packetId) + + switch( packetId ) { - case MQTT_SESSION_EXPIRY_ID: - status = decodeuint32_t(&pConnackProperties->sessionExpiry,&propertyLength,&sessionExpiry,&pVariableHeader); - break; - case MQTT_RECEIVE_MAX_ID: - status= decodeuint16_t(&pConnackProperties->serverReceiveMax,&propertyLength,&serverReceiveMax,&pVariableHeader); - if(pConnackProperties->serverReceiveMax == 0U) + case MQTT_SESSION_EXPIRY_ID: + status = decodeuint32_t( &pConnackProperties->sessionExpiry, &propertyLength, &sessionExpiry, &pVariableHeader ); + break; + + case MQTT_RECEIVE_MAX_ID: + status = decodeuint16_t( &pConnackProperties->serverReceiveMax, &propertyLength, &serverReceiveMax, &pVariableHeader ); + + if( pConnackProperties->serverReceiveMax == 0U ) { - status = MQTTProtocolError; + status = MQTTProtocolError; } - break; - case MQTT_MAX_QOS_ID: - status = decodeuint8_t(&pConnackProperties->serverMaxQos,&propertyLength,&maxQos,&pVariableHeader); - break; - case MQTT_RETAIN_AVAILABLE_ID: - status = decodeuint8_t(&pConnackProperties->retainAvailable,&propertyLength,&retain,&pVariableHeader); - break; - case MQTT_MAX_PACKET_SIZE_ID: - status = decodeuint32_t(&pConnackProperties->serverMaxPacketSize,&propertyLength,&maxPacket,&pVariableHeader); - // if ((pConnackProperties->serverMaxPacketSize == 0U)) - // { - // status = MQTTProtocolError; - // } - break; - case MQTT_ASSIGNED_CLIENT_ID: - status = decodeutf_8(&pConnackProperties->pClientIdentifier,&pConnackProperties->clientIdLength,&propertyLength,&clientId,&pVariableHeader); - break; - case MQTT_TOPIC_ALIAS_MAX_ID: - status= decodeuint16_t(&pConnackProperties->serverTopicAliasMax,&propertyLength,&topicAlias,&pVariableHeader); - break; - case MQTT_REASON_STRING_ID: - status = decodeutf_8(&pConnackProperties->pReasonString,&pConnackProperties->reasonStringLength,&propertyLength,&reasonString,&pVariableHeader); - break; - case MQTT_USER_PROPERTY_ID: - status = decodeutf_8pair(userProperty,&propertyLength,&pVariableHeader); - userProperty++; - pConnackProperties->incomingUserPropSize++; - break; - case MQTT_WILDCARD_ID: - status = decodeuint8_t(&pConnackProperties->isWildcardAvaiable,&propertyLength,&wildcard,&pVariableHeader); - break; - case MQTT_SUB_AVAILABLE_ID: - status = decodeuint8_t(&pConnackProperties->subscriptionId ,&propertyLength,&subId,&pVariableHeader); - break; - case MQTT_SHARED_SUB_ID: - status = decodeuint8_t(&pConnackProperties->isSharedAvailable,&propertyLength,&sharedsub,&pVariableHeader); - break; - case MQTT_SERVER_KEEP_ALIVE_ID: - status= decodeuint16_t(&pConnackProperties->serverKeepAlive,&propertyLength,&keepAlive,&pVariableHeader); - break; - case MQTT_RESPONSE_INFO_ID: - // if (pConnackProperties->reqResInfo == false) - // { - // status = MQTTProtocolError; - // } - // else - // { - status = decodeutf_8(&pConnackProperties->pResponseInfo,&pConnackProperties->responseInfoLength,&propertyLength,&responseInfo,&pVariableHeader); - // } - break; - case MQTT_SERVER_REF_ID: - status = decodeutf_8(&pConnackProperties->pServerRef,&pConnackProperties->serverRefLength,&propertyLength,&serverRef,&pVariableHeader); - break; - case MQTT_AUTH_METHOD_ID: - // if (pConnackProperties->pOutgoingAuth == NULL) - // { - // status = MQTTProtocolError; - // } - // else{ - status = decodeutf_8(&pConnackProperties->pIncomingAuth->pAuthMethod,&pConnackProperties->pIncomingAuth->authMethodLength ,&propertyLength,&authMethod,&pVariableHeader); - // } - break; - case MQTT_AUTH_DATA_ID: - // if ((pConnackProperties->pOutgoingAuth == NULL)) - // { - // status = MQTTProtocolError; - // } - // else{ - status = decodeutf_8(&pConnackProperties->pIncomingAuth->pAuthData,&pConnackProperties->pIncomingAuth->authDataLength ,&propertyLength,&authData,&pVariableHeader); - // } - break; - default: - status = MQTTProtocolError; - break; + + break; + + case MQTT_MAX_QOS_ID: + status = decodeuint8_t( &pConnackProperties->serverMaxQos, &propertyLength, &maxQos, &pVariableHeader ); + break; + + case MQTT_RETAIN_AVAILABLE_ID: + status = decodeuint8_t( &pConnackProperties->retainAvailable, &propertyLength, &retain, &pVariableHeader ); + break; + + case MQTT_MAX_PACKET_SIZE_ID: + status = decodeuint32_t( &pConnackProperties->serverMaxPacketSize, &propertyLength, &maxPacket, &pVariableHeader ); + /* if ((pConnackProperties->serverMaxPacketSize == 0U)) */ + /* { */ + /* status = MQTTProtocolError; */ + /* } */ + break; + + case MQTT_ASSIGNED_CLIENT_ID: + status = decodeutf_8( &pConnackProperties->pClientIdentifier, &pConnackProperties->clientIdLength, &propertyLength, &clientId, &pVariableHeader ); + break; + + case MQTT_TOPIC_ALIAS_MAX_ID: + status = decodeuint16_t( &pConnackProperties->serverTopicAliasMax, &propertyLength, &topicAlias, &pVariableHeader ); + break; + + case MQTT_REASON_STRING_ID: + status = decodeutf_8( &pConnackProperties->pReasonString, &pConnackProperties->reasonStringLength, &propertyLength, &reasonString, &pVariableHeader ); + break; + + case MQTT_USER_PROPERTY_ID: + status = decodeutf_8pair( userProperty, &propertyLength, &pVariableHeader ); + userProperty++; + pConnackProperties->incomingUserPropSize++; + break; + + case MQTT_WILDCARD_ID: + status = decodeuint8_t( &pConnackProperties->isWildcardAvaiable, &propertyLength, &wildcard, &pVariableHeader ); + break; + + case MQTT_SUB_AVAILABLE_ID: + status = decodeuint8_t( &pConnackProperties->subscriptionId, &propertyLength, &subId, &pVariableHeader ); + break; + + case MQTT_SHARED_SUB_ID: + status = decodeuint8_t( &pConnackProperties->isSharedAvailable, &propertyLength, &sharedsub, &pVariableHeader ); + break; + + case MQTT_SERVER_KEEP_ALIVE_ID: + status = decodeuint16_t( &pConnackProperties->serverKeepAlive, &propertyLength, &keepAlive, &pVariableHeader ); + break; + + case MQTT_RESPONSE_INFO_ID: + /* if (pConnackProperties->reqResInfo == false) */ + /* { */ + /* status = MQTTProtocolError; */ + /* } */ + /* else */ + /* { */ + status = decodeutf_8( &pConnackProperties->pResponseInfo, &pConnackProperties->responseInfoLength, &propertyLength, &responseInfo, &pVariableHeader ); + /* } */ + break; + + case MQTT_SERVER_REF_ID: + status = decodeutf_8( &pConnackProperties->pServerRef, &pConnackProperties->serverRefLength, &propertyLength, &serverRef, &pVariableHeader ); + break; + + case MQTT_AUTH_METHOD_ID: + /* if (pConnackProperties->pOutgoingAuth == NULL) */ + /* { */ + /* status = MQTTProtocolError; */ + /* } */ + /* else{ */ + status = decodeutf_8( &pConnackProperties->pIncomingAuth->pAuthMethod, &pConnackProperties->pIncomingAuth->authMethodLength, &propertyLength, &authMethod, &pVariableHeader ); + /* } */ + break; + + case MQTT_AUTH_DATA_ID: + /* if ((pConnackProperties->pOutgoingAuth == NULL)) */ + /* { */ + /* status = MQTTProtocolError; */ + /* } */ + /* else{ */ + status = decodeutf_8( &pConnackProperties->pIncomingAuth->pAuthData, &pConnackProperties->pIncomingAuth->authDataLength, &propertyLength, &authData, &pVariableHeader ); + /* } */ + break; + + default: + status = MQTTProtocolError; + break; } } - return status; -} - -MQTTStatus_t MQTTV5_DeserializeConnack(MQTTConnectProperties_t *pConnackProperties, const MQTTPacketInfo_t *pIncomingPacket, - bool *pSessionPresent) -{ - MQTTStatus_t status = MQTTSuccess; - size_t propertyLength; - size_t remainingLengthSize; - uint8_t *pVariableHeader = NULL; - /*Validate the arguments*/ - if (pConnackProperties == NULL) - { - status = MQTTBadParameter; + return status; } - if (status == MQTTSuccess) - { - status = validateConnackParams(pIncomingPacket, pSessionPresent); - } + MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t * pConnackProperties, + const MQTTPacketInfo_t * pIncomingPacket, - if (status == MQTTSuccess) - { - pVariableHeader = pIncomingPacket->pRemainingData; - pVariableHeader = &pVariableHeader[2]; - remainingLengthSize = remainingLengthEncodedSize(pIncomingPacket->remainingLength); - status = decodeVariableLength(pVariableHeader, &propertyLength); - } - /*Validate the packet size if max packet size is set*/ - if ((status == MQTTSuccess) && (pConnackProperties->isMaxPacketSize == true) && ((pIncomingPacket->remainingLength + remainingLengthSize + 1U) > (pConnackProperties->maxPacketSize))) + bool * pSessionPresent ) { - status = MQTTProtocolError; - } - /*Validate the remaining length*/ - else if ((status == MQTTSuccess) && ((pIncomingPacket->remainingLength) != (2U + propertyLength + remainingLengthEncodedSize(propertyLength)))) - { - status = MQTTMalformedPacket; - } + MQTTStatus_t status = MQTTSuccess; + size_t propertyLength; + size_t remainingLengthSize; + uint8_t * pVariableHeader = NULL; - else if (status == MQTTSuccess) - { - status = deserializeConnackV5(pConnackProperties,propertyLength,&pVariableHeader); - } + /*Validate the arguments*/ + if( pConnackProperties == NULL ) + { + status = MQTTBadParameter; + } - else - { - /* MISRA Empty body */ + if( status == MQTTSuccess ) + { + status = validateConnackParams( pIncomingPacket, pSessionPresent ); + } + + if( status == MQTTSuccess ) + { + pVariableHeader = pIncomingPacket->pRemainingData; + pVariableHeader = &pVariableHeader[ 2 ]; + remainingLengthSize = remainingLengthEncodedSize( pIncomingPacket->remainingLength ); + status = decodeVariableLength( pVariableHeader, &propertyLength ); + } + + /*Validate the packet size if max packet size is set*/ + if( ( status == MQTTSuccess ) && ( pConnackProperties->isMaxPacketSize == true ) && ( ( pIncomingPacket->remainingLength + remainingLengthSize + 1U ) > ( pConnackProperties->maxPacketSize ) ) ) + { + status = MQTTProtocolError; + } + /*Validate the remaining length*/ + else if( ( status == MQTTSuccess ) && ( ( pIncomingPacket->remainingLength ) != ( 2U + propertyLength + remainingLengthEncodedSize( propertyLength ) ) ) ) + { + status = MQTTMalformedPacket; + } + + else if( status == MQTTSuccess ) + { + status = deserializeConnackV5( pConnackProperties, propertyLength, &pVariableHeader ); + } + + else + { + /* MISRA Empty body */ + } + + return status; } - return status; -} -#endif +#endif /* if ( MQTT_VERSION_5_ENABLED ) */ /*-----------------------------------------------------------*/ -static size_t remainingLengthEncodedSize(size_t length) +static size_t remainingLengthEncodedSize( size_t length ) { size_t encodedSize; @@ -1746,17 +1919,17 @@ static size_t remainingLengthEncodedSize(size_t length) * The values below are taken from the MQTT 3.1.1 spec. */ /* 1 byte is needed to encode lengths between 0 and 127. */ - if (length < 128U) + if( length < 128U ) { encodedSize = 1U; } /* 2 bytes are needed to encode lengths between 128 and 16,383. */ - else if (length < 16384U) + else if( length < 16384U ) { encodedSize = 2U; } /* 3 bytes are needed to encode lengths between 16,384 and 2,097,151. */ - else if (length < 2097152U) + else if( length < 2097152U ) { encodedSize = 3U; } @@ -1766,105 +1939,105 @@ static size_t remainingLengthEncodedSize(size_t length) encodedSize = 4U; } - LogDebug(("Encoded size for length %lu is %lu bytes.", - (unsigned long)length, - (unsigned long)encodedSize)); + LogDebug( ( "Encoded size for length %lu is %lu bytes.", + ( unsigned long ) length, + ( unsigned long ) encodedSize ) ); return encodedSize; } /*-----------------------------------------------------------*/ -static uint8_t *encodeRemainingLength(uint8_t *pDestination, - size_t length) +static uint8_t * encodeRemainingLength( uint8_t * pDestination, + size_t length ) { uint8_t lengthByte; - uint8_t *pLengthEnd = NULL; + uint8_t * pLengthEnd = NULL; size_t remainingLength = length; - assert(pDestination != NULL); + assert( pDestination != NULL ); pLengthEnd = pDestination; /* This algorithm is copied from the MQTT v3.1.1 spec. */ do { - lengthByte = (uint8_t)(remainingLength % 128U); + lengthByte = ( uint8_t ) ( remainingLength % 128U ); remainingLength = remainingLength / 128U; /* Set the high bit of this byte, indicating that there's more data. */ - if (remainingLength > 0U) + if( remainingLength > 0U ) { - UINT8_SET_BIT(lengthByte, 7); + UINT8_SET_BIT( lengthByte, 7 ); } /* Output a single encoded byte. */ *pLengthEnd = lengthByte; pLengthEnd++; - } while (remainingLength > 0U); + } while( remainingLength > 0U ); return pLengthEnd; } /*-----------------------------------------------------------*/ -static uint8_t *encodeString(uint8_t *pDestination, - const char *pSource, - uint16_t sourceLength) +static uint8_t * encodeString( uint8_t * pDestination, + const char * pSource, + uint16_t sourceLength ) { - uint8_t *pBuffer = NULL; + uint8_t * pBuffer = NULL; /* Typecast const char * typed source buffer to const uint8_t *. * This is to use same type buffers in memcpy. */ - const uint8_t *pSourceBuffer = (const uint8_t *)pSource; + const uint8_t * pSourceBuffer = ( const uint8_t * ) pSource; - assert(pDestination != NULL); + assert( pDestination != NULL ); pBuffer = pDestination; /* The first byte of a UTF-8 string is the high byte of the string length. */ - *pBuffer = UINT16_HIGH_BYTE(sourceLength); + *pBuffer = UINT16_HIGH_BYTE( sourceLength ); pBuffer++; /* The second byte of a UTF-8 string is the low byte of the string length. */ - *pBuffer = UINT16_LOW_BYTE(sourceLength); + *pBuffer = UINT16_LOW_BYTE( sourceLength ); pBuffer++; /* Copy the string into pBuffer. */ - if (pSourceBuffer != NULL) + if( pSourceBuffer != NULL ) { - (void)memcpy(pBuffer, pSourceBuffer, sourceLength); + ( void ) memcpy( pBuffer, pSourceBuffer, sourceLength ); } /* Return the pointer to the end of the encoded string. */ - pBuffer = &pBuffer[sourceLength]; + pBuffer = &pBuffer[ sourceLength ]; return pBuffer; } /*-----------------------------------------------------------*/ -static bool calculatePublishPacketSize(const MQTTPublishInfo_t *pPublishInfo, - size_t *pRemainingLength, - size_t *pPacketSize) +static bool calculatePublishPacketSize( const MQTTPublishInfo_t * pPublishInfo, + size_t * pRemainingLength, + size_t * pPacketSize ) { bool status = true; size_t packetSize = 0, payloadLimit = 0; - assert(pPublishInfo != NULL); - assert(pRemainingLength != NULL); - assert(pPacketSize != NULL); + assert( pPublishInfo != NULL ); + assert( pRemainingLength != NULL ); + assert( pPacketSize != NULL ); /* The variable header of a PUBLISH packet always contains the topic name. * The first 2 bytes of UTF-8 string contains length of the string. */ - packetSize += pPublishInfo->topicNameLength + sizeof(uint16_t); + packetSize += pPublishInfo->topicNameLength + sizeof( uint16_t ); /* The variable header of a QoS 1 or 2 PUBLISH packet contains a 2-byte * packet identifier. */ - if (pPublishInfo->qos > MQTTQoS0) + if( pPublishInfo->qos > MQTTQoS0 ) { - packetSize += sizeof(uint16_t); + packetSize += sizeof( uint16_t ); } /* Calculate the maximum allowed size of the payload for the given parameters. @@ -1873,14 +2046,14 @@ static bool calculatePublishPacketSize(const MQTTPublishInfo_t *pPublishInfo, payloadLimit = MQTT_MAX_REMAINING_LENGTH - packetSize - 1U; /* Ensure that the given payload fits within the calculated limit. */ - if (pPublishInfo->payloadLength > payloadLimit) - { - LogError(("PUBLISH payload length of %lu cannot exceed " - "%lu so as not to exceed the maximum " - "remaining length of MQTT 3.1.1 packet( %lu ).", - (unsigned long)pPublishInfo->payloadLength, - (unsigned long)payloadLimit, - MQTT_MAX_REMAINING_LENGTH)); + if( pPublishInfo->payloadLength > payloadLimit ) + { + LogError( ( "PUBLISH payload length of %lu cannot exceed " + "%lu so as not to exceed the maximum " + "remaining length of MQTT 3.1.1 packet( %lu ).", + ( unsigned long ) pPublishInfo->payloadLength, + ( unsigned long ) payloadLimit, + MQTT_MAX_REMAINING_LENGTH ) ); status = false; } else @@ -1891,17 +2064,17 @@ static bool calculatePublishPacketSize(const MQTTPublishInfo_t *pPublishInfo, /* Now that the "Remaining length" is known, recalculate the payload limit * based on the size of its encoding. */ - payloadLimit -= remainingLengthEncodedSize(packetSize); + payloadLimit -= remainingLengthEncodedSize( packetSize ); /* Check that the given payload fits within the size allowed by MQTT spec. */ - if (pPublishInfo->payloadLength > payloadLimit) - { - LogError(("PUBLISH payload length of %lu cannot exceed " - "%lu so as not to exceed the maximum " - "remaining length of MQTT 3.1.1 packet( %lu ).", - (unsigned long)pPublishInfo->payloadLength, - (unsigned long)payloadLimit, - MQTT_MAX_REMAINING_LENGTH)); + if( pPublishInfo->payloadLength > payloadLimit ) + { + LogError( ( "PUBLISH payload length of %lu cannot exceed " + "%lu so as not to exceed the maximum " + "remaining length of MQTT 3.1.1 packet( %lu ).", + ( unsigned long ) pPublishInfo->payloadLength, + ( unsigned long ) payloadLimit, + MQTT_MAX_REMAINING_LENGTH ) ); status = false; } else @@ -1910,26 +2083,26 @@ static bool calculatePublishPacketSize(const MQTTPublishInfo_t *pPublishInfo, * size of the PUBLISH packet. */ *pRemainingLength = packetSize; - packetSize += 1U + remainingLengthEncodedSize(packetSize); + packetSize += 1U + remainingLengthEncodedSize( packetSize ); *pPacketSize = packetSize; } } - LogDebug(("PUBLISH packet remaining length=%lu and packet size=%lu.", - (unsigned long)*pRemainingLength, - (unsigned long)*pPacketSize)); + LogDebug( ( "PUBLISH packet remaining length=%lu and packet size=%lu.", + ( unsigned long ) *pRemainingLength, + ( unsigned long ) *pPacketSize ) ); return status; } /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializePublishHeaderWithoutTopic(const MQTTPublishInfo_t *pPublishInfo, - size_t remainingLength, - uint8_t *pBuffer, - size_t *headerSize) +MQTTStatus_t MQTT_SerializePublishHeaderWithoutTopic( const MQTTPublishInfo_t * pPublishInfo, + size_t remainingLength, + uint8_t * pBuffer, + size_t * headerSize ) { size_t headerLength; - uint8_t *pIndex; + uint8_t * pIndex; MQTTStatus_t status = MQTTSuccess; /* The first byte of a PUBLISH packet contains the packet type and flags. */ @@ -1941,47 +2114,47 @@ MQTTStatus_t MQTT_SerializePublishHeaderWithoutTopic(const MQTTPublishInfo_t *pP /* Length of serialized packet = First byte * + Length of encoded remaining length * + Encoded topic length. */ - headerLength = 1U + remainingLengthEncodedSize(remainingLength) + 2U; + headerLength = 1U + remainingLengthEncodedSize( remainingLength ) + 2U; - if (pPublishInfo->qos == MQTTQoS1) + if( pPublishInfo->qos == MQTTQoS1 ) { - LogDebug(("Adding QoS as QoS1 in PUBLISH flags.")); - UINT8_SET_BIT(publishFlags, MQTT_PUBLISH_FLAG_QOS1); + LogDebug( ( "Adding QoS as QoS1 in PUBLISH flags." ) ); + UINT8_SET_BIT( publishFlags, MQTT_PUBLISH_FLAG_QOS1 ); } - else if (pPublishInfo->qos == MQTTQoS2) + else if( pPublishInfo->qos == MQTTQoS2 ) { - LogDebug(("Adding QoS as QoS2 in PUBLISH flags.")); - UINT8_SET_BIT(publishFlags, MQTT_PUBLISH_FLAG_QOS2); + LogDebug( ( "Adding QoS as QoS2 in PUBLISH flags." ) ); + UINT8_SET_BIT( publishFlags, MQTT_PUBLISH_FLAG_QOS2 ); } else { /* Empty else MISRA 15.7 */ } - if (pPublishInfo->retain == true) + if( pPublishInfo->retain == true ) { - LogDebug(("Adding retain bit in PUBLISH flags.")); - UINT8_SET_BIT(publishFlags, MQTT_PUBLISH_FLAG_RETAIN); + LogDebug( ( "Adding retain bit in PUBLISH flags." ) ); + UINT8_SET_BIT( publishFlags, MQTT_PUBLISH_FLAG_RETAIN ); } - if (pPublishInfo->dup == true) + if( pPublishInfo->dup == true ) { - LogDebug(("Adding dup bit in PUBLISH flags.")); - UINT8_SET_BIT(publishFlags, MQTT_PUBLISH_FLAG_DUP); + LogDebug( ( "Adding dup bit in PUBLISH flags." ) ); + UINT8_SET_BIT( publishFlags, MQTT_PUBLISH_FLAG_DUP ); } *pIndex = publishFlags; pIndex++; /* The "Remaining length" is encoded from the second byte. */ - pIndex = encodeRemainingLength(pIndex, remainingLength); + pIndex = encodeRemainingLength( pIndex, remainingLength ); /* The first byte of a UTF-8 string is the high byte of the string length. */ - *pIndex = UINT16_HIGH_BYTE(pPublishInfo->topicNameLength); + *pIndex = UINT16_HIGH_BYTE( pPublishInfo->topicNameLength ); pIndex++; /* The second byte of a UTF-8 string is the low byte of the string length. */ - *pIndex = UINT16_LOW_BYTE(pPublishInfo->topicNameLength); + *pIndex = UINT16_LOW_BYTE( pPublishInfo->topicNameLength ); pIndex++; *headerSize = headerLength; @@ -1991,103 +2164,103 @@ MQTTStatus_t MQTT_SerializePublishHeaderWithoutTopic(const MQTTPublishInfo_t *pP /*-----------------------------------------------------------*/ -static void serializePublishCommon(const MQTTPublishInfo_t *pPublishInfo, - size_t remainingLength, - uint16_t packetIdentifier, - const MQTTFixedBuffer_t *pFixedBuffer, - bool serializePayload) +static void serializePublishCommon( const MQTTPublishInfo_t * pPublishInfo, + size_t remainingLength, + uint16_t packetIdentifier, + const MQTTFixedBuffer_t * pFixedBuffer, + bool serializePayload ) { - uint8_t *pIndex = NULL; - const uint8_t *pPayloadBuffer = NULL; + uint8_t * pIndex = NULL; + const uint8_t * pPayloadBuffer = NULL; /* The first byte of a PUBLISH packet contains the packet type and flags. */ uint8_t publishFlags = MQTT_PACKET_TYPE_PUBLISH; - assert(pPublishInfo != NULL); - assert(pFixedBuffer != NULL); - assert(pFixedBuffer->pBuffer != NULL); + assert( pPublishInfo != NULL ); + assert( pFixedBuffer != NULL ); + assert( pFixedBuffer->pBuffer != NULL ); /* Packet Id should be non zero for Qos 1 and Qos 2. */ - assert((pPublishInfo->qos == MQTTQoS0) || (packetIdentifier != 0U)); + assert( ( pPublishInfo->qos == MQTTQoS0 ) || ( packetIdentifier != 0U ) ); /* Duplicate flag should be set only for Qos 1 or Qos 2. */ - assert((pPublishInfo->dup != true) || (pPublishInfo->qos != MQTTQoS0)); + assert( ( pPublishInfo->dup != true ) || ( pPublishInfo->qos != MQTTQoS0 ) ); /* Get the start address of the buffer. */ pIndex = pFixedBuffer->pBuffer; - if (pPublishInfo->qos == MQTTQoS1) + if( pPublishInfo->qos == MQTTQoS1 ) { - LogDebug(("Adding QoS as QoS1 in PUBLISH flags.")); - UINT8_SET_BIT(publishFlags, MQTT_PUBLISH_FLAG_QOS1); + LogDebug( ( "Adding QoS as QoS1 in PUBLISH flags." ) ); + UINT8_SET_BIT( publishFlags, MQTT_PUBLISH_FLAG_QOS1 ); } - else if (pPublishInfo->qos == MQTTQoS2) + else if( pPublishInfo->qos == MQTTQoS2 ) { - LogDebug(("Adding QoS as QoS2 in PUBLISH flags.")); - UINT8_SET_BIT(publishFlags, MQTT_PUBLISH_FLAG_QOS2); + LogDebug( ( "Adding QoS as QoS2 in PUBLISH flags." ) ); + UINT8_SET_BIT( publishFlags, MQTT_PUBLISH_FLAG_QOS2 ); } else { /* Empty else MISRA 15.7 */ } - if (pPublishInfo->retain == true) + if( pPublishInfo->retain == true ) { - LogDebug(("Adding retain bit in PUBLISH flags.")); - UINT8_SET_BIT(publishFlags, MQTT_PUBLISH_FLAG_RETAIN); + LogDebug( ( "Adding retain bit in PUBLISH flags." ) ); + UINT8_SET_BIT( publishFlags, MQTT_PUBLISH_FLAG_RETAIN ); } - if (pPublishInfo->dup == true) + if( pPublishInfo->dup == true ) { - LogDebug(("Adding dup bit in PUBLISH flags.")); - UINT8_SET_BIT(publishFlags, MQTT_PUBLISH_FLAG_DUP); + LogDebug( ( "Adding dup bit in PUBLISH flags." ) ); + UINT8_SET_BIT( publishFlags, MQTT_PUBLISH_FLAG_DUP ); } *pIndex = publishFlags; pIndex++; /* The "Remaining length" is encoded from the second byte. */ - pIndex = encodeRemainingLength(pIndex, remainingLength); + pIndex = encodeRemainingLength( pIndex, remainingLength ); /* The topic name is placed after the "Remaining length". */ - pIndex = encodeString(pIndex, - pPublishInfo->pTopicName, - pPublishInfo->topicNameLength); + pIndex = encodeString( pIndex, + pPublishInfo->pTopicName, + pPublishInfo->topicNameLength ); /* A packet identifier is required for QoS 1 and 2 messages. */ - if (pPublishInfo->qos > MQTTQoS0) + if( pPublishInfo->qos > MQTTQoS0 ) { - LogDebug(("Adding packet Id in PUBLISH packet.")); + LogDebug( ( "Adding packet Id in PUBLISH packet." ) ); /* Place the packet identifier into the PUBLISH packet. */ - *pIndex = UINT16_HIGH_BYTE(packetIdentifier); - pIndex[1U] = UINT16_LOW_BYTE(packetIdentifier); - pIndex = &pIndex[2U]; + *pIndex = UINT16_HIGH_BYTE( packetIdentifier ); + pIndex[ 1U ] = UINT16_LOW_BYTE( packetIdentifier ); + pIndex = &pIndex[ 2U ]; } /* The payload is placed after the packet identifier. * Payload is copied over only if required by the flag serializePayload. * This will help reduce an unnecessary copy of the payload into the buffer. */ - if ((pPublishInfo->payloadLength > 0U) && - (serializePayload == true)) + if( ( pPublishInfo->payloadLength > 0U ) && + ( serializePayload == true ) ) { - LogDebug(("Copying PUBLISH payload of length =%lu to buffer", - (unsigned long)pPublishInfo->payloadLength)); + LogDebug( ( "Copying PUBLISH payload of length =%lu to buffer", + ( unsigned long ) pPublishInfo->payloadLength ) ); /* Typecast const void * typed payload buffer to const uint8_t *. * This is to use same type buffers in memcpy. */ - pPayloadBuffer = (const uint8_t *)pPublishInfo->pPayload; + pPayloadBuffer = ( const uint8_t * ) pPublishInfo->pPayload; - (void)memcpy(pIndex, pPayloadBuffer, pPublishInfo->payloadLength); + ( void ) memcpy( pIndex, pPayloadBuffer, pPublishInfo->payloadLength ); /* Move the index to after the payload. */ - pIndex = &pIndex[pPublishInfo->payloadLength]; + pIndex = &pIndex[ pPublishInfo->payloadLength ]; } /* Ensure that the difference between the end and beginning of the buffer * is less than the buffer size. */ - assert(((size_t)(pIndex - pFixedBuffer->pBuffer)) <= pFixedBuffer->size); + assert( ( ( size_t ) ( pIndex - pFixedBuffer->pBuffer ) ) <= pFixedBuffer->size ); } -static size_t getRemainingLength(TransportRecv_t recvFunc, - NetworkContext_t *pNetworkContext) +static size_t getRemainingLength( TransportRecv_t recvFunc, + NetworkContext_t * pNetworkContext ) { size_t remainingLength = 0, multiplier = 1, bytesDecoded = 0, expectedSize = 0; uint8_t encodedByte = 0; @@ -2096,17 +2269,17 @@ static size_t getRemainingLength(TransportRecv_t recvFunc, /* This algorithm is copied from the MQTT v3.1.1 spec. */ do { - if (multiplier > 2097152U) /* 128 ^ 3 */ + if( multiplier > 2097152U ) /* 128 ^ 3 */ { remainingLength = MQTT_REMAINING_LENGTH_INVALID; } else { - bytesReceived = recvFunc(pNetworkContext, &encodedByte, 1U); + bytesReceived = recvFunc( pNetworkContext, &encodedByte, 1U ); - if (bytesReceived == 1) + if( bytesReceived == 1 ) { - remainingLength += ((size_t)encodedByte & 0x7FU) * multiplier; + remainingLength += ( ( size_t ) encodedByte & 0x7FU ) * multiplier; multiplier *= 128U; bytesDecoded++; } @@ -2116,18 +2289,18 @@ static size_t getRemainingLength(TransportRecv_t recvFunc, } } - if (remainingLength == MQTT_REMAINING_LENGTH_INVALID) + if( remainingLength == MQTT_REMAINING_LENGTH_INVALID ) { break; } - } while ((encodedByte & 0x80U) != 0U); + } while( ( encodedByte & 0x80U ) != 0U ); /* Check that the decoded remaining length conforms to the MQTT specification. */ - if (remainingLength != MQTT_REMAINING_LENGTH_INVALID) + if( remainingLength != MQTT_REMAINING_LENGTH_INVALID ) { - expectedSize = remainingLengthEncodedSize(remainingLength); + expectedSize = remainingLengthEncodedSize( remainingLength ); - if (bytesDecoded != expectedSize) + if( bytesDecoded != expectedSize ) { remainingLength = MQTT_REMAINING_LENGTH_INVALID; } @@ -2138,9 +2311,9 @@ static size_t getRemainingLength(TransportRecv_t recvFunc, /*-----------------------------------------------------------*/ -static MQTTStatus_t processRemainingLength(const uint8_t *pBuffer, - const size_t *pIndex, - MQTTPacketInfo_t *pIncomingPacket) +static MQTTStatus_t processRemainingLength( const uint8_t * pBuffer, + const size_t * pIndex, + MQTTPacketInfo_t * pIncomingPacket ) { size_t remainingLength = 0; size_t multiplier = 1; @@ -2152,23 +2325,23 @@ static MQTTStatus_t processRemainingLength(const uint8_t *pBuffer, /* This algorithm is copied from the MQTT v3.1.1 spec. */ do { - if (multiplier > 2097152U) /* 128 ^ 3 */ + if( multiplier > 2097152U ) /* 128 ^ 3 */ { remainingLength = MQTT_REMAINING_LENGTH_INVALID; - LogError(("Invalid remaining length in the packet.\n")); + LogError( ( "Invalid remaining length in the packet.\n" ) ); status = MQTTBadResponse; } else { - if (*pIndex > (bytesDecoded + 1U)) + if( *pIndex > ( bytesDecoded + 1U ) ) { /* Get the next byte. It is at the next position after the bytes * decoded till now since the header of one byte was read before. */ - encodedByte = pBuffer[bytesDecoded + 1U]; + encodedByte = pBuffer[ bytesDecoded + 1U ]; - remainingLength += ((size_t)encodedByte & 0x7FU) * multiplier; + remainingLength += ( ( size_t ) encodedByte & 0x7FU ) * multiplier; multiplier *= 128U; bytesDecoded++; } @@ -2180,21 +2353,21 @@ static MQTTStatus_t processRemainingLength(const uint8_t *pBuffer, /* If the response is incorrect, or no more data is available, then * break out of the loop. */ - if ((remainingLength == MQTT_REMAINING_LENGTH_INVALID) || - (status != MQTTSuccess)) + if( ( remainingLength == MQTT_REMAINING_LENGTH_INVALID ) || + ( status != MQTTSuccess ) ) { break; } - } while ((encodedByte & 0x80U) != 0U); + } while( ( encodedByte & 0x80U ) != 0U ); - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Check that the decoded remaining length conforms to the MQTT specification. */ - expectedSize = remainingLengthEncodedSize(remainingLength); + expectedSize = remainingLengthEncodedSize( remainingLength ); - if (bytesDecoded != expectedSize) + if( bytesDecoded != expectedSize ) { - LogError(("Expected and actual length of decoded bytes do not match.\n")); + LogError( ( "Expected and actual length of decoded bytes do not match.\n" ) ); status = MQTTBadResponse; } else @@ -2209,40 +2382,40 @@ static MQTTStatus_t processRemainingLength(const uint8_t *pBuffer, /*-----------------------------------------------------------*/ -static bool incomingPacketValid(uint8_t packetType) +static bool incomingPacketValid( uint8_t packetType ) { bool status = false; /* Check packet type. Mask out lower bits to ignore flags. */ - switch (packetType & 0xF0U) + switch( packetType & 0xF0U ) { /* Valid incoming packet types. */ - case MQTT_PACKET_TYPE_CONNACK: - case MQTT_PACKET_TYPE_PUBLISH: - case MQTT_PACKET_TYPE_PUBACK: - case MQTT_PACKET_TYPE_PUBREC: - case MQTT_PACKET_TYPE_PUBCOMP: - case MQTT_PACKET_TYPE_SUBACK: - case MQTT_PACKET_TYPE_UNSUBACK: - case MQTT_PACKET_TYPE_PINGRESP: - status = true; - break; - - case (MQTT_PACKET_TYPE_PUBREL & 0xF0U): - - /* The second bit of a PUBREL must be set. */ - if ((packetType & 0x02U) > 0U) - { + case MQTT_PACKET_TYPE_CONNACK: + case MQTT_PACKET_TYPE_PUBLISH: + case MQTT_PACKET_TYPE_PUBACK: + case MQTT_PACKET_TYPE_PUBREC: + case MQTT_PACKET_TYPE_PUBCOMP: + case MQTT_PACKET_TYPE_SUBACK: + case MQTT_PACKET_TYPE_UNSUBACK: + case MQTT_PACKET_TYPE_PINGRESP: status = true; - } + break; + + case ( MQTT_PACKET_TYPE_PUBREL & 0xF0U ): + + /* The second bit of a PUBREL must be set. */ + if( ( packetType & 0x02U ) > 0U ) + { + status = true; + } - break; + break; /* Any other packet type is invalid. */ - default: - LogWarn(("Incoming packet invalid: Packet type=%u.", - (unsigned int)packetType)); - break; + default: + LogWarn( ( "Incoming packet invalid: Packet type=%u.", + ( unsigned int ) packetType ) ); + break; } return status; @@ -2250,20 +2423,20 @@ static bool incomingPacketValid(uint8_t packetType) /*-----------------------------------------------------------*/ -static MQTTStatus_t checkPublishRemainingLength(size_t remainingLength, - MQTTQoS_t qos, - size_t qos0Minimum) +static MQTTStatus_t checkPublishRemainingLength( size_t remainingLength, + MQTTQoS_t qos, + size_t qos0Minimum ) { MQTTStatus_t status = MQTTSuccess; /* Sanity checks for "Remaining length". */ - if (qos == MQTTQoS0) + if( qos == MQTTQoS0 ) { /* Check that the "Remaining length" is greater than the minimum. */ - if (remainingLength < qos0Minimum) + if( remainingLength < qos0Minimum ) { - LogError(("QoS 0 PUBLISH cannot have a remaining length less than %lu.", - (unsigned long)qos0Minimum)); + LogError( ( "QoS 0 PUBLISH cannot have a remaining length less than %lu.", + ( unsigned long ) qos0Minimum ) ); status = MQTTBadResponse; } @@ -2273,10 +2446,10 @@ static MQTTStatus_t checkPublishRemainingLength(size_t remainingLength, /* Check that the "Remaining length" is greater than the minimum. For * QoS 1 or 2, this will be two bytes greater than for QoS 0 due to the * packet identifier. */ - if (remainingLength < (qos0Minimum + 2U)) + if( remainingLength < ( qos0Minimum + 2U ) ) { - LogError(("QoS 1 or 2 PUBLISH cannot have a remaining length less than %lu.", - (unsigned long)(qos0Minimum + 2U))); + LogError( ( "QoS 1 or 2 PUBLISH cannot have a remaining length less than %lu.", + ( unsigned long ) ( qos0Minimum + 2U ) ) ); status = MQTTBadResponse; } @@ -2287,20 +2460,20 @@ static MQTTStatus_t checkPublishRemainingLength(size_t remainingLength, /*-----------------------------------------------------------*/ -static MQTTStatus_t processPublishFlags(uint8_t publishFlags, - MQTTPublishInfo_t *pPublishInfo) +static MQTTStatus_t processPublishFlags( uint8_t publishFlags, + MQTTPublishInfo_t * pPublishInfo ) { MQTTStatus_t status = MQTTSuccess; - assert(pPublishInfo != NULL); + assert( pPublishInfo != NULL ); /* Check for QoS 2. */ - if (UINT8_CHECK_BIT(publishFlags, MQTT_PUBLISH_FLAG_QOS2)) + if( UINT8_CHECK_BIT( publishFlags, MQTT_PUBLISH_FLAG_QOS2 ) ) { /* PUBLISH packet is invalid if both QoS 1 and QoS 2 bits are set. */ - if (UINT8_CHECK_BIT(publishFlags, MQTT_PUBLISH_FLAG_QOS1)) + if( UINT8_CHECK_BIT( publishFlags, MQTT_PUBLISH_FLAG_QOS1 ) ) { - LogError(("Bad QoS: 3.")); + LogError( ( "Bad QoS: 3." ) ); status = MQTTBadResponse; } @@ -2310,7 +2483,7 @@ static MQTTStatus_t processPublishFlags(uint8_t publishFlags, } } /* Check for QoS 1. */ - else if (UINT8_CHECK_BIT(publishFlags, MQTT_PUBLISH_FLAG_QOS1)) + else if( UINT8_CHECK_BIT( publishFlags, MQTT_PUBLISH_FLAG_QOS1 ) ) { pPublishInfo->qos = MQTTQoS1; } @@ -2320,19 +2493,19 @@ static MQTTStatus_t processPublishFlags(uint8_t publishFlags, pPublishInfo->qos = MQTTQoS0; } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { - LogDebug(("QoS is %d.", (int)pPublishInfo->qos)); + LogDebug( ( "QoS is %d.", ( int ) pPublishInfo->qos ) ); /* Parse the Retain bit. */ - pPublishInfo->retain = UINT8_CHECK_BIT(publishFlags, MQTT_PUBLISH_FLAG_RETAIN); + pPublishInfo->retain = UINT8_CHECK_BIT( publishFlags, MQTT_PUBLISH_FLAG_RETAIN ); - LogDebug(("Retain bit is %d.", (int)pPublishInfo->retain)); + LogDebug( ( "Retain bit is %d.", ( int ) pPublishInfo->retain ) ); /* Parse the DUP bit. */ - pPublishInfo->dup = UINT8_CHECK_BIT(publishFlags, MQTT_PUBLISH_FLAG_DUP); + pPublishInfo->dup = UINT8_CHECK_BIT( publishFlags, MQTT_PUBLISH_FLAG_DUP ); - LogDebug(("DUP bit is %d.", (int)pPublishInfo->dup)); + LogDebug( ( "DUP bit is %d.", ( int ) pPublishInfo->dup ) ); } return status; @@ -2340,63 +2513,63 @@ static MQTTStatus_t processPublishFlags(uint8_t publishFlags, /*-----------------------------------------------------------*/ -static void logConnackResponse(uint8_t responseCode) +static void logConnackResponse( uint8_t responseCode ) { - const char *const pConnackResponses[6] = - { - "Connection accepted.", /* 0 */ - "Connection refused: unacceptable protocol version.", /* 1 */ - "Connection refused: identifier rejected.", /* 2 */ - "Connection refused: server unavailable", /* 3 */ - "Connection refused: bad user name or password.", /* 4 */ - "Connection refused: not authorized." /* 5 */ - }; + const char * const pConnackResponses[ 6 ] = + { + "Connection accepted.", /* 0 */ + "Connection refused: unacceptable protocol version.", /* 1 */ + "Connection refused: identifier rejected.", /* 2 */ + "Connection refused: server unavailable", /* 3 */ + "Connection refused: bad user name or password.", /* 4 */ + "Connection refused: not authorized." /* 5 */ + }; /* Avoid unused parameter warning when assert and logs are disabled. */ - (void)responseCode; - (void)pConnackResponses; + ( void ) responseCode; + ( void ) pConnackResponses; - assert(responseCode <= 5U); + assert( responseCode <= 5U ); - if (responseCode == 0u) + if( responseCode == 0u ) { /* Log at Debug level for a success CONNACK response. */ - LogDebug(("%s", pConnackResponses[0])); + LogDebug( ( "%s", pConnackResponses[ 0 ] ) ); } else { /* Log an error based on the CONNACK response code. */ - LogError(("%s", pConnackResponses[responseCode])); + LogError( ( "%s", pConnackResponses[ responseCode ] ) ); } } /*-----------------------------------------------------------*/ -static MQTTStatus_t deserializeConnack(const MQTTPacketInfo_t *pConnack, - bool *pSessionPresent) +static MQTTStatus_t deserializeConnack( const MQTTPacketInfo_t * pConnack, + bool * pSessionPresent ) { MQTTStatus_t status = MQTTSuccess; - const uint8_t *pRemainingData = NULL; + const uint8_t * pRemainingData = NULL; - assert(pConnack != NULL); - assert(pSessionPresent != NULL); + assert( pConnack != NULL ); + assert( pSessionPresent != NULL ); pRemainingData = pConnack->pRemainingData; /* According to MQTT 3.1.1, the second byte of CONNACK must specify a * "Remaining length" of 2. */ - if (pConnack->remainingLength != MQTT_PACKET_CONNACK_REMAINING_LENGTH) + if( pConnack->remainingLength != MQTT_PACKET_CONNACK_REMAINING_LENGTH ) { - LogError(("CONNACK does not have remaining length of %u.", - (unsigned int)MQTT_PACKET_CONNACK_REMAINING_LENGTH)); + LogError( ( "CONNACK does not have remaining length of %u.", + ( unsigned int ) MQTT_PACKET_CONNACK_REMAINING_LENGTH ) ); status = MQTTBadResponse; } /* Check the reserved bits in CONNACK. The high 7 bits of the third byte * in CONNACK must be 0. */ - else if ((pRemainingData[0] | 0x01U) != 0x01U) + else if( ( pRemainingData[ 0 ] | 0x01U ) != 0x01U ) { - LogError(("Reserved bits in CONNACK incorrect.")); + LogError( ( "Reserved bits in CONNACK incorrect." ) ); status = MQTTBadResponse; } @@ -2404,34 +2577,34 @@ static MQTTStatus_t deserializeConnack(const MQTTPacketInfo_t *pConnack, { /* Determine if the "Session Present" bit is set. This is the lowest bit of * the third byte in CONNACK. */ - if ((pRemainingData[0] & MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) == MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK) + if( ( pRemainingData[ 0 ] & MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK ) == MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK ) { - LogDebug(("CONNACK session present bit set.")); + LogDebug( ( "CONNACK session present bit set." ) ); *pSessionPresent = true; /* MQTT 3.1.1 specifies that the fourth byte in CONNACK must be 0 if the * "Session Present" bit is set. */ - if (pRemainingData[1] != 0U) + if( pRemainingData[ 1 ] != 0U ) { - LogError(("Session Present bit is set, but connect return code in CONNACK is %u (nonzero).", - (unsigned int)pRemainingData[1])); + LogError( ( "Session Present bit is set, but connect return code in CONNACK is %u (nonzero).", + ( unsigned int ) pRemainingData[ 1 ] ) ); status = MQTTBadResponse; } } else { - LogDebug(("CONNACK session present bit not set.")); + LogDebug( ( "CONNACK session present bit not set." ) ); *pSessionPresent = false; } } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* In MQTT 3.1.1, only values 0 through 5 are valid CONNACK response codes. */ - if (pRemainingData[1] > 5U) + if( pRemainingData[ 1 ] > 5U ) { - LogError(("CONNACK response %u is invalid.", - (unsigned int)pRemainingData[1])); + LogError( ( "CONNACK response %u is invalid.", + ( unsigned int ) pRemainingData[ 1 ] ) ); status = MQTTBadResponse; } @@ -2439,10 +2612,10 @@ static MQTTStatus_t deserializeConnack(const MQTTPacketInfo_t *pConnack, { /* Print the appropriate message for the CONNACK response code if logs are * enabled. */ - logConnackResponse(pRemainingData[1]); + logConnackResponse( pRemainingData[ 1 ] ); /* A nonzero CONNACK response code means the connection was refused. */ - if (pRemainingData[1] > 0U) + if( pRemainingData[ 1 ] > 0U ) { status = MQTTServerRefused; } @@ -2454,46 +2627,46 @@ static MQTTStatus_t deserializeConnack(const MQTTPacketInfo_t *pConnack, /*-----------------------------------------------------------*/ -static MQTTStatus_t calculateSubscriptionPacketSize(const MQTTSubscribeInfo_t *pSubscriptionList, - size_t subscriptionCount, - size_t *pRemainingLength, - size_t *pPacketSize, - MQTTSubscriptionType_t subscriptionType) +static MQTTStatus_t calculateSubscriptionPacketSize( const MQTTSubscribeInfo_t * pSubscriptionList, + size_t subscriptionCount, + size_t * pRemainingLength, + size_t * pPacketSize, + MQTTSubscriptionType_t subscriptionType ) { MQTTStatus_t status = MQTTSuccess; size_t i = 0, packetSize = 0; - assert(pSubscriptionList != NULL); - assert(subscriptionCount != 0U); - assert(pRemainingLength != NULL); - assert(pPacketSize != NULL); + assert( pSubscriptionList != NULL ); + assert( subscriptionCount != 0U ); + assert( pRemainingLength != NULL ); + assert( pPacketSize != NULL ); /* The variable header of a subscription packet consists of a 2-byte packet * identifier. */ - packetSize += sizeof(uint16_t); + packetSize += sizeof( uint16_t ); /* Sum the lengths of all subscription topic filters; add 1 byte for each * subscription's QoS if type is MQTT_SUBSCRIBE. */ - for (i = 0; i < subscriptionCount; i++) + for( i = 0; i < subscriptionCount; i++ ) { /* Add the length of the topic filter. MQTT strings are prepended * with 2 byte string length field. Hence 2 bytes are added to size. */ - packetSize += pSubscriptionList[i].topicFilterLength + sizeof(uint16_t); + packetSize += pSubscriptionList[ i ].topicFilterLength + sizeof( uint16_t ); /* Only SUBSCRIBE packets include the QoS. */ - if (subscriptionType == MQTT_SUBSCRIBE) + if( subscriptionType == MQTT_SUBSCRIBE ) { packetSize += 1U; } /* Validate each topic filter. */ - if ((pSubscriptionList[i].topicFilterLength == 0U) || - (pSubscriptionList[i].pTopicFilter == NULL)) + if( ( pSubscriptionList[ i ].topicFilterLength == 0U ) || + ( pSubscriptionList[ i ].pTopicFilter == NULL ) ) { status = MQTTBadParameter; - LogError(("Subscription #%lu in %sSUBSCRIBE packet cannot be empty.", - (unsigned long)i, - (subscriptionType == MQTT_SUBSCRIBE) ? "" : "UN")); + LogError( ( "Subscription #%lu in %sSUBSCRIBE packet cannot be empty.", + ( unsigned long ) i, + ( subscriptionType == MQTT_SUBSCRIBE ) ? "" : "UN" ) ); /* It is not necessary to break as an error status has already been set. */ } } @@ -2501,84 +2674,84 @@ static MQTTStatus_t calculateSubscriptionPacketSize(const MQTTSubscribeInfo_t *p /* At this point, the "Remaining length" has been calculated. Return error * if the "Remaining length" exceeds what is allowed by MQTT 3.1.1. Otherwise, * set the output parameter.*/ - if (packetSize > MQTT_MAX_REMAINING_LENGTH) + if( packetSize > MQTT_MAX_REMAINING_LENGTH ) { - LogError(("Subscription packet length of %lu exceeds" - "the MQTT 3.1.1 maximum packet length of %lu.", - (unsigned long)packetSize, - MQTT_MAX_REMAINING_LENGTH)); + LogError( ( "Subscription packet length of %lu exceeds" + "the MQTT 3.1.1 maximum packet length of %lu.", + ( unsigned long ) packetSize, + MQTT_MAX_REMAINING_LENGTH ) ); status = MQTTBadParameter; } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { *pRemainingLength = packetSize; /* Calculate the full size of the subscription packet by adding * number of bytes required to encode the "Remaining length" field * plus 1 byte for the "Packet type" field. */ - packetSize += 1U + remainingLengthEncodedSize(packetSize); + packetSize += 1U + remainingLengthEncodedSize( packetSize ); /*Set the pPacketSize output parameter. */ *pPacketSize = packetSize; } - LogDebug(("Subscription packet remaining length=%lu and packet size=%lu.", - (unsigned long)*pRemainingLength, - (unsigned long)*pPacketSize)); + LogDebug( ( "Subscription packet remaining length=%lu and packet size=%lu.", + ( unsigned long ) *pRemainingLength, + ( unsigned long ) *pPacketSize ) ); return status; } /*-----------------------------------------------------------*/ -static MQTTStatus_t readSubackStatus(size_t statusCount, - const uint8_t *pStatusStart) +static MQTTStatus_t readSubackStatus( size_t statusCount, + const uint8_t * pStatusStart ) { MQTTStatus_t status = MQTTSuccess; uint8_t subscriptionStatus = 0; size_t i = 0; - assert(pStatusStart != NULL); + assert( pStatusStart != NULL ); /* Iterate through each status byte in the SUBACK packet. */ - for (i = 0; i < statusCount; i++) + for( i = 0; i < statusCount; i++ ) { /* Read a single status byte in SUBACK. */ - subscriptionStatus = pStatusStart[i]; + subscriptionStatus = pStatusStart[ i ]; /* MQTT 3.1.1 defines the following values as status codes. */ - switch (subscriptionStatus) + switch( subscriptionStatus ) { - case 0x00: - case 0x01: - case 0x02: + case 0x00: + case 0x01: + case 0x02: - LogDebug(("Topic filter %lu accepted, max QoS %u.", - (unsigned long)i, - (unsigned int)subscriptionStatus)); - break; + LogDebug( ( "Topic filter %lu accepted, max QoS %u.", + ( unsigned long ) i, + ( unsigned int ) subscriptionStatus ) ); + break; - case 0x80: + case 0x80: - LogWarn(("Topic filter %lu refused.", (unsigned long)i)); + LogWarn( ( "Topic filter %lu refused.", ( unsigned long ) i ) ); - /* Application should remove subscription from the list */ - status = MQTTServerRefused; + /* Application should remove subscription from the list */ + status = MQTTServerRefused; - break; + break; - default: - LogError(("Bad SUBSCRIBE status %u.", - (unsigned int)subscriptionStatus)); + default: + LogError( ( "Bad SUBSCRIBE status %u.", + ( unsigned int ) subscriptionStatus ) ); - status = MQTTBadResponse; + status = MQTTBadResponse; - break; + break; } /* Stop parsing the subscription statuses if a bad response was received. */ - if (status == MQTTBadResponse) + if( status == MQTTBadResponse ) { break; } @@ -2589,42 +2762,42 @@ static MQTTStatus_t readSubackStatus(size_t statusCount, /*-----------------------------------------------------------*/ -static MQTTStatus_t deserializeSuback(const MQTTPacketInfo_t *pSuback, - uint16_t *pPacketIdentifier) +static MQTTStatus_t deserializeSuback( const MQTTPacketInfo_t * pSuback, + uint16_t * pPacketIdentifier ) { MQTTStatus_t status = MQTTSuccess; size_t remainingLength; - const uint8_t *pVariableHeader = NULL; + const uint8_t * pVariableHeader = NULL; - assert(pSuback != NULL); - assert(pPacketIdentifier != NULL); + assert( pSuback != NULL ); + assert( pPacketIdentifier != NULL ); remainingLength = pSuback->remainingLength; pVariableHeader = pSuback->pRemainingData; /* A SUBACK must have a remaining length of at least 3 to accommodate the * packet identifier and at least 1 return code. */ - if (remainingLength < 3U) + if( remainingLength < 3U ) { - LogError(("SUBACK cannot have a remaining length less than 3.")); + LogError( ( "SUBACK cannot have a remaining length less than 3." ) ); status = MQTTBadResponse; } else { /* Extract the packet identifier (first 2 bytes of variable header) from SUBACK. */ - *pPacketIdentifier = UINT16_DECODE(pVariableHeader); + *pPacketIdentifier = UINT16_DECODE( pVariableHeader ); - LogDebug(("Packet identifier %hu.", - (unsigned short)*pPacketIdentifier)); + LogDebug( ( "Packet identifier %hu.", + ( unsigned short ) *pPacketIdentifier ) ); - if (*pPacketIdentifier == 0U) + if( *pPacketIdentifier == 0U ) { status = MQTTBadResponse; } else { - status = readSubackStatus(remainingLength - sizeof(uint16_t), - &pVariableHeader[sizeof(uint16_t)]); + status = readSubackStatus( remainingLength - sizeof( uint16_t ), + &pVariableHeader[ sizeof( uint16_t ) ] ); } } @@ -2633,38 +2806,38 @@ static MQTTStatus_t deserializeSuback(const MQTTPacketInfo_t *pSuback, /*-----------------------------------------------------------*/ -static MQTTStatus_t validateSubscriptionSerializeParams(const MQTTSubscribeInfo_t *pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t *pFixedBuffer) +static MQTTStatus_t validateSubscriptionSerializeParams( const MQTTSubscribeInfo_t * pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t * pFixedBuffer ) { MQTTStatus_t status = MQTTSuccess; size_t packetSize = 0; /* Validate all the parameters. */ - if ((pFixedBuffer == NULL) || (pSubscriptionList == NULL)) + if( ( pFixedBuffer == NULL ) || ( pSubscriptionList == NULL ) ) { - LogError(("Argument cannot be NULL: pFixedBuffer=%p, " - "pSubscriptionList=%p.", - (void *)pFixedBuffer, - (void *)pSubscriptionList)); + LogError( ( "Argument cannot be NULL: pFixedBuffer=%p, " + "pSubscriptionList=%p.", + ( void * ) pFixedBuffer, + ( void * ) pSubscriptionList ) ); status = MQTTBadParameter; } /* A buffer must be configured for serialization. */ - else if (pFixedBuffer->pBuffer == NULL) + else if( pFixedBuffer->pBuffer == NULL ) { - LogError(("Argument cannot be NULL: pFixedBuffer->pBuffer is NULL.")); + LogError( ( "Argument cannot be NULL: pFixedBuffer->pBuffer is NULL." ) ); status = MQTTBadParameter; } - else if (subscriptionCount == 0U) + else if( subscriptionCount == 0U ) { - LogError(("Subscription count is 0.")); + LogError( ( "Subscription count is 0." ) ); status = MQTTBadParameter; } - else if (packetId == 0U) + else if( packetId == 0U ) { - LogError(("Packet Id for subscription packet is 0.")); + LogError( ( "Packet Id for subscription packet is 0." ) ); status = MQTTBadParameter; } else @@ -2672,14 +2845,14 @@ static MQTTStatus_t validateSubscriptionSerializeParams(const MQTTSubscribeInfo_ /* The serialized packet size = First byte * + length of encoded size of remaining length * + remaining length. */ - packetSize = 1U + remainingLengthEncodedSize(remainingLength) + remainingLength; + packetSize = 1U + remainingLengthEncodedSize( remainingLength ) + remainingLength; - if (packetSize > pFixedBuffer->size) + if( packetSize > pFixedBuffer->size ) { - LogError(("Buffer size of %lu is not sufficient to hold " - "serialized packet of size of %lu.", - (unsigned long)pFixedBuffer->size, - (unsigned long)packetSize)); + LogError( ( "Buffer size of %lu is not sufficient to hold " + "serialized packet of size of %lu.", + ( unsigned long ) pFixedBuffer->size, + ( unsigned long ) packetSize ) ); status = MQTTNoMemory; } } @@ -2689,93 +2862,93 @@ static MQTTStatus_t validateSubscriptionSerializeParams(const MQTTSubscribeInfo_ /*-----------------------------------------------------------*/ -static MQTTStatus_t deserializePublish(const MQTTPacketInfo_t *pIncomingPacket, - uint16_t *pPacketId, - MQTTPublishInfo_t *pPublishInfo) +static MQTTStatus_t deserializePublish( const MQTTPacketInfo_t * pIncomingPacket, + uint16_t * pPacketId, + MQTTPublishInfo_t * pPublishInfo ) { MQTTStatus_t status = MQTTSuccess; - const uint8_t *pVariableHeader, *pPacketIdentifierHigh = NULL; + const uint8_t * pVariableHeader, * pPacketIdentifierHigh = NULL; - assert(pIncomingPacket != NULL); - assert(pPacketId != NULL); - assert(pPublishInfo != NULL); - assert(pIncomingPacket->pRemainingData != NULL); + assert( pIncomingPacket != NULL ); + assert( pPacketId != NULL ); + assert( pPublishInfo != NULL ); + assert( pIncomingPacket->pRemainingData != NULL ); pVariableHeader = pIncomingPacket->pRemainingData; /* The flags are the lower 4 bits of the first byte in PUBLISH. */ - status = processPublishFlags((pIncomingPacket->type & 0x0FU), pPublishInfo); + status = processPublishFlags( ( pIncomingPacket->type & 0x0FU ), pPublishInfo ); - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Sanity checks for "Remaining length". A QoS 0 PUBLISH must have a remaining * length of at least 3 to accommodate topic name length (2 bytes) and topic * name (at least 1 byte). A QoS 1 or 2 PUBLISH must have a remaining length of * at least 5 for the packet identifier in addition to the topic name length and * topic name. */ - status = checkPublishRemainingLength(pIncomingPacket->remainingLength, - pPublishInfo->qos, - MQTT_MIN_PUBLISH_REMAINING_LENGTH_QOS0); + status = checkPublishRemainingLength( pIncomingPacket->remainingLength, + pPublishInfo->qos, + MQTT_MIN_PUBLISH_REMAINING_LENGTH_QOS0 ); } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Extract the topic name starting from the first byte of the variable header. * The topic name string starts at byte 3 in the variable header. */ - pPublishInfo->topicNameLength = UINT16_DECODE(pVariableHeader); + pPublishInfo->topicNameLength = UINT16_DECODE( pVariableHeader ); /* Sanity checks for topic name length and "Remaining length". The remaining * length must be at least as large as the variable length header. */ - status = checkPublishRemainingLength(pIncomingPacket->remainingLength, - pPublishInfo->qos, - pPublishInfo->topicNameLength + sizeof(uint16_t)); + status = checkPublishRemainingLength( pIncomingPacket->remainingLength, + pPublishInfo->qos, + pPublishInfo->topicNameLength + sizeof( uint16_t ) ); } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Parse the topic. */ - pPublishInfo->pTopicName = (const char *)(&pVariableHeader[sizeof(uint16_t)]); - LogDebug(("Topic name length: %hu.", (unsigned short)pPublishInfo->topicNameLength)); + pPublishInfo->pTopicName = ( const char * ) ( &pVariableHeader[ sizeof( uint16_t ) ] ); + LogDebug( ( "Topic name length: %hu.", ( unsigned short ) pPublishInfo->topicNameLength ) ); /* Extract the packet identifier for QoS 1 or 2 PUBLISH packets. Packet * identifier starts immediately after the topic name. */ - pPacketIdentifierHigh = (const uint8_t *)(&pPublishInfo->pTopicName[pPublishInfo->topicNameLength]); + pPacketIdentifierHigh = ( const uint8_t * ) ( &pPublishInfo->pTopicName[ pPublishInfo->topicNameLength ] ); - if (pPublishInfo->qos > MQTTQoS0) + if( pPublishInfo->qos > MQTTQoS0 ) { - *pPacketId = UINT16_DECODE(pPacketIdentifierHigh); + *pPacketId = UINT16_DECODE( pPacketIdentifierHigh ); - LogDebug(("Packet identifier %hu.", - (unsigned short)*pPacketId)); + LogDebug( ( "Packet identifier %hu.", + ( unsigned short ) *pPacketId ) ); /* Advance pointer two bytes to start of payload as in the QoS 0 case. */ - pPacketIdentifierHigh = &pPacketIdentifierHigh[sizeof(uint16_t)]; + pPacketIdentifierHigh = &pPacketIdentifierHigh[ sizeof( uint16_t ) ]; /* Packet identifier cannot be 0. */ - if (*pPacketId == 0U) + if( *pPacketId == 0U ) { - LogError(("Packet identifier cannot be 0.")); + LogError( ( "Packet identifier cannot be 0." ) ); status = MQTTBadResponse; } } } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Calculate the length of the payload. QoS 1 or 2 PUBLISH packets contain * a packet identifier, but QoS 0 PUBLISH packets do not. */ - pPublishInfo->payloadLength = pIncomingPacket->remainingLength - pPublishInfo->topicNameLength - sizeof(uint16_t); + pPublishInfo->payloadLength = pIncomingPacket->remainingLength - pPublishInfo->topicNameLength - sizeof( uint16_t ); - if (pPublishInfo->qos != MQTTQoS0) + if( pPublishInfo->qos != MQTTQoS0 ) { /* Two more bytes for the packet identifier. */ - pPublishInfo->payloadLength -= sizeof(uint16_t); + pPublishInfo->payloadLength -= sizeof( uint16_t ); } /* Set payload if it exists. */ - pPublishInfo->pPayload = (pPublishInfo->payloadLength != 0U) ? pPacketIdentifierHigh : NULL; + pPublishInfo->pPayload = ( pPublishInfo->payloadLength != 0U ) ? pPacketIdentifierHigh : NULL; - LogDebug(("Payload length %lu.", - (unsigned long)pPublishInfo->payloadLength)); + LogDebug( ( "Payload length %lu.", + ( unsigned long ) pPublishInfo->payloadLength ) ); } return status; @@ -2783,34 +2956,34 @@ static MQTTStatus_t deserializePublish(const MQTTPacketInfo_t *pIncomingPacket, /*-----------------------------------------------------------*/ -static MQTTStatus_t deserializeSimpleAck(const MQTTPacketInfo_t *pAck, - uint16_t *pPacketIdentifier) +static MQTTStatus_t deserializeSimpleAck( const MQTTPacketInfo_t * pAck, + uint16_t * pPacketIdentifier ) { MQTTStatus_t status = MQTTSuccess; - assert(pAck != NULL); - assert(pPacketIdentifier != NULL); + assert( pAck != NULL ); + assert( pPacketIdentifier != NULL ); /* Check that the "Remaining length" of the received ACK is 2. */ - if (pAck->remainingLength != MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH) + if( pAck->remainingLength != MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH ) { - LogError(("ACK does not have remaining length of %u.", - (unsigned int)MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH)); + LogError( ( "ACK does not have remaining length of %u.", + ( unsigned int ) MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH ) ); status = MQTTBadResponse; } else { /* Extract the packet identifier (third and fourth bytes) from ACK. */ - *pPacketIdentifier = UINT16_DECODE(pAck->pRemainingData); + *pPacketIdentifier = UINT16_DECODE( pAck->pRemainingData ); - LogDebug(("Packet identifier %hu.", - (unsigned short)*pPacketIdentifier)); + LogDebug( ( "Packet identifier %hu.", + ( unsigned short ) *pPacketIdentifier ) ); /* Packet identifier cannot be 0. */ - if (*pPacketIdentifier == 0U) + if( *pPacketIdentifier == 0U ) { - LogError(("Packet identifier cannot be 0.")); + LogError( ( "Packet identifier cannot be 0." ) ); status = MQTTBadResponse; } } @@ -2820,17 +2993,17 @@ static MQTTStatus_t deserializeSimpleAck(const MQTTPacketInfo_t *pAck, /*-----------------------------------------------------------*/ -static MQTTStatus_t deserializePingresp(const MQTTPacketInfo_t *pPingresp) +static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ) { MQTTStatus_t status = MQTTSuccess; - assert(pPingresp != NULL); + assert( pPingresp != NULL ); /* Check the "Remaining length" (second byte) of the received PINGRESP is 0. */ - if (pPingresp->remainingLength != MQTT_PACKET_PINGRESP_REMAINING_LENGTH) + if( pPingresp->remainingLength != MQTT_PACKET_PINGRESP_REMAINING_LENGTH ) { - LogError(("PINGRESP does not have remaining length of %u.", - MQTT_PACKET_PINGRESP_REMAINING_LENGTH)); + LogError( ( "PINGRESP does not have remaining length of %u.", + MQTT_PACKET_PINGRESP_REMAINING_LENGTH ) ); status = MQTTBadResponse; } @@ -2838,12 +3011,12 @@ static MQTTStatus_t deserializePingresp(const MQTTPacketInfo_t *pPingresp) return status; } -uint8_t *MQTT_SerializeConnectFixedHeader(uint8_t *pIndex, - const MQTTConnectInfo_t *pConnectInfo, - const MQTTPublishInfo_t *pWillInfo, - size_t remainingLength) +uint8_t * MQTT_SerializeConnectFixedHeader( uint8_t * pIndex, + const MQTTConnectInfo_t * pConnectInfo, + const MQTTPublishInfo_t * pWillInfo, + size_t remainingLength ) { - uint8_t *pIndexLocal = pIndex; + uint8_t * pIndexLocal = pIndex; uint8_t connectFlags = 0U; /* The first byte in the CONNECT packet is the control packet type. */ @@ -2853,60 +3026,60 @@ uint8_t *MQTT_SerializeConnectFixedHeader(uint8_t *pIndex, /* The remaining length of the CONNECT packet is encoded starting from the * second byte. The remaining length does not include the length of the fixed * header or the encoding of the remaining length. */ - pIndexLocal = encodeRemainingLength(pIndexLocal, remainingLength); + pIndexLocal = encodeRemainingLength( pIndexLocal, remainingLength ); /* The string "MQTT" is placed at the beginning of the CONNECT packet's variable * header. This string is 4 bytes long. */ - pIndexLocal = encodeString(pIndexLocal, "MQTT", 4); + pIndexLocal = encodeString( pIndexLocal, "MQTT", 4 ); /* The MQTT protocol version is the second field of the variable header. */ -#if (MQTT_VERSION_5_ENABLED) - *pIndexLocal = MQTT_VERSION_5; -#else - *pIndexLocal = MQTT_VERSION_3_1_1; -#endif + #if ( MQTT_VERSION_5_ENABLED ) + *pIndexLocal = MQTT_VERSION_5; + #else + *pIndexLocal = MQTT_VERSION_3_1_1; + #endif pIndexLocal++; /* Set the clean session flag if needed. */ - if (pConnectInfo->cleanSession == true) + if( pConnectInfo->cleanSession == true ) { - UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_CLEAN); + UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_CLEAN ); } /* Set the flags for username and password if provided. */ - if (pConnectInfo->pUserName != NULL) + if( pConnectInfo->pUserName != NULL ) { - UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_USERNAME); + UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_USERNAME ); } - if (pConnectInfo->pPassword != NULL) + if( pConnectInfo->pPassword != NULL ) { - UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_PASSWORD); + UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_PASSWORD ); } /* Set will flag if a Last Will and Testament is provided. */ - if (pWillInfo != NULL) + if( pWillInfo != NULL ) { - UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_WILL); + UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_WILL ); /* Flags only need to be changed for Will QoS 1 or 2. */ - if (pWillInfo->qos == MQTTQoS1) + if( pWillInfo->qos == MQTTQoS1 ) { - UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_WILL_QOS1); + UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_WILL_QOS1 ); } - else if (pWillInfo->qos == MQTTQoS2) + else if( pWillInfo->qos == MQTTQoS2 ) { - UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_WILL_QOS2); + UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_WILL_QOS2 ); } else { /* Empty else MISRA 15.7 */ } - if (pWillInfo->retain == true) + if( pWillInfo->retain == true ) { - UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_WILL_RETAIN); + UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_WILL_RETAIN ); } } @@ -2914,76 +3087,76 @@ uint8_t *MQTT_SerializeConnectFixedHeader(uint8_t *pIndex, pIndexLocal++; /* Write the 2 bytes of the keep alive interval into the CONNECT packet. */ - pIndexLocal[0] = UINT16_HIGH_BYTE(pConnectInfo->keepAliveSeconds); - pIndexLocal[1] = UINT16_LOW_BYTE(pConnectInfo->keepAliveSeconds); - pIndexLocal = &pIndexLocal[2]; + pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( pConnectInfo->keepAliveSeconds ); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( pConnectInfo->keepAliveSeconds ); + pIndexLocal = &pIndexLocal[ 2 ]; return pIndexLocal; } /*-----------------------------------------------------------*/ -static void serializeConnectPacket(const MQTTConnectInfo_t *pConnectInfo, - const MQTTPublishInfo_t *pWillInfo, - size_t remainingLength, - const MQTTFixedBuffer_t *pFixedBuffer) +static void serializeConnectPacket( const MQTTConnectInfo_t * pConnectInfo, + const MQTTPublishInfo_t * pWillInfo, + size_t remainingLength, + const MQTTFixedBuffer_t * pFixedBuffer ) { - uint8_t *pIndex = NULL; + uint8_t * pIndex = NULL; - assert(pConnectInfo != NULL); - assert(pFixedBuffer != NULL); - assert(pFixedBuffer->pBuffer != NULL); + assert( pConnectInfo != NULL ); + assert( pFixedBuffer != NULL ); + assert( pFixedBuffer->pBuffer != NULL ); pIndex = pFixedBuffer->pBuffer; /* Serialize the header. */ - pIndex = MQTT_SerializeConnectFixedHeader(pIndex, - pConnectInfo, - pWillInfo, - remainingLength); + pIndex = MQTT_SerializeConnectFixedHeader( pIndex, + pConnectInfo, + pWillInfo, + remainingLength ); /* Write the client identifier into the CONNECT packet. */ - pIndex = encodeString(pIndex, - pConnectInfo->pClientIdentifier, - pConnectInfo->clientIdentifierLength); + pIndex = encodeString( pIndex, + pConnectInfo->pClientIdentifier, + pConnectInfo->clientIdentifierLength ); /* Write the will topic name and message into the CONNECT packet if provided. */ - if (pWillInfo != NULL) + if( pWillInfo != NULL ) { - pIndex = encodeString(pIndex, - pWillInfo->pTopicName, - pWillInfo->topicNameLength); + pIndex = encodeString( pIndex, + pWillInfo->pTopicName, + pWillInfo->topicNameLength ); - pIndex = encodeString(pIndex, - pWillInfo->pPayload, - (uint16_t)pWillInfo->payloadLength); + pIndex = encodeString( pIndex, + pWillInfo->pPayload, + ( uint16_t ) pWillInfo->payloadLength ); } /* Encode the user name if provided. */ - if (pConnectInfo->pUserName != NULL) + if( pConnectInfo->pUserName != NULL ) { - pIndex = encodeString(pIndex, pConnectInfo->pUserName, pConnectInfo->userNameLength); + pIndex = encodeString( pIndex, pConnectInfo->pUserName, pConnectInfo->userNameLength ); } /* Encode the password if provided. */ - if (pConnectInfo->pPassword != NULL) + if( pConnectInfo->pPassword != NULL ) { - pIndex = encodeString(pIndex, pConnectInfo->pPassword, pConnectInfo->passwordLength); + pIndex = encodeString( pIndex, pConnectInfo->pPassword, pConnectInfo->passwordLength ); } - LogDebug(("Length of serialized CONNECT packet is %lu.", - ((unsigned long)(pIndex - pFixedBuffer->pBuffer)))); + LogDebug( ( "Length of serialized CONNECT packet is %lu.", + ( ( unsigned long ) ( pIndex - pFixedBuffer->pBuffer ) ) ) ); /* Ensure that the difference between the end and beginning of the buffer * is less than the buffer size. */ - assert(((size_t)(pIndex - pFixedBuffer->pBuffer)) <= pFixedBuffer->size); + assert( ( ( size_t ) ( pIndex - pFixedBuffer->pBuffer ) ) <= pFixedBuffer->size ); } /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetConnectPacketSize(const MQTTConnectInfo_t *pConnectInfo, - const MQTTPublishInfo_t *pWillInfo, - size_t *pRemainingLength, - size_t *pPacketSize) +MQTTStatus_t MQTT_GetConnectPacketSize( const MQTTConnectInfo_t * pConnectInfo, + const MQTTPublishInfo_t * pWillInfo, + size_t * pRemainingLength, + size_t * pPacketSize ) { MQTTStatus_t status = MQTTSuccess; size_t remainingLength; @@ -2992,55 +3165,55 @@ MQTTStatus_t MQTT_GetConnectPacketSize(const MQTTConnectInfo_t *pConnectInfo, size_t connectPacketSize = MQTT_PACKET_CONNECT_HEADER_SIZE; /* Validate arguments. */ - if ((pConnectInfo == NULL) || (pRemainingLength == NULL) || - (pPacketSize == NULL)) - { - LogError(("Argument cannot be NULL: pConnectInfo=%p, " - "pRemainingLength=%p, pPacketSize=%p.", - (void *)pConnectInfo, - (void *)pRemainingLength, - (void *)pPacketSize)); + if( ( pConnectInfo == NULL ) || ( pRemainingLength == NULL ) || + ( pPacketSize == NULL ) ) + { + LogError( ( "Argument cannot be NULL: pConnectInfo=%p, " + "pRemainingLength=%p, pPacketSize=%p.", + ( void * ) pConnectInfo, + ( void * ) pRemainingLength, + ( void * ) pPacketSize ) ); status = MQTTBadParameter; } - else if ((pConnectInfo->clientIdentifierLength == 0U) || (pConnectInfo->pClientIdentifier == NULL)) + else if( ( pConnectInfo->clientIdentifierLength == 0U ) || ( pConnectInfo->pClientIdentifier == NULL ) ) { - LogError(("Mqtt_GetConnectPacketSize() client identifier must be set.")); + LogError( ( "Mqtt_GetConnectPacketSize() client identifier must be set." ) ); status = MQTTBadParameter; } - else if ((pWillInfo != NULL) && (pWillInfo->payloadLength > (size_t)UINT16_MAX)) + else if( ( pWillInfo != NULL ) && ( pWillInfo->payloadLength > ( size_t ) UINT16_MAX ) ) { /* The MQTTPublishInfo_t is reused for the will message. The payload * length for any other message could be larger than 65,535, but * the will message length is required to be represented in 2 bytes. * By bounding the payloadLength of the will message, the CONNECT * packet will never be larger than 327699 bytes. */ - LogError(("The Will Message length must not exceed %d. " - "pWillInfo->payloadLength=%lu.", - UINT16_MAX, - (unsigned long)pWillInfo->payloadLength)); + LogError( ( "The Will Message length must not exceed %d. " + "pWillInfo->payloadLength=%lu.", + UINT16_MAX, + ( unsigned long ) pWillInfo->payloadLength ) ); status = MQTTBadParameter; } else { /* Add the length of the client identifier. */ - connectPacketSize += pConnectInfo->clientIdentifierLength + sizeof(uint16_t); + connectPacketSize += pConnectInfo->clientIdentifierLength + sizeof( uint16_t ); /* Add the lengths of the will message and topic name if provided. */ - if (pWillInfo != NULL) + if( pWillInfo != NULL ) { - connectPacketSize += pWillInfo->topicNameLength + sizeof(uint16_t) + - pWillInfo->payloadLength + sizeof(uint16_t); + connectPacketSize += pWillInfo->topicNameLength + sizeof( uint16_t ) + + pWillInfo->payloadLength + sizeof( uint16_t ); } /* Add the lengths of the user name and password if provided. */ - if (pConnectInfo->pUserName != NULL) + if( pConnectInfo->pUserName != NULL ) { - connectPacketSize += pConnectInfo->userNameLength + sizeof(uint16_t); + connectPacketSize += pConnectInfo->userNameLength + sizeof( uint16_t ); } - if (pConnectInfo->pPassword != NULL) + if( pConnectInfo->pPassword != NULL ) { - connectPacketSize += pConnectInfo->passwordLength + sizeof(uint16_t); + connectPacketSize += pConnectInfo->passwordLength + sizeof( uint16_t ); } /* At this point, the "Remaining Length" field of the MQTT CONNECT packet has @@ -3049,7 +3222,7 @@ MQTTStatus_t MQTT_GetConnectPacketSize(const MQTTConnectInfo_t *pConnectInfo, /* Calculate the full size of the MQTT CONNECT packet by adding the size of * the "Remaining Length" field plus 1 byte for the "Packet Type" field. */ - connectPacketSize += 1U + remainingLengthEncodedSize(connectPacketSize); + connectPacketSize += 1U + remainingLengthEncodedSize( connectPacketSize ); /* The connectPacketSize calculated from this function's parameters is * guaranteed to be less than the maximum MQTT CONNECT packet size, which @@ -3070,9 +3243,9 @@ MQTTStatus_t MQTT_GetConnectPacketSize(const MQTTConnectInfo_t *pConnectInfo, *pRemainingLength = remainingLength; *pPacketSize = connectPacketSize; - LogDebug(("CONNECT packet remaining length=%lu and packet size=%lu.", - (unsigned long)*pRemainingLength, - (unsigned long)*pPacketSize)); + LogDebug( ( "CONNECT packet remaining length=%lu and packet size=%lu.", + ( unsigned long ) *pRemainingLength, + ( unsigned long ) *pPacketSize ) ); } return status; @@ -3080,32 +3253,32 @@ MQTTStatus_t MQTT_GetConnectPacketSize(const MQTTConnectInfo_t *pConnectInfo, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializeConnect(const MQTTConnectInfo_t *pConnectInfo, - const MQTTPublishInfo_t *pWillInfo, - size_t remainingLength, - const MQTTFixedBuffer_t *pFixedBuffer) +MQTTStatus_t MQTT_SerializeConnect( const MQTTConnectInfo_t * pConnectInfo, + const MQTTPublishInfo_t * pWillInfo, + size_t remainingLength, + const MQTTFixedBuffer_t * pFixedBuffer ) { MQTTStatus_t status = MQTTSuccess; size_t connectPacketSize = 0; /* Validate arguments. */ - if ((pConnectInfo == NULL) || (pFixedBuffer == NULL)) + if( ( pConnectInfo == NULL ) || ( pFixedBuffer == NULL ) ) { - LogError(("Argument cannot be NULL: pConnectInfo=%p, " - "pFixedBuffer=%p.", - (void *)pConnectInfo, - (void *)pFixedBuffer)); + LogError( ( "Argument cannot be NULL: pConnectInfo=%p, " + "pFixedBuffer=%p.", + ( void * ) pConnectInfo, + ( void * ) pFixedBuffer ) ); status = MQTTBadParameter; } /* A buffer must be configured for serialization. */ - else if (pFixedBuffer->pBuffer == NULL) + else if( pFixedBuffer->pBuffer == NULL ) { - LogError(("Argument cannot be NULL: pFixedBuffer->pBuffer is NULL.")); + LogError( ( "Argument cannot be NULL: pFixedBuffer->pBuffer is NULL." ) ); status = MQTTBadParameter; } - else if ((pWillInfo != NULL) && (pWillInfo->pTopicName == NULL)) + else if( ( pWillInfo != NULL ) && ( pWillInfo->pTopicName == NULL ) ) { - LogError(("pWillInfo->pTopicName cannot be NULL if Will is present.")); + LogError( ( "pWillInfo->pTopicName cannot be NULL if Will is present." ) ); status = MQTTBadParameter; } else @@ -3113,23 +3286,23 @@ MQTTStatus_t MQTT_SerializeConnect(const MQTTConnectInfo_t *pConnectInfo, /* Calculate CONNECT packet size. Overflow in in this addition is not checked * because it is part of the API contract to call Mqtt_GetConnectPacketSize() * before this function. */ - connectPacketSize = remainingLength + remainingLengthEncodedSize(remainingLength) + 1U; + connectPacketSize = remainingLength + remainingLengthEncodedSize( remainingLength ) + 1U; /* Check that the full packet size fits within the given buffer. */ - if (connectPacketSize > pFixedBuffer->size) + if( connectPacketSize > pFixedBuffer->size ) { - LogError(("Buffer size of %lu is not sufficient to hold " - "serialized CONNECT packet of size of %lu.", - (unsigned long)pFixedBuffer->size, - (unsigned long)connectPacketSize)); + LogError( ( "Buffer size of %lu is not sufficient to hold " + "serialized CONNECT packet of size of %lu.", + ( unsigned long ) pFixedBuffer->size, + ( unsigned long ) connectPacketSize ) ); status = MQTTNoMemory; } else { - serializeConnectPacket(pConnectInfo, - pWillInfo, - remainingLength, - pFixedBuffer); + serializeConnectPacket( pConnectInfo, + pWillInfo, + remainingLength, + pFixedBuffer ); } } @@ -3138,37 +3311,37 @@ MQTTStatus_t MQTT_SerializeConnect(const MQTTConnectInfo_t *pConnectInfo, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetSubscribePacketSize(const MQTTSubscribeInfo_t *pSubscriptionList, - size_t subscriptionCount, - size_t *pRemainingLength, - size_t *pPacketSize) +MQTTStatus_t MQTT_GetSubscribePacketSize( const MQTTSubscribeInfo_t * pSubscriptionList, + size_t subscriptionCount, + size_t * pRemainingLength, + size_t * pPacketSize ) { MQTTStatus_t status = MQTTSuccess; /* Validate parameters. */ - if ((pSubscriptionList == NULL) || (pRemainingLength == NULL) || - (pPacketSize == NULL)) - { - LogError(("Argument cannot be NULL: pSubscriptionList=%p, " - "pRemainingLength=%p, pPacketSize=%p.", - (void *)pSubscriptionList, - (void *)pRemainingLength, - (void *)pPacketSize)); + if( ( pSubscriptionList == NULL ) || ( pRemainingLength == NULL ) || + ( pPacketSize == NULL ) ) + { + LogError( ( "Argument cannot be NULL: pSubscriptionList=%p, " + "pRemainingLength=%p, pPacketSize=%p.", + ( void * ) pSubscriptionList, + ( void * ) pRemainingLength, + ( void * ) pPacketSize ) ); status = MQTTBadParameter; } - else if (subscriptionCount == 0U) + else if( subscriptionCount == 0U ) { - LogError(("subscriptionCount is 0.")); + LogError( ( "subscriptionCount is 0." ) ); status = MQTTBadParameter; } else { /* Calculate the MQTT SUBSCRIBE packet size. */ - status = calculateSubscriptionPacketSize(pSubscriptionList, - subscriptionCount, - pRemainingLength, - pPacketSize, - MQTT_SUBSCRIBE); + status = calculateSubscriptionPacketSize( pSubscriptionList, + subscriptionCount, + pRemainingLength, + pPacketSize, + MQTT_SUBSCRIBE ); } return status; @@ -3176,91 +3349,91 @@ MQTTStatus_t MQTT_GetSubscribePacketSize(const MQTTSubscribeInfo_t *pSubscriptio /*-----------------------------------------------------------*/ -uint8_t *MQTT_SerializeSubscribeHeader(size_t remainingLength, - uint8_t *pIndex, - uint16_t packetId) +uint8_t * MQTT_SerializeSubscribeHeader( size_t remainingLength, + uint8_t * pIndex, + uint16_t packetId ) { - uint8_t *pIterator = pIndex; + uint8_t * pIterator = pIndex; /* The first byte in SUBSCRIBE is the packet type. */ *pIterator = MQTT_PACKET_TYPE_SUBSCRIBE; pIterator++; /* Encode the "Remaining length" starting from the second byte. */ - pIterator = encodeRemainingLength(pIterator, remainingLength); + pIterator = encodeRemainingLength( pIterator, remainingLength ); /* Place the packet identifier into the SUBSCRIBE packet. */ - pIterator[0] = UINT16_HIGH_BYTE(packetId); - pIterator[1] = UINT16_LOW_BYTE(packetId); + pIterator[ 0 ] = UINT16_HIGH_BYTE( packetId ); + pIterator[ 1 ] = UINT16_LOW_BYTE( packetId ); /* Advance the pointer. */ - pIterator = &pIterator[2]; + pIterator = &pIterator[ 2 ]; return pIterator; } /*-----------------------------------------------------------*/ -uint8_t *MQTT_SerializeUnsubscribeHeader(size_t remainingLength, - uint8_t *pIndex, - uint16_t packetId) +uint8_t * MQTT_SerializeUnsubscribeHeader( size_t remainingLength, + uint8_t * pIndex, + uint16_t packetId ) { - uint8_t *pIterator = pIndex; + uint8_t * pIterator = pIndex; /* The first byte in UNSUBSCRIBE is the packet type. */ *pIterator = MQTT_PACKET_TYPE_UNSUBSCRIBE; pIterator++; /* Encode the "Remaining length" starting from the second byte. */ - pIterator = encodeRemainingLength(pIterator, remainingLength); + pIterator = encodeRemainingLength( pIterator, remainingLength ); /* Place the packet identifier into the SUBSCRIBE packet. */ - pIterator[0] = UINT16_HIGH_BYTE(packetId); - pIterator[1] = UINT16_LOW_BYTE(packetId); + pIterator[ 0 ] = UINT16_HIGH_BYTE( packetId ); + pIterator[ 1 ] = UINT16_LOW_BYTE( packetId ); /* Increment the pointer. */ - pIterator = &pIterator[2]; + pIterator = &pIterator[ 2 ]; return pIterator; } -MQTTStatus_t MQTT_SerializeSubscribe(const MQTTSubscribeInfo_t *pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t *pFixedBuffer) +MQTTStatus_t MQTT_SerializeSubscribe( const MQTTSubscribeInfo_t * pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t * pFixedBuffer ) { size_t i = 0; - uint8_t *pIndex = NULL; + uint8_t * pIndex = NULL; /* Validate all the parameters. */ MQTTStatus_t status = - validateSubscriptionSerializeParams(pSubscriptionList, - subscriptionCount, - packetId, - remainingLength, - pFixedBuffer); + validateSubscriptionSerializeParams( pSubscriptionList, + subscriptionCount, + packetId, + remainingLength, + pFixedBuffer ); - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { pIndex = pFixedBuffer->pBuffer; - pIndex = MQTT_SerializeSubscribeHeader(remainingLength, - pIndex, - packetId); + pIndex = MQTT_SerializeSubscribeHeader( remainingLength, + pIndex, + packetId ); /* Serialize each subscription topic filter and QoS. */ - for (i = 0; i < subscriptionCount; i++) + for( i = 0; i < subscriptionCount; i++ ) { - pIndex = encodeString(pIndex, - pSubscriptionList[i].pTopicFilter, - pSubscriptionList[i].topicFilterLength); + pIndex = encodeString( pIndex, + pSubscriptionList[ i ].pTopicFilter, + pSubscriptionList[ i ].topicFilterLength ); /* Place the QoS in the SUBSCRIBE packet. */ - *pIndex = (uint8_t)(pSubscriptionList[i].qos); + *pIndex = ( uint8_t ) ( pSubscriptionList[ i ].qos ); pIndex++; } - LogDebug(("Length of serialized SUBSCRIBE packet is %lu.", - ((unsigned long)(pIndex - pFixedBuffer->pBuffer)))); + LogDebug( ( "Length of serialized SUBSCRIBE packet is %lu.", + ( ( unsigned long ) ( pIndex - pFixedBuffer->pBuffer ) ) ) ); } return status; @@ -3268,37 +3441,37 @@ MQTTStatus_t MQTT_SerializeSubscribe(const MQTTSubscribeInfo_t *pSubscriptionLis /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetUnsubscribePacketSize(const MQTTSubscribeInfo_t *pSubscriptionList, - size_t subscriptionCount, - size_t *pRemainingLength, - size_t *pPacketSize) +MQTTStatus_t MQTT_GetUnsubscribePacketSize( const MQTTSubscribeInfo_t * pSubscriptionList, + size_t subscriptionCount, + size_t * pRemainingLength, + size_t * pPacketSize ) { MQTTStatus_t status = MQTTSuccess; /* Validate parameters. */ - if ((pSubscriptionList == NULL) || (pRemainingLength == NULL) || - (pPacketSize == NULL)) - { - LogError(("Argument cannot be NULL: pSubscriptionList=%p, " - "pRemainingLength=%p, pPacketSize=%p.", - (void *)pSubscriptionList, - (void *)pRemainingLength, - (void *)pPacketSize)); + if( ( pSubscriptionList == NULL ) || ( pRemainingLength == NULL ) || + ( pPacketSize == NULL ) ) + { + LogError( ( "Argument cannot be NULL: pSubscriptionList=%p, " + "pRemainingLength=%p, pPacketSize=%p.", + ( void * ) pSubscriptionList, + ( void * ) pRemainingLength, + ( void * ) pPacketSize ) ); status = MQTTBadParameter; } - else if (subscriptionCount == 0U) + else if( subscriptionCount == 0U ) { - LogError(("Subscription count is 0.")); + LogError( ( "Subscription count is 0." ) ); status = MQTTBadParameter; } else { /* Calculate the MQTT UNSUBSCRIBE packet size. */ - status = calculateSubscriptionPacketSize(pSubscriptionList, - subscriptionCount, - pRemainingLength, - pPacketSize, - MQTT_UNSUBSCRIBE); + status = calculateSubscriptionPacketSize( pSubscriptionList, + subscriptionCount, + pRemainingLength, + pPacketSize, + MQTT_UNSUBSCRIBE ); } return status; @@ -3306,40 +3479,40 @@ MQTTStatus_t MQTT_GetUnsubscribePacketSize(const MQTTSubscribeInfo_t *pSubscript /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializeUnsubscribe(const MQTTSubscribeInfo_t *pSubscriptionList, - size_t subscriptionCount, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t *pFixedBuffer) +MQTTStatus_t MQTT_SerializeUnsubscribe( const MQTTSubscribeInfo_t * pSubscriptionList, + size_t subscriptionCount, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t * pFixedBuffer ) { MQTTStatus_t status = MQTTSuccess; size_t i = 0; - uint8_t *pIndex = NULL; + uint8_t * pIndex = NULL; /* Validate all the parameters. */ - status = validateSubscriptionSerializeParams(pSubscriptionList, - subscriptionCount, - packetId, - remainingLength, - pFixedBuffer); + status = validateSubscriptionSerializeParams( pSubscriptionList, + subscriptionCount, + packetId, + remainingLength, + pFixedBuffer ); - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Get the start of the buffer to the iterator variable. */ pIndex = pFixedBuffer->pBuffer; - pIndex = MQTT_SerializeUnsubscribeHeader(remainingLength, pIndex, packetId); + pIndex = MQTT_SerializeUnsubscribeHeader( remainingLength, pIndex, packetId ); /* Serialize each subscription topic filter. */ - for (i = 0; i < subscriptionCount; i++) + for( i = 0; i < subscriptionCount; i++ ) { - pIndex = encodeString(pIndex, - pSubscriptionList[i].pTopicFilter, - pSubscriptionList[i].topicFilterLength); + pIndex = encodeString( pIndex, + pSubscriptionList[ i ].pTopicFilter, + pSubscriptionList[ i ].topicFilterLength ); } - LogDebug(("Length of serialized UNSUBSCRIBE packet is %lu.", - ((unsigned long)(pIndex - pFixedBuffer->pBuffer)))); + LogDebug( ( "Length of serialized UNSUBSCRIBE packet is %lu.", + ( ( unsigned long ) ( pIndex - pFixedBuffer->pBuffer ) ) ) ); } return status; @@ -3347,38 +3520,38 @@ MQTTStatus_t MQTT_SerializeUnsubscribe(const MQTTSubscribeInfo_t *pSubscriptionL /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetPublishPacketSize(const MQTTPublishInfo_t *pPublishInfo, - size_t *pRemainingLength, - size_t *pPacketSize) +MQTTStatus_t MQTT_GetPublishPacketSize( const MQTTPublishInfo_t * pPublishInfo, + size_t * pRemainingLength, + size_t * pPacketSize ) { MQTTStatus_t status = MQTTSuccess; - if ((pPublishInfo == NULL) || (pRemainingLength == NULL) || (pPacketSize == NULL)) + if( ( pPublishInfo == NULL ) || ( pRemainingLength == NULL ) || ( pPacketSize == NULL ) ) { - LogError(("Argument cannot be NULL: pPublishInfo=%p, " - "pRemainingLength=%p, pPacketSize=%p.", - (void *)pPublishInfo, - (void *)pRemainingLength, - (void *)pPacketSize)); + LogError( ( "Argument cannot be NULL: pPublishInfo=%p, " + "pRemainingLength=%p, pPacketSize=%p.", + ( void * ) pPublishInfo, + ( void * ) pRemainingLength, + ( void * ) pPacketSize ) ); status = MQTTBadParameter; } - else if ((pPublishInfo->pTopicName == NULL) || (pPublishInfo->topicNameLength == 0U)) + else if( ( pPublishInfo->pTopicName == NULL ) || ( pPublishInfo->topicNameLength == 0U ) ) { - LogError(("Invalid topic name for PUBLISH: pTopicName=%p, " - "topicNameLength=%hu.", - (void *)pPublishInfo->pTopicName, - (unsigned short)pPublishInfo->topicNameLength)); + LogError( ( "Invalid topic name for PUBLISH: pTopicName=%p, " + "topicNameLength=%hu.", + ( void * ) pPublishInfo->pTopicName, + ( unsigned short ) pPublishInfo->topicNameLength ) ); status = MQTTBadParameter; } else { /* Calculate the "Remaining length" field and total packet size. If it exceeds * what is allowed in the MQTT standard, return an error. */ - if (calculatePublishPacketSize(pPublishInfo, pRemainingLength, pPacketSize) == false) + if( calculatePublishPacketSize( pPublishInfo, pRemainingLength, pPacketSize ) == false ) { - LogError(("PUBLISH packet remaining length exceeds %lu, which is the " - "maximum size allowed by MQTT 3.1.1.", - MQTT_MAX_REMAINING_LENGTH)); + LogError( ( "PUBLISH packet remaining length exceeds %lu, which is the " + "maximum size allowed by MQTT 3.1.1.", + MQTT_MAX_REMAINING_LENGTH ) ); status = MQTTBadParameter; } } @@ -3388,56 +3561,56 @@ MQTTStatus_t MQTT_GetPublishPacketSize(const MQTTPublishInfo_t *pPublishInfo, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializePublish(const MQTTPublishInfo_t *pPublishInfo, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t *pFixedBuffer) +MQTTStatus_t MQTT_SerializePublish( const MQTTPublishInfo_t * pPublishInfo, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t * pFixedBuffer ) { MQTTStatus_t status = MQTTSuccess; size_t packetSize = 0; - if ((pFixedBuffer == NULL) || (pPublishInfo == NULL)) + if( ( pFixedBuffer == NULL ) || ( pPublishInfo == NULL ) ) { - LogError(("Argument cannot be NULL: pFixedBuffer=%p, " - "pPublishInfo=%p.", - (void *)pFixedBuffer, - (void *)pPublishInfo)); + LogError( ( "Argument cannot be NULL: pFixedBuffer=%p, " + "pPublishInfo=%p.", + ( void * ) pFixedBuffer, + ( void * ) pPublishInfo ) ); status = MQTTBadParameter; } /* A buffer must be configured for serialization. */ - else if (pFixedBuffer->pBuffer == NULL) + else if( pFixedBuffer->pBuffer == NULL ) { - LogError(("Argument cannot be NULL: pFixedBuffer->pBuffer is NULL.")); + LogError( ( "Argument cannot be NULL: pFixedBuffer->pBuffer is NULL." ) ); status = MQTTBadParameter; } /* For serializing a publish, if there exists a payload, then the buffer * cannot be NULL. */ - else if ((pPublishInfo->payloadLength > 0U) && (pPublishInfo->pPayload == NULL)) + else if( ( pPublishInfo->payloadLength > 0U ) && ( pPublishInfo->pPayload == NULL ) ) { - LogError(("A nonzero payload length requires a non-NULL payload: " - "payloadLength=%lu, pPayload=%p.", - (unsigned long)pPublishInfo->payloadLength, - pPublishInfo->pPayload)); + LogError( ( "A nonzero payload length requires a non-NULL payload: " + "payloadLength=%lu, pPayload=%p.", + ( unsigned long ) pPublishInfo->payloadLength, + pPublishInfo->pPayload ) ); status = MQTTBadParameter; } - else if ((pPublishInfo->pTopicName == NULL) || (pPublishInfo->topicNameLength == 0U)) + else if( ( pPublishInfo->pTopicName == NULL ) || ( pPublishInfo->topicNameLength == 0U ) ) { - LogError(("Invalid topic name for PUBLISH: pTopicName=%p, " - "topicNameLength=%hu.", - (void *)pPublishInfo->pTopicName, - (unsigned short)pPublishInfo->topicNameLength)); + LogError( ( "Invalid topic name for PUBLISH: pTopicName=%p, " + "topicNameLength=%hu.", + ( void * ) pPublishInfo->pTopicName, + ( unsigned short ) pPublishInfo->topicNameLength ) ); status = MQTTBadParameter; } - else if ((pPublishInfo->qos != MQTTQoS0) && (packetId == 0U)) + else if( ( pPublishInfo->qos != MQTTQoS0 ) && ( packetId == 0U ) ) { - LogError(("Packet ID is 0 for PUBLISH with QoS=%u.", - (unsigned int)pPublishInfo->qos)); + LogError( ( "Packet ID is 0 for PUBLISH with QoS=%u.", + ( unsigned int ) pPublishInfo->qos ) ); status = MQTTBadParameter; } - else if ((pPublishInfo->dup == true) && (pPublishInfo->qos == MQTTQoS0)) + else if( ( pPublishInfo->dup == true ) && ( pPublishInfo->qos == MQTTQoS0 ) ) { - LogError(("Duplicate flag is set for PUBLISH with Qos 0.")); + LogError( ( "Duplicate flag is set for PUBLISH with Qos 0." ) ); status = MQTTBadParameter; } else @@ -3445,26 +3618,26 @@ MQTTStatus_t MQTT_SerializePublish(const MQTTPublishInfo_t *pPublishInfo, /* Length of serialized packet = First byte * + Length of encoded remaining length * + Remaining length. */ - packetSize = 1U + remainingLengthEncodedSize(remainingLength) + remainingLength; + packetSize = 1U + remainingLengthEncodedSize( remainingLength ) + remainingLength; } - if ((status == MQTTSuccess) && (packetSize > pFixedBuffer->size)) + if( ( status == MQTTSuccess ) && ( packetSize > pFixedBuffer->size ) ) { - LogError(("Buffer size of %lu is not sufficient to hold " - "serialized PUBLISH packet of size of %lu.", - (unsigned long)pFixedBuffer->size, - (unsigned long)packetSize)); + LogError( ( "Buffer size of %lu is not sufficient to hold " + "serialized PUBLISH packet of size of %lu.", + ( unsigned long ) pFixedBuffer->size, + ( unsigned long ) packetSize ) ); status = MQTTNoMemory; } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Serialize publish with header and payload. */ - serializePublishCommon(pPublishInfo, - remainingLength, - packetId, - pFixedBuffer, - true); + serializePublishCommon( pPublishInfo, + remainingLength, + packetId, + pFixedBuffer, + true ); } return status; @@ -3472,48 +3645,48 @@ MQTTStatus_t MQTT_SerializePublish(const MQTTPublishInfo_t *pPublishInfo, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializePublishHeader(const MQTTPublishInfo_t *pPublishInfo, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t *pFixedBuffer, - size_t *pHeaderSize) +MQTTStatus_t MQTT_SerializePublishHeader( const MQTTPublishInfo_t * pPublishInfo, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t * pFixedBuffer, + size_t * pHeaderSize ) { MQTTStatus_t status = MQTTSuccess; size_t packetSize = 0; - if ((pFixedBuffer == NULL) || (pPublishInfo == NULL) || - (pHeaderSize == NULL)) + if( ( pFixedBuffer == NULL ) || ( pPublishInfo == NULL ) || + ( pHeaderSize == NULL ) ) { - LogError(("Argument cannot be NULL: pFixedBuffer=%p, " - "pPublishInfo=%p, pHeaderSize=%p.", - (void *)pFixedBuffer, - (void *)pPublishInfo, - (void *)pHeaderSize)); + LogError( ( "Argument cannot be NULL: pFixedBuffer=%p, " + "pPublishInfo=%p, pHeaderSize=%p.", + ( void * ) pFixedBuffer, + ( void * ) pPublishInfo, + ( void * ) pHeaderSize ) ); status = MQTTBadParameter; } /* A buffer must be configured for serialization. */ - else if (pFixedBuffer->pBuffer == NULL) + else if( pFixedBuffer->pBuffer == NULL ) { - LogError(("Argument cannot be NULL: pFixedBuffer->pBuffer is NULL.")); + LogError( ( "Argument cannot be NULL: pFixedBuffer->pBuffer is NULL." ) ); status = MQTTBadParameter; } - else if ((pPublishInfo->pTopicName == NULL) || (pPublishInfo->topicNameLength == 0U)) + else if( ( pPublishInfo->pTopicName == NULL ) || ( pPublishInfo->topicNameLength == 0U ) ) { - LogError(("Invalid topic name for publish: pTopicName=%p, " - "topicNameLength=%hu.", - (void *)pPublishInfo->pTopicName, - (unsigned short)pPublishInfo->topicNameLength)); + LogError( ( "Invalid topic name for publish: pTopicName=%p, " + "topicNameLength=%hu.", + ( void * ) pPublishInfo->pTopicName, + ( unsigned short ) pPublishInfo->topicNameLength ) ); status = MQTTBadParameter; } - else if ((pPublishInfo->qos != MQTTQoS0) && (packetId == 0U)) + else if( ( pPublishInfo->qos != MQTTQoS0 ) && ( packetId == 0U ) ) { - LogError(("Packet Id is 0 for publish with QoS=%hu.", - (unsigned short)pPublishInfo->qos)); + LogError( ( "Packet Id is 0 for publish with QoS=%hu.", + ( unsigned short ) pPublishInfo->qos ) ); status = MQTTBadParameter; } - else if ((pPublishInfo->dup == true) && (pPublishInfo->qos == MQTTQoS0)) + else if( ( pPublishInfo->dup == true ) && ( pPublishInfo->qos == MQTTQoS0 ) ) { - LogError(("Duplicate flag is set for PUBLISH with Qos 0.")); + LogError( ( "Duplicate flag is set for PUBLISH with Qos 0." ) ); status = MQTTBadParameter; } else @@ -3523,26 +3696,26 @@ MQTTStatus_t MQTT_SerializePublishHeader(const MQTTPublishInfo_t *pPublishInfo, * + Remaining length * - Payload Length. */ - packetSize = 1U + remainingLengthEncodedSize(remainingLength) + remainingLength - pPublishInfo->payloadLength; + packetSize = 1U + remainingLengthEncodedSize( remainingLength ) + remainingLength - pPublishInfo->payloadLength; } - if ((status == MQTTSuccess) && (packetSize > pFixedBuffer->size)) + if( ( status == MQTTSuccess ) && ( packetSize > pFixedBuffer->size ) ) { - LogError(("Buffer size of %lu is not sufficient to hold " - "serialized PUBLISH header packet of size of %lu.", - (unsigned long)pFixedBuffer->size, - (unsigned long)(packetSize - pPublishInfo->payloadLength))); + LogError( ( "Buffer size of %lu is not sufficient to hold " + "serialized PUBLISH header packet of size of %lu.", + ( unsigned long ) pFixedBuffer->size, + ( unsigned long ) ( packetSize - pPublishInfo->payloadLength ) ) ); status = MQTTNoMemory; } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Serialize publish without copying the payload. */ - serializePublishCommon(pPublishInfo, - remainingLength, - packetId, - pFixedBuffer, - false); + serializePublishCommon( pPublishInfo, + remainingLength, + packetId, + pFixedBuffer, + false ); /* Header size is the same as calculated packet size. */ *pHeaderSize = packetSize; @@ -3553,53 +3726,53 @@ MQTTStatus_t MQTT_SerializePublishHeader(const MQTTPublishInfo_t *pPublishInfo, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializeAck(const MQTTFixedBuffer_t *pFixedBuffer, - uint8_t packetType, - uint16_t packetId) +MQTTStatus_t MQTT_SerializeAck( const MQTTFixedBuffer_t * pFixedBuffer, + uint8_t packetType, + uint16_t packetId ) { MQTTStatus_t status = MQTTSuccess; - if (pFixedBuffer == NULL) + if( pFixedBuffer == NULL ) { - LogError(("Provided buffer is NULL.")); + LogError( ( "Provided buffer is NULL." ) ); status = MQTTBadParameter; } - else if (pFixedBuffer->pBuffer == NULL) + else if( pFixedBuffer->pBuffer == NULL ) { - LogError(("pFixedBuffer->pBuffer cannot be NULL.")); + LogError( ( "pFixedBuffer->pBuffer cannot be NULL." ) ); status = MQTTBadParameter; } /* The buffer must be able to fit 4 bytes for the packet. */ - else if (pFixedBuffer->size < MQTT_PUBLISH_ACK_PACKET_SIZE) + else if( pFixedBuffer->size < MQTT_PUBLISH_ACK_PACKET_SIZE ) { - LogError(("Insufficient memory for packet.")); + LogError( ( "Insufficient memory for packet." ) ); status = MQTTNoMemory; } - else if (packetId == 0U) + else if( packetId == 0U ) { - LogError(("Packet ID cannot be 0.")); + LogError( ( "Packet ID cannot be 0." ) ); status = MQTTBadParameter; } else { - switch (packetType) + switch( packetType ) { /* Only publish acks are serialized by the client. */ - case MQTT_PACKET_TYPE_PUBACK: - case MQTT_PACKET_TYPE_PUBREC: - case MQTT_PACKET_TYPE_PUBREL: - case MQTT_PACKET_TYPE_PUBCOMP: - pFixedBuffer->pBuffer[0] = packetType; - pFixedBuffer->pBuffer[1] = MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH; - pFixedBuffer->pBuffer[2] = UINT16_HIGH_BYTE(packetId); - pFixedBuffer->pBuffer[3] = UINT16_LOW_BYTE(packetId); - break; + case MQTT_PACKET_TYPE_PUBACK: + case MQTT_PACKET_TYPE_PUBREC: + case MQTT_PACKET_TYPE_PUBREL: + case MQTT_PACKET_TYPE_PUBCOMP: + pFixedBuffer->pBuffer[ 0 ] = packetType; + pFixedBuffer->pBuffer[ 1 ] = MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH; + pFixedBuffer->pBuffer[ 2 ] = UINT16_HIGH_BYTE( packetId ); + pFixedBuffer->pBuffer[ 3 ] = UINT16_LOW_BYTE( packetId ); + break; - default: - LogError(("Packet type is not a publish ACK: Packet type=%02x", - (unsigned int)packetType)); - status = MQTTBadParameter; - break; + default: + LogError( ( "Packet type is not a publish ACK: Packet type=%02x", + ( unsigned int ) packetType ) ); + status = MQTTBadParameter; + break; } } @@ -3608,13 +3781,13 @@ MQTTStatus_t MQTT_SerializeAck(const MQTTFixedBuffer_t *pFixedBuffer, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetDisconnectPacketSize(size_t *pPacketSize) +MQTTStatus_t MQTT_GetDisconnectPacketSize( size_t * pPacketSize ) { MQTTStatus_t status = MQTTSuccess; - if (pPacketSize == NULL) + if( pPacketSize == NULL ) { - LogError(("pPacketSize is NULL.")); + LogError( ( "pPacketSize is NULL." ) ); status = MQTTBadParameter; } else @@ -3628,19 +3801,19 @@ MQTTStatus_t MQTT_GetDisconnectPacketSize(size_t *pPacketSize) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializeDisconnect(const MQTTFixedBuffer_t *pFixedBuffer) +MQTTStatus_t MQTT_SerializeDisconnect( const MQTTFixedBuffer_t * pFixedBuffer ) { MQTTStatus_t status = MQTTSuccess; /* Validate arguments. */ - if (pFixedBuffer == NULL) + if( pFixedBuffer == NULL ) { - LogError(("pFixedBuffer cannot be NULL.")); + LogError( ( "pFixedBuffer cannot be NULL." ) ); status = MQTTBadParameter; } - else if (pFixedBuffer->pBuffer == NULL) + else if( pFixedBuffer->pBuffer == NULL ) { - LogError(("pFixedBuffer->pBuffer cannot be NULL.")); + LogError( ( "pFixedBuffer->pBuffer cannot be NULL." ) ); status = MQTTBadParameter; } else @@ -3648,22 +3821,22 @@ MQTTStatus_t MQTT_SerializeDisconnect(const MQTTFixedBuffer_t *pFixedBuffer) /* Empty else MISRA 15.7 */ } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { - if (pFixedBuffer->size < MQTT_DISCONNECT_PACKET_SIZE) + if( pFixedBuffer->size < MQTT_DISCONNECT_PACKET_SIZE ) { - LogError(("Buffer size of %lu is not sufficient to hold " - "serialized DISCONNECT packet of size of %lu.", - (unsigned long)pFixedBuffer->size, - MQTT_DISCONNECT_PACKET_SIZE)); + LogError( ( "Buffer size of %lu is not sufficient to hold " + "serialized DISCONNECT packet of size of %lu.", + ( unsigned long ) pFixedBuffer->size, + MQTT_DISCONNECT_PACKET_SIZE ) ); status = MQTTNoMemory; } } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { - pFixedBuffer->pBuffer[0] = MQTT_PACKET_TYPE_DISCONNECT; - pFixedBuffer->pBuffer[1] = MQTT_DISCONNECT_REMAINING_LENGTH; + pFixedBuffer->pBuffer[ 0 ] = MQTT_PACKET_TYPE_DISCONNECT; + pFixedBuffer->pBuffer[ 1 ] = MQTT_DISCONNECT_REMAINING_LENGTH; } return status; @@ -3671,13 +3844,13 @@ MQTTStatus_t MQTT_SerializeDisconnect(const MQTTFixedBuffer_t *pFixedBuffer) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetPingreqPacketSize(size_t *pPacketSize) +MQTTStatus_t MQTT_GetPingreqPacketSize( size_t * pPacketSize ) { MQTTStatus_t status = MQTTSuccess; - if (pPacketSize == NULL) + if( pPacketSize == NULL ) { - LogError(("pPacketSize is NULL.")); + LogError( ( "pPacketSize is NULL." ) ); status = MQTTBadParameter; } else @@ -3691,18 +3864,18 @@ MQTTStatus_t MQTT_GetPingreqPacketSize(size_t *pPacketSize) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_SerializePingreq(const MQTTFixedBuffer_t *pFixedBuffer) +MQTTStatus_t MQTT_SerializePingreq( const MQTTFixedBuffer_t * pFixedBuffer ) { MQTTStatus_t status = MQTTSuccess; - if (pFixedBuffer == NULL) + if( pFixedBuffer == NULL ) { - LogError(("pFixedBuffer is NULL.")); + LogError( ( "pFixedBuffer is NULL." ) ); status = MQTTBadParameter; } - else if (pFixedBuffer->pBuffer == NULL) + else if( pFixedBuffer->pBuffer == NULL ) { - LogError(("pFixedBuffer->pBuffer cannot be NULL.")); + LogError( ( "pFixedBuffer->pBuffer cannot be NULL." ) ); status = MQTTBadParameter; } else @@ -3710,23 +3883,23 @@ MQTTStatus_t MQTT_SerializePingreq(const MQTTFixedBuffer_t *pFixedBuffer) /* Empty else MISRA 15.7 */ } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { - if (pFixedBuffer->size < MQTT_PACKET_PINGREQ_SIZE) + if( pFixedBuffer->size < MQTT_PACKET_PINGREQ_SIZE ) { - LogError(("Buffer size of %lu is not sufficient to hold " - "serialized PINGREQ packet of size of %lu.", - (unsigned long)pFixedBuffer->size, - MQTT_PACKET_PINGREQ_SIZE)); + LogError( ( "Buffer size of %lu is not sufficient to hold " + "serialized PINGREQ packet of size of %lu.", + ( unsigned long ) pFixedBuffer->size, + MQTT_PACKET_PINGREQ_SIZE ) ); status = MQTTNoMemory; } } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Ping request packets are always the same. */ - pFixedBuffer->pBuffer[0] = MQTT_PACKET_TYPE_PINGREQ; - pFixedBuffer->pBuffer[1] = 0x00; + pFixedBuffer->pBuffer[ 0 ] = MQTT_PACKET_TYPE_PINGREQ; + pFixedBuffer->pBuffer[ 1 ] = 0x00; } return status; @@ -3734,36 +3907,36 @@ MQTTStatus_t MQTT_SerializePingreq(const MQTTFixedBuffer_t *pFixedBuffer) /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_DeserializePublish(const MQTTPacketInfo_t *pIncomingPacket, - uint16_t *pPacketId, - MQTTPublishInfo_t *pPublishInfo) +MQTTStatus_t MQTT_DeserializePublish( const MQTTPacketInfo_t * pIncomingPacket, + uint16_t * pPacketId, + MQTTPublishInfo_t * pPublishInfo ) { MQTTStatus_t status = MQTTSuccess; - if ((pIncomingPacket == NULL) || (pPacketId == NULL) || (pPublishInfo == NULL)) + if( ( pIncomingPacket == NULL ) || ( pPacketId == NULL ) || ( pPublishInfo == NULL ) ) { - LogError(("Argument cannot be NULL: pIncomingPacket=%p, " - "pPacketId=%p, pPublishInfo=%p", - (void *)pIncomingPacket, - (void *)pPacketId, - (void *)pPublishInfo)); + LogError( ( "Argument cannot be NULL: pIncomingPacket=%p, " + "pPacketId=%p, pPublishInfo=%p", + ( void * ) pIncomingPacket, + ( void * ) pPacketId, + ( void * ) pPublishInfo ) ); status = MQTTBadParameter; } - else if ((pIncomingPacket->type & 0xF0U) != MQTT_PACKET_TYPE_PUBLISH) + else if( ( pIncomingPacket->type & 0xF0U ) != MQTT_PACKET_TYPE_PUBLISH ) { - LogError(("Packet is not publish. Packet type: %02x.", - (unsigned int)pIncomingPacket->type)); + LogError( ( "Packet is not publish. Packet type: %02x.", + ( unsigned int ) pIncomingPacket->type ) ); status = MQTTBadParameter; } - else if (pIncomingPacket->pRemainingData == NULL) + else if( pIncomingPacket->pRemainingData == NULL ) { - LogError(("Argument cannot be NULL: " - "pIncomingPacket->pRemainingData is NULL.")); + LogError( ( "Argument cannot be NULL: " + "pIncomingPacket->pRemainingData is NULL." ) ); status = MQTTBadParameter; } else { - status = deserializePublish(pIncomingPacket, pPacketId, pPublishInfo); + status = deserializePublish( pIncomingPacket, pPacketId, pPublishInfo ); } return status; @@ -3771,75 +3944,75 @@ MQTTStatus_t MQTT_DeserializePublish(const MQTTPacketInfo_t *pIncomingPacket, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_DeserializeAck(const MQTTPacketInfo_t *pIncomingPacket, - uint16_t *pPacketId, - bool *pSessionPresent) +MQTTStatus_t MQTT_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, + uint16_t * pPacketId, + bool * pSessionPresent ) { MQTTStatus_t status = MQTTSuccess; - if (pIncomingPacket == NULL) + if( pIncomingPacket == NULL ) { - LogError(("pIncomingPacket cannot be NULL.")); + LogError( ( "pIncomingPacket cannot be NULL." ) ); status = MQTTBadParameter; } /* Pointer for packet identifier cannot be NULL for packets other than * CONNACK and PINGRESP. */ - else if ((pPacketId == NULL) && - ((pIncomingPacket->type != MQTT_PACKET_TYPE_CONNACK) && - (pIncomingPacket->type != MQTT_PACKET_TYPE_PINGRESP))) + else if( ( pPacketId == NULL ) && + ( ( pIncomingPacket->type != MQTT_PACKET_TYPE_CONNACK ) && + ( pIncomingPacket->type != MQTT_PACKET_TYPE_PINGRESP ) ) ) { - LogError(("pPacketId cannot be NULL for packet type %02x.", - (unsigned int)pIncomingPacket->type)); + LogError( ( "pPacketId cannot be NULL for packet type %02x.", + ( unsigned int ) pIncomingPacket->type ) ); status = MQTTBadParameter; } /* Pointer for session present cannot be NULL for CONNACK. */ - else if ((pSessionPresent == NULL) && - (pIncomingPacket->type == MQTT_PACKET_TYPE_CONNACK)) + else if( ( pSessionPresent == NULL ) && + ( pIncomingPacket->type == MQTT_PACKET_TYPE_CONNACK ) ) { - LogError(("pSessionPresent cannot be NULL for CONNACK packet.")); + LogError( ( "pSessionPresent cannot be NULL for CONNACK packet." ) ); status = MQTTBadParameter; } /* Pointer for remaining data cannot be NULL for packets other * than PINGRESP. */ - else if ((pIncomingPacket->pRemainingData == NULL) && - (pIncomingPacket->type != MQTT_PACKET_TYPE_PINGRESP)) + else if( ( pIncomingPacket->pRemainingData == NULL ) && + ( pIncomingPacket->type != MQTT_PACKET_TYPE_PINGRESP ) ) { - LogError(("Remaining data of incoming packet is NULL.")); + LogError( ( "Remaining data of incoming packet is NULL." ) ); status = MQTTBadParameter; } else { /* Make sure response packet is a valid ack. */ - switch (pIncomingPacket->type) + switch( pIncomingPacket->type ) { - case MQTT_PACKET_TYPE_CONNACK: - status = deserializeConnack(pIncomingPacket, pSessionPresent); - break; + case MQTT_PACKET_TYPE_CONNACK: + status = deserializeConnack( pIncomingPacket, pSessionPresent ); + break; - case MQTT_PACKET_TYPE_SUBACK: - status = deserializeSuback(pIncomingPacket, pPacketId); - break; + case MQTT_PACKET_TYPE_SUBACK: + status = deserializeSuback( pIncomingPacket, pPacketId ); + break; - case MQTT_PACKET_TYPE_PINGRESP: - status = deserializePingresp(pIncomingPacket); - break; + case MQTT_PACKET_TYPE_PINGRESP: + status = deserializePingresp( pIncomingPacket ); + break; - case MQTT_PACKET_TYPE_UNSUBACK: - case MQTT_PACKET_TYPE_PUBACK: - case MQTT_PACKET_TYPE_PUBREC: - case MQTT_PACKET_TYPE_PUBREL: - case MQTT_PACKET_TYPE_PUBCOMP: - status = deserializeSimpleAck(pIncomingPacket, pPacketId); - break; + case MQTT_PACKET_TYPE_UNSUBACK: + case MQTT_PACKET_TYPE_PUBACK: + case MQTT_PACKET_TYPE_PUBREC: + case MQTT_PACKET_TYPE_PUBREL: + case MQTT_PACKET_TYPE_PUBCOMP: + status = deserializeSimpleAck( pIncomingPacket, pPacketId ); + break; /* Any other packet type is invalid. */ - default: - LogError(("IotMqtt_DeserializeResponse() called with unknown packet type:(%02x).", - (unsigned int)pIncomingPacket->type)); - status = MQTTBadResponse; - break; + default: + LogError( ( "IotMqtt_DeserializeResponse() called with unknown packet type:(%02x).", + ( unsigned int ) pIncomingPacket->type ) ); + status = MQTTBadResponse; + break; } } @@ -3848,59 +4021,59 @@ MQTTStatus_t MQTT_DeserializeAck(const MQTTPacketInfo_t *pIncomingPacket, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_GetIncomingPacketTypeAndLength(TransportRecv_t readFunc, - NetworkContext_t *pNetworkContext, - MQTTPacketInfo_t *pIncomingPacket) +MQTTStatus_t MQTT_GetIncomingPacketTypeAndLength( TransportRecv_t readFunc, + NetworkContext_t * pNetworkContext, + MQTTPacketInfo_t * pIncomingPacket ) { MQTTStatus_t status = MQTTSuccess; int32_t bytesReceived = 0; - if (pIncomingPacket == NULL) + if( pIncomingPacket == NULL ) { - LogError(("Invalid parameter: pIncomingPacket is NULL.")); + LogError( ( "Invalid parameter: pIncomingPacket is NULL." ) ); status = MQTTBadParameter; } else { /* Read a single byte. */ - bytesReceived = readFunc(pNetworkContext, - &(pIncomingPacket->type), - 1U); + bytesReceived = readFunc( pNetworkContext, + &( pIncomingPacket->type ), + 1U ); } - if (bytesReceived == 1) + if( bytesReceived == 1 ) { /* Check validity. */ - if (incomingPacketValid(pIncomingPacket->type) == true) + if( incomingPacketValid( pIncomingPacket->type ) == true ) { - pIncomingPacket->remainingLength = getRemainingLength(readFunc, - pNetworkContext); + pIncomingPacket->remainingLength = getRemainingLength( readFunc, + pNetworkContext ); - if (pIncomingPacket->remainingLength == MQTT_REMAINING_LENGTH_INVALID) + if( pIncomingPacket->remainingLength == MQTT_REMAINING_LENGTH_INVALID ) { - LogError(("Incoming packet remaining length invalid.")); + LogError( ( "Incoming packet remaining length invalid." ) ); status = MQTTBadResponse; } } else { - LogError(("Incoming packet invalid: Packet type=%u.", - (unsigned int)pIncomingPacket->type)); + LogError( ( "Incoming packet invalid: Packet type=%u.", + ( unsigned int ) pIncomingPacket->type ) ); status = MQTTBadResponse; } } - else if ((status != MQTTBadParameter) && (bytesReceived == 0)) + else if( ( status != MQTTBadParameter ) && ( bytesReceived == 0 ) ) { status = MQTTNoDataAvailable; } /* If the input packet was valid, then any other number of bytes received is * a failure. */ - else if (status != MQTTBadParameter) + else if( status != MQTTBadParameter ) { - LogError(("A single byte was not read from the transport: " - "transportStatus=%ld.", - (long int)bytesReceived)); + LogError( ( "A single byte was not read from the transport: " + "transportStatus=%ld.", + ( long int ) bytesReceived ) ); status = MQTTRecvFailed; } else @@ -3913,29 +4086,29 @@ MQTTStatus_t MQTT_GetIncomingPacketTypeAndLength(TransportRecv_t readFunc, /*-----------------------------------------------------------*/ -MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength(const uint8_t *pBuffer, - const size_t *pIndex, - MQTTPacketInfo_t *pIncomingPacket) +MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, + const size_t * pIndex, + MQTTPacketInfo_t * pIncomingPacket ) { MQTTStatus_t status = MQTTSuccess; - if (pIncomingPacket == NULL) + if( pIncomingPacket == NULL ) { - LogError(("Invalid parameter: pIncomingPacket is NULL.")); + LogError( ( "Invalid parameter: pIncomingPacket is NULL." ) ); status = MQTTBadParameter; } - else if (pIndex == NULL) + else if( pIndex == NULL ) { - LogError(("Invalid parameter: pIndex is NULL.")); + LogError( ( "Invalid parameter: pIndex is NULL." ) ); status = MQTTBadParameter; } - else if (pBuffer == NULL) + else if( pBuffer == NULL ) { - LogError(("Invalid parameter: pBuffer is NULL.")); + LogError( ( "Invalid parameter: pBuffer is NULL." ) ); status = MQTTBadParameter; } /* There should be at least one byte in the buffer */ - else if (*pIndex < 1U) + else if( *pIndex < 1U ) { /* No data is available. There are 0 bytes received from the network * receive function. */ @@ -3944,22 +4117,22 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength(const uint8_t *pBuffer, else { /* At least one byte is present which should be deciphered. */ - pIncomingPacket->type = pBuffer[0]; + pIncomingPacket->type = pBuffer[ 0 ]; } - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Check validity. */ - if (incomingPacketValid(pIncomingPacket->type) == true) + if( incomingPacketValid( pIncomingPacket->type ) == true ) { - status = processRemainingLength(pBuffer, - pIndex, - pIncomingPacket); + status = processRemainingLength( pBuffer, + pIndex, + pIncomingPacket ); } else { - LogError(("Incoming packet invalid: Packet type=%u.", - (unsigned int)pIncomingPacket->type)); + LogError( ( "Incoming packet invalid: Packet type=%u.", + ( unsigned int ) pIncomingPacket->type ) ); status = MQTTBadResponse; } } diff --git a/source/include/core_mqtt.h b/source/include/core_mqtt.h index 48a7e3dfe..124ed77ab 100644 --- a/source/include/core_mqtt.h +++ b/source/include/core_mqtt.h @@ -246,11 +246,12 @@ typedef struct MQTTContext uint16_t keepAliveIntervalSec; /**< @brief Keep Alive interval. */ uint32_t pingReqSendTimeMs; /**< @brief Timestamp of the last sent PINGREQ. */ bool waitingForPingResp; /**< @brief If the library is currently awaiting a PINGRESP. */ - #if (MQTT_VERSION_5_ENABLED) - /** - * @brief Connect and Connack Properties. - */ - MQTTConnectProperties_t *connectProperties; + #if ( MQTT_VERSION_5_ENABLED ) + + /** + * @brief Connect and Connack Properties. + */ + MQTTConnectProperties_t * connectProperties; #endif } MQTTContext_t; @@ -526,7 +527,7 @@ MQTTStatus_t MQTT_InitStatefulQoS( MQTTContext_t * pContext, /* @[declare_mqtt_connect] */ MQTTStatus_t MQTT_Connect( MQTTContext_t * pContext, const MQTTConnectInfo_t * pConnectInfo, - MQTTPublishInfo_t * pWillInfo, + MQTTPublishInfo_t * pWillInfo, uint32_t timeoutMs, bool * pSessionPresent ); /* @[declare_mqtt_connect] */ diff --git a/source/include/core_mqtt_config_defaults.h b/source/include/core_mqtt_config_defaults.h index 6a9aed48b..5cfd387f0 100644 --- a/source/include/core_mqtt_config_defaults.h +++ b/source/include/core_mqtt_config_defaults.h @@ -73,9 +73,9 @@ * @brief Version of the MQTT protocol with default value as 3.1.1 */ #ifndef MQTT_VERSION_5_ENABLED - #define MQTT_VERSION_5_ENABLED (false) + #define MQTT_VERSION_5_ENABLED ( false ) #ifndef MAX_USER_PROPERTY - #define MAX_USER_PROPERTY (5U) + #define MAX_USER_PROPERTY ( 5U ) #endif #endif diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index f999badac..ae8d66ba3 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -426,7 +426,7 @@ typedef struct MQTTConnectProperties */ MQTTAuthInfo_t *pIncomingAuth; - + } MQTTConnectProperties_t; /** @@ -469,7 +469,7 @@ typedef struct MQTTPublishInfo * @brief Message payload length. */ size_t payloadLength; - + #if (MQTT_VERSION_5_ENABLED) /** * @brief Length of the properties. @@ -1615,7 +1615,7 @@ uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackProperties,const MQTTPacketInfo_t * pIncomingPacket, - + bool * pSessionPresent ); /** @@ -1654,10 +1654,10 @@ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackPropert * * // Initialize the optional will info, the details are out of scope for this example. * initializeWillInfo( &willInfo ); - * + * * // Initialize the connection properties, the details are out of scope for this example. * initializeConnectProperties( &connectProperties ); - * + * * // Get the size requirement for the connect packet. * status = MQTT_GetConnectPacketSize( * &connectInfo, &willInfo, &remainingLength, &packetSize @@ -1670,13 +1670,13 @@ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackPropert * } * @endcode */ -/* @[declare_mqttv5_getconnectpacketsize] */ +/* @[declare_mqttv5_getconnectpacketsize] */ MQTTStatus_t MQTTV5_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, MQTTPublishInfo_t* pWillInfo, MQTTConnectProperties_t* pConnectProperties, size_t* pRemainingLength, size_t* pPacketSize); -/* @[declare_mqttv5_getconnectpacketsize] */ +/* @[declare_mqttv5_getconnectpacketsize] */ /** * @brief Serialize an MQTT CONNECT packet in the given fixed buffer @p pFixedBuffer. diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 1fb48b57c..c110eb7ca 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -97,7 +97,7 @@ if( UNITTEST ) # Include build configuration for unit tests. add_subdirectory( unit-test/MQTT) add_subdirectory( unit-test/MQTTv5) - + # ==================================== Coverage Analysis configuration ======================================== diff --git a/test/unit-test/MQTTv5/cmock_opaque_types.h b/test/unit-test/MQTTv5/cmock_opaque_types.h index 25b96b1cd..04e2fbc76 100644 --- a/test/unit-test/MQTTv5/cmock_opaque_types.h +++ b/test/unit-test/MQTTv5/cmock_opaque_types.h @@ -33,4 +33,4 @@ struct NetworkContext int a; }; -#endif /* ifndef CMOCK_OPAQUE_TYPES_H_ */ \ No newline at end of file +#endif /* ifndef CMOCK_OPAQUE_TYPES_H_ */ diff --git a/test/unit-test/MQTTv5/core_mqtt_config.h b/test/unit-test/MQTTv5/core_mqtt_config.h index 0bdc90be5..00cebb7a2 100644 --- a/test/unit-test/MQTTv5/core_mqtt_config.h +++ b/test/unit-test/MQTTv5/core_mqtt_config.h @@ -72,7 +72,7 @@ #define MQTT_SUB_UNSUB_MAX_VECTORS ( 6U ) #define MQTT_SEND_TIMEOUT_MS ( 200U ) -#define MQTT_VERSION_5_ENABLED ( true ) -#define MAX_USER_PROPERTY (5000U) +#define MQTT_VERSION_5_ENABLED ( true ) +#define MAX_USER_PROPERTY ( 5000U ) -#endif /* ifndef CORE_MQTT_CONFIG_H_ */ \ No newline at end of file +#endif /* ifndef CORE_MQTT_CONFIG_H_ */ diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index c0fac4bdd..b2f9186b2 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -37,80 +37,80 @@ /* Set network context to double pointer to buffer (uint8_t**). */ struct NetworkContext { - uint8_t **buffer; + uint8_t ** buffer; }; -#define MQTT_MAX_REMAINING_LENGTH (268435455UL) -#define MQTT_PACKET_CONNACK_REMAINING_LENGTH ((uint8_t)2U) /**< @brief A CONNACK packet always has a "Remaining length" of 2. */ -#define MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK ((uint8_t)0x01U) /**< @brief The "Session Present" bit is always the lowest bit. */ -#define MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH ((uint8_t)2) /**< @brief PUBACK, PUBREC, PUBREl, PUBCOMP, UNSUBACK Remaining length. */ -#define MQTT_PACKET_PINGRESP_REMAINING_LENGTH (0U) /**< @brief A PINGRESP packet always has a "Remaining length" of 0. */ -#define MQTT_PACKET_PUBACK_REMAINING_LENGTH (2U) -#define MQTT_PACKET_UNSUBACK_REMAINING_LENGTH (2U) +#define MQTT_MAX_REMAINING_LENGTH ( 268435455UL ) +#define MQTT_PACKET_CONNACK_REMAINING_LENGTH ( ( uint8_t ) 2U ) /**< @brief A CONNACK packet always has a "Remaining length" of 2. */ +#define MQTT_PACKET_CONNACK_SESSION_PRESENT_MASK ( ( uint8_t ) 0x01U ) /**< @brief The "Session Present" bit is always the lowest bit. */ +#define MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH ( ( uint8_t ) 2 ) /**< @brief PUBACK, PUBREC, PUBREl, PUBCOMP, UNSUBACK Remaining length. */ +#define MQTT_PACKET_PINGRESP_REMAINING_LENGTH ( 0U ) /**< @brief A PINGRESP packet always has a "Remaining length" of 0. */ +#define MQTT_PACKET_PUBACK_REMAINING_LENGTH ( 2U ) +#define MQTT_PACKET_UNSUBACK_REMAINING_LENGTH ( 2U ) /* * MQTT client identifier. */ -#define MQTT_CLIENT_IDENTIFIER "testclient" +#define MQTT_CLIENT_IDENTIFIER "testclient" /* * Client identifier and length to use for the MQTT API tests. */ -#define CLIENT_IDENTIFIER ("test") /**< @brief Client identifier. */ -#define CLIENT_IDENTIFIER_LENGTH ((uint16_t)(sizeof(CLIENT_IDENTIFIER) - 1)) /**< @brief Length of client identifier. */ +#define CLIENT_IDENTIFIER ( "test" ) /**< @brief Client identifier. */ +#define CLIENT_IDENTIFIER_LENGTH ( ( uint16_t ) ( sizeof( CLIENT_IDENTIFIER ) - 1 ) ) /**< @brief Length of client identifier. */ /* * Topic name and length to use for the MQTT API tests. */ -#define TEST_TOPIC_NAME ("/test/topic") /**< @brief An arbitrary topic name. */ -#define TEST_TOPIC_NAME_LENGTH ((uint16_t)(sizeof(TEST_TOPIC_NAME) - 1)) /**< @brief Length of topic name. */ +#define TEST_TOPIC_NAME ( "/test/topic" ) /**< @brief An arbitrary topic name. */ +#define TEST_TOPIC_NAME_LENGTH ( ( uint16_t ) ( sizeof( TEST_TOPIC_NAME ) - 1 ) ) /**< @brief Length of topic name. */ /** * @brief MQTT protocol version 3.1.1. */ -#define MQTT_VERSION_3_1_1 ((uint8_t)4U) +#define MQTT_VERSION_3_1_1 ( ( uint8_t ) 4U ) /** * @brief Test-defined macro for MQTT username. */ -#define MQTT_TEST_USERNAME "username" -#define MQTT_TEST_USERNAME_LEN (sizeof(MQTT_TEST_USERNAME) - 1) +#define MQTT_TEST_USERNAME "username" +#define MQTT_TEST_USERNAME_LEN ( sizeof( MQTT_TEST_USERNAME ) - 1 ) /** * @brief Test-defined macro for MQTT password. */ -#define MQTT_TEST_PASSWORD "password" -#define MQTT_TEST_PASSWORD_LEN (sizeof(MQTT_TEST_PASSWORD) - 1) +#define MQTT_TEST_PASSWORD "password" +#define MQTT_TEST_PASSWORD_LEN ( sizeof( MQTT_TEST_PASSWORD ) - 1 ) /** * @brief Length of the client identifier. */ -#define MQTT_CLIENT_IDENTIFIER_LEN (sizeof(MQTT_CLIENT_IDENTIFIER) - 1) +#define MQTT_CLIENT_IDENTIFIER_LEN ( sizeof( MQTT_CLIENT_IDENTIFIER ) - 1 ) /** * @brief Sample payload. */ -#define MQTT_SAMPLE_PAYLOAD "Hello World" -#define MQTT_SAMPLE_PAYLOAD_LEN (sizeof(MQTT_SAMPLE_PAYLOAD) - 1) +#define MQTT_SAMPLE_PAYLOAD "Hello World" +#define MQTT_SAMPLE_PAYLOAD_LEN ( sizeof( MQTT_SAMPLE_PAYLOAD ) - 1 ) /* MQTT CONNECT flags. */ -#define MQTT_CONNECT_FLAG_CLEAN (1) /**< @brief Clean session. */ -#define MQTT_CONNECT_FLAG_WILL (2) /**< @brief Will present. */ -#define MQTT_CONNECT_FLAG_WILL_QOS1 (3) /**< @brief Will QoS 1. */ -#define MQTT_CONNECT_FLAG_WILL_QOS2 (4) /**< @brief Will QoS 2. */ -#define MQTT_CONNECT_FLAG_WILL_RETAIN (5) /**< @brief Will retain. */ -#define MQTT_CONNECT_FLAG_PASSWORD (6) /**< @brief Password present. */ -#define MQTT_CONNECT_FLAG_USERNAME (7) /**< @brief User name present. */ +#define MQTT_CONNECT_FLAG_CLEAN ( 1 ) /**< @brief Clean session. */ +#define MQTT_CONNECT_FLAG_WILL ( 2 ) /**< @brief Will present. */ +#define MQTT_CONNECT_FLAG_WILL_QOS1 ( 3 ) /**< @brief Will QoS 1. */ +#define MQTT_CONNECT_FLAG_WILL_QOS2 ( 4 ) /**< @brief Will QoS 2. */ +#define MQTT_CONNECT_FLAG_WILL_RETAIN ( 5 ) /**< @brief Will retain. */ +#define MQTT_CONNECT_FLAG_PASSWORD ( 6 ) /**< @brief Password present. */ +#define MQTT_CONNECT_FLAG_USERNAME ( 7 ) /**< @brief User name present. */ /** * @brief The Remaining Length field of MQTT disconnect packets, per MQTT spec. */ -#define MQTT_DISCONNECT_REMAINING_LENGTH ((uint8_t)0) +#define MQTT_DISCONNECT_REMAINING_LENGTH ( ( uint8_t ) 0 ) /** * @brief Set a bit in an 8-bit unsigned integer. */ -#define UINT8_SET_BIT(x, position) ((x) = (uint8_t)((x) | (0x01U << (position)))) +#define UINT8_SET_BIT( x, position ) ( ( x ) = ( uint8_t ) ( ( x ) | ( 0x01U << ( position ) ) ) ) /** * @brief Macro for checking if a bit is set in a 1-byte unsigned int. @@ -118,111 +118,111 @@ struct NetworkContext * @param[in] x The unsigned int to check. * @param[in] position Which bit to check. */ -#define UINT8_CHECK_BIT(x, position) (((x) & (0x01U << (position))) == (0x01U << (position))) +#define UINT8_CHECK_BIT( x, position ) ( ( ( x ) & ( 0x01U << ( position ) ) ) == ( 0x01U << ( position ) ) ) /** * @brief Get the high byte of a 16-bit unsigned integer. */ -#define UINT16_HIGH_BYTE(x) ((uint8_t)((x) >> 8)) +#define UINT16_HIGH_BYTE( x ) ( ( uint8_t ) ( ( x ) >> 8 ) ) /** * @brief Get the low byte of a 16-bit unsigned integer. */ -#define UINT16_LOW_BYTE(x) ((uint8_t)((x) & 0x00ffU)) +#define UINT16_LOW_BYTE( x ) ( ( uint8_t ) ( ( x ) & 0x00ffU ) ) /** * @brief Maximum number of bytes in the Remaining Length field is four according * to MQTT 3.1.1 spec. */ -#define MQTT_REMAINING_BUFFER_MAX_LENGTH (4) +#define MQTT_REMAINING_BUFFER_MAX_LENGTH ( 4 ) /** * @brief Length of buffer padding to use in under/overflow checks. */ -#define BUFFER_PADDING_LENGTH (4) +#define BUFFER_PADDING_LENGTH ( 4 ) /** * @brief Byte to use for buffer padding in under/overflow checks. */ -#define BUFFER_PADDING_BYTE (0xA5) +#define BUFFER_PADDING_BYTE ( 0xA5 ) /** * @brief Length of the MQTT network buffer. */ -#define MQTT_TEST_BUFFER_LENGTH (1024) - -#define UINT16_DECODE(ptr) \ - (uint16_t)((((uint16_t)ptr[0]) << 8) | \ - ((uint16_t)ptr[1])) - -#define UINT32_DECODE(ptr) \ - (uint32_t)((((uint32_t)ptr[0]) << 8) | \ - (((uint32_t)ptr[1]) << 16) | \ - (((uint32_t)ptr[2]) << 24) | \ - ((uint32_t)ptr[3])) - -#define UINT32_BYTE3(x) ((uint8_t)((x) >> 24)) - -#define UINT32_BYTE2(x) ((uint8_t)((x) >> 16)) - -#define UINT32_BYTE1(x) ((uint8_t)((x) >> 8)) - -#define UINT32_BYTE0(x) ((uint8_t)((x) & 0x000000FFU)) - -#define MQTT_VERSION_5 (5U) -#define MQTT_SESSION_EXPIRY_SIZE (5U) -#define MQTT_RECEIVE_MAX_SIZE (3U) -#define MQTT_MAX_PACKET_SIZE (5U) -#define MQTT_TOPIC_ALIAS_SIZE (3U) -#define MQTT_REQUEST_RESPONSE_SIZE (2U) -#define MQTT_REQUEST_PPOBLEM_SIZE (2U) - -#define MQTT_SESSION_EXPIRY_ID (0x11) -#define MQTT_RECEIVE_MAX_ID (0x21) -#define MQTT_MAX_PACKET_SIZE_ID (0x27) -#define MQTT_TOPIC_ALIAS_MAX_ID (0x22) -#define MQTT_REQUEST_RESPONSE_ID (0x19) -#define MQTT_REQUEST_PROBLEM_ID (0x17) -#define MQTT_USER_PROPERTY_ID (0x26) -#define MQTT_AUTH_METHOD_ID (0x15) -#define MQTT_AUTH_DATA_ID (0x16) - -#define MQTT_WILL_DELAY_ID (0x18) -#define MQTT_PAYLOAD_FORMAT_ID (0x01) -#define MQTT_MSG_EXPIRY_ID (0x02) -#define MQTT_CONTENT_TYPE_ID (0x03) -#define MQTT_RESPONSE_TOPIC_ID (0x08) -#define MQTT_CORRELATION_DATA_ID (0x09) - -#define MQTT_MAX_QOS_ID (0x24) -#define MQTT_RETAIN_AVAILABLE_ID (0x25) -#define MQTT_ASSIGNED_CLIENT_ID (0x12) -#define MQTT_REASON_STRING_ID (0x1F) -#define MQTT_WILDCARD_ID (0x28) -#define MQTT_SUB_AVAILABLE_ID (0x29) -#define MQTT_SHARED_SUB_ID (0x2A) -#define MQTT_SERVER_KEEP_ALIVE_ID (0x13) -#define MQTT_RESPONSE_INFO_ID (0x1A) -#define MQTT_SERVER_REF_ID (0x1C) - -#define CORE_MQTT_ID_SIZE (1U) -#define MQTT_REMAINING_LENGTH_INVALID ((size_t)268435456) - -static uint8_t remainingLengthBuffer[MQTT_REMAINING_BUFFER_MAX_LENGTH] = {0}; - -static uint8_t encodedStringBuffer[MQTT_TEST_BUFFER_LENGTH] = {0}; - -static uint8_t mqttBuffer[MQTT_TEST_BUFFER_LENGTH] = {0}; +#define MQTT_TEST_BUFFER_LENGTH ( 1024 ) + +#define UINT16_DECODE( ptr ) \ + ( uint16_t ) ( ( ( ( uint16_t ) ptr[ 0 ] ) << 8 ) | \ + ( ( uint16_t ) ptr[ 1 ] ) ) + +#define UINT32_DECODE( ptr ) \ + ( uint32_t ) ( ( ( ( uint32_t ) ptr[ 0 ] ) << 8 ) | \ + ( ( ( uint32_t ) ptr[ 1 ] ) << 16 ) | \ + ( ( ( uint32_t ) ptr[ 2 ] ) << 24 ) | \ + ( ( uint32_t ) ptr[ 3 ] ) ) + +#define UINT32_BYTE3( x ) ( ( uint8_t ) ( ( x ) >> 24 ) ) + +#define UINT32_BYTE2( x ) ( ( uint8_t ) ( ( x ) >> 16 ) ) + +#define UINT32_BYTE1( x ) ( ( uint8_t ) ( ( x ) >> 8 ) ) + +#define UINT32_BYTE0( x ) ( ( uint8_t ) ( ( x ) & 0x000000FFU ) ) + +#define MQTT_VERSION_5 ( 5U ) +#define MQTT_SESSION_EXPIRY_SIZE ( 5U ) +#define MQTT_RECEIVE_MAX_SIZE ( 3U ) +#define MQTT_MAX_PACKET_SIZE ( 5U ) +#define MQTT_TOPIC_ALIAS_SIZE ( 3U ) +#define MQTT_REQUEST_RESPONSE_SIZE ( 2U ) +#define MQTT_REQUEST_PPOBLEM_SIZE ( 2U ) + +#define MQTT_SESSION_EXPIRY_ID ( 0x11 ) +#define MQTT_RECEIVE_MAX_ID ( 0x21 ) +#define MQTT_MAX_PACKET_SIZE_ID ( 0x27 ) +#define MQTT_TOPIC_ALIAS_MAX_ID ( 0x22 ) +#define MQTT_REQUEST_RESPONSE_ID ( 0x19 ) +#define MQTT_REQUEST_PROBLEM_ID ( 0x17 ) +#define MQTT_USER_PROPERTY_ID ( 0x26 ) +#define MQTT_AUTH_METHOD_ID ( 0x15 ) +#define MQTT_AUTH_DATA_ID ( 0x16 ) + +#define MQTT_WILL_DELAY_ID ( 0x18 ) +#define MQTT_PAYLOAD_FORMAT_ID ( 0x01 ) +#define MQTT_MSG_EXPIRY_ID ( 0x02 ) +#define MQTT_CONTENT_TYPE_ID ( 0x03 ) +#define MQTT_RESPONSE_TOPIC_ID ( 0x08 ) +#define MQTT_CORRELATION_DATA_ID ( 0x09 ) + +#define MQTT_MAX_QOS_ID ( 0x24 ) +#define MQTT_RETAIN_AVAILABLE_ID ( 0x25 ) +#define MQTT_ASSIGNED_CLIENT_ID ( 0x12 ) +#define MQTT_REASON_STRING_ID ( 0x1F ) +#define MQTT_WILDCARD_ID ( 0x28 ) +#define MQTT_SUB_AVAILABLE_ID ( 0x29 ) +#define MQTT_SHARED_SUB_ID ( 0x2A ) +#define MQTT_SERVER_KEEP_ALIVE_ID ( 0x13 ) +#define MQTT_RESPONSE_INFO_ID ( 0x1A ) +#define MQTT_SERVER_REF_ID ( 0x1C ) + +#define CORE_MQTT_ID_SIZE ( 1U ) +#define MQTT_REMAINING_LENGTH_INVALID ( ( size_t ) 268435456 ) + +static uint8_t remainingLengthBuffer[ MQTT_REMAINING_BUFFER_MAX_LENGTH ] = { 0 }; + +static uint8_t encodedStringBuffer[ MQTT_TEST_BUFFER_LENGTH ] = { 0 }; + +static uint8_t mqttBuffer[ MQTT_TEST_BUFFER_LENGTH ] = { 0 }; /* ============================ UNITY FIXTURES ============================ */ /* Called before each test method. */ -void setUp(void) +void setUp( void ) { } /* Called after each test method. */ -void tearDown(void) +void tearDown( void ) { } @@ -232,7 +232,7 @@ void suiteSetUp() } /* Called at the end of the whole suite. */ -int suiteTearDown(int numFailures) +int suiteTearDown( int numFailures ) { return numFailures; } @@ -244,7 +244,7 @@ int suiteTearDown(int numFailures) * * @param[in] pNetworkBuffer Network buffer provided for the context. */ -static void setupNetworkBuffer(MQTTFixedBuffer_t *const pNetworkBuffer) +static void setupNetworkBuffer( MQTTFixedBuffer_t * const pNetworkBuffer ) { pNetworkBuffer->pBuffer = mqttBuffer; pNetworkBuffer->size = 2048; @@ -255,7 +255,7 @@ static void setupNetworkBuffer(MQTTFixedBuffer_t *const pNetworkBuffer) * * @param[in] pConnectInfo MQTT CONNECT packet parameters. */ -static void setupConnectInfo(MQTTConnectInfo_t *const pConnectInfo) +static void setupConnectInfo( MQTTConnectInfo_t * const pConnectInfo ) { pConnectInfo->cleanSession = true; pConnectInfo->pClientIdentifier = MQTT_CLIENT_IDENTIFIER; @@ -267,7 +267,7 @@ static void setupConnectInfo(MQTTConnectInfo_t *const pConnectInfo) pConnectInfo->passwordLength = MQTT_TEST_PASSWORD_LEN; } -static size_t remainingLengthEncodedSize(size_t length) +static size_t remainingLengthEncodedSize( size_t length ) { size_t encodedSize; @@ -275,17 +275,17 @@ static size_t remainingLengthEncodedSize(size_t length) * The values below are taken from the MQTT 3.1.1 spec. */ /* 1 byte is needed to encode lengths between 0 and 127. */ - if (length < 128U) + if( length < 128U ) { encodedSize = 1U; } /* 2 bytes are needed to encode lengths between 128 and 16,383. */ - else if (length < 16384U) + else if( length < 16384U ) { encodedSize = 2U; } /* 3 bytes are needed to encode lengths between 16,384 and 2,097,151. */ - else if (length < 2097152U) + else if( length < 2097152U ) { encodedSize = 3U; } @@ -295,18 +295,19 @@ static size_t remainingLengthEncodedSize(size_t length) encodedSize = 4U; } - LogDebug(("Encoded size for length %lu is %lu bytes.", - (unsigned long)length, - (unsigned long)encodedSize)); + LogDebug( ( "Encoded size for length %lu is %lu bytes.", + ( unsigned long ) length, + ( unsigned long ) encodedSize ) ); return encodedSize; } + /** * @brief Initialize pPublishInfo using test-defined macros. * * @param[in] pPublishInfo Publish information. */ -static void setupPublishInfo(MQTTPublishInfo_t *pPublishInfo) +static void setupPublishInfo( MQTTPublishInfo_t * pPublishInfo ) { pPublishInfo->pTopicName = TEST_TOPIC_NAME; pPublishInfo->topicNameLength = TEST_TOPIC_NAME_LENGTH; @@ -324,35 +325,35 @@ static void setupPublishInfo(MQTTPublishInfo_t *pPublishInfo) * @param[in] pDestination Buffer to write encoded remaining length. * @param[in] length Actual remaining length. */ -static size_t encodeRemainingLength(uint8_t *pDestination, - size_t length) +static size_t encodeRemainingLength( uint8_t * pDestination, + size_t length ) { uint8_t lengthByte; - uint8_t *pLengthEnd = NULL; + uint8_t * pLengthEnd = NULL; size_t remainingLength = length; - TEST_ASSERT_NOT_NULL(pDestination); + TEST_ASSERT_NOT_NULL( pDestination ); pLengthEnd = pDestination; /* This algorithm is copied from the MQTT v3.1.1 spec. */ do { - lengthByte = (uint8_t)(remainingLength % 128U); + lengthByte = ( uint8_t ) ( remainingLength % 128U ); remainingLength = remainingLength / 128U; /* Set the high bit of this byte, indicating that there's more data. */ - if (remainingLength > 0U) + if( remainingLength > 0U ) { - UINT8_SET_BIT(lengthByte, 7); + UINT8_SET_BIT( lengthByte, 7 ); } /* Output a single encoded byte. */ *pLengthEnd = lengthByte; pLengthEnd++; - } while (remainingLength > 0U); + } while( remainingLength > 0U ); - return (size_t)(pLengthEnd - pDestination); + return ( size_t ) ( pLengthEnd - pDestination ); } /** @@ -363,36 +364,36 @@ static size_t encodeRemainingLength(uint8_t *pDestination, * @param[in] source String to encode. * @param[in] sourceLength Length of the string to encode. */ -static size_t encodeString(uint8_t *pDestination, - const char *source, - uint16_t sourceLength) +static size_t encodeString( uint8_t * pDestination, + const char * source, + uint16_t sourceLength ) { - uint8_t *pBuffer = NULL; + uint8_t * pBuffer = NULL; /* Typecast const char * typed source buffer to const uint8_t *. * This is to use same type buffers in memcpy. */ - const uint8_t *pSourceBuffer = (const uint8_t *)source; + const uint8_t * pSourceBuffer = ( const uint8_t * ) source; - TEST_ASSERT_NOT_NULL(pSourceBuffer); - TEST_ASSERT_NOT_NULL(pDestination); + TEST_ASSERT_NOT_NULL( pSourceBuffer ); + TEST_ASSERT_NOT_NULL( pDestination ); pBuffer = pDestination; /* The first byte of a UTF-8 string is the high byte of the string length. */ - *pBuffer = UINT16_HIGH_BYTE(sourceLength); + *pBuffer = UINT16_HIGH_BYTE( sourceLength ); pBuffer++; /* The second byte of a UTF-8 string is the low byte of the string length. */ - *pBuffer = UINT16_LOW_BYTE(sourceLength); + *pBuffer = UINT16_LOW_BYTE( sourceLength ); pBuffer++; /* Copy the string into pBuffer. */ - (void)memcpy(pBuffer, pSourceBuffer, sourceLength); + ( void ) memcpy( pBuffer, pSourceBuffer, sourceLength ); /* Return the pointer to the end of the encoded string. */ pBuffer += sourceLength; - return (size_t)(pBuffer - pDestination); + return ( size_t ) ( pBuffer - pDestination ); } /** @@ -402,19 +403,19 @@ static size_t encodeString(uint8_t *pDestination, * @param[in] pBuffer Buffer to pad. * @param[in] bufferLength Total length of buffer. */ -static void padAndResetBuffer(uint8_t *pBuffer, - size_t bufferLength) +static void padAndResetBuffer( uint8_t * pBuffer, + size_t bufferLength ) { int i = 0; - for (i = 0; i < BUFFER_PADDING_LENGTH; i++) + for( i = 0; i < BUFFER_PADDING_LENGTH; i++ ) { - pBuffer[i] = BUFFER_PADDING_BYTE; - pBuffer[bufferLength - 1 - i] = BUFFER_PADDING_BYTE; + pBuffer[ i ] = BUFFER_PADDING_BYTE; + pBuffer[ bufferLength - 1 - i ] = BUFFER_PADDING_BYTE; } /* Zero out rest of buffer. */ - memset(&pBuffer[BUFFER_PADDING_LENGTH], 0x0, bufferLength - 2 * BUFFER_PADDING_LENGTH); + memset( &pBuffer[ BUFFER_PADDING_LENGTH ], 0x0, bufferLength - 2 * BUFFER_PADDING_LENGTH ); } /** @@ -423,77 +424,85 @@ static void padAndResetBuffer(uint8_t *pBuffer, * @param[in] pBuffer Buffer to check. * @param[in] bufferLength Total length of buffer. */ -static void checkBufferOverflow(uint8_t *pBuffer, - size_t bufferLength) +static void checkBufferOverflow( uint8_t * pBuffer, + size_t bufferLength ) { /* Check beginning of buffer. */ - TEST_ASSERT_EACH_EQUAL_UINT8(BUFFER_PADDING_BYTE, - pBuffer, - BUFFER_PADDING_LENGTH); + TEST_ASSERT_EACH_EQUAL_UINT8( BUFFER_PADDING_BYTE, + pBuffer, + BUFFER_PADDING_LENGTH ); /* Check end. */ - TEST_ASSERT_EACH_EQUAL_UINT8(BUFFER_PADDING_BYTE, - pBuffer + bufferLength - BUFFER_PADDING_LENGTH, - BUFFER_PADDING_LENGTH); + TEST_ASSERT_EACH_EQUAL_UINT8( BUFFER_PADDING_BYTE, + pBuffer + bufferLength - BUFFER_PADDING_LENGTH, + BUFFER_PADDING_LENGTH ); } -static MQTTStatus_t MQTT_GetUserPropertySize(MQTTUserProperty_t *pUserProperty, uint16_t number, size_t *size) +static MQTTStatus_t MQTT_GetUserPropertySize( MQTTUserProperty_t * pUserProperty, + uint16_t number, + size_t * size ) { MQTTStatus_t status = MQTTSuccess; uint16_t i = 0; + /*Number of user properties can't be more than the max user properties specified*/ - if (number > MAX_USER_PROPERTY || size == NULL) + if( ( number > MAX_USER_PROPERTY ) || ( size == NULL ) ) { status = MQTTBadParameter; } - else if (number != 0 && pUserProperty == NULL) + else if( ( number != 0 ) && ( pUserProperty == NULL ) ) { status = MQTTBadParameter; } else { - for (; i < number && status == MQTTSuccess; i++) + for( ; i < number && status == MQTTSuccess; i++ ) { - if ((pUserProperty + i) == NULL || (pUserProperty + i)->keyLength == 0 || (pUserProperty + i)->valueLength == 0 || (pUserProperty + i)->pKey == NULL || (pUserProperty + i)->pValue == NULL) + if( ( ( pUserProperty + i ) == NULL ) || ( ( pUserProperty + i )->keyLength == 0 ) || ( ( pUserProperty + i )->valueLength == 0 ) || ( ( pUserProperty + i )->pKey == NULL ) || ( ( pUserProperty + i )->pValue == NULL ) ) { status = MQTTBadParameter; } else { - *size += (pUserProperty + i)->keyLength + 3U; - *size += (pUserProperty + i)->valueLength + 2U; + *size += ( pUserProperty + i )->keyLength + 3U; + *size += ( pUserProperty + i )->valueLength + 2U; } } } + return status; } -static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillProperties) +static MQTTStatus_t MQTT_GetWillPropertiesSize( MQTTPublishInfo_t * pWillProperties ) { size_t willLength = 0U; MQTTStatus_t status = MQTTSuccess; + /*Validate the arguments*/ - if (pWillProperties == NULL) + if( pWillProperties == NULL ) { status = MQTTBadParameter; } else { /*Add the length of all the parameters which are applicable*/ - if (pWillProperties->willDelay != 0U) + if( pWillProperties->willDelay != 0U ) { willLength += 5U; } - if (pWillProperties->payloadFormat != 0) + + if( pWillProperties->payloadFormat != 0 ) { willLength += 2U; } - if (pWillProperties->msgExpiryPresent == true) + + if( pWillProperties->msgExpiryPresent == true ) { willLength += 5U; } - if (pWillProperties->contentTypeLength != 0U) + + if( pWillProperties->contentTypeLength != 0U ) { - if (pWillProperties->pContentType == NULL) + if( pWillProperties->pContentType == NULL ) { status = MQTTBadParameter; } @@ -503,10 +512,11 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillPropertie } } } + /*Validate if length and pointers are valid*/ - if (status == MQTTSuccess && pWillProperties->responseTopicLength != 0U) + if( ( status == MQTTSuccess ) && ( pWillProperties->responseTopicLength != 0U ) ) { - if (pWillProperties->pResponseTopic == NULL) + if( pWillProperties->pResponseTopic == NULL ) { status = MQTTBadParameter; } @@ -515,9 +525,10 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillPropertie willLength += pWillProperties->responseTopicLength + 3U; } } - if (status == MQTTSuccess && pWillProperties->correlationLength != 0U) + + if( ( status == MQTTSuccess ) && ( pWillProperties->correlationLength != 0U ) ) { - if (pWillProperties->pCorrelationData == NULL) + if( pWillProperties->pCorrelationData == NULL ) { status = MQTTBadParameter; } @@ -526,41 +537,51 @@ static MQTTStatus_t MQTT_GetWillPropertiesSize(MQTTPublishInfo_t *pWillPropertie willLength += pWillProperties->correlationLength + 3U; } } + /*Get the length of user properties*/ - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { - status = MQTT_GetUserPropertySize(pWillProperties->pUserProperty, pWillProperties->userPropertySize, &willLength); + status = MQTT_GetUserPropertySize( pWillProperties->pUserProperty, pWillProperties->userPropertySize, &willLength ); } + /*Variable encoded can't have a value more than 268435455UL*/ - if (willLength > MQTT_MAX_REMAINING_LENGTH) + if( willLength > MQTT_MAX_REMAINING_LENGTH ) { status = MQTTBadParameter; } - if (status == MQTTSuccess) + + if( status == MQTTSuccess ) { pWillProperties->propertyLength = willLength; } + return status; } -static uint8_t *serializeUserProperties(uint8_t *pIndex, const MQTTUserProperty_t *pUserProperty, uint16_t size) +static uint8_t * serializeUserProperties( uint8_t * pIndex, + const MQTTUserProperty_t * pUserProperty, + uint16_t size ) { uint16_t i = 0; - assert(pIndex != NULL); - uint8_t *pIndexLocal = pIndex; + + assert( pIndex != NULL ); + uint8_t * pIndexLocal = pIndex; uint8_t dummy; - for (; i < size; i++) + + for( ; i < size; i++ ) { *pIndexLocal = MQTT_USER_PROPERTY_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, (pUserProperty + i)->pKey, (pUserProperty + i)->keyLength); - dummy = encodeString(pIndexLocal, (pUserProperty + i)->pValue, (pUserProperty + i)->valueLength); + dummy = encodeString( pIndexLocal, ( pUserProperty + i )->pKey, ( pUserProperty + i )->keyLength ); + dummy = encodeString( pIndexLocal, ( pUserProperty + i )->pValue, ( pUserProperty + i )->valueLength ); } + i = dummy; return pIndexLocal; } -MQTTStatus_t decodeVariableLength(const uint8_t *pBuffer, size_t *length) +MQTTStatus_t decodeVariableLength( const uint8_t * pBuffer, + size_t * length ) { size_t remainingLength = 0; size_t multiplier = 1; @@ -572,11 +593,11 @@ MQTTStatus_t decodeVariableLength(const uint8_t *pBuffer, size_t *length) /* This algorithm is copied from the MQTT v3.1.1 spec. */ do { - if (multiplier > 2097152U) /* 128 ^ 3 */ + if( multiplier > 2097152U ) /* 128 ^ 3 */ { remainingLength = MQTT_REMAINING_LENGTH_INVALID; - LogError(("Invalid remaining length in the packet.\n")); + LogError( ( "Invalid remaining length in the packet.\n" ) ); status = MQTTBadResponse; } @@ -584,29 +605,29 @@ MQTTStatus_t decodeVariableLength(const uint8_t *pBuffer, size_t *length) { /* Get the next byte. It is at the next position after the bytes * decoded till now since the header of one byte was read before. */ - encodedByte = pBuffer[bytesDecoded]; - remainingLength += ((size_t)encodedByte & 0x7FU) * multiplier; + encodedByte = pBuffer[ bytesDecoded ]; + remainingLength += ( ( size_t ) encodedByte & 0x7FU ) * multiplier; multiplier *= 128U; bytesDecoded++; } /* If the response is incorrect, or no more data is available, then * break out of the loop. */ - if ((remainingLength == MQTT_REMAINING_LENGTH_INVALID) || - (status != MQTTSuccess)) + if( ( remainingLength == MQTT_REMAINING_LENGTH_INVALID ) || + ( status != MQTTSuccess ) ) { break; } - } while ((encodedByte & 0x80U) != 0U); + } while( ( encodedByte & 0x80U ) != 0U ); - if (status == MQTTSuccess) + if( status == MQTTSuccess ) { /* Check that the decoded remaining length conforms to the MQTT specification. */ - expectedSize = remainingLengthEncodedSize(remainingLength); + expectedSize = remainingLengthEncodedSize( remainingLength ); - if (bytesDecoded != expectedSize) + if( bytesDecoded != expectedSize ) { - LogError(("Expected and actual length of decoded bytes do not match.\n")); + LogError( ( "Expected and actual length of decoded bytes do not match.\n" ) ); status = MQTTBadResponse; } else @@ -618,290 +639,298 @@ MQTTStatus_t decodeVariableLength(const uint8_t *pBuffer, size_t *length) return status; } -static void verifySerializedConnectPacket(const MQTTConnectInfo_t *const pConnectInfo, - const MQTTPublishInfo_t *const pWillInfo, - const MQTTConnectProperties_t *pConnectProperties, - size_t remainingLength, - const MQTTFixedBuffer_t *const pBuffer) +static void verifySerializedConnectPacket( const MQTTConnectInfo_t * const pConnectInfo, + const MQTTPublishInfo_t * const pWillInfo, + const MQTTConnectProperties_t * pConnectProperties, + size_t remainingLength, + const MQTTFixedBuffer_t * const pBuffer ) { uint8_t connectFlags = 0U; uint8_t encodedRemainingLength = 0U; uint8_t encodedStringLength = 0U; - uint8_t *pIndex = NULL; + uint8_t * pIndex = NULL; pIndex = pBuffer->pBuffer; /* The first byte in the CONNECT packet is the control packet type. */ - TEST_ASSERT_EQUAL_MESSAGE(MQTT_PACKET_TYPE_CONNECT, *pIndex, "MQTT_PACKET_TYPE_CONNECT is not equal to *pIndex"); + TEST_ASSERT_EQUAL_MESSAGE( MQTT_PACKET_TYPE_CONNECT, *pIndex, "MQTT_PACKET_TYPE_CONNECT is not equal to *pIndex" ); pIndex++; /* The remaining length of the CONNECT packet is encoded starting from the * second byte. The remaining length does not include the length of the fixed * header or the encoding of the remaining length. */ - encodedRemainingLength = encodeRemainingLength(remainingLengthBuffer, remainingLength); - TEST_ASSERT_EQUAL_MEMORY(remainingLengthBuffer, pIndex, encodedRemainingLength); + encodedRemainingLength = encodeRemainingLength( remainingLengthBuffer, remainingLength ); + TEST_ASSERT_EQUAL_MEMORY( remainingLengthBuffer, pIndex, encodedRemainingLength ); pIndex += encodedRemainingLength; /* The string "MQTT" is placed at the beginning of the CONNECT packet's variable * header. This string is 4 bytes long. */ - encodedStringLength = encodeString(encodedStringBuffer, "MQTT", 4); - TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); + encodedStringLength = encodeString( encodedStringBuffer, "MQTT", 4 ); + TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); pIndex += encodedStringLength; /* The MQTT protocol version is the second field of the variable header. */ - TEST_ASSERT_EQUAL(5, *pIndex); + TEST_ASSERT_EQUAL( 5, *pIndex ); pIndex++; /* Set the clean session flag if needed. */ - if (pConnectInfo->cleanSession == true) + if( pConnectInfo->cleanSession == true ) { - UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_CLEAN); + UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_CLEAN ); } /* Set the flags for username and password if provided. */ - if (pConnectInfo->pUserName != NULL) + if( pConnectInfo->pUserName != NULL ) { - UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_USERNAME); + UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_USERNAME ); } - if (pConnectInfo->pPassword != NULL) + if( pConnectInfo->pPassword != NULL ) { - UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_PASSWORD); + UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_PASSWORD ); } /* Set will flag if a Last Will and Testament is provided. */ - if (pWillInfo != NULL) + if( pWillInfo != NULL ) { - UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_WILL); + UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_WILL ); /* Flags only need to be changed for Will QoS 1 or 2. */ - if (pWillInfo->qos == MQTTQoS1) + if( pWillInfo->qos == MQTTQoS1 ) { - UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_WILL_QOS1); + UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_WILL_QOS1 ); } - else if (pWillInfo->qos == MQTTQoS2) + else if( pWillInfo->qos == MQTTQoS2 ) { - UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_WILL_QOS2); + UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_WILL_QOS2 ); } else { /* Empty else MISRA 15.7 */ } - if (pWillInfo->retain == true) + if( pWillInfo->retain == true ) { - UINT8_SET_BIT(connectFlags, MQTT_CONNECT_FLAG_WILL_RETAIN); + UINT8_SET_BIT( connectFlags, MQTT_CONNECT_FLAG_WILL_RETAIN ); } } - TEST_ASSERT_EQUAL(connectFlags, *pIndex); + TEST_ASSERT_EQUAL( connectFlags, *pIndex ); pIndex++; /* Verify the 2 bytes of the keep alive interval into the CONNECT packet. */ - TEST_ASSERT_EQUAL(UINT16_HIGH_BYTE(pConnectInfo->keepAliveSeconds), - *pIndex); + TEST_ASSERT_EQUAL( UINT16_HIGH_BYTE( pConnectInfo->keepAliveSeconds ), + *pIndex ); pIndex++; - TEST_ASSERT_EQUAL(UINT16_LOW_BYTE(pConnectInfo->keepAliveSeconds), - *pIndex); + TEST_ASSERT_EQUAL( UINT16_LOW_BYTE( pConnectInfo->keepAliveSeconds ), + *pIndex ); pIndex++; /* Verify the connect properties into the CONNECT packet. */ - pIndex = MQTT_SerializeConnectProperties(pIndex, pConnectProperties); + pIndex = MQTT_SerializeConnectProperties( pIndex, pConnectProperties ); - if (pConnectProperties->outgoingUserPropSize > 0) + if( pConnectProperties->outgoingUserPropSize > 0 ) { - pIndex = serializeUserProperties(pIndex, pConnectProperties->pOutgoingUserProperty, pConnectProperties->outgoingUserPropSize); + pIndex = serializeUserProperties( pIndex, pConnectProperties->pOutgoingUserProperty, pConnectProperties->outgoingUserPropSize ); } - if (pConnectProperties->pOutgoingAuth != NULL) + if( pConnectProperties->pOutgoingAuth != NULL ) { - if (pConnectProperties->pOutgoingAuth->authMethodLength != 0) + if( pConnectProperties->pOutgoingAuth->authMethodLength != 0 ) { - encodedStringLength = encodeString(encodedStringBuffer, - pConnectProperties->pOutgoingAuth->pAuthMethod, - pConnectProperties->pOutgoingAuth->authMethodLength); - TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); + encodedStringLength = encodeString( encodedStringBuffer, + pConnectProperties->pOutgoingAuth->pAuthMethod, + pConnectProperties->pOutgoingAuth->authMethodLength ); + TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); pIndex += encodedStringLength; - if (pConnectProperties->pOutgoingAuth->authDataLength != 0) + + if( pConnectProperties->pOutgoingAuth->authDataLength != 0 ) { - encodedStringLength = encodeString(encodedStringBuffer, - pConnectProperties->pOutgoingAuth->pAuthData, - pConnectProperties->pOutgoingAuth->authDataLength); - TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); + encodedStringLength = encodeString( encodedStringBuffer, + pConnectProperties->pOutgoingAuth->pAuthData, + pConnectProperties->pOutgoingAuth->authDataLength ); + TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); pIndex += encodedStringLength; } } } /* Verify the client identifier into the CONNECT packet. */ - encodedStringLength = encodeString(encodedStringBuffer, - pConnectInfo->pClientIdentifier, - pConnectInfo->clientIdentifierLength); - TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); + encodedStringLength = encodeString( encodedStringBuffer, + pConnectInfo->pClientIdentifier, + pConnectInfo->clientIdentifierLength ); + TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); pIndex += encodedStringLength; /* Verify the will topic name and message into the CONNECT packet if provided. */ - if (pWillInfo != NULL) + if( pWillInfo != NULL ) { /*Will Properties*/ - pIndex = MQTT_SerializePublishProperties(pWillInfo, pIndex); - if (pWillInfo->contentTypeLength != 0U) + pIndex = MQTT_SerializePublishProperties( pWillInfo, pIndex ); + + if( pWillInfo->contentTypeLength != 0U ) { - TEST_ASSERT_EQUAL_INT(MQTT_CONTENT_TYPE_ID, *pIndex); + TEST_ASSERT_EQUAL_INT( MQTT_CONTENT_TYPE_ID, *pIndex ); pIndex++; - encodedStringLength = encodeString(encodedStringBuffer, - pWillInfo->pContentType, - pWillInfo->contentTypeLength); - TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); + encodedStringLength = encodeString( encodedStringBuffer, + pWillInfo->pContentType, + pWillInfo->contentTypeLength ); + TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); pIndex += encodedStringLength; } - if (pWillInfo->responseTopicLength != 0U) + + if( pWillInfo->responseTopicLength != 0U ) { - TEST_ASSERT_EQUAL_INT(MQTT_RESPONSE_TOPIC_ID, *pIndex); + TEST_ASSERT_EQUAL_INT( MQTT_RESPONSE_TOPIC_ID, *pIndex ); pIndex++; - encodedStringLength = encodeString(encodedStringBuffer, - pWillInfo->pResponseTopic, - pWillInfo->responseTopicLength); - TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); + encodedStringLength = encodeString( encodedStringBuffer, + pWillInfo->pResponseTopic, + pWillInfo->responseTopicLength ); + TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); pIndex += encodedStringLength; } - if (pWillInfo->correlationLength != 0U) + + if( pWillInfo->correlationLength != 0U ) { - TEST_ASSERT_EQUAL_INT(MQTT_CORRELATION_DATA_ID, *pIndex); + TEST_ASSERT_EQUAL_INT( MQTT_CORRELATION_DATA_ID, *pIndex ); pIndex++; - encodedStringLength = encodeString(encodedStringBuffer, - pWillInfo->pCorrelationData, - pWillInfo->correlationLength); - TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); + encodedStringLength = encodeString( encodedStringBuffer, + pWillInfo->pCorrelationData, + pWillInfo->correlationLength ); + TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); pIndex += encodedStringLength; } - if (pWillInfo->userPropertySize != 0) - { - pIndex = serializeUserProperties(pIndex, pWillInfo->pUserProperty, pWillInfo->userPropertySize); + if( pWillInfo->userPropertySize != 0 ) + { + pIndex = serializeUserProperties( pIndex, pWillInfo->pUserProperty, pWillInfo->userPropertySize ); } - encodedStringLength = encodeString(encodedStringBuffer, - pWillInfo->pTopicName, - pWillInfo->topicNameLength); - TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); + + encodedStringLength = encodeString( encodedStringBuffer, + pWillInfo->pTopicName, + pWillInfo->topicNameLength ); + TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); pIndex += encodedStringLength; - encodedStringLength = encodeString(encodedStringBuffer, - pWillInfo->pPayload, - (uint16_t)pWillInfo->payloadLength); - TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); + encodedStringLength = encodeString( encodedStringBuffer, + pWillInfo->pPayload, + ( uint16_t ) pWillInfo->payloadLength ); + TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); pIndex += encodedStringLength; } /* Verify the user name if provided. */ - if (pConnectInfo->pUserName != NULL) + if( pConnectInfo->pUserName != NULL ) { - encodedStringLength = encodeString(encodedStringBuffer, - pConnectInfo->pUserName, - pConnectInfo->userNameLength); - TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); + encodedStringLength = encodeString( encodedStringBuffer, + pConnectInfo->pUserName, + pConnectInfo->userNameLength ); + TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); pIndex += encodedStringLength; } /* Verify the password if provided. */ - if (pConnectInfo->pPassword != NULL) + if( pConnectInfo->pPassword != NULL ) { - encodedStringLength = encodeString(encodedStringBuffer, - pConnectInfo->pPassword, - pConnectInfo->passwordLength); - TEST_ASSERT_EQUAL_MEMORY(encodedStringBuffer, pIndex, encodedStringLength); + encodedStringLength = encodeString( encodedStringBuffer, + pConnectInfo->pPassword, + pConnectInfo->passwordLength ); + TEST_ASSERT_EQUAL_MEMORY( encodedStringBuffer, pIndex, encodedStringLength ); pIndex += encodedStringLength; } } -void test_MQTT_GetWillPropertiesSize(void) +void test_MQTT_GetWillPropertiesSize( void ) { MQTTStatus_t status = MQTTSuccess; MQTTPublishInfo_t willInfo; + /* Call MQTT_GetWillPropertiesSize() with various combinations of * incorrect paramters */ - status = MQTT_GetWillPropertiesSize(NULL); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTT_GetWillPropertiesSize( NULL ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + /* - *Max Packet Size cannot be null + * Max Packet Size cannot be null */ - memset(&willInfo, 0x0, sizeof(willInfo)); - status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(0, willInfo.propertyLength); + memset( &willInfo, 0x0, sizeof( willInfo ) ); + status = MQTT_GetWillPropertiesSize( &willInfo ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( 0, willInfo.propertyLength ); willInfo.willDelay = 10; - status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(5, willInfo.propertyLength); + status = MQTT_GetWillPropertiesSize( &willInfo ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( 5, willInfo.propertyLength ); willInfo.payloadFormat = 1; - status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(7, willInfo.propertyLength); + status = MQTT_GetWillPropertiesSize( &willInfo ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( 7, willInfo.propertyLength ); willInfo.msgExpiryPresent = 1; willInfo.msgExpiryInterval = 10; - status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(12, willInfo.propertyLength); + status = MQTT_GetWillPropertiesSize( &willInfo ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( 12, willInfo.propertyLength ); willInfo.msgExpiryPresent = 1; willInfo.msgExpiryInterval = 10; - status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(12, willInfo.propertyLength); + status = MQTT_GetWillPropertiesSize( &willInfo ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( 12, willInfo.propertyLength ); willInfo.contentTypeLength = 2; - status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTT_GetWillPropertiesSize( &willInfo ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); willInfo.pContentType = "ab"; - status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(17, willInfo.propertyLength); + status = MQTT_GetWillPropertiesSize( &willInfo ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( 17, willInfo.propertyLength ); willInfo.responseTopicLength = 2; - status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTT_GetWillPropertiesSize( &willInfo ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); willInfo.pResponseTopic = "ab"; - status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(22, willInfo.propertyLength); + status = MQTT_GetWillPropertiesSize( &willInfo ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( 22, willInfo.propertyLength ); willInfo.correlationLength = 2; - status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTT_GetWillPropertiesSize( &willInfo ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); willInfo.pCorrelationData = "ab"; - status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(27, willInfo.propertyLength); - - MQTTUserProperty_t userProperty[2]; - userProperty[0].pKey = "2"; - userProperty[0].keyLength = 1; - userProperty[0].valueLength = 3; - userProperty[0].pValue = "abc"; - userProperty[1].pKey = "2"; - userProperty[1].keyLength = 1; - userProperty[1].valueLength = 2; - userProperty[1].pValue = "ab"; + status = MQTT_GetWillPropertiesSize( &willInfo ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( 27, willInfo.propertyLength ); + + MQTTUserProperty_t userProperty[ 2 ]; + userProperty[ 0 ].pKey = "2"; + userProperty[ 0 ].keyLength = 1; + userProperty[ 0 ].valueLength = 3; + userProperty[ 0 ].pValue = "abc"; + userProperty[ 1 ].pKey = "2"; + userProperty[ 1 ].keyLength = 1; + userProperty[ 1 ].valueLength = 2; + userProperty[ 1 ].pValue = "ab"; willInfo.pUserProperty = userProperty; willInfo.userPropertySize = 2; - status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(44, willInfo.propertyLength); + status = MQTT_GetWillPropertiesSize( &willInfo ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( 44, willInfo.propertyLength ); } -void test_MQTT_SerializeConnectProperties(void) +void test_MQTT_SerializeConnectProperties( void ) { - uint8_t properties[24U]; - uint8_t *pIndex = properties; - uint8_t *index = properties; + uint8_t properties[ 24U ]; + uint8_t * pIndex = properties; + uint8_t * index = properties; MQTTConnectProperties_t connect; MQTTStatus_t status; size_t propertyLength; - memset(&connect, 0x0, sizeof(connect)); + + memset( &connect, 0x0, sizeof( connect ) ); connect.sessionExpiry = 12; connect.receiveMax = 32; connect.isMaxPacketSize = true; @@ -910,1528 +939,1549 @@ void test_MQTT_SerializeConnectProperties(void) connect.reqResInfo = 1; connect.reqProbInfo = 0; connect.propertyLength = 20; - pIndex = MQTT_SerializeConnectProperties(pIndex, &connect); - TEST_ASSERT_EQUAL_INT(21, (pIndex - properties)); - status = decodeVariableLength(properties, &propertyLength); - TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(connect.propertyLength, propertyLength); + pIndex = MQTT_SerializeConnectProperties( pIndex, &connect ); + TEST_ASSERT_EQUAL_INT( 21, ( pIndex - properties ) ); + status = decodeVariableLength( properties, &propertyLength ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( connect.propertyLength, propertyLength ); index++; - TEST_ASSERT_EQUAL_INT(MQTT_SESSION_EXPIRY_ID, *index); + TEST_ASSERT_EQUAL_INT( MQTT_SESSION_EXPIRY_ID, *index ); index++; - TEST_ASSERT_EQUAL_UINT32(connect.sessionExpiry, UINT32_DECODE(index)); + TEST_ASSERT_EQUAL_UINT32( connect.sessionExpiry, UINT32_DECODE( index ) ); index += 4; - TEST_ASSERT_EQUAL_INT(MQTT_RECEIVE_MAX_ID, *index); + TEST_ASSERT_EQUAL_INT( MQTT_RECEIVE_MAX_ID, *index ); index++; - TEST_ASSERT_EQUAL_UINT32(connect.receiveMax, UINT16_DECODE(index)); + TEST_ASSERT_EQUAL_UINT32( connect.receiveMax, UINT16_DECODE( index ) ); index += 2; - TEST_ASSERT_EQUAL_INT(MQTT_MAX_PACKET_SIZE_ID, *index); + TEST_ASSERT_EQUAL_INT( MQTT_MAX_PACKET_SIZE_ID, *index ); index++; - TEST_ASSERT_EQUAL_INT(connect.maxPacketSize, UINT32_DECODE(index)); + TEST_ASSERT_EQUAL_INT( connect.maxPacketSize, UINT32_DECODE( index ) ); index += 4; - TEST_ASSERT_EQUAL_INT(MQTT_TOPIC_ALIAS_MAX_ID, *index); + TEST_ASSERT_EQUAL_INT( MQTT_TOPIC_ALIAS_MAX_ID, *index ); index++; - TEST_ASSERT_EQUAL_INT(connect.topicAliasMax, UINT16_DECODE(index)); + TEST_ASSERT_EQUAL_INT( connect.topicAliasMax, UINT16_DECODE( index ) ); index += 2; - TEST_ASSERT_EQUAL_INT(MQTT_REQUEST_RESPONSE_ID, *index); + TEST_ASSERT_EQUAL_INT( MQTT_REQUEST_RESPONSE_ID, *index ); index++; - TEST_ASSERT_EQUAL_INT(connect.reqResInfo, *index); + TEST_ASSERT_EQUAL_INT( connect.reqResInfo, *index ); index++; - TEST_ASSERT_EQUAL_INT(MQTT_REQUEST_PROBLEM_ID, *index); + TEST_ASSERT_EQUAL_INT( MQTT_REQUEST_PROBLEM_ID, *index ); index++; - TEST_ASSERT_EQUAL_INT(connect.reqProbInfo, *index); + TEST_ASSERT_EQUAL_INT( connect.reqProbInfo, *index ); index++; -}; +} -void test_MQTTV5_DeserializeConnackOnlyStatus(void) +void test_MQTTV5_DeserializeConnackOnlyStatus( void ) { MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - uint8_t buffer[50]; - uint8_t *index = buffer; - memset(&properties, 0x0, sizeof(properties)); - memset(&packetInfo, 0x0, sizeof(packetInfo)); - status = MQTTV5_DeserializeConnack(NULL, NULL, NULL); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + uint8_t buffer[ 50 ]; + uint8_t * index = buffer; + + memset( &properties, 0x0, sizeof( properties ) ); + memset( &packetInfo, 0x0, sizeof( packetInfo ) ); + status = MQTTV5_DeserializeConnack( NULL, NULL, NULL ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); bool sessionPresent; - status = MQTTV5_DeserializeConnack(NULL, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_DeserializeConnack( NULL, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - status = MQTTV5_DeserializeConnack(&properties, NULL, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_DeserializeConnack( &properties, NULL, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, NULL); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, NULL ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); packetInfo.pRemainingData = index; packetInfo.type = MQTT_PACKET_TYPE_CONNECT; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); /*Reserved bit incorrect*/ - buffer[0] = 0x11; + buffer[ 0 ] = 0x11; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTBadResponse, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTBadResponse, status ); + /* * Session Present Bit is set but reason code is not equal to 0; */ - buffer[0] = 0x01; - buffer[1] = 0x01; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTBadResponse, status); + buffer[ 0 ] = 0x01; + buffer[ 1 ] = 0x01; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTBadResponse, status ); - // 5 + 1 + 2 = 8 - size_t propertyLength = encodeRemainingLength(index, 5); + /* 5 + 1 + 2 = 8 */ + size_t propertyLength = encodeRemainingLength( index, 5 ); packetInfo.remainingLength = propertyLength + 7; /*Not a valid reason code*/ - buffer[0] = 0x00; - buffer[1] = 0x03; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTProtocolError, status); + buffer[ 0 ] = 0x00; + buffer[ 1 ] = 0x03; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTProtocolError, status ); /*All the valid response code*/ - buffer[1] = 0x80; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x80; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x80; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x80; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x81; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x81; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x82; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x82; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x83; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x83; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x80; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x80; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x84; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x84; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x80; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x80; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x85; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x85; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x86; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x86; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x87; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x87; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x88; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x88; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x89; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x89; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x8A; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x8A; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x8C; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x8C; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x88; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x88; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x90; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x90; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x95; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x95; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x97; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x97; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x99; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x99; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x9A; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x9A; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x9A; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x9A; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x9B; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x9B; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x9C; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x9C; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x9D; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x9D; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); - buffer[1] = 0x9F; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTServerRefused, status); + buffer[ 1 ] = 0x9F; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTServerRefused, status ); /*Exceeds the max packet size set by the client*/ properties.maxPacketSize = 2; properties.isMaxPacketSize = 1; - buffer[1] = 0x00; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTProtocolError, status); + buffer[ 1 ] = 0x00; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTProtocolError, status ); /*Validate the remaining length*/ properties.isMaxPacketSize = false; packetInfo.remainingLength = 7; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &sessionPresent); - TEST_ASSERT_EQUAL(MQTTMalformedPacket, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTMalformedPacket, status ); } -void test_MQTTV5_DeserializeConnackOnlySessionExpiry(void) +void test_MQTTV5_DeserializeConnackOnlySessionExpiry( void ) { MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - memset(&properties, 0x0, sizeof(properties)); - memset(&packetInfo, 0x0, sizeof(packetInfo)); - uint8_t buffer[200] = {0}; - uint8_t *pIndexLocal = buffer; - buffer[0] = 0x01; - buffer[1] = 0x00; + + memset( &properties, 0x0, sizeof( properties ) ); + memset( &packetInfo, 0x0, sizeof( packetInfo ) ); + uint8_t buffer[ 200 ] = { 0 }; + uint8_t * pIndexLocal = buffer; + buffer[ 0 ] = 0x01; + buffer[ 1 ] = 0x00; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - pIndexLocal = &buffer[2]; - size_t propertyLength = encodeRemainingLength(pIndexLocal, 5); + pIndexLocal = &buffer[ 2 ]; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); packetInfo.remainingLength = propertyLength + 7; properties.isMaxPacketSize = true; properties.maxPacketSize = 150; pIndexLocal++; *pIndexLocal = MQTT_SESSION_EXPIRY_ID; pIndexLocal++; - pIndexLocal[0] = UINT32_BYTE3(12); - pIndexLocal[1] = UINT32_BYTE2(12); - pIndexLocal[2] = UINT32_BYTE1(12); - pIndexLocal[3] = UINT32_BYTE0(12); - pIndexLocal = &pIndexLocal[4]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL_INT(12, properties.sessionExpiry); + pIndexLocal[ 0 ] = UINT32_BYTE3( 12 ); + pIndexLocal[ 1 ] = UINT32_BYTE2( 12 ); + pIndexLocal[ 2 ] = UINT32_BYTE1( 12 ); + pIndexLocal[ 3 ] = UINT32_BYTE0( 12 ); + pIndexLocal = &pIndexLocal[ 4 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_INT( 12, properties.sessionExpiry ); /*Protocol error to include the same property twice*/ packetInfo.remainingLength = 13; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 10); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 10 ); pIndexLocal++; *pIndexLocal = MQTT_SESSION_EXPIRY_ID; pIndexLocal++; - pIndexLocal[0] = UINT32_BYTE3(12); - pIndexLocal[1] = UINT32_BYTE2(12); - pIndexLocal[2] = UINT32_BYTE1(12); - pIndexLocal[3] = UINT32_BYTE0(12); - pIndexLocal = &pIndexLocal[4]; + pIndexLocal[ 0 ] = UINT32_BYTE3( 12 ); + pIndexLocal[ 1 ] = UINT32_BYTE2( 12 ); + pIndexLocal[ 2 ] = UINT32_BYTE1( 12 ); + pIndexLocal[ 3 ] = UINT32_BYTE0( 12 ); + pIndexLocal = &pIndexLocal[ 4 ]; *pIndexLocal = MQTT_SESSION_EXPIRY_ID; pIndexLocal++; - pIndexLocal[0] = UINT32_BYTE3(12); - pIndexLocal[1] = UINT32_BYTE2(12); - pIndexLocal[2] = UINT32_BYTE1(12); - pIndexLocal[3] = UINT32_BYTE0(12); - pIndexLocal = &pIndexLocal[4]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + pIndexLocal[ 0 ] = UINT32_BYTE3( 12 ); + pIndexLocal[ 1 ] = UINT32_BYTE2( 12 ); + pIndexLocal[ 2 ] = UINT32_BYTE1( 12 ); + pIndexLocal[ 3 ] = UINT32_BYTE0( 12 ); + pIndexLocal = &pIndexLocal[ 4 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Invalid property length*/ packetInfo.remainingLength = 7; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 4 ); pIndexLocal++; *pIndexLocal = MQTT_SESSION_EXPIRY_ID; pIndexLocal++; - pIndexLocal[0] = UINT32_BYTE3(12); - pIndexLocal[1] = UINT32_BYTE2(12); - pIndexLocal[2] = UINT32_BYTE1(12); - pIndexLocal[3] = UINT32_BYTE0(12); - pIndexLocal = &pIndexLocal[4]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + pIndexLocal[ 0 ] = UINT32_BYTE3( 12 ); + pIndexLocal[ 1 ] = UINT32_BYTE2( 12 ); + pIndexLocal[ 2 ] = UINT32_BYTE1( 12 ); + pIndexLocal[ 3 ] = UINT32_BYTE0( 12 ); + pIndexLocal = &pIndexLocal[ 4 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); /*Invalid id*/ packetInfo.remainingLength = 8; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 5); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = 0x00; pIndexLocal++; - pIndexLocal[0] = UINT32_BYTE3(12); - pIndexLocal[1] = UINT32_BYTE2(12); - pIndexLocal[2] = UINT32_BYTE1(12); - pIndexLocal[3] = UINT32_BYTE0(12); - pIndexLocal = &pIndexLocal[4]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + pIndexLocal[ 0 ] = UINT32_BYTE3( 12 ); + pIndexLocal[ 1 ] = UINT32_BYTE2( 12 ); + pIndexLocal[ 2 ] = UINT32_BYTE1( 12 ); + pIndexLocal[ 3 ] = UINT32_BYTE0( 12 ); + pIndexLocal = &pIndexLocal[ 4 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); packetInfo.remainingLength = 8; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 20971556356235); - LogDebug(("Encoded size for length is %lu bytes.", - (unsigned long)propertyLength)); - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTBadResponse, status); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 20971556356235 ); + LogDebug( ( "Encoded size for length is %lu bytes.", + ( unsigned long ) propertyLength ) ); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); packetInfo.remainingLength = 8; - pIndexLocal = &buffer[2]; + pIndexLocal = &buffer[ 2 ]; *pIndexLocal = 0x81; pIndexLocal++; *pIndexLocal = 0x00; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTBadResponse, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); } -void test_MQTTV5_DeserializeConnackOnlyReceiveMax(void) +void test_MQTTV5_DeserializeConnackOnlyReceiveMax( void ) { MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - memset(&properties, 0x0, sizeof(properties)); - memset(&packetInfo, 0x0, sizeof(packetInfo)); - uint8_t buffer[200] = {0}; - uint8_t *pIndexLocal = buffer; - buffer[0] = 0x01; - buffer[1] = 0x00; + + memset( &properties, 0x0, sizeof( properties ) ); + memset( &packetInfo, 0x0, sizeof( packetInfo ) ); + uint8_t buffer[ 200 ] = { 0 }; + uint8_t * pIndexLocal = buffer; + buffer[ 0 ] = 0x01; + buffer[ 1 ] = 0x00; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - pIndexLocal = &buffer[2]; - size_t propertyLength = encodeRemainingLength(pIndexLocal, 3); + pIndexLocal = &buffer[ 2 ]; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 3 ); packetInfo.remainingLength = propertyLength + 5; pIndexLocal++; *pIndexLocal = MQTT_RECEIVE_MAX_ID; pIndexLocal++; - pIndexLocal[0] = UINT16_HIGH_BYTE(13); - pIndexLocal[1] = UINT16_LOW_BYTE(13); - pIndexLocal = &pIndexLocal[2]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL_INT(13, properties.serverReceiveMax); + pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); + pIndexLocal = &pIndexLocal[ 2 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_INT( 13, properties.serverReceiveMax ); /*Receive Max cannot have a value 0*/ - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 3); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 3 ); packetInfo.remainingLength = propertyLength + 5; pIndexLocal++; *pIndexLocal = MQTT_RECEIVE_MAX_ID; pIndexLocal++; - pIndexLocal[0] = UINT16_HIGH_BYTE(0); - pIndexLocal[1] = UINT16_LOW_BYTE(0); - pIndexLocal = &pIndexLocal[2]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 0 ); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 0 ); + pIndexLocal = &pIndexLocal[ 2 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Protocol error to include the same property twice*/ - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 6); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 6 ); packetInfo.remainingLength = propertyLength + 8; pIndexLocal++; *pIndexLocal = MQTT_RECEIVE_MAX_ID; pIndexLocal++; - pIndexLocal[0] = UINT16_HIGH_BYTE(13); - pIndexLocal[1] = UINT16_LOW_BYTE(13); - pIndexLocal = &pIndexLocal[2]; + pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); + pIndexLocal = &pIndexLocal[ 2 ]; *pIndexLocal = MQTT_RECEIVE_MAX_ID; pIndexLocal++; - pIndexLocal[0] = UINT16_HIGH_BYTE(13); - pIndexLocal[1] = UINT16_LOW_BYTE(13); - pIndexLocal = &pIndexLocal[2]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); + pIndexLocal = &pIndexLocal[ 2 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Invalid property length*/ packetInfo.remainingLength = 5; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_RECEIVE_MAX_ID; pIndexLocal++; - pIndexLocal[0] = UINT16_HIGH_BYTE(13); - pIndexLocal[1] = UINT16_LOW_BYTE(13); - pIndexLocal = &pIndexLocal[2]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); + pIndexLocal = &pIndexLocal[ 2 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); } -void test_MQTTV5_DeserializeConnackOnlyMaxQos(void) +void test_MQTTV5_DeserializeConnackOnlyMaxQos( void ) { MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - memset(&properties, 0x0, sizeof(properties)); - memset(&packetInfo, 0x0, sizeof(packetInfo)); - uint8_t buffer[200] = {0}; - uint8_t *pIndexLocal = buffer; - buffer[0] = 0x01; - buffer[1] = 0x00; + + memset( &properties, 0x0, sizeof( properties ) ); + memset( &packetInfo, 0x0, sizeof( packetInfo ) ); + uint8_t buffer[ 200 ] = { 0 }; + uint8_t * pIndexLocal = buffer; + buffer[ 0 ] = 0x01; + buffer[ 1 ] = 0x00; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 5; - pIndexLocal = &buffer[2]; - size_t propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal = &buffer[ 2 ]; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_MAX_QOS_ID; pIndexLocal++; - pIndexLocal[0] = 0; + pIndexLocal[ 0 ] = 0; pIndexLocal++; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL_INT(0, properties.serverMaxQos); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_INT( 0, properties.serverMaxQos ); /*Protocol error to have a value other than 0 or 1*/ packetInfo.remainingLength = 5; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_MAX_QOS_ID; pIndexLocal++; - pIndexLocal[0] = 3; + pIndexLocal[ 0 ] = 3; pIndexLocal++; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Protocol error to include the same property twice*/ - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 4 ); packetInfo.remainingLength = propertyLength + 6; pIndexLocal++; *pIndexLocal = MQTT_MAX_QOS_ID; pIndexLocal++; - pIndexLocal[0] = 0; + pIndexLocal[ 0 ] = 0; pIndexLocal++; *pIndexLocal = MQTT_MAX_QOS_ID; pIndexLocal++; - pIndexLocal[0] = 0; + pIndexLocal[ 0 ] = 0; pIndexLocal++; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Invalid property length*/ packetInfo.remainingLength = 4; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 1); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 1 ); pIndexLocal++; *pIndexLocal = MQTT_MAX_QOS_ID; pIndexLocal++; - pIndexLocal[0] = 0; + pIndexLocal[ 0 ] = 0; pIndexLocal++; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); } -void test_MQTTV5_DeserializeConnackOnlyMaxPacketSize(void) +void test_MQTTV5_DeserializeConnackOnlyMaxPacketSize( void ) { MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - memset(&properties, 0x0, sizeof(properties)); - memset(&packetInfo, 0x0, sizeof(packetInfo)); - uint8_t buffer[200] = {0}; - uint8_t *pIndexLocal = buffer; - buffer[0] = 0x01; - buffer[1] = 0x00; + + memset( &properties, 0x0, sizeof( properties ) ); + memset( &packetInfo, 0x0, sizeof( packetInfo ) ); + uint8_t buffer[ 200 ] = { 0 }; + uint8_t * pIndexLocal = buffer; + buffer[ 0 ] = 0x01; + buffer[ 1 ] = 0x00; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 8; - pIndexLocal = &buffer[2]; - size_t propertyLength = encodeRemainingLength(pIndexLocal, 5); + pIndexLocal = &buffer[ 2 ]; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; pIndexLocal++; - pIndexLocal[0] = UINT32_BYTE3(120); - pIndexLocal[1] = UINT32_BYTE2(120); - pIndexLocal[2] = UINT32_BYTE1(120); - pIndexLocal[3] = UINT32_BYTE0(120); - pIndexLocal = &pIndexLocal[4]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL_INT(120, properties.serverMaxPacketSize); + pIndexLocal[ 0 ] = UINT32_BYTE3( 120 ); + pIndexLocal[ 1 ] = UINT32_BYTE2( 120 ); + pIndexLocal[ 2 ] = UINT32_BYTE1( 120 ); + pIndexLocal[ 3 ] = UINT32_BYTE0( 120 ); + pIndexLocal = &pIndexLocal[ 4 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_INT( 120, properties.serverMaxPacketSize ); /*Protocol error to have a value 0*/ - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 5); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 5 ); packetInfo.remainingLength = propertyLength + 7; pIndexLocal++; *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; pIndexLocal++; - pIndexLocal[0] = UINT32_BYTE3(0); - pIndexLocal[1] = UINT32_BYTE2(0); - pIndexLocal[2] = UINT32_BYTE1(0); - pIndexLocal[3] = UINT32_BYTE0(0); - pIndexLocal = &pIndexLocal[4]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + pIndexLocal[ 0 ] = UINT32_BYTE3( 0 ); + pIndexLocal[ 1 ] = UINT32_BYTE2( 0 ); + pIndexLocal[ 2 ] = UINT32_BYTE1( 0 ); + pIndexLocal[ 3 ] = UINT32_BYTE0( 0 ); + pIndexLocal = &pIndexLocal[ 4 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Protocol error to include the same property twice*/ packetInfo.remainingLength = 13; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 10); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 10 ); pIndexLocal++; *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; pIndexLocal++; - pIndexLocal[0] = UINT32_BYTE3(120); - pIndexLocal[1] = UINT32_BYTE2(120); - pIndexLocal[2] = UINT32_BYTE1(120); - pIndexLocal[3] = UINT32_BYTE0(120); - pIndexLocal = &pIndexLocal[4]; + pIndexLocal[ 0 ] = UINT32_BYTE3( 120 ); + pIndexLocal[ 1 ] = UINT32_BYTE2( 120 ); + pIndexLocal[ 2 ] = UINT32_BYTE1( 120 ); + pIndexLocal[ 3 ] = UINT32_BYTE0( 120 ); + pIndexLocal = &pIndexLocal[ 4 ]; *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; pIndexLocal++; - pIndexLocal[0] = UINT32_BYTE3(120); - pIndexLocal[1] = UINT32_BYTE2(120); - pIndexLocal[2] = UINT32_BYTE1(120); - pIndexLocal[3] = UINT32_BYTE0(120); - pIndexLocal = &pIndexLocal[4]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + pIndexLocal[ 0 ] = UINT32_BYTE3( 120 ); + pIndexLocal[ 1 ] = UINT32_BYTE2( 120 ); + pIndexLocal[ 2 ] = UINT32_BYTE1( 120 ); + pIndexLocal[ 3 ] = UINT32_BYTE0( 120 ); + pIndexLocal = &pIndexLocal[ 4 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Invalid property length*/ packetInfo.remainingLength = 7; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 4 ); pIndexLocal++; *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; pIndexLocal++; - pIndexLocal[0] = UINT32_BYTE3(120); - pIndexLocal[1] = UINT32_BYTE2(120); - pIndexLocal[2] = UINT32_BYTE1(120); - pIndexLocal[3] = UINT32_BYTE0(120); - pIndexLocal = &pIndexLocal[4]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + pIndexLocal[ 0 ] = UINT32_BYTE3( 120 ); + pIndexLocal[ 1 ] = UINT32_BYTE2( 120 ); + pIndexLocal[ 2 ] = UINT32_BYTE1( 120 ); + pIndexLocal[ 3 ] = UINT32_BYTE0( 120 ); + pIndexLocal = &pIndexLocal[ 4 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); } -void test_MQTTV5_DeserializeConnackOnlyRetainAvailable(void) +void test_MQTTV5_DeserializeConnackOnlyRetainAvailable( void ) { MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - memset(&properties, 0x0, sizeof(properties)); - memset(&packetInfo, 0x0, sizeof(packetInfo)); - uint8_t buffer[200] = {0}; - uint8_t *pIndexLocal = buffer; - buffer[0] = 0x01; - buffer[1] = 0x00; + + memset( &properties, 0x0, sizeof( properties ) ); + memset( &packetInfo, 0x0, sizeof( packetInfo ) ); + uint8_t buffer[ 200 ] = { 0 }; + uint8_t * pIndexLocal = buffer; + buffer[ 0 ] = 0x01; + buffer[ 1 ] = 0x00; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 5; - pIndexLocal = &buffer[2]; - size_t propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal = &buffer[ 2 ]; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_RETAIN_AVAILABLE_ID; pIndexLocal++; - pIndexLocal[0] = 0; + pIndexLocal[ 0 ] = 0; pIndexLocal++; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL_INT(0, properties.retainAvailable); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_INT( 0, properties.retainAvailable ); /*Protocol error to have a value other than 0 or 1*/ packetInfo.remainingLength = 5; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_RETAIN_AVAILABLE_ID; pIndexLocal++; - pIndexLocal[0] = 3; + pIndexLocal[ 0 ] = 3; pIndexLocal++; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Protocol error to include the same property twice*/ packetInfo.remainingLength = 7; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 4 ); pIndexLocal++; *pIndexLocal = MQTT_RETAIN_AVAILABLE_ID; pIndexLocal++; - pIndexLocal[0] = 0; + pIndexLocal[ 0 ] = 0; pIndexLocal++; *pIndexLocal = MQTT_RETAIN_AVAILABLE_ID; pIndexLocal++; - pIndexLocal[0] = 0; + pIndexLocal[ 0 ] = 0; pIndexLocal++; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Invalid property length*/ - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 1); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 1 ); packetInfo.remainingLength = propertyLength + 3; pIndexLocal++; *pIndexLocal = MQTT_RETAIN_AVAILABLE_ID; pIndexLocal++; - pIndexLocal[0] = 0; + pIndexLocal[ 0 ] = 0; pIndexLocal++; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); } -void test_MQTT_GetUserPropertySize(void) +void test_MQTT_GetUserPropertySize( void ) { MQTTUserProperty_t userProperty; size_t l = 12; - size_t *length = &l; - memset(&userProperty, 0x0, sizeof(userProperty)); + size_t * length = &l; + + memset( &userProperty, 0x0, sizeof( userProperty ) ); MQTTStatus_t status; - status = MQTT_GetUserPropertySize(&userProperty, 0, NULL); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + status = MQTT_GetUserPropertySize( &userProperty, 0, NULL ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - status = MQTT_GetUserPropertySize(NULL, 1, length); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + status = MQTT_GetUserPropertySize( NULL, 1, length ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); userProperty.keyLength = 0; - status = MQTT_GetUserPropertySize(&userProperty, 1, length); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + status = MQTT_GetUserPropertySize( &userProperty, 1, length ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); } -void test_MQTTV5_DeserializeConnackOnlyClientId(void) +void test_MQTTV5_DeserializeConnackOnlyClientId( void ) { MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - memset(&properties, 0x0, sizeof(properties)); - memset(&packetInfo, 0x0, sizeof(packetInfo)); - uint8_t buffer[200] = {0}; - uint8_t *pIndexLocal = buffer; - buffer[0] = 0x01; - buffer[1] = 0x00; + + memset( &properties, 0x0, sizeof( properties ) ); + memset( &packetInfo, 0x0, sizeof( packetInfo ) ); + uint8_t buffer[ 200 ] = { 0 }; + uint8_t * pIndexLocal = buffer; + buffer[ 0 ] = 0x01; + buffer[ 1 ] = 0x00; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 8; - pIndexLocal = &buffer[2]; - size_t propertyLength = encodeRemainingLength(pIndexLocal, 5); + pIndexLocal = &buffer[ 2 ]; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; pIndexLocal++; - char *string = "ab"; - size_t dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL(pIndexLocal, properties.pClientIdentifier + 2); + char * string = "ab"; + size_t dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( pIndexLocal, properties.pClientIdentifier + 2 ); /*Protocol error to include the same property twice*/ packetInfo.remainingLength = 13; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 10); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 10 ); pIndexLocal++; *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); + dummy = encodeString( pIndexLocal, string, 2 ); pIndexLocal++; - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Invalid property length*/ packetInfo.remainingLength = 7; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 4 ); pIndexLocal++; *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); + dummy = encodeString( pIndexLocal, string, 2 ); pIndexLocal++; - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); /*Invalid property length*/ - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 2 ); packetInfo.remainingLength = propertyLength + 4; pIndexLocal++; *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); } -void test_MQTTV5_DeserializeConnackOnlyTopicAlias(void) +void test_MQTTV5_DeserializeConnackOnlyTopicAlias( void ) { MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - memset(&properties, 0x0, sizeof(properties)); - memset(&packetInfo, 0x0, sizeof(packetInfo)); - uint8_t buffer[200] = {0}; - uint8_t *pIndexLocal = buffer; - buffer[0] = 0x01; - buffer[1] = 0x00; + + memset( &properties, 0x0, sizeof( properties ) ); + memset( &packetInfo, 0x0, sizeof( packetInfo ) ); + uint8_t buffer[ 200 ] = { 0 }; + uint8_t * pIndexLocal = buffer; + buffer[ 0 ] = 0x01; + buffer[ 1 ] = 0x00; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 6; - pIndexLocal = &buffer[2]; - size_t propertyLength = encodeRemainingLength(pIndexLocal, 3); + pIndexLocal = &buffer[ 2 ]; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 3 ); pIndexLocal++; *pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; pIndexLocal++; - pIndexLocal[0] = UINT16_HIGH_BYTE(13); - pIndexLocal[1] = UINT16_LOW_BYTE(13); - pIndexLocal = &pIndexLocal[2]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL_INT(13, properties.serverTopicAliasMax); + pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); + pIndexLocal = &pIndexLocal[ 2 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_INT( 13, properties.serverTopicAliasMax ); /*Protocol error to include the same property twice*/ packetInfo.remainingLength = 9; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 6); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 6 ); pIndexLocal++; *pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; pIndexLocal++; - pIndexLocal[0] = UINT16_HIGH_BYTE(13); - pIndexLocal[1] = UINT16_LOW_BYTE(13); - pIndexLocal = &pIndexLocal[2]; + pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); + pIndexLocal = &pIndexLocal[ 2 ]; *pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; pIndexLocal++; - pIndexLocal[0] = UINT16_HIGH_BYTE(13); - pIndexLocal[1] = UINT16_LOW_BYTE(13); - pIndexLocal = &pIndexLocal[2]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); + pIndexLocal = &pIndexLocal[ 2 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Invalid property length*/ - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 2 ); packetInfo.remainingLength = propertyLength + 4; pIndexLocal++; *pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; pIndexLocal++; - pIndexLocal[0] = UINT16_HIGH_BYTE(13); - pIndexLocal[1] = UINT16_LOW_BYTE(13); - pIndexLocal = &pIndexLocal[2]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); + pIndexLocal = &pIndexLocal[ 2 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); } -void test_MQTTV5_DeserializeConnackOnlyWildCard(void) +void test_MQTTV5_DeserializeConnackOnlyWildCard( void ) { MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - memset(&properties, 0x0, sizeof(properties)); - memset(&packetInfo, 0x0, sizeof(packetInfo)); - uint8_t buffer[200] = {0}; - uint8_t *pIndexLocal = buffer; - buffer[0] = 0x01; - buffer[1] = 0x00; + + memset( &properties, 0x0, sizeof( properties ) ); + memset( &packetInfo, 0x0, sizeof( packetInfo ) ); + uint8_t buffer[ 200 ] = { 0 }; + uint8_t * pIndexLocal = buffer; + buffer[ 0 ] = 0x01; + buffer[ 1 ] = 0x00; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 5; - pIndexLocal = &buffer[2]; - size_t propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal = &buffer[ 2 ]; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_WILDCARD_ID; pIndexLocal++; - pIndexLocal[0] = 0; + pIndexLocal[ 0 ] = 0; pIndexLocal++; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL_INT(0, properties.isWildcardAvaiable); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_INT( 0, properties.isWildcardAvaiable ); /*Value more than 1 is not allowed*/ - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_WILDCARD_ID; pIndexLocal++; - pIndexLocal[0] = 3; + pIndexLocal[ 0 ] = 3; pIndexLocal++; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Protocol error to include the same property twice*/ packetInfo.remainingLength = 7; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 4 ); pIndexLocal++; *pIndexLocal = MQTT_WILDCARD_ID; pIndexLocal++; - pIndexLocal[0] = 0; + pIndexLocal[ 0 ] = 0; pIndexLocal++; *pIndexLocal = MQTT_WILDCARD_ID; pIndexLocal++; - pIndexLocal[0] = 0; + pIndexLocal[ 0 ] = 0; pIndexLocal++; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Invalid property length*/ - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 1); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 1 ); packetInfo.remainingLength = propertyLength + 3; pIndexLocal++; *pIndexLocal = MQTT_WILDCARD_ID; pIndexLocal++; - pIndexLocal[0] = 0; + pIndexLocal[ 0 ] = 0; pIndexLocal++; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); } -void test_MQTTV5_DeserializeConnackOnlyReasonString(void) +void test_MQTTV5_DeserializeConnackOnlyReasonString( void ) { MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - memset(&properties, 0x0, sizeof(properties)); - memset(&packetInfo, 0x0, sizeof(packetInfo)); - uint8_t buffer[200] = {0}; - uint8_t *pIndexLocal = buffer; - buffer[0] = 0x01; - buffer[1] = 0x00; + + memset( &properties, 0x0, sizeof( properties ) ); + memset( &packetInfo, 0x0, sizeof( packetInfo ) ); + uint8_t buffer[ 200 ] = { 0 }; + uint8_t * pIndexLocal = buffer; + buffer[ 0 ] = 0x01; + buffer[ 1 ] = 0x00; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 8; - pIndexLocal = &buffer[2]; - size_t propertyLength = encodeRemainingLength(pIndexLocal, 5); + pIndexLocal = &buffer[ 2 ]; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = MQTT_REASON_STRING_ID; pIndexLocal++; - char *string = "ab"; - size_t dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL_INT(pIndexLocal, properties.pReasonString + 2); + char * string = "ab"; + size_t dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_INT( pIndexLocal, properties.pReasonString + 2 ); /*Protocol error to include the same property twice*/ packetInfo.remainingLength = 13; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 10); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 10 ); pIndexLocal++; *pIndexLocal = MQTT_REASON_STRING_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; *pIndexLocal = MQTT_REASON_STRING_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Invalid property length*/ packetInfo.remainingLength = 7; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 4 ); pIndexLocal++; *pIndexLocal = MQTT_REASON_STRING_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); /*Invalid property length*/ - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 2 ); packetInfo.remainingLength = propertyLength + 4; pIndexLocal++; *pIndexLocal = MQTT_REASON_STRING_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); } -void test_MQTTV5_DeserializeConnackOnlySUbId(void) +void test_MQTTV5_DeserializeConnackOnlySUbId( void ) { MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - memset(&properties, 0x0, sizeof(properties)); - memset(&packetInfo, 0x0, sizeof(packetInfo)); - uint8_t buffer[200] = {0}; - uint8_t *pIndexLocal = buffer; - buffer[0] = 0x01; - buffer[1] = 0x00; + + memset( &properties, 0x0, sizeof( properties ) ); + memset( &packetInfo, 0x0, sizeof( packetInfo ) ); + uint8_t buffer[ 200 ] = { 0 }; + uint8_t * pIndexLocal = buffer; + buffer[ 0 ] = 0x01; + buffer[ 1 ] = 0x00; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 5; - pIndexLocal = &buffer[2]; - size_t propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal = &buffer[ 2 ]; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_SUB_AVAILABLE_ID; pIndexLocal++; - pIndexLocal[0] = 0; + pIndexLocal[ 0 ] = 0; pIndexLocal++; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL_INT(0, properties.subscriptionId); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_INT( 0, properties.subscriptionId ); /*Value more than 1 is not allowed*/ - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_SUB_AVAILABLE_ID; pIndexLocal++; - pIndexLocal[0] = 3; + pIndexLocal[ 0 ] = 3; pIndexLocal++; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Protocol error to include the same property twice*/ packetInfo.remainingLength = 7; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 4 ); pIndexLocal++; *pIndexLocal = MQTT_SUB_AVAILABLE_ID; pIndexLocal++; - pIndexLocal[0] = 0; + pIndexLocal[ 0 ] = 0; pIndexLocal++; *pIndexLocal = MQTT_SUB_AVAILABLE_ID; pIndexLocal++; - pIndexLocal[0] = 0; + pIndexLocal[ 0 ] = 0; pIndexLocal++; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Invalid property length*/ - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 1); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 1 ); packetInfo.remainingLength = propertyLength + 3; pIndexLocal++; *pIndexLocal = MQTT_SUB_AVAILABLE_ID; pIndexLocal++; - pIndexLocal[0] = 0; + pIndexLocal[ 0 ] = 0; pIndexLocal++; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); } -void test_MQTTV5_DeserializeConnackOnlySharedSub(void) +void test_MQTTV5_DeserializeConnackOnlySharedSub( void ) { MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - memset(&properties, 0x0, sizeof(properties)); - memset(&packetInfo, 0x0, sizeof(packetInfo)); - uint8_t buffer[200] = {0}; - uint8_t *pIndexLocal = buffer; - buffer[0] = 0x01; - buffer[1] = 0x00; + + memset( &properties, 0x0, sizeof( properties ) ); + memset( &packetInfo, 0x0, sizeof( packetInfo ) ); + uint8_t buffer[ 200 ] = { 0 }; + uint8_t * pIndexLocal = buffer; + buffer[ 0 ] = 0x01; + buffer[ 1 ] = 0x00; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 5; - pIndexLocal = &buffer[2]; - size_t propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal = &buffer[ 2 ]; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_SHARED_SUB_ID; pIndexLocal++; - pIndexLocal[0] = 0; + pIndexLocal[ 0 ] = 0; pIndexLocal++; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL_INT(0, properties.isSharedAvailable); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_INT( 0, properties.isSharedAvailable ); /*Value more than 1 is not allowed*/ - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_SHARED_SUB_ID; pIndexLocal++; - pIndexLocal[0] = 3; + pIndexLocal[ 0 ] = 3; pIndexLocal++; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Protocol error to include the same property twice*/ packetInfo.remainingLength = 7; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 4 ); pIndexLocal++; *pIndexLocal = MQTT_SHARED_SUB_ID; pIndexLocal++; - pIndexLocal[0] = 0; + pIndexLocal[ 0 ] = 0; pIndexLocal++; *pIndexLocal = MQTT_SHARED_SUB_ID; pIndexLocal++; - pIndexLocal[0] = 0; + pIndexLocal[ 0 ] = 0; pIndexLocal++; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Invalid property length*/ - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 1); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 1 ); packetInfo.remainingLength = propertyLength + 3; pIndexLocal++; *pIndexLocal = MQTT_SHARED_SUB_ID; pIndexLocal++; - pIndexLocal[0] = 0; + pIndexLocal[ 0 ] = 0; pIndexLocal++; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); } -void test_MQTTV5_DeserializeConnackOnlyKeepAlive(void) +void test_MQTTV5_DeserializeConnackOnlyKeepAlive( void ) { MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - memset(&properties, 0x0, sizeof(properties)); - memset(&packetInfo, 0x0, sizeof(packetInfo)); - uint8_t buffer[200] = {0}; - uint8_t *pIndexLocal = buffer; - buffer[0] = 0x01; - buffer[1] = 0x00; + + memset( &properties, 0x0, sizeof( properties ) ); + memset( &packetInfo, 0x0, sizeof( packetInfo ) ); + uint8_t buffer[ 200 ] = { 0 }; + uint8_t * pIndexLocal = buffer; + buffer[ 0 ] = 0x01; + buffer[ 1 ] = 0x00; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 6; - pIndexLocal = &buffer[2]; - size_t propertyLength = encodeRemainingLength(pIndexLocal, 3); + pIndexLocal = &buffer[ 2 ]; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 3 ); pIndexLocal++; *pIndexLocal = MQTT_SERVER_KEEP_ALIVE_ID; pIndexLocal++; - pIndexLocal[0] = UINT16_HIGH_BYTE(13); - pIndexLocal[1] = UINT16_LOW_BYTE(13); - pIndexLocal = &pIndexLocal[2]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL_INT(13, properties.serverKeepAlive); + pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); + pIndexLocal = &pIndexLocal[ 2 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_INT( 13, properties.serverKeepAlive ); /*Protocol error to include the same property twice*/ packetInfo.remainingLength = 9; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 6); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 6 ); pIndexLocal++; *pIndexLocal = MQTT_SERVER_KEEP_ALIVE_ID; pIndexLocal++; - pIndexLocal[0] = UINT16_HIGH_BYTE(13); - pIndexLocal[1] = UINT16_LOW_BYTE(13); - pIndexLocal = &pIndexLocal[2]; + pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); + pIndexLocal = &pIndexLocal[ 2 ]; *pIndexLocal = MQTT_SERVER_KEEP_ALIVE_ID; pIndexLocal++; - pIndexLocal[0] = UINT16_HIGH_BYTE(13); - pIndexLocal[1] = UINT16_LOW_BYTE(13); - pIndexLocal = &pIndexLocal[2]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); + pIndexLocal = &pIndexLocal[ 2 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Invalid property length*/ - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 2 ); packetInfo.remainingLength = propertyLength + 4; pIndexLocal++; *pIndexLocal = MQTT_SERVER_KEEP_ALIVE_ID; pIndexLocal++; - pIndexLocal[0] = UINT16_HIGH_BYTE(13); - pIndexLocal[1] = UINT16_LOW_BYTE(13); - pIndexLocal = &pIndexLocal[2]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); + pIndexLocal = &pIndexLocal[ 2 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); } -void test_MQTTV5_DeserializeConnackOnlyResponseInfo(void) +void test_MQTTV5_DeserializeConnackOnlyResponseInfo( void ) { MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - memset(&properties, 0x0, sizeof(properties)); - memset(&packetInfo, 0x0, sizeof(packetInfo)); - uint8_t buffer[200] = {0}; - uint8_t *pIndexLocal = buffer; - buffer[0] = 0x01; - buffer[1] = 0x00; + + memset( &properties, 0x0, sizeof( properties ) ); + memset( &packetInfo, 0x0, sizeof( packetInfo ) ); + uint8_t buffer[ 200 ] = { 0 }; + uint8_t * pIndexLocal = buffer; + buffer[ 0 ] = 0x01; + buffer[ 1 ] = 0x00; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 8; - pIndexLocal = &buffer[2]; - size_t propertyLength = encodeRemainingLength(pIndexLocal, 5); + pIndexLocal = &buffer[ 2 ]; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = MQTT_RESPONSE_INFO_ID; pIndexLocal++; - char *string = "ab"; - size_t dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + char * string = "ab"; + size_t dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); packetInfo.remainingLength = 8; properties.reqResInfo = 1; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 5); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = MQTT_RESPONSE_INFO_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /*Protocol error to include the same property twice*/ packetInfo.remainingLength = 13; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 10); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 10 ); pIndexLocal++; *pIndexLocal = MQTT_RESPONSE_INFO_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; *pIndexLocal = MQTT_RESPONSE_INFO_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Invalid property length*/ packetInfo.remainingLength = 7; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 4 ); pIndexLocal++; *pIndexLocal = MQTT_RESPONSE_INFO_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); /*Invalid property length*/ - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 2 ); packetInfo.remainingLength = propertyLength + 4; pIndexLocal++; *pIndexLocal = MQTT_RESPONSE_INFO_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); } -void test_MQTTV5_DeserializeConnackOnlyUserProperty(void) +void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) { MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; - MQTTUserProperty_t userProperty[5]; - MQTTUserProperty_t userProperty2[5]; - memset(&properties, 0x0, sizeof(properties)); - memset(&packetInfo, 0x0, sizeof(packetInfo)); + MQTTUserProperty_t userProperty[ 5 ]; + MQTTUserProperty_t userProperty2[ 5 ]; + + memset( &properties, 0x0, sizeof( properties ) ); + memset( &packetInfo, 0x0, sizeof( packetInfo ) ); properties.outgoingUserPropSize = 1; properties.pOutgoingUserProperty = userProperty; properties.pIncomingUserProperty = userProperty2; MQTTStatus_t status; - uint8_t buffer[600] = {0}; - uint8_t *pIndexLocal = buffer; - buffer[0] = 0x01; - buffer[1] = 0x00; + uint8_t buffer[ 600 ] = { 0 }; + uint8_t * pIndexLocal = buffer; + buffer[ 0 ] = 0x01; + buffer[ 1 ] = 0x00; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 13; - pIndexLocal = &buffer[2]; - size_t propertyLength = encodeRemainingLength(pIndexLocal, 10); + pIndexLocal = &buffer[ 2 ]; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 10 ); pIndexLocal++; *pIndexLocal = MQTT_USER_PROPERTY_ID; pIndexLocal++; - char *string = "ab"; - char *string2 = "abc"; - size_t dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - size_t dummy2 = encodeString(pIndexLocal, string2, 3); - pIndexLocal = &pIndexLocal[dummy2]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL(1, properties.incomingUserPropSize); - TEST_ASSERT_EQUAL(3, (properties.pIncomingUserProperty->valueLength)); - TEST_ASSERT_EQUAL(2, (properties.pIncomingUserProperty->keyLength)); + char * string = "ab"; + char * string2 = "abc"; + size_t dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + size_t dummy2 = encodeString( pIndexLocal, string2, 3 ); + pIndexLocal = &pIndexLocal[ dummy2 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( 1, properties.incomingUserPropSize ); + TEST_ASSERT_EQUAL( 3, ( properties.pIncomingUserProperty->valueLength ) ); + TEST_ASSERT_EQUAL( 2, ( properties.pIncomingUserProperty->keyLength ) ); /*Invalid property length*/ packetInfo.remainingLength = 5; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_USER_PROPERTY_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - dummy2 = encodeString(pIndexLocal, string2, 3); - pIndexLocal = &pIndexLocal[dummy2]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + dummy2 = encodeString( pIndexLocal, string2, 3 ); + pIndexLocal = &pIndexLocal[ dummy2 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); /*Invalid property length*/ packetInfo.remainingLength = 6; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 3); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 3 ); pIndexLocal++; *pIndexLocal = MQTT_USER_PROPERTY_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - dummy2 = encodeString(pIndexLocal, string2, 3); - pIndexLocal = &pIndexLocal[dummy2]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + dummy2 = encodeString( pIndexLocal, string2, 3 ); + pIndexLocal = &pIndexLocal[ dummy2 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); /*Invalid property length*/ - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 9); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 9 ); packetInfo.remainingLength = propertyLength + 11; pIndexLocal++; *pIndexLocal = MQTT_USER_PROPERTY_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - dummy2 = encodeString(pIndexLocal, string2, 3); - pIndexLocal = &pIndexLocal[dummy2]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + dummy2 = encodeString( pIndexLocal, string2, 3 ); + pIndexLocal = &pIndexLocal[ dummy2 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); /*Invalid property length*/ packetInfo.remainingLength = 9; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 6); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 6 ); pIndexLocal++; *pIndexLocal = MQTT_USER_PROPERTY_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - dummy2 = encodeString(pIndexLocal, string2, 3); - pIndexLocal = &pIndexLocal[dummy2]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); - + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + dummy2 = encodeString( pIndexLocal, string2, 3 ); + pIndexLocal = &pIndexLocal[ dummy2 ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); } -void test_MQTTV5_DeserializeConnackOnlyServerRef(void) +void test_MQTTV5_DeserializeConnackOnlyServerRef( void ) { MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - memset(&properties, 0x0, sizeof(properties)); - memset(&packetInfo, 0x0, sizeof(packetInfo)); - uint8_t buffer[200] = {0}; - uint8_t *pIndexLocal = buffer; - buffer[0] = 0x01; - buffer[1] = 0x00; + + memset( &properties, 0x0, sizeof( properties ) ); + memset( &packetInfo, 0x0, sizeof( packetInfo ) ); + uint8_t buffer[ 200 ] = { 0 }; + uint8_t * pIndexLocal = buffer; + buffer[ 0 ] = 0x01; + buffer[ 1 ] = 0x00; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 8; - pIndexLocal = &buffer[2]; - size_t propertyLength = encodeRemainingLength(pIndexLocal, 5); + pIndexLocal = &buffer[ 2 ]; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = MQTT_SERVER_REF_ID; pIndexLocal++; - char *string = "ab"; - size_t dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL(2, properties.serverRefLength); - TEST_ASSERT_EQUAL(pIndexLocal, properties.pServerRef + 2); + char * string = "ab"; + size_t dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( 2, properties.serverRefLength ); + TEST_ASSERT_EQUAL( pIndexLocal, properties.pServerRef + 2 ); /*Protocol error to include the same property twice*/ - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 10); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 10 ); packetInfo.remainingLength = propertyLength + 12; pIndexLocal++; *pIndexLocal = MQTT_SERVER_REF_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; *pIndexLocal = MQTT_SERVER_REF_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Invalid property length*/ packetInfo.remainingLength = 7; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 4 ); pIndexLocal++; *pIndexLocal = MQTT_SERVER_REF_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); /*Invalid property length*/ packetInfo.remainingLength = 5; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_SERVER_REF_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); } -void test_MQTTV5_DeserializeConnackOnlyAuthMethod(void) +void test_MQTTV5_DeserializeConnackOnlyAuthMethod( void ) { MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTAuthInfo_t auth; MQTTAuthInfo_t auth1; MQTTStatus_t status; - memset(&properties, 0x0, sizeof(properties)); - memset(&packetInfo, 0x0, sizeof(packetInfo)); + + memset( &properties, 0x0, sizeof( properties ) ); + memset( &packetInfo, 0x0, sizeof( packetInfo ) ); properties.pIncomingAuth = &auth; properties.pOutgoingAuth = &auth1; - uint8_t buffer[200] = {0}; - uint8_t *pIndexLocal = buffer; - buffer[0] = 0x01; - buffer[1] = 0x00; + uint8_t buffer[ 200 ] = { 0 }; + uint8_t * pIndexLocal = buffer; + buffer[ 0 ] = 0x01; + buffer[ 1 ] = 0x00; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 8; - pIndexLocal = &buffer[2]; - size_t propertyLength = encodeRemainingLength(pIndexLocal, 5); + pIndexLocal = &buffer[ 2 ]; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = MQTT_AUTH_METHOD_ID; pIndexLocal++; - char *string = "ab"; - size_t dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL(2, properties.pIncomingAuth->authMethodLength); + char * string = "ab"; + size_t dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( 2, properties.pIncomingAuth->authMethodLength ); /*Outgoing auth is null*/ properties.pOutgoingAuth = NULL; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Protocol error to include auth method more than once*/ properties.pOutgoingAuth = &auth; packetInfo.remainingLength = 13; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 10); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 10 ); pIndexLocal++; *pIndexLocal = MQTT_AUTH_METHOD_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; *pIndexLocal = MQTT_AUTH_METHOD_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Invalid property length*/ packetInfo.remainingLength = 5; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_AUTH_METHOD_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); /*Invalid property length*/ - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 4 ); packetInfo.remainingLength = propertyLength + 6; pIndexLocal++; *pIndexLocal = MQTT_AUTH_METHOD_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); } -void test_MQTTV5_DeserializeConnackOnlyAuthData(void) +void test_MQTTV5_DeserializeConnackOnlyAuthData( void ) { MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTAuthInfo_t auth; MQTTAuthInfo_t auth1; MQTTStatus_t status; - memset(&properties, 0x0, sizeof(properties)); - memset(&packetInfo, 0x0, sizeof(packetInfo)); + + memset( &properties, 0x0, sizeof( properties ) ); + memset( &packetInfo, 0x0, sizeof( packetInfo ) ); properties.pIncomingAuth = &auth; properties.pOutgoingAuth = &auth1; - uint8_t buffer[200] = {0}; - uint8_t *pIndexLocal = buffer; - buffer[0] = 0x01; - buffer[1] = 0x00; + uint8_t buffer[ 200 ] = { 0 }; + uint8_t * pIndexLocal = buffer; + buffer[ 0 ] = 0x01; + buffer[ 1 ] = 0x00; bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 8; - pIndexLocal = &buffer[2]; - size_t propertyLength = encodeRemainingLength(pIndexLocal, 5); + pIndexLocal = &buffer[ 2 ]; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = MQTT_AUTH_DATA_ID; pIndexLocal++; - char *string = "ab"; - size_t dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL(2, properties.pIncomingAuth->authDataLength); + char * string = "ab"; + size_t dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + TEST_ASSERT_EQUAL( 2, properties.pIncomingAuth->authDataLength ); /*Outgoing auth is null*/ properties.pOutgoingAuth = NULL; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Protocol error to include auth method more than once*/ properties.pOutgoingAuth = &auth1; packetInfo.remainingLength = 13; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 10); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 10 ); pIndexLocal++; *pIndexLocal = MQTT_AUTH_DATA_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; *pIndexLocal = MQTT_AUTH_DATA_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError, status); + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Invalid property length*/ packetInfo.remainingLength = 5; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 2); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_AUTH_DATA_ID; pIndexLocal++; string = "ab"; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); /*Invalid property length*/ packetInfo.remainingLength = 7; - pIndexLocal = &buffer[2]; - propertyLength = encodeRemainingLength(pIndexLocal, 4); + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 4 ); packetInfo.remainingLength = propertyLength + 6; pIndexLocal++; *pIndexLocal = MQTT_AUTH_DATA_ID; pIndexLocal++; - dummy = encodeString(pIndexLocal, string, 2); - pIndexLocal = &pIndexLocal[dummy]; - status = MQTTV5_DeserializeConnack(&properties, &packetInfo, &session); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket, status); + dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); } -void test_MQTTV5_GetConnectPacketSize(void) +void test_MQTTV5_GetConnectPacketSize( void ) { MQTTConnectInfo_t connectInfo; size_t remainingLength = 0; size_t packetSize = 0; MQTTStatus_t status = MQTTSuccess; - MQTTPublishInfo_t willInfo = {0}; + MQTTPublishInfo_t willInfo = { 0 }; MQTTConnectProperties_t properties; - memset(&properties, 0x0, sizeof(properties)); + + memset( &properties, 0x0, sizeof( properties ) ); + /* Call MQTTV5_GetConnectPacketSize() with various combinations of * incorrect paramters */ properties.receiveMax = 65535U; properties.maxPacketSize = UINT32_MAX; properties.reqProbInfo = 1; - status = MQTTV5_GetConnectPacketSize(NULL, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( NULL, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, NULL, &packetSize); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, NULL, &packetSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, NULL); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, NULL ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /* Verify empty connect info fails. */ - memset(&connectInfo, 0x0, sizeof(connectInfo)); - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + memset( &connectInfo, 0x0, sizeof( connectInfo ) ); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /* Verify empty client identifier fails. */ connectInfo.pClientIdentifier = CLIENT_IDENTIFIER; connectInfo.clientIdentifierLength = 0; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); connectInfo.pClientIdentifier = NULL; connectInfo.clientIdentifierLength = CLIENT_IDENTIFIER_LENGTH; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, NULL, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, NULL, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /* Test a will message payload length that is too large. */ - memset(&connectInfo, 0x0, sizeof(connectInfo)); + memset( &connectInfo, 0x0, sizeof( connectInfo ) ); connectInfo.pClientIdentifier = CLIENT_IDENTIFIER; connectInfo.clientIdentifierLength = UINT16_MAX; connectInfo.pPassword = ""; @@ -2442,35 +2492,35 @@ void test_MQTTV5_GetConnectPacketSize(void) willInfo.topicNameLength = UINT16_MAX; /* A valid will message payload is less than the maximum 16 bit integer. */ willInfo.payloadLength = UINT16_MAX + 2; - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); /* Verify good case */ - memset(&connectInfo, 0x0, sizeof(connectInfo)); + memset( &connectInfo, 0x0, sizeof( connectInfo ) ); connectInfo.cleanSession = true; connectInfo.pClientIdentifier = "TEST"; connectInfo.clientIdentifierLength = 4; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - TEST_ASSERT_EQUAL_INT(0, properties.propertyLength); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_INT( 0, properties.propertyLength ); /* Make sure remaining size returned is 17. */ - TEST_ASSERT_EQUAL_INT(17, remainingLength); + TEST_ASSERT_EQUAL_INT( 17, remainingLength ); /* Make sure packet size is 19. */ - TEST_ASSERT_EQUAL_INT(19, packetSize); + TEST_ASSERT_EQUAL_INT( 19, packetSize ); /* With will. These parameters will cause the packet to be * 4 + 2 + 8 + 2 = 16 bytes larger. */ - memset(&willInfo, 0x0, sizeof(willInfo)); + memset( &willInfo, 0x0, sizeof( willInfo ) ); willInfo.pTopicName = "test"; willInfo.topicNameLength = 4; willInfo.pPayload = "testload"; willInfo.payloadLength = 8; - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /* Make sure remaining size returned is 32 = 16 + 16 + 2. */ - TEST_ASSERT_EQUAL_INT(34, remainingLength); + TEST_ASSERT_EQUAL_INT( 34, remainingLength ); /* Make sure packet size is 34 = 18 + 16 + 2. */ - TEST_ASSERT_EQUAL_INT(36, packetSize); + TEST_ASSERT_EQUAL_INT( 36, packetSize ); /* With username and password. This will add 4 + 2 + 4 + 2 = 12 bytes. */ connectInfo.cleanSession = true; @@ -2478,126 +2528,128 @@ void test_MQTTV5_GetConnectPacketSize(void) connectInfo.userNameLength = 4; connectInfo.pPassword = "PASS"; connectInfo.passwordLength = 4; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); /* Make sure remaining size returned is 28 = 16 + 12. */ - TEST_ASSERT_EQUAL_INT(29, remainingLength); + TEST_ASSERT_EQUAL_INT( 29, remainingLength ); /* Make sure packet size is 30 = 18 + 12. */ - TEST_ASSERT_EQUAL_INT(31, packetSize); + TEST_ASSERT_EQUAL_INT( 31, packetSize ); - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, NULL, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, NULL, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /*Validating the function Get Connect properties*/ + /* Call MQTT_GetConnectPropertiesSize() with various combinations of * incorrect paramters */ + /* - *Max Packet Size cannot be null + * Max Packet Size cannot be null */ properties.receiveMax = 24; properties.isMaxPacketSize = true; properties.maxPacketSize = 0; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); /* - *Receive Maximum cannot be 0 + * Receive Maximum cannot be 0 */ properties.isMaxPacketSize = true; properties.maxPacketSize = 40; properties.receiveMax = 0; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); properties.receiveMax = 24; properties.reqProbInfo = 1; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(8, properties.propertyLength); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( 8, properties.propertyLength ); properties.sessionExpiry = 24; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(13, properties.propertyLength); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( 13, properties.propertyLength ); properties.topicAliasMax = 24; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(16, properties.propertyLength); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( 16, properties.propertyLength ); properties.reqResInfo = 1; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(18, properties.propertyLength); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( 18, properties.propertyLength ); properties.reqProbInfo = 0; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(20, properties.propertyLength); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( 20, properties.propertyLength ); MQTTUserProperty_t userProperty; - memset(&userProperty, 0x0, sizeof(userProperty)); + memset( &userProperty, 0x0, sizeof( userProperty ) ); properties.outgoingUserPropSize = 1; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); properties.pOutgoingUserProperty = &userProperty; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); userProperty.keyLength = 3; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); userProperty.valueLength = 1; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); userProperty.pValue = "1"; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); userProperty.pKey = "2"; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); userProperty.pValue = NULL; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); userProperty.keyLength = 0; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); userProperty.valueLength = 0; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); userProperty.keyLength = 1; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); userProperty.valueLength = 1; userProperty.keyLength = 0; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); properties.outgoingUserPropSize = 6000; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); properties.outgoingUserPropSize = 1; - + /* More than 1 user property*/ - MQTTUserProperty_t user [1]; - memset(&user, 0x0, sizeof(user)); - properties.pOutgoingUserProperty =user; + MQTTUserProperty_t user[ 1 ]; + memset( &user, 0x0, sizeof( user ) ); + properties.pOutgoingUserProperty = user; properties.outgoingUserPropSize = 2; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); /* * Incoming AuthInfo not intialized. @@ -2605,47 +2657,47 @@ void test_MQTTV5_GetConnectPacketSize(void) properties.outgoingUserPropSize = 1; properties.pOutgoingUserProperty = &userProperty; MQTTAuthInfo_t auth; - memset(&auth, 0x0, sizeof(auth)); + memset( &auth, 0x0, sizeof( auth ) ); properties.pOutgoingAuth = &auth; auth.authDataLength = 1; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); MQTTAuthInfo_t auth2; - memset(&auth2, 0x0, sizeof(auth2)); + memset( &auth2, 0x0, sizeof( auth2 ) ); properties.pIncomingAuth = &auth2; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); auth.authDataLength = 0; auth.authMethodLength = 0; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); /* * Protocol Error to include Authentication Data if there is no Authentication Method */ auth.pAuthData = "1"; auth.authDataLength = 1; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); auth.authMethodLength = 3; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); auth.pAuthMethod = "234"; auth.authDataLength = 0; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); auth.pAuthData = NULL; auth.authDataLength = 1; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); /*Connect Properties*/ - memset(&properties, 0x0, sizeof(properties)); + memset( &properties, 0x0, sizeof( properties ) ); properties.sessionExpiry = 22; properties.receiveMax = 34; properties.isMaxPacketSize = true; @@ -2653,7 +2705,7 @@ void test_MQTTV5_GetConnectPacketSize(void) properties.topicAliasMax = 12; properties.reqResInfo = 1; properties.reqProbInfo = 0; - memset(&userProperty, 0x0, sizeof(userProperty)); + memset( &userProperty, 0x0, sizeof( userProperty ) ); userProperty.keyLength = 3; userProperty.valueLength = 1; userProperty.pValue = "1"; @@ -2661,76 +2713,76 @@ void test_MQTTV5_GetConnectPacketSize(void) properties.outgoingUserPropSize = 1; properties.pOutgoingUserProperty = &userProperty; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); /* Make sure remaining size returned is 58. */ - TEST_ASSERT_EQUAL_INT(58, remainingLength); + TEST_ASSERT_EQUAL_INT( 58, remainingLength ); /* Make sure packet size is 60. */ - TEST_ASSERT_EQUAL_INT(60, packetSize); + TEST_ASSERT_EQUAL_INT( 60, packetSize ); /*Validating the will properties*/ - memset(&willInfo, 0x0, sizeof(willInfo)); - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(0, willInfo.propertyLength); + memset( &willInfo, 0x0, sizeof( willInfo ) ); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( 0, willInfo.propertyLength ); willInfo.willDelay = 10; - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(5, willInfo.propertyLength); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( 5, willInfo.propertyLength ); willInfo.payloadFormat = 1; - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(7, willInfo.propertyLength); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( 7, willInfo.propertyLength ); willInfo.msgExpiryPresent = 1; willInfo.msgExpiryInterval = 10; - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(12, willInfo.propertyLength); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( 12, willInfo.propertyLength ); willInfo.contentTypeLength = 2; - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); willInfo.pContentType = "ab"; - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(17, willInfo.propertyLength); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( 17, willInfo.propertyLength ); willInfo.responseTopicLength = 2; - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); willInfo.pResponseTopic = "ab"; - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(22, willInfo.propertyLength); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( 22, willInfo.propertyLength ); willInfo.correlationLength = 2; - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); willInfo.pCorrelationData = "ab"; - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(27, willInfo.propertyLength); - - MQTTUserProperty_t userProperty1[2]; - userProperty1[0].pKey = "2"; - userProperty1[0].keyLength = 1; - userProperty1[0].valueLength = 3; - userProperty1[0].pValue = "abc"; - userProperty1[1].pKey = "2"; - userProperty1[1].keyLength = 1; - userProperty1[1].valueLength = 2; - userProperty1[1].pValue = "ab"; + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( 27, willInfo.propertyLength ); + + MQTTUserProperty_t userProperty1[ 2 ]; + userProperty1[ 0 ].pKey = "2"; + userProperty1[ 0 ].keyLength = 1; + userProperty1[ 0 ].valueLength = 3; + userProperty1[ 0 ].pValue = "abc"; + userProperty1[ 1 ].pKey = "2"; + userProperty1[ 1 ].keyLength = 1; + userProperty1[ 1 ].valueLength = 2; + userProperty1[ 1 ].pValue = "ab"; willInfo.pUserProperty = userProperty1; willInfo.userPropertySize = 2; - status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_EQUAL_size_t(44, willInfo.propertyLength); + status = MQTT_GetWillPropertiesSize( &willInfo ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_size_t( 44, willInfo.propertyLength ); willInfo.payloadFormat = 1; willInfo.msgExpiryPresent = 1; @@ -2744,107 +2796,108 @@ void test_MQTTV5_GetConnectPacketSize(void) willInfo.correlationLength = 2; willInfo.pCorrelationData = "ab"; willInfo.willDelay = 3; - // 34 + 12 + 29 - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, status); + /* 34 + 12 + 29 */ + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); /* Make sure remaining size returned is 107. */ - TEST_ASSERT_EQUAL_INT(107, remainingLength); + TEST_ASSERT_EQUAL_INT( 107, remainingLength ); /* Make sure packet size is 109. */ - TEST_ASSERT_EQUAL_INT(109, packetSize); + TEST_ASSERT_EQUAL_INT( 109, packetSize ); /*Limit of property length*/ - memset(&properties, 0x0, sizeof(properties)); - memset(&willInfo, 0x0, sizeof(willInfo)); + memset( &properties, 0x0, sizeof( properties ) ); + memset( &willInfo, 0x0, sizeof( willInfo ) ); /*5*/ properties.receiveMax = UINT16_MAX; properties.reqProbInfo = 1; - MQTTUserProperty_t userPropArr[3500]; + MQTTUserProperty_t userPropArr[ 3500 ]; properties.outgoingUserPropSize = 2078; properties.pOutgoingUserProperty = userPropArr; uint16_t i = 0; - char str[65535]; - memset(str, '.', 65535 * sizeof(char)); + char str[ 65535 ]; + memset( str, '.', 65535 * sizeof( char ) ); - for (; i < 3500; i++) + for( ; i < 3500; i++ ) { - userPropArr[i].keyLength = UINT16_MAX; - userPropArr[i].pKey = str; - userPropArr[i].pValue = str; - userPropArr[i].valueLength = UINT16_MAX; + userPropArr[ i ].keyLength = UINT16_MAX; + userPropArr[ i ].pKey = str; + userPropArr[ i ].pValue = str; + userPropArr[ i ].valueLength = UINT16_MAX; } - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); properties.outgoingUserPropSize = 0; willInfo.userPropertySize = 2048; willInfo.pUserProperty = userPropArr; - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); willInfo.userPropertySize = 2051; - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); } -// /** -// * @brief Tests that MQTTV5_SerializeConnect works as intended. -// */ -void test_MQTTV5_SerializeConnect(void) +/* / ** */ +/* * @brief Tests that MQTTV5_SerializeConnect works as intended. */ +/* * / */ +void test_MQTTV5_SerializeConnect( void ) { MQTTConnectInfo_t connectInfo; - MQTTPublishInfo_t willInfo = {0}; + MQTTPublishInfo_t willInfo = { 0 }; size_t remainingLength = 0; - uint8_t buffer[140 + 2 * BUFFER_PADDING_LENGTH]; - size_t bufferSize = sizeof(buffer) - 2 * BUFFER_PADDING_LENGTH; + uint8_t buffer[ 140 + 2 * BUFFER_PADDING_LENGTH ]; + size_t bufferSize = sizeof( buffer ) - 2 * BUFFER_PADDING_LENGTH; size_t packetSize = bufferSize; MQTTStatus_t status = MQTTSuccess; MQTTConnectProperties_t properties; - memset(&properties, 0x0, sizeof(properties)); + + memset( &properties, 0x0, sizeof( properties ) ); properties.receiveMax = 65535U; properties.isMaxPacketSize = true; properties.maxPacketSize = UINT32_MAX; properties.reqProbInfo = 1; - MQTTFixedBuffer_t fixedBuffer = {.pBuffer = &buffer[BUFFER_PADDING_LENGTH], .size = bufferSize}; + MQTTFixedBuffer_t fixedBuffer = { .pBuffer = &buffer[ BUFFER_PADDING_LENGTH ], .size = bufferSize }; /* Verify bad parameter errors. */ - status = MQTTV5_SerializeConnect(NULL, &willInfo, &properties, remainingLength, &fixedBuffer); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + status = MQTTV5_SerializeConnect( NULL, &willInfo, &properties, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - status = MQTTV5_SerializeConnect(&connectInfo, &willInfo, &properties, remainingLength, NULL); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + status = MQTTV5_SerializeConnect( &connectInfo, &willInfo, &properties, remainingLength, NULL ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - status = MQTTV5_SerializeConnect(&connectInfo, &willInfo, NULL, remainingLength, &fixedBuffer); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + status = MQTTV5_SerializeConnect( &connectInfo, &willInfo, NULL, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - memset(&connectInfo, 0x0, sizeof(connectInfo)); - status = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, 112345, &fixedBuffer); - TEST_ASSERT_EQUAL_INT(MQTTNoMemory, status); + memset( &connectInfo, 0x0, sizeof( connectInfo ) ); + status = MQTTV5_SerializeConnect( &connectInfo, NULL, &properties, 112345, &fixedBuffer ); + TEST_ASSERT_EQUAL_INT( MQTTNoMemory, status ); /* Create a good connection info. */ - memset(&connectInfo, 0x0, sizeof(connectInfo)); + memset( &connectInfo, 0x0, sizeof( connectInfo ) ); connectInfo.pClientIdentifier = "TEST"; connectInfo.clientIdentifierLength = 4; /* Inject a invalid fixed buffer test with a good connectInfo. */ - memset(&fixedBuffer, 0x0, sizeof(fixedBuffer)); - status = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, remainingLength, &fixedBuffer); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + memset( &fixedBuffer, 0x0, sizeof( fixedBuffer ) ); + status = MQTTV5_SerializeConnect( &connectInfo, NULL, &properties, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /* Good case succeeds. */ /* Set the fixedBuffer properly for the rest of the succeeding test. */ - fixedBuffer.pBuffer = &buffer[BUFFER_PADDING_LENGTH]; + fixedBuffer.pBuffer = &buffer[ BUFFER_PADDING_LENGTH ]; fixedBuffer.size = bufferSize; /* Calculate a good packet size. */ - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /* Make sure buffer has enough space */ - TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); /* Make sure test succeeds. */ - padAndResetBuffer(buffer, sizeof(buffer)); - status = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, remainingLength, &fixedBuffer); - TEST_ASSERT_EQUAL_INT(MQTTSuccess, status); - checkBufferOverflow(buffer, sizeof(buffer)); + padAndResetBuffer( buffer, sizeof( buffer ) ); + status = MQTTV5_SerializeConnect( &connectInfo, NULL, &properties, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); /* Encode user name. Also try clean session. */ connectInfo.cleanSession = true; @@ -2852,66 +2905,66 @@ void test_MQTTV5_SerializeConnect(void) connectInfo.userNameLength = 4; connectInfo.pPassword = "PASS"; connectInfo.passwordLength = 4; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); - padAndResetBuffer(buffer, sizeof(buffer)); - status = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, remainingLength, &fixedBuffer); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - checkBufferOverflow(buffer, sizeof(buffer)); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + padAndResetBuffer( buffer, sizeof( buffer ) ); + status = MQTTV5_SerializeConnect( &connectInfo, NULL, &properties, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); /* Serialize connect with LWT. */ /* Test for NULL topic name. */ - (void)memset(&willInfo, 0x00, sizeof(MQTTPublishInfo_t)); + ( void ) memset( &willInfo, 0x00, sizeof( MQTTPublishInfo_t ) ); willInfo.retain = true; willInfo.qos = MQTTQoS1; willInfo.pPayload = "test"; - willInfo.payloadLength = (uint16_t)strlen(willInfo.pPayload); - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); - status = MQTTV5_SerializeConnect(&connectInfo, &willInfo, &properties, remainingLength, &fixedBuffer); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + willInfo.payloadLength = ( uint16_t ) strlen( willInfo.pPayload ); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + status = MQTTV5_SerializeConnect( &connectInfo, &willInfo, &properties, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); /* Success. */ - (void)memset(&willInfo, 0x00, sizeof(MQTTPublishInfo_t)); + ( void ) memset( &willInfo, 0x00, sizeof( MQTTPublishInfo_t ) ); willInfo.retain = true; willInfo.qos = MQTTQoS1; willInfo.pTopicName = "test"; - willInfo.topicNameLength = (uint16_t)strlen(willInfo.pTopicName); + willInfo.topicNameLength = ( uint16_t ) strlen( willInfo.pTopicName ); willInfo.pPayload = "test"; - willInfo.payloadLength = (uint16_t)strlen(willInfo.pPayload); - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); - padAndResetBuffer(buffer, sizeof(buffer)); - status = MQTTV5_SerializeConnect(&connectInfo, &willInfo, &properties, remainingLength, &fixedBuffer); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - checkBufferOverflow(buffer, sizeof(buffer)); + willInfo.payloadLength = ( uint16_t ) strlen( willInfo.pPayload ); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + padAndResetBuffer( buffer, sizeof( buffer ) ); + status = MQTTV5_SerializeConnect( &connectInfo, &willInfo, &properties, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); /* Again with QoS 2 and 0. */ willInfo.qos = MQTTQoS2; - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); - padAndResetBuffer(buffer, sizeof(buffer)); - status = MQTTV5_SerializeConnect(&connectInfo, &willInfo, &properties, remainingLength, &fixedBuffer); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - checkBufferOverflow(buffer, sizeof(buffer)); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + padAndResetBuffer( buffer, sizeof( buffer ) ); + status = MQTTV5_SerializeConnect( &connectInfo, &willInfo, &properties, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); willInfo.qos = MQTTQoS0; willInfo.retain = false; /* NULL payload is acceptable. */ willInfo.pPayload = NULL; willInfo.payloadLength = 0; - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); - padAndResetBuffer(buffer, sizeof(buffer)); - status = MQTTV5_SerializeConnect(&connectInfo, &willInfo, &properties, remainingLength, &fixedBuffer); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - checkBufferOverflow(buffer, sizeof(buffer)); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + padAndResetBuffer( buffer, sizeof( buffer ) ); + status = MQTTV5_SerializeConnect( &connectInfo, &willInfo, &properties, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); /* Success right on the buffer boundary. */ connectInfo.pUserName = "USER"; @@ -2919,18 +2972,18 @@ void test_MQTTV5_SerializeConnect(void) /* Throwing in a possible valid zero length password. */ connectInfo.pPassword = "PASS"; connectInfo.passwordLength = 0; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); /* Set the fixed buffer to exactly the size of the packet. */ fixedBuffer.size = packetSize; - padAndResetBuffer(buffer, sizeof(buffer)); - status = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, remainingLength, &fixedBuffer); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - checkBufferOverflow(buffer, sizeof(buffer)); + padAndResetBuffer( buffer, sizeof( buffer ) ); + status = MQTTV5_SerializeConnect( &connectInfo, NULL, &properties, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); /*Connect properties not initialized*/ - status = MQTTV5_SerializeConnect(&connectInfo, &willInfo, NULL, remainingLength, &fixedBuffer); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter, status); + status = MQTTV5_SerializeConnect( &connectInfo, &willInfo, NULL, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /*Connect Properties*/ properties.sessionExpiry = 22; @@ -2941,8 +2994,8 @@ void test_MQTTV5_SerializeConnect(void) properties.reqProbInfo = 0; MQTTUserProperty_t userProperty; MQTTAuthInfo_t auth; - memset(&userProperty, 0x0, sizeof(userProperty)); - memset(&auth, 0x0, sizeof(auth)); + memset( &userProperty, 0x0, sizeof( userProperty ) ); + memset( &auth, 0x0, sizeof( auth ) ); auth.pAuthMethod = "ab"; auth.authMethodLength = 2; auth.pAuthData = "abc"; @@ -2955,38 +3008,38 @@ void test_MQTTV5_SerializeConnect(void) properties.pOutgoingUserProperty = &userProperty; properties.pOutgoingAuth = &auth; properties.pIncomingAuth = &auth; - // 29 - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); + /* 29 */ + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); /* Set the fixed buffer to exactly the size of the packet. */ fixedBuffer.size = packetSize; - padAndResetBuffer(buffer, sizeof(buffer)); - status = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, remainingLength, &fixedBuffer); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - checkBufferOverflow(buffer, sizeof(buffer)); + padAndResetBuffer( buffer, sizeof( buffer ) ); + status = MQTTV5_SerializeConnect( &connectInfo, NULL, &properties, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); auth.authDataLength = 0; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); /* Set the fixed buffer to exactly the size of the packet. */ fixedBuffer.size = packetSize; - padAndResetBuffer(buffer, sizeof(buffer)); - status = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, remainingLength, &fixedBuffer); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - checkBufferOverflow(buffer, sizeof(buffer)); + padAndResetBuffer( buffer, sizeof( buffer ) ); + status = MQTTV5_SerializeConnect( &connectInfo, NULL, &properties, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); properties.pOutgoingAuth = NULL; - status = MQTTV5_GetConnectPacketSize(&connectInfo, NULL, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); /* Set the fixed buffer to exactly the size of the packet. */ fixedBuffer.size = packetSize; - padAndResetBuffer(buffer, sizeof(buffer)); - status = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, remainingLength, &fixedBuffer); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - checkBufferOverflow(buffer, sizeof(buffer)); + padAndResetBuffer( buffer, sizeof( buffer ) ); + status = MQTTV5_SerializeConnect( &connectInfo, NULL, &properties, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); /*Will Properties*/ willInfo.payloadFormat = 1; @@ -3003,16 +3056,16 @@ void test_MQTTV5_SerializeConnect(void) willInfo.willDelay = 3; willInfo.userPropertySize = 1; willInfo.pUserProperty = &userProperty; - // 27 - status = MQTTV5_GetConnectPacketSize(&connectInfo, &willInfo, &properties, &remainingLength, &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - TEST_ASSERT_GREATER_OR_EQUAL(packetSize, bufferSize); + /* 27 */ + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); /* Set the fixed buffer to exactly the size of the packet. */ fixedBuffer.size = packetSize; - padAndResetBuffer(buffer, sizeof(buffer)); - status = MQTTV5_SerializeConnect(&connectInfo, &willInfo, &properties, remainingLength, &fixedBuffer); - TEST_ASSERT_EQUAL(MQTTSuccess, status); - checkBufferOverflow(buffer, sizeof(buffer)); + padAndResetBuffer( buffer, sizeof( buffer ) ); + status = MQTTV5_SerializeConnect( &connectInfo, &willInfo, &properties, remainingLength, &fixedBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); } /** @@ -3028,8 +3081,9 @@ void test_MQTTV5_SerializeConnect_Happy_Paths() MQTTConnectInfo_t connectInfo; MQTTPublishInfo_t willInfo; MQTTConnectProperties_t properties; - memset(&properties, 0x0, sizeof(properties)); - memset(&willInfo, 0x0, sizeof(willInfo)); + + memset( &properties, 0x0, sizeof( properties ) ); + memset( &willInfo, 0x0, sizeof( willInfo ) ); properties.sessionExpiry = 22; properties.receiveMax = 34; properties.maxPacketSize = 32; @@ -3049,41 +3103,41 @@ void test_MQTTV5_SerializeConnect_Happy_Paths() willInfo.pCorrelationData = "ab"; willInfo.willDelay = 3; /* Fill structs to pass into methods to be tested. */ - setupNetworkBuffer(&networkBuffer); - setupConnectInfo(&connectInfo); - setupPublishInfo(&willInfo); + setupNetworkBuffer( &networkBuffer ); + setupConnectInfo( &connectInfo ); + setupPublishInfo( &willInfo ); willInfo.dup = true; willInfo.retain = true; /* Get MQTT connect packet size and remaining length. */ - mqttStatus = MQTTV5_GetConnectPacketSize(&connectInfo, - &willInfo, - &properties, - &remainingLength, - &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, mqttStatus); + mqttStatus = MQTTV5_GetConnectPacketSize( &connectInfo, + &willInfo, + &properties, + &remainingLength, + &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); /* Make sure buffer has enough space. */ - TEST_ASSERT_GREATER_OR_EQUAL(packetSize, networkBuffer.size); - mqttStatus = MQTTV5_SerializeConnect(&connectInfo, &willInfo, &properties, - remainingLength, &networkBuffer); - TEST_ASSERT_EQUAL(MQTTSuccess, mqttStatus); - verifySerializedConnectPacket(&connectInfo, &willInfo, &properties, - remainingLength, &networkBuffer); - - // /* Repeat with MQTTQoS1. */ + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, networkBuffer.size ); + mqttStatus = MQTTV5_SerializeConnect( &connectInfo, &willInfo, &properties, + remainingLength, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); + verifySerializedConnectPacket( &connectInfo, &willInfo, &properties, + remainingLength, &networkBuffer ); + + /* / * Repeat with MQTTQoS1. * / */ willInfo.qos = MQTTQoS1; - mqttStatus = MQTTV5_GetConnectPacketSize(&connectInfo, - &willInfo, - &properties, - &remainingLength, - &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, mqttStatus); + mqttStatus = MQTTV5_GetConnectPacketSize( &connectInfo, + &willInfo, + &properties, + &remainingLength, + &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); /* Make sure buffer has enough space. */ - TEST_ASSERT_GREATER_OR_EQUAL(packetSize, networkBuffer.size); - mqttStatus = MQTTV5_SerializeConnect(&connectInfo, &willInfo, &properties, - remainingLength, &networkBuffer); - TEST_ASSERT_EQUAL(MQTTSuccess, mqttStatus); - verifySerializedConnectPacket(&connectInfo, &willInfo, &properties, - remainingLength, &networkBuffer); + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, networkBuffer.size ); + mqttStatus = MQTTV5_SerializeConnect( &connectInfo, &willInfo, &properties, + remainingLength, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); + verifySerializedConnectPacket( &connectInfo, &willInfo, &properties, + remainingLength, &networkBuffer ); /* Re-initialize objects for branch coverage. */ willInfo.pPayload = MQTT_SAMPLE_PAYLOAD; @@ -3101,38 +3155,38 @@ void test_MQTTV5_SerializeConnect_Happy_Paths() connectInfo.pPassword = NULL; connectInfo.passwordLength = 0; - mqttStatus = MQTTV5_GetConnectPacketSize(&connectInfo, - &willInfo, - &properties, - &remainingLength, - &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, mqttStatus); + mqttStatus = MQTTV5_GetConnectPacketSize( &connectInfo, + &willInfo, + &properties, + &remainingLength, + &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); /* Make sure buffer has enough space. */ - TEST_ASSERT_GREATER_OR_EQUAL(packetSize, networkBuffer.size); - mqttStatus = MQTTV5_SerializeConnect(&connectInfo, &willInfo, &properties, - remainingLength, &networkBuffer); - TEST_ASSERT_EQUAL(MQTTSuccess, mqttStatus); - verifySerializedConnectPacket(&connectInfo, &willInfo, &properties, - remainingLength, &networkBuffer); + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, networkBuffer.size ); + mqttStatus = MQTTV5_SerializeConnect( &connectInfo, &willInfo, &properties, + remainingLength, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); + verifySerializedConnectPacket( &connectInfo, &willInfo, &properties, + remainingLength, &networkBuffer ); /* Repeat with NULL pWillInfo. */ - mqttStatus = MQTTV5_GetConnectPacketSize(&connectInfo, - NULL, - &properties, - &remainingLength, - &packetSize); - TEST_ASSERT_EQUAL(MQTTSuccess, mqttStatus); + mqttStatus = MQTTV5_GetConnectPacketSize( &connectInfo, + NULL, + &properties, + &remainingLength, + &packetSize ); + TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); /* Make sure buffer has enough space. */ - TEST_ASSERT_GREATER_OR_EQUAL(packetSize, networkBuffer.size); - mqttStatus = MQTTV5_SerializeConnect(&connectInfo, NULL, &properties, - remainingLength, &networkBuffer); - TEST_ASSERT_EQUAL(MQTTSuccess, mqttStatus); - verifySerializedConnectPacket(&connectInfo, NULL, &properties, - remainingLength, &networkBuffer); + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, networkBuffer.size ); + mqttStatus = MQTTV5_SerializeConnect( &connectInfo, NULL, &properties, + remainingLength, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); + verifySerializedConnectPacket( &connectInfo, NULL, &properties, + remainingLength, &networkBuffer ); } -void test_WillLimit(void) +void test_WillLimit( void ) { MQTTConnectInfo_t connectInfo; size_t remainingLength = 0; @@ -3140,9 +3194,10 @@ void test_WillLimit(void) MQTTStatus_t status = MQTTSuccess; MQTTPublishInfo_t willInfo; MQTTConnectProperties_t properties; - memset(&willInfo, 0x0, sizeof(willInfo)); - memset(&properties, 0x0, sizeof(properties)); - memset(&connectInfo, 0x0, sizeof(connectInfo)); + + memset( &willInfo, 0x0, sizeof( willInfo ) ); + memset( &properties, 0x0, sizeof( properties ) ); + memset( &connectInfo, 0x0, sizeof( connectInfo ) ); connectInfo.pClientIdentifier = CLIENT_IDENTIFIER; connectInfo.clientIdentifierLength = UINT16_MAX; connectInfo.pPassword = ""; @@ -3162,24 +3217,24 @@ void test_WillLimit(void) willInfo.correlationLength = 2; willInfo.pCorrelationData = "ab"; willInfo.willDelay = 3; - MQTTUserProperty_t userPropArr[3500]; + MQTTUserProperty_t userPropArr[ 3500 ]; uint16_t i = 0; - char str[65535]; - memset(str, '.', 65535 * sizeof(char)); + char str[ 65535 ]; + memset( str, '.', 65535 * sizeof( char ) ); - for (; i < 3500; i++) + for( ; i < 3500; i++ ) { - userPropArr[i].keyLength = UINT16_MAX; - userPropArr[i].pKey = str; - userPropArr[i].pValue = str; - userPropArr[i].valueLength = UINT16_MAX; + userPropArr[ i ].keyLength = UINT16_MAX; + userPropArr[ i ].pKey = str; + userPropArr[ i ].pValue = str; + userPropArr[ i ].valueLength = UINT16_MAX; } willInfo.pUserProperty = userPropArr; willInfo.userPropertySize = 2048; - status = MQTT_GetWillPropertiesSize(&willInfo); - TEST_ASSERT_EQUAL(MQTTBadParameter, status); + status = MQTT_GetWillPropertiesSize( &willInfo ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - status = MQTTV5_GetConnectPacketSize (&connectInfo,&willInfo,&properties,&remainingLength,&packetSize); - TEST_ASSERT_EQUAL(MQTTBadParameter,status); -} \ No newline at end of file + status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); +} diff --git a/test/unit-test/MQTTv5/core_mqttv5_state_utest.c b/test/unit-test/MQTTv5/core_mqttv5_state_utest.c index 9583ae8b2..5703496a4 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_state_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_state_utest.c @@ -57,4 +57,3 @@ int suiteTearDown( int numFailures ) } /* ========================================================================== */ - diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index 07104d3a7..0c513a688 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -13,7 +13,7 @@ * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR @@ -35,8 +35,8 @@ /* Include paths for public enums, structures, and macros. */ #include "core_mqtt.h" -// #include "mock_core_mqttv5_serializer.h" -// #include "mock_core_mqttv5_state.h" +/* #include "mock_core_mqttv5_serializer.h" */ +/* #include "mock_core_mqttv5_state.h" */ #include "core_mqtt_config_defaults.h" #include "mock_core_mqtt_serializer.h" @@ -236,6 +236,7 @@ int suiteTearDown( int numFailures ) /* ========================================================================== */ + /** * @brief A mocked timer query function that increments on every call. This * guarantees that only a single iteration runs in the ProcessLoop for ease @@ -245,6 +246,7 @@ static uint32_t getTime( void ) { return globalEntryTime++; } + /** * @brief Mocked failed transport read. */ @@ -291,8 +293,10 @@ static uint8_t * MQTT_SerializeConnectFixedHeader_cb( uint8_t * pIndex, return pIndex; } -static uint8_t * MQTT_SerializeConnectProperties_cb( uint8_t* pIndex, const MQTTConnectProperties_t* pConnectProperties - ,int numcallbacks ) +static uint8_t * MQTT_SerializeConnectProperties_cb( uint8_t * pIndex, + const MQTTConnectProperties_t * pConnectProperties + , + int numcallbacks ) { ( void ) pConnectProperties; ( void ) numcallbacks; @@ -300,8 +304,10 @@ static uint8_t * MQTT_SerializeConnectProperties_cb( uint8_t* pIndex, const MQTT return pIndex; } -static uint8_t * MQTT_SerializePublishProperties_cb( const MQTTPublishInfo_t* pPublishInfo, uint8_t* pIndex - ,int numcallbacks ) +static uint8_t * MQTT_SerializePublishProperties_cb( const MQTTPublishInfo_t * pPublishInfo, + uint8_t * pIndex + , + int numcallbacks ) { ( void ) pPublishInfo; ( void ) numcallbacks; @@ -439,17 +445,18 @@ void test_MQTT_Connect_happy_path() MQTTAuthInfo_t authInfo; MQTTAuthInfo_t authInfo2; MQTTUserProperty_t userProperty; - memset(&properties,0x0,sizeof(properties)); - memset(&authInfo,0x0,sizeof(authInfo)); - memset(&authInfo2,0x0,sizeof(authInfo2)); - memset(&userProperty,0x0,sizeof(userProperty)); + + memset( &properties, 0x0, sizeof( properties ) ); + memset( &authInfo, 0x0, sizeof( authInfo ) ); + memset( &authInfo2, 0x0, sizeof( authInfo2 ) ); + memset( &userProperty, 0x0, sizeof( userProperty ) ); userProperty.pKey = "ab"; userProperty.pValue = "ab"; userProperty.keyLength = 2; userProperty.valueLength = 2; - authInfo.pAuthMethod= "2"; + authInfo.pAuthMethod = "2"; authInfo.authMethodLength = 1; - authInfo.pAuthData ="ab"; + authInfo.pAuthData = "ab"; authInfo.authDataLength = 2; setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); @@ -461,17 +468,17 @@ void test_MQTT_Connect_happy_path() /* With non-NULL Will. */ mqttContext.connectStatus = MQTTNotConnected; mqttContext.keepAliveIntervalSec = 0; - mqttContext.connectProperties= &properties; + mqttContext.connectProperties = &properties; properties.sessionExpiry = 13; properties.receiveMax = 12; properties.isMaxPacketSize = true; - properties.maxPacketSize =13; + properties.maxPacketSize = 13; properties.topicAliasMax = 13; - properties.reqProbInfo= 0; + properties.reqProbInfo = 0; properties.reqResInfo = 1; properties.outgoingUserPropSize = 1; properties.pOutgoingUserProperty = &userProperty; - properties.pOutgoingAuth= &authInfo; + properties.pOutgoingAuth = &authInfo; properties.pIncomingAuth = &authInfo2; willInfo.pTopicName = "test"; @@ -491,11 +498,11 @@ void test_MQTT_Connect_happy_path() willInfo.pCorrelationData = "ab"; willInfo.willDelay = 3; willInfo.userPropertySize = 1; - willInfo.pUserProperty=&userProperty; - connectInfo.pUserName ="hdhf"; - connectInfo.userNameLength =3; - connectInfo.passwordLength =4; - connectInfo.pPassword ="1234"; + willInfo.pUserProperty = &userProperty; + connectInfo.pUserName = "hdhf"; + connectInfo.userNameLength = 3; + connectInfo.passwordLength = 4; + connectInfo.pPassword = "1234"; mqttContext.transportInterface.send = transportSendSuccess; MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); @@ -505,7 +512,7 @@ void test_MQTT_Connect_happy_path() status = MQTT_Connect( &mqttContext, &connectInfo, NULL, timeout, &sessionPresent ); TEST_ASSERT_EQUAL_INT( MQTTRecvFailed, status ); - properties.outgoingUserPropSize =0; + properties.outgoingUserPropSize = 0; MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); @@ -554,8 +561,9 @@ void test_MQTT_Connect_receiveConnack( void ) MQTTStatus_t status; TransportInterface_t transport = { 0 }; MQTTFixedBuffer_t networkBuffer = { 0 }; - MQTTConnectProperties_t properties ={0}; + MQTTConnectProperties_t properties = { 0 }; MQTTPacketInfo_t incomingPacket = { 0 }; + setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); transport.recv = transportRecvFailure; @@ -563,7 +571,7 @@ void test_MQTT_Connect_receiveConnack( void ) memset( &mqttContext, 0x0, sizeof( mqttContext ) ); memset( &properties, 0x0, sizeof( properties ) ); MQTT_Init( &mqttContext, &transport, getTime, eventCallback, &networkBuffer ); - mqttContext.connectProperties=&properties; + mqttContext.connectProperties = &properties; /* Everything before receiving the CONNACK should succeed. */ MQTTV5_SerializeConnect_IgnoreAndReturn( MQTTSuccess ); MQTTV5_GetConnectPacketSize_IgnoreAndReturn( MQTTSuccess ); @@ -595,12 +603,11 @@ void test_MQTT_Connect_receiveConnack( void ) MQTT_GetIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); status = MQTT_Connect( &mqttContext, &connectInfo, NULL, timeout, &sessionPresent ); TEST_ASSERT_EQUAL_INT( MQTTRecvFailed, status ); - + mqttContext.transportInterface.recv = transportRecvSuccess; MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_GetIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); MQTTV5_DeserializeConnack_ExpectAnyArgsAndReturn( MQTTBadResponse ); status = MQTT_Connect( &mqttContext, &connectInfo, NULL, timeout, &sessionPresent ); TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); - - } \ No newline at end of file +} diff --git a/unit-test/MQTT/CTestTestfile.cmake b/unit-test/MQTT/CTestTestfile.cmake index 0c89e6982..b779c7303 100644 --- a/unit-test/MQTT/CTestTestfile.cmake +++ b/unit-test/MQTT/CTestTestfile.cmake @@ -1,8 +1,8 @@ -# CMake generated Testfile for +# CMake generated Testfile for # Source directory: /home/ubuntu/coreMQTT/test/unit-test/MQTT # Build directory: /home/ubuntu/coreMQTT/unit-test/MQTT -# -# This file includes the relevant testing commands required for +# +# This file includes the relevant testing commands required for # testing this directory and lists subdirectories to be tested as well. add_test([=[core_mqtt_utest]=] "/home/ubuntu/coreMQTT/bin/tests/core_mqtt_utest") set_tests_properties([=[core_mqtt_utest]=] PROPERTIES WORKING_DIRECTORY "/home/ubuntu/coreMQTT" _BACKTRACE_TRIPLES "/home/ubuntu/coreMQTT/tools/cmock/create_test.cmake;52;add_test;/home/ubuntu/coreMQTT/test/unit-test/MQTT/CMakeLists.txt;76;create_test;/home/ubuntu/coreMQTT/test/unit-test/MQTT/CMakeLists.txt;0;") diff --git a/unit-test/MQTTv5/CTestTestfile.cmake b/unit-test/MQTTv5/CTestTestfile.cmake index 9e44a1436..0fb6675f3 100644 --- a/unit-test/MQTTv5/CTestTestfile.cmake +++ b/unit-test/MQTTv5/CTestTestfile.cmake @@ -1,8 +1,8 @@ -# CMake generated Testfile for +# CMake generated Testfile for # Source directory: /home/ubuntu/coreMQTT/test/unit-test/MQTTv5 # Build directory: /home/ubuntu/coreMQTT/unit-test/MQTTv5 -# -# This file includes the relevant testing commands required for +# +# This file includes the relevant testing commands required for # testing this directory and lists subdirectories to be tested as well. add_test([=[core_mqttv5_utest]=] "/home/ubuntu/coreMQTT/bin/tests/core_mqttv5_utest") set_tests_properties([=[core_mqttv5_utest]=] PROPERTIES WORKING_DIRECTORY "/home/ubuntu/coreMQTT" _BACKTRACE_TRIPLES "/home/ubuntu/coreMQTT/tools/cmock/create_test.cmake;52;add_test;/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/CMakeLists.txt;77;create_test;/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/CMakeLists.txt;0;") From f206708c4ee7319731fc75641f11175b77a93df7 Mon Sep 17 00:00:00 2001 From: Pooja Toshniwal <142602291+Pooja-Toshniwal@users.noreply.github.com> Date: Tue, 25 Jun 2024 11:00:45 +0530 Subject: [PATCH 34/82] Delete lib directory --- lib/libcoverity_analysis.a | Bin 60102 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 lib/libcoverity_analysis.a diff --git a/lib/libcoverity_analysis.a b/lib/libcoverity_analysis.a deleted file mode 100644 index bedf18646c56c3efa72518f875f8bf3983b500b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60102 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 Date: Tue, 25 Jun 2024 11:02:47 +0530 Subject: [PATCH 35/82] Delete unit-test directory --- .../CMakeDirectoryInformation.cmake | 16 - .../Continuous.dir/DependInfo.cmake | 22 - .../MQTT/CMakeFiles/Continuous.dir/build.make | 87 -- .../Continuous.dir/cmake_clean.cmake | 8 - .../Continuous.dir/compiler_depend.make | 2 - .../Continuous.dir/compiler_depend.ts | 2 - .../CMakeFiles/Continuous.dir/progress.make | 1 - .../ContinuousBuild.dir/DependInfo.cmake | 22 - .../CMakeFiles/ContinuousBuild.dir/build.make | 87 -- .../ContinuousBuild.dir/cmake_clean.cmake | 8 - .../ContinuousBuild.dir/compiler_depend.make | 2 - .../ContinuousBuild.dir/compiler_depend.ts | 2 - .../ContinuousBuild.dir/progress.make | 1 - .../ContinuousConfigure.dir/DependInfo.cmake | 22 - .../ContinuousConfigure.dir/build.make | 87 -- .../ContinuousConfigure.dir/cmake_clean.cmake | 8 - .../compiler_depend.make | 2 - .../compiler_depend.ts | 2 - .../ContinuousConfigure.dir/progress.make | 1 - .../ContinuousCoverage.dir/DependInfo.cmake | 22 - .../ContinuousCoverage.dir/build.make | 87 -- .../ContinuousCoverage.dir/cmake_clean.cmake | 8 - .../compiler_depend.make | 2 - .../ContinuousCoverage.dir/compiler_depend.ts | 2 - .../ContinuousCoverage.dir/progress.make | 1 - .../ContinuousMemCheck.dir/DependInfo.cmake | 22 - .../ContinuousMemCheck.dir/build.make | 87 -- .../ContinuousMemCheck.dir/cmake_clean.cmake | 8 - .../compiler_depend.make | 2 - .../ContinuousMemCheck.dir/compiler_depend.ts | 2 - .../ContinuousMemCheck.dir/progress.make | 1 - .../ContinuousStart.dir/DependInfo.cmake | 22 - .../CMakeFiles/ContinuousStart.dir/build.make | 87 -- .../ContinuousStart.dir/cmake_clean.cmake | 8 - .../ContinuousStart.dir/compiler_depend.make | 2 - .../ContinuousStart.dir/compiler_depend.ts | 2 - .../ContinuousStart.dir/progress.make | 1 - .../ContinuousSubmit.dir/DependInfo.cmake | 22 - .../ContinuousSubmit.dir/build.make | 87 -- .../ContinuousSubmit.dir/cmake_clean.cmake | 8 - .../ContinuousSubmit.dir/compiler_depend.make | 2 - .../ContinuousSubmit.dir/compiler_depend.ts | 2 - .../ContinuousSubmit.dir/progress.make | 1 - .../ContinuousTest.dir/DependInfo.cmake | 22 - .../CMakeFiles/ContinuousTest.dir/build.make | 87 -- .../ContinuousTest.dir/cmake_clean.cmake | 8 - .../ContinuousTest.dir/compiler_depend.make | 2 - .../ContinuousTest.dir/compiler_depend.ts | 2 - .../ContinuousTest.dir/progress.make | 1 - .../ContinuousUpdate.dir/DependInfo.cmake | 22 - .../ContinuousUpdate.dir/build.make | 87 -- .../ContinuousUpdate.dir/cmake_clean.cmake | 8 - .../ContinuousUpdate.dir/compiler_depend.make | 2 - .../ContinuousUpdate.dir/compiler_depend.ts | 2 - .../ContinuousUpdate.dir/progress.make | 1 - .../Experimental.dir/DependInfo.cmake | 22 - .../CMakeFiles/Experimental.dir/build.make | 87 -- .../Experimental.dir/cmake_clean.cmake | 8 - .../Experimental.dir/compiler_depend.make | 2 - .../Experimental.dir/compiler_depend.ts | 2 - .../CMakeFiles/Experimental.dir/progress.make | 1 - .../ExperimentalBuild.dir/DependInfo.cmake | 22 - .../ExperimentalBuild.dir/build.make | 87 -- .../ExperimentalBuild.dir/cmake_clean.cmake | 8 - .../compiler_depend.make | 2 - .../ExperimentalBuild.dir/compiler_depend.ts | 2 - .../ExperimentalBuild.dir/progress.make | 1 - .../DependInfo.cmake | 22 - .../ExperimentalConfigure.dir/build.make | 87 -- .../cmake_clean.cmake | 8 - .../compiler_depend.make | 2 - .../compiler_depend.ts | 2 - .../ExperimentalConfigure.dir/progress.make | 1 - .../ExperimentalCoverage.dir/DependInfo.cmake | 22 - .../ExperimentalCoverage.dir/build.make | 87 -- .../cmake_clean.cmake | 8 - .../compiler_depend.make | 2 - .../compiler_depend.ts | 2 - .../ExperimentalCoverage.dir/progress.make | 1 - .../ExperimentalMemCheck.dir/DependInfo.cmake | 22 - .../ExperimentalMemCheck.dir/build.make | 87 -- .../cmake_clean.cmake | 8 - .../compiler_depend.make | 2 - .../compiler_depend.ts | 2 - .../ExperimentalMemCheck.dir/progress.make | 1 - .../ExperimentalStart.dir/DependInfo.cmake | 22 - .../ExperimentalStart.dir/build.make | 87 -- .../ExperimentalStart.dir/cmake_clean.cmake | 8 - .../compiler_depend.make | 2 - .../ExperimentalStart.dir/compiler_depend.ts | 2 - .../ExperimentalStart.dir/progress.make | 1 - .../ExperimentalSubmit.dir/DependInfo.cmake | 22 - .../ExperimentalSubmit.dir/build.make | 87 -- .../ExperimentalSubmit.dir/cmake_clean.cmake | 8 - .../compiler_depend.make | 2 - .../ExperimentalSubmit.dir/compiler_depend.ts | 2 - .../ExperimentalSubmit.dir/progress.make | 1 - .../ExperimentalTest.dir/DependInfo.cmake | 22 - .../ExperimentalTest.dir/build.make | 87 -- .../ExperimentalTest.dir/cmake_clean.cmake | 8 - .../ExperimentalTest.dir/compiler_depend.make | 2 - .../ExperimentalTest.dir/compiler_depend.ts | 2 - .../ExperimentalTest.dir/progress.make | 1 - .../ExperimentalUpdate.dir/DependInfo.cmake | 22 - .../ExperimentalUpdate.dir/build.make | 87 -- .../ExperimentalUpdate.dir/cmake_clean.cmake | 8 - .../compiler_depend.make | 2 - .../ExperimentalUpdate.dir/compiler_depend.ts | 2 - .../ExperimentalUpdate.dir/progress.make | 1 - .../CMakeFiles/Nightly.dir/DependInfo.cmake | 22 - .../MQTT/CMakeFiles/Nightly.dir/build.make | 87 -- .../CMakeFiles/Nightly.dir/cmake_clean.cmake | 8 - .../Nightly.dir/compiler_depend.make | 2 - .../CMakeFiles/Nightly.dir/compiler_depend.ts | 2 - .../MQTT/CMakeFiles/Nightly.dir/progress.make | 1 - .../NightlyBuild.dir/DependInfo.cmake | 22 - .../CMakeFiles/NightlyBuild.dir/build.make | 87 -- .../NightlyBuild.dir/cmake_clean.cmake | 8 - .../NightlyBuild.dir/compiler_depend.make | 2 - .../NightlyBuild.dir/compiler_depend.ts | 2 - .../CMakeFiles/NightlyBuild.dir/progress.make | 1 - .../NightlyConfigure.dir/DependInfo.cmake | 22 - .../NightlyConfigure.dir/build.make | 87 -- .../NightlyConfigure.dir/cmake_clean.cmake | 8 - .../NightlyConfigure.dir/compiler_depend.make | 2 - .../NightlyConfigure.dir/compiler_depend.ts | 2 - .../NightlyConfigure.dir/progress.make | 1 - .../NightlyCoverage.dir/DependInfo.cmake | 22 - .../CMakeFiles/NightlyCoverage.dir/build.make | 87 -- .../NightlyCoverage.dir/cmake_clean.cmake | 8 - .../NightlyCoverage.dir/compiler_depend.make | 2 - .../NightlyCoverage.dir/compiler_depend.ts | 2 - .../NightlyCoverage.dir/progress.make | 1 - .../NightlyMemCheck.dir/DependInfo.cmake | 22 - .../CMakeFiles/NightlyMemCheck.dir/build.make | 87 -- .../NightlyMemCheck.dir/cmake_clean.cmake | 8 - .../NightlyMemCheck.dir/compiler_depend.make | 2 - .../NightlyMemCheck.dir/compiler_depend.ts | 2 - .../NightlyMemCheck.dir/progress.make | 1 - .../NightlyMemoryCheck.dir/DependInfo.cmake | 22 - .../NightlyMemoryCheck.dir/build.make | 87 -- .../NightlyMemoryCheck.dir/cmake_clean.cmake | 8 - .../compiler_depend.make | 2 - .../NightlyMemoryCheck.dir/compiler_depend.ts | 2 - .../NightlyMemoryCheck.dir/progress.make | 1 - .../NightlyStart.dir/DependInfo.cmake | 22 - .../CMakeFiles/NightlyStart.dir/build.make | 87 -- .../NightlyStart.dir/cmake_clean.cmake | 8 - .../NightlyStart.dir/compiler_depend.make | 2 - .../NightlyStart.dir/compiler_depend.ts | 2 - .../CMakeFiles/NightlyStart.dir/progress.make | 1 - .../NightlySubmit.dir/DependInfo.cmake | 22 - .../CMakeFiles/NightlySubmit.dir/build.make | 87 -- .../NightlySubmit.dir/cmake_clean.cmake | 8 - .../NightlySubmit.dir/compiler_depend.make | 2 - .../NightlySubmit.dir/compiler_depend.ts | 2 - .../NightlySubmit.dir/progress.make | 1 - .../NightlyTest.dir/DependInfo.cmake | 22 - .../CMakeFiles/NightlyTest.dir/build.make | 87 -- .../NightlyTest.dir/cmake_clean.cmake | 8 - .../NightlyTest.dir/compiler_depend.make | 2 - .../NightlyTest.dir/compiler_depend.ts | 2 - .../CMakeFiles/NightlyTest.dir/progress.make | 1 - .../NightlyUpdate.dir/DependInfo.cmake | 22 - .../CMakeFiles/NightlyUpdate.dir/build.make | 87 -- .../NightlyUpdate.dir/cmake_clean.cmake | 8 - .../NightlyUpdate.dir/compiler_depend.make | 2 - .../NightlyUpdate.dir/compiler_depend.ts | 2 - .../NightlyUpdate.dir/progress.make | 1 - .../core_mqtt_mock.dir/DependInfo.cmake | 24 - .../CMakeFiles/core_mqtt_mock.dir/build.make | 137 --- .../core_mqtt_mock.dir/cmake_clean.cmake | 15 - .../core_mqtt_mock.dir/compiler_depend.make | 2 - .../core_mqtt_mock.dir/compiler_depend.ts | 2 - .../CMakeFiles/core_mqtt_mock.dir/depend.make | 2 - .../CMakeFiles/core_mqtt_mock.dir/flags.make | 10 - .../CMakeFiles/core_mqtt_mock.dir/link.txt | 1 - .../core_mqtt_mock.dir/progress.make | 6 - .../core_mqtt_real.dir/DependInfo.cmake | 25 - .../CMakeFiles/core_mqtt_real.dir/build.make | 143 --- .../core_mqtt_real.dir/cmake_clean.cmake | 15 - .../cmake_clean_target.cmake | 3 - .../core_mqtt_real.dir/compiler_depend.make | 2 - .../core_mqtt_real.dir/compiler_depend.ts | 2 - .../CMakeFiles/core_mqtt_real.dir/depend.make | 2 - .../CMakeFiles/core_mqtt_real.dir/flags.make | 10 - .../CMakeFiles/core_mqtt_real.dir/link.txt | 2 - .../core_mqtt_real.dir/progress.make | 5 - .../DependInfo.cmake | 24 - .../core_mqtt_serializer_utest.dir/build.make | 132 --- .../cmake_clean.cmake | 14 - .../compiler_depend.make | 2 - .../compiler_depend.ts | 2 - .../depend.make | 2 - .../core_mqtt_serializer_utest.dir/flags.make | 10 - .../core_mqtt_serializer_utest.dir/link.txt | 1 - .../progress.make | 5 - .../DependInfo.cmake | 24 - .../core_mqtt_state_utest.dir/build.make | 132 --- .../cmake_clean.cmake | 14 - .../compiler_depend.make | 2 - .../compiler_depend.ts | 2 - .../core_mqtt_state_utest.dir/depend.make | 2 - .../core_mqtt_state_utest.dir/flags.make | 10 - .../core_mqtt_state_utest.dir/link.txt | 1 - .../core_mqtt_state_utest.dir/progress.make | 5 - .../core_mqtt_utest.dir/DependInfo.cmake | 24 - .../CMakeFiles/core_mqtt_utest.dir/build.make | 132 --- .../core_mqtt_utest.dir/cmake_clean.cmake | 14 - .../core_mqtt_utest.dir/compiler_depend.make | 2 - .../core_mqtt_utest.dir/compiler_depend.ts | 2 - .../core_mqtt_utest.dir/depend.make | 2 - .../CMakeFiles/core_mqtt_utest.dir/flags.make | 10 - .../CMakeFiles/core_mqtt_utest.dir/link.txt | 1 - .../core_mqtt_utest.dir/progress.make | 5 - unit-test/MQTT/CMakeFiles/progress.marks | 1 - unit-test/MQTT/CTestTestfile.cmake | 12 - unit-test/MQTT/Makefile | 943 ------------------ unit-test/MQTT/cmake_install.cmake | 44 - .../CMakeDirectoryInformation.cmake | 16 - .../core_mqttv5_mock.dir/DependInfo.cmake | 24 - .../core_mqttv5_mock.dir/build.make | 137 --- .../core_mqttv5_mock.dir/cmake_clean.cmake | 15 - .../core_mqttv5_mock.dir/compiler_depend.make | 2 - .../core_mqttv5_mock.dir/compiler_depend.ts | 2 - .../core_mqttv5_mock.dir/depend.make | 2 - .../core_mqttv5_mock.dir/flags.make | 10 - .../CMakeFiles/core_mqttv5_mock.dir/link.txt | 1 - .../core_mqttv5_mock.dir/progress.make | 6 - .../core_mqttv5_real.dir/DependInfo.cmake | 25 - .../core_mqttv5_real.dir/build.make | 143 --- .../core_mqttv5_real.dir/cmake_clean.cmake | 15 - .../cmake_clean_target.cmake | 3 - .../core_mqttv5_real.dir/compiler_depend.make | 2 - .../core_mqttv5_real.dir/compiler_depend.ts | 2 - .../core_mqttv5_real.dir/depend.make | 2 - .../core_mqttv5_real.dir/flags.make | 10 - .../CMakeFiles/core_mqttv5_real.dir/link.txt | 2 - .../core_mqttv5_real.dir/progress.make | 5 - .../DependInfo.cmake | 24 - .../build.make | 132 --- .../cmake_clean.cmake | 14 - .../compiler_depend.make | 2 - .../compiler_depend.ts | 2 - .../depend.make | 2 - .../flags.make | 10 - .../core_mqttv5_serializer_utest.dir/link.txt | 1 - .../progress.make | 5 - .../DependInfo.cmake | 24 - .../core_mqttv5_state_utest.dir/build.make | 132 --- .../cmake_clean.cmake | 14 - .../compiler_depend.make | 2 - .../compiler_depend.ts | 2 - .../core_mqttv5_state_utest.dir/depend.make | 2 - .../core_mqttv5_state_utest.dir/flags.make | 10 - .../core_mqttv5_state_utest.dir/link.txt | 1 - .../core_mqttv5_state_utest.dir/progress.make | 5 - .../core_mqttv5_utest.dir/DependInfo.cmake | 24 - .../core_mqttv5_utest.dir/build.make | 132 --- .../core_mqttv5_utest.dir/cmake_clean.cmake | 14 - .../compiler_depend.make | 2 - .../core_mqttv5_utest.dir/compiler_depend.ts | 2 - .../core_mqttv5_utest.dir/depend.make | 2 - .../core_mqttv5_utest.dir/flags.make | 10 - .../CMakeFiles/core_mqttv5_utest.dir/link.txt | 1 - .../core_mqttv5_utest.dir/progress.make | 5 - unit-test/MQTTv5/CMakeFiles/progress.marks | 1 - unit-test/MQTTv5/CTestTestfile.cmake | 12 - unit-test/MQTTv5/Makefile | 523 ---------- unit-test/MQTTv5/cmake_install.cmake | 44 - 270 files changed, 6996 deletions(-) delete mode 100644 unit-test/MQTT/CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/Continuous.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/Continuous.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/Continuous.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/Continuous.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/Continuous.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/Continuous.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousStart.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousStart.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousStart.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousStart.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousStart.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousTest.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousTest.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousTest.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousTest.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousTest.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/Experimental.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/Experimental.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/Experimental.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/Experimental.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/Experimental.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/Experimental.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/Nightly.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/Nightly.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/Nightly.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/Nightly.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/Nightly.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/Nightly.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyBuild.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyBuild.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyBuild.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyBuild.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyBuild.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyStart.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyStart.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyStart.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyStart.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyStart.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyStart.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlySubmit.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlySubmit.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/NightlySubmit.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlySubmit.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/NightlySubmit.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyTest.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyTest.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyTest.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyTest.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyTest.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyTest.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/flags.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/link.txt delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/cmake_clean_target.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/flags.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/link.txt delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/flags.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/link.txt delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/flags.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/link.txt delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/DependInfo.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/compiler_depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/compiler_depend.ts delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/depend.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/flags.make delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/link.txt delete mode 100644 unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/progress.make delete mode 100644 unit-test/MQTT/CMakeFiles/progress.marks delete mode 100644 unit-test/MQTT/CTestTestfile.cmake delete mode 100644 unit-test/MQTT/Makefile delete mode 100644 unit-test/MQTT/cmake_install.cmake delete mode 100644 unit-test/MQTTv5/CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/DependInfo.cmake delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/compiler_depend.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/compiler_depend.ts delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/depend.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/flags.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/link.txt delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/progress.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/DependInfo.cmake delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/cmake_clean_target.cmake delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.ts delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/depend.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/flags.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/link.txt delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/progress.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/DependInfo.cmake delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/compiler_depend.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/compiler_depend.ts delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/depend.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/flags.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/link.txt delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/progress.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/DependInfo.cmake delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/compiler_depend.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/compiler_depend.ts delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/depend.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/flags.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/link.txt delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/progress.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/DependInfo.cmake delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/cmake_clean.cmake delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/compiler_depend.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/compiler_depend.ts delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/depend.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/flags.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/link.txt delete mode 100644 unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/progress.make delete mode 100644 unit-test/MQTTv5/CMakeFiles/progress.marks delete mode 100644 unit-test/MQTTv5/CTestTestfile.cmake delete mode 100644 unit-test/MQTTv5/Makefile delete mode 100644 unit-test/MQTTv5/cmake_install.cmake diff --git a/unit-test/MQTT/CMakeFiles/CMakeDirectoryInformation.cmake b/unit-test/MQTT/CMakeFiles/CMakeDirectoryInformation.cmake deleted file mode 100644 index 53a389810..000000000 --- a/unit-test/MQTT/CMakeFiles/CMakeDirectoryInformation.cmake +++ /dev/null @@ -1,16 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Relative path conversion top directories. -set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/ubuntu/coreMQTT/test") -set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/ubuntu/coreMQTT") - -# Force unix paths in dependencies. -set(CMAKE_FORCE_UNIX_PATHS 1) - - -# The C and CXX include file regular expressions for this directory. -set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") -set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") -set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) -set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/unit-test/MQTT/CMakeFiles/Continuous.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/Continuous.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/Continuous.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/Continuous.dir/build.make b/unit-test/MQTT/CMakeFiles/Continuous.dir/build.make deleted file mode 100644 index 92a398a0c..000000000 --- a/unit-test/MQTT/CMakeFiles/Continuous.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for Continuous. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/Continuous.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/Continuous.dir/progress.make - -unit-test/MQTT/CMakeFiles/Continuous: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D Continuous - -Continuous: unit-test/MQTT/CMakeFiles/Continuous -Continuous: unit-test/MQTT/CMakeFiles/Continuous.dir/build.make -.PHONY : Continuous - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/Continuous.dir/build: Continuous -.PHONY : unit-test/MQTT/CMakeFiles/Continuous.dir/build - -unit-test/MQTT/CMakeFiles/Continuous.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/Continuous.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/Continuous.dir/clean - -unit-test/MQTT/CMakeFiles/Continuous.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/Continuous.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/Continuous.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/Continuous.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/Continuous.dir/cmake_clean.cmake deleted file mode 100644 index 7e1791cf8..000000000 --- a/unit-test/MQTT/CMakeFiles/Continuous.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/Continuous" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/Continuous.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/Continuous.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/Continuous.dir/compiler_depend.make deleted file mode 100644 index 4e014e081..000000000 --- a/unit-test/MQTT/CMakeFiles/Continuous.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for Continuous. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/Continuous.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/Continuous.dir/compiler_depend.ts deleted file mode 100644 index 86303622d..000000000 --- a/unit-test/MQTT/CMakeFiles/Continuous.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for Continuous. diff --git a/unit-test/MQTT/CMakeFiles/Continuous.dir/progress.make b/unit-test/MQTT/CMakeFiles/Continuous.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/Continuous.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build.make b/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build.make deleted file mode 100644 index 35ea26398..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for ContinuousBuild. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/progress.make - -unit-test/MQTT/CMakeFiles/ContinuousBuild: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ContinuousBuild - -ContinuousBuild: unit-test/MQTT/CMakeFiles/ContinuousBuild -ContinuousBuild: unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build.make -.PHONY : ContinuousBuild - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build: ContinuousBuild -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build - -unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/clean - -unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake deleted file mode 100644 index afccd1368..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ContinuousBuild" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ContinuousBuild.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/compiler_depend.make deleted file mode 100644 index 00b62ad4d..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for ContinuousBuild. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/compiler_depend.ts deleted file mode 100644 index 1cb861826..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for ContinuousBuild. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/progress.make b/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build.make b/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build.make deleted file mode 100644 index a0d3a59ff..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for ContinuousConfigure. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/progress.make - -unit-test/MQTT/CMakeFiles/ContinuousConfigure: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ContinuousConfigure - -ContinuousConfigure: unit-test/MQTT/CMakeFiles/ContinuousConfigure -ContinuousConfigure: unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build.make -.PHONY : ContinuousConfigure - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build: ContinuousConfigure -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build - -unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/clean - -unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake deleted file mode 100644 index eb51e2048..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ContinuousConfigure" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ContinuousConfigure.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/compiler_depend.make deleted file mode 100644 index 584c8bb3f..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for ContinuousConfigure. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/compiler_depend.ts deleted file mode 100644 index c8a342772..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for ContinuousConfigure. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/progress.make b/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build.make b/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build.make deleted file mode 100644 index 58afab27b..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for ContinuousCoverage. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/progress.make - -unit-test/MQTT/CMakeFiles/ContinuousCoverage: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ContinuousCoverage - -ContinuousCoverage: unit-test/MQTT/CMakeFiles/ContinuousCoverage -ContinuousCoverage: unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build.make -.PHONY : ContinuousCoverage - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build: ContinuousCoverage -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build - -unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/clean - -unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake deleted file mode 100644 index 6115f89bd..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ContinuousCoverage" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ContinuousCoverage.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/compiler_depend.make deleted file mode 100644 index 8d1a807b1..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for ContinuousCoverage. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/compiler_depend.ts deleted file mode 100644 index 23d476b9f..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for ContinuousCoverage. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/progress.make b/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build.make b/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build.make deleted file mode 100644 index 21f7b9788..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for ContinuousMemCheck. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/progress.make - -unit-test/MQTT/CMakeFiles/ContinuousMemCheck: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ContinuousMemCheck - -ContinuousMemCheck: unit-test/MQTT/CMakeFiles/ContinuousMemCheck -ContinuousMemCheck: unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build.make -.PHONY : ContinuousMemCheck - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build: ContinuousMemCheck -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build - -unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/clean - -unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake deleted file mode 100644 index ad69e7ff4..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ContinuousMemCheck" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ContinuousMemCheck.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/compiler_depend.make deleted file mode 100644 index 930bb6168..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for ContinuousMemCheck. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/compiler_depend.ts deleted file mode 100644 index 4f4fc23fc..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for ContinuousMemCheck. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/progress.make b/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build.make b/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build.make deleted file mode 100644 index 3a69685d6..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for ContinuousStart. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/ContinuousStart.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/ContinuousStart.dir/progress.make - -unit-test/MQTT/CMakeFiles/ContinuousStart: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ContinuousStart - -ContinuousStart: unit-test/MQTT/CMakeFiles/ContinuousStart -ContinuousStart: unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build.make -.PHONY : ContinuousStart - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build: ContinuousStart -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build - -unit-test/MQTT/CMakeFiles/ContinuousStart.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ContinuousStart.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousStart.dir/clean - -unit-test/MQTT/CMakeFiles/ContinuousStart.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousStart.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/cmake_clean.cmake deleted file mode 100644 index 13d5b2bcc..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ContinuousStart" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ContinuousStart.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/compiler_depend.make deleted file mode 100644 index af626145d..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for ContinuousStart. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/compiler_depend.ts deleted file mode 100644 index fcc8893db..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for ContinuousStart. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/progress.make b/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousStart.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build.make b/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build.make deleted file mode 100644 index b0291b15f..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for ContinuousSubmit. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/progress.make - -unit-test/MQTT/CMakeFiles/ContinuousSubmit: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ContinuousSubmit - -ContinuousSubmit: unit-test/MQTT/CMakeFiles/ContinuousSubmit -ContinuousSubmit: unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build.make -.PHONY : ContinuousSubmit - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build: ContinuousSubmit -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build - -unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/clean - -unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake deleted file mode 100644 index cc66ba377..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ContinuousSubmit" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ContinuousSubmit.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/compiler_depend.make deleted file mode 100644 index 338091693..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for ContinuousSubmit. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/compiler_depend.ts deleted file mode 100644 index 73d7404b9..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for ContinuousSubmit. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/progress.make b/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build.make b/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build.make deleted file mode 100644 index e4178bfd1..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for ContinuousTest. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/ContinuousTest.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/ContinuousTest.dir/progress.make - -unit-test/MQTT/CMakeFiles/ContinuousTest: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ContinuousTest - -ContinuousTest: unit-test/MQTT/CMakeFiles/ContinuousTest -ContinuousTest: unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build.make -.PHONY : ContinuousTest - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build: ContinuousTest -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build - -unit-test/MQTT/CMakeFiles/ContinuousTest.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ContinuousTest.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousTest.dir/clean - -unit-test/MQTT/CMakeFiles/ContinuousTest.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousTest.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/cmake_clean.cmake deleted file mode 100644 index ff11d485d..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ContinuousTest" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ContinuousTest.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/compiler_depend.make deleted file mode 100644 index 24d664a29..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for ContinuousTest. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/compiler_depend.ts deleted file mode 100644 index bd7c1d1f5..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for ContinuousTest. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/progress.make b/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousTest.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build.make b/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build.make deleted file mode 100644 index 81d695f98..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for ContinuousUpdate. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/progress.make - -unit-test/MQTT/CMakeFiles/ContinuousUpdate: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ContinuousUpdate - -ContinuousUpdate: unit-test/MQTT/CMakeFiles/ContinuousUpdate -ContinuousUpdate: unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build.make -.PHONY : ContinuousUpdate - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build: ContinuousUpdate -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build - -unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/clean - -unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake deleted file mode 100644 index 7a77a24c3..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ContinuousUpdate" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ContinuousUpdate.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/compiler_depend.make deleted file mode 100644 index b37322694..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for ContinuousUpdate. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/compiler_depend.ts deleted file mode 100644 index ed8de9256..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for ContinuousUpdate. diff --git a/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/progress.make b/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/Experimental.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/Experimental.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/Experimental.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/Experimental.dir/build.make b/unit-test/MQTT/CMakeFiles/Experimental.dir/build.make deleted file mode 100644 index 6731774e9..000000000 --- a/unit-test/MQTT/CMakeFiles/Experimental.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for Experimental. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/Experimental.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/Experimental.dir/progress.make - -unit-test/MQTT/CMakeFiles/Experimental: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D Experimental - -Experimental: unit-test/MQTT/CMakeFiles/Experimental -Experimental: unit-test/MQTT/CMakeFiles/Experimental.dir/build.make -.PHONY : Experimental - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/Experimental.dir/build: Experimental -.PHONY : unit-test/MQTT/CMakeFiles/Experimental.dir/build - -unit-test/MQTT/CMakeFiles/Experimental.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/Experimental.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/Experimental.dir/clean - -unit-test/MQTT/CMakeFiles/Experimental.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/Experimental.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/Experimental.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/Experimental.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/Experimental.dir/cmake_clean.cmake deleted file mode 100644 index 799e7082f..000000000 --- a/unit-test/MQTT/CMakeFiles/Experimental.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/Experimental" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/Experimental.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/Experimental.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/Experimental.dir/compiler_depend.make deleted file mode 100644 index df83d58ef..000000000 --- a/unit-test/MQTT/CMakeFiles/Experimental.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for Experimental. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/Experimental.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/Experimental.dir/compiler_depend.ts deleted file mode 100644 index 2619b9b51..000000000 --- a/unit-test/MQTT/CMakeFiles/Experimental.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for Experimental. diff --git a/unit-test/MQTT/CMakeFiles/Experimental.dir/progress.make b/unit-test/MQTT/CMakeFiles/Experimental.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/Experimental.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build.make b/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build.make deleted file mode 100644 index 58c79a106..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for ExperimentalBuild. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/progress.make - -unit-test/MQTT/CMakeFiles/ExperimentalBuild: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ExperimentalBuild - -ExperimentalBuild: unit-test/MQTT/CMakeFiles/ExperimentalBuild -ExperimentalBuild: unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build.make -.PHONY : ExperimentalBuild - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build: ExperimentalBuild -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build - -unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/clean - -unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake deleted file mode 100644 index 3354e3f1c..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ExperimentalBuild" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ExperimentalBuild.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/compiler_depend.make deleted file mode 100644 index 760863142..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for ExperimentalBuild. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/compiler_depend.ts deleted file mode 100644 index 34d916063..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for ExperimentalBuild. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/progress.make b/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build.make b/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build.make deleted file mode 100644 index 6413e7ff4..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for ExperimentalConfigure. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/progress.make - -unit-test/MQTT/CMakeFiles/ExperimentalConfigure: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ExperimentalConfigure - -ExperimentalConfigure: unit-test/MQTT/CMakeFiles/ExperimentalConfigure -ExperimentalConfigure: unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build.make -.PHONY : ExperimentalConfigure - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build: ExperimentalConfigure -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build - -unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/clean - -unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake deleted file mode 100644 index 69e4a7199..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ExperimentalConfigure" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ExperimentalConfigure.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/compiler_depend.make deleted file mode 100644 index 073879663..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for ExperimentalConfigure. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/compiler_depend.ts deleted file mode 100644 index 51fc32c42..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for ExperimentalConfigure. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/progress.make b/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build.make b/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build.make deleted file mode 100644 index 2353222b6..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for ExperimentalCoverage. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/progress.make - -unit-test/MQTT/CMakeFiles/ExperimentalCoverage: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ExperimentalCoverage - -ExperimentalCoverage: unit-test/MQTT/CMakeFiles/ExperimentalCoverage -ExperimentalCoverage: unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build.make -.PHONY : ExperimentalCoverage - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build: ExperimentalCoverage -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build - -unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/clean - -unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake deleted file mode 100644 index b8d6597a5..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ExperimentalCoverage" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ExperimentalCoverage.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/compiler_depend.make deleted file mode 100644 index 4c327cbb3..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for ExperimentalCoverage. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/compiler_depend.ts deleted file mode 100644 index d3bffd388..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for ExperimentalCoverage. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/progress.make b/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build.make b/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build.make deleted file mode 100644 index 137c24ff6..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for ExperimentalMemCheck. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/progress.make - -unit-test/MQTT/CMakeFiles/ExperimentalMemCheck: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ExperimentalMemCheck - -ExperimentalMemCheck: unit-test/MQTT/CMakeFiles/ExperimentalMemCheck -ExperimentalMemCheck: unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build.make -.PHONY : ExperimentalMemCheck - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build: ExperimentalMemCheck -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build - -unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/clean - -unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake deleted file mode 100644 index ed3f7bc0d..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ExperimentalMemCheck" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ExperimentalMemCheck.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/compiler_depend.make deleted file mode 100644 index ab194c2b9..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for ExperimentalMemCheck. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/compiler_depend.ts deleted file mode 100644 index 5d0d9acc8..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for ExperimentalMemCheck. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/progress.make b/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build.make b/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build.make deleted file mode 100644 index f5a4a9a93..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for ExperimentalStart. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/progress.make - -unit-test/MQTT/CMakeFiles/ExperimentalStart: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ExperimentalStart - -ExperimentalStart: unit-test/MQTT/CMakeFiles/ExperimentalStart -ExperimentalStart: unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build.make -.PHONY : ExperimentalStart - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build: ExperimentalStart -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build - -unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/clean - -unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake deleted file mode 100644 index 4e2736b1b..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ExperimentalStart" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ExperimentalStart.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/compiler_depend.make deleted file mode 100644 index 29aab519f..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for ExperimentalStart. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/compiler_depend.ts deleted file mode 100644 index a636e5c05..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for ExperimentalStart. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/progress.make b/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build.make b/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build.make deleted file mode 100644 index 2d8d5bb69..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for ExperimentalSubmit. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/progress.make - -unit-test/MQTT/CMakeFiles/ExperimentalSubmit: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ExperimentalSubmit - -ExperimentalSubmit: unit-test/MQTT/CMakeFiles/ExperimentalSubmit -ExperimentalSubmit: unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build.make -.PHONY : ExperimentalSubmit - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build: ExperimentalSubmit -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build - -unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/clean - -unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake deleted file mode 100644 index d130e45a3..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ExperimentalSubmit" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ExperimentalSubmit.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/compiler_depend.make deleted file mode 100644 index 444017272..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for ExperimentalSubmit. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/compiler_depend.ts deleted file mode 100644 index 7fa97b160..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for ExperimentalSubmit. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/progress.make b/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build.make b/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build.make deleted file mode 100644 index c518c585b..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for ExperimentalTest. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/progress.make - -unit-test/MQTT/CMakeFiles/ExperimentalTest: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ExperimentalTest - -ExperimentalTest: unit-test/MQTT/CMakeFiles/ExperimentalTest -ExperimentalTest: unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build.make -.PHONY : ExperimentalTest - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build: ExperimentalTest -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build - -unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/clean - -unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake deleted file mode 100644 index 4348aa36d..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ExperimentalTest" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ExperimentalTest.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/compiler_depend.make deleted file mode 100644 index fab28a944..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for ExperimentalTest. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/compiler_depend.ts deleted file mode 100644 index fbeb091d4..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for ExperimentalTest. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/progress.make b/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build.make b/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build.make deleted file mode 100644 index 32c42781f..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for ExperimentalUpdate. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/progress.make - -unit-test/MQTT/CMakeFiles/ExperimentalUpdate: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D ExperimentalUpdate - -ExperimentalUpdate: unit-test/MQTT/CMakeFiles/ExperimentalUpdate -ExperimentalUpdate: unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build.make -.PHONY : ExperimentalUpdate - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build: ExperimentalUpdate -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build - -unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/clean - -unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake deleted file mode 100644 index 231904943..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ExperimentalUpdate" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ExperimentalUpdate.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/compiler_depend.make deleted file mode 100644 index 30e8f2cac..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for ExperimentalUpdate. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/compiler_depend.ts deleted file mode 100644 index aa7a97edf..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for ExperimentalUpdate. diff --git a/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/progress.make b/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/Nightly.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/Nightly.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/Nightly.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/Nightly.dir/build.make b/unit-test/MQTT/CMakeFiles/Nightly.dir/build.make deleted file mode 100644 index 946c5e17c..000000000 --- a/unit-test/MQTT/CMakeFiles/Nightly.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for Nightly. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/Nightly.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/Nightly.dir/progress.make - -unit-test/MQTT/CMakeFiles/Nightly: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D Nightly - -Nightly: unit-test/MQTT/CMakeFiles/Nightly -Nightly: unit-test/MQTT/CMakeFiles/Nightly.dir/build.make -.PHONY : Nightly - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/Nightly.dir/build: Nightly -.PHONY : unit-test/MQTT/CMakeFiles/Nightly.dir/build - -unit-test/MQTT/CMakeFiles/Nightly.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/Nightly.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/Nightly.dir/clean - -unit-test/MQTT/CMakeFiles/Nightly.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/Nightly.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/Nightly.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/Nightly.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/Nightly.dir/cmake_clean.cmake deleted file mode 100644 index 99a4ac149..000000000 --- a/unit-test/MQTT/CMakeFiles/Nightly.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/Nightly" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/Nightly.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/Nightly.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/Nightly.dir/compiler_depend.make deleted file mode 100644 index b53ef7a75..000000000 --- a/unit-test/MQTT/CMakeFiles/Nightly.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for Nightly. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/Nightly.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/Nightly.dir/compiler_depend.ts deleted file mode 100644 index a85d2c815..000000000 --- a/unit-test/MQTT/CMakeFiles/Nightly.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for Nightly. diff --git a/unit-test/MQTT/CMakeFiles/Nightly.dir/progress.make b/unit-test/MQTT/CMakeFiles/Nightly.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/Nightly.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build.make b/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build.make deleted file mode 100644 index cf4165393..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for NightlyBuild. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/NightlyBuild.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/NightlyBuild.dir/progress.make - -unit-test/MQTT/CMakeFiles/NightlyBuild: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D NightlyBuild - -NightlyBuild: unit-test/MQTT/CMakeFiles/NightlyBuild -NightlyBuild: unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build.make -.PHONY : NightlyBuild - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build: NightlyBuild -.PHONY : unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build - -unit-test/MQTT/CMakeFiles/NightlyBuild.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/NightlyBuild.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/NightlyBuild.dir/clean - -unit-test/MQTT/CMakeFiles/NightlyBuild.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/NightlyBuild.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/cmake_clean.cmake deleted file mode 100644 index 7aa38a784..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/NightlyBuild" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/NightlyBuild.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/compiler_depend.make deleted file mode 100644 index da2f34755..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for NightlyBuild. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/compiler_depend.ts deleted file mode 100644 index 89e696096..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for NightlyBuild. diff --git a/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/progress.make b/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyBuild.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build.make b/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build.make deleted file mode 100644 index d1480021b..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for NightlyConfigure. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/progress.make - -unit-test/MQTT/CMakeFiles/NightlyConfigure: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D NightlyConfigure - -NightlyConfigure: unit-test/MQTT/CMakeFiles/NightlyConfigure -NightlyConfigure: unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build.make -.PHONY : NightlyConfigure - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build: NightlyConfigure -.PHONY : unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build - -unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/clean - -unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake deleted file mode 100644 index 080c729b9..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/NightlyConfigure" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/NightlyConfigure.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/compiler_depend.make deleted file mode 100644 index 973bd2a5b..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for NightlyConfigure. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/compiler_depend.ts deleted file mode 100644 index 3e550dad8..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for NightlyConfigure. diff --git a/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/progress.make b/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build.make b/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build.make deleted file mode 100644 index 6c544c261..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for NightlyCoverage. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/progress.make - -unit-test/MQTT/CMakeFiles/NightlyCoverage: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D NightlyCoverage - -NightlyCoverage: unit-test/MQTT/CMakeFiles/NightlyCoverage -NightlyCoverage: unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build.make -.PHONY : NightlyCoverage - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build: NightlyCoverage -.PHONY : unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build - -unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/clean - -unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake deleted file mode 100644 index d6cba89b0..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/NightlyCoverage" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/NightlyCoverage.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/compiler_depend.make deleted file mode 100644 index 9f188a1ee..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for NightlyCoverage. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/compiler_depend.ts deleted file mode 100644 index 3092ba3e9..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for NightlyCoverage. diff --git a/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/progress.make b/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build.make b/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build.make deleted file mode 100644 index dc1baba69..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for NightlyMemCheck. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/progress.make - -unit-test/MQTT/CMakeFiles/NightlyMemCheck: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D NightlyMemCheck - -NightlyMemCheck: unit-test/MQTT/CMakeFiles/NightlyMemCheck -NightlyMemCheck: unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build.make -.PHONY : NightlyMemCheck - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build: NightlyMemCheck -.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build - -unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/clean - -unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake deleted file mode 100644 index 3c0e881a0..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/NightlyMemCheck" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/NightlyMemCheck.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/compiler_depend.make deleted file mode 100644 index 6c54911b9..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for NightlyMemCheck. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/compiler_depend.ts deleted file mode 100644 index c176eda13..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for NightlyMemCheck. diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/progress.make b/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build.make b/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build.make deleted file mode 100644 index aa934d4ae..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for NightlyMemoryCheck. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/progress.make - -unit-test/MQTT/CMakeFiles/NightlyMemoryCheck: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D NightlyMemoryCheck - -NightlyMemoryCheck: unit-test/MQTT/CMakeFiles/NightlyMemoryCheck -NightlyMemoryCheck: unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build.make -.PHONY : NightlyMemoryCheck - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build: NightlyMemoryCheck -.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build - -unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/clean - -unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake deleted file mode 100644 index 884661158..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/NightlyMemoryCheck" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/NightlyMemoryCheck.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/compiler_depend.make deleted file mode 100644 index 3aa41e77c..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for NightlyMemoryCheck. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/compiler_depend.ts deleted file mode 100644 index 38e1ae0cf..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for NightlyMemoryCheck. diff --git a/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/progress.make b/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/NightlyStart.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/NightlyStart.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyStart.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/NightlyStart.dir/build.make b/unit-test/MQTT/CMakeFiles/NightlyStart.dir/build.make deleted file mode 100644 index d6fb5754d..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyStart.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for NightlyStart. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/NightlyStart.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/NightlyStart.dir/progress.make - -unit-test/MQTT/CMakeFiles/NightlyStart: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D NightlyStart - -NightlyStart: unit-test/MQTT/CMakeFiles/NightlyStart -NightlyStart: unit-test/MQTT/CMakeFiles/NightlyStart.dir/build.make -.PHONY : NightlyStart - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/NightlyStart.dir/build: NightlyStart -.PHONY : unit-test/MQTT/CMakeFiles/NightlyStart.dir/build - -unit-test/MQTT/CMakeFiles/NightlyStart.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/NightlyStart.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/NightlyStart.dir/clean - -unit-test/MQTT/CMakeFiles/NightlyStart.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyStart.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/NightlyStart.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/NightlyStart.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/NightlyStart.dir/cmake_clean.cmake deleted file mode 100644 index 6a2c6c6f4..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyStart.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/NightlyStart" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/NightlyStart.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/NightlyStart.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/NightlyStart.dir/compiler_depend.make deleted file mode 100644 index b72de2db3..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyStart.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for NightlyStart. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/NightlyStart.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/NightlyStart.dir/compiler_depend.ts deleted file mode 100644 index 2f7f077a9..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyStart.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for NightlyStart. diff --git a/unit-test/MQTT/CMakeFiles/NightlyStart.dir/progress.make b/unit-test/MQTT/CMakeFiles/NightlyStart.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyStart.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build.make b/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build.make deleted file mode 100644 index 07f9d41dc..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for NightlySubmit. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/NightlySubmit.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/NightlySubmit.dir/progress.make - -unit-test/MQTT/CMakeFiles/NightlySubmit: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D NightlySubmit - -NightlySubmit: unit-test/MQTT/CMakeFiles/NightlySubmit -NightlySubmit: unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build.make -.PHONY : NightlySubmit - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build: NightlySubmit -.PHONY : unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build - -unit-test/MQTT/CMakeFiles/NightlySubmit.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/NightlySubmit.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/NightlySubmit.dir/clean - -unit-test/MQTT/CMakeFiles/NightlySubmit.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/NightlySubmit.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/cmake_clean.cmake deleted file mode 100644 index 6f88ccc7d..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/NightlySubmit" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/NightlySubmit.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/compiler_depend.make deleted file mode 100644 index d2f674865..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for NightlySubmit. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/compiler_depend.ts deleted file mode 100644 index 773bf4b08..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for NightlySubmit. diff --git a/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/progress.make b/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlySubmit.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/NightlyTest.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/NightlyTest.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyTest.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/NightlyTest.dir/build.make b/unit-test/MQTT/CMakeFiles/NightlyTest.dir/build.make deleted file mode 100644 index ad0fa575f..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyTest.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for NightlyTest. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/NightlyTest.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/NightlyTest.dir/progress.make - -unit-test/MQTT/CMakeFiles/NightlyTest: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D NightlyTest - -NightlyTest: unit-test/MQTT/CMakeFiles/NightlyTest -NightlyTest: unit-test/MQTT/CMakeFiles/NightlyTest.dir/build.make -.PHONY : NightlyTest - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/NightlyTest.dir/build: NightlyTest -.PHONY : unit-test/MQTT/CMakeFiles/NightlyTest.dir/build - -unit-test/MQTT/CMakeFiles/NightlyTest.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/NightlyTest.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/NightlyTest.dir/clean - -unit-test/MQTT/CMakeFiles/NightlyTest.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyTest.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/NightlyTest.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/NightlyTest.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/NightlyTest.dir/cmake_clean.cmake deleted file mode 100644 index 8f40bb87e..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyTest.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/NightlyTest" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/NightlyTest.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/NightlyTest.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/NightlyTest.dir/compiler_depend.make deleted file mode 100644 index 03d9c29c0..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyTest.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for NightlyTest. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/NightlyTest.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/NightlyTest.dir/compiler_depend.ts deleted file mode 100644 index 8bb891c6f..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyTest.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for NightlyTest. diff --git a/unit-test/MQTT/CMakeFiles/NightlyTest.dir/progress.make b/unit-test/MQTT/CMakeFiles/NightlyTest.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyTest.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake deleted file mode 100644 index 29b95a515..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build.make b/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build.make deleted file mode 100644 index 9881364e4..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Utility rule file for NightlyUpdate. - -# Include any custom commands dependencies for this target. -include unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/progress.make - -unit-test/MQTT/CMakeFiles/NightlyUpdate: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -D NightlyUpdate - -NightlyUpdate: unit-test/MQTT/CMakeFiles/NightlyUpdate -NightlyUpdate: unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build.make -.PHONY : NightlyUpdate - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build: NightlyUpdate -.PHONY : unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build - -unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/clean - -unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake deleted file mode 100644 index 0f10e8272..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/NightlyUpdate" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/NightlyUpdate.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/compiler_depend.make deleted file mode 100644 index 924c826bc..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for NightlyUpdate. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/compiler_depend.ts deleted file mode 100644 index 7cf66de73..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for NightlyUpdate. diff --git a/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/progress.make b/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/progress.make deleted file mode 100644 index 8b1378917..000000000 --- a/unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/DependInfo.cmake deleted file mode 100644 index 8ad117d84..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/DependInfo.cmake +++ /dev/null @@ -1,24 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/ubuntu/coreMQTT/unit-test/MQTT/mocks/mock_core_mqtt_serializer.c" "unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o" "gcc" "unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o.d" - "/home/ubuntu/coreMQTT/unit-test/MQTT/mocks/mock_core_mqtt_state.c" "unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o" "gcc" "unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make deleted file mode 100644 index 69c1f69cf..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make +++ /dev/null @@ -1,137 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Include any dependencies generated for this target. -include unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/depend.make -# Include any dependencies generated by the compiler for this target. -include unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/progress.make - -# Include the compile flags for this target's objects. -include unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/flags.make - -unit-test/MQTT/mocks/mock_core_mqtt_serializer.c: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating mocks/mock_core_mqtt_serializer.c" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && ruby /home/ubuntu/coreMQTT/test/unit-test/CMock/lib/cmock.rb -o/home/ubuntu/coreMQTT/tools/cmock/project.yml /home/ubuntu/coreMQTT/source/include/core_mqtt_serializer.h - -unit-test/MQTT/mocks/mock_core_mqtt_state.c: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Generating mocks/mock_core_mqtt_state.c" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && ruby /home/ubuntu/coreMQTT/test/unit-test/CMock/lib/cmock.rb -o/home/ubuntu/coreMQTT/tools/cmock/project.yml /home/ubuntu/coreMQTT/source/include/core_mqtt_state.h - -unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/flags.make -unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o: unit-test/MQTT/mocks/mock_core_mqtt_serializer.c -unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o -MF CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o.d -o CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o -c /home/ubuntu/coreMQTT/unit-test/MQTT/mocks/mock_core_mqtt_serializer.c - -unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.i" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/unit-test/MQTT/mocks/mock_core_mqtt_serializer.c > CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.i - -unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.s" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/unit-test/MQTT/mocks/mock_core_mqtt_serializer.c -o CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.s - -unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/flags.make -unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o: unit-test/MQTT/mocks/mock_core_mqtt_state.c -unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building C object unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o -MF CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o.d -o CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o -c /home/ubuntu/coreMQTT/unit-test/MQTT/mocks/mock_core_mqtt_state.c - -unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.i" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/unit-test/MQTT/mocks/mock_core_mqtt_state.c > CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.i - -unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.s" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/unit-test/MQTT/mocks/mock_core_mqtt_state.c -o CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.s - -# Object files for target core_mqtt_mock -core_mqtt_mock_OBJECTS = \ -"CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o" \ -"CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o" - -# External object files for target core_mqtt_mock -core_mqtt_mock_EXTERNAL_OBJECTS = - -unit-test/MQTT/lib/libcore_mqtt_mock.so: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o -unit-test/MQTT/lib/libcore_mqtt_mock.so: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o -unit-test/MQTT/lib/libcore_mqtt_mock.so: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make -unit-test/MQTT/lib/libcore_mqtt_mock.so: lib/libcmock.a -unit-test/MQTT/lib/libcore_mqtt_mock.so: lib/libunity.a -unit-test/MQTT/lib/libcore_mqtt_mock.so: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Linking C shared library lib/libcore_mqtt_mock.so" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/core_mqtt_mock.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build: unit-test/MQTT/lib/libcore_mqtt_mock.so -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build - -unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/core_mqtt_mock.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/clean - -unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/depend: unit-test/MQTT/mocks/mock_core_mqtt_serializer.c -unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/depend: unit-test/MQTT/mocks/mock_core_mqtt_state.c - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/cmake_clean.cmake deleted file mode 100644 index 7af12c4c0..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/cmake_clean.cmake +++ /dev/null @@ -1,15 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o" - "CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o.d" - "CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o" - "CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o.d" - "lib/libcore_mqtt_mock.pdb" - "lib/libcore_mqtt_mock.so" - "mocks/mock_core_mqtt_serializer.c" - "mocks/mock_core_mqtt_state.c" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/core_mqtt_mock.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/compiler_depend.make deleted file mode 100644 index efc9b2bdb..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for core_mqtt_mock. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/compiler_depend.ts deleted file mode 100644 index 7781010ad..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for core_mqtt_mock. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/depend.make b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/depend.make deleted file mode 100644 index bc886828f..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for core_mqtt_mock. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/flags.make b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/flags.make deleted file mode 100644 index 76edd570b..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# compile C with /usr/bin/cc -C_DEFINES = -DNDEBUG=1 -Dcore_mqtt_mock_EXPORTS - -C_INCLUDES = -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/unit-test/MQTT/mocks -I/home/ubuntu/coreMQTT/test/unit-test/MQTT/. -I/home/ubuntu/coreMQTT/test/unit-test/MQTT/logging -I/home/ubuntu/coreMQTT/source/interface -I/home/ubuntu/coreMQTT/test/unit-test/CMock/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/examples -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src - -C_FLAGS = -std=gnu90 -fPIC - diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/link.txt b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/link.txt deleted file mode 100644 index f786e4be6..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/cc -fPIC -shared -Wl,-soname,libcore_mqtt_mock.so -o lib/libcore_mqtt_mock.so CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o ../../lib/libcmock.a ../../lib/libunity.a diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/progress.make b/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/progress.make deleted file mode 100644 index bac260a02..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/progress.make +++ /dev/null @@ -1,6 +0,0 @@ -CMAKE_PROGRESS_1 = 3 -CMAKE_PROGRESS_2 = 4 -CMAKE_PROGRESS_3 = 5 -CMAKE_PROGRESS_4 = 6 -CMAKE_PROGRESS_5 = 7 - diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/DependInfo.cmake deleted file mode 100644 index 53b0a388d..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/DependInfo.cmake +++ /dev/null @@ -1,25 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/ubuntu/coreMQTT/source/core_mqtt.c" "unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o" "gcc" "unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o.d" - "/home/ubuntu/coreMQTT/source/core_mqtt_serializer.c" "unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o" "gcc" "unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o.d" - "/home/ubuntu/coreMQTT/source/core_mqtt_state.c" "unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o" "gcc" "unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make deleted file mode 100644 index cfe5fdd43..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make +++ /dev/null @@ -1,143 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Include any dependencies generated for this target. -include unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/depend.make -# Include any dependencies generated by the compiler for this target. -include unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/progress.make - -# Include the compile flags for this target's objects. -include unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/flags.make - -unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/flags.make -unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o: source/core_mqtt.c -unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o -MF CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o.d -o CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt.c - -unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.i" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/source/core_mqtt.c > CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.i - -unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.s" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/source/core_mqtt.c -o CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.s - -unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/flags.make -unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o: source/core_mqtt_state.c -unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o -MF CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o.d -o CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt_state.c - -unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.i" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/source/core_mqtt_state.c > CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.i - -unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.s" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/source/core_mqtt_state.c -o CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.s - -unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/flags.make -unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o: source/core_mqtt_serializer.c -unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o -MF CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o.d -o CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c - -unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.i" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c > CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.i - -unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.s" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c -o CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.s - -# Object files for target core_mqtt_real -core_mqtt_real_OBJECTS = \ -"CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o" \ -"CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o" \ -"CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o" - -# External object files for target core_mqtt_real -core_mqtt_real_EXTERNAL_OBJECTS = - -unit-test/MQTT/lib/libcore_mqtt_real.a: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o -unit-test/MQTT/lib/libcore_mqtt_real.a: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o -unit-test/MQTT/lib/libcore_mqtt_real.a: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o -unit-test/MQTT/lib/libcore_mqtt_real.a: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make -unit-test/MQTT/lib/libcore_mqtt_real.a: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C static library lib/libcore_mqtt_real.a" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/core_mqtt_real.dir/cmake_clean_target.cmake - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/core_mqtt_real.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build: unit-test/MQTT/lib/libcore_mqtt_real.a -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build - -unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/core_mqtt_real.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/clean - -unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/cmake_clean.cmake deleted file mode 100644 index 8073bfecf..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/cmake_clean.cmake +++ /dev/null @@ -1,15 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o" - "CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o.d" - "CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o" - "CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o.d" - "CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o" - "CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o.d" - "lib/libcore_mqtt_real.a" - "lib/libcore_mqtt_real.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/core_mqtt_real.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/cmake_clean_target.cmake b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/cmake_clean_target.cmake deleted file mode 100644 index bdb0fbbfd..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/cmake_clean_target.cmake +++ /dev/null @@ -1,3 +0,0 @@ -file(REMOVE_RECURSE - "lib/libcore_mqtt_real.a" -) diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.make deleted file mode 100644 index c76149962..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for core_mqtt_real. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.ts deleted file mode 100644 index c2247b50a..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for core_mqtt_real. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/depend.make b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/depend.make deleted file mode 100644 index 4331c12ba..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for core_mqtt_real. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/flags.make b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/flags.make deleted file mode 100644 index 3d9810a1d..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# compile C with /usr/bin/cc -C_DEFINES = -DNDEBUG=1 - -C_INCLUDES = -I/home/ubuntu/coreMQTT/test/unit-test/MQTT/. -I/home/ubuntu/coreMQTT/test/unit-test/MQTT/logging -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface - -C_FLAGS = -std=gnu90 -Wextra -Wpedantic -fprofile-arcs -ftest-coverage -fprofile-generate -Wno-unused-but-set-variable - diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/link.txt b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/link.txt deleted file mode 100644 index 5d0a752a0..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/link.txt +++ /dev/null @@ -1,2 +0,0 @@ -/usr/bin/ar qc lib/libcore_mqtt_real.a CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o -/usr/bin/ranlib lib/libcore_mqtt_real.a diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/progress.make b/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/progress.make deleted file mode 100644 index fe9cea3ee..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/progress.make +++ /dev/null @@ -1,5 +0,0 @@ -CMAKE_PROGRESS_1 = 8 -CMAKE_PROGRESS_2 = 9 -CMAKE_PROGRESS_3 = 10 -CMAKE_PROGRESS_4 = 11 - diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/DependInfo.cmake deleted file mode 100644 index 3532b6646..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/DependInfo.cmake +++ /dev/null @@ -1,24 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_serializer_utest.c" "unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o" "gcc" "unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o.d" - "/home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_serializer_utest_runner.c" "unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o" "gcc" "unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make deleted file mode 100644 index 8adb52743..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make +++ /dev/null @@ -1,132 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Include any dependencies generated for this target. -include unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/depend.make -# Include any dependencies generated by the compiler for this target. -include unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/progress.make - -# Include the compile flags for this target's objects. -include unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/flags.make - -unit-test/MQTT/core_mqtt_serializer_utest_runner.c: /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_serializer_utest.c - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating core_mqtt_serializer_utest_runner.c" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && ruby /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/auto/generate_test_runner.rb /home/ubuntu/coreMQTT/tools/cmock/project.yml /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_serializer_utest.c core_mqtt_serializer_utest_runner.c - -unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/flags.make -unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o: /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_serializer_utest.c -unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o -MF CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o.d -o CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o -c /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_serializer_utest.c - -unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.i" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_serializer_utest.c > CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.i - -unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.s" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_serializer_utest.c -o CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.s - -unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/flags.make -unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o: unit-test/MQTT/core_mqtt_serializer_utest_runner.c -unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o -MF CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o.d -o CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o -c /home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_serializer_utest_runner.c - -unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.i" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_serializer_utest_runner.c > CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.i - -unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.s" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_serializer_utest_runner.c -o CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.s - -# Object files for target core_mqtt_serializer_utest -core_mqtt_serializer_utest_OBJECTS = \ -"CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o" \ -"CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o" - -# External object files for target core_mqtt_serializer_utest -core_mqtt_serializer_utest_EXTERNAL_OBJECTS = - -bin/tests/core_mqtt_serializer_utest: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o -bin/tests/core_mqtt_serializer_utest: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o -bin/tests/core_mqtt_serializer_utest: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make -bin/tests/core_mqtt_serializer_utest: unit-test/MQTT/lib/libcore_mqtt_real.a -bin/tests/core_mqtt_serializer_utest: lib/libunity.a -bin/tests/core_mqtt_serializer_utest: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C executable ../../bin/tests/core_mqtt_serializer_utest" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/core_mqtt_serializer_utest.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build: bin/tests/core_mqtt_serializer_utest -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build - -unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/core_mqtt_serializer_utest.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/clean - -unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/depend: unit-test/MQTT/core_mqtt_serializer_utest_runner.c - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/cmake_clean.cmake deleted file mode 100644 index d9c61e183..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/cmake_clean.cmake +++ /dev/null @@ -1,14 +0,0 @@ -file(REMOVE_RECURSE - "../../bin/tests/core_mqtt_serializer_utest" - "../../bin/tests/core_mqtt_serializer_utest.pdb" - "CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o" - "CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o.d" - "CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o" - "CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o.d" - "core_mqtt_serializer_utest_runner.c" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/core_mqtt_serializer_utest.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/compiler_depend.make deleted file mode 100644 index 139408014..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for core_mqtt_serializer_utest. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/compiler_depend.ts deleted file mode 100644 index 65540e3f5..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for core_mqtt_serializer_utest. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/depend.make b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/depend.make deleted file mode 100644 index a10e78715..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for core_mqtt_serializer_utest. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/flags.make b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/flags.make deleted file mode 100644 index ce77bda17..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# compile C with /usr/bin/cc -C_DEFINES = -DNDEBUG=1 - -C_INCLUDES = -I/home/ubuntu/coreMQTT/unit-test/MQTT/mocks -I/home/ubuntu/coreMQTT/test/unit-test/MQTT/. -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -I/home/ubuntu/coreMQTT/test/unit-test/MQTT/logging -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/src - -C_FLAGS = -std=gnu90 - diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/link.txt b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/link.txt deleted file mode 100644 index 26cf2e317..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/cc -Wl,-rpath,/home/ubuntu/coreMQTT/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTT/lib CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o -o ../../bin/tests/core_mqtt_serializer_utest -L/home/ubuntu/coreMQTT/unit-test/MQTT -L/home/ubuntu/coreMQTT/unit-test/MQTT/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTT:/home/ubuntu/coreMQTT/unit-test/MQTT/lib -Wl,-Bstatic -lcore_mqtt_real lib/libcore_mqtt_real.a -Wl,-Bdynamic -lgcov ../../lib/libunity.a -lcore_mqtt_mock -lgcov diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/progress.make b/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/progress.make deleted file mode 100644 index 3938ebe59..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/progress.make +++ /dev/null @@ -1,5 +0,0 @@ -CMAKE_PROGRESS_1 = 12 -CMAKE_PROGRESS_2 = 13 -CMAKE_PROGRESS_3 = 14 -CMAKE_PROGRESS_4 = 15 - diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/DependInfo.cmake deleted file mode 100644 index 73e2a515d..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/DependInfo.cmake +++ /dev/null @@ -1,24 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_state_utest.c" "unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o" "gcc" "unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o.d" - "/home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_state_utest_runner.c" "unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o" "gcc" "unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make deleted file mode 100644 index 7e872158e..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make +++ /dev/null @@ -1,132 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Include any dependencies generated for this target. -include unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/depend.make -# Include any dependencies generated by the compiler for this target. -include unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/progress.make - -# Include the compile flags for this target's objects. -include unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/flags.make - -unit-test/MQTT/core_mqtt_state_utest_runner.c: /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_state_utest.c - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating core_mqtt_state_utest_runner.c" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && ruby /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/auto/generate_test_runner.rb /home/ubuntu/coreMQTT/tools/cmock/project.yml /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_state_utest.c core_mqtt_state_utest_runner.c - -unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/flags.make -unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o: /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_state_utest.c -unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o -MF CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o.d -o CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o -c /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_state_utest.c - -unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.i" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_state_utest.c > CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.i - -unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.s" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_state_utest.c -o CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.s - -unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/flags.make -unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o: unit-test/MQTT/core_mqtt_state_utest_runner.c -unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o -MF CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o.d -o CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o -c /home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_state_utest_runner.c - -unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.i" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_state_utest_runner.c > CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.i - -unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.s" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_state_utest_runner.c -o CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.s - -# Object files for target core_mqtt_state_utest -core_mqtt_state_utest_OBJECTS = \ -"CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o" \ -"CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o" - -# External object files for target core_mqtt_state_utest -core_mqtt_state_utest_EXTERNAL_OBJECTS = - -bin/tests/core_mqtt_state_utest: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o -bin/tests/core_mqtt_state_utest: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o -bin/tests/core_mqtt_state_utest: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make -bin/tests/core_mqtt_state_utest: unit-test/MQTT/lib/libcore_mqtt_real.a -bin/tests/core_mqtt_state_utest: lib/libunity.a -bin/tests/core_mqtt_state_utest: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C executable ../../bin/tests/core_mqtt_state_utest" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/core_mqtt_state_utest.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build: bin/tests/core_mqtt_state_utest -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build - -unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/core_mqtt_state_utest.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/clean - -unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/depend: unit-test/MQTT/core_mqtt_state_utest_runner.c - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/cmake_clean.cmake deleted file mode 100644 index ff670d436..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/cmake_clean.cmake +++ /dev/null @@ -1,14 +0,0 @@ -file(REMOVE_RECURSE - "../../bin/tests/core_mqtt_state_utest" - "../../bin/tests/core_mqtt_state_utest.pdb" - "CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o" - "CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o.d" - "CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o" - "CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o.d" - "core_mqtt_state_utest_runner.c" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/core_mqtt_state_utest.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/compiler_depend.make deleted file mode 100644 index 6402ef5c7..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for core_mqtt_state_utest. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/compiler_depend.ts deleted file mode 100644 index e084fd439..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for core_mqtt_state_utest. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/depend.make b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/depend.make deleted file mode 100644 index 1b9d889b2..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for core_mqtt_state_utest. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/flags.make b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/flags.make deleted file mode 100644 index ce77bda17..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# compile C with /usr/bin/cc -C_DEFINES = -DNDEBUG=1 - -C_INCLUDES = -I/home/ubuntu/coreMQTT/unit-test/MQTT/mocks -I/home/ubuntu/coreMQTT/test/unit-test/MQTT/. -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -I/home/ubuntu/coreMQTT/test/unit-test/MQTT/logging -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/src - -C_FLAGS = -std=gnu90 - diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/link.txt b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/link.txt deleted file mode 100644 index 15a7010ab..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/cc -Wl,-rpath,/home/ubuntu/coreMQTT/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTT/lib CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o -o ../../bin/tests/core_mqtt_state_utest -L/home/ubuntu/coreMQTT/unit-test/MQTT -L/home/ubuntu/coreMQTT/unit-test/MQTT/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTT:/home/ubuntu/coreMQTT/unit-test/MQTT/lib -Wl,-Bstatic -lcore_mqtt_real lib/libcore_mqtt_real.a -Wl,-Bdynamic -lgcov ../../lib/libunity.a -lcore_mqtt_mock -lgcov diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/progress.make b/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/progress.make deleted file mode 100644 index c029100ba..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/progress.make +++ /dev/null @@ -1,5 +0,0 @@ -CMAKE_PROGRESS_1 = 16 -CMAKE_PROGRESS_2 = 17 -CMAKE_PROGRESS_3 = 18 -CMAKE_PROGRESS_4 = 19 - diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/DependInfo.cmake b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/DependInfo.cmake deleted file mode 100644 index b86ae1fb1..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/DependInfo.cmake +++ /dev/null @@ -1,24 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_utest.c" "unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o" "gcc" "unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o.d" - "/home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_utest_runner.c" "unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o" "gcc" "unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make deleted file mode 100644 index ad426efd2..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make +++ /dev/null @@ -1,132 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Include any dependencies generated for this target. -include unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/depend.make -# Include any dependencies generated by the compiler for this target. -include unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/progress.make - -# Include the compile flags for this target's objects. -include unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/flags.make - -unit-test/MQTT/core_mqtt_utest_runner.c: /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_utest.c - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating core_mqtt_utest_runner.c" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && ruby /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/auto/generate_test_runner.rb /home/ubuntu/coreMQTT/tools/cmock/project.yml /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_utest.c core_mqtt_utest_runner.c - -unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/flags.make -unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o: /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_utest.c -unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o -MF CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o.d -o CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o -c /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_utest.c - -unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.i" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_utest.c > CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.i - -unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.s" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/test/unit-test/MQTT/core_mqtt_utest.c -o CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.s - -unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/flags.make -unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o: unit-test/MQTT/core_mqtt_utest_runner.c -unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o -MF CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o.d -o CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o -c /home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_utest_runner.c - -unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.i" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_utest_runner.c > CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.i - -unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.s" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/unit-test/MQTT/core_mqtt_utest_runner.c -o CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.s - -# Object files for target core_mqtt_utest -core_mqtt_utest_OBJECTS = \ -"CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o" \ -"CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o" - -# External object files for target core_mqtt_utest -core_mqtt_utest_EXTERNAL_OBJECTS = - -bin/tests/core_mqtt_utest: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o -bin/tests/core_mqtt_utest: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o -bin/tests/core_mqtt_utest: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make -bin/tests/core_mqtt_utest: unit-test/MQTT/lib/libcore_mqtt_real.a -bin/tests/core_mqtt_utest: lib/libunity.a -bin/tests/core_mqtt_utest: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C executable ../../bin/tests/core_mqtt_utest" - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/core_mqtt_utest.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build: bin/tests/core_mqtt_utest -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build - -unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTT && $(CMAKE_COMMAND) -P CMakeFiles/core_mqtt_utest.dir/cmake_clean.cmake -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/clean - -unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/depend: unit-test/MQTT/core_mqtt_utest_runner.c - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTT /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTT /home/ubuntu/coreMQTT/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/depend - diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/cmake_clean.cmake b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/cmake_clean.cmake deleted file mode 100644 index 20f60c789..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/cmake_clean.cmake +++ /dev/null @@ -1,14 +0,0 @@ -file(REMOVE_RECURSE - "../../bin/tests/core_mqtt_utest" - "../../bin/tests/core_mqtt_utest.pdb" - "CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o" - "CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o.d" - "CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o" - "CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o.d" - "core_mqtt_utest_runner.c" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/core_mqtt_utest.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/compiler_depend.make b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/compiler_depend.make deleted file mode 100644 index 1f72208d1..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for core_mqtt_utest. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/compiler_depend.ts b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/compiler_depend.ts deleted file mode 100644 index b3b00b933..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for core_mqtt_utest. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/depend.make b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/depend.make deleted file mode 100644 index 845a76f13..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for core_mqtt_utest. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/flags.make b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/flags.make deleted file mode 100644 index ce77bda17..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# compile C with /usr/bin/cc -C_DEFINES = -DNDEBUG=1 - -C_INCLUDES = -I/home/ubuntu/coreMQTT/unit-test/MQTT/mocks -I/home/ubuntu/coreMQTT/test/unit-test/MQTT/. -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -I/home/ubuntu/coreMQTT/test/unit-test/MQTT/logging -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/src - -C_FLAGS = -std=gnu90 - diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/link.txt b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/link.txt deleted file mode 100644 index fc2108a19..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/cc -Wl,-rpath,/home/ubuntu/coreMQTT/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTT/lib CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o -o ../../bin/tests/core_mqtt_utest -L/home/ubuntu/coreMQTT/unit-test/MQTT -L/home/ubuntu/coreMQTT/unit-test/MQTT/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTT:/home/ubuntu/coreMQTT/unit-test/MQTT/lib -lcore_mqtt_mock -Wl,-Bstatic -lcore_mqtt_real lib/libcore_mqtt_real.a -Wl,-Bdynamic -lgcov ../../lib/libunity.a -lcore_mqtt_mock -lgcov diff --git a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/progress.make b/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/progress.make deleted file mode 100644 index b83cb3292..000000000 --- a/unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/progress.make +++ /dev/null @@ -1,5 +0,0 @@ -CMAKE_PROGRESS_1 = 20 -CMAKE_PROGRESS_2 = 21 -CMAKE_PROGRESS_3 = 22 -CMAKE_PROGRESS_4 = 23 - diff --git a/unit-test/MQTT/CMakeFiles/progress.marks b/unit-test/MQTT/CMakeFiles/progress.marks deleted file mode 100644 index f64f5d8d8..000000000 --- a/unit-test/MQTT/CMakeFiles/progress.marks +++ /dev/null @@ -1 +0,0 @@ -27 diff --git a/unit-test/MQTT/CTestTestfile.cmake b/unit-test/MQTT/CTestTestfile.cmake deleted file mode 100644 index b779c7303..000000000 --- a/unit-test/MQTT/CTestTestfile.cmake +++ /dev/null @@ -1,12 +0,0 @@ -# CMake generated Testfile for -# Source directory: /home/ubuntu/coreMQTT/test/unit-test/MQTT -# Build directory: /home/ubuntu/coreMQTT/unit-test/MQTT -# -# This file includes the relevant testing commands required for -# testing this directory and lists subdirectories to be tested as well. -add_test([=[core_mqtt_utest]=] "/home/ubuntu/coreMQTT/bin/tests/core_mqtt_utest") -set_tests_properties([=[core_mqtt_utest]=] PROPERTIES WORKING_DIRECTORY "/home/ubuntu/coreMQTT" _BACKTRACE_TRIPLES "/home/ubuntu/coreMQTT/tools/cmock/create_test.cmake;52;add_test;/home/ubuntu/coreMQTT/test/unit-test/MQTT/CMakeLists.txt;76;create_test;/home/ubuntu/coreMQTT/test/unit-test/MQTT/CMakeLists.txt;0;") -add_test([=[core_mqtt_state_utest]=] "/home/ubuntu/coreMQTT/bin/tests/core_mqtt_state_utest") -set_tests_properties([=[core_mqtt_state_utest]=] PROPERTIES WORKING_DIRECTORY "/home/ubuntu/coreMQTT" _BACKTRACE_TRIPLES "/home/ubuntu/coreMQTT/tools/cmock/create_test.cmake;52;add_test;/home/ubuntu/coreMQTT/test/unit-test/MQTT/CMakeLists.txt;93;create_test;/home/ubuntu/coreMQTT/test/unit-test/MQTT/CMakeLists.txt;0;") -add_test([=[core_mqtt_serializer_utest]=] "/home/ubuntu/coreMQTT/bin/tests/core_mqtt_serializer_utest") -set_tests_properties([=[core_mqtt_serializer_utest]=] PROPERTIES WORKING_DIRECTORY "/home/ubuntu/coreMQTT" _BACKTRACE_TRIPLES "/home/ubuntu/coreMQTT/tools/cmock/create_test.cmake;52;add_test;/home/ubuntu/coreMQTT/test/unit-test/MQTT/CMakeLists.txt;109;create_test;/home/ubuntu/coreMQTT/test/unit-test/MQTT/CMakeLists.txt;0;") diff --git a/unit-test/MQTT/Makefile b/unit-test/MQTT/Makefile deleted file mode 100644 index e7a65a6bc..000000000 --- a/unit-test/MQTT/Makefile +++ /dev/null @@ -1,943 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Default target executed when no arguments are given to make. -default_target: all -.PHONY : default_target - -# Allow only one "make -f Makefile2" at a time, but pass parallelism. -.NOTPARALLEL: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -#============================================================================= -# Targets provided globally by CMake. - -# Special rule for the target test -test: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running tests..." - /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest --force-new-ctest-process $(ARGS) -.PHONY : test - -# Special rule for the target test -test/fast: test -.PHONY : test/fast - -# Special rule for the target edit_cache -edit_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..." - /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : edit_cache - -# Special rule for the target edit_cache -edit_cache/fast: edit_cache -.PHONY : edit_cache/fast - -# Special rule for the target rebuild_cache -rebuild_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..." - /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : rebuild_cache - -# Special rule for the target rebuild_cache -rebuild_cache/fast: rebuild_cache -.PHONY : rebuild_cache/fast - -# The main all target -all: cmake_check_build_system - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles /home/ubuntu/coreMQTT/unit-test/MQTT//CMakeFiles/progress.marks - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : all - -# The main clean target -clean: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/clean -.PHONY : clean - -# The main clean target -clean/fast: clean -.PHONY : clean/fast - -# Prepare targets for installation. -preinstall: all - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/preinstall -.PHONY : preinstall - -# Prepare targets for installation. -preinstall/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/preinstall -.PHONY : preinstall/fast - -# clear depends -depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 -.PHONY : depend - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/rule - -# Convenience name for target. -core_mqtt_mock: unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/rule -.PHONY : core_mqtt_mock - -# fast build rule for target. -core_mqtt_mock/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build -.PHONY : core_mqtt_mock/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/rule - -# Convenience name for target. -core_mqtt_real: unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/rule -.PHONY : core_mqtt_real - -# fast build rule for target. -core_mqtt_real/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build -.PHONY : core_mqtt_real/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/Experimental.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/Experimental.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/Experimental.dir/rule - -# Convenience name for target. -Experimental: unit-test/MQTT/CMakeFiles/Experimental.dir/rule -.PHONY : Experimental - -# fast build rule for target. -Experimental/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Experimental.dir/build.make unit-test/MQTT/CMakeFiles/Experimental.dir/build -.PHONY : Experimental/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/Nightly.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/Nightly.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/Nightly.dir/rule - -# Convenience name for target. -Nightly: unit-test/MQTT/CMakeFiles/Nightly.dir/rule -.PHONY : Nightly - -# fast build rule for target. -Nightly/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Nightly.dir/build.make unit-test/MQTT/CMakeFiles/Nightly.dir/build -.PHONY : Nightly/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/Continuous.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/Continuous.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/Continuous.dir/rule - -# Convenience name for target. -Continuous: unit-test/MQTT/CMakeFiles/Continuous.dir/rule -.PHONY : Continuous - -# fast build rule for target. -Continuous/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Continuous.dir/build.make unit-test/MQTT/CMakeFiles/Continuous.dir/build -.PHONY : Continuous/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/rule - -# Convenience name for target. -NightlyMemoryCheck: unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/rule -.PHONY : NightlyMemoryCheck - -# fast build rule for target. -NightlyMemoryCheck/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build.make unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build -.PHONY : NightlyMemoryCheck/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/NightlyStart.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyStart.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/NightlyStart.dir/rule - -# Convenience name for target. -NightlyStart: unit-test/MQTT/CMakeFiles/NightlyStart.dir/rule -.PHONY : NightlyStart - -# fast build rule for target. -NightlyStart/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyStart.dir/build.make unit-test/MQTT/CMakeFiles/NightlyStart.dir/build -.PHONY : NightlyStart/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/rule - -# Convenience name for target. -NightlyUpdate: unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/rule -.PHONY : NightlyUpdate - -# fast build rule for target. -NightlyUpdate/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build.make unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build -.PHONY : NightlyUpdate/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/rule - -# Convenience name for target. -NightlyConfigure: unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/rule -.PHONY : NightlyConfigure - -# fast build rule for target. -NightlyConfigure/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build.make unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build -.PHONY : NightlyConfigure/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/NightlyBuild.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyBuild.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/NightlyBuild.dir/rule - -# Convenience name for target. -NightlyBuild: unit-test/MQTT/CMakeFiles/NightlyBuild.dir/rule -.PHONY : NightlyBuild - -# fast build rule for target. -NightlyBuild/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build.make unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build -.PHONY : NightlyBuild/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/NightlyTest.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyTest.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/NightlyTest.dir/rule - -# Convenience name for target. -NightlyTest: unit-test/MQTT/CMakeFiles/NightlyTest.dir/rule -.PHONY : NightlyTest - -# fast build rule for target. -NightlyTest/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyTest.dir/build.make unit-test/MQTT/CMakeFiles/NightlyTest.dir/build -.PHONY : NightlyTest/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/rule - -# Convenience name for target. -NightlyCoverage: unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/rule -.PHONY : NightlyCoverage - -# fast build rule for target. -NightlyCoverage/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build.make unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build -.PHONY : NightlyCoverage/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/rule - -# Convenience name for target. -NightlyMemCheck: unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/rule -.PHONY : NightlyMemCheck - -# fast build rule for target. -NightlyMemCheck/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build -.PHONY : NightlyMemCheck/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/NightlySubmit.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/NightlySubmit.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/NightlySubmit.dir/rule - -# Convenience name for target. -NightlySubmit: unit-test/MQTT/CMakeFiles/NightlySubmit.dir/rule -.PHONY : NightlySubmit - -# fast build rule for target. -NightlySubmit/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build.make unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build -.PHONY : NightlySubmit/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/rule - -# Convenience name for target. -ExperimentalStart: unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/rule -.PHONY : ExperimentalStart - -# fast build rule for target. -ExperimentalStart/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build -.PHONY : ExperimentalStart/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/rule - -# Convenience name for target. -ExperimentalUpdate: unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/rule -.PHONY : ExperimentalUpdate - -# fast build rule for target. -ExperimentalUpdate/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build -.PHONY : ExperimentalUpdate/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/rule - -# Convenience name for target. -ExperimentalConfigure: unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/rule -.PHONY : ExperimentalConfigure - -# fast build rule for target. -ExperimentalConfigure/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build -.PHONY : ExperimentalConfigure/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/rule - -# Convenience name for target. -ExperimentalBuild: unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/rule -.PHONY : ExperimentalBuild - -# fast build rule for target. -ExperimentalBuild/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build -.PHONY : ExperimentalBuild/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/rule - -# Convenience name for target. -ExperimentalTest: unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/rule -.PHONY : ExperimentalTest - -# fast build rule for target. -ExperimentalTest/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build -.PHONY : ExperimentalTest/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/rule - -# Convenience name for target. -ExperimentalCoverage: unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/rule -.PHONY : ExperimentalCoverage - -# fast build rule for target. -ExperimentalCoverage/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build -.PHONY : ExperimentalCoverage/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/rule - -# Convenience name for target. -ExperimentalMemCheck: unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/rule -.PHONY : ExperimentalMemCheck - -# fast build rule for target. -ExperimentalMemCheck/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build -.PHONY : ExperimentalMemCheck/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/rule - -# Convenience name for target. -ExperimentalSubmit: unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/rule -.PHONY : ExperimentalSubmit - -# fast build rule for target. -ExperimentalSubmit/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build -.PHONY : ExperimentalSubmit/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/ContinuousStart.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousStart.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousStart.dir/rule - -# Convenience name for target. -ContinuousStart: unit-test/MQTT/CMakeFiles/ContinuousStart.dir/rule -.PHONY : ContinuousStart - -# fast build rule for target. -ContinuousStart/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build -.PHONY : ContinuousStart/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/rule - -# Convenience name for target. -ContinuousUpdate: unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/rule -.PHONY : ContinuousUpdate - -# fast build rule for target. -ContinuousUpdate/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build -.PHONY : ContinuousUpdate/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/rule - -# Convenience name for target. -ContinuousConfigure: unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/rule -.PHONY : ContinuousConfigure - -# fast build rule for target. -ContinuousConfigure/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build -.PHONY : ContinuousConfigure/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/rule - -# Convenience name for target. -ContinuousBuild: unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/rule -.PHONY : ContinuousBuild - -# fast build rule for target. -ContinuousBuild/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build -.PHONY : ContinuousBuild/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/ContinuousTest.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousTest.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousTest.dir/rule - -# Convenience name for target. -ContinuousTest: unit-test/MQTT/CMakeFiles/ContinuousTest.dir/rule -.PHONY : ContinuousTest - -# fast build rule for target. -ContinuousTest/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build -.PHONY : ContinuousTest/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/rule - -# Convenience name for target. -ContinuousCoverage: unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/rule -.PHONY : ContinuousCoverage - -# fast build rule for target. -ContinuousCoverage/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build -.PHONY : ContinuousCoverage/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/rule - -# Convenience name for target. -ContinuousMemCheck: unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/rule -.PHONY : ContinuousMemCheck - -# fast build rule for target. -ContinuousMemCheck/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build -.PHONY : ContinuousMemCheck/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/rule - -# Convenience name for target. -ContinuousSubmit: unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/rule -.PHONY : ContinuousSubmit - -# fast build rule for target. -ContinuousSubmit/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build -.PHONY : ContinuousSubmit/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/rule - -# Convenience name for target. -core_mqtt_utest: unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/rule -.PHONY : core_mqtt_utest - -# fast build rule for target. -core_mqtt_utest/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build -.PHONY : core_mqtt_utest/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/rule - -# Convenience name for target. -core_mqtt_state_utest: unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/rule -.PHONY : core_mqtt_state_utest - -# fast build rule for target. -core_mqtt_state_utest/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build -.PHONY : core_mqtt_state_utest/fast - -# Convenience name for target. -unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/rule -.PHONY : unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/rule - -# Convenience name for target. -core_mqtt_serializer_utest: unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/rule -.PHONY : core_mqtt_serializer_utest - -# fast build rule for target. -core_mqtt_serializer_utest/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build -.PHONY : core_mqtt_serializer_utest/fast - -__/__/source/core_mqtt.o: __/__/source/core_mqtt.c.o -.PHONY : __/__/source/core_mqtt.o - -# target to build an object file -__/__/source/core_mqtt.c.o: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.o -.PHONY : __/__/source/core_mqtt.c.o - -__/__/source/core_mqtt.i: __/__/source/core_mqtt.c.i -.PHONY : __/__/source/core_mqtt.i - -# target to preprocess a source file -__/__/source/core_mqtt.c.i: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.i -.PHONY : __/__/source/core_mqtt.c.i - -__/__/source/core_mqtt.s: __/__/source/core_mqtt.c.s -.PHONY : __/__/source/core_mqtt.s - -# target to generate assembly for a file -__/__/source/core_mqtt.c.s: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt.c.s -.PHONY : __/__/source/core_mqtt.c.s - -__/__/source/core_mqtt_serializer.o: __/__/source/core_mqtt_serializer.c.o -.PHONY : __/__/source/core_mqtt_serializer.o - -# target to build an object file -__/__/source/core_mqtt_serializer.c.o: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.o -.PHONY : __/__/source/core_mqtt_serializer.c.o - -__/__/source/core_mqtt_serializer.i: __/__/source/core_mqtt_serializer.c.i -.PHONY : __/__/source/core_mqtt_serializer.i - -# target to preprocess a source file -__/__/source/core_mqtt_serializer.c.i: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.i -.PHONY : __/__/source/core_mqtt_serializer.c.i - -__/__/source/core_mqtt_serializer.s: __/__/source/core_mqtt_serializer.c.s -.PHONY : __/__/source/core_mqtt_serializer.s - -# target to generate assembly for a file -__/__/source/core_mqtt_serializer.c.s: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_serializer.c.s -.PHONY : __/__/source/core_mqtt_serializer.c.s - -__/__/source/core_mqtt_state.o: __/__/source/core_mqtt_state.c.o -.PHONY : __/__/source/core_mqtt_state.o - -# target to build an object file -__/__/source/core_mqtt_state.c.o: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.o -.PHONY : __/__/source/core_mqtt_state.c.o - -__/__/source/core_mqtt_state.i: __/__/source/core_mqtt_state.c.i -.PHONY : __/__/source/core_mqtt_state.i - -# target to preprocess a source file -__/__/source/core_mqtt_state.c.i: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.i -.PHONY : __/__/source/core_mqtt_state.c.i - -__/__/source/core_mqtt_state.s: __/__/source/core_mqtt_state.c.s -.PHONY : __/__/source/core_mqtt_state.s - -# target to generate assembly for a file -__/__/source/core_mqtt_state.c.s: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/__/__/source/core_mqtt_state.c.s -.PHONY : __/__/source/core_mqtt_state.c.s - -core_mqtt_serializer_utest.o: core_mqtt_serializer_utest.c.o -.PHONY : core_mqtt_serializer_utest.o - -# target to build an object file -core_mqtt_serializer_utest.c.o: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.o -.PHONY : core_mqtt_serializer_utest.c.o - -core_mqtt_serializer_utest.i: core_mqtt_serializer_utest.c.i -.PHONY : core_mqtt_serializer_utest.i - -# target to preprocess a source file -core_mqtt_serializer_utest.c.i: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.i -.PHONY : core_mqtt_serializer_utest.c.i - -core_mqtt_serializer_utest.s: core_mqtt_serializer_utest.c.s -.PHONY : core_mqtt_serializer_utest.s - -# target to generate assembly for a file -core_mqtt_serializer_utest.c.s: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest.c.s -.PHONY : core_mqtt_serializer_utest.c.s - -core_mqtt_serializer_utest_runner.o: core_mqtt_serializer_utest_runner.c.o -.PHONY : core_mqtt_serializer_utest_runner.o - -# target to build an object file -core_mqtt_serializer_utest_runner.c.o: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.o -.PHONY : core_mqtt_serializer_utest_runner.c.o - -core_mqtt_serializer_utest_runner.i: core_mqtt_serializer_utest_runner.c.i -.PHONY : core_mqtt_serializer_utest_runner.i - -# target to preprocess a source file -core_mqtt_serializer_utest_runner.c.i: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.i -.PHONY : core_mqtt_serializer_utest_runner.c.i - -core_mqtt_serializer_utest_runner.s: core_mqtt_serializer_utest_runner.c.s -.PHONY : core_mqtt_serializer_utest_runner.s - -# target to generate assembly for a file -core_mqtt_serializer_utest_runner.c.s: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/core_mqtt_serializer_utest_runner.c.s -.PHONY : core_mqtt_serializer_utest_runner.c.s - -core_mqtt_state_utest.o: core_mqtt_state_utest.c.o -.PHONY : core_mqtt_state_utest.o - -# target to build an object file -core_mqtt_state_utest.c.o: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.o -.PHONY : core_mqtt_state_utest.c.o - -core_mqtt_state_utest.i: core_mqtt_state_utest.c.i -.PHONY : core_mqtt_state_utest.i - -# target to preprocess a source file -core_mqtt_state_utest.c.i: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.i -.PHONY : core_mqtt_state_utest.c.i - -core_mqtt_state_utest.s: core_mqtt_state_utest.c.s -.PHONY : core_mqtt_state_utest.s - -# target to generate assembly for a file -core_mqtt_state_utest.c.s: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest.c.s -.PHONY : core_mqtt_state_utest.c.s - -core_mqtt_state_utest_runner.o: core_mqtt_state_utest_runner.c.o -.PHONY : core_mqtt_state_utest_runner.o - -# target to build an object file -core_mqtt_state_utest_runner.c.o: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.o -.PHONY : core_mqtt_state_utest_runner.c.o - -core_mqtt_state_utest_runner.i: core_mqtt_state_utest_runner.c.i -.PHONY : core_mqtt_state_utest_runner.i - -# target to preprocess a source file -core_mqtt_state_utest_runner.c.i: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.i -.PHONY : core_mqtt_state_utest_runner.c.i - -core_mqtt_state_utest_runner.s: core_mqtt_state_utest_runner.c.s -.PHONY : core_mqtt_state_utest_runner.s - -# target to generate assembly for a file -core_mqtt_state_utest_runner.c.s: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/core_mqtt_state_utest_runner.c.s -.PHONY : core_mqtt_state_utest_runner.c.s - -core_mqtt_utest.o: core_mqtt_utest.c.o -.PHONY : core_mqtt_utest.o - -# target to build an object file -core_mqtt_utest.c.o: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.o -.PHONY : core_mqtt_utest.c.o - -core_mqtt_utest.i: core_mqtt_utest.c.i -.PHONY : core_mqtt_utest.i - -# target to preprocess a source file -core_mqtt_utest.c.i: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.i -.PHONY : core_mqtt_utest.c.i - -core_mqtt_utest.s: core_mqtt_utest.c.s -.PHONY : core_mqtt_utest.s - -# target to generate assembly for a file -core_mqtt_utest.c.s: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest.c.s -.PHONY : core_mqtt_utest.c.s - -core_mqtt_utest_runner.o: core_mqtt_utest_runner.c.o -.PHONY : core_mqtt_utest_runner.o - -# target to build an object file -core_mqtt_utest_runner.c.o: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.o -.PHONY : core_mqtt_utest_runner.c.o - -core_mqtt_utest_runner.i: core_mqtt_utest_runner.c.i -.PHONY : core_mqtt_utest_runner.i - -# target to preprocess a source file -core_mqtt_utest_runner.c.i: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.i -.PHONY : core_mqtt_utest_runner.c.i - -core_mqtt_utest_runner.s: core_mqtt_utest_runner.c.s -.PHONY : core_mqtt_utest_runner.s - -# target to generate assembly for a file -core_mqtt_utest_runner.c.s: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/core_mqtt_utest_runner.c.s -.PHONY : core_mqtt_utest_runner.c.s - -mocks/mock_core_mqtt_serializer.o: mocks/mock_core_mqtt_serializer.c.o -.PHONY : mocks/mock_core_mqtt_serializer.o - -# target to build an object file -mocks/mock_core_mqtt_serializer.c.o: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.o -.PHONY : mocks/mock_core_mqtt_serializer.c.o - -mocks/mock_core_mqtt_serializer.i: mocks/mock_core_mqtt_serializer.c.i -.PHONY : mocks/mock_core_mqtt_serializer.i - -# target to preprocess a source file -mocks/mock_core_mqtt_serializer.c.i: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.i -.PHONY : mocks/mock_core_mqtt_serializer.c.i - -mocks/mock_core_mqtt_serializer.s: mocks/mock_core_mqtt_serializer.c.s -.PHONY : mocks/mock_core_mqtt_serializer.s - -# target to generate assembly for a file -mocks/mock_core_mqtt_serializer.c.s: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_serializer.c.s -.PHONY : mocks/mock_core_mqtt_serializer.c.s - -mocks/mock_core_mqtt_state.o: mocks/mock_core_mqtt_state.c.o -.PHONY : mocks/mock_core_mqtt_state.o - -# target to build an object file -mocks/mock_core_mqtt_state.c.o: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.o -.PHONY : mocks/mock_core_mqtt_state.c.o - -mocks/mock_core_mqtt_state.i: mocks/mock_core_mqtt_state.c.i -.PHONY : mocks/mock_core_mqtt_state.i - -# target to preprocess a source file -mocks/mock_core_mqtt_state.c.i: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.i -.PHONY : mocks/mock_core_mqtt_state.c.i - -mocks/mock_core_mqtt_state.s: mocks/mock_core_mqtt_state.c.s -.PHONY : mocks/mock_core_mqtt_state.s - -# target to generate assembly for a file -mocks/mock_core_mqtt_state.c.s: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/mocks/mock_core_mqtt_state.c.s -.PHONY : mocks/mock_core_mqtt_state.c.s - -# Help Target -help: - @echo "The following are some of the valid targets for this Makefile:" - @echo "... all (the default if no target is provided)" - @echo "... clean" - @echo "... depend" - @echo "... edit_cache" - @echo "... rebuild_cache" - @echo "... test" - @echo "... Continuous" - @echo "... ContinuousBuild" - @echo "... ContinuousConfigure" - @echo "... ContinuousCoverage" - @echo "... ContinuousMemCheck" - @echo "... ContinuousStart" - @echo "... ContinuousSubmit" - @echo "... ContinuousTest" - @echo "... ContinuousUpdate" - @echo "... Experimental" - @echo "... ExperimentalBuild" - @echo "... ExperimentalConfigure" - @echo "... ExperimentalCoverage" - @echo "... ExperimentalMemCheck" - @echo "... ExperimentalStart" - @echo "... ExperimentalSubmit" - @echo "... ExperimentalTest" - @echo "... ExperimentalUpdate" - @echo "... Nightly" - @echo "... NightlyBuild" - @echo "... NightlyConfigure" - @echo "... NightlyCoverage" - @echo "... NightlyMemCheck" - @echo "... NightlyMemoryCheck" - @echo "... NightlyStart" - @echo "... NightlySubmit" - @echo "... NightlyTest" - @echo "... NightlyUpdate" - @echo "... core_mqtt_mock" - @echo "... core_mqtt_real" - @echo "... core_mqtt_serializer_utest" - @echo "... core_mqtt_state_utest" - @echo "... core_mqtt_utest" - @echo "... __/__/source/core_mqtt.o" - @echo "... __/__/source/core_mqtt.i" - @echo "... __/__/source/core_mqtt.s" - @echo "... __/__/source/core_mqtt_serializer.o" - @echo "... __/__/source/core_mqtt_serializer.i" - @echo "... __/__/source/core_mqtt_serializer.s" - @echo "... __/__/source/core_mqtt_state.o" - @echo "... __/__/source/core_mqtt_state.i" - @echo "... __/__/source/core_mqtt_state.s" - @echo "... core_mqtt_serializer_utest.o" - @echo "... core_mqtt_serializer_utest.i" - @echo "... core_mqtt_serializer_utest.s" - @echo "... core_mqtt_serializer_utest_runner.o" - @echo "... core_mqtt_serializer_utest_runner.i" - @echo "... core_mqtt_serializer_utest_runner.s" - @echo "... core_mqtt_state_utest.o" - @echo "... core_mqtt_state_utest.i" - @echo "... core_mqtt_state_utest.s" - @echo "... core_mqtt_state_utest_runner.o" - @echo "... core_mqtt_state_utest_runner.i" - @echo "... core_mqtt_state_utest_runner.s" - @echo "... core_mqtt_utest.o" - @echo "... core_mqtt_utest.i" - @echo "... core_mqtt_utest.s" - @echo "... core_mqtt_utest_runner.o" - @echo "... core_mqtt_utest_runner.i" - @echo "... core_mqtt_utest_runner.s" - @echo "... mocks/mock_core_mqtt_serializer.o" - @echo "... mocks/mock_core_mqtt_serializer.i" - @echo "... mocks/mock_core_mqtt_serializer.s" - @echo "... mocks/mock_core_mqtt_state.o" - @echo "... mocks/mock_core_mqtt_state.i" - @echo "... mocks/mock_core_mqtt_state.s" -.PHONY : help - - - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/unit-test/MQTT/cmake_install.cmake b/unit-test/MQTT/cmake_install.cmake deleted file mode 100644 index 06b589a34..000000000 --- a/unit-test/MQTT/cmake_install.cmake +++ /dev/null @@ -1,44 +0,0 @@ -# Install script for directory: /home/ubuntu/coreMQTT/test/unit-test/MQTT - -# Set the install prefix -if(NOT DEFINED CMAKE_INSTALL_PREFIX) - set(CMAKE_INSTALL_PREFIX "/usr/local") -endif() -string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") - -# Set the install configuration name. -if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - if(BUILD_TYPE) - string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" - CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") - else() - set(CMAKE_INSTALL_CONFIG_NAME "") - endif() - message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") -endif() - -# Set the component getting installed. -if(NOT CMAKE_INSTALL_COMPONENT) - if(COMPONENT) - message(STATUS "Install component: \"${COMPONENT}\"") - set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") - else() - set(CMAKE_INSTALL_COMPONENT) - endif() -endif() - -# Install shared libraries without execute permission? -if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) - set(CMAKE_INSTALL_SO_NO_EXE "1") -endif() - -# Is this installation the result of a crosscompile? -if(NOT DEFINED CMAKE_CROSSCOMPILING) - set(CMAKE_CROSSCOMPILING "FALSE") -endif() - -# Set path to fallback-tool for dependency-resolution. -if(NOT DEFINED CMAKE_OBJDUMP) - set(CMAKE_OBJDUMP "/usr/bin/objdump") -endif() - diff --git a/unit-test/MQTTv5/CMakeFiles/CMakeDirectoryInformation.cmake b/unit-test/MQTTv5/CMakeFiles/CMakeDirectoryInformation.cmake deleted file mode 100644 index 53a389810..000000000 --- a/unit-test/MQTTv5/CMakeFiles/CMakeDirectoryInformation.cmake +++ /dev/null @@ -1,16 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Relative path conversion top directories. -set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/ubuntu/coreMQTT/test") -set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/ubuntu/coreMQTT") - -# Force unix paths in dependencies. -set(CMAKE_FORCE_UNIX_PATHS 1) - - -# The C and CXX include file regular expressions for this directory. -set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") -set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") -set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) -set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/DependInfo.cmake b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/DependInfo.cmake deleted file mode 100644 index 495b645c5..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/DependInfo.cmake +++ /dev/null @@ -1,24 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks/mock_core_mqtt_serializer.c" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o" "gcc" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o.d" - "/home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks/mock_core_mqtt_state.c" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o" "gcc" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make deleted file mode 100644 index a5286bac9..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make +++ /dev/null @@ -1,137 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Include any dependencies generated for this target. -include unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/depend.make -# Include any dependencies generated by the compiler for this target. -include unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/progress.make - -# Include the compile flags for this target's objects. -include unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/flags.make - -unit-test/MQTTv5/mocks/mock_core_mqtt_serializer.c: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating mocks/mock_core_mqtt_serializer.c" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && ruby /home/ubuntu/coreMQTT/test/unit-test/CMock/lib/cmock.rb -o/home/ubuntu/coreMQTT/tools/cmock/project.yml /home/ubuntu/coreMQTT/source/include/core_mqtt_serializer.h - -unit-test/MQTTv5/mocks/mock_core_mqtt_state.c: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Generating mocks/mock_core_mqtt_state.c" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && ruby /home/ubuntu/coreMQTT/test/unit-test/CMock/lib/cmock.rb -o/home/ubuntu/coreMQTT/tools/cmock/project.yml /home/ubuntu/coreMQTT/source/include/core_mqtt_state.h - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/flags.make -unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o: unit-test/MQTTv5/mocks/mock_core_mqtt_serializer.c -unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o -MF CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o.d -o CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o -c /home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks/mock_core_mqtt_serializer.c - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.i" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks/mock_core_mqtt_serializer.c > CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.i - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.s" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks/mock_core_mqtt_serializer.c -o CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.s - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/flags.make -unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o: unit-test/MQTTv5/mocks/mock_core_mqtt_state.c -unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building C object unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o -MF CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o.d -o CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o -c /home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks/mock_core_mqtt_state.c - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.i" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks/mock_core_mqtt_state.c > CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.i - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.s" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks/mock_core_mqtt_state.c -o CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.s - -# Object files for target core_mqttv5_mock -core_mqttv5_mock_OBJECTS = \ -"CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o" \ -"CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o" - -# External object files for target core_mqttv5_mock -core_mqttv5_mock_EXTERNAL_OBJECTS = - -unit-test/MQTTv5/lib/libcore_mqttv5_mock.so: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o -unit-test/MQTTv5/lib/libcore_mqttv5_mock.so: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o -unit-test/MQTTv5/lib/libcore_mqttv5_mock.so: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make -unit-test/MQTTv5/lib/libcore_mqttv5_mock.so: lib/libcmock.a -unit-test/MQTTv5/lib/libcore_mqttv5_mock.so: lib/libunity.a -unit-test/MQTTv5/lib/libcore_mqttv5_mock.so: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Linking C shared library lib/libcore_mqttv5_mock.so" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/core_mqttv5_mock.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build: unit-test/MQTTv5/lib/libcore_mqttv5_mock.so -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && $(CMAKE_COMMAND) -P CMakeFiles/core_mqttv5_mock.dir/cmake_clean.cmake -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/clean - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/depend: unit-test/MQTTv5/mocks/mock_core_mqtt_serializer.c -unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/depend: unit-test/MQTTv5/mocks/mock_core_mqtt_state.c - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTTv5 /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTTv5 /home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/depend - diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/cmake_clean.cmake b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/cmake_clean.cmake deleted file mode 100644 index b0e85548f..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/cmake_clean.cmake +++ /dev/null @@ -1,15 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o" - "CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o.d" - "CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o" - "CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o.d" - "lib/libcore_mqttv5_mock.pdb" - "lib/libcore_mqttv5_mock.so" - "mocks/mock_core_mqtt_serializer.c" - "mocks/mock_core_mqtt_state.c" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/core_mqttv5_mock.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/compiler_depend.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/compiler_depend.make deleted file mode 100644 index 600d5089c..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for core_mqttv5_mock. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/compiler_depend.ts b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/compiler_depend.ts deleted file mode 100644 index cc6a88aee..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for core_mqttv5_mock. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/depend.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/depend.make deleted file mode 100644 index 3dd5cf6ae..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for core_mqttv5_mock. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/flags.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/flags.make deleted file mode 100644 index 3094ad990..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# compile C with /usr/bin/cc -C_DEFINES = -DNDEBUG=1 -Dcore_mqttv5_mock_EXPORTS - -C_INCLUDES = -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks -I/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/. -I/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/logging -I/home/ubuntu/coreMQTT/source/interface -I/home/ubuntu/coreMQTT/test/unit-test/CMock/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/examples -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src - -C_FLAGS = -std=gnu90 -fPIC - diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/link.txt b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/link.txt deleted file mode 100644 index bbb3f51e5..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/cc -fPIC -shared -Wl,-soname,libcore_mqttv5_mock.so -o lib/libcore_mqttv5_mock.so CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o ../../lib/libcmock.a ../../lib/libunity.a diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/progress.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/progress.make deleted file mode 100644 index 73f764c57..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/progress.make +++ /dev/null @@ -1,6 +0,0 @@ -CMAKE_PROGRESS_1 = 24 -CMAKE_PROGRESS_2 = 25 -CMAKE_PROGRESS_3 = 26 -CMAKE_PROGRESS_4 = 27 -CMAKE_PROGRESS_5 = 28 - diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/DependInfo.cmake b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/DependInfo.cmake deleted file mode 100644 index 38595b656..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/DependInfo.cmake +++ /dev/null @@ -1,25 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/ubuntu/coreMQTT/source/core_mqtt.c" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o" "gcc" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o.d" - "/home/ubuntu/coreMQTT/source/core_mqtt_serializer.c" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o" "gcc" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o.d" - "/home/ubuntu/coreMQTT/source/core_mqtt_state.c" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o" "gcc" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make deleted file mode 100644 index 54dc60bf3..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make +++ /dev/null @@ -1,143 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Include any dependencies generated for this target. -include unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/depend.make -# Include any dependencies generated by the compiler for this target. -include unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/progress.make - -# Include the compile flags for this target's objects. -include unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/flags.make - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/flags.make -unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o: source/core_mqtt.c -unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o -MF CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o.d -o CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt.c - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.i" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/source/core_mqtt.c > CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.i - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.s" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/source/core_mqtt.c -o CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.s - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/flags.make -unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o: source/core_mqtt_state.c -unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o -MF CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o.d -o CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt_state.c - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.i" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/source/core_mqtt_state.c > CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.i - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.s" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/source/core_mqtt_state.c -o CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.s - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/flags.make -unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o: source/core_mqtt_serializer.c -unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o -MF CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o.d -o CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o -c /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.i" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c > CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.i - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.s" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/source/core_mqtt_serializer.c -o CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.s - -# Object files for target core_mqttv5_real -core_mqttv5_real_OBJECTS = \ -"CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o" \ -"CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o" \ -"CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o" - -# External object files for target core_mqttv5_real -core_mqttv5_real_EXTERNAL_OBJECTS = - -unit-test/MQTTv5/lib/libcore_mqttv5_real.a: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o -unit-test/MQTTv5/lib/libcore_mqttv5_real.a: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o -unit-test/MQTTv5/lib/libcore_mqttv5_real.a: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o -unit-test/MQTTv5/lib/libcore_mqttv5_real.a: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make -unit-test/MQTTv5/lib/libcore_mqttv5_real.a: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C static library lib/libcore_mqttv5_real.a" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && $(CMAKE_COMMAND) -P CMakeFiles/core_mqttv5_real.dir/cmake_clean_target.cmake - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/core_mqttv5_real.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build: unit-test/MQTTv5/lib/libcore_mqttv5_real.a -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && $(CMAKE_COMMAND) -P CMakeFiles/core_mqttv5_real.dir/cmake_clean.cmake -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/clean - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTTv5 /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTTv5 /home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/depend - diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/cmake_clean.cmake b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/cmake_clean.cmake deleted file mode 100644 index 892a1fa28..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/cmake_clean.cmake +++ /dev/null @@ -1,15 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o" - "CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o.d" - "CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o" - "CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o.d" - "CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o" - "CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o.d" - "lib/libcore_mqttv5_real.a" - "lib/libcore_mqttv5_real.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/core_mqttv5_real.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/cmake_clean_target.cmake b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/cmake_clean_target.cmake deleted file mode 100644 index 934d37342..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/cmake_clean_target.cmake +++ /dev/null @@ -1,3 +0,0 @@ -file(REMOVE_RECURSE - "lib/libcore_mqttv5_real.a" -) diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.make deleted file mode 100644 index 37233db76..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for core_mqttv5_real. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.ts b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.ts deleted file mode 100644 index 58e670ec6..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for core_mqttv5_real. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/depend.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/depend.make deleted file mode 100644 index 574399d76..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for core_mqttv5_real. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/flags.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/flags.make deleted file mode 100644 index 37569ab21..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# compile C with /usr/bin/cc -C_DEFINES = -DNDEBUG=1 - -C_INCLUDES = -I/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/. -I/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/logging -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface - -C_FLAGS = -std=gnu90 -Wextra -Wpedantic -fprofile-arcs -ftest-coverage -fprofile-generate -Wno-unused-but-set-variable - diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/link.txt b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/link.txt deleted file mode 100644 index 6a75c09e8..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/link.txt +++ /dev/null @@ -1,2 +0,0 @@ -/usr/bin/ar qc lib/libcore_mqttv5_real.a CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o -/usr/bin/ranlib lib/libcore_mqttv5_real.a diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/progress.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/progress.make deleted file mode 100644 index 5a7c9ce18..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/progress.make +++ /dev/null @@ -1,5 +0,0 @@ -CMAKE_PROGRESS_1 = 29 -CMAKE_PROGRESS_2 = 30 -CMAKE_PROGRESS_3 = 31 -CMAKE_PROGRESS_4 = 32 - diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/DependInfo.cmake b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/DependInfo.cmake deleted file mode 100644 index 9448851bf..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/DependInfo.cmake +++ /dev/null @@ -1,24 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o" "gcc" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o.d" - "/home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_serializer_utest_runner.c" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o" "gcc" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make deleted file mode 100644 index 6c57fe06f..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make +++ /dev/null @@ -1,132 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Include any dependencies generated for this target. -include unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/depend.make -# Include any dependencies generated by the compiler for this target. -include unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/progress.make - -# Include the compile flags for this target's objects. -include unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/flags.make - -unit-test/MQTTv5/core_mqttv5_serializer_utest_runner.c: /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating core_mqttv5_serializer_utest_runner.c" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && ruby /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/auto/generate_test_runner.rb /home/ubuntu/coreMQTT/tools/cmock/project.yml /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c core_mqttv5_serializer_utest_runner.c - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/flags.make -unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o: /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c -unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o -MF CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o.d -o CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o -c /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.i" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c > CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.i - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.s" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c -o CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.s - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/flags.make -unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o: unit-test/MQTTv5/core_mqttv5_serializer_utest_runner.c -unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o -MF CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o.d -o CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o -c /home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_serializer_utest_runner.c - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.i" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_serializer_utest_runner.c > CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.i - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.s" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_serializer_utest_runner.c -o CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.s - -# Object files for target core_mqttv5_serializer_utest -core_mqttv5_serializer_utest_OBJECTS = \ -"CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o" \ -"CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o" - -# External object files for target core_mqttv5_serializer_utest -core_mqttv5_serializer_utest_EXTERNAL_OBJECTS = - -bin/tests/core_mqttv5_serializer_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o -bin/tests/core_mqttv5_serializer_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o -bin/tests/core_mqttv5_serializer_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make -bin/tests/core_mqttv5_serializer_utest: unit-test/MQTTv5/lib/libcore_mqttv5_real.a -bin/tests/core_mqttv5_serializer_utest: lib/libunity.a -bin/tests/core_mqttv5_serializer_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C executable ../../bin/tests/core_mqttv5_serializer_utest" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/core_mqttv5_serializer_utest.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build: bin/tests/core_mqttv5_serializer_utest -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && $(CMAKE_COMMAND) -P CMakeFiles/core_mqttv5_serializer_utest.dir/cmake_clean.cmake -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/clean - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/depend: unit-test/MQTTv5/core_mqttv5_serializer_utest_runner.c - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTTv5 /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTTv5 /home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/depend - diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/cmake_clean.cmake b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/cmake_clean.cmake deleted file mode 100644 index 425ceba01..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/cmake_clean.cmake +++ /dev/null @@ -1,14 +0,0 @@ -file(REMOVE_RECURSE - "../../bin/tests/core_mqttv5_serializer_utest" - "../../bin/tests/core_mqttv5_serializer_utest.pdb" - "CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o" - "CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o.d" - "CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o" - "CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o.d" - "core_mqttv5_serializer_utest_runner.c" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/core_mqttv5_serializer_utest.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/compiler_depend.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/compiler_depend.make deleted file mode 100644 index 98d6f3e42..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for core_mqttv5_serializer_utest. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/compiler_depend.ts b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/compiler_depend.ts deleted file mode 100644 index 3a334e34a..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for core_mqttv5_serializer_utest. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/depend.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/depend.make deleted file mode 100644 index 82d88d950..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for core_mqttv5_serializer_utest. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/flags.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/flags.make deleted file mode 100644 index 45b3d2cf8..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# compile C with /usr/bin/cc -C_DEFINES = -DNDEBUG=1 - -C_INCLUDES = -I/home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks -I/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/. -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -I/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/logging -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/src - -C_FLAGS = -std=gnu90 - diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/link.txt b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/link.txt deleted file mode 100644 index 7fd5394c5..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/cc -Wl,-rpath,/home/ubuntu/coreMQTT/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTTv5/lib CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o -o ../../bin/tests/core_mqttv5_serializer_utest -L/home/ubuntu/coreMQTT/unit-test/MQTTv5 -L/home/ubuntu/coreMQTT/unit-test/MQTTv5/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTTv5:/home/ubuntu/coreMQTT/unit-test/MQTTv5/lib -Wl,-Bstatic -lcore_mqttv5_real lib/libcore_mqttv5_real.a -Wl,-Bdynamic -lgcov ../../lib/libunity.a -lcore_mqttv5_mock -lgcov diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/progress.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/progress.make deleted file mode 100644 index c6175554c..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/progress.make +++ /dev/null @@ -1,5 +0,0 @@ -CMAKE_PROGRESS_1 = 33 -CMAKE_PROGRESS_2 = 34 -CMAKE_PROGRESS_3 = 35 -CMAKE_PROGRESS_4 = 36 - diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/DependInfo.cmake b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/DependInfo.cmake deleted file mode 100644 index ce1a6a72d..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/DependInfo.cmake +++ /dev/null @@ -1,24 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_state_utest.c" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o" "gcc" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o.d" - "/home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_state_utest_runner.c" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o" "gcc" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make deleted file mode 100644 index ff0a12ad0..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make +++ /dev/null @@ -1,132 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Include any dependencies generated for this target. -include unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/depend.make -# Include any dependencies generated by the compiler for this target. -include unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/progress.make - -# Include the compile flags for this target's objects. -include unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/flags.make - -unit-test/MQTTv5/core_mqttv5_state_utest_runner.c: /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_state_utest.c - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating core_mqttv5_state_utest_runner.c" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && ruby /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/auto/generate_test_runner.rb /home/ubuntu/coreMQTT/tools/cmock/project.yml /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_state_utest.c core_mqttv5_state_utest_runner.c - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/flags.make -unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o: /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_state_utest.c -unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o -MF CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o.d -o CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o -c /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_state_utest.c - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.i" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_state_utest.c > CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.i - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.s" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_state_utest.c -o CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.s - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/flags.make -unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o: unit-test/MQTTv5/core_mqttv5_state_utest_runner.c -unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o -MF CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o.d -o CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o -c /home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_state_utest_runner.c - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.i" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_state_utest_runner.c > CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.i - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.s" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_state_utest_runner.c -o CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.s - -# Object files for target core_mqttv5_state_utest -core_mqttv5_state_utest_OBJECTS = \ -"CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o" \ -"CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o" - -# External object files for target core_mqttv5_state_utest -core_mqttv5_state_utest_EXTERNAL_OBJECTS = - -bin/tests/core_mqttv5_state_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o -bin/tests/core_mqttv5_state_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o -bin/tests/core_mqttv5_state_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make -bin/tests/core_mqttv5_state_utest: unit-test/MQTTv5/lib/libcore_mqttv5_real.a -bin/tests/core_mqttv5_state_utest: lib/libunity.a -bin/tests/core_mqttv5_state_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C executable ../../bin/tests/core_mqttv5_state_utest" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/core_mqttv5_state_utest.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build: bin/tests/core_mqttv5_state_utest -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && $(CMAKE_COMMAND) -P CMakeFiles/core_mqttv5_state_utest.dir/cmake_clean.cmake -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/clean - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/depend: unit-test/MQTTv5/core_mqttv5_state_utest_runner.c - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTTv5 /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTTv5 /home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/depend - diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/cmake_clean.cmake b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/cmake_clean.cmake deleted file mode 100644 index c03e72251..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/cmake_clean.cmake +++ /dev/null @@ -1,14 +0,0 @@ -file(REMOVE_RECURSE - "../../bin/tests/core_mqttv5_state_utest" - "../../bin/tests/core_mqttv5_state_utest.pdb" - "CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o" - "CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o.d" - "CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o" - "CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o.d" - "core_mqttv5_state_utest_runner.c" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/core_mqttv5_state_utest.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/compiler_depend.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/compiler_depend.make deleted file mode 100644 index 1c14c2152..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for core_mqttv5_state_utest. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/compiler_depend.ts b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/compiler_depend.ts deleted file mode 100644 index 24e54c04c..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for core_mqttv5_state_utest. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/depend.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/depend.make deleted file mode 100644 index 12f256aac..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for core_mqttv5_state_utest. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/flags.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/flags.make deleted file mode 100644 index 45b3d2cf8..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# compile C with /usr/bin/cc -C_DEFINES = -DNDEBUG=1 - -C_INCLUDES = -I/home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks -I/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/. -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -I/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/logging -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/src - -C_FLAGS = -std=gnu90 - diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/link.txt b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/link.txt deleted file mode 100644 index d200c83ab..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/cc -Wl,-rpath,/home/ubuntu/coreMQTT/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTTv5/lib CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o -o ../../bin/tests/core_mqttv5_state_utest -L/home/ubuntu/coreMQTT/unit-test/MQTTv5 -L/home/ubuntu/coreMQTT/unit-test/MQTTv5/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTTv5:/home/ubuntu/coreMQTT/unit-test/MQTTv5/lib -Wl,-Bstatic -lcore_mqttv5_real lib/libcore_mqttv5_real.a -Wl,-Bdynamic -lgcov ../../lib/libunity.a -lcore_mqttv5_mock -lgcov diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/progress.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/progress.make deleted file mode 100644 index df82e94bc..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/progress.make +++ /dev/null @@ -1,5 +0,0 @@ -CMAKE_PROGRESS_1 = 37 -CMAKE_PROGRESS_2 = 38 -CMAKE_PROGRESS_3 = 39 -CMAKE_PROGRESS_4 = 40 - diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/DependInfo.cmake b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/DependInfo.cmake deleted file mode 100644 index 98746456a..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/DependInfo.cmake +++ /dev/null @@ -1,24 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_utest.c" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o" "gcc" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o.d" - "/home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_utest_runner.c" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o" "gcc" "unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make deleted file mode 100644 index 613620e0b..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make +++ /dev/null @@ -1,132 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -# Include any dependencies generated for this target. -include unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/depend.make -# Include any dependencies generated by the compiler for this target. -include unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/compiler_depend.make - -# Include the progress variables for this target. -include unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/progress.make - -# Include the compile flags for this target's objects. -include unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/flags.make - -unit-test/MQTTv5/core_mqttv5_utest_runner.c: /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_utest.c - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating core_mqttv5_utest_runner.c" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && ruby /home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/auto/generate_test_runner.rb /home/ubuntu/coreMQTT/tools/cmock/project.yml /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_utest.c core_mqttv5_utest_runner.c - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/flags.make -unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o: /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_utest.c -unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o -MF CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o.d -o CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o -c /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_utest.c - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.i" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_utest.c > CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.i - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.s" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/test/unit-test/MQTTv5/core_mqttv5_utest.c -o CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.s - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/flags.make -unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o: unit-test/MQTTv5/core_mqttv5_utest_runner.c -unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o -MF CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o.d -o CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o -c /home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_utest_runner.c - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.i" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_utest_runner.c > CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.i - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.s" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/ubuntu/coreMQTT/unit-test/MQTTv5/core_mqttv5_utest_runner.c -o CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.s - -# Object files for target core_mqttv5_utest -core_mqttv5_utest_OBJECTS = \ -"CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o" \ -"CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o" - -# External object files for target core_mqttv5_utest -core_mqttv5_utest_EXTERNAL_OBJECTS = - -bin/tests/core_mqttv5_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o -bin/tests/core_mqttv5_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o -bin/tests/core_mqttv5_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make -bin/tests/core_mqttv5_utest: unit-test/MQTTv5/lib/libcore_mqttv5_real.a -bin/tests/core_mqttv5_utest: lib/libunity.a -bin/tests/core_mqttv5_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/ubuntu/coreMQTT/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C executable ../../bin/tests/core_mqttv5_utest" - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/core_mqttv5_utest.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build: bin/tests/core_mqttv5_utest -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/clean: - cd /home/ubuntu/coreMQTT/unit-test/MQTTv5 && $(CMAKE_COMMAND) -P CMakeFiles/core_mqttv5_utest.dir/cmake_clean.cmake -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/clean - -unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/depend: unit-test/MQTTv5/core_mqttv5_utest_runner.c - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/coreMQTT/test /home/ubuntu/coreMQTT/test/unit-test/MQTTv5 /home/ubuntu/coreMQTT /home/ubuntu/coreMQTT/unit-test/MQTTv5 /home/ubuntu/coreMQTT/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/depend - diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/cmake_clean.cmake b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/cmake_clean.cmake deleted file mode 100644 index 1cdbfc6bd..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/cmake_clean.cmake +++ /dev/null @@ -1,14 +0,0 @@ -file(REMOVE_RECURSE - "../../bin/tests/core_mqttv5_utest" - "../../bin/tests/core_mqttv5_utest.pdb" - "CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o" - "CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o.d" - "CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o" - "CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o.d" - "core_mqttv5_utest_runner.c" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/core_mqttv5_utest.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/compiler_depend.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/compiler_depend.make deleted file mode 100644 index 245b736f7..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for core_mqttv5_utest. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/compiler_depend.ts b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/compiler_depend.ts deleted file mode 100644 index 09a5e1235..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for core_mqttv5_utest. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/depend.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/depend.make deleted file mode 100644 index eb815a3ec..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for core_mqttv5_utest. -# This may be replaced when dependencies are built. diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/flags.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/flags.make deleted file mode 100644 index 45b3d2cf8..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# compile C with /usr/bin/cc -C_DEFINES = -DNDEBUG=1 - -C_INCLUDES = -I/home/ubuntu/coreMQTT/unit-test/MQTTv5/mocks -I/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/. -I/home/ubuntu/coreMQTT/source/include -I/home/ubuntu/coreMQTT/source/interface -I/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/logging -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/fixture/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/vendor/unity/extras/memory/src -I/home/ubuntu/coreMQTT/test/unit-test/CMock/src - -C_FLAGS = -std=gnu90 - diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/link.txt b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/link.txt deleted file mode 100644 index 2841e8cb8..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/cc -Wl,-rpath,/home/ubuntu/coreMQTT/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTTv5/lib CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o -o ../../bin/tests/core_mqttv5_utest -L/home/ubuntu/coreMQTT/unit-test/MQTTv5 -L/home/ubuntu/coreMQTT/unit-test/MQTTv5/lib -Wl,-rpath,/home/ubuntu/coreMQTT/unit-test/MQTTv5:/home/ubuntu/coreMQTT/unit-test/MQTTv5/lib -lcore_mqttv5_mock -Wl,-Bstatic -lcore_mqttv5_real lib/libcore_mqttv5_real.a -Wl,-Bdynamic -lgcov ../../lib/libunity.a -lcore_mqttv5_mock -lgcov diff --git a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/progress.make b/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/progress.make deleted file mode 100644 index 62cca800c..000000000 --- a/unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/progress.make +++ /dev/null @@ -1,5 +0,0 @@ -CMAKE_PROGRESS_1 = 41 -CMAKE_PROGRESS_2 = 42 -CMAKE_PROGRESS_3 = 43 -CMAKE_PROGRESS_4 = 44 - diff --git a/unit-test/MQTTv5/CMakeFiles/progress.marks b/unit-test/MQTTv5/CMakeFiles/progress.marks deleted file mode 100644 index f64f5d8d8..000000000 --- a/unit-test/MQTTv5/CMakeFiles/progress.marks +++ /dev/null @@ -1 +0,0 @@ -27 diff --git a/unit-test/MQTTv5/CTestTestfile.cmake b/unit-test/MQTTv5/CTestTestfile.cmake deleted file mode 100644 index 0fb6675f3..000000000 --- a/unit-test/MQTTv5/CTestTestfile.cmake +++ /dev/null @@ -1,12 +0,0 @@ -# CMake generated Testfile for -# Source directory: /home/ubuntu/coreMQTT/test/unit-test/MQTTv5 -# Build directory: /home/ubuntu/coreMQTT/unit-test/MQTTv5 -# -# This file includes the relevant testing commands required for -# testing this directory and lists subdirectories to be tested as well. -add_test([=[core_mqttv5_utest]=] "/home/ubuntu/coreMQTT/bin/tests/core_mqttv5_utest") -set_tests_properties([=[core_mqttv5_utest]=] PROPERTIES WORKING_DIRECTORY "/home/ubuntu/coreMQTT" _BACKTRACE_TRIPLES "/home/ubuntu/coreMQTT/tools/cmock/create_test.cmake;52;add_test;/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/CMakeLists.txt;77;create_test;/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/CMakeLists.txt;0;") -add_test([=[core_mqttv5_state_utest]=] "/home/ubuntu/coreMQTT/bin/tests/core_mqttv5_state_utest") -set_tests_properties([=[core_mqttv5_state_utest]=] PROPERTIES WORKING_DIRECTORY "/home/ubuntu/coreMQTT" _BACKTRACE_TRIPLES "/home/ubuntu/coreMQTT/tools/cmock/create_test.cmake;52;add_test;/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/CMakeLists.txt;94;create_test;/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/CMakeLists.txt;0;") -add_test([=[core_mqttv5_serializer_utest]=] "/home/ubuntu/coreMQTT/bin/tests/core_mqttv5_serializer_utest") -set_tests_properties([=[core_mqttv5_serializer_utest]=] PROPERTIES WORKING_DIRECTORY "/home/ubuntu/coreMQTT" _BACKTRACE_TRIPLES "/home/ubuntu/coreMQTT/tools/cmock/create_test.cmake;52;add_test;/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/CMakeLists.txt;110;create_test;/home/ubuntu/coreMQTT/test/unit-test/MQTTv5/CMakeLists.txt;0;") diff --git a/unit-test/MQTTv5/Makefile b/unit-test/MQTTv5/Makefile deleted file mode 100644 index 9dd7cfaf5..000000000 --- a/unit-test/MQTTv5/Makefile +++ /dev/null @@ -1,523 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Default target executed when no arguments are given to make. -default_target: all -.PHONY : default_target - -# Allow only one "make -f Makefile2" at a time, but pass parallelism. -.NOTPARALLEL: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -#============================================================================= -# Targets provided globally by CMake. - -# Special rule for the target test -test: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running tests..." - /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest --force-new-ctest-process $(ARGS) -.PHONY : test - -# Special rule for the target test -test/fast: test -.PHONY : test/fast - -# Special rule for the target edit_cache -edit_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..." - /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : edit_cache - -# Special rule for the target edit_cache -edit_cache/fast: edit_cache -.PHONY : edit_cache/fast - -# Special rule for the target rebuild_cache -rebuild_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..." - /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : rebuild_cache - -# Special rule for the target rebuild_cache -rebuild_cache/fast: rebuild_cache -.PHONY : rebuild_cache/fast - -# The main all target -all: cmake_check_build_system - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles /home/ubuntu/coreMQTT/unit-test/MQTTv5//CMakeFiles/progress.marks - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : all - -# The main clean target -clean: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/clean -.PHONY : clean - -# The main clean target -clean/fast: clean -.PHONY : clean/fast - -# Prepare targets for installation. -preinstall: all - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/preinstall -.PHONY : preinstall - -# Prepare targets for installation. -preinstall/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/preinstall -.PHONY : preinstall/fast - -# clear depends -depend: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 -.PHONY : depend - -# Convenience name for target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/rule -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/rule - -# Convenience name for target. -core_mqttv5_mock: unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/rule -.PHONY : core_mqttv5_mock - -# fast build rule for target. -core_mqttv5_mock/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build -.PHONY : core_mqttv5_mock/fast - -# Convenience name for target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/rule -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/rule - -# Convenience name for target. -core_mqttv5_real: unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/rule -.PHONY : core_mqttv5_real - -# fast build rule for target. -core_mqttv5_real/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build -.PHONY : core_mqttv5_real/fast - -# Convenience name for target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/rule -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/rule - -# Convenience name for target. -core_mqttv5_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/rule -.PHONY : core_mqttv5_utest - -# fast build rule for target. -core_mqttv5_utest/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build -.PHONY : core_mqttv5_utest/fast - -# Convenience name for target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/rule -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/rule - -# Convenience name for target. -core_mqttv5_state_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/rule -.PHONY : core_mqttv5_state_utest - -# fast build rule for target. -core_mqttv5_state_utest/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build -.PHONY : core_mqttv5_state_utest/fast - -# Convenience name for target. -unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/rule: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/rule -.PHONY : unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/rule - -# Convenience name for target. -core_mqttv5_serializer_utest: unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/rule -.PHONY : core_mqttv5_serializer_utest - -# fast build rule for target. -core_mqttv5_serializer_utest/fast: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build -.PHONY : core_mqttv5_serializer_utest/fast - -__/__/source/core_mqtt.o: __/__/source/core_mqtt.c.o -.PHONY : __/__/source/core_mqtt.o - -# target to build an object file -__/__/source/core_mqtt.c.o: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.o -.PHONY : __/__/source/core_mqtt.c.o - -__/__/source/core_mqtt.i: __/__/source/core_mqtt.c.i -.PHONY : __/__/source/core_mqtt.i - -# target to preprocess a source file -__/__/source/core_mqtt.c.i: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.i -.PHONY : __/__/source/core_mqtt.c.i - -__/__/source/core_mqtt.s: __/__/source/core_mqtt.c.s -.PHONY : __/__/source/core_mqtt.s - -# target to generate assembly for a file -__/__/source/core_mqtt.c.s: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt.c.s -.PHONY : __/__/source/core_mqtt.c.s - -__/__/source/core_mqtt_serializer.o: __/__/source/core_mqtt_serializer.c.o -.PHONY : __/__/source/core_mqtt_serializer.o - -# target to build an object file -__/__/source/core_mqtt_serializer.c.o: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.o -.PHONY : __/__/source/core_mqtt_serializer.c.o - -__/__/source/core_mqtt_serializer.i: __/__/source/core_mqtt_serializer.c.i -.PHONY : __/__/source/core_mqtt_serializer.i - -# target to preprocess a source file -__/__/source/core_mqtt_serializer.c.i: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.i -.PHONY : __/__/source/core_mqtt_serializer.c.i - -__/__/source/core_mqtt_serializer.s: __/__/source/core_mqtt_serializer.c.s -.PHONY : __/__/source/core_mqtt_serializer.s - -# target to generate assembly for a file -__/__/source/core_mqtt_serializer.c.s: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_serializer.c.s -.PHONY : __/__/source/core_mqtt_serializer.c.s - -__/__/source/core_mqtt_state.o: __/__/source/core_mqtt_state.c.o -.PHONY : __/__/source/core_mqtt_state.o - -# target to build an object file -__/__/source/core_mqtt_state.c.o: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.o -.PHONY : __/__/source/core_mqtt_state.c.o - -__/__/source/core_mqtt_state.i: __/__/source/core_mqtt_state.c.i -.PHONY : __/__/source/core_mqtt_state.i - -# target to preprocess a source file -__/__/source/core_mqtt_state.c.i: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.i -.PHONY : __/__/source/core_mqtt_state.c.i - -__/__/source/core_mqtt_state.s: __/__/source/core_mqtt_state.c.s -.PHONY : __/__/source/core_mqtt_state.s - -# target to generate assembly for a file -__/__/source/core_mqtt_state.c.s: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/__/__/source/core_mqtt_state.c.s -.PHONY : __/__/source/core_mqtt_state.c.s - -core_mqttv5_serializer_utest.o: core_mqttv5_serializer_utest.c.o -.PHONY : core_mqttv5_serializer_utest.o - -# target to build an object file -core_mqttv5_serializer_utest.c.o: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.o -.PHONY : core_mqttv5_serializer_utest.c.o - -core_mqttv5_serializer_utest.i: core_mqttv5_serializer_utest.c.i -.PHONY : core_mqttv5_serializer_utest.i - -# target to preprocess a source file -core_mqttv5_serializer_utest.c.i: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.i -.PHONY : core_mqttv5_serializer_utest.c.i - -core_mqttv5_serializer_utest.s: core_mqttv5_serializer_utest.c.s -.PHONY : core_mqttv5_serializer_utest.s - -# target to generate assembly for a file -core_mqttv5_serializer_utest.c.s: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest.c.s -.PHONY : core_mqttv5_serializer_utest.c.s - -core_mqttv5_serializer_utest_runner.o: core_mqttv5_serializer_utest_runner.c.o -.PHONY : core_mqttv5_serializer_utest_runner.o - -# target to build an object file -core_mqttv5_serializer_utest_runner.c.o: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.o -.PHONY : core_mqttv5_serializer_utest_runner.c.o - -core_mqttv5_serializer_utest_runner.i: core_mqttv5_serializer_utest_runner.c.i -.PHONY : core_mqttv5_serializer_utest_runner.i - -# target to preprocess a source file -core_mqttv5_serializer_utest_runner.c.i: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.i -.PHONY : core_mqttv5_serializer_utest_runner.c.i - -core_mqttv5_serializer_utest_runner.s: core_mqttv5_serializer_utest_runner.c.s -.PHONY : core_mqttv5_serializer_utest_runner.s - -# target to generate assembly for a file -core_mqttv5_serializer_utest_runner.c.s: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/core_mqttv5_serializer_utest_runner.c.s -.PHONY : core_mqttv5_serializer_utest_runner.c.s - -core_mqttv5_state_utest.o: core_mqttv5_state_utest.c.o -.PHONY : core_mqttv5_state_utest.o - -# target to build an object file -core_mqttv5_state_utest.c.o: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.o -.PHONY : core_mqttv5_state_utest.c.o - -core_mqttv5_state_utest.i: core_mqttv5_state_utest.c.i -.PHONY : core_mqttv5_state_utest.i - -# target to preprocess a source file -core_mqttv5_state_utest.c.i: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.i -.PHONY : core_mqttv5_state_utest.c.i - -core_mqttv5_state_utest.s: core_mqttv5_state_utest.c.s -.PHONY : core_mqttv5_state_utest.s - -# target to generate assembly for a file -core_mqttv5_state_utest.c.s: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest.c.s -.PHONY : core_mqttv5_state_utest.c.s - -core_mqttv5_state_utest_runner.o: core_mqttv5_state_utest_runner.c.o -.PHONY : core_mqttv5_state_utest_runner.o - -# target to build an object file -core_mqttv5_state_utest_runner.c.o: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.o -.PHONY : core_mqttv5_state_utest_runner.c.o - -core_mqttv5_state_utest_runner.i: core_mqttv5_state_utest_runner.c.i -.PHONY : core_mqttv5_state_utest_runner.i - -# target to preprocess a source file -core_mqttv5_state_utest_runner.c.i: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.i -.PHONY : core_mqttv5_state_utest_runner.c.i - -core_mqttv5_state_utest_runner.s: core_mqttv5_state_utest_runner.c.s -.PHONY : core_mqttv5_state_utest_runner.s - -# target to generate assembly for a file -core_mqttv5_state_utest_runner.c.s: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/core_mqttv5_state_utest_runner.c.s -.PHONY : core_mqttv5_state_utest_runner.c.s - -core_mqttv5_utest.o: core_mqttv5_utest.c.o -.PHONY : core_mqttv5_utest.o - -# target to build an object file -core_mqttv5_utest.c.o: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.o -.PHONY : core_mqttv5_utest.c.o - -core_mqttv5_utest.i: core_mqttv5_utest.c.i -.PHONY : core_mqttv5_utest.i - -# target to preprocess a source file -core_mqttv5_utest.c.i: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.i -.PHONY : core_mqttv5_utest.c.i - -core_mqttv5_utest.s: core_mqttv5_utest.c.s -.PHONY : core_mqttv5_utest.s - -# target to generate assembly for a file -core_mqttv5_utest.c.s: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest.c.s -.PHONY : core_mqttv5_utest.c.s - -core_mqttv5_utest_runner.o: core_mqttv5_utest_runner.c.o -.PHONY : core_mqttv5_utest_runner.o - -# target to build an object file -core_mqttv5_utest_runner.c.o: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.o -.PHONY : core_mqttv5_utest_runner.c.o - -core_mqttv5_utest_runner.i: core_mqttv5_utest_runner.c.i -.PHONY : core_mqttv5_utest_runner.i - -# target to preprocess a source file -core_mqttv5_utest_runner.c.i: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.i -.PHONY : core_mqttv5_utest_runner.c.i - -core_mqttv5_utest_runner.s: core_mqttv5_utest_runner.c.s -.PHONY : core_mqttv5_utest_runner.s - -# target to generate assembly for a file -core_mqttv5_utest_runner.c.s: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/core_mqttv5_utest_runner.c.s -.PHONY : core_mqttv5_utest_runner.c.s - -mocks/mock_core_mqtt_serializer.o: mocks/mock_core_mqtt_serializer.c.o -.PHONY : mocks/mock_core_mqtt_serializer.o - -# target to build an object file -mocks/mock_core_mqtt_serializer.c.o: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.o -.PHONY : mocks/mock_core_mqtt_serializer.c.o - -mocks/mock_core_mqtt_serializer.i: mocks/mock_core_mqtt_serializer.c.i -.PHONY : mocks/mock_core_mqtt_serializer.i - -# target to preprocess a source file -mocks/mock_core_mqtt_serializer.c.i: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.i -.PHONY : mocks/mock_core_mqtt_serializer.c.i - -mocks/mock_core_mqtt_serializer.s: mocks/mock_core_mqtt_serializer.c.s -.PHONY : mocks/mock_core_mqtt_serializer.s - -# target to generate assembly for a file -mocks/mock_core_mqtt_serializer.c.s: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_serializer.c.s -.PHONY : mocks/mock_core_mqtt_serializer.c.s - -mocks/mock_core_mqtt_state.o: mocks/mock_core_mqtt_state.c.o -.PHONY : mocks/mock_core_mqtt_state.o - -# target to build an object file -mocks/mock_core_mqtt_state.c.o: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.o -.PHONY : mocks/mock_core_mqtt_state.c.o - -mocks/mock_core_mqtt_state.i: mocks/mock_core_mqtt_state.c.i -.PHONY : mocks/mock_core_mqtt_state.i - -# target to preprocess a source file -mocks/mock_core_mqtt_state.c.i: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.i -.PHONY : mocks/mock_core_mqtt_state.c.i - -mocks/mock_core_mqtt_state.s: mocks/mock_core_mqtt_state.c.s -.PHONY : mocks/mock_core_mqtt_state.s - -# target to generate assembly for a file -mocks/mock_core_mqtt_state.c.s: - cd /home/ubuntu/coreMQTT && $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/mocks/mock_core_mqtt_state.c.s -.PHONY : mocks/mock_core_mqtt_state.c.s - -# Help Target -help: - @echo "The following are some of the valid targets for this Makefile:" - @echo "... all (the default if no target is provided)" - @echo "... clean" - @echo "... depend" - @echo "... edit_cache" - @echo "... rebuild_cache" - @echo "... test" - @echo "... core_mqttv5_mock" - @echo "... core_mqttv5_real" - @echo "... core_mqttv5_serializer_utest" - @echo "... core_mqttv5_state_utest" - @echo "... core_mqttv5_utest" - @echo "... __/__/source/core_mqtt.o" - @echo "... __/__/source/core_mqtt.i" - @echo "... __/__/source/core_mqtt.s" - @echo "... __/__/source/core_mqtt_serializer.o" - @echo "... __/__/source/core_mqtt_serializer.i" - @echo "... __/__/source/core_mqtt_serializer.s" - @echo "... __/__/source/core_mqtt_state.o" - @echo "... __/__/source/core_mqtt_state.i" - @echo "... __/__/source/core_mqtt_state.s" - @echo "... core_mqttv5_serializer_utest.o" - @echo "... core_mqttv5_serializer_utest.i" - @echo "... core_mqttv5_serializer_utest.s" - @echo "... core_mqttv5_serializer_utest_runner.o" - @echo "... core_mqttv5_serializer_utest_runner.i" - @echo "... core_mqttv5_serializer_utest_runner.s" - @echo "... core_mqttv5_state_utest.o" - @echo "... core_mqttv5_state_utest.i" - @echo "... core_mqttv5_state_utest.s" - @echo "... core_mqttv5_state_utest_runner.o" - @echo "... core_mqttv5_state_utest_runner.i" - @echo "... core_mqttv5_state_utest_runner.s" - @echo "... core_mqttv5_utest.o" - @echo "... core_mqttv5_utest.i" - @echo "... core_mqttv5_utest.s" - @echo "... core_mqttv5_utest_runner.o" - @echo "... core_mqttv5_utest_runner.i" - @echo "... core_mqttv5_utest_runner.s" - @echo "... mocks/mock_core_mqtt_serializer.o" - @echo "... mocks/mock_core_mqtt_serializer.i" - @echo "... mocks/mock_core_mqtt_serializer.s" - @echo "... mocks/mock_core_mqtt_state.o" - @echo "... mocks/mock_core_mqtt_state.i" - @echo "... mocks/mock_core_mqtt_state.s" -.PHONY : help - - - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - cd /home/ubuntu/coreMQTT && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/unit-test/MQTTv5/cmake_install.cmake b/unit-test/MQTTv5/cmake_install.cmake deleted file mode 100644 index b1e238b0d..000000000 --- a/unit-test/MQTTv5/cmake_install.cmake +++ /dev/null @@ -1,44 +0,0 @@ -# Install script for directory: /home/ubuntu/coreMQTT/test/unit-test/MQTTv5 - -# Set the install prefix -if(NOT DEFINED CMAKE_INSTALL_PREFIX) - set(CMAKE_INSTALL_PREFIX "/usr/local") -endif() -string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") - -# Set the install configuration name. -if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - if(BUILD_TYPE) - string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" - CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") - else() - set(CMAKE_INSTALL_CONFIG_NAME "") - endif() - message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") -endif() - -# Set the component getting installed. -if(NOT CMAKE_INSTALL_COMPONENT) - if(COMPONENT) - message(STATUS "Install component: \"${COMPONENT}\"") - set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") - else() - set(CMAKE_INSTALL_COMPONENT) - endif() -endif() - -# Install shared libraries without execute permission? -if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) - set(CMAKE_INSTALL_SO_NO_EXE "1") -endif() - -# Is this installation the result of a crosscompile? -if(NOT DEFINED CMAKE_CROSSCOMPILING) - set(CMAKE_CROSSCOMPILING "FALSE") -endif() - -# Set path to fallback-tool for dependency-resolution. -if(NOT DEFINED CMAKE_OBJDUMP) - set(CMAKE_OBJDUMP "/usr/bin/objdump") -endif() - From 7ddc7472c87dafa50e5903420fe95165b30ff06d Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 25 Jun 2024 06:19:18 +0000 Subject: [PATCH 36/82] MQTTV5 connect and connack --- source/core_mqtt_serializer.c | 63 ++++++++++++++++++----------------- 1 file changed, 32 insertions(+), 31 deletions(-) diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 0c6a6eba7..ece92ca84 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -540,12 +540,12 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); */ static MQTTStatus_t MQTT_GetUserPropertySize( const MQTTUserProperty_t * pUserProperty, uint32_t number, - size_t * size ); + size_t * pSize ); - static MQTTStatus_t MQTT_GetAuthInfoSize( const MQTTAuthInfo_t * authInfo, - size_t * propertyLength ); + static MQTTStatus_t MQTT_GetAuthInfoSize( const MQTTAuthInfo_t * pAuthInfo, + size_t * pPropertyLength ); /** * @brief Get the size of connect properties. @@ -582,7 +582,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @return #MQTTSuccess if variable length and paramters are valid else #MQTTBadParamter. */ static MQTTStatus_t decodeVariableLength( const uint8_t * pBuffer, - size_t * length ); + size_t * pLength ); /** * @brief Validate the connack parameters. @@ -627,34 +627,34 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); const MQTTFixedBuffer_t * pFixedBuffer ); - static MQTTStatus_t decodeuint32_t( uint32_t * property, - size_t * propertyLength, - bool * used, - uint8_t ** index ); + static MQTTStatus_t decodeuint32_t( uint32_t * pProperty, + size_t * pPropertyLength, + bool * pUsed, + uint8_t ** pIndex ); - static MQTTStatus_t decodeuint16_t( uint16_t * property, - size_t * propertyLength, - bool * used, - uint8_t ** index ); + static MQTTStatus_t decodeuint16_t( uint16_t * pProperty, + size_t * pPropertyLength, + bool * pUsed, + uint8_t ** pIndex ); - static MQTTStatus_t decodeuint8_t( uint8_t * property, - size_t * propertyLength, - bool * used, - uint8_t ** index ); + static MQTTStatus_t decodeuint8_t( uint8_t * pProperty, + size_t * pPropertyLength, + bool * pUsed, + uint8_t ** pIndex ); - static MQTTStatus_t decodeutf_8( const char ** property, - uint16_t * length, - size_t * propertyLength, - bool * used, - uint8_t ** index ); + static MQTTStatus_t decodeutf_8( const char ** pProperty, + uint16_t * pLength, + size_t * pPropertyLength, + bool * pUsed, + uint8_t ** pIndex ); - static MQTTStatus_t decodeutf_8pair( MQTTUserProperty_t * userProperty, - size_t * propertyLength, - uint8_t ** index ); + static MQTTStatus_t decodeutf_8pair( MQTTUserProperty_t * pUserProperty, + size_t * pPropertyLength, + uint8_t ** pIndex ); static MQTTStatus_t deserializeConnackV5( MQTTConnectProperties_t * pConnackProperties, size_t propertyLength, - uint8_t ** index ); + const uint8_t ** pIndex ); /*-----------------------------------------------------------*/ MQTTStatus_t MQTTV5_GetConnectPacketSize( const MQTTConnectInfo_t * pConnectInfo, @@ -880,13 +880,13 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); { if( pAuthInfo->authMethodLength != 0U ) { - pPropertyLength += pAuthInfo->authMethodLength; - pPropertyLength += 3U; + *pPropertyLength += pAuthInfo->authMethodLength; + *pPropertyLength += 3U; if( pAuthInfo->authDataLength != 0U ) { - pPropertyLength += pAuthInfo->authDataLength; - pPropertyLength += 3U; + *pPropertyLength += pAuthInfo->authDataLength; + *pPropertyLength += 3U; } } } @@ -1714,11 +1714,12 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); } static MQTTStatus_t deserializeConnackV5( MQTTConnectProperties_t * pConnackProperties, - size_t propertyLength, - uint8_t ** pIndex ) + size_t length, + const uint8_t ** pIndex ) { MQTTStatus_t status = MQTTSuccess; uint8_t * pVariableHeader = *pIndex; + size_t propertyLength = length; bool sessionExpiry = false; bool serverReceiveMax = false; bool maxQos = false; From 631a7d70e8c58f4eeb6e78e3956a17bf29ca2850 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 25 Jun 2024 06:54:07 +0000 Subject: [PATCH 37/82] MQTTV5 connect and connack --- source/core_mqtt_serializer.c | 89 +++++++++++++++++------------------ 1 file changed, 44 insertions(+), 45 deletions(-) diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index ece92ca84..90710cc9b 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -630,31 +630,31 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); static MQTTStatus_t decodeuint32_t( uint32_t * pProperty, size_t * pPropertyLength, bool * pUsed, - uint8_t ** pIndex ); + const uint8_t ** pIndex ); static MQTTStatus_t decodeuint16_t( uint16_t * pProperty, size_t * pPropertyLength, bool * pUsed, - uint8_t ** pIndex ); + const uint8_t ** pIndex ); static MQTTStatus_t decodeuint8_t( uint8_t * pProperty, size_t * pPropertyLength, bool * pUsed, - uint8_t ** pIndex ); + const uint8_t ** pIndex ); static MQTTStatus_t decodeutf_8( const char ** pProperty, uint16_t * pLength, size_t * pPropertyLength, bool * pUsed, - uint8_t ** pIndex ); + const uint8_t ** pIndex ); static MQTTStatus_t decodeutf_8pair( MQTTUserProperty_t * pUserProperty, size_t * pPropertyLength, - uint8_t ** pIndex ); + const uint8_t ** pIndex ); static MQTTStatus_t deserializeConnackV5( MQTTConnectProperties_t * pConnackProperties, - size_t propertyLength, - const uint8_t ** pIndex ); + size_t length, + const uint8_t * const *pIndex ); /*-----------------------------------------------------------*/ MQTTStatus_t MQTTV5_GetConnectPacketSize( const MQTTConnectInfo_t * pConnectInfo, @@ -1533,9 +1533,9 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); static MQTTStatus_t decodeuint32_t( uint32_t * pProperty, size_t * pPropertyLength, bool * pUsed, - uint8_t ** pIndex ) + const uint8_t ** pIndex ) { - uint8_t * pVariableHeader = *pIndex; + const uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; if( *pUsed == true ) @@ -1561,9 +1561,9 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); static MQTTStatus_t decodeuint16_t( uint16_t * pProperty, size_t * pPropertyLength, bool * pUsed, - uint8_t ** pIndex ) + const uint8_t ** pIndex ) { - uint8_t * pVariableHeader = *pIndex; + const uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; if( *pUsed == true ) @@ -1589,9 +1589,9 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); static MQTTStatus_t decodeuint8_t( uint8_t * pProperty, size_t * pPropertyLength, bool * pUsed, - uint8_t ** pIndex ) + const uint8_t ** pIndex ) { - uint8_t * pVariableHeader = *pIndex; + const uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; if( *pUsed == true ) @@ -1623,9 +1623,9 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); uint16_t * pLength, size_t * pPropertyLength, bool * pUsed, - uint8_t ** pIndex ) + const uint8_t ** pIndex ) { - uint8_t * pVariableHeader = *pIndex; + const uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; if( *pUsed == true ) @@ -1661,9 +1661,9 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); static MQTTStatus_t decodeutf_8pair( MQTTUserProperty_t * pUserProperty, size_t * pPropertyLength, - uint8_t ** pIndex ) + const uint8_t ** pIndex ) { - uint8_t * pVariableHeader = *pIndex; + const uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; if( *pPropertyLength < sizeof( uint16_t ) ) @@ -1715,10 +1715,10 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); static MQTTStatus_t deserializeConnackV5( MQTTConnectProperties_t * pConnackProperties, size_t length, - const uint8_t ** pIndex ) + const uint8_t * const * pIndex ) { MQTTStatus_t status = MQTTSuccess; - uint8_t * pVariableHeader = *pIndex; + const uint8_t * pVariableHeader = *pIndex; size_t propertyLength = length; bool sessionExpiry = false; bool serverReceiveMax = false; @@ -1772,10 +1772,10 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); case MQTT_MAX_PACKET_SIZE_ID: status = decodeuint32_t( &pConnackProperties->serverMaxPacketSize, &propertyLength, &maxPacket, &pVariableHeader ); - /* if ((pConnackProperties->serverMaxPacketSize == 0U)) */ - /* { */ - /* status = MQTTProtocolError; */ - /* } */ + if ((pConnackProperties->serverMaxPacketSize == 0U)) + { + status = MQTTProtocolError; + } break; case MQTT_ASSIGNED_CLIENT_ID: @@ -1813,14 +1813,14 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); break; case MQTT_RESPONSE_INFO_ID: - /* if (pConnackProperties->reqResInfo == false) */ - /* { */ - /* status = MQTTProtocolError; */ - /* } */ - /* else */ - /* { */ + if (pConnackProperties->reqResInfo == false) + { + status = MQTTProtocolError; + } + else + { status = decodeutf_8( &pConnackProperties->pResponseInfo, &pConnackProperties->responseInfoLength, &propertyLength, &responseInfo, &pVariableHeader ); - /* } */ + } break; case MQTT_SERVER_REF_ID: @@ -1828,23 +1828,23 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); break; case MQTT_AUTH_METHOD_ID: - /* if (pConnackProperties->pOutgoingAuth == NULL) */ - /* { */ - /* status = MQTTProtocolError; */ - /* } */ - /* else{ */ + if (pConnackProperties->pOutgoingAuth == NULL) + { + status = MQTTProtocolError; + } + else{ status = decodeutf_8( &pConnackProperties->pIncomingAuth->pAuthMethod, &pConnackProperties->pIncomingAuth->authMethodLength, &propertyLength, &authMethod, &pVariableHeader ); - /* } */ + } break; case MQTT_AUTH_DATA_ID: - /* if ((pConnackProperties->pOutgoingAuth == NULL)) */ - /* { */ - /* status = MQTTProtocolError; */ - /* } */ - /* else{ */ + if ((pConnackProperties->pOutgoingAuth == NULL)) + { + status = MQTTProtocolError; + } + else{ status = decodeutf_8( &pConnackProperties->pIncomingAuth->pAuthData, &pConnackProperties->pIncomingAuth->authDataLength, &propertyLength, &authData, &pVariableHeader ); - /* } */ + } break; default: @@ -1858,13 +1858,12 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t * pConnackProperties, const MQTTPacketInfo_t * pIncomingPacket, - bool * pSessionPresent ) { MQTTStatus_t status = MQTTSuccess; size_t propertyLength; size_t remainingLengthSize; - uint8_t * pVariableHeader = NULL; + const uint8_t * pVariableHeader = NULL; /*Validate the arguments*/ if( pConnackProperties == NULL ) @@ -1898,7 +1897,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); else if( status == MQTTSuccess ) { - status = deserializeConnackV5( pConnackProperties, propertyLength, &pVariableHeader ); + status = deserializeConnackV5( pConnackProperties, propertyLength,&pVariableHeader ); } else From ce62d8cc50afa9c7d4521d84f9bafb2a5d65bd79 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 25 Jun 2024 07:17:40 +0000 Subject: [PATCH 38/82] MQTTV5 connect and connack --- .github/.cSpellWords.txt | 2 ++ source/core_mqtt.c | 4 ++-- source/core_mqtt_serializer.c | 12 ++++++------ source/include/core_mqtt_serializer.h | 2 +- test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c | 2 +- 5 files changed, 12 insertions(+), 10 deletions(-) diff --git a/.github/.cSpellWords.txt b/.github/.cSpellWords.txt index 526fa1220..1253a26b9 100644 --- a/.github/.cSpellWords.txt +++ b/.github/.cSpellWords.txt @@ -45,3 +45,5 @@ Vect VECT Werror Wunused +MQTTV +mqttv diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 14baffb43..bedcb50c1 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -568,7 +568,7 @@ static bool matchTopicFilter( const char * pTopicName, uint8_t contentTypeId; uint8_t serializedResponseTopicLength[ 2 ]; uint8_t responseTopicId; - uint8_t serailizedCorrelationLength[ 2 ]; + uint8_t serializedCorrelationLength[ 2 ]; uint8_t correlationDataId; } WillVector_t; @@ -733,7 +733,7 @@ static bool matchTopicFilter( const char * pTopicName, if( pWillInfo->correlationLength != 0U ) { /* Serialize the correlation data string. */ - vectorsAdded = addEncodedStringToVectorWithId( pWillVector->serailizedCorrelationLength, + vectorsAdded = addEncodedStringToVectorWithId( pWillVector->serializedCorrelationLength, pWillInfo->pCorrelationData, pWillInfo->correlationLength, iterator, diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 90710cc9b..81efc838a 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -104,7 +104,7 @@ #define MQTT_MAX_PACKET_SIZE ( 5U ) #define MQTT_TOPIC_ALIAS_SIZE ( 3U ) #define MQTT_REQUEST_RESPONSE_SIZE ( 2U ) - #define MQTT_REQUEST_PPOBLEM_SIZE ( 2U ) + #define MQTT_REQUEST_PROBLEM_SIZE ( 2U ) /*CONNECT PROPERTIES*/ #define MQTT_SESSION_EXPIRY_ID ( 0x11 ) @@ -615,7 +615,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * * @param[in] pConnectInfo MQTT CONNECT packet parameters. * @param[in] pWillInfo Last Will and Testament. Pass NULL if not used. - * @param[in] pConnectProperties MQTT CONNECT Prroperties parameters. + * @param[in] pConnectProperties MQTT CONNECT Properties parameters. * @param[in] remainingLength Remaining Length of MQTT CONNECT packet. * @param[out] pFixedBuffer Buffer for packet serialization. */ @@ -938,7 +938,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); if( pConnectProperties->reqProbInfo != true ) { - propertyLength += MQTT_REQUEST_PPOBLEM_SIZE; + propertyLength += MQTT_REQUEST_PROBLEM_SIZE; } if( pConnectProperties->pOutgoingAuth != NULL ) @@ -1172,7 +1172,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); pConnectInfo->pClientIdentifier, pConnectInfo->clientIdentifierLength ); - /* Serialze the will properties,topic name and message into the CONNECT packet if provided. */ + /* Serialize the will properties,topic name and message into the CONNECT packet if provided. */ if( pWillInfo != NULL ) { pIndex = MQTT_SerializePublishProperties( pWillInfo, pIndex ); @@ -1320,10 +1320,10 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); break; case ( uint8_t ) MQTT_REASON_IMPL_SPECIFIC_ERR: - LogError( ( "Connection refused: Impementation specific error." ) ); + LogError( ( "Connection refused: Implementation specific error." ) ); break; - case ( uint8_t ) MQTT_REASON_UNSUP_PROTO_VER: + case ( uint8_t ) MQTT_REASON_UNSUPPORTED_PROTO_VER: LogError( ( "Connection refused: Unsupported Protocol Version." ) ); break; diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index ae8d66ba3..4cb4d4e96 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -116,7 +116,7 @@ typedef enum ReasonCode { MQTT_REASON_MALFORMED_PACKET = 0x81, MQTT_REASON_PROTOCOL_ERR = 0x82, MQTT_REASON_IMPL_SPECIFIC_ERR = 0x83, - MQTT_REASON_UNSUP_PROTO_VER = 0x84, + MQTT_REASON_UNSUPPORTED_PROTO_VER = 0x84, MQTT_REASON_CLIENT_ID_NOT_VALID = 0x85, MQTT_REASON_BAD_USER_OR_PASS = 0x86, MQTT_REASON_NOT_AUTHORIZED = 0x87, diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index b2f9186b2..74021e607 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -175,7 +175,7 @@ struct NetworkContext #define MQTT_MAX_PACKET_SIZE ( 5U ) #define MQTT_TOPIC_ALIAS_SIZE ( 3U ) #define MQTT_REQUEST_RESPONSE_SIZE ( 2U ) -#define MQTT_REQUEST_PPOBLEM_SIZE ( 2U ) +#define MQTT_REQUEST_PROBLEM_SIZE ( 2U ) #define MQTT_SESSION_EXPIRY_ID ( 0x11 ) #define MQTT_RECEIVE_MAX_ID ( 0x21 ) From 803c87397ff9eaf011388b69d1e218baf5589ed7 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 25 Jun 2024 09:28:15 +0000 Subject: [PATCH 39/82] MQTTV5 connect and connack --- source/core_mqtt.c | 13 +- source/core_mqtt_serializer.c | 149 ++++++++++++++---- source/include/core_mqtt_config_defaults.h | 4 + source/include/core_mqtt_serializer.h | 77 ++++++++- .../MQTTv5/core_mqttv5_serializer_utest.c | 36 ++--- test/unit-test/MQTTv5/core_mqttv5_utest.c | 6 +- 6 files changed, 223 insertions(+), 62 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index bedcb50c1..cc2195e8c 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -72,6 +72,7 @@ * @brief Bytes required to encode any string length in an MQTT packet header. * Length is always encoded in two bytes according to the MQTT specification. */ +#define CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ( 2U ) /** * @brief Number of vectors required to encode one topic filter in a subscribe @@ -558,7 +559,10 @@ static bool matchTopicFilter( const char * pTopicName, #if ( MQTT_VERSION_5_ENABLED ) - + /** + * @brief Struct used to deserialize the will properties. + * + **/ typedef struct WillPropertiesVector { uint8_t serializedWillUserKeyLength[ MAX_USER_PROPERTY ][ 2 ]; @@ -572,7 +576,10 @@ static bool matchTopicFilter( const char * pTopicName, uint8_t correlationDataId; } WillVector_t; - + /** + * @brief Struct used to deserialize the connect properties. + * + **/ typedef struct ConnectPropertiesVector { uint8_t serializedUserKeyLength[ MAX_USER_PROPERTY ][ 2 ]; @@ -729,7 +736,7 @@ static bool matchTopicFilter( const char * pTopicName, ioVectorLength += vectorsAdded; } - /* Encode the correlation lenght if provided. */ + /* Encode the correlation length if provided. */ if( pWillInfo->correlationLength != 0U ) { /* Serialize the correlation data string. */ diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 81efc838a..95a24373d 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -542,7 +542,16 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); uint32_t number, size_t * pSize ); - +/** + * @brief Get the size of authentication information. + * + * Validates the authentication method, data and calculates the total size of authentication information. + * + * @param[in] pAuthInfo Pointer to an MQTT packet struct representing authentication information. + * @param[out] pPropertyLength Size of the authentication information. + * + * @return #MQTTSuccess if user properties are valid and #MQTTBadParametr if the user properties are not valid + */ static MQTTStatus_t MQTT_GetAuthInfoSize( const MQTTAuthInfo_t * pAuthInfo, size_t * pPropertyLength ); @@ -552,7 +561,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * * Validates the connect properties, calculates the total size of connect properties and stores it int MQTTConnectProperties_t. * - * @param[in] pConnectProperties Pointer to an MQTT packet struct representing connect properties. + * @param[out] pConnectProperties Pointer to an MQTT packet struct representing connect properties. * * @return #MQTTSuccess if connect properties are valid and #MQTTBadParametr if the connect properties are not valid. */ @@ -560,11 +569,11 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); static MQTTStatus_t MQTT_GetConnectPropertiesSize( MQTTConnectProperties_t * pConnectProperties ); /** - * @brief Get the size of connect properties. + * @brief Get the size of will properties. * * Validates the will properties,calculates the total size of will properties and stores it in MQTTPublishInfo_t. * - * @param[in] pConnectProperties Pointer to an MQTT packet struct representing will properties. + * @param[out] pWillProperties Pointer to an MQTT packet struct representing will properties. * * @return #MQTTSuccess if will properties are valid and #MQTTBadParametr if the will properties are not valid. */ @@ -572,12 +581,12 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); static MQTTStatus_t MQTT_GetWillPropertiesSize( MQTTPublishInfo_t * pWillProperties ); /** - * @brief decodes the variable length by reading a single byte at a time. + * @brief Decodes the variable length by reading a single byte at a time. * * Uses the algorithm provided in the spec. * * @param[in] pBuffer Pointer to the buffer. - * @param[out] length Decoded variable length + * @param[out] pLength Decoded variable length * * @return #MQTTSuccess if variable length and paramters are valid else #MQTTBadParamter. */ @@ -591,7 +600,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * the variable header without connack properties. * * @param[in] pIncoming Pointer to an MQTT packet struct representing a incoming packet. - * @param[in] pSessionPresent Pointer to a bool representing whether a session is present or not. + * @param[out] pSessionPresent Whether a session is present or not. * * * @return #MQTTSuccess if connack without connack properties is valid; #MQTTBadResponse if the Connack @@ -606,7 +615,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * * @param[in] responseCode MQTT Verion 5 standard CONNACK response code. * - * @return MQTTServerRefused if response code is valid and MQTTProtocol if responseCode is invalid. + * @return MQTTServerRefused if response code is valid and MQTTProtocolError if responseCode is invalid. */ static MQTTStatus_t logConnackResponseV5( uint8_t responseCode ); @@ -617,7 +626,8 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[in] pWillInfo Last Will and Testament. Pass NULL if not used. * @param[in] pConnectProperties MQTT CONNECT Properties parameters. * @param[in] remainingLength Remaining Length of MQTT CONNECT packet. - * @param[out] pFixedBuffer Buffer for packet serialization. + * @param[in] pFixedBuffer Buffer for packet serialization. + * */ static void serializeConnectPacketV5( const MQTTConnectInfo_t * pConnectInfo, @@ -626,32 +636,87 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); size_t remainingLength, const MQTTFixedBuffer_t * pFixedBuffer ); +/** + * @brief Validate the length and decode a 4 byte value. + * + * @param[out] pProperty To store the decoded property. + * @param[out] pPropertyLength Size of the length. + * @param[out] pUsed Whether the property is decoded befire. + * @param[out] pIndex Pointer to the current index of the buffer. + * + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket + **/ static MQTTStatus_t decodeuint32_t( uint32_t * pProperty, size_t * pPropertyLength, bool * pUsed, const uint8_t ** pIndex ); +/** + * @brief Validate the length and decode a 2 byte value. + * + * @param[out] pProperty To store the decoded property. + * @param[out] pPropertyLength Size of the length. + * @param[out] pUsed Whether the property is decoded befire. + * @param[out] pIndex Pointer to the current index of the buffer. + * + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket + **/ static MQTTStatus_t decodeuint16_t( uint16_t * pProperty, size_t * pPropertyLength, bool * pUsed, const uint8_t ** pIndex ); - +/** + * @brief Validate the length and decode a 1 byte value. + * + * @param[out] pProperty To store the decoded property. + * @param[out] pPropertyLength Size of the length. + * @param[out] pUsed Whether the property is decoded befire. + * @param[out] pIndex Pointer to the current index of the buffer. + * + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket + **/ static MQTTStatus_t decodeuint8_t( uint8_t * pProperty, size_t * pPropertyLength, bool * pUsed, const uint8_t ** pIndex ); - +/** + * @brief Validate the length and decode a utf 8 string. + * + * @param[out] pProperty To store the decoded string. + * @param[out] pLength Size of the decoded utf-8 string. + * @param[out] pPropertyLength Size of the length. + * @param[out] pUsed Whether the property is decoded before. + * @param[out] pIndex Pointer to the current index of the buffer. + * + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket + **/ static MQTTStatus_t decodeutf_8( const char ** pProperty, uint16_t * pLength, size_t * pPropertyLength, bool * pUsed, const uint8_t ** pIndex ); - +/** + * @brief Validate the length and decode a user property. + * + * @param[out] pUserProperty To store the decoded property. + * @param[out] pPropertyLength Size of the length. + * @param[out] pIndex Pointer to the current index of the buffer. + * + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket + **/ static MQTTStatus_t decodeutf_8pair( MQTTUserProperty_t * pUserProperty, size_t * pPropertyLength, const uint8_t ** pIndex ); - +/** + * @brief Validate the length and decode the connack properties. + * + * @param[out] pConnackProperties To store the decoded property. + * @param[out] length Length of the property. + * @param[out] pIndex Pointer to the current index of the buffer. + * + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket + **/ static MQTTStatus_t deserializeConnackV5( MQTTConnectProperties_t * pConnackProperties, size_t length, const uint8_t * const *pIndex ); @@ -786,6 +851,8 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); pIndexLocal = encodeRemainingLength( pIndexLocal, pPublishInfo->propertyLength ); + /*Serialize the will delay if provided.*/ + if( pPublishInfo->willDelay != 0U ) { *pIndexLocal = MQTT_WILL_DELAY_ID; @@ -796,7 +863,8 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); pIndexLocal[ 3 ] = UINT32_BYTE0( pPublishInfo->willDelay ); pIndexLocal = &pIndexLocal[ 4 ]; } - + /*Serialize the payload format if provided.*/ + if( pPublishInfo->payloadFormat != 0U ) { *pIndexLocal = MQTT_PAYLOAD_FORMAT_ID; @@ -805,6 +873,8 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); pIndexLocal++; } + /*Serialize the message expiry if provided.*/ + if( pPublishInfo->msgExpiryPresent != false ) { *pIndexLocal = MQTT_MSG_EXPIRY_ID; @@ -841,6 +911,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); { for( ; ( i < number ); i++ ) { + /*Validate the key and value*/ if( ( pUserProperty[ i ].keyLength == 0U ) || ( pUserProperty[ i ].valueLength == 0U ) || ( pUserProperty[ i ].pKey == NULL ) || ( pUserProperty[ i ].pValue == NULL ) ) { status = MQTTBadParameter; @@ -863,7 +934,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); size_t * pPropertyLength ) { MQTTStatus_t status = MQTTSuccess; - + /*Validate the parameters*/ if( ( pAuthInfo->authMethodLength == 0U ) && ( pAuthInfo->authDataLength != 0U ) ) { status = MQTTBadParameter; @@ -878,6 +949,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); } else { + /*Add authentication method and data if provided*/ if( pAuthInfo->authMethodLength != 0U ) { *pPropertyLength += pAuthInfo->authMethodLength; @@ -931,12 +1003,12 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); propertyLength += MQTT_TOPIC_ALIAS_SIZE; } - if( pConnectProperties->reqResInfo != false ) + if( pConnectProperties->requestResponseInfo != false ) { propertyLength += MQTT_REQUEST_RESPONSE_SIZE; } - if( pConnectProperties->reqProbInfo != true ) + if( pConnectProperties->requestProblemInfo != true ) { propertyLength += MQTT_REQUEST_PROBLEM_SIZE; } @@ -954,7 +1026,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); status = MQTT_GetUserPropertySize( pConnectProperties->pOutgoingUserProperty, pConnectProperties->outgoingUserPropSize, &propertyLength ); } - /*Variable length encoded values cannot have valued more than 268435455U*/ + /*Variable length encoded values cannot have a value of more than 268435455U*/ if( ( status == MQTTSuccess ) && ( pConnectProperties->propertyLength > MQTT_MAX_REMAINING_LENGTH ) ) { status = MQTTBadParameter; @@ -1055,7 +1127,8 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); uint8_t * pIndexLocal = pIndex; pIndexLocal = encodeRemainingLength( pIndexLocal, pConnectProperties->propertyLength ); - + + /*Serialize session expiry if provided.*/ if( pConnectProperties->sessionExpiry != 0U ) { *pIndexLocal = MQTT_SESSION_EXPIRY_ID; @@ -1066,6 +1139,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); pIndexLocal[ 3 ] = UINT32_BYTE0( pConnectProperties->sessionExpiry ); pIndexLocal = &pIndexLocal[ 4 ]; } + /*Serialize receive max if provided.*/ if( pConnectProperties->receiveMax != ( uint16_t ) UINT16_MAX ) { @@ -1075,6 +1149,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); pIndexLocal[ 1 ] = UINT16_LOW_BYTE( pConnectProperties->receiveMax ); pIndexLocal = &pIndexLocal[ 2 ]; } + /*Serialize the max packet size if provided.*/ if( pConnectProperties->isMaxPacketSize == true ) { @@ -1086,6 +1161,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); pIndexLocal[ 3 ] = UINT32_BYTE0( pConnectProperties->maxPacketSize ); pIndexLocal = &pIndexLocal[ 4 ]; } + /*Serialize the topic alias if provided.*/ if( pConnectProperties->topicAliasMax != 0U ) { @@ -1095,16 +1171,18 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); pIndexLocal[ 1 ] = UINT16_LOW_BYTE( pConnectProperties->topicAliasMax ); pIndexLocal = &pIndexLocal[ 2 ]; } + /*Serialize the request response information if provided.*/ - if( pConnectProperties->reqResInfo != false ) + if( pConnectProperties->requestResponseInfo != false ) { *pIndexLocal = MQTT_REQUEST_RESPONSE_ID; pIndexLocal++; *pIndexLocal = 1U; pIndexLocal++; } + /*Serialize request problem information if provided.*/ - if( pConnectProperties->reqProbInfo != true ) + if( pConnectProperties->requestProblemInfo != true ) { *pIndexLocal = MQTT_REQUEST_PROBLEM_ID; pIndexLocal++; @@ -1176,7 +1254,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); if( pWillInfo != NULL ) { pIndex = MQTT_SerializePublishProperties( pWillInfo, pIndex ); - + /*Serialize the provided will properties which has variable length.*/ if( pWillInfo->contentTypeLength != 0U ) { *pIndex = MQTT_CONTENT_TYPE_ID; @@ -1304,7 +1382,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); static MQTTStatus_t logConnackResponseV5( uint8_t responseCode ) { MQTTStatus_t status = MQTTServerRefused; - + /* Log an error based on the CONNACK response code. */ switch( responseCode ) { case ( uint8_t ) MQTT_REASON_UNSPECIFIED_ERR: @@ -1404,6 +1482,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); { MQTTStatus_t status = MQTTSuccess; + /*Validate the arguments*/ if( pIncomingPacket == NULL ) { LogError( ( "pIncomingPacket cannot be NULL." ) ); @@ -1537,11 +1616,12 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); { const uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; - + /*Protocol error to include the same property twice.*/ if( *pUsed == true ) { status = MQTTProtocolError; } + /*Validate the length and decode.*/ else if( *pPropertyLength < sizeof( uint32_t ) ) { status = MQTTMalformedPacket; @@ -1565,11 +1645,14 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); { const uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; + /*Protocol error to include the same property twice.*/ if( *pUsed == true ) { status = MQTTProtocolError; } + /*Validate the length and decode.*/ + else if( *pPropertyLength < sizeof( uint16_t ) ) { status = MQTTMalformedPacket; @@ -1593,11 +1676,14 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); { const uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; + /*Protocol error to include the same property twice.*/ if( *pUsed == true ) { status = MQTTProtocolError; } + /*Validate the length and decode.*/ + else if( *pPropertyLength < sizeof( uint8_t ) ) { status = MQTTMalformedPacket; @@ -1627,11 +1713,14 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); { const uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; + /*Protocol error to include the same property twice.*/ if( *pUsed == true ) { status = MQTTProtocolError; } + /*Validate the length and decode.*/ + else if( *pPropertyLength < sizeof( uint16_t ) ) { status = MQTTMalformedPacket; @@ -1665,7 +1754,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); { const uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; - + /*Validate the property length and decode the user property property received.*/ if( *pPropertyLength < sizeof( uint16_t ) ) { status = MQTTMalformedPacket; @@ -1739,12 +1828,12 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); MQTTUserProperty_t * userProperty = pConnackProperties->pIncomingUserProperty; pVariableHeader = &pVariableHeader[ remainingLengthEncodedSize( propertyLength ) ]; - + /*Decode all the properties received, validate and store them in pConnackProperties.*/ while( ( propertyLength > 0U ) && ( status == MQTTSuccess ) ) { uint8_t packetId = *pVariableHeader; pVariableHeader = &pVariableHeader[ 1 ]; - propertyLength -= 1U; + propertyLength -= sizeof(uint8_t); switch( packetId ) { @@ -1813,7 +1902,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); break; case MQTT_RESPONSE_INFO_ID: - if (pConnackProperties->reqResInfo == false) + if (pConnackProperties->requestResponseInfo == false) { status = MQTTProtocolError; } @@ -1846,7 +1935,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); status = decodeutf_8( &pConnackProperties->pIncomingAuth->pAuthData, &pConnackProperties->pIncomingAuth->authDataLength, &propertyLength, &authData, &pVariableHeader ); } break; - + /*Protocol error to include any other property id.*/ default: status = MQTTProtocolError; break; @@ -1894,7 +1983,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); { status = MQTTMalformedPacket; } - + /*Deserialize the connack properties.*/ else if( status == MQTTSuccess ) { status = deserializeConnackV5( pConnackProperties, propertyLength,&pVariableHeader ); diff --git a/source/include/core_mqtt_config_defaults.h b/source/include/core_mqtt_config_defaults.h index 5cfd387f0..ecc809f4b 100644 --- a/source/include/core_mqtt_config_defaults.h +++ b/source/include/core_mqtt_config_defaults.h @@ -74,6 +74,10 @@ */ #ifndef MQTT_VERSION_5_ENABLED #define MQTT_VERSION_5_ENABLED ( false ) + /** + * @ingroup mqtt_constants + * @brief Maximum number of user properties with default value as 5. + */ #ifndef MAX_USER_PROPERTY #define MAX_USER_PROPERTY ( 5U ) #endif diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index 4cb4d4e96..3f7df782a 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -72,7 +72,6 @@ * @brief The size of MQTT PUBACK, PUBREC, PUBREL, and PUBCOMP packets, per MQTT spec. */ #define MQTT_PUBLISH_ACK_PACKET_SIZE ( 4UL ) -#define CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ( 2U ) /* Structures defined in this file. */ struct MQTTFixedBuffer; @@ -110,7 +109,10 @@ typedef enum MQTTStatus } MQTTStatus_t; - +/** + * @ingroup mqtt_enum_types + * @brief Reason Code is a one byte unsigned value that indicates the result of an operation. + */ typedef enum ReasonCode { MQTT_REASON_UNSPECIFIED_ERR = 0x80, MQTT_REASON_MALFORMED_PACKET = 0x81, @@ -321,12 +323,12 @@ typedef struct MQTTConnectProperties /** * @brief A value of 0 indicates that the Server MUST NOT return Response Information. */ - bool reqResInfo; + bool requestResponseInfo; /** * @brief The Client uses this value to indicate whether the Reason String or User Properties * are sent in the case of failures */ - bool reqProbInfo; + bool requestProblemInfo; /** * @brief Length of the connect properties. */ @@ -488,7 +490,7 @@ typedef struct MQTTPublishInfo */ uint32_t msgExpiryInterval; /** - * @brief Wheter the message expiry is specified. + * @brief Whether the message expiry is specified. */ bool msgExpiryPresent; /** @@ -508,7 +510,7 @@ typedef struct MQTTPublishInfo */ const char *pResponseTopic; /** - * @brief Length of the correlation lenght. + * @brief Length of the correlation data. */ uint16_t correlationLength; /** @@ -1578,7 +1580,7 @@ uint8_t * MQTT_SerializeUnsubscribeHeader( size_t remainingLength, /** - * @fnuint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex,const MQTTConnectProperties_t * pConnectProperties); + * @fn uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex,const MQTTConnectProperties_t * pConnectProperties); * @brief Serialize the connect properties of the connect packet header. * * @param[out] pIndex Pointer to the buffer where the header is to @@ -1597,7 +1599,7 @@ uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex,const MQTTConnectProper /** - * @fnuint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, uint8_t* pIndex); + * @fn uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, uint8_t* pIndex); * @brief Serialize the connect properties of the connect packet header. *@param[in] pPublishInfo The publish/will properties information. * @param[out] pIndex Pointer to the buffer where the header is to @@ -1614,9 +1616,68 @@ uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, /** @endcond */ +/** + * @brief Deserialize an MQTT CONNACK packet. + * + * @param[out] pConnackProperties To store the deserialized connack properties. + * @param[in] pIncomingPacket #MQTTPacketInfo_t containing the buffer. + * @param[out] pSessionPresent Whether a previous session was present. + * + * @return #MQTTBadParameter, #MQTTBadResponse, #MQTTSuccess, #MQTTMalformedPacket, #MQTTProtocolError, #MQTTServerRefused + * + * Example + * @code{c} + * + * // TransportRecv_t function for reading from the network. + * int32_t socket_recv( + * NetworkContext_t * pNetworkContext, + * void * pBuffer, + * size_t bytesToRecv + * ); + * // Some context to be used with the above transport receive function. + * NetworkContext_t networkContext; + * + * // Other variables used in this example. + * MQTTStatus_t status; + * MQTTPacketInfo_t incomingPacket; + * MQTTConnectProperties_t properties = {0}; + * uint16_t packetId; + * + * int32_t bytesRecvd; + * // A buffer to hold remaining data of the incoming packet. + * uint8_t buffer[ BUFFER_SIZE ]; + * + * // Populate all fields of the incoming packet. + * status = MQTT_GetIncomingPacketTypeAndLength( + * socket_recv, + * &networkContext, + * &incomingPacket + * ); + * assert( status == MQTTSuccess ); + * assert( incomingPacket.remainingLength <= BUFFER_SIZE ); + * bytesRecvd = socket_recv( + * &networkContext, + * ( void * ) buffer, + * incomingPacket.remainingLength + * ); + * incomingPacket.pRemainingData = buffer; + * + * // Deserialize the publish information if the incoming packet is a publish. + * if( ( incomingPacket.type & 0xF0 ) == MQTT_PACKET_TYPE_CONNACK ) + * { + * status = MQTT_DeserializeConnack(&properties, &incomingPacket, &session); + * if( status == MQTTSuccess ) + * { + * // The deserialized connack information can now be used from `properties`. + * } + * } + * @endcode + */ +/* @[declare_mqttv5_deserializeconnack] */ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackProperties,const MQTTPacketInfo_t * pIncomingPacket, bool * pSessionPresent ); +/* @[declare_mqttv5_deserializeconnack] */ /** * @brief Get the size and Remaining Length of an MQTT Version 5 CONNECT packet . diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index 74021e607..d37a5c21a 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -936,8 +936,8 @@ void test_MQTT_SerializeConnectProperties( void ) connect.isMaxPacketSize = true; connect.maxPacketSize = 56; connect.topicAliasMax = 11; - connect.reqResInfo = 1; - connect.reqProbInfo = 0; + connect.requestResponseInfo = 1; + connect.requestProblemInfo = 0; connect.propertyLength = 20; pIndex = MQTT_SerializeConnectProperties( pIndex, &connect ); TEST_ASSERT_EQUAL_INT( 21, ( pIndex - properties ) ); @@ -968,12 +968,12 @@ void test_MQTT_SerializeConnectProperties( void ) TEST_ASSERT_EQUAL_INT( MQTT_REQUEST_RESPONSE_ID, *index ); index++; - TEST_ASSERT_EQUAL_INT( connect.reqResInfo, *index ); + TEST_ASSERT_EQUAL_INT( connect.requestResponseInfo, *index ); index++; TEST_ASSERT_EQUAL_INT( MQTT_REQUEST_PROBLEM_ID, *index ); index++; - TEST_ASSERT_EQUAL_INT( connect.reqProbInfo, *index ); + TEST_ASSERT_EQUAL_INT( connect.requestProblemInfo, *index ); index++; } @@ -2054,7 +2054,7 @@ void test_MQTTV5_DeserializeConnackOnlyResponseInfo( void ) TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); packetInfo.remainingLength = 8; - properties.reqResInfo = 1; + properties.requestResponseInfo = 1; pIndexLocal = &buffer[ 2 ]; propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; @@ -2451,7 +2451,7 @@ void test_MQTTV5_GetConnectPacketSize( void ) * incorrect paramters */ properties.receiveMax = 65535U; properties.maxPacketSize = UINT32_MAX; - properties.reqProbInfo = 1; + properties.requestProblemInfo = 1; status = MQTTV5_GetConnectPacketSize( NULL, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); @@ -2562,7 +2562,7 @@ void test_MQTTV5_GetConnectPacketSize( void ) TEST_ASSERT_EQUAL( MQTTBadParameter, status ); properties.receiveMax = 24; - properties.reqProbInfo = 1; + properties.requestProblemInfo = 1; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_EQUAL_size_t( 8, properties.propertyLength ); @@ -2579,13 +2579,13 @@ void test_MQTTV5_GetConnectPacketSize( void ) TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_EQUAL_size_t( 16, properties.propertyLength ); - properties.reqResInfo = 1; + properties.requestResponseInfo = 1; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_EQUAL_size_t( 18, properties.propertyLength ); - properties.reqProbInfo = 0; + properties.requestProblemInfo = 0; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); @@ -2703,8 +2703,8 @@ void test_MQTTV5_GetConnectPacketSize( void ) properties.isMaxPacketSize = true; properties.maxPacketSize = 32; properties.topicAliasMax = 12; - properties.reqResInfo = 1; - properties.reqProbInfo = 0; + properties.requestResponseInfo = 1; + properties.requestProblemInfo = 0; memset( &userProperty, 0x0, sizeof( userProperty ) ); userProperty.keyLength = 3; userProperty.valueLength = 1; @@ -2808,7 +2808,7 @@ void test_MQTTV5_GetConnectPacketSize( void ) memset( &willInfo, 0x0, sizeof( willInfo ) ); /*5*/ properties.receiveMax = UINT16_MAX; - properties.reqProbInfo = 1; + properties.requestProblemInfo = 1; MQTTUserProperty_t userPropArr[ 3500 ]; properties.outgoingUserPropSize = 2078; properties.pOutgoingUserProperty = userPropArr; @@ -2856,7 +2856,7 @@ void test_MQTTV5_SerializeConnect( void ) properties.receiveMax = 65535U; properties.isMaxPacketSize = true; properties.maxPacketSize = UINT32_MAX; - properties.reqProbInfo = 1; + properties.requestProblemInfo = 1; MQTTFixedBuffer_t fixedBuffer = { .pBuffer = &buffer[ BUFFER_PADDING_LENGTH ], .size = bufferSize }; /* Verify bad parameter errors. */ @@ -2990,8 +2990,8 @@ void test_MQTTV5_SerializeConnect( void ) properties.receiveMax = 34; properties.maxPacketSize = 32; properties.topicAliasMax = 12; - properties.reqResInfo = 1; - properties.reqProbInfo = 0; + properties.requestResponseInfo = 1; + properties.requestProblemInfo = 0; MQTTUserProperty_t userProperty; MQTTAuthInfo_t auth; memset( &userProperty, 0x0, sizeof( userProperty ) ); @@ -3088,8 +3088,8 @@ void test_MQTTV5_SerializeConnect_Happy_Paths() properties.receiveMax = 34; properties.maxPacketSize = 32; properties.topicAliasMax = 12; - properties.reqResInfo = 1; - properties.reqProbInfo = 0; + properties.requestResponseInfo = 1; + properties.requestProblemInfo = 0; willInfo.payloadFormat = 1; willInfo.msgExpiryPresent = 1; willInfo.msgExpiryInterval = 10; @@ -3204,7 +3204,7 @@ void test_WillLimit( void ) connectInfo.passwordLength = UINT16_MAX; connectInfo.pUserName = ""; properties.receiveMax = UINT16_MAX; - properties.reqProbInfo = 1; + properties.requestProblemInfo = 1; willInfo.payloadFormat = 1; willInfo.msgExpiryPresent = 1; willInfo.msgExpiryInterval = 10; diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index 0c513a688..6b78bffb2 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -474,8 +474,8 @@ void test_MQTT_Connect_happy_path() properties.isMaxPacketSize = true; properties.maxPacketSize = 13; properties.topicAliasMax = 13; - properties.reqProbInfo = 0; - properties.reqResInfo = 1; + properties.requestProblemInfo = 0; + properties.requestResponseInfo = 1; properties.outgoingUserPropSize = 1; properties.pOutgoingUserProperty = &userProperty; properties.pOutgoingAuth = &authInfo; @@ -499,7 +499,7 @@ void test_MQTT_Connect_happy_path() willInfo.willDelay = 3; willInfo.userPropertySize = 1; willInfo.pUserProperty = &userProperty; - connectInfo.pUserName = "hdhf"; + connectInfo.pUserName = "abcd"; connectInfo.userNameLength = 3; connectInfo.passwordLength = 4; connectInfo.pPassword = "1234"; From 9a8fc0f9cf2769d91267b1280a23b102e5e7515d Mon Sep 17 00:00:00 2001 From: Pooja Toshniwal <142602291+Pooja-Toshniwal@users.noreply.github.com> Date: Tue, 25 Jun 2024 15:02:16 +0530 Subject: [PATCH 40/82] Delete cmake_install.cmake --- cmake_install.cmake | 72 --------------------------------------------- 1 file changed, 72 deletions(-) delete mode 100644 cmake_install.cmake diff --git a/cmake_install.cmake b/cmake_install.cmake deleted file mode 100644 index e91341322..000000000 --- a/cmake_install.cmake +++ /dev/null @@ -1,72 +0,0 @@ -# Install script for directory: /home/ubuntu/coreMQTT/test - -# Set the install prefix -if(NOT DEFINED CMAKE_INSTALL_PREFIX) - set(CMAKE_INSTALL_PREFIX "/usr/local") -endif() -string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") - -# Set the install configuration name. -if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - if(BUILD_TYPE) - string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" - CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") - else() - set(CMAKE_INSTALL_CONFIG_NAME "") - endif() - message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") -endif() - -# Set the component getting installed. -if(NOT CMAKE_INSTALL_COMPONENT) - if(COMPONENT) - message(STATUS "Install component: \"${COMPONENT}\"") - set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") - else() - set(CMAKE_INSTALL_COMPONENT) - endif() -endif() - -# Install shared libraries without execute permission? -if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) - set(CMAKE_INSTALL_SO_NO_EXE "1") -endif() - -# Is this installation the result of a crosscompile? -if(NOT DEFINED CMAKE_CROSSCOMPILING) - set(CMAKE_CROSSCOMPILING "FALSE") -endif() - -# Set path to fallback-tool for dependency-resolution. -if(NOT DEFINED CMAKE_OBJDUMP) - set(CMAKE_OBJDUMP "/usr/bin/objdump") -endif() - -if(NOT CMAKE_INSTALL_LOCAL_ONLY) - # Include the install script for the subdirectory. - include("/home/ubuntu/coreMQTT/unit-test/MQTT/cmake_install.cmake") -endif() - -if(NOT CMAKE_INSTALL_LOCAL_ONLY) - # Include the install script for the subdirectory. - include("/home/ubuntu/coreMQTT/unit-test/MQTTv5/cmake_install.cmake") -endif() - -if(CMAKE_INSTALL_COMPONENT) - if(CMAKE_INSTALL_COMPONENT MATCHES "^[a-zA-Z0-9_.+-]+$") - set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") - else() - string(MD5 CMAKE_INST_COMP_HASH "${CMAKE_INSTALL_COMPONENT}") - set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INST_COMP_HASH}.txt") - unset(CMAKE_INST_COMP_HASH) - endif() -else() - set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") -endif() - -if(NOT CMAKE_INSTALL_LOCAL_ONLY) - string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT - "${CMAKE_INSTALL_MANIFEST_FILES}") - file(WRITE "/home/ubuntu/coreMQTT/${CMAKE_INSTALL_MANIFEST}" - "${CMAKE_INSTALL_MANIFEST_CONTENT}") -endif() From 422fa5bc44f8c65289f34612ba82b14264ef5917 Mon Sep 17 00:00:00 2001 From: Pooja Toshniwal <142602291+Pooja-Toshniwal@users.noreply.github.com> Date: Tue, 25 Jun 2024 15:03:37 +0530 Subject: [PATCH 41/82] Delete Makefile --- Makefile | 928 ------------------------------------------------------- 1 file changed, 928 deletions(-) delete mode 100644 Makefile diff --git a/Makefile b/Makefile deleted file mode 100644 index 10571f5ce..000000000 --- a/Makefile +++ /dev/null @@ -1,928 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.30 - -# Default target executed when no arguments are given to make. -default_target: all -.PHONY : default_target - -# Allow only one "make -f Makefile2" at a time, but pass parallelism. -.NOTPARALLEL: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake - -# The command to remove a file. -RM = /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/ubuntu/coreMQTT/test - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/ubuntu/coreMQTT - -#============================================================================= -# Targets provided globally by CMake. - -# Special rule for the target test -test: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running tests..." - /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest --force-new-ctest-process $(ARGS) -.PHONY : test - -# Special rule for the target test -test/fast: test -.PHONY : test/fast - -# Special rule for the target edit_cache -edit_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..." - /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : edit_cache - -# Special rule for the target edit_cache -edit_cache/fast: edit_cache -.PHONY : edit_cache/fast - -# Special rule for the target rebuild_cache -rebuild_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..." - /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : rebuild_cache - -# Special rule for the target rebuild_cache -rebuild_cache/fast: rebuild_cache -.PHONY : rebuild_cache/fast - -# The main all target -all: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles /home/ubuntu/coreMQTT//CMakeFiles/progress.marks - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all - $(CMAKE_COMMAND) -E cmake_progress_start /home/ubuntu/coreMQTT/CMakeFiles 0 -.PHONY : all - -# The main clean target -clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean -.PHONY : clean - -# The main clean target -clean/fast: clean -.PHONY : clean/fast - -# Prepare targets for installation. -preinstall: all - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall -.PHONY : preinstall - -# Prepare targets for installation. -preinstall/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall -.PHONY : preinstall/fast - -# clear depends -depend: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 -.PHONY : depend - -#============================================================================= -# Target rules for targets named coverity_analysis - -# Build rule for target. -coverity_analysis: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 coverity_analysis -.PHONY : coverity_analysis - -# fast build rule for target. -coverity_analysis/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/build -.PHONY : coverity_analysis/fast - -#============================================================================= -# Target rules for targets named cmock - -# Build rule for target. -cmock: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 cmock -.PHONY : cmock - -# fast build rule for target. -cmock/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/cmock.dir/build.make CMakeFiles/cmock.dir/build -.PHONY : cmock/fast - -#============================================================================= -# Target rules for targets named unity - -# Build rule for target. -unity: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 unity -.PHONY : unity - -# fast build rule for target. -unity/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/build -.PHONY : unity/fast - -#============================================================================= -# Target rules for targets named coverage - -# Build rule for target. -coverage: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 coverage -.PHONY : coverage - -# fast build rule for target. -coverage/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/coverage.dir/build.make CMakeFiles/coverage.dir/build -.PHONY : coverage/fast - -#============================================================================= -# Target rules for targets named core_mqtt_mock - -# Build rule for target. -core_mqtt_mock: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 core_mqtt_mock -.PHONY : core_mqtt_mock - -# fast build rule for target. -core_mqtt_mock/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_mock.dir/build -.PHONY : core_mqtt_mock/fast - -#============================================================================= -# Target rules for targets named core_mqtt_real - -# Build rule for target. -core_mqtt_real: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 core_mqtt_real -.PHONY : core_mqtt_real - -# fast build rule for target. -core_mqtt_real/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_real.dir/build -.PHONY : core_mqtt_real/fast - -#============================================================================= -# Target rules for targets named Experimental - -# Build rule for target. -Experimental: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 Experimental -.PHONY : Experimental - -# fast build rule for target. -Experimental/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Experimental.dir/build.make unit-test/MQTT/CMakeFiles/Experimental.dir/build -.PHONY : Experimental/fast - -#============================================================================= -# Target rules for targets named Nightly - -# Build rule for target. -Nightly: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 Nightly -.PHONY : Nightly - -# fast build rule for target. -Nightly/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Nightly.dir/build.make unit-test/MQTT/CMakeFiles/Nightly.dir/build -.PHONY : Nightly/fast - -#============================================================================= -# Target rules for targets named Continuous - -# Build rule for target. -Continuous: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 Continuous -.PHONY : Continuous - -# fast build rule for target. -Continuous/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/Continuous.dir/build.make unit-test/MQTT/CMakeFiles/Continuous.dir/build -.PHONY : Continuous/fast - -#============================================================================= -# Target rules for targets named NightlyMemoryCheck - -# Build rule for target. -NightlyMemoryCheck: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 NightlyMemoryCheck -.PHONY : NightlyMemoryCheck - -# fast build rule for target. -NightlyMemoryCheck/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build.make unit-test/MQTT/CMakeFiles/NightlyMemoryCheck.dir/build -.PHONY : NightlyMemoryCheck/fast - -#============================================================================= -# Target rules for targets named NightlyStart - -# Build rule for target. -NightlyStart: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 NightlyStart -.PHONY : NightlyStart - -# fast build rule for target. -NightlyStart/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyStart.dir/build.make unit-test/MQTT/CMakeFiles/NightlyStart.dir/build -.PHONY : NightlyStart/fast - -#============================================================================= -# Target rules for targets named NightlyUpdate - -# Build rule for target. -NightlyUpdate: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 NightlyUpdate -.PHONY : NightlyUpdate - -# fast build rule for target. -NightlyUpdate/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build.make unit-test/MQTT/CMakeFiles/NightlyUpdate.dir/build -.PHONY : NightlyUpdate/fast - -#============================================================================= -# Target rules for targets named NightlyConfigure - -# Build rule for target. -NightlyConfigure: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 NightlyConfigure -.PHONY : NightlyConfigure - -# fast build rule for target. -NightlyConfigure/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build.make unit-test/MQTT/CMakeFiles/NightlyConfigure.dir/build -.PHONY : NightlyConfigure/fast - -#============================================================================= -# Target rules for targets named NightlyBuild - -# Build rule for target. -NightlyBuild: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 NightlyBuild -.PHONY : NightlyBuild - -# fast build rule for target. -NightlyBuild/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build.make unit-test/MQTT/CMakeFiles/NightlyBuild.dir/build -.PHONY : NightlyBuild/fast - -#============================================================================= -# Target rules for targets named NightlyTest - -# Build rule for target. -NightlyTest: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 NightlyTest -.PHONY : NightlyTest - -# fast build rule for target. -NightlyTest/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyTest.dir/build.make unit-test/MQTT/CMakeFiles/NightlyTest.dir/build -.PHONY : NightlyTest/fast - -#============================================================================= -# Target rules for targets named NightlyCoverage - -# Build rule for target. -NightlyCoverage: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 NightlyCoverage -.PHONY : NightlyCoverage - -# fast build rule for target. -NightlyCoverage/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build.make unit-test/MQTT/CMakeFiles/NightlyCoverage.dir/build -.PHONY : NightlyCoverage/fast - -#============================================================================= -# Target rules for targets named NightlyMemCheck - -# Build rule for target. -NightlyMemCheck: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 NightlyMemCheck -.PHONY : NightlyMemCheck - -# fast build rule for target. -NightlyMemCheck/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/NightlyMemCheck.dir/build -.PHONY : NightlyMemCheck/fast - -#============================================================================= -# Target rules for targets named NightlySubmit - -# Build rule for target. -NightlySubmit: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 NightlySubmit -.PHONY : NightlySubmit - -# fast build rule for target. -NightlySubmit/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build.make unit-test/MQTT/CMakeFiles/NightlySubmit.dir/build -.PHONY : NightlySubmit/fast - -#============================================================================= -# Target rules for targets named ExperimentalStart - -# Build rule for target. -ExperimentalStart: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ExperimentalStart -.PHONY : ExperimentalStart - -# fast build rule for target. -ExperimentalStart/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalStart.dir/build -.PHONY : ExperimentalStart/fast - -#============================================================================= -# Target rules for targets named ExperimentalUpdate - -# Build rule for target. -ExperimentalUpdate: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ExperimentalUpdate -.PHONY : ExperimentalUpdate - -# fast build rule for target. -ExperimentalUpdate/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalUpdate.dir/build -.PHONY : ExperimentalUpdate/fast - -#============================================================================= -# Target rules for targets named ExperimentalConfigure - -# Build rule for target. -ExperimentalConfigure: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ExperimentalConfigure -.PHONY : ExperimentalConfigure - -# fast build rule for target. -ExperimentalConfigure/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalConfigure.dir/build -.PHONY : ExperimentalConfigure/fast - -#============================================================================= -# Target rules for targets named ExperimentalBuild - -# Build rule for target. -ExperimentalBuild: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ExperimentalBuild -.PHONY : ExperimentalBuild - -# fast build rule for target. -ExperimentalBuild/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalBuild.dir/build -.PHONY : ExperimentalBuild/fast - -#============================================================================= -# Target rules for targets named ExperimentalTest - -# Build rule for target. -ExperimentalTest: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ExperimentalTest -.PHONY : ExperimentalTest - -# fast build rule for target. -ExperimentalTest/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalTest.dir/build -.PHONY : ExperimentalTest/fast - -#============================================================================= -# Target rules for targets named ExperimentalCoverage - -# Build rule for target. -ExperimentalCoverage: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ExperimentalCoverage -.PHONY : ExperimentalCoverage - -# fast build rule for target. -ExperimentalCoverage/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalCoverage.dir/build -.PHONY : ExperimentalCoverage/fast - -#============================================================================= -# Target rules for targets named ExperimentalMemCheck - -# Build rule for target. -ExperimentalMemCheck: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ExperimentalMemCheck -.PHONY : ExperimentalMemCheck - -# fast build rule for target. -ExperimentalMemCheck/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalMemCheck.dir/build -.PHONY : ExperimentalMemCheck/fast - -#============================================================================= -# Target rules for targets named ExperimentalSubmit - -# Build rule for target. -ExperimentalSubmit: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ExperimentalSubmit -.PHONY : ExperimentalSubmit - -# fast build rule for target. -ExperimentalSubmit/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build.make unit-test/MQTT/CMakeFiles/ExperimentalSubmit.dir/build -.PHONY : ExperimentalSubmit/fast - -#============================================================================= -# Target rules for targets named ContinuousStart - -# Build rule for target. -ContinuousStart: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ContinuousStart -.PHONY : ContinuousStart - -# fast build rule for target. -ContinuousStart/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousStart.dir/build -.PHONY : ContinuousStart/fast - -#============================================================================= -# Target rules for targets named ContinuousUpdate - -# Build rule for target. -ContinuousUpdate: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ContinuousUpdate -.PHONY : ContinuousUpdate - -# fast build rule for target. -ContinuousUpdate/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousUpdate.dir/build -.PHONY : ContinuousUpdate/fast - -#============================================================================= -# Target rules for targets named ContinuousConfigure - -# Build rule for target. -ContinuousConfigure: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ContinuousConfigure -.PHONY : ContinuousConfigure - -# fast build rule for target. -ContinuousConfigure/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousConfigure.dir/build -.PHONY : ContinuousConfigure/fast - -#============================================================================= -# Target rules for targets named ContinuousBuild - -# Build rule for target. -ContinuousBuild: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ContinuousBuild -.PHONY : ContinuousBuild - -# fast build rule for target. -ContinuousBuild/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousBuild.dir/build -.PHONY : ContinuousBuild/fast - -#============================================================================= -# Target rules for targets named ContinuousTest - -# Build rule for target. -ContinuousTest: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ContinuousTest -.PHONY : ContinuousTest - -# fast build rule for target. -ContinuousTest/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousTest.dir/build -.PHONY : ContinuousTest/fast - -#============================================================================= -# Target rules for targets named ContinuousCoverage - -# Build rule for target. -ContinuousCoverage: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ContinuousCoverage -.PHONY : ContinuousCoverage - -# fast build rule for target. -ContinuousCoverage/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousCoverage.dir/build -.PHONY : ContinuousCoverage/fast - -#============================================================================= -# Target rules for targets named ContinuousMemCheck - -# Build rule for target. -ContinuousMemCheck: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ContinuousMemCheck -.PHONY : ContinuousMemCheck - -# fast build rule for target. -ContinuousMemCheck/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousMemCheck.dir/build -.PHONY : ContinuousMemCheck/fast - -#============================================================================= -# Target rules for targets named ContinuousSubmit - -# Build rule for target. -ContinuousSubmit: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ContinuousSubmit -.PHONY : ContinuousSubmit - -# fast build rule for target. -ContinuousSubmit/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build.make unit-test/MQTT/CMakeFiles/ContinuousSubmit.dir/build -.PHONY : ContinuousSubmit/fast - -#============================================================================= -# Target rules for targets named core_mqtt_utest - -# Build rule for target. -core_mqtt_utest: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 core_mqtt_utest -.PHONY : core_mqtt_utest - -# fast build rule for target. -core_mqtt_utest/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_utest.dir/build -.PHONY : core_mqtt_utest/fast - -#============================================================================= -# Target rules for targets named core_mqtt_state_utest - -# Build rule for target. -core_mqtt_state_utest: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 core_mqtt_state_utest -.PHONY : core_mqtt_state_utest - -# fast build rule for target. -core_mqtt_state_utest/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_state_utest.dir/build -.PHONY : core_mqtt_state_utest/fast - -#============================================================================= -# Target rules for targets named core_mqtt_serializer_utest - -# Build rule for target. -core_mqtt_serializer_utest: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 core_mqtt_serializer_utest -.PHONY : core_mqtt_serializer_utest - -# fast build rule for target. -core_mqtt_serializer_utest/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build.make unit-test/MQTT/CMakeFiles/core_mqtt_serializer_utest.dir/build -.PHONY : core_mqtt_serializer_utest/fast - -#============================================================================= -# Target rules for targets named core_mqttv5_mock - -# Build rule for target. -core_mqttv5_mock: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 core_mqttv5_mock -.PHONY : core_mqttv5_mock - -# fast build rule for target. -core_mqttv5_mock/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_mock.dir/build -.PHONY : core_mqttv5_mock/fast - -#============================================================================= -# Target rules for targets named core_mqttv5_real - -# Build rule for target. -core_mqttv5_real: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 core_mqttv5_real -.PHONY : core_mqttv5_real - -# fast build rule for target. -core_mqttv5_real/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_real.dir/build -.PHONY : core_mqttv5_real/fast - -#============================================================================= -# Target rules for targets named core_mqttv5_utest - -# Build rule for target. -core_mqttv5_utest: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 core_mqttv5_utest -.PHONY : core_mqttv5_utest - -# fast build rule for target. -core_mqttv5_utest/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_utest.dir/build -.PHONY : core_mqttv5_utest/fast - -#============================================================================= -# Target rules for targets named core_mqttv5_state_utest - -# Build rule for target. -core_mqttv5_state_utest: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 core_mqttv5_state_utest -.PHONY : core_mqttv5_state_utest - -# fast build rule for target. -core_mqttv5_state_utest/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_state_utest.dir/build -.PHONY : core_mqttv5_state_utest/fast - -#============================================================================= -# Target rules for targets named core_mqttv5_serializer_utest - -# Build rule for target. -core_mqttv5_serializer_utest: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 core_mqttv5_serializer_utest -.PHONY : core_mqttv5_serializer_utest - -# fast build rule for target. -core_mqttv5_serializer_utest/fast: - $(MAKE) $(MAKESILENT) -f unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build.make unit-test/MQTTv5/CMakeFiles/core_mqttv5_serializer_utest.dir/build -.PHONY : core_mqttv5_serializer_utest/fast - -source/core_mqtt.o: source/core_mqtt.c.o -.PHONY : source/core_mqtt.o - -# target to build an object file -source/core_mqtt.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.o -.PHONY : source/core_mqtt.c.o - -source/core_mqtt.i: source/core_mqtt.c.i -.PHONY : source/core_mqtt.i - -# target to preprocess a source file -source/core_mqtt.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.i -.PHONY : source/core_mqtt.c.i - -source/core_mqtt.s: source/core_mqtt.c.s -.PHONY : source/core_mqtt.s - -# target to generate assembly for a file -source/core_mqtt.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/source/core_mqtt.c.s -.PHONY : source/core_mqtt.c.s - -source/core_mqtt_serializer.o: source/core_mqtt_serializer.c.o -.PHONY : source/core_mqtt_serializer.o - -# target to build an object file -source/core_mqtt_serializer.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.o -.PHONY : source/core_mqtt_serializer.c.o - -source/core_mqtt_serializer.i: source/core_mqtt_serializer.c.i -.PHONY : source/core_mqtt_serializer.i - -# target to preprocess a source file -source/core_mqtt_serializer.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.i -.PHONY : source/core_mqtt_serializer.c.i - -source/core_mqtt_serializer.s: source/core_mqtt_serializer.c.s -.PHONY : source/core_mqtt_serializer.s - -# target to generate assembly for a file -source/core_mqtt_serializer.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/source/core_mqtt_serializer.c.s -.PHONY : source/core_mqtt_serializer.c.s - -source/core_mqtt_state.o: source/core_mqtt_state.c.o -.PHONY : source/core_mqtt_state.o - -# target to build an object file -source/core_mqtt_state.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.o -.PHONY : source/core_mqtt_state.c.o - -source/core_mqtt_state.i: source/core_mqtt_state.c.i -.PHONY : source/core_mqtt_state.i - -# target to preprocess a source file -source/core_mqtt_state.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.i -.PHONY : source/core_mqtt_state.c.i - -source/core_mqtt_state.s: source/core_mqtt_state.c.s -.PHONY : source/core_mqtt_state.s - -# target to generate assembly for a file -source/core_mqtt_state.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/coverity_analysis.dir/build.make CMakeFiles/coverity_analysis.dir/source/core_mqtt_state.c.s -.PHONY : source/core_mqtt_state.c.s - -unit-test/CMock/src/cmock.o: unit-test/CMock/src/cmock.c.o -.PHONY : unit-test/CMock/src/cmock.o - -# target to build an object file -unit-test/CMock/src/cmock.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/cmock.dir/build.make CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.o -.PHONY : unit-test/CMock/src/cmock.c.o - -unit-test/CMock/src/cmock.i: unit-test/CMock/src/cmock.c.i -.PHONY : unit-test/CMock/src/cmock.i - -# target to preprocess a source file -unit-test/CMock/src/cmock.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/cmock.dir/build.make CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.i -.PHONY : unit-test/CMock/src/cmock.c.i - -unit-test/CMock/src/cmock.s: unit-test/CMock/src/cmock.c.s -.PHONY : unit-test/CMock/src/cmock.s - -# target to generate assembly for a file -unit-test/CMock/src/cmock.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/cmock.dir/build.make CMakeFiles/cmock.dir/unit-test/CMock/src/cmock.c.s -.PHONY : unit-test/CMock/src/cmock.c.s - -unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.o: unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o -.PHONY : unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.o - -# target to build an object file -unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o -.PHONY : unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.o - -unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.i: unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.i -.PHONY : unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.i - -# target to preprocess a source file -unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.i -.PHONY : unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.i - -unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.s: unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.s -.PHONY : unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.s - -# target to generate assembly for a file -unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.s -.PHONY : unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.c.s - -unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.o: unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o -.PHONY : unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.o - -# target to build an object file -unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o -.PHONY : unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.o - -unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.i: unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.i -.PHONY : unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.i - -# target to preprocess a source file -unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.i -.PHONY : unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.i - -unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.s: unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.s -.PHONY : unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.s - -# target to generate assembly for a file -unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.s -.PHONY : unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.c.s - -unit-test/CMock/vendor/unity/src/unity.o: unit-test/CMock/vendor/unity/src/unity.c.o -.PHONY : unit-test/CMock/vendor/unity/src/unity.o - -# target to build an object file -unit-test/CMock/vendor/unity/src/unity.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.o -.PHONY : unit-test/CMock/vendor/unity/src/unity.c.o - -unit-test/CMock/vendor/unity/src/unity.i: unit-test/CMock/vendor/unity/src/unity.c.i -.PHONY : unit-test/CMock/vendor/unity/src/unity.i - -# target to preprocess a source file -unit-test/CMock/vendor/unity/src/unity.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.i -.PHONY : unit-test/CMock/vendor/unity/src/unity.c.i - -unit-test/CMock/vendor/unity/src/unity.s: unit-test/CMock/vendor/unity/src/unity.c.s -.PHONY : unit-test/CMock/vendor/unity/src/unity.s - -# target to generate assembly for a file -unit-test/CMock/vendor/unity/src/unity.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/unity.dir/build.make CMakeFiles/unity.dir/unit-test/CMock/vendor/unity/src/unity.c.s -.PHONY : unit-test/CMock/vendor/unity/src/unity.c.s - -# Help Target -help: - @echo "The following are some of the valid targets for this Makefile:" - @echo "... all (the default if no target is provided)" - @echo "... clean" - @echo "... depend" - @echo "... edit_cache" - @echo "... rebuild_cache" - @echo "... test" - @echo "... Continuous" - @echo "... ContinuousBuild" - @echo "... ContinuousConfigure" - @echo "... ContinuousCoverage" - @echo "... ContinuousMemCheck" - @echo "... ContinuousStart" - @echo "... ContinuousSubmit" - @echo "... ContinuousTest" - @echo "... ContinuousUpdate" - @echo "... Experimental" - @echo "... ExperimentalBuild" - @echo "... ExperimentalConfigure" - @echo "... ExperimentalCoverage" - @echo "... ExperimentalMemCheck" - @echo "... ExperimentalStart" - @echo "... ExperimentalSubmit" - @echo "... ExperimentalTest" - @echo "... ExperimentalUpdate" - @echo "... Nightly" - @echo "... NightlyBuild" - @echo "... NightlyConfigure" - @echo "... NightlyCoverage" - @echo "... NightlyMemCheck" - @echo "... NightlyMemoryCheck" - @echo "... NightlyStart" - @echo "... NightlySubmit" - @echo "... NightlyTest" - @echo "... NightlyUpdate" - @echo "... coverage" - @echo "... cmock" - @echo "... core_mqtt_mock" - @echo "... core_mqtt_real" - @echo "... core_mqtt_serializer_utest" - @echo "... core_mqtt_state_utest" - @echo "... core_mqtt_utest" - @echo "... core_mqttv5_mock" - @echo "... core_mqttv5_real" - @echo "... core_mqttv5_serializer_utest" - @echo "... core_mqttv5_state_utest" - @echo "... core_mqttv5_utest" - @echo "... coverity_analysis" - @echo "... unity" - @echo "... source/core_mqtt.o" - @echo "... source/core_mqtt.i" - @echo "... source/core_mqtt.s" - @echo "... source/core_mqtt_serializer.o" - @echo "... source/core_mqtt_serializer.i" - @echo "... source/core_mqtt_serializer.s" - @echo "... source/core_mqtt_state.o" - @echo "... source/core_mqtt_state.i" - @echo "... source/core_mqtt_state.s" - @echo "... unit-test/CMock/src/cmock.o" - @echo "... unit-test/CMock/src/cmock.i" - @echo "... unit-test/CMock/src/cmock.s" - @echo "... unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.o" - @echo "... unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.i" - @echo "... unit-test/CMock/vendor/unity/extras/fixture/src/unity_fixture.s" - @echo "... unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.o" - @echo "... unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.i" - @echo "... unit-test/CMock/vendor/unity/extras/memory/src/unity_memory.s" - @echo "... unit-test/CMock/vendor/unity/src/unity.o" - @echo "... unit-test/CMock/vendor/unity/src/unity.i" - @echo "... unit-test/CMock/vendor/unity/src/unity.s" -.PHONY : help - - - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - From ef114677305e98f5d71c9dec3f5416b085cf0449 Mon Sep 17 00:00:00 2001 From: Pooja Toshniwal <142602291+Pooja-Toshniwal@users.noreply.github.com> Date: Tue, 25 Jun 2024 15:04:09 +0530 Subject: [PATCH 42/82] Delete DartConfiguration.tcl --- DartConfiguration.tcl | 109 ------------------------------------------ 1 file changed, 109 deletions(-) delete mode 100644 DartConfiguration.tcl diff --git a/DartConfiguration.tcl b/DartConfiguration.tcl deleted file mode 100644 index a77d8175a..000000000 --- a/DartConfiguration.tcl +++ /dev/null @@ -1,109 +0,0 @@ -# This file is configured by CMake automatically as DartConfiguration.tcl -# If you choose not to use CMake, this file may be hand configured, by -# filling in the required variables. - - -# Configuration directories and files -SourceDirectory: /home/ubuntu/coreMQTT/test -BuildDirectory: /home/ubuntu/coreMQTT - -# Where to place the cost data store -CostDataFile: - -# Site is something like machine.domain, i.e. pragmatic.crd -Site: ip-172-31-80-220 - -# Build name is osname-revision-compiler, i.e. Linux-2.4.2-2smp-c++ -BuildName: Linux-cc - -# Subprojects -LabelsForSubprojects: - -# Submission information -SubmitURL: http:// -SubmitInactivityTimeout: - -# Dashboard start time -NightlyStartTime: 00:00:00 EDT - -# Commands for the build/test/submit cycle -ConfigureCommand: "/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake" "/home/ubuntu/coreMQTT/test" -MakeCommand: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake --build . --config "${CTEST_CONFIGURATION_TYPE}" -DefaultCTestConfigurationType: Release - -# version control -UpdateVersionOnly: - -# CVS options -# Default is "-d -P -A" -CVSCommand: -CVSUpdateOptions: - -# Subversion options -SVNCommand: -SVNOptions: -SVNUpdateOptions: - -# Git options -GITCommand: -GITInitSubmodules: -GITUpdateOptions: -GITUpdateCustom: - -# Perforce options -P4Command: -P4Client: -P4Options: -P4UpdateOptions: -P4UpdateCustom: - -# Generic update command -UpdateCommand: -UpdateOptions: -UpdateType: - -# Compiler info -Compiler: -CompilerVersion: - -# Dynamic analysis (MemCheck) -PurifyCommand: -ValgrindCommand: -ValgrindCommandOptions: -DrMemoryCommand: -DrMemoryCommandOptions: -CudaSanitizerCommand: -CudaSanitizerCommandOptions: -MemoryCheckType: -MemoryCheckSanitizerOptions: -MemoryCheckCommand: MEMORYCHECK_COMMAND-NOTFOUND -MemoryCheckCommandOptions: -MemoryCheckSuppressionFile: - -# Coverage -CoverageCommand: /usr/bin/gcov -CoverageExtraFlags: -l - -# Testing options -# TimeOut is the amount of time in seconds to wait for processes -# to complete during testing. After TimeOut seconds, the -# process will be summarily terminated. -# Currently set to 25 minutes -TimeOut: 1500 - -# During parallel testing CTest will not start a new test if doing -# so would cause the system load to exceed this value. -TestLoad: - -TLSVerify: -TLSVersion: - -UseLaunchers: -CurlOptions: -# warning, if you add new options here that have to do with submit, -# you have to update cmCTestSubmitCommand.cxx - -# For CTest submissions that timeout, these options -# specify behavior for retrying the submission -CTestSubmitRetryDelay: 5 -CTestSubmitRetryCount: 3 From e2e534f7baa895fa0360c8014e730813cb2645c7 Mon Sep 17 00:00:00 2001 From: Pooja Toshniwal <142602291+Pooja-Toshniwal@users.noreply.github.com> Date: Tue, 25 Jun 2024 15:07:14 +0530 Subject: [PATCH 43/82] Delete CMakeCache.txt --- CMakeCache.txt | 413 ------------------------------------------------- 1 file changed, 413 deletions(-) delete mode 100644 CMakeCache.txt diff --git a/CMakeCache.txt b/CMakeCache.txt deleted file mode 100644 index d51ec3349..000000000 --- a/CMakeCache.txt +++ /dev/null @@ -1,413 +0,0 @@ -# This is the CMakeCache file. -# For build in directory: /home/ubuntu/coreMQTT -# It was generated by CMake: /home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -# You can edit this file to change values found and used by cmake. -# If you do not want to change any of the values, simply exit the editor. -# If you do want to change a value, simply edit, save, and exit the editor. -# The syntax for the file is as follows: -# KEY:TYPE=VALUE -# KEY is the name of a variable in the cache. -# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. -# VALUE is the current value for the KEY. - -######################## -# EXTERNAL cache entries -######################## - -//Set this to ON to automatically clone any required Git submodules. -// When OFF, submodules must be manually cloned. -BUILD_CLONE_SUBMODULES:BOOL=OFF - -//Build the testing tree. -BUILD_TESTING:BOOL=ON - -//Path to a program. -CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line - -//Path to a program. -CMAKE_AR:FILEPATH=/usr/bin/ar - -//Choose the type of build, options are: None Debug Release RelWithDebInfo -// MinSizeRel ... -CMAKE_BUILD_TYPE:STRING= - -//Enable/Disable color output during build. -CMAKE_COLOR_MAKEFILE:BOOL=ON - -//C compiler -CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc - -//A wrapper around 'ar' adding the appropriate '--plugin' option -// for the GCC compiler -CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9 - -//A wrapper around 'ranlib' adding the appropriate '--plugin' option -// for the GCC compiler -CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9 - -//Flags used by the C compiler during all build types. -CMAKE_C_FLAGS:STRING= - -//Flags used by the C compiler during DEBUG builds. -CMAKE_C_FLAGS_DEBUG:STRING=-g - -//Flags used by the C compiler during MINSIZEREL builds. -CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the C compiler during RELEASE builds. -CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG - -//Flags used by the C compiler during RELWITHDEBINFO builds. -CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG - -//Path to a program. -CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND - -//Flags used by the linker during all build types. -CMAKE_EXE_LINKER_FLAGS:STRING= - -//Flags used by the linker during DEBUG builds. -CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during MINSIZEREL builds. -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during RELEASE builds. -CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during RELWITHDEBINFO builds. -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Enable/Disable output of compile commands during generation. -CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= - -//Value Computed by CMake. -CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/ubuntu/coreMQTT/CMakeFiles/pkgRedirects - -//Install path prefix, prepended onto install directories. -CMAKE_INSTALL_PREFIX:PATH=/usr/local - -//Path to a program. -CMAKE_LINKER:FILEPATH=/usr/bin/ld - -//Path to a program. -CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make - -//Flags used by the linker during the creation of modules during -// all build types. -CMAKE_MODULE_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of modules during -// DEBUG builds. -CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of modules during -// MINSIZEREL builds. -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of modules during -// RELEASE builds. -CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of modules during -// RELWITHDEBINFO builds. -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_NM:FILEPATH=/usr/bin/nm - -//Path to a program. -CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy - -//Path to a program. -CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump - -//Value Computed by CMake -CMAKE_PROJECT_DESCRIPTION:STATIC= - -//Value Computed by CMake -CMAKE_PROJECT_HOMEPAGE_URL:STATIC= - -//Value Computed by CMake -CMAKE_PROJECT_NAME:STATIC=CoreMQTT tests - -//Value Computed by CMake -CMAKE_PROJECT_VERSION:STATIC=2.3.0 - -//Value Computed by CMake -CMAKE_PROJECT_VERSION_MAJOR:STATIC=2 - -//Value Computed by CMake -CMAKE_PROJECT_VERSION_MINOR:STATIC=3 - -//Value Computed by CMake -CMAKE_PROJECT_VERSION_PATCH:STATIC=0 - -//Value Computed by CMake -CMAKE_PROJECT_VERSION_TWEAK:STATIC= - -//Path to a program. -CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib - -//Path to a program. -CMAKE_READELF:FILEPATH=/usr/bin/readelf - -//Flags used by the linker during the creation of shared libraries -// during all build types. -CMAKE_SHARED_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of shared libraries -// during DEBUG builds. -CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of shared libraries -// during MINSIZEREL builds. -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of shared libraries -// during RELEASE builds. -CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of shared libraries -// during RELWITHDEBINFO builds. -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//If set, runtime paths are not added when installing shared libraries, -// but are added when building. -CMAKE_SKIP_INSTALL_RPATH:BOOL=NO - -//If set, runtime paths are not added when using shared libraries. -CMAKE_SKIP_RPATH:BOOL=NO - -//Flags used by the linker during the creation of static libraries -// during all build types. -CMAKE_STATIC_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of static libraries -// during DEBUG builds. -CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of static libraries -// during MINSIZEREL builds. -CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of static libraries -// during RELEASE builds. -CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of static libraries -// during RELWITHDEBINFO builds. -CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_STRIP:FILEPATH=/usr/bin/strip - -//Path to a program. -CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND - -//If this value is on, makefiles will be generated without the -// .SILENT directive, and all commands will be echoed to the console -// during the make. This is useful for debugging only. With Visual -// Studio IDE projects all commands are done without /nologo. -CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE - -//Path to the coverage program that CTest uses for performing coverage -// inspection -COVERAGE_COMMAND:FILEPATH=/usr/bin/gcov - -//Extra command line flags to pass to the coverage tool -COVERAGE_EXTRA_FLAGS:STRING=-l - -//How many times to retry timed-out CTest submissions. -CTEST_SUBMIT_RETRY_COUNT:STRING=3 - -//How long to wait between timed-out CTest submissions. -CTEST_SUBMIT_RETRY_DELAY:STRING=5 - -//Value Computed by CMake -CoreMQTT tests_BINARY_DIR:STATIC=/home/ubuntu/coreMQTT - -//Value Computed by CMake -CoreMQTT tests_IS_TOP_LEVEL:STATIC=ON - -//Value Computed by CMake -CoreMQTT tests_SOURCE_DIR:STATIC=/home/ubuntu/coreMQTT/test - -//Maximum time allowed before CTest will kill the test. -DART_TESTING_TIMEOUT:STRING=1500 - -//Command to build the project -MAKECOMMAND:STRING=/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake --build . --config "${CTEST_CONFIGURATION_TYPE}" - -//Path to the memory checking command, used for memory error detection. -MEMORYCHECK_COMMAND:FILEPATH=MEMORYCHECK_COMMAND-NOTFOUND - -//File that contains suppressions for the memory checker -MEMORYCHECK_SUPPRESSIONS_FILE:FILEPATH= - -//Name of the computer/site where compile is being run -SITE:STRING=ip-172-31-80-220 - - -######################## -# INTERNAL cache entries -######################## - -//ADVANCED property for variable: CMAKE_ADDR2LINE -CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_AR -CMAKE_AR-ADVANCED:INTERNAL=1 -//This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/home/ubuntu/coreMQTT -//Major version of cmake used to create the current loaded cache -CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 -//Minor version of cmake used to create the current loaded cache -CMAKE_CACHE_MINOR_VERSION:INTERNAL=30 -//Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 -//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE -CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 -//Path to CMake executable. -CMAKE_COMMAND:INTERNAL=/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cmake -//Path to cpack program executable. -CMAKE_CPACK_COMMAND:INTERNAL=/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/cpack -//ADVANCED property for variable: CMAKE_CTEST_COMMAND -CMAKE_CTEST_COMMAND-ADVANCED:INTERNAL=1 -//Path to ctest program executable. -CMAKE_CTEST_COMMAND:INTERNAL=/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ctest -//ADVANCED property for variable: CMAKE_C_COMPILER -CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_COMPILER_AR -CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB -CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS -CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG -CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL -CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE -CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO -CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_DLLTOOL -CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 -//Path to cache edit program executable. -CMAKE_EDIT_COMMAND:INTERNAL=/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/bin/ccmake -//Executable file format -CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS -CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG -CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE -CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS -CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 -//Name of external makefile project generator. -CMAKE_EXTRA_GENERATOR:INTERNAL= -//Name of generator. -CMAKE_GENERATOR:INTERNAL=Unix Makefiles -//Generator instance identifier. -CMAKE_GENERATOR_INSTANCE:INTERNAL= -//Name of generator platform. -CMAKE_GENERATOR_PLATFORM:INTERNAL= -//Name of generator toolset. -CMAKE_GENERATOR_TOOLSET:INTERNAL= -//Source directory with the top level CMakeLists.txt file for this -// project -CMAKE_HOME_DIRECTORY:INTERNAL=/home/ubuntu/coreMQTT/test -//Install .so files without execute permission. -CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 -//ADVANCED property for variable: CMAKE_LINKER -CMAKE_LINKER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MAKE_PROGRAM -CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS -CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG -CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE -CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_NM -CMAKE_NM-ADVANCED:INTERNAL=1 -//number of local generators -CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=3 -//ADVANCED property for variable: CMAKE_OBJCOPY -CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJDUMP -CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 -//Platform information initialized -CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_RANLIB -CMAKE_RANLIB-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_READELF -CMAKE_READELF-ADVANCED:INTERNAL=1 -//Path to CMake installation. -CMAKE_ROOT:INTERNAL=/home/ubuntu/cmake-3.30.0-rc3-linux-x86_64/share/cmake-3.30 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS -CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG -CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE -CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH -CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_RPATH -CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS -CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG -CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL -CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE -CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STRIP -CMAKE_STRIP-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_TAPI -CMAKE_TAPI-ADVANCED:INTERNAL=1 -//uname command -CMAKE_UNAME:INTERNAL=/usr/bin/uname -//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE -CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 -//CMock library source directory. -CMOCK_DIR:INTERNAL=/home/ubuntu/coreMQTT/test/unit-test/CMock -//ADVANCED property for variable: COVERAGE_COMMAND -COVERAGE_COMMAND-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: COVERAGE_EXTRA_FLAGS -COVERAGE_EXTRA_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CTEST_SUBMIT_RETRY_COUNT -CTEST_SUBMIT_RETRY_COUNT-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CTEST_SUBMIT_RETRY_DELAY -CTEST_SUBMIT_RETRY_DELAY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: DART_TESTING_TIMEOUT -DART_TESTING_TIMEOUT-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: MAKECOMMAND -MAKECOMMAND-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: MEMORYCHECK_COMMAND -MEMORYCHECK_COMMAND-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: MEMORYCHECK_SUPPRESSIONS_FILE -MEMORYCHECK_SUPPRESSIONS_FILE-ADVANCED:INTERNAL=1 -//coreMQTT repository root. -MODULE_ROOT_DIR:INTERNAL=/home/ubuntu/coreMQTT -//ADVANCED property for variable: SITE -SITE-ADVANCED:INTERNAL=1 -//linker supports push/pop state -_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE - From fd71017c9dc017eea3798bd77205753ff1995214 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Tue, 25 Jun 2024 09:47:48 +0000 Subject: [PATCH 44/82] Uncrustify: triggered by comment. --- source/core_mqtt.c | 5 +- source/core_mqtt_serializer.c | 141 +++++++++++++-------- source/include/core_mqtt_config_defaults.h | 11 +- 3 files changed, 95 insertions(+), 62 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index cc2195e8c..842b1a80c 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -559,7 +559,8 @@ static bool matchTopicFilter( const char * pTopicName, #if ( MQTT_VERSION_5_ENABLED ) - /** + +/** * @brief Struct used to deserialize the will properties. * **/ @@ -576,7 +577,7 @@ static bool matchTopicFilter( const char * pTopicName, uint8_t correlationDataId; } WillVector_t; - /** +/** * @brief Struct used to deserialize the connect properties. * **/ diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 95a24373d..03d0deb42 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -627,7 +627,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[in] pConnectProperties MQTT CONNECT Properties parameters. * @param[in] remainingLength Remaining Length of MQTT CONNECT packet. * @param[in] pFixedBuffer Buffer for packet serialization. - * + * */ static void serializeConnectPacketV5( const MQTTConnectInfo_t * pConnectInfo, @@ -643,14 +643,15 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[out] pPropertyLength Size of the length. * @param[out] pUsed Whether the property is decoded befire. * @param[out] pIndex Pointer to the current index of the buffer. - * - * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket + * + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket **/ static MQTTStatus_t decodeuint32_t( uint32_t * pProperty, size_t * pPropertyLength, bool * pUsed, const uint8_t ** pIndex ); + /** * @brief Validate the length and decode a 2 byte value. * @@ -658,14 +659,15 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[out] pPropertyLength Size of the length. * @param[out] pUsed Whether the property is decoded befire. * @param[out] pIndex Pointer to the current index of the buffer. - * - * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket + * + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket **/ static MQTTStatus_t decodeuint16_t( uint16_t * pProperty, size_t * pPropertyLength, bool * pUsed, const uint8_t ** pIndex ); + /** * @brief Validate the length and decode a 1 byte value. * @@ -673,13 +675,14 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[out] pPropertyLength Size of the length. * @param[out] pUsed Whether the property is decoded befire. * @param[out] pIndex Pointer to the current index of the buffer. - * - * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket + * + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket **/ static MQTTStatus_t decodeuint8_t( uint8_t * pProperty, size_t * pPropertyLength, bool * pUsed, const uint8_t ** pIndex ); + /** * @brief Validate the length and decode a utf 8 string. * @@ -688,38 +691,40 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[out] pPropertyLength Size of the length. * @param[out] pUsed Whether the property is decoded before. * @param[out] pIndex Pointer to the current index of the buffer. - * - * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket + * + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket **/ static MQTTStatus_t decodeutf_8( const char ** pProperty, uint16_t * pLength, size_t * pPropertyLength, bool * pUsed, const uint8_t ** pIndex ); + /** * @brief Validate the length and decode a user property. * * @param[out] pUserProperty To store the decoded property. * @param[out] pPropertyLength Size of the length. * @param[out] pIndex Pointer to the current index of the buffer. - * - * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket + * + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket **/ static MQTTStatus_t decodeutf_8pair( MQTTUserProperty_t * pUserProperty, size_t * pPropertyLength, const uint8_t ** pIndex ); + /** * @brief Validate the length and decode the connack properties. * * @param[out] pConnackProperties To store the decoded property. * @param[out] length Length of the property. * @param[out] pIndex Pointer to the current index of the buffer. - * - * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket + * + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket **/ static MQTTStatus_t deserializeConnackV5( MQTTConnectProperties_t * pConnackProperties, size_t length, - const uint8_t * const *pIndex ); + const uint8_t * const * pIndex ); /*-----------------------------------------------------------*/ MQTTStatus_t MQTTV5_GetConnectPacketSize( const MQTTConnectInfo_t * pConnectInfo, @@ -863,8 +868,9 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); pIndexLocal[ 3 ] = UINT32_BYTE0( pPublishInfo->willDelay ); pIndexLocal = &pIndexLocal[ 4 ]; } + /*Serialize the payload format if provided.*/ - + if( pPublishInfo->payloadFormat != 0U ) { *pIndexLocal = MQTT_PAYLOAD_FORMAT_ID; @@ -934,6 +940,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); size_t * pPropertyLength ) { MQTTStatus_t status = MQTTSuccess; + /*Validate the parameters*/ if( ( pAuthInfo->authMethodLength == 0U ) && ( pAuthInfo->authDataLength != 0U ) ) { @@ -1127,7 +1134,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); uint8_t * pIndexLocal = pIndex; pIndexLocal = encodeRemainingLength( pIndexLocal, pConnectProperties->propertyLength ); - + /*Serialize session expiry if provided.*/ if( pConnectProperties->sessionExpiry != 0U ) { @@ -1139,6 +1146,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); pIndexLocal[ 3 ] = UINT32_BYTE0( pConnectProperties->sessionExpiry ); pIndexLocal = &pIndexLocal[ 4 ]; } + /*Serialize receive max if provided.*/ if( pConnectProperties->receiveMax != ( uint16_t ) UINT16_MAX ) @@ -1149,6 +1157,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); pIndexLocal[ 1 ] = UINT16_LOW_BYTE( pConnectProperties->receiveMax ); pIndexLocal = &pIndexLocal[ 2 ]; } + /*Serialize the max packet size if provided.*/ if( pConnectProperties->isMaxPacketSize == true ) @@ -1161,6 +1170,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); pIndexLocal[ 3 ] = UINT32_BYTE0( pConnectProperties->maxPacketSize ); pIndexLocal = &pIndexLocal[ 4 ]; } + /*Serialize the topic alias if provided.*/ if( pConnectProperties->topicAliasMax != 0U ) @@ -1171,6 +1181,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); pIndexLocal[ 1 ] = UINT16_LOW_BYTE( pConnectProperties->topicAliasMax ); pIndexLocal = &pIndexLocal[ 2 ]; } + /*Serialize the request response information if provided.*/ if( pConnectProperties->requestResponseInfo != false ) @@ -1180,6 +1191,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); *pIndexLocal = 1U; pIndexLocal++; } + /*Serialize request problem information if provided.*/ if( pConnectProperties->requestProblemInfo != true ) @@ -1254,6 +1266,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); if( pWillInfo != NULL ) { pIndex = MQTT_SerializePublishProperties( pWillInfo, pIndex ); + /*Serialize the provided will properties which has variable length.*/ if( pWillInfo->contentTypeLength != 0U ) { @@ -1382,7 +1395,8 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); static MQTTStatus_t logConnackResponseV5( uint8_t responseCode ) { MQTTStatus_t status = MQTTServerRefused; - /* Log an error based on the CONNACK response code. */ + + /* Log an error based on the CONNACK response code. */ switch( responseCode ) { case ( uint8_t ) MQTT_REASON_UNSPECIFIED_ERR: @@ -1616,7 +1630,8 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); { const uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; - /*Protocol error to include the same property twice.*/ + + /*Protocol error to include the same property twice.*/ if( *pUsed == true ) { status = MQTTProtocolError; @@ -1645,7 +1660,8 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); { const uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; - /*Protocol error to include the same property twice.*/ + + /*Protocol error to include the same property twice.*/ if( *pUsed == true ) { @@ -1676,7 +1692,8 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); { const uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; - /*Protocol error to include the same property twice.*/ + + /*Protocol error to include the same property twice.*/ if( *pUsed == true ) { @@ -1713,7 +1730,8 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); { const uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; - /*Protocol error to include the same property twice.*/ + + /*Protocol error to include the same property twice.*/ if( *pUsed == true ) { @@ -1754,6 +1772,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); { const uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; + /*Validate the property length and decode the user property property received.*/ if( *pPropertyLength < sizeof( uint16_t ) ) { @@ -1828,12 +1847,13 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); MQTTUserProperty_t * userProperty = pConnackProperties->pIncomingUserProperty; pVariableHeader = &pVariableHeader[ remainingLengthEncodedSize( propertyLength ) ]; + /*Decode all the properties received, validate and store them in pConnackProperties.*/ while( ( propertyLength > 0U ) && ( status == MQTTSuccess ) ) { uint8_t packetId = *pVariableHeader; pVariableHeader = &pVariableHeader[ 1 ]; - propertyLength -= sizeof(uint8_t); + propertyLength -= sizeof( uint8_t ); switch( packetId ) { @@ -1861,10 +1881,12 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); case MQTT_MAX_PACKET_SIZE_ID: status = decodeuint32_t( &pConnackProperties->serverMaxPacketSize, &propertyLength, &maxPacket, &pVariableHeader ); - if ((pConnackProperties->serverMaxPacketSize == 0U)) - { - status = MQTTProtocolError; - } + + if( ( pConnackProperties->serverMaxPacketSize == 0U ) ) + { + status = MQTTProtocolError; + } + break; case MQTT_ASSIGNED_CLIENT_ID: @@ -1902,14 +1924,16 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); break; case MQTT_RESPONSE_INFO_ID: - if (pConnackProperties->requestResponseInfo == false) - { - status = MQTTProtocolError; - } - else - { - status = decodeutf_8( &pConnackProperties->pResponseInfo, &pConnackProperties->responseInfoLength, &propertyLength, &responseInfo, &pVariableHeader ); - } + + if( pConnackProperties->requestResponseInfo == false ) + { + status = MQTTProtocolError; + } + else + { + status = decodeutf_8( &pConnackProperties->pResponseInfo, &pConnackProperties->responseInfoLength, &propertyLength, &responseInfo, &pVariableHeader ); + } + break; case MQTT_SERVER_REF_ID: @@ -1917,25 +1941,32 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); break; case MQTT_AUTH_METHOD_ID: - if (pConnackProperties->pOutgoingAuth == NULL) - { - status = MQTTProtocolError; - } - else{ - status = decodeutf_8( &pConnackProperties->pIncomingAuth->pAuthMethod, &pConnackProperties->pIncomingAuth->authMethodLength, &propertyLength, &authMethod, &pVariableHeader ); - } + + if( pConnackProperties->pOutgoingAuth == NULL ) + { + status = MQTTProtocolError; + } + else + { + status = decodeutf_8( &pConnackProperties->pIncomingAuth->pAuthMethod, &pConnackProperties->pIncomingAuth->authMethodLength, &propertyLength, &authMethod, &pVariableHeader ); + } + break; case MQTT_AUTH_DATA_ID: - if ((pConnackProperties->pOutgoingAuth == NULL)) - { - status = MQTTProtocolError; - } - else{ - status = decodeutf_8( &pConnackProperties->pIncomingAuth->pAuthData, &pConnackProperties->pIncomingAuth->authDataLength, &propertyLength, &authData, &pVariableHeader ); + + if( ( pConnackProperties->pOutgoingAuth == NULL ) ) + { + status = MQTTProtocolError; } + else + { + status = decodeutf_8( &pConnackProperties->pIncomingAuth->pAuthData, &pConnackProperties->pIncomingAuth->authDataLength, &propertyLength, &authData, &pVariableHeader ); + } + break; - /*Protocol error to include any other property id.*/ + + /*Protocol error to include any other property id.*/ default: status = MQTTProtocolError; break; @@ -1986,7 +2017,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); /*Deserialize the connack properties.*/ else if( status == MQTTSuccess ) { - status = deserializeConnackV5( pConnackProperties, propertyLength,&pVariableHeader ); + status = deserializeConnackV5( pConnackProperties, propertyLength, &pVariableHeader ); } else @@ -2606,12 +2637,12 @@ static void logConnackResponse( uint8_t responseCode ) { const char * const pConnackResponses[ 6 ] = { - "Connection accepted.", /* 0 */ - "Connection refused: unacceptable protocol version.", /* 1 */ - "Connection refused: identifier rejected.", /* 2 */ - "Connection refused: server unavailable", /* 3 */ - "Connection refused: bad user name or password.", /* 4 */ - "Connection refused: not authorized." /* 5 */ + "Connection accepted.", /* 0 */ + "Connection refused: unacceptable protocol version.", /* 1 */ + "Connection refused: identifier rejected.", /* 2 */ + "Connection refused: server unavailable", /* 3 */ + "Connection refused: bad user name or password.", /* 4 */ + "Connection refused: not authorized." /* 5 */ }; /* Avoid unused parameter warning when assert and logs are disabled. */ diff --git a/source/include/core_mqtt_config_defaults.h b/source/include/core_mqtt_config_defaults.h index ecc809f4b..2c0dd0761 100644 --- a/source/include/core_mqtt_config_defaults.h +++ b/source/include/core_mqtt_config_defaults.h @@ -74,12 +74,13 @@ */ #ifndef MQTT_VERSION_5_ENABLED #define MQTT_VERSION_5_ENABLED ( false ) - /** - * @ingroup mqtt_constants - * @brief Maximum number of user properties with default value as 5. - */ + +/** + * @ingroup mqtt_constants + * @brief Maximum number of user properties with default value as 5. + */ #ifndef MAX_USER_PROPERTY - #define MAX_USER_PROPERTY ( 5U ) + #define MAX_USER_PROPERTY ( 5U ) #endif #endif From 808cf2cfa5a6be43b941035e110021e9495e0f75 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 25 Jun 2024 09:56:30 +0000 Subject: [PATCH 45/82] MQTTV5 connect and connack --- test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c | 1 + 1 file changed, 1 insertion(+) diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index d37a5c21a..adb43faed 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -3188,6 +3188,7 @@ void test_MQTTV5_SerializeConnect_Happy_Paths() void test_WillLimit( void ) { + /*Test will property length more than the max value allowed.*/ MQTTConnectInfo_t connectInfo; size_t remainingLength = 0; size_t packetSize = 0; From 9d317a7b539e620354f48e236ac1c6fab9fb99dc Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 25 Jun 2024 09:59:39 +0000 Subject: [PATCH 46/82] MQTTV5 connect and connack --- test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index adb43faed..15bce4cf4 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -3188,7 +3188,7 @@ void test_MQTTV5_SerializeConnect_Happy_Paths() void test_WillLimit( void ) { - /*Test will property length more than the max value allowed.*/ + /* Test will property length more than the max value allowed. */ MQTTConnectInfo_t connectInfo; size_t remainingLength = 0; size_t packetSize = 0; From 4b8d6169d07b5694ce6e82211d7d4bebe84b75cf Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 25 Jun 2024 10:31:32 +0000 Subject: [PATCH 47/82] MQTTV5 connect and connack --- source/core_mqtt_serializer.c | 12 ++++++------ source/include/core_mqtt_serializer.h | 20 +++++++++++--------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 03d0deb42..df3cb1136 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -644,7 +644,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[out] pUsed Whether the property is decoded befire. * @param[out] pIndex Pointer to the current index of the buffer. * - * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket **/ static MQTTStatus_t decodeuint32_t( uint32_t * pProperty, @@ -660,7 +660,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[out] pUsed Whether the property is decoded befire. * @param[out] pIndex Pointer to the current index of the buffer. * - * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket **/ static MQTTStatus_t decodeuint16_t( uint16_t * pProperty, @@ -676,7 +676,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[out] pUsed Whether the property is decoded befire. * @param[out] pIndex Pointer to the current index of the buffer. * - * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket **/ static MQTTStatus_t decodeuint8_t( uint8_t * pProperty, size_t * pPropertyLength, @@ -692,7 +692,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[out] pUsed Whether the property is decoded before. * @param[out] pIndex Pointer to the current index of the buffer. * - * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket **/ static MQTTStatus_t decodeutf_8( const char ** pProperty, uint16_t * pLength, @@ -707,7 +707,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[out] pPropertyLength Size of the length. * @param[out] pIndex Pointer to the current index of the buffer. * - * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket **/ static MQTTStatus_t decodeutf_8pair( MQTTUserProperty_t * pUserProperty, size_t * pPropertyLength, @@ -720,7 +720,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[out] length Length of the property. * @param[out] pIndex Pointer to the current index of the buffer. * - * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalfomedPacket + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket **/ static MQTTStatus_t deserializeConnackV5( MQTTConnectProperties_t * pConnackProperties, size_t length, diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index 3f7df782a..6aa6defdb 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -1580,7 +1580,7 @@ uint8_t * MQTT_SerializeUnsubscribeHeader( size_t remainingLength, /** - * @fn uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex,const MQTTConnectProperties_t * pConnectProperties); + * @fn uint8_t * MQTT_SerializeConnectProperties(uint8_t* pIndex,const MQTTConnectProperties_t * pConnectProperties); * @brief Serialize the connect properties of the connect packet header. * * @param[out] pIndex Pointer to the buffer where the header is to @@ -1594,14 +1594,15 @@ uint8_t * MQTT_SerializeUnsubscribeHeader( size_t remainingLength, * @cond DOXYGEN_IGNORE * Doxygen should ignore this definition, this function is private. */ -uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex,const MQTTConnectProperties_t * pConnectProperties); +uint8_t * MQTT_SerializeConnectProperties( uint8_t* pIndex, + const MQTTConnectProperties_t * pConnectProperties); /** @endcond */ /** - * @fn uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, uint8_t* pIndex); - * @brief Serialize the connect properties of the connect packet header. - *@param[in] pPublishInfo The publish/will properties information. + * @fn uint8_t * MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, uint8_t* pIndex); + * @brief Serialize the will properties of the connect packet. + * @param[in] pPublishInfo The publish/will properties information. * @param[out] pIndex Pointer to the buffer where the header is to * be serialized. * @@ -1612,7 +1613,8 @@ uint8_t* MQTT_SerializeConnectProperties(uint8_t* pIndex,const MQTTConnectProper * @cond DOXYGEN_IGNORE * Doxygen should ignore this definition, this function is private. */ -uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, uint8_t* pIndex); +uint8_t * MQTT_SerializePublishProperties( const MQTTPublishInfo_t * pPublishInfo, + uint8_t* pIndex); /** @endcond */ @@ -1674,9 +1676,9 @@ uint8_t* MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, * @endcode */ /* @[declare_mqttv5_deserializeconnack] */ -MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackProperties,const MQTTPacketInfo_t * pIncomingPacket, - - bool * pSessionPresent ); +MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackProperties, + const MQTTPacketInfo_t * pIncomingPacket, + bool * pSessionPresent ); /* @[declare_mqttv5_deserializeconnack] */ /** From 0681b4db7cb99cc280e5d76e7d66cb26dddcf33e Mon Sep 17 00:00:00 2001 From: Pooja Toshniwal <142602291+Pooja-Toshniwal@users.noreply.github.com> Date: Tue, 25 Jun 2024 16:21:42 +0530 Subject: [PATCH 48/82] MQTTV5 connect and connack --- source/include/core_mqtt_serializer.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index 6aa6defdb..8d26083f7 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -1580,7 +1580,7 @@ uint8_t * MQTT_SerializeUnsubscribeHeader( size_t remainingLength, /** - * @fn uint8_t * MQTT_SerializeConnectProperties(uint8_t* pIndex,const MQTTConnectProperties_t * pConnectProperties); + * @fn uint8_t * MQTT_SerializeConnectProperties(uint8_t * pIndex,const MQTTConnectProperties_t * pConnectProperties); * @brief Serialize the connect properties of the connect packet header. * * @param[out] pIndex Pointer to the buffer where the header is to @@ -1594,13 +1594,13 @@ uint8_t * MQTT_SerializeUnsubscribeHeader( size_t remainingLength, * @cond DOXYGEN_IGNORE * Doxygen should ignore this definition, this function is private. */ -uint8_t * MQTT_SerializeConnectProperties( uint8_t* pIndex, +uint8_t * MQTT_SerializeConnectProperties( uint8_t * pIndex, const MQTTConnectProperties_t * pConnectProperties); /** @endcond */ /** - * @fn uint8_t * MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, uint8_t* pIndex); + * @fn uint8_t * MQTT_SerializePublishProperties(const MQTTPublishInfo_t * pPublishInfo, uint8_t * pIndex); * @brief Serialize the will properties of the connect packet. * @param[in] pPublishInfo The publish/will properties information. * @param[out] pIndex Pointer to the buffer where the header is to @@ -1614,7 +1614,7 @@ uint8_t * MQTT_SerializeConnectProperties( uint8_t* pIndex, * Doxygen should ignore this definition, this function is private. */ uint8_t * MQTT_SerializePublishProperties( const MQTTPublishInfo_t * pPublishInfo, - uint8_t* pIndex); + uint8_t * pIndex); /** @endcond */ From 1cf3ff2f1a5f7f966af5810644ea2c047f4fff21 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Wed, 26 Jun 2024 05:53:07 +0000 Subject: [PATCH 49/82] MQTTV5 connect and connack --- docs/doxygen/config.doxyfile | 3 +- source/core_mqtt.c | 92 +++++++++++++- source/core_mqtt_serializer.c | 219 ++++++++++++++++++++++++++-------- 3 files changed, 259 insertions(+), 55 deletions(-) diff --git a/docs/doxygen/config.doxyfile b/docs/doxygen/config.doxyfile index 72b6f1234..577c679fd 100644 --- a/docs/doxygen/config.doxyfile +++ b/docs/doxygen/config.doxyfile @@ -2295,7 +2295,8 @@ INCLUDE_FILE_PATTERNS = # recursively expanded use the := operator instead of the = operator. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -PREDEFINED = DOXYGEN=1 +PREDEFINED = DOXYGEN=1 \ + MQTT_VERSION_5_ENABLED=1 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this # tag can be used to specify a list of macro names that should be expanded. The diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 842b1a80c..696e3d768 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -91,13 +91,33 @@ #define CORE_MQTT_UNSUBSCRIBE_PER_TOPIC_VECTOR_LENGTH ( 2U ) #if ( MQTT_VERSION_5_ENABLED ) -/*Connect and will packet id's*/ +/** + * @brief User Property id. + */ #define MQTT_USER_PROPERTY_ID ( 0x26 ) + /** + * @brief Authentication Method id. + */ #define MQTT_AUTH_METHOD_ID ( 0x15 ) + /** + * @brief Authentication Data id. + */ #define MQTT_AUTH_DATA_ID ( 0x16 ) + /** + * @brief Content Type id. + */ #define MQTT_CONTENT_TYPE_ID ( 0x03 ) + /** + * @brief Response Topic id. + */ #define MQTT_RESPONSE_TOPIC_ID ( 0x08 ) + /** + * @brief Correlation Data id. + */ #define MQTT_CORRELATION_DATA_ID ( 0x09 ) + /** + * @brief Size of the property id. + */ #define CORE_MQTT_ID_SIZE ( 1U ) #endif @@ -566,14 +586,50 @@ static bool matchTopicFilter( const char * pTopicName, **/ typedef struct WillPropertiesVector { + /** + * @brief Used to encode user key length. + * + **/ uint8_t serializedWillUserKeyLength[ MAX_USER_PROPERTY ][ 2 ]; + /** + * @brief Used to encode user id. + * + **/ uint8_t willUserId[ MAX_USER_PROPERTY ]; + /** + * @brief Used to encode user value length. + * + **/ uint8_t serializedWillUserValueLength[ MAX_USER_PROPERTY ][ 2 ]; + /** + * @brief Used to encode content type length. + * + **/ uint8_t serializedContentTypeLength[ 2 ]; + /** + * @brief Used to encode content type id. + * + **/ uint8_t contentTypeId; + /** + * @brief Used to encode response topic length. + * + **/ uint8_t serializedResponseTopicLength[ 2 ]; + /** + * @brief Used to encode response topic id. + * + **/ uint8_t responseTopicId; + /** + * @brief Used to encode correlation data length. + * + **/ uint8_t serializedCorrelationLength[ 2 ]; + /** + * @brief Used to encode correlation data id. + * + **/ uint8_t correlationDataId; } WillVector_t; @@ -583,12 +639,40 @@ static bool matchTopicFilter( const char * pTopicName, **/ typedef struct ConnectPropertiesVector { + /** + * @brief Used to encode user key length. + * + **/ uint8_t serializedUserKeyLength[ MAX_USER_PROPERTY ][ 2 ]; + /** + * @brief Used to encode user id. + * + **/ uint8_t userId[ MAX_USER_PROPERTY ]; + /** + * @brief Used to encode user value length. + * + **/ uint8_t serializedUserValueLength[ MAX_USER_PROPERTY ][ 2 ]; + /** + * @brief Used to encode authentication method length. + * + **/ uint8_t serializedAuthMethodLength[ 2 ]; + /** + * @brief Used to authentication method id. + * + **/ uint8_t authMethodId; + /** + * @brief Used to encode authentication data length. + * + **/ uint8_t serializedAuthDataLength[ 2 ]; + /** + * @brief Used to authentication data id. + * + **/ uint8_t authDataId; } PropertiesVector_t; @@ -622,7 +706,7 @@ static bool matchTopicFilter( const char * pTopicName, * @brief Serialize the variable length will properties. * * @param[in] pWillInfo Properties to serialize - * @param[in] willVector vectors used to encode. + * @param[in] pWillVector vectors used to encode. * @param[in] pTotalMessageLength The iterator pointing to the first element in the * transport interface IO array. * @param[out] pVectorIterator This parameter will be added to with the number of @@ -639,8 +723,8 @@ static bool matchTopicFilter( const char * pTopicName, /** * @brief Serialize the variable length connect properties. * - * @param[in] pWillInfo Properties to serialize - * @param[in] willVector vectors used to encode. + * @param[in] pConnectProperties Properties to serialize + * @param[in] pPropertiesVector vectors used to encode. * @param[in] pTotalMessageLength The iterator pointing to the first element in the * transport interface IO array. * @param[out] pVectorIterator This parameter will be added to with the number of diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index df3cb1136..698e40f7c 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -97,45 +97,144 @@ #define MQTT_MAX_REMAINING_LENGTH ( 268435455UL ) #if ( MQTT_VERSION_5_ENABLED ) - +/** + * @brief Veriosn 5 has the value 5. + */ #define MQTT_VERSION_5 ( 5U ) + /** + * @brief Per the MQTT 5 spec, the session expiry is of 5 bytes. + */ #define MQTT_SESSION_EXPIRY_SIZE ( 5U ) + /** + * @brief Per the MQTT 5 spec, the receive maximum is of 3 bytes. + */ #define MQTT_RECEIVE_MAX_SIZE ( 3U ) + /** + * @brief Per the MQTT 5 spec, the max packet size is of 5 bytes. + */ #define MQTT_MAX_PACKET_SIZE ( 5U ) + /** + * @brief Per the MQTT 5 spec, the topic alias is of 3 bytes. + */ #define MQTT_TOPIC_ALIAS_SIZE ( 3U ) + /** + * @brief Per the MQTT 5 spec, the request response is of 2 bytes. + */ #define MQTT_REQUEST_RESPONSE_SIZE ( 2U ) + /** + * @brief Per the MQTT 5 spec, the request problem is of 2 bytes. + */ #define MQTT_REQUEST_PROBLEM_SIZE ( 2U ) /*CONNECT PROPERTIES*/ +/** + * @brief Session expiry id. + */ #define MQTT_SESSION_EXPIRY_ID ( 0x11 ) + /** + * @brief Receive maximum id. + */ #define MQTT_RECEIVE_MAX_ID ( 0x21 ) + /** + * @brief Maximum packet size id. + */ #define MQTT_MAX_PACKET_SIZE_ID ( 0x27 ) + /** + * @brief Topic alias size id. + */ #define MQTT_TOPIC_ALIAS_MAX_ID ( 0x22 ) + /** + * @brief Request response id. + */ #define MQTT_REQUEST_RESPONSE_ID ( 0x19 ) + /** + * @brief Request problem id. + */ #define MQTT_REQUEST_PROBLEM_ID ( 0x17 ) + /** + * @brief User property id. + */ #define MQTT_USER_PROPERTY_ID ( 0x26 ) + /** + * @brief Authentication method id. + */ #define MQTT_AUTH_METHOD_ID ( 0x15 ) + /** + * @brief Authentication data id. + */ #define MQTT_AUTH_DATA_ID ( 0x16 ) /*WILL PROPERTIES*/ + /** + * @brief Will delay id. + */ #define MQTT_WILL_DELAY_ID ( 0x18 ) + /** + * @brief Payload format id. + */ #define MQTT_PAYLOAD_FORMAT_ID ( 0x01 ) + /** + * @brief Message Expiry id. + */ #define MQTT_MSG_EXPIRY_ID ( 0x02 ) + /** + * @brief Content type id. + */ #define MQTT_CONTENT_TYPE_ID ( 0x03 ) + /** + * @brief Response topic id. + */ #define MQTT_RESPONSE_TOPIC_ID ( 0x08 ) + /** + * @brief Correlation data id. + */ #define MQTT_CORRELATION_DATA_ID ( 0x09 ) /*CONNACK PROPERTIES*/ + /** + * @brief Max qos id. + */ #define MQTT_MAX_QOS_ID ( 0x24 ) + /** + * @brief Reatian available id. + */ #define MQTT_RETAIN_AVAILABLE_ID ( 0x25 ) + /** + * @brief Assigned client identifier id. + */ #define MQTT_ASSIGNED_CLIENT_ID ( 0x12 ) + /** + * @brief Reason string id. + */ #define MQTT_REASON_STRING_ID ( 0x1F ) + /** + * @brief Wildcard available id. + */ #define MQTT_WILDCARD_ID ( 0x28 ) + /** + * @brief Subscription available id. + */ #define MQTT_SUB_AVAILABLE_ID ( 0x29 ) + /** + * @brief Shared subscription id. + */ #define MQTT_SHARED_SUB_ID ( 0x2A ) + /** + * @brief Server keep alive id. + */ #define MQTT_SERVER_KEEP_ALIVE_ID ( 0x13 ) + /** + * @brief Response information id. + */ + #define MQTT_RESPONSE_INFO_ID ( 0x1A ) + /** + * @brief Server reference id. + */ #define MQTT_SERVER_REF_ID ( 0x1C ) + /** + * @brief Size of the property id. + */ #define CORE_MQTT_ID_SIZE ( 1U ) @@ -534,9 +633,9 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * * @param[in] pUserProperty Pointer to an MQTT packet struct representing user properties. * @param[in] number Total number of user properties - * @param[out] size Size of the user properties + * @param[out] pSize Size of the user properties * - * @return #MQTTSuccess if user properties are valid and #MQTTBadParametr if the user properties are not valid + * @return #MQTTSuccess if user properties are valid and #MQTTBadParameter if the user properties are not valid */ static MQTTStatus_t MQTT_GetUserPropertySize( const MQTTUserProperty_t * pUserProperty, uint32_t number, @@ -550,7 +649,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[in] pAuthInfo Pointer to an MQTT packet struct representing authentication information. * @param[out] pPropertyLength Size of the authentication information. * - * @return #MQTTSuccess if user properties are valid and #MQTTBadParametr if the user properties are not valid + * @return #MQTTSuccess if user properties are valid and #MQTTBadParameter if the user properties are not valid */ static MQTTStatus_t MQTT_GetAuthInfoSize( const MQTTAuthInfo_t * pAuthInfo, @@ -563,7 +662,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * * @param[out] pConnectProperties Pointer to an MQTT packet struct representing connect properties. * - * @return #MQTTSuccess if connect properties are valid and #MQTTBadParametr if the connect properties are not valid. + * @return #MQTTSuccess if connect properties are valid and #MQTTBadParameter if the connect properties are not valid. */ static MQTTStatus_t MQTT_GetConnectPropertiesSize( MQTTConnectProperties_t * pConnectProperties ); @@ -575,7 +674,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * * @param[out] pWillProperties Pointer to an MQTT packet struct representing will properties. * - * @return #MQTTSuccess if will properties are valid and #MQTTBadParametr if the will properties are not valid. + * @return #MQTTSuccess if will properties are valid and #MQTTBadParameter if the will properties are not valid. */ static MQTTStatus_t MQTT_GetWillPropertiesSize( MQTTPublishInfo_t * pWillProperties ); @@ -588,7 +687,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[in] pBuffer Pointer to the buffer. * @param[out] pLength Decoded variable length * - * @return #MQTTSuccess if variable length and paramters are valid else #MQTTBadParamter. + * @return #MQTTSuccess if variable length and paramters are valid else #MQTTBadParameter. */ static MQTTStatus_t decodeVariableLength( const uint8_t * pBuffer, size_t * pLength ); @@ -599,7 +698,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * Converts the packet from a stream of bytes to an #MQTTStatus_t and extracts * the variable header without connack properties. * - * @param[in] pIncoming Pointer to an MQTT packet struct representing a incoming packet. + * @param[in] pIncomingPacket Pointer to an MQTT packet struct representing a incoming packet. * @param[out] pSessionPresent Whether a session is present or not. * * @@ -713,6 +812,24 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); size_t * pPropertyLength, const uint8_t ** pIndex ); +/** + * @brief Validate the length and decode authentication information. + * + * @param[out] pConnackProperties To store the decoded property. + * @param[out] pAuthMethod Whether the authentication method is decoded before. + * @param[out] pAuthData Whether the authentication data is decoded before. + * @param[out] pPropertyLength Size of the length. + * @param[out] pIndex Pointer to the current index of the buffer. + * @param[in] id To differentiate between authentication method and authentication data. + * + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket + **/ +static MQTTStatus_t decodeAuthInfo(MQTTConnectProperties_t * pConnackProperties, + bool * pAuthMethod, + bool * pAuthData, + size_t * pPropertyLength, + const uint8_t ** pIndex,const uint8_t id); + /** * @brief Validate the length and decode the connack properties. * @@ -1821,6 +1938,29 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); return status; } + static MQTTStatus_t decodeAuthInfo(MQTTConnectProperties_t * pConnackProperties, + bool * pAuthMethod, + bool * pAuthData, + size_t * pPropertyLength, + const uint8_t ** pIndex,const uint8_t id) + { + MQTTStatus_t status = MQTTSuccess; + if( pConnackProperties->pOutgoingAuth == NULL ) + { + status = MQTTProtocolError; + } + else if(id== MQTT_AUTH_METHOD_ID) + { + status = decodeutf_8( &pConnackProperties->pIncomingAuth->pAuthMethod, &pConnackProperties->pIncomingAuth->authMethodLength, pPropertyLength, pAuthMethod, pIndex ); + } + else { + status = decodeutf_8( &pConnackProperties->pIncomingAuth->pAuthData, &pConnackProperties->pIncomingAuth->authDataLength, pPropertyLength, pAuthData, pIndex ); + } + + return status; + + } + static MQTTStatus_t deserializeConnackV5( MQTTConnectProperties_t * pConnackProperties, size_t length, const uint8_t * const * pIndex ) @@ -1863,12 +2003,6 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); case MQTT_RECEIVE_MAX_ID: status = decodeuint16_t( &pConnackProperties->serverReceiveMax, &propertyLength, &serverReceiveMax, &pVariableHeader ); - - if( pConnackProperties->serverReceiveMax == 0U ) - { - status = MQTTProtocolError; - } - break; case MQTT_MAX_QOS_ID: @@ -1881,12 +2015,6 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); case MQTT_MAX_PACKET_SIZE_ID: status = decodeuint32_t( &pConnackProperties->serverMaxPacketSize, &propertyLength, &maxPacket, &pVariableHeader ); - - if( ( pConnackProperties->serverMaxPacketSize == 0U ) ) - { - status = MQTTProtocolError; - } - break; case MQTT_ASSIGNED_CLIENT_ID: @@ -1924,16 +2052,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); break; case MQTT_RESPONSE_INFO_ID: - - if( pConnackProperties->requestResponseInfo == false ) - { - status = MQTTProtocolError; - } - else - { status = decodeutf_8( &pConnackProperties->pResponseInfo, &pConnackProperties->responseInfoLength, &propertyLength, &responseInfo, &pVariableHeader ); - } - break; case MQTT_SERVER_REF_ID: @@ -1941,29 +2060,9 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); break; case MQTT_AUTH_METHOD_ID: - - if( pConnackProperties->pOutgoingAuth == NULL ) - { - status = MQTTProtocolError; - } - else - { - status = decodeutf_8( &pConnackProperties->pIncomingAuth->pAuthMethod, &pConnackProperties->pIncomingAuth->authMethodLength, &propertyLength, &authMethod, &pVariableHeader ); - } - - break; - case MQTT_AUTH_DATA_ID: - if( ( pConnackProperties->pOutgoingAuth == NULL ) ) - { - status = MQTTProtocolError; - } - else - { - status = decodeutf_8( &pConnackProperties->pIncomingAuth->pAuthData, &pConnackProperties->pIncomingAuth->authDataLength, &propertyLength, &authData, &pVariableHeader ); - } - + status = decodeAuthInfo(pConnackProperties,&authMethod,&authData,&propertyLength,&pVariableHeader,packetId); break; /*Protocol error to include any other property id.*/ @@ -1973,6 +2072,26 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); } } + if(status == MQTTSuccess){ + /*Receive max cannot be 0.*/ + if((serverReceiveMax == true) && (pConnackProperties->serverReceiveMax == 0U) ){ + status = MQTTProtocolError; + } + + /*Maximum packet size cannot be 0.*/ + else if((maxPacket == true) && (pConnackProperties->serverMaxPacketSize == 0U)){ + status = MQTTProtocolError; + } + + else if((responseInfo == true ) && (pConnackProperties->requestResponseInfo == false)){ + status = MQTTProtocolError; + } + + else{ + /* MISRA Empty body */ + } + + } return status; } From 5087b3afa2d9e9c3f7272500e04d8ba006e685ad Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Wed, 26 Jun 2024 06:14:00 +0000 Subject: [PATCH 50/82] MQTTV5 connect and connack --- source/core_mqtt_serializer.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 698e40f7c..9a150e8c5 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -824,7 +824,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket **/ -static MQTTStatus_t decodeAuthInfo(MQTTConnectProperties_t * pConnackProperties, +static MQTTStatus_t decodeAuthInfo(const MQTTConnectProperties_t * pConnackProperties, bool * pAuthMethod, bool * pAuthData, size_t * pPropertyLength, @@ -1938,7 +1938,7 @@ static MQTTStatus_t decodeAuthInfo(MQTTConnectProperties_t * pConnackProperties, return status; } - static MQTTStatus_t decodeAuthInfo(MQTTConnectProperties_t * pConnackProperties, + static MQTTStatus_t decodeAuthInfo(const MQTTConnectProperties_t * pConnackProperties, bool * pAuthMethod, bool * pAuthData, size_t * pPropertyLength, @@ -1949,11 +1949,13 @@ static MQTTStatus_t decodeAuthInfo(MQTTConnectProperties_t * pConnackProperties, { status = MQTTProtocolError; } - else if(id== MQTT_AUTH_METHOD_ID) + else if(id == (uint8_t)MQTT_AUTH_METHOD_ID) { + /*Decode the authenticaton method */ status = decodeutf_8( &pConnackProperties->pIncomingAuth->pAuthMethod, &pConnackProperties->pIncomingAuth->authMethodLength, pPropertyLength, pAuthMethod, pIndex ); } else { + /*Decode the authentication data */ status = decodeutf_8( &pConnackProperties->pIncomingAuth->pAuthData, &pConnackProperties->pIncomingAuth->authDataLength, pPropertyLength, pAuthData, pIndex ); } @@ -2082,7 +2084,7 @@ static MQTTStatus_t decodeAuthInfo(MQTTConnectProperties_t * pConnackProperties, else if((maxPacket == true) && (pConnackProperties->serverMaxPacketSize == 0U)){ status = MQTTProtocolError; } - + /*Protocol error to send response information if the client has not requested it.*/ else if((responseInfo == true ) && (pConnackProperties->requestResponseInfo == false)){ status = MQTTProtocolError; } From 4a194f34a5f6ee58923a5521932d46b5d4a29ae0 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Wed, 26 Jun 2024 06:16:14 +0000 Subject: [PATCH 51/82] Uncrustify: triggered by comment. --- source/core_mqtt.c | 153 +++++++++++++----------- source/core_mqtt_serializer.c | 217 ++++++++++++++++++++-------------- 2 files changed, 216 insertions(+), 154 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 696e3d768..6c335d74a 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -91,35 +91,42 @@ #define CORE_MQTT_UNSUBSCRIBE_PER_TOPIC_VECTOR_LENGTH ( 2U ) #if ( MQTT_VERSION_5_ENABLED ) + /** * @brief User Property id. */ #define MQTT_USER_PROPERTY_ID ( 0x26 ) - /** + +/** * @brief Authentication Method id. */ #define MQTT_AUTH_METHOD_ID ( 0x15 ) - /** + +/** * @brief Authentication Data id. */ #define MQTT_AUTH_DATA_ID ( 0x16 ) - /** + +/** * @brief Content Type id. */ #define MQTT_CONTENT_TYPE_ID ( 0x03 ) - /** + +/** * @brief Response Topic id. */ #define MQTT_RESPONSE_TOPIC_ID ( 0x08 ) - /** + +/** * @brief Correlation Data id. */ #define MQTT_CORRELATION_DATA_ID ( 0x09 ) - /** + +/** * @brief Size of the property id. */ #define CORE_MQTT_ID_SIZE ( 1U ) -#endif +#endif /* if ( MQTT_VERSION_5_ENABLED ) */ /*-----------------------------------------------------------*/ @@ -586,50 +593,58 @@ static bool matchTopicFilter( const char * pTopicName, **/ typedef struct WillPropertiesVector { - /** - * @brief Used to encode user key length. - * - **/ + /** + * @brief Used to encode user key length. + * + **/ uint8_t serializedWillUserKeyLength[ MAX_USER_PROPERTY ][ 2 ]; - /** - * @brief Used to encode user id. - * - **/ + + /** + * @brief Used to encode user id. + * + **/ uint8_t willUserId[ MAX_USER_PROPERTY ]; - /** - * @brief Used to encode user value length. - * - **/ + + /** + * @brief Used to encode user value length. + * + **/ uint8_t serializedWillUserValueLength[ MAX_USER_PROPERTY ][ 2 ]; - /** - * @brief Used to encode content type length. - * - **/ + + /** + * @brief Used to encode content type length. + * + **/ uint8_t serializedContentTypeLength[ 2 ]; - /** - * @brief Used to encode content type id. - * - **/ + + /** + * @brief Used to encode content type id. + * + **/ uint8_t contentTypeId; - /** - * @brief Used to encode response topic length. - * - **/ + + /** + * @brief Used to encode response topic length. + * + **/ uint8_t serializedResponseTopicLength[ 2 ]; - /** - * @brief Used to encode response topic id. - * - **/ + + /** + * @brief Used to encode response topic id. + * + **/ uint8_t responseTopicId; - /** - * @brief Used to encode correlation data length. - * - **/ + + /** + * @brief Used to encode correlation data length. + * + **/ uint8_t serializedCorrelationLength[ 2 ]; - /** - * @brief Used to encode correlation data id. - * - **/ + + /** + * @brief Used to encode correlation data id. + * + **/ uint8_t correlationDataId; } WillVector_t; @@ -640,39 +655,45 @@ static bool matchTopicFilter( const char * pTopicName, typedef struct ConnectPropertiesVector { /** - * @brief Used to encode user key length. - * - **/ + * @brief Used to encode user key length. + * + **/ uint8_t serializedUserKeyLength[ MAX_USER_PROPERTY ][ 2 ]; + /** - * @brief Used to encode user id. - * - **/ + * @brief Used to encode user id. + * + **/ uint8_t userId[ MAX_USER_PROPERTY ]; + /** - * @brief Used to encode user value length. - * - **/ + * @brief Used to encode user value length. + * + **/ uint8_t serializedUserValueLength[ MAX_USER_PROPERTY ][ 2 ]; - /** - * @brief Used to encode authentication method length. - * - **/ + + /** + * @brief Used to encode authentication method length. + * + **/ uint8_t serializedAuthMethodLength[ 2 ]; - /** - * @brief Used to authentication method id. - * - **/ + + /** + * @brief Used to authentication method id. + * + **/ uint8_t authMethodId; + /** - * @brief Used to encode authentication data length. - * - **/ + * @brief Used to encode authentication data length. + * + **/ uint8_t serializedAuthDataLength[ 2 ]; + /** - * @brief Used to authentication data id. - * - **/ + * @brief Used to authentication data id. + * + **/ uint8_t authDataId; } PropertiesVector_t; diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 9a150e8c5..f7397d3f8 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -97,146 +97,179 @@ #define MQTT_MAX_REMAINING_LENGTH ( 268435455UL ) #if ( MQTT_VERSION_5_ENABLED ) + /** * @brief Veriosn 5 has the value 5. */ #define MQTT_VERSION_5 ( 5U ) - /** + +/** * @brief Per the MQTT 5 spec, the session expiry is of 5 bytes. */ #define MQTT_SESSION_EXPIRY_SIZE ( 5U ) - /** + +/** * @brief Per the MQTT 5 spec, the receive maximum is of 3 bytes. */ #define MQTT_RECEIVE_MAX_SIZE ( 3U ) - /** + +/** * @brief Per the MQTT 5 spec, the max packet size is of 5 bytes. */ #define MQTT_MAX_PACKET_SIZE ( 5U ) - /** + +/** * @brief Per the MQTT 5 spec, the topic alias is of 3 bytes. */ #define MQTT_TOPIC_ALIAS_SIZE ( 3U ) - /** + +/** * @brief Per the MQTT 5 spec, the request response is of 2 bytes. */ #define MQTT_REQUEST_RESPONSE_SIZE ( 2U ) - /** + +/** * @brief Per the MQTT 5 spec, the request problem is of 2 bytes. */ #define MQTT_REQUEST_PROBLEM_SIZE ( 2U ) /*CONNECT PROPERTIES*/ + /** * @brief Session expiry id. */ - #define MQTT_SESSION_EXPIRY_ID ( 0x11 ) - /** + #define MQTT_SESSION_EXPIRY_ID ( 0x11 ) + +/** * @brief Receive maximum id. */ - #define MQTT_RECEIVE_MAX_ID ( 0x21 ) - /** + #define MQTT_RECEIVE_MAX_ID ( 0x21 ) + +/** * @brief Maximum packet size id. */ - #define MQTT_MAX_PACKET_SIZE_ID ( 0x27 ) - /** + #define MQTT_MAX_PACKET_SIZE_ID ( 0x27 ) + +/** * @brief Topic alias size id. */ - #define MQTT_TOPIC_ALIAS_MAX_ID ( 0x22 ) - /** + #define MQTT_TOPIC_ALIAS_MAX_ID ( 0x22 ) + +/** * @brief Request response id. */ - #define MQTT_REQUEST_RESPONSE_ID ( 0x19 ) - /** + #define MQTT_REQUEST_RESPONSE_ID ( 0x19 ) + +/** * @brief Request problem id. */ - #define MQTT_REQUEST_PROBLEM_ID ( 0x17 ) - /** + #define MQTT_REQUEST_PROBLEM_ID ( 0x17 ) + +/** * @brief User property id. */ - #define MQTT_USER_PROPERTY_ID ( 0x26 ) - /** + #define MQTT_USER_PROPERTY_ID ( 0x26 ) + +/** * @brief Authentication method id. */ - #define MQTT_AUTH_METHOD_ID ( 0x15 ) - /** + #define MQTT_AUTH_METHOD_ID ( 0x15 ) + +/** * @brief Authentication data id. */ - #define MQTT_AUTH_DATA_ID ( 0x16 ) + #define MQTT_AUTH_DATA_ID ( 0x16 ) /*WILL PROPERTIES*/ - /** + +/** * @brief Will delay id. */ - #define MQTT_WILL_DELAY_ID ( 0x18 ) - /** + #define MQTT_WILL_DELAY_ID ( 0x18 ) + +/** * @brief Payload format id. */ - #define MQTT_PAYLOAD_FORMAT_ID ( 0x01 ) - /** + #define MQTT_PAYLOAD_FORMAT_ID ( 0x01 ) + +/** * @brief Message Expiry id. */ - #define MQTT_MSG_EXPIRY_ID ( 0x02 ) - /** + #define MQTT_MSG_EXPIRY_ID ( 0x02 ) + +/** * @brief Content type id. */ - #define MQTT_CONTENT_TYPE_ID ( 0x03 ) - /** + #define MQTT_CONTENT_TYPE_ID ( 0x03 ) + +/** * @brief Response topic id. */ - #define MQTT_RESPONSE_TOPIC_ID ( 0x08 ) - /** + #define MQTT_RESPONSE_TOPIC_ID ( 0x08 ) + +/** * @brief Correlation data id. */ - #define MQTT_CORRELATION_DATA_ID ( 0x09 ) + #define MQTT_CORRELATION_DATA_ID ( 0x09 ) /*CONNACK PROPERTIES*/ - /** + +/** * @brief Max qos id. */ - #define MQTT_MAX_QOS_ID ( 0x24 ) - /** + #define MQTT_MAX_QOS_ID ( 0x24 ) + +/** * @brief Reatian available id. */ - #define MQTT_RETAIN_AVAILABLE_ID ( 0x25 ) - /** + #define MQTT_RETAIN_AVAILABLE_ID ( 0x25 ) + +/** * @brief Assigned client identifier id. */ - #define MQTT_ASSIGNED_CLIENT_ID ( 0x12 ) - /** + #define MQTT_ASSIGNED_CLIENT_ID ( 0x12 ) + +/** * @brief Reason string id. */ - #define MQTT_REASON_STRING_ID ( 0x1F ) - /** + #define MQTT_REASON_STRING_ID ( 0x1F ) + +/** * @brief Wildcard available id. */ - #define MQTT_WILDCARD_ID ( 0x28 ) - /** + #define MQTT_WILDCARD_ID ( 0x28 ) + +/** * @brief Subscription available id. */ - #define MQTT_SUB_AVAILABLE_ID ( 0x29 ) - /** + #define MQTT_SUB_AVAILABLE_ID ( 0x29 ) + +/** * @brief Shared subscription id. */ - #define MQTT_SHARED_SUB_ID ( 0x2A ) - /** + #define MQTT_SHARED_SUB_ID ( 0x2A ) + +/** * @brief Server keep alive id. */ - #define MQTT_SERVER_KEEP_ALIVE_ID ( 0x13 ) - /** + #define MQTT_SERVER_KEEP_ALIVE_ID ( 0x13 ) + +/** * @brief Response information id. */ - #define MQTT_RESPONSE_INFO_ID ( 0x1A ) - /** + #define MQTT_RESPONSE_INFO_ID ( 0x1A ) + +/** * @brief Server reference id. */ - #define MQTT_SERVER_REF_ID ( 0x1C ) - /** + #define MQTT_SERVER_REF_ID ( 0x1C ) + +/** * @brief Size of the property id. */ - #define CORE_MQTT_ID_SIZE ( 1U ) + #define CORE_MQTT_ID_SIZE ( 1U ) #endif /* if ( MQTT_VERSION_5_ENABLED ) */ @@ -821,14 +854,15 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[out] pPropertyLength Size of the length. * @param[out] pIndex Pointer to the current index of the buffer. * @param[in] id To differentiate between authentication method and authentication data. - * + * * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket **/ -static MQTTStatus_t decodeAuthInfo(const MQTTConnectProperties_t * pConnackProperties, - bool * pAuthMethod, - bool * pAuthData, - size_t * pPropertyLength, - const uint8_t ** pIndex,const uint8_t id); + static MQTTStatus_t decodeAuthInfo( const MQTTConnectProperties_t * pConnackProperties, + bool * pAuthMethod, + bool * pAuthData, + size_t * pPropertyLength, + const uint8_t ** pIndex, + const uint8_t id ); /** * @brief Validate the length and decode the connack properties. @@ -1938,29 +1972,31 @@ static MQTTStatus_t decodeAuthInfo(const MQTTConnectProperties_t * pConnackPrope return status; } - static MQTTStatus_t decodeAuthInfo(const MQTTConnectProperties_t * pConnackProperties, - bool * pAuthMethod, - bool * pAuthData, - size_t * pPropertyLength, - const uint8_t ** pIndex,const uint8_t id) + static MQTTStatus_t decodeAuthInfo( const MQTTConnectProperties_t * pConnackProperties, + bool * pAuthMethod, + bool * pAuthData, + size_t * pPropertyLength, + const uint8_t ** pIndex, + const uint8_t id ) { - MQTTStatus_t status = MQTTSuccess; - if( pConnackProperties->pOutgoingAuth == NULL ) - { - status = MQTTProtocolError; - } - else if(id == (uint8_t)MQTT_AUTH_METHOD_ID) + MQTTStatus_t status = MQTTSuccess; + + if( pConnackProperties->pOutgoingAuth == NULL ) + { + status = MQTTProtocolError; + } + else if( id == ( uint8_t ) MQTT_AUTH_METHOD_ID ) { /*Decode the authenticaton method */ status = decodeutf_8( &pConnackProperties->pIncomingAuth->pAuthMethod, &pConnackProperties->pIncomingAuth->authMethodLength, pPropertyLength, pAuthMethod, pIndex ); } - else { + else + { /*Decode the authentication data */ status = decodeutf_8( &pConnackProperties->pIncomingAuth->pAuthData, &pConnackProperties->pIncomingAuth->authDataLength, pPropertyLength, pAuthData, pIndex ); } - - return status; + return status; } static MQTTStatus_t deserializeConnackV5( MQTTConnectProperties_t * pConnackProperties, @@ -2054,7 +2090,7 @@ static MQTTStatus_t decodeAuthInfo(const MQTTConnectProperties_t * pConnackPrope break; case MQTT_RESPONSE_INFO_ID: - status = decodeutf_8( &pConnackProperties->pResponseInfo, &pConnackProperties->responseInfoLength, &propertyLength, &responseInfo, &pVariableHeader ); + status = decodeutf_8( &pConnackProperties->pResponseInfo, &pConnackProperties->responseInfoLength, &propertyLength, &responseInfo, &pVariableHeader ); break; case MQTT_SERVER_REF_ID: @@ -2064,7 +2100,7 @@ static MQTTStatus_t decodeAuthInfo(const MQTTConnectProperties_t * pConnackPrope case MQTT_AUTH_METHOD_ID: case MQTT_AUTH_DATA_ID: - status = decodeAuthInfo(pConnackProperties,&authMethod,&authData,&propertyLength,&pVariableHeader,packetId); + status = decodeAuthInfo( pConnackProperties, &authMethod, &authData, &propertyLength, &pVariableHeader, packetId ); break; /*Protocol error to include any other property id.*/ @@ -2074,26 +2110,31 @@ static MQTTStatus_t decodeAuthInfo(const MQTTConnectProperties_t * pConnackPrope } } - if(status == MQTTSuccess){ + if( status == MQTTSuccess ) + { /*Receive max cannot be 0.*/ - if((serverReceiveMax == true) && (pConnackProperties->serverReceiveMax == 0U) ){ - status = MQTTProtocolError; + if( ( serverReceiveMax == true ) && ( pConnackProperties->serverReceiveMax == 0U ) ) + { + status = MQTTProtocolError; } /*Maximum packet size cannot be 0.*/ - else if((maxPacket == true) && (pConnackProperties->serverMaxPacketSize == 0U)){ - status = MQTTProtocolError; + else if( ( maxPacket == true ) && ( pConnackProperties->serverMaxPacketSize == 0U ) ) + { + status = MQTTProtocolError; } /*Protocol error to send response information if the client has not requested it.*/ - else if((responseInfo == true ) && (pConnackProperties->requestResponseInfo == false)){ + else if( ( responseInfo == true ) && ( pConnackProperties->requestResponseInfo == false ) ) + { status = MQTTProtocolError; } - else{ - /* MISRA Empty body */ + else + { + /* MISRA Empty body */ } - } + return status; } From 86cbfab68da77dd77486c146d0d4846865f8931c Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Wed, 26 Jun 2024 06:29:00 +0000 Subject: [PATCH 52/82] MQTTV5 connect and connack --- source/core_mqtt_serializer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index f7397d3f8..26f64f3e9 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -1924,7 +1924,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); const uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; - /*Validate the property length and decode the user property property received.*/ + /*Validate the property length and decode the user property received.*/ if( *pPropertyLength < sizeof( uint16_t ) ) { status = MQTTMalformedPacket; From 5b3a53e998352bb39f36d36c3c51b32166af83fa Mon Sep 17 00:00:00 2001 From: Pooja Toshniwal <142602291+Pooja-Toshniwal@users.noreply.github.com> Date: Wed, 26 Jun 2024 16:13:55 +0530 Subject: [PATCH 53/82] MQTTV5 connect and connack --- source/core_mqtt_serializer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 26f64f3e9..72ca5290c 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -99,7 +99,7 @@ #if ( MQTT_VERSION_5_ENABLED ) /** - * @brief Veriosn 5 has the value 5. + * @brief Version 5 has the value 5. */ #define MQTT_VERSION_5 ( 5U ) @@ -220,7 +220,7 @@ #define MQTT_MAX_QOS_ID ( 0x24 ) /** - * @brief Reatian available id. + * @brief Retain available id. */ #define MQTT_RETAIN_AVAILABLE_ID ( 0x25 ) From 5d71643b390f6cd5719c3bf510a071b8effec52e Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Sun, 30 Jun 2024 14:19:18 +0000 Subject: [PATCH 54/82] MQTTV5 CONNECT AND CONNACK --- source/core_mqtt.c | 47 +- source/core_mqtt_serializer.c | 162 ++++--- source/include/core_mqtt_serializer.h | 39 +- .../MQTTv5/core_mqttv5_serializer_utest.c | 455 ++++++++++-------- test/unit-test/MQTTv5/core_mqttv5_utest.c | 24 +- 5 files changed, 404 insertions(+), 323 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 6c335d74a..ff1a895b6 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -29,11 +29,11 @@ #include #include +#include "core_mqtt.h" #include "core_mqtt_state.h" /* Include config defaults header to get default values of configs. */ #include "core_mqtt_config_defaults.h" -#include "core_mqtt_serializer.h" #ifndef MQTT_PRE_SEND_HOOK @@ -768,34 +768,23 @@ static bool matchTopicFilter( const char * pTopicName, size_t * updatedLength, const uint8_t * packetId ) { - size_t packetLength = 0U; TransportOutVector_t * pLocalIterator = iterator; size_t vectorsAdded = 0U; - /* Add the packet Id. */ + /* Encode the property Id. */ pLocalIterator[ 0 ].iov_base = packetId; pLocalIterator[ 0 ].iov_len = CORE_MQTT_ID_SIZE; vectorsAdded++; - packetLength = CORE_MQTT_ID_SIZE; + iterator ++; - /* When length is non-zero, the string must be non-NULL. */ - assert( ( length != 0U ) ? ( string != NULL ) : true ); - serializedLength[ 0 ] = ( ( uint8_t ) ( ( length ) >> 8 ) ); - serializedLength[ 1 ] = ( ( uint8_t ) ( ( length ) & 0x00ffU ) ); + ( *updatedLength ) = ( *updatedLength ) + CORE_MQTT_ID_SIZE; - /* Add the serialized length of the string. */ - pLocalIterator[ 1 ].iov_base = serializedLength; - pLocalIterator[ 1 ].iov_len = CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; - vectorsAdded++; - packetLength += CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES; - - /* Then add the pointer to the string itself. */ - pLocalIterator[ 2 ].iov_base = string; - pLocalIterator[ 2 ].iov_len = length; - vectorsAdded++; - packetLength += length; - - ( *updatedLength ) = ( *updatedLength ) + packetLength; + /* Encode the string. */ + vectorsAdded+= addEncodedStringToVector(serializedLength, + string, + length, + iterator, + updatedLength); return vectorsAdded; } @@ -857,11 +846,11 @@ static bool matchTopicFilter( const char * pTopicName, } /* Encode the user properties if provided. */ - if( pWillInfo->userPropertySize != 0U ) + if( pWillInfo->pUserProperty != NULL) { uint32_t i = 0; - uint32_t size = pWillInfo->userPropertySize; - const MQTTUserProperty_t * userProperty = pWillInfo->pUserProperty; + uint32_t size = pWillInfo->pUserProperty->count; + const MQTTUserProperty_t * userProperty = pWillInfo->pUserProperty->userProperty; for( ; i < size; i++ ) { @@ -904,11 +893,11 @@ static bool matchTopicFilter( const char * pTopicName, pPropertiesVector->authDataId = MQTT_AUTH_DATA_ID; /*Encode the user properties if provided.*/ - if( pConnectProperties->outgoingUserPropSize != 0U ) + if( pConnectProperties->pOutgoingUserProperty != NULL) { uint32_t i = 0; - uint32_t size = pConnectProperties->outgoingUserPropSize; - const MQTTUserProperty_t * userProperty = pConnectProperties->pOutgoingUserProperty; + uint32_t size = pConnectProperties->pOutgoingUserProperty->count; + const MQTTUserProperty_t * userProperty = pConnectProperties->pOutgoingUserProperty->userProperty; for( ; i < size; i++ ) { @@ -2671,7 +2660,6 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, LogError( ( "pWillInfo->pTopicName cannot be NULL if Will is present." ) ); status = MQTTBadParameter; } - else { pIndex = MQTT_SerializeConnectFixedHeader( pIndex, @@ -2696,9 +2684,8 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, ioVectorLength++; #if ( MQTT_VERSION_5_ENABLED ) - /*Encode the user Properties if provided*/ + /*Encode the connect Properties if provided*/ ioVectorLength += sendConnectProperties( pContext->connectProperties, &propertiesVector, &totalMessageLength, &iterator ); - /*Encodethe authentication method and data if provided*/ #endif /* Serialize the client ID. */ diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 72ca5290c..e80791a53 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -133,6 +133,28 @@ */ #define MQTT_REQUEST_PROBLEM_SIZE ( 2U ) +/** + * @brief Utf 8 encoded string has 2 byte length field and 1 byte property id. + */ + #define MQTT_UTF8_LENGTH_SIZE ( 3U ) + +/*Publish Properties*/ + +/** + * @brief Per the MQTT 5 spec, the will delay is of 2 bytes. + */ + #define MQTT_WILL_DELAY_SIZE ( 5U ) + +/** + * @brief Per the MQTT 5 spec, the payload format indicator is of 2 bytes. + */ + #define MQTT_PAYLOAD_FORMAT_SIZE ( 2U ) + +/** + * @brief Per the MQTT 5 spec, the request problem is of 2 bytes. + */ + #define MQTT_MSG_EXPIRY_SIZE ( 5U ) + /*CONNECT PROPERTIES*/ /** @@ -180,7 +202,7 @@ */ #define MQTT_AUTH_DATA_ID ( 0x16 ) -/*WILL PROPERTIES*/ +/*Publish PROPERTIES*/ /** * @brief Will delay id. @@ -703,14 +725,14 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); /** * @brief Get the size of will properties. * - * Validates the will properties,calculates the total size of will properties and stores it in MQTTPublishInfo_t. + * Validates the publish properties,calculates the total size of publsih properties and stores it in MQTTPublishInfo_t. * - * @param[out] pWillProperties Pointer to an MQTT packet struct representing will properties. + * @param[out] pPublishProperties Pointer to an MQTT packet struct representing publish properties. * - * @return #MQTTSuccess if will properties are valid and #MQTTBadParameter if the will properties are not valid. + * @return #MQTTSuccess if publish properties are valid and #MQTTBadParameter if they are not valid. */ - static MQTTStatus_t MQTT_GetWillPropertiesSize( MQTTPublishInfo_t * pWillProperties ); + static MQTTStatus_t MQTT_GetPublishPropertiesSize( MQTTPublishInfo_t * pPublishProperties ); /** * @brief Decodes the variable length by reading a single byte at a time. @@ -835,13 +857,15 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); /** * @brief Validate the length and decode a user property. * - * @param[out] pUserProperty To store the decoded property. + * @param[out] pUserProperties To store the decoded property. + * @param[out] count Number of user properties decoded. * @param[out] pPropertyLength Size of the length. * @param[out] pIndex Pointer to the current index of the buffer. * * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket **/ - static MQTTStatus_t decodeutf_8pair( MQTTUserProperty_t * pUserProperty, + static MQTTStatus_t decodeutf_8pair( MQTTUserProperties_t * pUserProperties, + uint32_t * count, size_t * pPropertyLength, const uint8_t ** pIndex ); @@ -927,6 +951,11 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); LogError( ( "Incoming Auth cannot be NULL" ) ); status = MQTTBadParameter; } + else if(pConnectProperties->pIncomingUserProperty == NULL ) + { + LogError( ( "Incoming user property cannot be NULL" ) ); + status = MQTTBadParameter; + } else { /* Add the connect properties size. */ @@ -943,7 +972,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); /* Add the lengths of the will properties if provided. */ if( pWillInfo != NULL ) { - status = MQTT_GetWillPropertiesSize( pWillInfo ); + status = MQTT_GetPublishPropertiesSize( pWillInfo ); } } @@ -1060,10 +1089,6 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); { status = MQTTBadParameter; } - else if( ( number != 0U ) && ( pUserProperty == NULL ) ) - { - status = MQTTBadParameter; - } else { for( ; ( i < number ); i++ ) @@ -1077,7 +1102,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); else { *pSize += ( pUserProperty[ i ].keyLength ); - *pSize += 3U; + *pSize += MQTT_UTF8_LENGTH_SIZE; *pSize += ( pUserProperty[ i ].valueLength ); *pSize += 2U; } @@ -1111,12 +1136,12 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); if( pAuthInfo->authMethodLength != 0U ) { *pPropertyLength += pAuthInfo->authMethodLength; - *pPropertyLength += 3U; + *pPropertyLength += MQTT_UTF8_LENGTH_SIZE; if( pAuthInfo->authDataLength != 0U ) { *pPropertyLength += pAuthInfo->authDataLength; - *pPropertyLength += 3U; + *pPropertyLength += MQTT_UTF8_LENGTH_SIZE; } } } @@ -1179,9 +1204,9 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); } /*Get the length of the user properties*/ - if( ( status == MQTTSuccess ) && ( pConnectProperties->outgoingUserPropSize != 0U ) ) + if( ( status == MQTTSuccess ) && ( pConnectProperties->pOutgoingUserProperty!= NULL ) ) { - status = MQTT_GetUserPropertySize( pConnectProperties->pOutgoingUserProperty, pConnectProperties->outgoingUserPropSize, &propertyLength ); + status = MQTT_GetUserPropertySize( pConnectProperties->pOutgoingUserProperty->userProperty, pConnectProperties->pOutgoingUserProperty->count, &propertyLength ); } /*Variable length encoded values cannot have a value of more than 268435455U*/ @@ -1198,82 +1223,82 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); return status; } - static MQTTStatus_t MQTT_GetWillPropertiesSize( MQTTPublishInfo_t * pWillProperties ) + static MQTTStatus_t MQTT_GetPublishPropertiesSize(MQTTPublishInfo_t * pPublishProperties ) { - size_t willLength = 0U; + size_t propertyLength = 0U; MQTTStatus_t status = MQTTSuccess; - /*Add the length of all the parameters which are applicable*/ - if( pWillProperties->willDelay != 0U ) + /*Add the length of all the parameters which are provided*/ + /*Only applicable for will*/ + if( pPublishProperties->willDelay != 0U ) { - willLength += 5U; + propertyLength += MQTT_WILL_DELAY_SIZE; } - - if( pWillProperties->payloadFormat != 0U ) + if( pPublishProperties->payloadFormat != 0U ) { - willLength += 2U; + propertyLength += MQTT_PAYLOAD_FORMAT_SIZE; } - if( pWillProperties->msgExpiryPresent == true ) + if( pPublishProperties->msgExpiryPresent == true ) { - willLength += 5U; + propertyLength += MQTT_MSG_EXPIRY_SIZE; } - if( pWillProperties->contentTypeLength != 0U ) + if( pPublishProperties->contentTypeLength != 0U ) { - if( pWillProperties->pContentType == NULL ) + if( pPublishProperties->pContentType == NULL ) { status = MQTTBadParameter; } else { - willLength += ( pWillProperties->contentTypeLength ); - willLength += 3U; + propertyLength += ( pPublishProperties->contentTypeLength ); + propertyLength += MQTT_UTF8_LENGTH_SIZE; } } /*Validate if length and pointers are valid*/ - if( ( status == MQTTSuccess ) && ( pWillProperties->responseTopicLength != 0U ) ) + if( ( status == MQTTSuccess ) && ( pPublishProperties->responseTopicLength != 0U ) ) { - if( pWillProperties->pResponseTopic == NULL ) + if( pPublishProperties->pResponseTopic == NULL ) { status = MQTTBadParameter; } else { - willLength += ( pWillProperties->responseTopicLength ); - willLength += 3U; + propertyLength += ( pPublishProperties->responseTopicLength ); + propertyLength += MQTT_UTF8_LENGTH_SIZE; } } - if( ( status == MQTTSuccess ) && ( pWillProperties->correlationLength != 0U ) ) + if( ( status == MQTTSuccess ) && ( pPublishProperties->correlationLength != 0U ) ) { - if( pWillProperties->pCorrelationData == NULL ) + if( pPublishProperties->pCorrelationData == NULL ) { status = MQTTBadParameter; } else { - willLength += ( pWillProperties->correlationLength ); - willLength += 3U; + propertyLength += ( pPublishProperties->correlationLength ); + propertyLength += MQTT_UTF8_LENGTH_SIZE; } } /*Get the length of user properties*/ - if( status == MQTTSuccess ) + if((status == MQTTSuccess) && (pPublishProperties->pUserProperty != NULL)) { - status = MQTT_GetUserPropertySize( pWillProperties->pUserProperty, pWillProperties->userPropertySize, &willLength ); + status = MQTT_GetUserPropertySize( pPublishProperties->pUserProperty->userProperty, pPublishProperties->pUserProperty->count, &propertyLength ); } /*Variable encoded can't have a value more than 268435455UL*/ - if( willLength > MQTT_MAX_REMAINING_LENGTH ) + if( propertyLength > MQTT_MAX_REMAINING_LENGTH ) { status = MQTTBadParameter; } if( status == MQTTSuccess ) { - pWillProperties->propertyLength = willLength; + pPublishProperties->propertyLength = propertyLength; } return status; @@ -1378,11 +1403,11 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); /* Serialize the connect Properties. */ pIndex = MQTT_SerializeConnectProperties( pIndex, pConnectProperties ); - if( pConnectProperties->outgoingUserPropSize > 0U ) + if( pConnectProperties->pOutgoingUserProperty != NULL) { uint32_t i = 0; - uint32_t size = pConnectProperties->outgoingUserPropSize; - const MQTTUserProperty_t * pUserProperty = pConnectProperties->pOutgoingUserProperty; + uint32_t size = pConnectProperties->pOutgoingUserProperty->count; + const MQTTUserProperty_t * pUserProperty = pConnectProperties->pOutgoingUserProperty->userProperty; for( ; i < size; i++ ) { @@ -1440,11 +1465,11 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); pIndex = encodeString( pIndex, pWillInfo->pCorrelationData, pWillInfo->correlationLength ); } - if( pWillInfo->userPropertySize != 0U ) + if( pWillInfo->pUserProperty != NULL ) { uint32_t i = 0; - uint32_t size = pWillInfo->userPropertySize; - const MQTTUserProperty_t * pUserProperty = pWillInfo->pUserProperty; + uint32_t size = pWillInfo->pUserProperty->count; + const MQTTUserProperty_t * pUserProperty = pWillInfo->pUserProperty->userProperty; for( ; i < size; i++ ) { @@ -1917,12 +1942,22 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); return status; } - static MQTTStatus_t decodeutf_8pair( MQTTUserProperty_t * pUserProperty, + static MQTTStatus_t decodeutf_8pair( MQTTUserProperties_t * pUserProperties, + uint32_t * count, size_t * pPropertyLength, - const uint8_t ** pIndex ) + const uint8_t ** pIndex) { const uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; + MQTTUserProperty_t discardUserProperty; + MQTTUserProperty_t * pUserProperty; + if(*count == (uint32_t)MAX_USER_PROPERTY){ + pUserProperty = &discardUserProperty; + } + else{ + pUserProperty = pUserProperties->userProperty; + pUserProperty = &pUserProperty[*count]; + } /*Validate the property length and decode the user property received.*/ if( *pPropertyLength < sizeof( uint16_t ) ) @@ -1944,7 +1979,6 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); pUserProperty->pKey = ( const char * ) pVariableHeader; *pPropertyLength -= pUserProperty->keyLength; pVariableHeader = &pVariableHeader[ pUserProperty->keyLength ]; - pUserProperty->valueLength = UINT16_DECODE( pVariableHeader ); if( *pPropertyLength < sizeof( uint16_t ) ) { @@ -1952,8 +1986,10 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); } else { + pUserProperty->valueLength = UINT16_DECODE( pVariableHeader ); *pPropertyLength -= sizeof( uint16_t ); - + pVariableHeader = &pVariableHeader[ sizeof( uint16_t ) ]; + if( *pPropertyLength < ( size_t ) ( pUserProperty->valueLength ) ) { status = MQTTMalformedPacket; @@ -1969,6 +2005,15 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); } *pIndex = pVariableHeader; + if((*count == (uint32_t)MAX_USER_PROPERTY) && (status == MQTTSuccess)){ + + LogDebug( ( "Discarded additional user property with key %s and value %s", + discardUserProperty.pKey, + discardUserProperty.pValue)); + } + else{ + *count+=1U; + } return status; } @@ -2022,8 +2067,6 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); bool serverRef = false; bool authMethod = false; bool authData = false; - MQTTUserProperty_t * userProperty = pConnackProperties->pIncomingUserProperty; - pVariableHeader = &pVariableHeader[ remainingLengthEncodedSize( propertyLength ) ]; /*Decode all the properties received, validate and store them in pConnackProperties.*/ @@ -2068,9 +2111,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); break; case MQTT_USER_PROPERTY_ID: - status = decodeutf_8pair( userProperty, &propertyLength, &pVariableHeader ); - userProperty++; - pConnackProperties->incomingUserPropSize++; + status = decodeutf_8pair( pConnackProperties->pIncomingUserProperty,&pConnackProperties->pIncomingUserProperty->count,&propertyLength, &pVariableHeader ); break; case MQTT_WILDCARD_ID: @@ -2148,12 +2189,11 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); const uint8_t * pVariableHeader = NULL; /*Validate the arguments*/ - if( pConnackProperties == NULL ) + if( (pConnackProperties == NULL) || (pConnackProperties -> pIncomingUserProperty == NULL) ) { status = MQTTBadParameter; } - - if( status == MQTTSuccess ) + else { status = validateConnackParams( pIncomingPacket, pSessionPresent ); } diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index 8d26083f7..33990c03d 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -82,6 +82,7 @@ struct MQTTPacketInfo; struct MQTTConnectProperties; struct MQTTUserProperty; +struct MQTTUserProperties; struct MQTTAuthInfo; /** * @ingroup mqtt_enum_types @@ -296,6 +297,23 @@ typedef struct MQTTUserProperty /** * @ingroup mqtt_struct_types + * @brief Struct to hold user property. + */ +typedef struct MQTTUserProperties +{ + /** + * @brief Array to store the user properties. + */ + MQTTUserProperty_t userProperty[MAX_USER_PROPERTY]; + /** + * @brief Number of user property; + */ + uint32_t count; + +} MQTTUserProperties_t; + + /** + * @ingroup mqtt_struct_types * @brief Struct to hold connect and connack properties. */ typedef struct MQTTConnectProperties @@ -336,12 +354,7 @@ typedef struct MQTTConnectProperties /** * @brief Pointer to the outgoing user properties. */ - MQTTUserProperty_t *pOutgoingUserProperty; - /** - * @brief Total number of outgoing user properties. - */ - uint32_t outgoingUserPropSize; - + MQTTUserProperties_t *pOutgoingUserProperty; /** * @brief Pointer to the incoming authentication information. */ @@ -386,11 +399,7 @@ typedef struct MQTTConnectProperties /** * @brief Pointer to the incoming user properties. */ - MQTTUserProperty_t *pIncomingUserProperty; - /** - * @brief Total number of user properties received. - */ - uint32_t incomingUserPropSize; + MQTTUserProperties_t *pIncomingUserProperty; /** * @brief Whether wildcard subscription is available. */ @@ -486,7 +495,7 @@ typedef struct MQTTPublishInfo **/ uint8_t payloadFormat; /** - * @brief e Four Byte Integer representing the Message Expiry Interval. + * @brief Four Byte Integer representing the Message Expiry Interval. */ uint32_t msgExpiryInterval; /** @@ -520,11 +529,7 @@ typedef struct MQTTPublishInfo /** * @brief Pointer to the user properties. */ - MQTTUserProperty_t* pUserProperty; - /** - * @brief Number of user properties. - */ - uint32_t userPropertySize; + MQTTUserProperties_t* pUserProperty; #endif } MQTTPublishInfo_t; diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index 15bce4cf4..a08dcf4f1 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -437,122 +437,114 @@ static void checkBufferOverflow( uint8_t * pBuffer, BUFFER_PADDING_LENGTH ); } -static MQTTStatus_t MQTT_GetUserPropertySize( MQTTUserProperty_t * pUserProperty, - uint16_t number, - size_t * size ) -{ - MQTTStatus_t status = MQTTSuccess; - uint16_t i = 0; - - /*Number of user properties can't be more than the max user properties specified*/ - if( ( number > MAX_USER_PROPERTY ) || ( size == NULL ) ) - { - status = MQTTBadParameter; - } - else if( ( number != 0 ) && ( pUserProperty == NULL ) ) - { - status = MQTTBadParameter; - } - else + static MQTTStatus_t MQTT_GetUserPropertySize( const MQTTUserProperty_t * pUserProperty, + uint32_t number, + size_t * pSize ) { - for( ; i < number && status == MQTTSuccess; i++ ) + MQTTStatus_t status = MQTTSuccess; + uint32_t i = 0; + + /*Number of user properties can't be more than the max user properties specified*/ + if( number > ( uint32_t ) MAX_USER_PROPERTY ) { - if( ( ( pUserProperty + i ) == NULL ) || ( ( pUserProperty + i )->keyLength == 0 ) || ( ( pUserProperty + i )->valueLength == 0 ) || ( ( pUserProperty + i )->pKey == NULL ) || ( ( pUserProperty + i )->pValue == NULL ) ) - { - status = MQTTBadParameter; - } - else + status = MQTTBadParameter; + } + else + { + for( ; ( i < number ); i++ ) { - *size += ( pUserProperty + i )->keyLength + 3U; - *size += ( pUserProperty + i )->valueLength + 2U; + /*Validate the key and value*/ + if( ( pUserProperty[ i ].keyLength == 0U ) || ( pUserProperty[ i ].valueLength == 0U ) || ( pUserProperty[ i ].pKey == NULL ) || ( pUserProperty[ i ].pValue == NULL ) ) + { + status = MQTTBadParameter; + break; + } + else + { + *pSize += ( pUserProperty[ i ].keyLength ); + *pSize += 3U; + *pSize += ( pUserProperty[ i ].valueLength ); + *pSize += 2U; + } } } - } - return status; -} + return status; + } -static MQTTStatus_t MQTT_GetWillPropertiesSize( MQTTPublishInfo_t * pWillProperties ) +static MQTTStatus_t MQTT_GetPublishPropertiesSize( MQTTPublishInfo_t * pPublishProperties ) { - size_t willLength = 0U; - MQTTStatus_t status = MQTTSuccess; + size_t propertyLength = 0U; + MQTTStatus_t status = MQTTSuccess; - /*Validate the arguments*/ - if( pWillProperties == NULL ) - { - status = MQTTBadParameter; - } - else - { /*Add the length of all the parameters which are applicable*/ - if( pWillProperties->willDelay != 0U ) + if( pPublishProperties->willDelay != 0U ) { - willLength += 5U; + propertyLength += 5U; } - if( pWillProperties->payloadFormat != 0 ) + if( pPublishProperties->payloadFormat != 0U ) { - willLength += 2U; + propertyLength += 2U; } - if( pWillProperties->msgExpiryPresent == true ) + if( pPublishProperties->msgExpiryPresent == true ) { - willLength += 5U; + propertyLength += 5U; } - if( pWillProperties->contentTypeLength != 0U ) + if( pPublishProperties->contentTypeLength != 0U ) { - if( pWillProperties->pContentType == NULL ) + if( pPublishProperties->pContentType == NULL ) { status = MQTTBadParameter; } else { - willLength += pWillProperties->contentTypeLength + 3U; + propertyLength += pPublishProperties->contentTypeLength + 3U; } } - } /*Validate if length and pointers are valid*/ - if( ( status == MQTTSuccess ) && ( pWillProperties->responseTopicLength != 0U ) ) + if( ( status == MQTTSuccess ) && ( pPublishProperties->responseTopicLength != 0U ) ) { - if( pWillProperties->pResponseTopic == NULL ) + if( pPublishProperties->pResponseTopic == NULL ) { status = MQTTBadParameter; } else { - willLength += pWillProperties->responseTopicLength + 3U; + propertyLength += pPublishProperties->responseTopicLength + 3U; } } - if( ( status == MQTTSuccess ) && ( pWillProperties->correlationLength != 0U ) ) + if( ( status == MQTTSuccess ) && ( pPublishProperties->correlationLength != 0U ) ) { - if( pWillProperties->pCorrelationData == NULL ) + if( pPublishProperties->pCorrelationData == NULL ) { status = MQTTBadParameter; } else { - willLength += pWillProperties->correlationLength + 3U; + propertyLength += pPublishProperties->correlationLength + 3U; } } /*Get the length of user properties*/ - if( status == MQTTSuccess ) + if((status == MQTTSuccess) && (pPublishProperties->pUserProperty!= NULL) ) { - status = MQTT_GetUserPropertySize( pWillProperties->pUserProperty, pWillProperties->userPropertySize, &willLength ); + status = MQTT_GetUserPropertySize( pPublishProperties->pUserProperty->userProperty, pPublishProperties->pUserProperty->count, &propertyLength ); } /*Variable encoded can't have a value more than 268435455UL*/ - if( willLength > MQTT_MAX_REMAINING_LENGTH ) + if( propertyLength > MQTT_MAX_REMAINING_LENGTH ) { status = MQTTBadParameter; } if( status == MQTTSuccess ) { - pWillProperties->propertyLength = willLength; + pPublishProperties->propertyLength = propertyLength; } return status; @@ -727,9 +719,9 @@ static void verifySerializedConnectPacket( const MQTTConnectInfo_t * const pConn /* Verify the connect properties into the CONNECT packet. */ pIndex = MQTT_SerializeConnectProperties( pIndex, pConnectProperties ); - if( pConnectProperties->outgoingUserPropSize > 0 ) + if( pConnectProperties->pOutgoingUserProperty != NULL ) { - pIndex = serializeUserProperties( pIndex, pConnectProperties->pOutgoingUserProperty, pConnectProperties->outgoingUserPropSize ); + pIndex = serializeUserProperties( pIndex, pConnectProperties->pOutgoingUserProperty->userProperty, pConnectProperties->pOutgoingUserProperty->count ); } if( pConnectProperties->pOutgoingAuth != NULL ) @@ -799,9 +791,9 @@ static void verifySerializedConnectPacket( const MQTTConnectInfo_t * const pConn pIndex += encodedStringLength; } - if( pWillInfo->userPropertySize != 0 ) + if( pWillInfo->pUserProperty != NULL ) { - pIndex = serializeUserProperties( pIndex, pWillInfo->pUserProperty, pWillInfo->userPropertySize ); + pIndex = serializeUserProperties( pIndex, pWillInfo->pUserProperty->userProperty, pWillInfo->pUserProperty->count ); } encodedStringLength = encodeString( encodedStringBuffer, @@ -837,86 +829,84 @@ static void verifySerializedConnectPacket( const MQTTConnectInfo_t * const pConn } } -void test_MQTT_GetWillPropertiesSize( void ) +void test_MQTT_GetPublishPropertiesSize( void ) { MQTTStatus_t status = MQTTSuccess; MQTTPublishInfo_t willInfo; - /* Call MQTT_GetWillPropertiesSize() with various combinations of + /* Call MQTT_GetPublishPropertiesSize() with various combinations of * incorrect paramters */ - status = MQTT_GetWillPropertiesSize( NULL ); - TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - + /* * Max Packet Size cannot be null */ memset( &willInfo, 0x0, sizeof( willInfo ) ); - status = MQTT_GetWillPropertiesSize( &willInfo ); + status = MQTT_GetPublishPropertiesSize( &willInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_EQUAL_size_t( 0, willInfo.propertyLength ); willInfo.willDelay = 10; - status = MQTT_GetWillPropertiesSize( &willInfo ); + status = MQTT_GetPublishPropertiesSize( &willInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_EQUAL_size_t( 5, willInfo.propertyLength ); willInfo.payloadFormat = 1; - status = MQTT_GetWillPropertiesSize( &willInfo ); + status = MQTT_GetPublishPropertiesSize( &willInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_EQUAL_size_t( 7, willInfo.propertyLength ); willInfo.msgExpiryPresent = 1; willInfo.msgExpiryInterval = 10; - status = MQTT_GetWillPropertiesSize( &willInfo ); + status = MQTT_GetPublishPropertiesSize( &willInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_EQUAL_size_t( 12, willInfo.propertyLength ); willInfo.msgExpiryPresent = 1; willInfo.msgExpiryInterval = 10; - status = MQTT_GetWillPropertiesSize( &willInfo ); + status = MQTT_GetPublishPropertiesSize( &willInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_EQUAL_size_t( 12, willInfo.propertyLength ); willInfo.contentTypeLength = 2; - status = MQTT_GetWillPropertiesSize( &willInfo ); + status = MQTT_GetPublishPropertiesSize( &willInfo ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); willInfo.pContentType = "ab"; - status = MQTT_GetWillPropertiesSize( &willInfo ); + status = MQTT_GetPublishPropertiesSize( &willInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_EQUAL_size_t( 17, willInfo.propertyLength ); willInfo.responseTopicLength = 2; - status = MQTT_GetWillPropertiesSize( &willInfo ); + status = MQTT_GetPublishPropertiesSize( &willInfo ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); willInfo.pResponseTopic = "ab"; - status = MQTT_GetWillPropertiesSize( &willInfo ); + status = MQTT_GetPublishPropertiesSize( &willInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_EQUAL_size_t( 22, willInfo.propertyLength ); willInfo.correlationLength = 2; - status = MQTT_GetWillPropertiesSize( &willInfo ); + status = MQTT_GetPublishPropertiesSize( &willInfo ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); willInfo.pCorrelationData = "ab"; - status = MQTT_GetWillPropertiesSize( &willInfo ); + status = MQTT_GetPublishPropertiesSize( &willInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_EQUAL_size_t( 27, willInfo.propertyLength ); - MQTTUserProperty_t userProperty[ 2 ]; - userProperty[ 0 ].pKey = "2"; - userProperty[ 0 ].keyLength = 1; - userProperty[ 0 ].valueLength = 3; - userProperty[ 0 ].pValue = "abc"; - userProperty[ 1 ].pKey = "2"; - userProperty[ 1 ].keyLength = 1; - userProperty[ 1 ].valueLength = 2; - userProperty[ 1 ].pValue = "ab"; - willInfo.pUserProperty = userProperty; - willInfo.userPropertySize = 2; - status = MQTT_GetWillPropertiesSize( &willInfo ); + MQTTUserProperties_t userProperties; + userProperties.userProperty[ 0 ].pKey = "2"; + userProperties.userProperty[ 0 ].keyLength = 1; + userProperties.userProperty[ 0 ].valueLength = 3; + userProperties.userProperty[ 0 ].pValue = "abc"; + userProperties.userProperty[ 1 ].pKey = "2"; + userProperties.userProperty[ 1 ].keyLength = 1; + userProperties.userProperty[ 1 ].valueLength = 2; + userProperties.userProperty[ 1 ].pValue = "ab"; + willInfo.pUserProperty = &userProperties; + userProperties.count= 2; + status = MQTT_GetPublishPropertiesSize( &willInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_EQUAL_size_t( 44, willInfo.propertyLength ); } @@ -985,9 +975,11 @@ void test_MQTTV5_DeserializeConnackOnlyStatus( void ) MQTTStatus_t status; uint8_t buffer[ 50 ]; uint8_t * index = buffer; + MQTTUserProperties_t incomingProperty; memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); + properties.pIncomingUserProperty = &incomingProperty; status = MQTTV5_DeserializeConnack( NULL, NULL, NULL ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); @@ -1148,6 +1140,11 @@ void test_MQTTV5_DeserializeConnackOnlyStatus( void ) packetInfo.remainingLength = 7; status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); TEST_ASSERT_EQUAL( MQTTMalformedPacket, status ); + + /*Incoming user property not inititialized*/ + properties.pIncomingUserProperty = NULL; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); } void test_MQTTV5_DeserializeConnackOnlySessionExpiry( void ) @@ -1155,6 +1152,7 @@ void test_MQTTV5_DeserializeConnackOnlySessionExpiry( void ) MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; + MQTTUserProperties_t userProperty; memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); @@ -1170,6 +1168,7 @@ void test_MQTTV5_DeserializeConnackOnlySessionExpiry( void ) packetInfo.remainingLength = propertyLength + 7; properties.isMaxPacketSize = true; properties.maxPacketSize = 150; + properties.pIncomingUserProperty = &userProperty; pIndexLocal++; *pIndexLocal = MQTT_SESSION_EXPIRY_ID; pIndexLocal++; @@ -1259,7 +1258,8 @@ void test_MQTTV5_DeserializeConnackOnlyReceiveMax( void ) MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - + MQTTUserProperties_t userProperty; + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -1270,6 +1270,7 @@ void test_MQTTV5_DeserializeConnackOnlyReceiveMax( void ) packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; pIndexLocal = &buffer[ 2 ]; + properties.pIncomingUserProperty = &userProperty; size_t propertyLength = encodeRemainingLength( pIndexLocal, 3 ); packetInfo.remainingLength = propertyLength + 5; pIndexLocal++; @@ -1332,7 +1333,8 @@ void test_MQTTV5_DeserializeConnackOnlyMaxQos( void ) MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - + MQTTUserProperties_t userProperty; + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -1344,6 +1346,7 @@ void test_MQTTV5_DeserializeConnackOnlyMaxQos( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 5; pIndexLocal = &buffer[ 2 ]; + properties.pIncomingUserProperty = &userProperty; size_t propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_MAX_QOS_ID; @@ -1399,7 +1402,8 @@ void test_MQTTV5_DeserializeConnackOnlyMaxPacketSize( void ) MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - + MQTTUserProperties_t userProperty; + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -1411,6 +1415,7 @@ void test_MQTTV5_DeserializeConnackOnlyMaxPacketSize( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 8; pIndexLocal = &buffer[ 2 ]; + properties.pIncomingUserProperty = &userProperty; size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; @@ -1482,7 +1487,8 @@ void test_MQTTV5_DeserializeConnackOnlyRetainAvailable( void ) MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - + MQTTUserProperties_t userProperty; + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -1494,6 +1500,7 @@ void test_MQTTV5_DeserializeConnackOnlyRetainAvailable( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 5; pIndexLocal = &buffer[ 2 ]; + properties.pIncomingUserProperty = &userProperty; size_t propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_RETAIN_AVAILABLE_ID; @@ -1552,12 +1559,6 @@ void test_MQTT_GetUserPropertySize( void ) memset( &userProperty, 0x0, sizeof( userProperty ) ); MQTTStatus_t status; - status = MQTT_GetUserPropertySize( &userProperty, 0, NULL ); - TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - - status = MQTT_GetUserPropertySize( NULL, 1, length ); - TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - userProperty.keyLength = 0; status = MQTT_GetUserPropertySize( &userProperty, 1, length ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); @@ -1567,7 +1568,8 @@ void test_MQTTV5_DeserializeConnackOnlyClientId( void ) MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - + MQTTUserProperties_t userProperty; + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -1580,6 +1582,7 @@ void test_MQTTV5_DeserializeConnackOnlyClientId( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 8; pIndexLocal = &buffer[ 2 ]; + properties.pIncomingUserProperty = &userProperty; size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; @@ -1638,7 +1641,8 @@ void test_MQTTV5_DeserializeConnackOnlyTopicAlias( void ) MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - + MQTTUserProperties_t userProperty; + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -1650,6 +1654,7 @@ void test_MQTTV5_DeserializeConnackOnlyTopicAlias( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 6; pIndexLocal = &buffer[ 2 ]; + properties.pIncomingUserProperty = &userProperty; size_t propertyLength = encodeRemainingLength( pIndexLocal, 3 ); pIndexLocal++; *pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; @@ -1698,7 +1703,8 @@ void test_MQTTV5_DeserializeConnackOnlyWildCard( void ) MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - + MQTTUserProperties_t userProperty; + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -1710,6 +1716,7 @@ void test_MQTTV5_DeserializeConnackOnlyWildCard( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 5; pIndexLocal = &buffer[ 2 ]; + properties.pIncomingUserProperty = &userProperty; size_t propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_WILDCARD_ID; @@ -1765,7 +1772,8 @@ void test_MQTTV5_DeserializeConnackOnlyReasonString( void ) MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - + MQTTUserProperties_t userProperty; + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -1777,6 +1785,7 @@ void test_MQTTV5_DeserializeConnackOnlyReasonString( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 8; pIndexLocal = &buffer[ 2 ]; + properties.pIncomingUserProperty = &userProperty; size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = MQTT_REASON_STRING_ID; @@ -1834,7 +1843,8 @@ void test_MQTTV5_DeserializeConnackOnlySUbId( void ) MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - + MQTTUserProperties_t userProperty; + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -1847,6 +1857,7 @@ void test_MQTTV5_DeserializeConnackOnlySUbId( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 5; pIndexLocal = &buffer[ 2 ]; + properties.pIncomingUserProperty = &userProperty; size_t propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_SUB_AVAILABLE_ID; @@ -1902,7 +1913,8 @@ void test_MQTTV5_DeserializeConnackOnlySharedSub( void ) MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - + MQTTUserProperties_t userProperty; + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -1915,6 +1927,7 @@ void test_MQTTV5_DeserializeConnackOnlySharedSub( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 5; pIndexLocal = &buffer[ 2 ]; + properties.pIncomingUserProperty = &userProperty; size_t propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_SHARED_SUB_ID; @@ -1969,7 +1982,8 @@ void test_MQTTV5_DeserializeConnackOnlyKeepAlive( void ) MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - + MQTTUserProperties_t userProperty; + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -1982,6 +1996,7 @@ void test_MQTTV5_DeserializeConnackOnlyKeepAlive( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 6; pIndexLocal = &buffer[ 2 ]; + properties.pIncomingUserProperty = &userProperty; size_t propertyLength = encodeRemainingLength( pIndexLocal, 3 ); pIndexLocal++; *pIndexLocal = MQTT_SERVER_KEEP_ALIVE_ID; @@ -2030,7 +2045,8 @@ void test_MQTTV5_DeserializeConnackOnlyResponseInfo( void ) MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - + MQTTUserProperties_t userProperty; + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -2043,6 +2059,7 @@ void test_MQTTV5_DeserializeConnackOnlyResponseInfo( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 8; pIndexLocal = &buffer[ 2 ]; + properties.pIncomingUserProperty = &userProperty; size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = MQTT_RESPONSE_INFO_ID; @@ -2110,17 +2127,15 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) { MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; - MQTTUserProperty_t userProperty[ 5 ]; - MQTTUserProperty_t userProperty2[ 5 ]; - + MQTTUserProperties_t userProperties; + + memset( &userProperties, 0x0, sizeof( userProperties ) ); memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); - properties.outgoingUserPropSize = 1; - properties.pOutgoingUserProperty = userProperty; - properties.pIncomingUserProperty = userProperty2; + properties.pIncomingUserProperty = &userProperties; MQTTStatus_t status; - uint8_t buffer[ 600 ] = { 0 }; + uint8_t buffer[ 60000 ] = { 0 }; uint8_t * pIndexLocal = buffer; buffer[ 0 ] = 0x01; buffer[ 1 ] = 0x00; @@ -2142,9 +2157,9 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) pIndexLocal = &pIndexLocal[ dummy2 ]; status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( 1, properties.incomingUserPropSize ); - TEST_ASSERT_EQUAL( 3, ( properties.pIncomingUserProperty->valueLength ) ); - TEST_ASSERT_EQUAL( 2, ( properties.pIncomingUserProperty->keyLength ) ); + TEST_ASSERT_EQUAL( 1, properties.pIncomingUserProperty->count); + TEST_ASSERT_EQUAL( 3, ( properties.pIncomingUserProperty->userProperty[0].valueLength ) ); + TEST_ASSERT_EQUAL( 2, ( properties.pIncomingUserProperty->userProperty[0].keyLength ) ); /*Invalid property length*/ packetInfo.remainingLength = 5; @@ -2201,6 +2216,39 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) pIndexLocal = &pIndexLocal[ dummy2 ]; status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); + + /*Discard user property*/ + packetInfo.remainingLength = 50015; + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 50010 ); + pIndexLocal+=3; + uint32_t i = 0U; + for(;i<5001;i++){ + *pIndexLocal = MQTT_USER_PROPERTY_ID; + pIndexLocal++; + size_t dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + size_t dummy2 = encodeString( pIndexLocal, string2, 3 ); + pIndexLocal = &pIndexLocal[ dummy2 ]; + } + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + + packetInfo.remainingLength = 50014; + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 50009 ); + pIndexLocal+=3; + for(;i<5001;i++){ + *pIndexLocal = MQTT_USER_PROPERTY_ID; + pIndexLocal++; + size_t dummy = encodeString( pIndexLocal, string, 2 ); + pIndexLocal = &pIndexLocal[ dummy ]; + size_t dummy2 = encodeString( pIndexLocal, string2, 3 ); + pIndexLocal = &pIndexLocal[ dummy2 ]; + } + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); + } void test_MQTTV5_DeserializeConnackOnlyServerRef( void ) @@ -2208,7 +2256,8 @@ void test_MQTTV5_DeserializeConnackOnlyServerRef( void ) MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTStatus_t status; - + MQTTUserProperties_t userProperty; + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -2221,6 +2270,7 @@ void test_MQTTV5_DeserializeConnackOnlyServerRef( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 8; pIndexLocal = &buffer[ 2 ]; + properties.pIncomingUserProperty = &userProperty; size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = MQTT_SERVER_REF_ID; @@ -2281,7 +2331,8 @@ void test_MQTTV5_DeserializeConnackOnlyAuthMethod( void ) MQTTAuthInfo_t auth; MQTTAuthInfo_t auth1; MQTTStatus_t status; - + MQTTUserProperties_t userProperty; + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); properties.pIncomingAuth = &auth; @@ -2296,6 +2347,7 @@ void test_MQTTV5_DeserializeConnackOnlyAuthMethod( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 8; pIndexLocal = &buffer[ 2 ]; + properties.pIncomingUserProperty = &userProperty; size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = MQTT_AUTH_METHOD_ID; @@ -2361,7 +2413,8 @@ void test_MQTTV5_DeserializeConnackOnlyAuthData( void ) MQTTAuthInfo_t auth; MQTTAuthInfo_t auth1; MQTTStatus_t status; - + MQTTUserProperties_t userProperty; + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); properties.pIncomingAuth = &auth; @@ -2376,6 +2429,7 @@ void test_MQTTV5_DeserializeConnackOnlyAuthData( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 8; pIndexLocal = &buffer[ 2 ]; + properties.pIncomingUserProperty = &userProperty; size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = MQTT_AUTH_DATA_ID; @@ -2444,7 +2498,7 @@ void test_MQTTV5_GetConnectPacketSize( void ) MQTTStatus_t status = MQTTSuccess; MQTTPublishInfo_t willInfo = { 0 }; MQTTConnectProperties_t properties; - + MQTTUserProperties_t incomingProperty; memset( &properties, 0x0, sizeof( properties ) ); /* Call MQTTV5_GetConnectPacketSize() with various combinations of @@ -2452,6 +2506,7 @@ void test_MQTTV5_GetConnectPacketSize( void ) properties.receiveMax = 65535U; properties.maxPacketSize = UINT32_MAX; properties.requestProblemInfo = 1; + properties.pIncomingUserProperty = &incomingProperty; status = MQTTV5_GetConnectPacketSize( NULL, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); @@ -2591,71 +2646,59 @@ void test_MQTTV5_GetConnectPacketSize( void ) TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_EQUAL_size_t( 20, properties.propertyLength ); - MQTTUserProperty_t userProperty; - memset( &userProperty, 0x0, sizeof( userProperty ) ); + MQTTUserProperties_t userProperties; + memset( &userProperties, 0x0, sizeof( userProperties ) ); - properties.outgoingUserPropSize = 1; + userProperties.count = 1; + properties.pOutgoingUserProperty = &userProperties; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - properties.pOutgoingUserProperty = &userProperty; + userProperties.userProperty[0].keyLength = 3; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - userProperty.keyLength = 3; + userProperties.userProperty[0].valueLength = 1; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - userProperty.valueLength = 1; + userProperties.userProperty[0].pValue = "1"; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - userProperty.pValue = "1"; + userProperties.userProperty[0].pKey = "2"; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - - userProperty.pKey = "2"; - status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); - - userProperty.pValue = NULL; - status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); - TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - userProperty.keyLength = 0; + userProperties.userProperty[0].pValue = NULL; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - userProperty.valueLength = 0; + userProperties.userProperty[0].keyLength = 0; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - userProperty.keyLength = 1; + userProperties.userProperty[0].valueLength = 0; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - userProperty.valueLength = 1; - userProperty.keyLength = 0; + userProperties.userProperty[0].keyLength = 1; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - properties.outgoingUserPropSize = 6000; + userProperties.userProperty[0].valueLength = 1; + userProperties.userProperty[0].keyLength = 0; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - properties.outgoingUserPropSize = 1; - /* More than 1 user property*/ - MQTTUserProperty_t user[ 1 ]; - memset( &user, 0x0, sizeof( user ) ); - properties.pOutgoingUserProperty = user; - properties.outgoingUserPropSize = 2; + properties.pOutgoingUserProperty->count = 6000; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + properties.pOutgoingUserProperty->count= 1; /* * Incoming AuthInfo not intialized. */ - properties.outgoingUserPropSize = 1; - properties.pOutgoingUserProperty = &userProperty; + properties.pOutgoingUserProperty = &userProperties; MQTTAuthInfo_t auth; memset( &auth, 0x0, sizeof( auth ) ); properties.pOutgoingAuth = &auth; @@ -2705,14 +2748,13 @@ void test_MQTTV5_GetConnectPacketSize( void ) properties.topicAliasMax = 12; properties.requestResponseInfo = 1; properties.requestProblemInfo = 0; - memset( &userProperty, 0x0, sizeof( userProperty ) ); - userProperty.keyLength = 3; - userProperty.valueLength = 1; - userProperty.pValue = "1"; - userProperty.pKey = "211"; - properties.outgoingUserPropSize = 1; - properties.pOutgoingUserProperty = &userProperty; - + userProperties.userProperty[0].keyLength = 3; + userProperties.userProperty[0].valueLength = 1; + userProperties.userProperty[0].pValue = "1"; + userProperties.userProperty[0].pKey = "211"; + userProperties.count = 1; + properties.pOutgoingUserProperty = &userProperties; + properties.pIncomingUserProperty = &incomingProperty; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); /* Make sure remaining size returned is 58. */ @@ -2769,18 +2811,18 @@ void test_MQTTV5_GetConnectPacketSize( void ) TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_EQUAL_size_t( 27, willInfo.propertyLength ); - MQTTUserProperty_t userProperty1[ 2 ]; - userProperty1[ 0 ].pKey = "2"; - userProperty1[ 0 ].keyLength = 1; - userProperty1[ 0 ].valueLength = 3; - userProperty1[ 0 ].pValue = "abc"; - userProperty1[ 1 ].pKey = "2"; - userProperty1[ 1 ].keyLength = 1; - userProperty1[ 1 ].valueLength = 2; - userProperty1[ 1 ].pValue = "ab"; - willInfo.pUserProperty = userProperty1; - willInfo.userPropertySize = 2; - status = MQTT_GetWillPropertiesSize( &willInfo ); + MQTTUserProperties_t userProperties1; + userProperties1.userProperty[ 0 ].pKey = "2"; + userProperties1.userProperty[ 0 ].keyLength = 1; + userProperties1.userProperty[ 0 ].valueLength = 3; + userProperties1.userProperty[ 0 ].pValue = "abc"; + userProperties1.userProperty[ 1 ].pKey = "2"; + userProperties1.userProperty[ 1 ].keyLength = 1; + userProperties1.userProperty[ 1 ].valueLength = 2; + userProperties1.userProperty[ 1 ].pValue = "ab"; + userProperties1.count= 2; + willInfo.pUserProperty = &userProperties1; + status = MQTT_GetPublishPropertiesSize( &willInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_EQUAL_size_t( 44, willInfo.propertyLength ); @@ -2809,33 +2851,38 @@ void test_MQTTV5_GetConnectPacketSize( void ) /*5*/ properties.receiveMax = UINT16_MAX; properties.requestProblemInfo = 1; - MQTTUserProperty_t userPropArr[ 3500 ]; - properties.outgoingUserPropSize = 2078; - properties.pOutgoingUserProperty = userPropArr; + userProperties.count = 2078; + properties.pOutgoingUserProperty = &userProperties; + properties.pIncomingUserProperty = &incomingProperty; uint16_t i = 0; char str[ 65535 ]; memset( str, '.', 65535 * sizeof( char ) ); for( ; i < 3500; i++ ) { - userPropArr[ i ].keyLength = UINT16_MAX; - userPropArr[ i ].pKey = str; - userPropArr[ i ].pValue = str; - userPropArr[ i ].valueLength = UINT16_MAX; + userProperties.userProperty[ i ].keyLength = UINT16_MAX; + userProperties.userProperty[ i ].pKey = str; + userProperties.userProperty[ i ].pValue = str; + userProperties.userProperty[ i ].valueLength = UINT16_MAX; } status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - properties.outgoingUserPropSize = 0; - willInfo.userPropertySize = 2048; - willInfo.pUserProperty = userPropArr; + properties.pOutgoingUserProperty = NULL; + userProperties.count= 2048; + willInfo.pUserProperty = &userProperties; status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - willInfo.userPropertySize = 2051; + userProperties.count= 2051; status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + /*Incoming user property not inititialized*/ + properties.pIncomingUserProperty = NULL; + status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); } /* / ** */ @@ -2851,12 +2898,14 @@ void test_MQTTV5_SerializeConnect( void ) size_t packetSize = bufferSize; MQTTStatus_t status = MQTTSuccess; MQTTConnectProperties_t properties; + MQTTUserProperties_t incomingProperty; memset( &properties, 0x0, sizeof( properties ) ); properties.receiveMax = 65535U; properties.isMaxPacketSize = true; properties.maxPacketSize = UINT32_MAX; properties.requestProblemInfo = 1; + properties.pIncomingUserProperty = &incomingProperty; MQTTFixedBuffer_t fixedBuffer = { .pBuffer = &buffer[ BUFFER_PADDING_LENGTH ], .size = bufferSize }; /* Verify bad parameter errors. */ @@ -2992,20 +3041,20 @@ void test_MQTTV5_SerializeConnect( void ) properties.topicAliasMax = 12; properties.requestResponseInfo = 1; properties.requestProblemInfo = 0; - MQTTUserProperty_t userProperty; + MQTTUserProperties_t userProperties; MQTTAuthInfo_t auth; - memset( &userProperty, 0x0, sizeof( userProperty ) ); + memset( &userProperties, 0x0, sizeof( userProperties ) ); memset( &auth, 0x0, sizeof( auth ) ); auth.pAuthMethod = "ab"; auth.authMethodLength = 2; auth.pAuthData = "abc"; auth.authDataLength = 3; - userProperty.keyLength = 3; - userProperty.valueLength = 1; - userProperty.pValue = "1"; - userProperty.pKey = "211"; - properties.outgoingUserPropSize = 1; - properties.pOutgoingUserProperty = &userProperty; + userProperties.userProperty[0].keyLength = 3; + userProperties.userProperty[0].valueLength = 1; + userProperties.userProperty[0].pValue = "1"; + userProperties.userProperty[0].pKey = "211"; + userProperties.count = 1; + properties.pOutgoingUserProperty = &userProperties; properties.pOutgoingAuth = &auth; properties.pIncomingAuth = &auth; /* 29 */ @@ -3054,8 +3103,7 @@ void test_MQTTV5_SerializeConnect( void ) willInfo.correlationLength = 2; willInfo.pCorrelationData = "ab"; willInfo.willDelay = 3; - willInfo.userPropertySize = 1; - willInfo.pUserProperty = &userProperty; + willInfo.pUserProperty = &userProperties; /* 27 */ status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); @@ -3081,7 +3129,7 @@ void test_MQTTV5_SerializeConnect_Happy_Paths() MQTTConnectInfo_t connectInfo; MQTTPublishInfo_t willInfo; MQTTConnectProperties_t properties; - + MQTTUserProperties_t incomingProperty; memset( &properties, 0x0, sizeof( properties ) ); memset( &willInfo, 0x0, sizeof( willInfo ) ); properties.sessionExpiry = 22; @@ -3090,6 +3138,7 @@ void test_MQTTV5_SerializeConnect_Happy_Paths() properties.topicAliasMax = 12; properties.requestResponseInfo = 1; properties.requestProblemInfo = 0; + properties.pIncomingUserProperty = &incomingProperty; willInfo.payloadFormat = 1; willInfo.msgExpiryPresent = 1; willInfo.msgExpiryInterval = 10; @@ -3195,6 +3244,7 @@ void test_WillLimit( void ) MQTTStatus_t status = MQTTSuccess; MQTTPublishInfo_t willInfo; MQTTConnectProperties_t properties; + MQTTUserProperties_t incomingProperty; memset( &willInfo, 0x0, sizeof( willInfo ) ); memset( &properties, 0x0, sizeof( properties ) ); @@ -3206,6 +3256,7 @@ void test_WillLimit( void ) connectInfo.pUserName = ""; properties.receiveMax = UINT16_MAX; properties.requestProblemInfo = 1; + properties.pIncomingUserProperty = &incomingProperty; willInfo.payloadFormat = 1; willInfo.msgExpiryPresent = 1; willInfo.msgExpiryInterval = 10; @@ -3218,22 +3269,22 @@ void test_WillLimit( void ) willInfo.correlationLength = 2; willInfo.pCorrelationData = "ab"; willInfo.willDelay = 3; - MQTTUserProperty_t userPropArr[ 3500 ]; + MQTTUserProperties_t userProperties; uint16_t i = 0; char str[ 65535 ]; memset( str, '.', 65535 * sizeof( char ) ); for( ; i < 3500; i++ ) { - userPropArr[ i ].keyLength = UINT16_MAX; - userPropArr[ i ].pKey = str; - userPropArr[ i ].pValue = str; - userPropArr[ i ].valueLength = UINT16_MAX; + userProperties.userProperty[ i ].keyLength = UINT16_MAX; + userProperties.userProperty[ i ].pKey = str; + userProperties.userProperty[ i ].pValue = str; + userProperties.userProperty[ i ].valueLength = UINT16_MAX; } - - willInfo.pUserProperty = userPropArr; - willInfo.userPropertySize = 2048; - status = MQTT_GetWillPropertiesSize( &willInfo ); + + userProperties.count = 2048; + willInfo.pUserProperty = &userProperties; + status = MQTT_GetPublishPropertiesSize( &willInfo ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index 6b78bffb2..4af78876a 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -444,16 +444,16 @@ void test_MQTT_Connect_happy_path() MQTTConnectProperties_t properties; MQTTAuthInfo_t authInfo; MQTTAuthInfo_t authInfo2; - MQTTUserProperty_t userProperty; - + MQTTUserProperties_t userProperties; memset( &properties, 0x0, sizeof( properties ) ); memset( &authInfo, 0x0, sizeof( authInfo ) ); memset( &authInfo2, 0x0, sizeof( authInfo2 ) ); - memset( &userProperty, 0x0, sizeof( userProperty ) ); - userProperty.pKey = "ab"; - userProperty.pValue = "ab"; - userProperty.keyLength = 2; - userProperty.valueLength = 2; + memset( &userProperties, 0x0, sizeof( userProperties) ); + userProperties.userProperty[0].pKey = "ab"; + userProperties.userProperty[0].pValue = "ab"; + userProperties.userProperty[0].keyLength = 2; + userProperties.userProperty[0].valueLength = 2; + userProperties.count= 1; authInfo.pAuthMethod = "2"; authInfo.authMethodLength = 1; authInfo.pAuthData = "ab"; @@ -476,8 +476,7 @@ void test_MQTT_Connect_happy_path() properties.topicAliasMax = 13; properties.requestProblemInfo = 0; properties.requestResponseInfo = 1; - properties.outgoingUserPropSize = 1; - properties.pOutgoingUserProperty = &userProperty; + properties.pOutgoingUserProperty = &userProperties; properties.pOutgoingAuth = &authInfo; properties.pIncomingAuth = &authInfo2; @@ -497,8 +496,7 @@ void test_MQTT_Connect_happy_path() willInfo.correlationLength = 2; willInfo.pCorrelationData = "ab"; willInfo.willDelay = 3; - willInfo.userPropertySize = 1; - willInfo.pUserProperty = &userProperty; + willInfo.pUserProperty = &userProperties; connectInfo.pUserName = "abcd"; connectInfo.userNameLength = 3; connectInfo.passwordLength = 4; @@ -512,7 +510,7 @@ void test_MQTT_Connect_happy_path() status = MQTT_Connect( &mqttContext, &connectInfo, NULL, timeout, &sessionPresent ); TEST_ASSERT_EQUAL_INT( MQTTRecvFailed, status ); - properties.outgoingUserPropSize = 0; + properties.pOutgoingUserProperty = NULL; MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); @@ -533,7 +531,7 @@ void test_MQTT_Connect_happy_path() willInfo.contentTypeLength = 0; willInfo.responseTopicLength = 0; willInfo.correlationLength = 0; - willInfo.userPropertySize = 0; + willInfo.pUserProperty = NULL; MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); From fcda31f59b7762c9004cff4034d35fcb98bd6f11 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Sun, 30 Jun 2024 14:35:02 +0000 Subject: [PATCH 55/82] Uncrustify: triggered by comment. --- source/core_mqtt.c | 18 +- source/core_mqtt_serializer.c | 48 ++-- .../MQTTv5/core_mqttv5_serializer_utest.c | 219 +++++++++--------- test/unit-test/MQTTv5/core_mqttv5_utest.c | 13 +- 4 files changed, 157 insertions(+), 141 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index ff1a895b6..538ee80b3 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -775,16 +775,16 @@ static bool matchTopicFilter( const char * pTopicName, pLocalIterator[ 0 ].iov_base = packetId; pLocalIterator[ 0 ].iov_len = CORE_MQTT_ID_SIZE; vectorsAdded++; - iterator ++; + iterator++; ( *updatedLength ) = ( *updatedLength ) + CORE_MQTT_ID_SIZE; - /* Encode the string. */ - vectorsAdded+= addEncodedStringToVector(serializedLength, - string, - length, - iterator, - updatedLength); + /* Encode the string. */ + vectorsAdded += addEncodedStringToVector( serializedLength, + string, + length, + iterator, + updatedLength ); return vectorsAdded; } @@ -846,7 +846,7 @@ static bool matchTopicFilter( const char * pTopicName, } /* Encode the user properties if provided. */ - if( pWillInfo->pUserProperty != NULL) + if( pWillInfo->pUserProperty != NULL ) { uint32_t i = 0; uint32_t size = pWillInfo->pUserProperty->count; @@ -893,7 +893,7 @@ static bool matchTopicFilter( const char * pTopicName, pPropertiesVector->authDataId = MQTT_AUTH_DATA_ID; /*Encode the user properties if provided.*/ - if( pConnectProperties->pOutgoingUserProperty != NULL) + if( pConnectProperties->pOutgoingUserProperty != NULL ) { uint32_t i = 0; uint32_t size = pConnectProperties->pOutgoingUserProperty->count; diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index e80791a53..02c61d29a 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -136,24 +136,24 @@ /** * @brief Utf 8 encoded string has 2 byte length field and 1 byte property id. */ - #define MQTT_UTF8_LENGTH_SIZE ( 3U ) + #define MQTT_UTF8_LENGTH_SIZE ( 3U ) /*Publish Properties*/ /** * @brief Per the MQTT 5 spec, the will delay is of 2 bytes. */ - #define MQTT_WILL_DELAY_SIZE ( 5U ) + #define MQTT_WILL_DELAY_SIZE ( 5U ) /** * @brief Per the MQTT 5 spec, the payload format indicator is of 2 bytes. */ - #define MQTT_PAYLOAD_FORMAT_SIZE ( 2U ) + #define MQTT_PAYLOAD_FORMAT_SIZE ( 2U ) /** * @brief Per the MQTT 5 spec, the request problem is of 2 bytes. */ - #define MQTT_MSG_EXPIRY_SIZE ( 5U ) + #define MQTT_MSG_EXPIRY_SIZE ( 5U ) /*CONNECT PROPERTIES*/ @@ -951,7 +951,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); LogError( ( "Incoming Auth cannot be NULL" ) ); status = MQTTBadParameter; } - else if(pConnectProperties->pIncomingUserProperty == NULL ) + else if( pConnectProperties->pIncomingUserProperty == NULL ) { LogError( ( "Incoming user property cannot be NULL" ) ); status = MQTTBadParameter; @@ -1204,7 +1204,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); } /*Get the length of the user properties*/ - if( ( status == MQTTSuccess ) && ( pConnectProperties->pOutgoingUserProperty!= NULL ) ) + if( ( status == MQTTSuccess ) && ( pConnectProperties->pOutgoingUserProperty != NULL ) ) { status = MQTT_GetUserPropertySize( pConnectProperties->pOutgoingUserProperty->userProperty, pConnectProperties->pOutgoingUserProperty->count, &propertyLength ); } @@ -1223,7 +1223,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); return status; } - static MQTTStatus_t MQTT_GetPublishPropertiesSize(MQTTPublishInfo_t * pPublishProperties ) + static MQTTStatus_t MQTT_GetPublishPropertiesSize( MQTTPublishInfo_t * pPublishProperties ) { size_t propertyLength = 0U; MQTTStatus_t status = MQTTSuccess; @@ -1234,6 +1234,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); { propertyLength += MQTT_WILL_DELAY_SIZE; } + if( pPublishProperties->payloadFormat != 0U ) { propertyLength += MQTT_PAYLOAD_FORMAT_SIZE; @@ -1285,7 +1286,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); } /*Get the length of user properties*/ - if((status == MQTTSuccess) && (pPublishProperties->pUserProperty != NULL)) + if( ( status == MQTTSuccess ) && ( pPublishProperties->pUserProperty != NULL ) ) { status = MQTT_GetUserPropertySize( pPublishProperties->pUserProperty->userProperty, pPublishProperties->pUserProperty->count, &propertyLength ); } @@ -1403,7 +1404,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); /* Serialize the connect Properties. */ pIndex = MQTT_SerializeConnectProperties( pIndex, pConnectProperties ); - if( pConnectProperties->pOutgoingUserProperty != NULL) + if( pConnectProperties->pOutgoingUserProperty != NULL ) { uint32_t i = 0; uint32_t size = pConnectProperties->pOutgoingUserProperty->count; @@ -1945,18 +1946,21 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); static MQTTStatus_t decodeutf_8pair( MQTTUserProperties_t * pUserProperties, uint32_t * count, size_t * pPropertyLength, - const uint8_t ** pIndex) + const uint8_t ** pIndex ) { const uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; MQTTUserProperty_t discardUserProperty; MQTTUserProperty_t * pUserProperty; - if(*count == (uint32_t)MAX_USER_PROPERTY){ + + if( *count == ( uint32_t ) MAX_USER_PROPERTY ) + { pUserProperty = &discardUserProperty; } - else{ + else + { pUserProperty = pUserProperties->userProperty; - pUserProperty = &pUserProperty[*count]; + pUserProperty = &pUserProperty[ *count ]; } /*Validate the property length and decode the user property received.*/ @@ -1989,7 +1993,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); pUserProperty->valueLength = UINT16_DECODE( pVariableHeader ); *pPropertyLength -= sizeof( uint16_t ); pVariableHeader = &pVariableHeader[ sizeof( uint16_t ) ]; - + if( *pPropertyLength < ( size_t ) ( pUserProperty->valueLength ) ) { status = MQTTMalformedPacket; @@ -2005,15 +2009,18 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); } *pIndex = pVariableHeader; - if((*count == (uint32_t)MAX_USER_PROPERTY) && (status == MQTTSuccess)){ + if( ( *count == ( uint32_t ) MAX_USER_PROPERTY ) && ( status == MQTTSuccess ) ) + { LogDebug( ( "Discarded additional user property with key %s and value %s", discardUserProperty.pKey, - discardUserProperty.pValue)); + discardUserProperty.pValue ) ); } - else{ - *count+=1U; + else + { + *count += 1U; } + return status; } @@ -2067,6 +2074,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); bool serverRef = false; bool authMethod = false; bool authData = false; + pVariableHeader = &pVariableHeader[ remainingLengthEncodedSize( propertyLength ) ]; /*Decode all the properties received, validate and store them in pConnackProperties.*/ @@ -2111,7 +2119,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); break; case MQTT_USER_PROPERTY_ID: - status = decodeutf_8pair( pConnackProperties->pIncomingUserProperty,&pConnackProperties->pIncomingUserProperty->count,&propertyLength, &pVariableHeader ); + status = decodeutf_8pair( pConnackProperties->pIncomingUserProperty, &pConnackProperties->pIncomingUserProperty->count, &propertyLength, &pVariableHeader ); break; case MQTT_WILDCARD_ID: @@ -2189,7 +2197,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); const uint8_t * pVariableHeader = NULL; /*Validate the arguments*/ - if( (pConnackProperties == NULL) || (pConnackProperties -> pIncomingUserProperty == NULL) ) + if( ( pConnackProperties == NULL ) || ( pConnackProperties->pIncomingUserProperty == NULL ) ) { status = MQTTBadParameter; } diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index a08dcf4f1..78ce5e45f 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -437,73 +437,73 @@ static void checkBufferOverflow( uint8_t * pBuffer, BUFFER_PADDING_LENGTH ); } - static MQTTStatus_t MQTT_GetUserPropertySize( const MQTTUserProperty_t * pUserProperty, - uint32_t number, - size_t * pSize ) - { - MQTTStatus_t status = MQTTSuccess; - uint32_t i = 0; +static MQTTStatus_t MQTT_GetUserPropertySize( const MQTTUserProperty_t * pUserProperty, + uint32_t number, + size_t * pSize ) +{ + MQTTStatus_t status = MQTTSuccess; + uint32_t i = 0; - /*Number of user properties can't be more than the max user properties specified*/ - if( number > ( uint32_t ) MAX_USER_PROPERTY ) - { - status = MQTTBadParameter; - } - else + /*Number of user properties can't be more than the max user properties specified*/ + if( number > ( uint32_t ) MAX_USER_PROPERTY ) + { + status = MQTTBadParameter; + } + else + { + for( ; ( i < number ); i++ ) { - for( ; ( i < number ); i++ ) + /*Validate the key and value*/ + if( ( pUserProperty[ i ].keyLength == 0U ) || ( pUserProperty[ i ].valueLength == 0U ) || ( pUserProperty[ i ].pKey == NULL ) || ( pUserProperty[ i ].pValue == NULL ) ) { - /*Validate the key and value*/ - if( ( pUserProperty[ i ].keyLength == 0U ) || ( pUserProperty[ i ].valueLength == 0U ) || ( pUserProperty[ i ].pKey == NULL ) || ( pUserProperty[ i ].pValue == NULL ) ) - { - status = MQTTBadParameter; - break; - } - else - { - *pSize += ( pUserProperty[ i ].keyLength ); - *pSize += 3U; - *pSize += ( pUserProperty[ i ].valueLength ); - *pSize += 2U; - } + status = MQTTBadParameter; + break; + } + else + { + *pSize += ( pUserProperty[ i ].keyLength ); + *pSize += 3U; + *pSize += ( pUserProperty[ i ].valueLength ); + *pSize += 2U; } } - - return status; } + return status; +} + static MQTTStatus_t MQTT_GetPublishPropertiesSize( MQTTPublishInfo_t * pPublishProperties ) { - size_t propertyLength = 0U; - MQTTStatus_t status = MQTTSuccess; + size_t propertyLength = 0U; + MQTTStatus_t status = MQTTSuccess; - /*Add the length of all the parameters which are applicable*/ - if( pPublishProperties->willDelay != 0U ) - { - propertyLength += 5U; - } + /*Add the length of all the parameters which are applicable*/ + if( pPublishProperties->willDelay != 0U ) + { + propertyLength += 5U; + } - if( pPublishProperties->payloadFormat != 0U ) - { - propertyLength += 2U; - } + if( pPublishProperties->payloadFormat != 0U ) + { + propertyLength += 2U; + } - if( pPublishProperties->msgExpiryPresent == true ) + if( pPublishProperties->msgExpiryPresent == true ) + { + propertyLength += 5U; + } + + if( pPublishProperties->contentTypeLength != 0U ) + { + if( pPublishProperties->pContentType == NULL ) { - propertyLength += 5U; + status = MQTTBadParameter; } - - if( pPublishProperties->contentTypeLength != 0U ) + else { - if( pPublishProperties->pContentType == NULL ) - { - status = MQTTBadParameter; - } - else - { - propertyLength += pPublishProperties->contentTypeLength + 3U; - } + propertyLength += pPublishProperties->contentTypeLength + 3U; } + } /*Validate if length and pointers are valid*/ if( ( status == MQTTSuccess ) && ( pPublishProperties->responseTopicLength != 0U ) ) @@ -531,7 +531,7 @@ static MQTTStatus_t MQTT_GetPublishPropertiesSize( MQTTPublishInfo_t * pPublishP } /*Get the length of user properties*/ - if((status == MQTTSuccess) && (pPublishProperties->pUserProperty!= NULL) ) + if( ( status == MQTTSuccess ) && ( pPublishProperties->pUserProperty != NULL ) ) { status = MQTT_GetUserPropertySize( pPublishProperties->pUserProperty->userProperty, pPublishProperties->pUserProperty->count, &propertyLength ); } @@ -836,7 +836,7 @@ void test_MQTT_GetPublishPropertiesSize( void ) /* Call MQTT_GetPublishPropertiesSize() with various combinations of * incorrect paramters */ - + /* * Max Packet Size cannot be null */ @@ -905,7 +905,7 @@ void test_MQTT_GetPublishPropertiesSize( void ) userProperties.userProperty[ 1 ].valueLength = 2; userProperties.userProperty[ 1 ].pValue = "ab"; willInfo.pUserProperty = &userProperties; - userProperties.count= 2; + userProperties.count = 2; status = MQTT_GetPublishPropertiesSize( &willInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_EQUAL_size_t( 44, willInfo.propertyLength ); @@ -1259,7 +1259,7 @@ void test_MQTTV5_DeserializeConnackOnlyReceiveMax( void ) MQTTConnectProperties_t properties; MQTTStatus_t status; MQTTUserProperties_t userProperty; - + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -1334,7 +1334,7 @@ void test_MQTTV5_DeserializeConnackOnlyMaxQos( void ) MQTTConnectProperties_t properties; MQTTStatus_t status; MQTTUserProperties_t userProperty; - + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -1403,7 +1403,7 @@ void test_MQTTV5_DeserializeConnackOnlyMaxPacketSize( void ) MQTTConnectProperties_t properties; MQTTStatus_t status; MQTTUserProperties_t userProperty; - + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -1488,7 +1488,7 @@ void test_MQTTV5_DeserializeConnackOnlyRetainAvailable( void ) MQTTConnectProperties_t properties; MQTTStatus_t status; MQTTUserProperties_t userProperty; - + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -1569,7 +1569,7 @@ void test_MQTTV5_DeserializeConnackOnlyClientId( void ) MQTTConnectProperties_t properties; MQTTStatus_t status; MQTTUserProperties_t userProperty; - + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -1642,7 +1642,7 @@ void test_MQTTV5_DeserializeConnackOnlyTopicAlias( void ) MQTTConnectProperties_t properties; MQTTStatus_t status; MQTTUserProperties_t userProperty; - + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -1704,7 +1704,7 @@ void test_MQTTV5_DeserializeConnackOnlyWildCard( void ) MQTTConnectProperties_t properties; MQTTStatus_t status; MQTTUserProperties_t userProperty; - + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -1773,7 +1773,7 @@ void test_MQTTV5_DeserializeConnackOnlyReasonString( void ) MQTTConnectProperties_t properties; MQTTStatus_t status; MQTTUserProperties_t userProperty; - + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -1844,7 +1844,7 @@ void test_MQTTV5_DeserializeConnackOnlySUbId( void ) MQTTConnectProperties_t properties; MQTTStatus_t status; MQTTUserProperties_t userProperty; - + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -1914,7 +1914,7 @@ void test_MQTTV5_DeserializeConnackOnlySharedSub( void ) MQTTConnectProperties_t properties; MQTTStatus_t status; MQTTUserProperties_t userProperty; - + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -1983,7 +1983,7 @@ void test_MQTTV5_DeserializeConnackOnlyKeepAlive( void ) MQTTConnectProperties_t properties; MQTTStatus_t status; MQTTUserProperties_t userProperty; - + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -2046,7 +2046,7 @@ void test_MQTTV5_DeserializeConnackOnlyResponseInfo( void ) MQTTConnectProperties_t properties; MQTTStatus_t status; MQTTUserProperties_t userProperty; - + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -2128,7 +2128,7 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) MQTTPacketInfo_t packetInfo; MQTTConnectProperties_t properties; MQTTUserProperties_t userProperties; - + memset( &userProperties, 0x0, sizeof( userProperties ) ); memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); @@ -2157,9 +2157,9 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) pIndexLocal = &pIndexLocal[ dummy2 ]; status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( 1, properties.pIncomingUserProperty->count); - TEST_ASSERT_EQUAL( 3, ( properties.pIncomingUserProperty->userProperty[0].valueLength ) ); - TEST_ASSERT_EQUAL( 2, ( properties.pIncomingUserProperty->userProperty[0].keyLength ) ); + TEST_ASSERT_EQUAL( 1, properties.pIncomingUserProperty->count ); + TEST_ASSERT_EQUAL( 3, ( properties.pIncomingUserProperty->userProperty[ 0 ].valueLength ) ); + TEST_ASSERT_EQUAL( 2, ( properties.pIncomingUserProperty->userProperty[ 0 ].keyLength ) ); /*Invalid property length*/ packetInfo.remainingLength = 5; @@ -2221,9 +2221,11 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) packetInfo.remainingLength = 50015; pIndexLocal = &buffer[ 2 ]; propertyLength = encodeRemainingLength( pIndexLocal, 50010 ); - pIndexLocal+=3; + pIndexLocal += 3; uint32_t i = 0U; - for(;i<5001;i++){ + + for( ; i < 5001; i++ ) + { *pIndexLocal = MQTT_USER_PROPERTY_ID; pIndexLocal++; size_t dummy = encodeString( pIndexLocal, string, 2 ); @@ -2231,14 +2233,17 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) size_t dummy2 = encodeString( pIndexLocal, string2, 3 ); pIndexLocal = &pIndexLocal[ dummy2 ]; } + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); packetInfo.remainingLength = 50014; pIndexLocal = &buffer[ 2 ]; propertyLength = encodeRemainingLength( pIndexLocal, 50009 ); - pIndexLocal+=3; - for(;i<5001;i++){ + pIndexLocal += 3; + + for( ; i < 5001; i++ ) + { *pIndexLocal = MQTT_USER_PROPERTY_ID; pIndexLocal++; size_t dummy = encodeString( pIndexLocal, string, 2 ); @@ -2246,9 +2251,9 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) size_t dummy2 = encodeString( pIndexLocal, string2, 3 ); pIndexLocal = &pIndexLocal[ dummy2 ]; } + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); - } void test_MQTTV5_DeserializeConnackOnlyServerRef( void ) @@ -2257,7 +2262,7 @@ void test_MQTTV5_DeserializeConnackOnlyServerRef( void ) MQTTConnectProperties_t properties; MQTTStatus_t status; MQTTUserProperties_t userProperty; - + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; @@ -2332,7 +2337,7 @@ void test_MQTTV5_DeserializeConnackOnlyAuthMethod( void ) MQTTAuthInfo_t auth1; MQTTStatus_t status; MQTTUserProperties_t userProperty; - + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); properties.pIncomingAuth = &auth; @@ -2414,7 +2419,7 @@ void test_MQTTV5_DeserializeConnackOnlyAuthData( void ) MQTTAuthInfo_t auth1; MQTTStatus_t status; MQTTUserProperties_t userProperty; - + memset( &properties, 0x0, sizeof( properties ) ); memset( &packetInfo, 0x0, sizeof( packetInfo ) ); properties.pIncomingAuth = &auth; @@ -2499,6 +2504,7 @@ void test_MQTTV5_GetConnectPacketSize( void ) MQTTPublishInfo_t willInfo = { 0 }; MQTTConnectProperties_t properties; MQTTUserProperties_t incomingProperty; + memset( &properties, 0x0, sizeof( properties ) ); /* Call MQTTV5_GetConnectPacketSize() with various combinations of @@ -2654,46 +2660,46 @@ void test_MQTTV5_GetConnectPacketSize( void ) status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - userProperties.userProperty[0].keyLength = 3; + userProperties.userProperty[ 0 ].keyLength = 3; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - userProperties.userProperty[0].valueLength = 1; + userProperties.userProperty[ 0 ].valueLength = 1; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - userProperties.userProperty[0].pValue = "1"; + userProperties.userProperty[ 0 ].pValue = "1"; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - userProperties.userProperty[0].pKey = "2"; + userProperties.userProperty[ 0 ].pKey = "2"; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); - userProperties.userProperty[0].pValue = NULL; + userProperties.userProperty[ 0 ].pValue = NULL; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - userProperties.userProperty[0].keyLength = 0; + userProperties.userProperty[ 0 ].keyLength = 0; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - userProperties.userProperty[0].valueLength = 0; + userProperties.userProperty[ 0 ].valueLength = 0; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - userProperties.userProperty[0].keyLength = 1; + userProperties.userProperty[ 0 ].keyLength = 1; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - userProperties.userProperty[0].valueLength = 1; - userProperties.userProperty[0].keyLength = 0; + userProperties.userProperty[ 0 ].valueLength = 1; + userProperties.userProperty[ 0 ].keyLength = 0; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); properties.pOutgoingUserProperty->count = 6000; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - properties.pOutgoingUserProperty->count= 1; + properties.pOutgoingUserProperty->count = 1; /* * Incoming AuthInfo not intialized. @@ -2748,10 +2754,10 @@ void test_MQTTV5_GetConnectPacketSize( void ) properties.topicAliasMax = 12; properties.requestResponseInfo = 1; properties.requestProblemInfo = 0; - userProperties.userProperty[0].keyLength = 3; - userProperties.userProperty[0].valueLength = 1; - userProperties.userProperty[0].pValue = "1"; - userProperties.userProperty[0].pKey = "211"; + userProperties.userProperty[ 0 ].keyLength = 3; + userProperties.userProperty[ 0 ].valueLength = 1; + userProperties.userProperty[ 0 ].pValue = "1"; + userProperties.userProperty[ 0 ].pKey = "211"; userProperties.count = 1; properties.pOutgoingUserProperty = &userProperties; properties.pIncomingUserProperty = &incomingProperty; @@ -2820,7 +2826,7 @@ void test_MQTTV5_GetConnectPacketSize( void ) userProperties1.userProperty[ 1 ].keyLength = 1; userProperties1.userProperty[ 1 ].valueLength = 2; userProperties1.userProperty[ 1 ].pValue = "ab"; - userProperties1.count= 2; + userProperties1.count = 2; willInfo.pUserProperty = &userProperties1; status = MQTT_GetPublishPropertiesSize( &willInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); @@ -2851,7 +2857,7 @@ void test_MQTTV5_GetConnectPacketSize( void ) /*5*/ properties.receiveMax = UINT16_MAX; properties.requestProblemInfo = 1; - userProperties.count = 2078; + userProperties.count = 2078; properties.pOutgoingUserProperty = &userProperties; properties.pIncomingUserProperty = &incomingProperty; uint16_t i = 0; @@ -2870,12 +2876,12 @@ void test_MQTTV5_GetConnectPacketSize( void ) TEST_ASSERT_EQUAL( MQTTBadParameter, status ); properties.pOutgoingUserProperty = NULL; - userProperties.count= 2048; + userProperties.count = 2048; willInfo.pUserProperty = &userProperties; status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - userProperties.count= 2051; + userProperties.count = 2051; status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); @@ -3049,10 +3055,10 @@ void test_MQTTV5_SerializeConnect( void ) auth.authMethodLength = 2; auth.pAuthData = "abc"; auth.authDataLength = 3; - userProperties.userProperty[0].keyLength = 3; - userProperties.userProperty[0].valueLength = 1; - userProperties.userProperty[0].pValue = "1"; - userProperties.userProperty[0].pKey = "211"; + userProperties.userProperty[ 0 ].keyLength = 3; + userProperties.userProperty[ 0 ].valueLength = 1; + userProperties.userProperty[ 0 ].pValue = "1"; + userProperties.userProperty[ 0 ].pKey = "211"; userProperties.count = 1; properties.pOutgoingUserProperty = &userProperties; properties.pOutgoingAuth = &auth; @@ -3130,6 +3136,7 @@ void test_MQTTV5_SerializeConnect_Happy_Paths() MQTTPublishInfo_t willInfo; MQTTConnectProperties_t properties; MQTTUserProperties_t incomingProperty; + memset( &properties, 0x0, sizeof( properties ) ); memset( &willInfo, 0x0, sizeof( willInfo ) ); properties.sessionExpiry = 22; @@ -3276,12 +3283,12 @@ void test_WillLimit( void ) for( ; i < 3500; i++ ) { - userProperties.userProperty[ i ].keyLength = UINT16_MAX; - userProperties.userProperty[ i ].pKey = str; - userProperties.userProperty[ i ].pValue = str; - userProperties.userProperty[ i ].valueLength = UINT16_MAX; + userProperties.userProperty[ i ].keyLength = UINT16_MAX; + userProperties.userProperty[ i ].pKey = str; + userProperties.userProperty[ i ].pValue = str; + userProperties.userProperty[ i ].valueLength = UINT16_MAX; } - + userProperties.count = 2048; willInfo.pUserProperty = &userProperties; status = MQTT_GetPublishPropertiesSize( &willInfo ); diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index 4af78876a..3a619d513 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -445,15 +445,16 @@ void test_MQTT_Connect_happy_path() MQTTAuthInfo_t authInfo; MQTTAuthInfo_t authInfo2; MQTTUserProperties_t userProperties; + memset( &properties, 0x0, sizeof( properties ) ); memset( &authInfo, 0x0, sizeof( authInfo ) ); memset( &authInfo2, 0x0, sizeof( authInfo2 ) ); - memset( &userProperties, 0x0, sizeof( userProperties) ); - userProperties.userProperty[0].pKey = "ab"; - userProperties.userProperty[0].pValue = "ab"; - userProperties.userProperty[0].keyLength = 2; - userProperties.userProperty[0].valueLength = 2; - userProperties.count= 1; + memset( &userProperties, 0x0, sizeof( userProperties ) ); + userProperties.userProperty[ 0 ].pKey = "ab"; + userProperties.userProperty[ 0 ].pValue = "ab"; + userProperties.userProperty[ 0 ].keyLength = 2; + userProperties.userProperty[ 0 ].valueLength = 2; + userProperties.count = 1; authInfo.pAuthMethod = "2"; authInfo.authMethodLength = 1; authInfo.pAuthData = "ab"; From fa33b480446900ce3d30cd815e57417cff2ae88e Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Sun, 30 Jun 2024 15:25:27 +0000 Subject: [PATCH 56/82] MQTTV5 CONNECT AND CONNACK --- source/core_mqtt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 538ee80b3..17b41cb1f 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -775,7 +775,7 @@ static bool matchTopicFilter( const char * pTopicName, pLocalIterator[ 0 ].iov_base = packetId; pLocalIterator[ 0 ].iov_len = CORE_MQTT_ID_SIZE; vectorsAdded++; - iterator++; + pLocalIterator++; ( *updatedLength ) = ( *updatedLength ) + CORE_MQTT_ID_SIZE; @@ -783,7 +783,7 @@ static bool matchTopicFilter( const char * pTopicName, vectorsAdded += addEncodedStringToVector( serializedLength, string, length, - iterator, + pLocalIterator, updatedLength ); return vectorsAdded; From 29d9bac58e088ce80fbf7e7b2f7f823f9de46c68 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Wed, 3 Jul 2024 07:49:57 +0000 Subject: [PATCH 57/82] MQTTV5 COnenct and connack --- source/core_mqtt.c | 164 +-- source/core_mqtt_serializer.c | 1028 +++++++++-------- source/include/core_mqtt.h | 3 - source/include/core_mqtt_config_defaults.h | 7 + source/include/core_mqtt_serializer.h | 23 +- test/unit-test/MQTTv5/core_mqtt_config.h | 1 + .../MQTTv5/core_mqttv5_serializer_utest.c | 4 +- 7 files changed, 634 insertions(+), 596 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 17b41cb1f..be9f9f805 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -587,30 +587,45 @@ static bool matchTopicFilter( const char * pTopicName, #if ( MQTT_VERSION_5_ENABLED ) +#if(MQTT_USER_PROPERTY_ENABLED) /** * @brief Struct used to deserialize the will properties. * **/ - typedef struct WillPropertiesVector + typedef struct UserPropertiesVector { /** * @brief Used to encode user key length. * **/ - uint8_t serializedWillUserKeyLength[ MAX_USER_PROPERTY ][ 2 ]; + uint8_t serializedUserKeyLength[ MAX_USER_PROPERTY ][ 2 ]; /** * @brief Used to encode user id. * **/ - uint8_t willUserId[ MAX_USER_PROPERTY ]; + uint8_t userId[ MAX_USER_PROPERTY ]; /** * @brief Used to encode user value length. * **/ - uint8_t serializedWillUserValueLength[ MAX_USER_PROPERTY ][ 2 ]; - + uint8_t serializedUserValueLength[ MAX_USER_PROPERTY ][ 2 ]; + } UserPropertyVector_t; +#endif +/** + * @brief Struct used to deserialize the will properties. + * + **/ + typedef struct WillPropertiesVector + { +#if(MQTT_USER_PROPERTY_ENABLED) + /** + * @brief Used to encode user property. + * + **/ + UserPropertyVector_t userProperty; +#endif /** * @brief Used to encode content type length. * @@ -654,24 +669,13 @@ static bool matchTopicFilter( const char * pTopicName, **/ typedef struct ConnectPropertiesVector { +#if(MQTT_USER_PROPERTY_ENABLED) /** - * @brief Used to encode user key length. - * - **/ - uint8_t serializedUserKeyLength[ MAX_USER_PROPERTY ][ 2 ]; - - /** - * @brief Used to encode user id. + * @brief Used to encode user property. * **/ - uint8_t userId[ MAX_USER_PROPERTY ]; - - /** - * @brief Used to encode user value length. - * - **/ - uint8_t serializedUserValueLength[ MAX_USER_PROPERTY ][ 2 ]; - + UserPropertyVector_t userProperty; +#endif /** * @brief Used to encode authentication method length. * @@ -723,6 +727,25 @@ static bool matchTopicFilter( const char * pTopicName, size_t * updatedLength, const uint8_t * packetId ); +/** + * @brief Serialize the user properties. + * + * @param[in] pUserProperty Properties to serialize + * @param[in] pUserVector vectors used to encode. + * @param[in] pTotalMessageLength The iterator pointing to the first element in the + * transport interface IO array. + * @param[out] pVectorIterator This parameter will be added to with the number of + * bytes added to the vector. + * + * @return The number of vectors added. + */ + + static size_t sendUserProperties( MQTTUserProperties_t * pUserProperty, + UserPropertyVector_t * pUserVector, + size_t * pTotalMessageLength, + TransportOutVector_t ** pVectorIterator ); + + /** * @brief Serialize the variable length will properties. * @@ -789,6 +812,43 @@ static bool matchTopicFilter( const char * pTopicName, return vectorsAdded; } + static size_t sendUserProperties( MQTTUserProperties_t * pUserProperty, + UserPropertyVector_t * pUserVector, + size_t * pTotalMessageLength, + TransportOutVector_t ** pVectorIterator ) + { + size_t vectorsAdded = 0U; + size_t ioVectorLength = 0U; + TransportOutVector_t * iterator = *pVectorIterator; + uint32_t i = 0; + uint32_t size = pUserProperty->count; + const MQTTUserProperty_t * userProperty = pUserProperty->userProperty; + + for( ; i < size; i++ ) + { + pUserVector->userId[ i ] = MQTT_USER_PROPERTY_ID; + vectorsAdded = addEncodedStringToVectorWithId( pUserVector->serializedUserKeyLength[ i ], + userProperty[ i ].pKey, + userProperty[ i ].keyLength, + iterator, + pTotalMessageLength, &pUserVector->userId[ i ] ); + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; + + vectorsAdded = addEncodedStringToVector( pUserVector->serializedUserValueLength[ i ], + userProperty[ i ].pValue, + userProperty[ i ].valueLength, + iterator, + pTotalMessageLength ); + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; + } + + *pVectorIterator = iterator; + return ioVectorLength; + } static size_t sendWillProperties( const MQTTPublishInfo_t * pWillInfo, WillVector_t * pWillVector, @@ -844,36 +904,13 @@ static bool matchTopicFilter( const char * pTopicName, iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; } - +#if(MQTT_USER_PROPERTY_ENABLED) /* Encode the user properties if provided. */ if( pWillInfo->pUserProperty != NULL ) { - uint32_t i = 0; - uint32_t size = pWillInfo->pUserProperty->count; - const MQTTUserProperty_t * userProperty = pWillInfo->pUserProperty->userProperty; - - for( ; i < size; i++ ) - { - pWillVector->willUserId[ i ] = MQTT_USER_PROPERTY_ID; - vectorsAdded = addEncodedStringToVectorWithId( pWillVector->serializedWillUserKeyLength[ i ], - userProperty[ i ].pKey, - userProperty[ i ].keyLength, - iterator, - pTotalMessageLength, &pWillVector->willUserId[ i ] ); - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[ vectorsAdded ]; - ioVectorLength += vectorsAdded; - - vectorsAdded = addEncodedStringToVector( pWillVector->serializedWillUserValueLength[ i ], - userProperty[ i ].pValue, - userProperty[ i ].valueLength, - iterator, - pTotalMessageLength ); - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[ vectorsAdded ]; - ioVectorLength += vectorsAdded; - } + ioVectorLength += sendUserProperties(pWillInfo->pUserProperty,&pWillVector->userProperty,pTotalMessageLength,&iterator); } +#endif *pVectorIterator = iterator; return ioVectorLength; @@ -891,39 +928,14 @@ static bool matchTopicFilter( const char * pTopicName, pPropertiesVector->authMethodId = MQTT_AUTH_METHOD_ID; pPropertiesVector->authDataId = MQTT_AUTH_DATA_ID; - - /*Encode the user properties if provided.*/ +#if(MQTT_USER_PROPERTY_ENABLED) + /* Encode the user properties if provided. */ if( pConnectProperties->pOutgoingUserProperty != NULL ) { - uint32_t i = 0; - uint32_t size = pConnectProperties->pOutgoingUserProperty->count; - const MQTTUserProperty_t * userProperty = pConnectProperties->pOutgoingUserProperty->userProperty; - - for( ; i < size; i++ ) - { - pPropertiesVector->userId[ i ] = MQTT_USER_PROPERTY_ID; - /* Serialize the user key string. */ - vectorsAdded = addEncodedStringToVectorWithId( pPropertiesVector->serializedUserKeyLength[ i ], - userProperty[ i ].pKey, - userProperty[ i ].keyLength, - iterator, - pTotalMessageLength, &( pPropertiesVector->userId[ i ] ) ); - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[ vectorsAdded ]; - ioVectorLength += vectorsAdded; - /* Serialize the user value string. */ - vectorsAdded = addEncodedStringToVector( pPropertiesVector->serializedUserValueLength[ i ], - userProperty[ i ].pValue, - userProperty[ i ].valueLength, - iterator, - pTotalMessageLength ); - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[ vectorsAdded ]; - ioVectorLength += vectorsAdded; - } + ioVectorLength += sendUserProperties(pConnectProperties->pOutgoingUserProperty,&pPropertiesVector->userProperty,pTotalMessageLength,&iterator); } - - /*Encode the authentication method and data if provided*/ +#endif + /*Encode the authentication method and data if provided*/ if( pConnectProperties->pOutgoingAuth != NULL ) { /* Serialize the authentication method string. */ diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 02c61d29a..e524457b9 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -31,8 +31,6 @@ #include "core_mqtt_serializer.h" -/* Include config defaults header to get default values of configs. */ -#include "core_mqtt_config_defaults.h" /** * @brief MQTT protocol version 3.1.1. @@ -681,6 +679,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); #if ( MQTT_VERSION_5_ENABLED ) +#if(MQTT_USER_PROPERTY_ENABLED) /** * @brief Get the size of user properties. * @@ -696,6 +695,21 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); uint32_t number, size_t * pSize ); +/** + * @brief Validate the length and decode a user property. + * + * @param[out] pUserProperties To store the decoded property. + * @param[out] count Number of user properties decoded. + * @param[out] pPropertyLength Size of the length. + * @param[out] pIndex Pointer to the current index of the buffer. + * + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket + **/ + static MQTTStatus_t decodeutf_8pair( MQTTUserProperties_t * pUserProperties, + uint32_t * count, + size_t * pPropertyLength, + const uint8_t ** pIndex ); +#endif /** * @brief Get the size of authentication information. * @@ -725,7 +739,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); /** * @brief Get the size of will properties. * - * Validates the publish properties,calculates the total size of publsih properties and stores it in MQTTPublishInfo_t. + * Validates the publish properties,calculates the total size of publish properties and stores it in MQTTPublishInfo_t. * * @param[out] pPublishProperties Pointer to an MQTT packet struct representing publish properties. * @@ -854,20 +868,6 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); bool * pUsed, const uint8_t ** pIndex ); -/** - * @brief Validate the length and decode a user property. - * - * @param[out] pUserProperties To store the decoded property. - * @param[out] count Number of user properties decoded. - * @param[out] pPropertyLength Size of the length. - * @param[out] pIndex Pointer to the current index of the buffer. - * - * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket - **/ - static MQTTStatus_t decodeutf_8pair( MQTTUserProperties_t * pUserProperties, - uint32_t * count, - size_t * pPropertyLength, - const uint8_t ** pIndex ); /** * @brief Validate the length and decode authentication information. @@ -902,181 +902,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); const uint8_t * const * pIndex ); /*-----------------------------------------------------------*/ - MQTTStatus_t MQTTV5_GetConnectPacketSize( const MQTTConnectInfo_t * pConnectInfo, - MQTTPublishInfo_t * pWillInfo, - MQTTConnectProperties_t * pConnectProperties, - size_t * pRemainingLength, - size_t * pPacketSize ) - { - MQTTStatus_t status = MQTTSuccess; - size_t remainingLength; - - /* The CONNECT packet will always include a 10-byte variable header without connect properties. */ - size_t connectPacketSize = MQTT_PACKET_CONNECT_HEADER_SIZE; - - /* Validate arguments. */ - if( ( pConnectInfo == NULL ) || ( pRemainingLength == NULL ) || - ( pPacketSize == NULL ) ) - { - LogError( ( "Argument cannot be NULL: pConnectInfo=%p, " - "pRemainingLength=%p, pPacketSize=%p.", - ( void * ) pConnectInfo, - ( void * ) pRemainingLength, - ( void * ) pPacketSize ) ); - status = MQTTBadParameter; - } - else if( ( pConnectInfo->clientIdentifierLength == 0U ) || ( pConnectInfo->pClientIdentifier == NULL ) ) - { - LogError( ( "Mqtt_GetConnectPacketSize() client identifier must be set." ) ); - status = MQTTBadParameter; - } - else if( ( pWillInfo != NULL ) && ( pWillInfo->payloadLength > ( size_t ) UINT16_MAX ) ) - { - /* The MQTTPublishInfo_t is reused for the will message. The payload - * length for any other message could be larger than 65,535, but - * the will message length is required to be represented in 2 bytes.*/ - LogError( ( "The Will Message length must not exceed %d. " - "pWillInfo->payloadLength=%lu.", - UINT16_MAX, - ( unsigned long ) pWillInfo->payloadLength ) ); - status = MQTTBadParameter; - } - else if( pConnectProperties == NULL ) - { - LogError( ( "Argument cannot be NULL: connectProperties" ) ); - status = MQTTBadParameter; - } - else if( ( pConnectProperties->pOutgoingAuth != NULL ) && ( pConnectProperties->pIncomingAuth == NULL ) ) - { - LogError( ( "Incoming Auth cannot be NULL" ) ); - status = MQTTBadParameter; - } - else if( pConnectProperties->pIncomingUserProperty == NULL ) - { - LogError( ( "Incoming user property cannot be NULL" ) ); - status = MQTTBadParameter; - } - else - { - /* Add the connect properties size. */ - status = MQTT_GetConnectPropertiesSize( pConnectProperties ); - } - - if( status == MQTTSuccess ) - { - connectPacketSize += pConnectProperties->propertyLength; - connectPacketSize += remainingLengthEncodedSize( pConnectProperties->propertyLength ); - /* Add the length of the client identifier. */ - connectPacketSize += pConnectInfo->clientIdentifierLength + sizeof( uint16_t ); - - /* Add the lengths of the will properties if provided. */ - if( pWillInfo != NULL ) - { - status = MQTT_GetPublishPropertiesSize( pWillInfo ); - } - } - - if( status == MQTTSuccess ) - { - /* Add the lengths of the will message and topic name if provided. */ - if( pWillInfo != NULL ) - { - connectPacketSize += pWillInfo->propertyLength; - connectPacketSize += remainingLengthEncodedSize( pWillInfo->propertyLength ); - connectPacketSize += pWillInfo->topicNameLength + sizeof( uint16_t ) + - pWillInfo->payloadLength + sizeof( uint16_t ); - } - - /* Add the lengths of the user name and password if provided. */ - if( pConnectInfo->pUserName != NULL ) - { - connectPacketSize += pConnectInfo->userNameLength + sizeof( uint16_t ); - } - - if( pConnectInfo->pPassword != NULL ) - { - connectPacketSize += pConnectInfo->passwordLength + sizeof( uint16_t ); - } - - /* At this point, the "Remaining Length" field of the MQTT CONNECT packet has - * been calculated. */ - remainingLength = connectPacketSize; - - /* Calculate the full size of the MQTT CONNECT packet by adding the size of - * the "Remaining Length" field plus 1 byte for the "Packet Type" field. */ - connectPacketSize += 1U + remainingLengthEncodedSize( connectPacketSize ); - - /** - * 268,435,455 - max remaining length according to spec MQTT-v5; - * - * */ - if( remainingLength > MQTT_MAX_REMAINING_LENGTH ) - { - status = MQTTBadParameter; - } - } - - if( status == MQTTSuccess ) - { - *pRemainingLength = remainingLength; - *pPacketSize = connectPacketSize; - - LogDebug( ( "CONNECT packet remaining length=%lu and packet size=%lu.", - ( unsigned long ) *pRemainingLength, - ( unsigned long ) *pPacketSize ) ); - } - - return status; - } - - uint8_t * MQTT_SerializePublishProperties( const MQTTPublishInfo_t * pPublishInfo, - uint8_t * pIndex ) - { - uint8_t * pIndexLocal = pIndex; - - pIndexLocal = encodeRemainingLength( pIndexLocal, pPublishInfo->propertyLength ); - - /*Serialize the will delay if provided.*/ - - if( pPublishInfo->willDelay != 0U ) - { - *pIndexLocal = MQTT_WILL_DELAY_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = UINT32_BYTE3( pPublishInfo->willDelay ); - pIndexLocal[ 1 ] = UINT32_BYTE2( pPublishInfo->willDelay ); - pIndexLocal[ 2 ] = UINT32_BYTE1( pPublishInfo->willDelay ); - pIndexLocal[ 3 ] = UINT32_BYTE0( pPublishInfo->willDelay ); - pIndexLocal = &pIndexLocal[ 4 ]; - } - - /*Serialize the payload format if provided.*/ - - if( pPublishInfo->payloadFormat != 0U ) - { - *pIndexLocal = MQTT_PAYLOAD_FORMAT_ID; - pIndexLocal++; - *pIndexLocal = pPublishInfo->payloadFormat; - pIndexLocal++; - } - - /*Serialize the message expiry if provided.*/ - - if( pPublishInfo->msgExpiryPresent != false ) - { - *pIndexLocal = MQTT_MSG_EXPIRY_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = UINT32_BYTE3( pPublishInfo->msgExpiryInterval ); - pIndexLocal[ 1 ] = UINT32_BYTE2( pPublishInfo->msgExpiryInterval ); - pIndexLocal[ 2 ] = UINT32_BYTE1( pPublishInfo->msgExpiryInterval ); - pIndexLocal[ 3 ] = UINT32_BYTE0( pPublishInfo->msgExpiryInterval ); - pIndexLocal = &pIndexLocal[ 4 ]; - } - - return pIndexLocal; - } - -/*-----------------------------------------------------------*/ - +#if(MQTT_USER_PROPERTY_ENABLED) static MQTTStatus_t MQTT_GetUserPropertySize( const MQTTUserProperty_t * pUserProperty, uint32_t number, size_t * pSize ) @@ -1112,42 +938,125 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); return status; } - static MQTTStatus_t MQTT_GetAuthInfoSize( const MQTTAuthInfo_t * pAuthInfo, - size_t * pPropertyLength ) + static MQTTStatus_t decodeutf_8pair( MQTTUserProperties_t * pUserProperties, + uint32_t * count, + size_t * pPropertyLength, + const uint8_t ** pIndex ) { + const uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; + MQTTUserProperty_t discardUserProperty; + MQTTUserProperty_t * pUserProperty; - /*Validate the parameters*/ - if( ( pAuthInfo->authMethodLength == 0U ) && ( pAuthInfo->authDataLength != 0U ) ) + if( *count == ( uint32_t ) MAX_USER_PROPERTY ) { - status = MQTTBadParameter; + pUserProperty = &discardUserProperty; } - else if( ( pAuthInfo->authMethodLength != 0U ) && ( pAuthInfo->pAuthMethod == NULL ) ) + else { - status = MQTTBadParameter; + pUserProperty = pUserProperties->userProperty; + pUserProperty = &pUserProperty[ *count ]; } - else if( ( pAuthInfo->authDataLength != 0U ) && ( pAuthInfo->pAuthData == NULL ) ) + + /*Validate the property length and decode the user property received.*/ + if( *pPropertyLength < sizeof( uint16_t ) ) { - status = MQTTBadParameter; + status = MQTTMalformedPacket; } else { - /*Add authentication method and data if provided*/ - if( pAuthInfo->authMethodLength != 0U ) + pUserProperty->keyLength = UINT16_DECODE( pVariableHeader ); + *pPropertyLength -= sizeof( uint16_t ); + + if( *pPropertyLength < pUserProperty->keyLength ) { - *pPropertyLength += pAuthInfo->authMethodLength; - *pPropertyLength += MQTT_UTF8_LENGTH_SIZE; + status = MQTTMalformedPacket; + } + else + { + pVariableHeader = &pVariableHeader[ sizeof( uint16_t ) ]; + pUserProperty->pKey = ( const char * ) pVariableHeader; + *pPropertyLength -= pUserProperty->keyLength; + pVariableHeader = &pVariableHeader[ pUserProperty->keyLength ]; - if( pAuthInfo->authDataLength != 0U ) + if( *pPropertyLength < sizeof( uint16_t ) ) { - *pPropertyLength += pAuthInfo->authDataLength; - *pPropertyLength += MQTT_UTF8_LENGTH_SIZE; + status = MQTTMalformedPacket; } - } - } + else + { + pUserProperty->valueLength = UINT16_DECODE( pVariableHeader ); + *pPropertyLength -= sizeof( uint16_t ); + pVariableHeader = &pVariableHeader[ sizeof( uint16_t ) ]; - return status; - } + if( *pPropertyLength < ( size_t ) ( pUserProperty->valueLength ) ) + { + status = MQTTMalformedPacket; + } + else + { + pUserProperty->pValue = ( const char * ) pVariableHeader; + pVariableHeader = &pVariableHeader[ pUserProperty->valueLength ]; + *pPropertyLength -= pUserProperty->valueLength; + } + } + } + } + + *pIndex = pVariableHeader; + + if( ( *count == ( uint32_t ) MAX_USER_PROPERTY ) && ( status == MQTTSuccess ) ) + { + LogDebug( ( "Discarded additional user property with key %s and value %s", + discardUserProperty.pKey, + discardUserProperty.pValue ) ); + } + else + { + *count += 1U; + } + + return status; + } + +#endif + + static MQTTStatus_t MQTT_GetAuthInfoSize( const MQTTAuthInfo_t * pAuthInfo, + size_t * pPropertyLength ) + { + MQTTStatus_t status = MQTTSuccess; + + /*Validate the parameters*/ + if( ( pAuthInfo->authMethodLength == 0U ) && ( pAuthInfo->authDataLength != 0U ) ) + { + status = MQTTBadParameter; + } + else if( ( pAuthInfo->authMethodLength != 0U ) && ( pAuthInfo->pAuthMethod == NULL ) ) + { + status = MQTTBadParameter; + } + else if( ( pAuthInfo->authDataLength != 0U ) && ( pAuthInfo->pAuthData == NULL ) ) + { + status = MQTTBadParameter; + } + else + { + /*Add authentication method and data if provided*/ + if( pAuthInfo->authMethodLength != 0U ) + { + *pPropertyLength += pAuthInfo->authMethodLength; + *pPropertyLength += MQTT_UTF8_LENGTH_SIZE; + + if( pAuthInfo->authDataLength != 0U ) + { + *pPropertyLength += pAuthInfo->authDataLength; + *pPropertyLength += MQTT_UTF8_LENGTH_SIZE; + } + } + } + + return status; + } static MQTTStatus_t MQTT_GetConnectPropertiesSize( MQTTConnectProperties_t * pConnectProperties ) { @@ -1202,13 +1111,13 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); status = MQTT_GetAuthInfoSize( pConnectProperties->pOutgoingAuth, &propertyLength ); } } - + #if(MQTT_USER_PROPERTY_ENABLED) /*Get the length of the user properties*/ if( ( status == MQTTSuccess ) && ( pConnectProperties->pOutgoingUserProperty != NULL ) ) { status = MQTT_GetUserPropertySize( pConnectProperties->pOutgoingUserProperty->userProperty, pConnectProperties->pOutgoingUserProperty->count, &propertyLength ); } - + #endif /*Variable length encoded values cannot have a value of more than 268435455U*/ if( ( status == MQTTSuccess ) && ( pConnectProperties->propertyLength > MQTT_MAX_REMAINING_LENGTH ) ) { @@ -1284,13 +1193,13 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); propertyLength += MQTT_UTF8_LENGTH_SIZE; } } - + #if(MQTT_USER_PROPERTY_ENABLED) /*Get the length of user properties*/ if( ( status == MQTTSuccess ) && ( pPublishProperties->pUserProperty != NULL ) ) { status = MQTT_GetUserPropertySize( pPublishProperties->pUserProperty->userProperty, pPublishProperties->pUserProperty->count, &propertyLength ); } - + #endif /*Variable encoded can't have a value more than 268435455UL*/ if( propertyLength > MQTT_MAX_REMAINING_LENGTH ) { @@ -1305,82 +1214,6 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); return status; } - uint8_t * MQTT_SerializeConnectProperties( uint8_t * pIndex, - const MQTTConnectProperties_t * pConnectProperties ) - { - uint8_t * pIndexLocal = pIndex; - - pIndexLocal = encodeRemainingLength( pIndexLocal, pConnectProperties->propertyLength ); - - /*Serialize session expiry if provided.*/ - if( pConnectProperties->sessionExpiry != 0U ) - { - *pIndexLocal = MQTT_SESSION_EXPIRY_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = UINT32_BYTE3( pConnectProperties->sessionExpiry ); - pIndexLocal[ 1 ] = UINT32_BYTE2( pConnectProperties->sessionExpiry ); - pIndexLocal[ 2 ] = UINT32_BYTE1( pConnectProperties->sessionExpiry ); - pIndexLocal[ 3 ] = UINT32_BYTE0( pConnectProperties->sessionExpiry ); - pIndexLocal = &pIndexLocal[ 4 ]; - } - - /*Serialize receive max if provided.*/ - - if( pConnectProperties->receiveMax != ( uint16_t ) UINT16_MAX ) - { - *pIndexLocal = MQTT_RECEIVE_MAX_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( pConnectProperties->receiveMax ); - pIndexLocal[ 1 ] = UINT16_LOW_BYTE( pConnectProperties->receiveMax ); - pIndexLocal = &pIndexLocal[ 2 ]; - } - - /*Serialize the max packet size if provided.*/ - - if( pConnectProperties->isMaxPacketSize == true ) - { - *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = UINT32_BYTE3( pConnectProperties->maxPacketSize ); - pIndexLocal[ 1 ] = UINT32_BYTE2( pConnectProperties->maxPacketSize ); - pIndexLocal[ 2 ] = UINT32_BYTE1( pConnectProperties->maxPacketSize ); - pIndexLocal[ 3 ] = UINT32_BYTE0( pConnectProperties->maxPacketSize ); - pIndexLocal = &pIndexLocal[ 4 ]; - } - - /*Serialize the topic alias if provided.*/ - - if( pConnectProperties->topicAliasMax != 0U ) - { - *pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( pConnectProperties->topicAliasMax ); - pIndexLocal[ 1 ] = UINT16_LOW_BYTE( pConnectProperties->topicAliasMax ); - pIndexLocal = &pIndexLocal[ 2 ]; - } - - /*Serialize the request response information if provided.*/ - - if( pConnectProperties->requestResponseInfo != false ) - { - *pIndexLocal = MQTT_REQUEST_RESPONSE_ID; - pIndexLocal++; - *pIndexLocal = 1U; - pIndexLocal++; - } - - /*Serialize request problem information if provided.*/ - - if( pConnectProperties->requestProblemInfo != true ) - { - *pIndexLocal = MQTT_REQUEST_PROBLEM_ID; - pIndexLocal++; - *pIndexLocal = 0U; - pIndexLocal++; - } - - return pIndexLocal; - } static void serializeConnectPacketV5( const MQTTConnectInfo_t * pConnectInfo, const MQTTPublishInfo_t * pWillInfo, @@ -1403,7 +1236,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); /* Serialize the connect Properties. */ pIndex = MQTT_SerializeConnectProperties( pIndex, pConnectProperties ); - + #if(MQTT_USER_PROPERTY_ENABLED) if( pConnectProperties->pOutgoingUserProperty != NULL ) { uint32_t i = 0; @@ -1418,7 +1251,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); pIndex = encodeString( pIndex, pUserProperty[ i ].pValue, pUserProperty[ i ].valueLength ); } } - + #endif if( pConnectProperties->pOutgoingAuth != NULL ) { /* Serialize the authentication method string. */ @@ -1465,7 +1298,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); pIndex++; pIndex = encodeString( pIndex, pWillInfo->pCorrelationData, pWillInfo->correlationLength ); } - + #if(MQTT_USER_PROPERTY_ENABLED) if( pWillInfo->pUserProperty != NULL ) { uint32_t i = 0; @@ -1480,11 +1313,12 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); pIndex = encodeString( pIndex, pUserProperty[ i ].pValue, pUserProperty[ i ].valueLength ); } } + #endif + pIndex = encodeString( pIndex, pWillInfo->pTopicName, pWillInfo->topicNameLength ); pIndex = encodeString( pIndex, pWillInfo->pPayload, ( uint16_t ) pWillInfo->payloadLength ); } - /* Encode the user name if provided. */ if( pConnectInfo->pUserName != NULL ) { @@ -1505,69 +1339,6 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); assert( ( ( size_t ) ( pIndex - pFixedBuffer->pBuffer ) ) <= pFixedBuffer->size ); } - MQTTStatus_t MQTTV5_SerializeConnect( const MQTTConnectInfo_t * pConnectInfo, - const MQTTPublishInfo_t * pWillInfo, - const MQTTConnectProperties_t * pConnectProperties, - size_t remainingLength, - const MQTTFixedBuffer_t * pFixedBuffer ) - { - MQTTStatus_t status = MQTTSuccess; - size_t connectPacketSize = 0; - - /* Validate arguments. */ - if( ( pConnectInfo == NULL ) || ( pFixedBuffer == NULL ) ) - { - LogError( ( "Argument cannot be NULL: pConnectInfo=%p, " - "pFixedBuffer=%p.", - ( void * ) pConnectInfo, - ( void * ) pFixedBuffer ) ); - status = MQTTBadParameter; - } - /* A buffer must be configured for serialization. */ - else if( pFixedBuffer->pBuffer == NULL ) - { - LogError( ( "Argument cannot be NULL: pFixedBuffer->pBuffer is NULL." ) ); - status = MQTTBadParameter; - } - else if( ( pWillInfo != NULL ) && ( pWillInfo->pTopicName == NULL ) ) - { - LogError( ( "pWillInfo->pTopicName cannot be NULL if Will is present." ) ); - status = MQTTBadParameter; - } - - else if( pConnectProperties == NULL ) - { - LogError( ( "Argument cannot be NULL: connectProperties" ) ); - status = MQTTBadParameter; - } - else - { - /* Calculate CONNECT packet size. Overflow in in this addition is not checked - * because it is part of the API contract to call Mqtt_GetConnectPacketSize() - * before this function. */ - connectPacketSize = remainingLength + remainingLengthEncodedSize( remainingLength ) + 1U; - - /* Check that the full packet size fits within the given buffer. */ - if( connectPacketSize > pFixedBuffer->size ) - { - LogError( ( "Buffer size of %lu is not sufficient to hold " - "serialized CONNECT packet of size of %lu.", - ( unsigned long ) pFixedBuffer->size, - ( unsigned long ) connectPacketSize ) ); - status = MQTTNoMemory; - } - else - { - serializeConnectPacketV5( pConnectInfo, - pWillInfo, - pConnectProperties, - remainingLength, - pFixedBuffer ); - } - } - - return status; - } static MQTTStatus_t logConnackResponseV5( uint8_t responseCode ) { @@ -1943,110 +1714,29 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); return status; } - static MQTTStatus_t decodeutf_8pair( MQTTUserProperties_t * pUserProperties, - uint32_t * count, - size_t * pPropertyLength, - const uint8_t ** pIndex ) + static MQTTStatus_t decodeAuthInfo( const MQTTConnectProperties_t * pConnackProperties, + bool * pAuthMethod, + bool * pAuthData, + size_t * pPropertyLength, + const uint8_t ** pIndex, + const uint8_t id ) { - const uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; - MQTTUserProperty_t discardUserProperty; - MQTTUserProperty_t * pUserProperty; - if( *count == ( uint32_t ) MAX_USER_PROPERTY ) - { - pUserProperty = &discardUserProperty; - } - else + if( pConnackProperties->pOutgoingAuth == NULL ) { - pUserProperty = pUserProperties->userProperty; - pUserProperty = &pUserProperty[ *count ]; + status = MQTTProtocolError; } - - /*Validate the property length and decode the user property received.*/ - if( *pPropertyLength < sizeof( uint16_t ) ) + else if( id == ( uint8_t ) MQTT_AUTH_METHOD_ID ) { - status = MQTTMalformedPacket; + /*Decode the authenticaton method */ + status = decodeutf_8( &pConnackProperties->pIncomingAuth->pAuthMethod, &pConnackProperties->pIncomingAuth->authMethodLength, pPropertyLength, pAuthMethod, pIndex ); } else { - pUserProperty->keyLength = UINT16_DECODE( pVariableHeader ); - *pPropertyLength -= sizeof( uint16_t ); - - if( *pPropertyLength < pUserProperty->keyLength ) - { - status = MQTTMalformedPacket; - } - else - { - pVariableHeader = &pVariableHeader[ sizeof( uint16_t ) ]; - pUserProperty->pKey = ( const char * ) pVariableHeader; - *pPropertyLength -= pUserProperty->keyLength; - pVariableHeader = &pVariableHeader[ pUserProperty->keyLength ]; - - if( *pPropertyLength < sizeof( uint16_t ) ) - { - status = MQTTMalformedPacket; - } - else - { - pUserProperty->valueLength = UINT16_DECODE( pVariableHeader ); - *pPropertyLength -= sizeof( uint16_t ); - pVariableHeader = &pVariableHeader[ sizeof( uint16_t ) ]; - - if( *pPropertyLength < ( size_t ) ( pUserProperty->valueLength ) ) - { - status = MQTTMalformedPacket; - } - else - { - pUserProperty->pValue = ( const char * ) pVariableHeader; - pVariableHeader = &pVariableHeader[ pUserProperty->valueLength ]; - *pPropertyLength -= pUserProperty->valueLength; - } - } - } - } - - *pIndex = pVariableHeader; - - if( ( *count == ( uint32_t ) MAX_USER_PROPERTY ) && ( status == MQTTSuccess ) ) - { - LogDebug( ( "Discarded additional user property with key %s and value %s", - discardUserProperty.pKey, - discardUserProperty.pValue ) ); - } - else - { - *count += 1U; - } - - return status; - } - - static MQTTStatus_t decodeAuthInfo( const MQTTConnectProperties_t * pConnackProperties, - bool * pAuthMethod, - bool * pAuthData, - size_t * pPropertyLength, - const uint8_t ** pIndex, - const uint8_t id ) - { - MQTTStatus_t status = MQTTSuccess; - - if( pConnackProperties->pOutgoingAuth == NULL ) - { - status = MQTTProtocolError; - } - else if( id == ( uint8_t ) MQTT_AUTH_METHOD_ID ) - { - /*Decode the authenticaton method */ - status = decodeutf_8( &pConnackProperties->pIncomingAuth->pAuthMethod, &pConnackProperties->pIncomingAuth->authMethodLength, pPropertyLength, pAuthMethod, pIndex ); - } - else - { - /*Decode the authentication data */ - status = decodeutf_8( &pConnackProperties->pIncomingAuth->pAuthData, &pConnackProperties->pIncomingAuth->authDataLength, pPropertyLength, pAuthData, pIndex ); - } + /*Decode the authentication data */ + status = decodeutf_8( &pConnackProperties->pIncomingAuth->pAuthData, &pConnackProperties->pIncomingAuth->authDataLength, pPropertyLength, pAuthData, pIndex ); + } return status; } @@ -2117,11 +1807,11 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); case MQTT_REASON_STRING_ID: status = decodeutf_8( &pConnackProperties->pReasonString, &pConnackProperties->reasonStringLength, &propertyLength, &reasonString, &pVariableHeader ); break; - case MQTT_USER_PROPERTY_ID: + #if(MQTT_USER_PROPERTY_ENABLED) status = decodeutf_8pair( pConnackProperties->pIncomingUserProperty, &pConnackProperties->pIncomingUserProperty->count, &propertyLength, &pVariableHeader ); break; - + #endif case MQTT_WILDCARD_ID: status = decodeuint8_t( &pConnackProperties->isWildcardAvaiable, &propertyLength, &wildcard, &pVariableHeader ); break; @@ -2186,57 +1876,8 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); return status; } + - MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t * pConnackProperties, - const MQTTPacketInfo_t * pIncomingPacket, - bool * pSessionPresent ) - { - MQTTStatus_t status = MQTTSuccess; - size_t propertyLength; - size_t remainingLengthSize; - const uint8_t * pVariableHeader = NULL; - - /*Validate the arguments*/ - if( ( pConnackProperties == NULL ) || ( pConnackProperties->pIncomingUserProperty == NULL ) ) - { - status = MQTTBadParameter; - } - else - { - status = validateConnackParams( pIncomingPacket, pSessionPresent ); - } - - if( status == MQTTSuccess ) - { - pVariableHeader = pIncomingPacket->pRemainingData; - pVariableHeader = &pVariableHeader[ 2 ]; - remainingLengthSize = remainingLengthEncodedSize( pIncomingPacket->remainingLength ); - status = decodeVariableLength( pVariableHeader, &propertyLength ); - } - - /*Validate the packet size if max packet size is set*/ - if( ( status == MQTTSuccess ) && ( pConnackProperties->isMaxPacketSize == true ) && ( ( pIncomingPacket->remainingLength + remainingLengthSize + 1U ) > ( pConnackProperties->maxPacketSize ) ) ) - { - status = MQTTProtocolError; - } - /*Validate the remaining length*/ - else if( ( status == MQTTSuccess ) && ( ( pIncomingPacket->remainingLength ) != ( 2U + propertyLength + remainingLengthEncodedSize( propertyLength ) ) ) ) - { - status = MQTTMalformedPacket; - } - /*Deserialize the connack properties.*/ - else if( status == MQTTSuccess ) - { - status = deserializeConnackV5( pConnackProperties, propertyLength, &pVariableHeader ); - } - - else - { - /* MISRA Empty body */ - } - - return status; - } #endif /* if ( MQTT_VERSION_5_ENABLED ) */ /*-----------------------------------------------------------*/ @@ -4470,4 +4111,379 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, return status; } +#if(MQTT_VERSION_5_ENABLED) + + MQTTStatus_t MQTTV5_GetConnectPacketSize( const MQTTConnectInfo_t * pConnectInfo, + MQTTPublishInfo_t * pWillInfo, + MQTTConnectProperties_t * pConnectProperties, + size_t * pRemainingLength, + size_t * pPacketSize ) + { + MQTTStatus_t status = MQTTSuccess; + size_t remainingLength; + + /* The CONNECT packet will always include a 10-byte variable header without connect properties. */ + size_t connectPacketSize = MQTT_PACKET_CONNECT_HEADER_SIZE; + + /* Validate arguments. */ + if( ( pConnectInfo == NULL ) || ( pRemainingLength == NULL ) || + ( pPacketSize == NULL ) ) + { + LogError( ( "Argument cannot be NULL: pConnectInfo=%p, " + "pRemainingLength=%p, pPacketSize=%p.", + ( void * ) pConnectInfo, + ( void * ) pRemainingLength, + ( void * ) pPacketSize ) ); + status = MQTTBadParameter; + } + else if( ( pConnectInfo->clientIdentifierLength == 0U ) || ( pConnectInfo->pClientIdentifier == NULL ) ) + { + LogError( ( "Mqtt_GetConnectPacketSize() client identifier must be set." ) ); + status = MQTTBadParameter; + } + else if( ( pWillInfo != NULL ) && ( pWillInfo->payloadLength > ( size_t ) UINT16_MAX ) ) + { + /* The MQTTPublishInfo_t is reused for the will message. The payload + * length for any other message could be larger than 65,535, but + * the will message length is required to be represented in 2 bytes.*/ + LogError( ( "The Will Message length must not exceed %d. " + "pWillInfo->payloadLength=%lu.", + UINT16_MAX, + ( unsigned long ) pWillInfo->payloadLength ) ); + status = MQTTBadParameter; + } + else if( pConnectProperties == NULL ) + { + LogError( ( "Argument cannot be NULL: connectProperties" ) ); + status = MQTTBadParameter; + } + else if( ( pConnectProperties->pOutgoingAuth != NULL ) && ( pConnectProperties->pIncomingAuth == NULL ) ) + { + LogError( ( "Incoming Auth cannot be NULL" ) ); + status = MQTTBadParameter; + } + #if(MQTT_USER_PROPERTY_ENABLED) + else if( pConnectProperties->pIncomingUserProperty == NULL ) + { + LogError( ( "Incoming user property cannot be NULL" ) ); + status = MQTTBadParameter; + } + #endif + else + { + /* Add the connect properties size. */ + status = MQTT_GetConnectPropertiesSize( pConnectProperties ); + } + + if( status == MQTTSuccess ) + { + connectPacketSize += pConnectProperties->propertyLength; + connectPacketSize += remainingLengthEncodedSize( pConnectProperties->propertyLength ); + /* Add the length of the client identifier. */ + connectPacketSize += pConnectInfo->clientIdentifierLength + sizeof( uint16_t ); + + /* Add the lengths of the will properties if provided. */ + if( pWillInfo != NULL ) + { + status = MQTT_GetPublishPropertiesSize( pWillInfo ); + } + } + + if( status == MQTTSuccess ) + { + /* Add the lengths of the will message and topic name if provided. */ + if( pWillInfo != NULL ) + { + connectPacketSize += pWillInfo->propertyLength; + connectPacketSize += remainingLengthEncodedSize( pWillInfo->propertyLength ); + connectPacketSize += pWillInfo->topicNameLength + sizeof( uint16_t ) + + pWillInfo->payloadLength + sizeof( uint16_t ); + } + + /* Add the lengths of the user name and password if provided. */ + if( pConnectInfo->pUserName != NULL ) + { + connectPacketSize += pConnectInfo->userNameLength + sizeof( uint16_t ); + } + + if( pConnectInfo->pPassword != NULL ) + { + connectPacketSize += pConnectInfo->passwordLength + sizeof( uint16_t ); + } + + /* At this point, the "Remaining Length" field of the MQTT CONNECT packet has + * been calculated. */ + remainingLength = connectPacketSize; + + /* Calculate the full size of the MQTT CONNECT packet by adding the size of + * the "Remaining Length" field plus 1 byte for the "Packet Type" field. */ + connectPacketSize += 1U + remainingLengthEncodedSize( connectPacketSize ); + + /** + * 268,435,455 - max remaining length according to spec MQTT-v5; + * + * */ + if( remainingLength > MQTT_MAX_REMAINING_LENGTH ) + { + status = MQTTBadParameter; + } + } + + if( status == MQTTSuccess ) + { + *pRemainingLength = remainingLength; + *pPacketSize = connectPacketSize; + + LogDebug( ( "CONNECT packet remaining length=%lu and packet size=%lu.", + ( unsigned long ) *pRemainingLength, + ( unsigned long ) *pPacketSize ) ); + } + + return status; + } + + uint8_t * MQTT_SerializePublishProperties( const MQTTPublishInfo_t * pPublishInfo, + uint8_t * pIndex ) + { + uint8_t * pIndexLocal = pIndex; + + pIndexLocal = encodeRemainingLength( pIndexLocal, pPublishInfo->propertyLength ); + + /*Serialize the will delay if provided.*/ + + if( pPublishInfo->willDelay != 0U ) + { + *pIndexLocal = MQTT_WILL_DELAY_ID; + pIndexLocal++; + pIndexLocal[ 0 ] = UINT32_BYTE3( pPublishInfo->willDelay ); + pIndexLocal[ 1 ] = UINT32_BYTE2( pPublishInfo->willDelay ); + pIndexLocal[ 2 ] = UINT32_BYTE1( pPublishInfo->willDelay ); + pIndexLocal[ 3 ] = UINT32_BYTE0( pPublishInfo->willDelay ); + pIndexLocal = &pIndexLocal[ 4 ]; + } + + /*Serialize the payload format if provided.*/ + + if( pPublishInfo->payloadFormat != 0U ) + { + *pIndexLocal = MQTT_PAYLOAD_FORMAT_ID; + pIndexLocal++; + *pIndexLocal = pPublishInfo->payloadFormat; + pIndexLocal++; + } + + /*Serialize the message expiry if provided.*/ + + if( pPublishInfo->msgExpiryPresent != false ) + { + *pIndexLocal = MQTT_MSG_EXPIRY_ID; + pIndexLocal++; + pIndexLocal[ 0 ] = UINT32_BYTE3( pPublishInfo->msgExpiryInterval ); + pIndexLocal[ 1 ] = UINT32_BYTE2( pPublishInfo->msgExpiryInterval ); + pIndexLocal[ 2 ] = UINT32_BYTE1( pPublishInfo->msgExpiryInterval ); + pIndexLocal[ 3 ] = UINT32_BYTE0( pPublishInfo->msgExpiryInterval ); + pIndexLocal = &pIndexLocal[ 4 ]; + } + + return pIndexLocal; + } + + uint8_t * MQTT_SerializeConnectProperties( uint8_t * pIndex, + const MQTTConnectProperties_t * pConnectProperties ) + { + uint8_t * pIndexLocal = pIndex; + + pIndexLocal = encodeRemainingLength( pIndexLocal, pConnectProperties->propertyLength ); + + /*Serialize session expiry if provided.*/ + if( pConnectProperties->sessionExpiry != 0U ) + { + *pIndexLocal = MQTT_SESSION_EXPIRY_ID; + pIndexLocal++; + pIndexLocal[ 0 ] = UINT32_BYTE3( pConnectProperties->sessionExpiry ); + pIndexLocal[ 1 ] = UINT32_BYTE2( pConnectProperties->sessionExpiry ); + pIndexLocal[ 2 ] = UINT32_BYTE1( pConnectProperties->sessionExpiry ); + pIndexLocal[ 3 ] = UINT32_BYTE0( pConnectProperties->sessionExpiry ); + pIndexLocal = &pIndexLocal[ 4 ]; + } + + /*Serialize receive max if provided.*/ + + if( pConnectProperties->receiveMax != ( uint16_t ) UINT16_MAX ) + { + *pIndexLocal = MQTT_RECEIVE_MAX_ID; + pIndexLocal++; + pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( pConnectProperties->receiveMax ); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( pConnectProperties->receiveMax ); + pIndexLocal = &pIndexLocal[ 2 ]; + } + + /*Serialize the max packet size if provided.*/ + + if( pConnectProperties->isMaxPacketSize == true ) + { + *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; + pIndexLocal++; + pIndexLocal[ 0 ] = UINT32_BYTE3( pConnectProperties->maxPacketSize ); + pIndexLocal[ 1 ] = UINT32_BYTE2( pConnectProperties->maxPacketSize ); + pIndexLocal[ 2 ] = UINT32_BYTE1( pConnectProperties->maxPacketSize ); + pIndexLocal[ 3 ] = UINT32_BYTE0( pConnectProperties->maxPacketSize ); + pIndexLocal = &pIndexLocal[ 4 ]; + } + + /*Serialize the topic alias if provided.*/ + + if( pConnectProperties->topicAliasMax != 0U ) + { + *pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; + pIndexLocal++; + pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( pConnectProperties->topicAliasMax ); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( pConnectProperties->topicAliasMax ); + pIndexLocal = &pIndexLocal[ 2 ]; + } + + /*Serialize the request response information if provided.*/ + + if( pConnectProperties->requestResponseInfo != false ) + { + *pIndexLocal = MQTT_REQUEST_RESPONSE_ID; + pIndexLocal++; + *pIndexLocal = 1U; + pIndexLocal++; + } + + /*Serialize request problem information if provided.*/ + + if( pConnectProperties->requestProblemInfo != true ) + { + *pIndexLocal = MQTT_REQUEST_PROBLEM_ID; + pIndexLocal++; + *pIndexLocal = 0U; + pIndexLocal++; + } + + return pIndexLocal; + } + + MQTTStatus_t MQTTV5_SerializeConnect( const MQTTConnectInfo_t * pConnectInfo, + const MQTTPublishInfo_t * pWillInfo, + const MQTTConnectProperties_t * pConnectProperties, + size_t remainingLength, + const MQTTFixedBuffer_t * pFixedBuffer ) + { + MQTTStatus_t status = MQTTSuccess; + size_t connectPacketSize = 0; + + /* Validate arguments. */ + if( ( pConnectInfo == NULL ) || ( pFixedBuffer == NULL ) ) + { + LogError( ( "Argument cannot be NULL: pConnectInfo=%p, " + "pFixedBuffer=%p.", + ( void * ) pConnectInfo, + ( void * ) pFixedBuffer ) ); + status = MQTTBadParameter; + } + /* A buffer must be configured for serialization. */ + else if( pFixedBuffer->pBuffer == NULL ) + { + LogError( ( "Argument cannot be NULL: pFixedBuffer->pBuffer is NULL." ) ); + status = MQTTBadParameter; + } + else if( ( pWillInfo != NULL ) && ( pWillInfo->pTopicName == NULL ) ) + { + LogError( ( "pWillInfo->pTopicName cannot be NULL if Will is present." ) ); + status = MQTTBadParameter; + } + + else if( pConnectProperties == NULL ) + { + LogError( ( "Argument cannot be NULL: connectProperties" ) ); + status = MQTTBadParameter; + } + else + { + /* Calculate CONNECT packet size. Overflow in in this addition is not checked + * because it is part of the API contract to call Mqtt_GetConnectPacketSize() + * before this function. */ + connectPacketSize = remainingLength + remainingLengthEncodedSize( remainingLength ) + 1U; + + /* Check that the full packet size fits within the given buffer. */ + if( connectPacketSize > pFixedBuffer->size ) + { + LogError( ( "Buffer size of %lu is not sufficient to hold " + "serialized CONNECT packet of size of %lu.", + ( unsigned long ) pFixedBuffer->size, + ( unsigned long ) connectPacketSize ) ); + status = MQTTNoMemory; + } + else + { + serializeConnectPacketV5( pConnectInfo, + pWillInfo, + pConnectProperties, + remainingLength, + pFixedBuffer ); + } + } + + return status; + } + + MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t * pConnackProperties, + const MQTTPacketInfo_t * pIncomingPacket, + bool * pSessionPresent ) + { + MQTTStatus_t status = MQTTSuccess; + size_t propertyLength; + size_t remainingLengthSize; + const uint8_t * pVariableHeader = NULL; + + /*Validate the arguments*/ + if( pConnackProperties == NULL ) + { + status = MQTTBadParameter; + } + #if(MQTT_USER_PROPERTY_ENABLED) + else if(pConnackProperties->pIncomingUserProperty == NULL){ + status = MQTTBadParameter; + } + #endif + else + { + status = validateConnackParams( pIncomingPacket, pSessionPresent ); + } + + if( status == MQTTSuccess ) + { + pVariableHeader = pIncomingPacket->pRemainingData; + pVariableHeader = &pVariableHeader[ 2 ]; + remainingLengthSize = remainingLengthEncodedSize( pIncomingPacket->remainingLength ); + status = decodeVariableLength( pVariableHeader, &propertyLength ); + } + + /*Validate the packet size if max packet size is set*/ + if( ( status == MQTTSuccess ) && ( pConnackProperties->isMaxPacketSize == true ) && ( ( pIncomingPacket->remainingLength + remainingLengthSize + 1U ) > ( pConnackProperties->maxPacketSize ) ) ) + { + status = MQTTProtocolError; + } + /*Validate the remaining length*/ + else if( ( status == MQTTSuccess ) && ( ( pIncomingPacket->remainingLength ) != ( 2U + propertyLength + remainingLengthEncodedSize( propertyLength ) ) ) ) + { + status = MQTTMalformedPacket; + } + /*Deserialize the connack properties.*/ + else if( status == MQTTSuccess ) + { + status = deserializeConnackV5( pConnackProperties, propertyLength, &pVariableHeader ); + } + + else + { + /* MISRA Empty body */ + } + + return status; + } + +#endif /*-----------------------------------------------------------*/ diff --git a/source/include/core_mqtt.h b/source/include/core_mqtt.h index 124ed77ab..2eaf3fb6b 100644 --- a/source/include/core_mqtt.h +++ b/source/include/core_mqtt.h @@ -41,8 +41,6 @@ /* Include transport interface. */ #include "transport_interface.h" -/* Include transport interface. */ - /** * @cond DOXYGEN_IGNORE * The current version of this library. @@ -247,7 +245,6 @@ typedef struct MQTTContext uint32_t pingReqSendTimeMs; /**< @brief Timestamp of the last sent PINGREQ. */ bool waitingForPingResp; /**< @brief If the library is currently awaiting a PINGRESP. */ #if ( MQTT_VERSION_5_ENABLED ) - /** * @brief Connect and Connack Properties. */ diff --git a/source/include/core_mqtt_config_defaults.h b/source/include/core_mqtt_config_defaults.h index 2c0dd0761..68451f2c2 100644 --- a/source/include/core_mqtt_config_defaults.h +++ b/source/include/core_mqtt_config_defaults.h @@ -82,6 +82,13 @@ #ifndef MAX_USER_PROPERTY #define MAX_USER_PROPERTY ( 5U ) #endif + /*Disable the user properties if max user property is set to 0.*/ + #if(MAX_USER_PROPERTY == 0U) + #define MQTT_USER_PROPERTY_ENABLED (false) + #else + #define MQTT_USER_PROPERTY_ENABLED (true) + #endif + #endif /** diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index 33990c03d..f3b9f7cf8 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -271,6 +271,7 @@ typedef struct MQTTAuthInfo uint16_t authDataLength; } MQTTAuthInfo_t; +#if(MQTT_USER_PROPERTY_ENABLED) /** * @ingroup mqtt_struct_types * @brief Struct to hold user property. @@ -312,6 +313,7 @@ typedef struct MQTTUserProperties } MQTTUserProperties_t; +#endif /** * @ingroup mqtt_struct_types * @brief Struct to hold connect and connack properties. @@ -351,10 +353,6 @@ typedef struct MQTTConnectProperties * @brief Length of the connect properties. */ size_t propertyLength; - /** - * @brief Pointer to the outgoing user properties. - */ - MQTTUserProperties_t *pOutgoingUserProperty; /** * @brief Pointer to the incoming authentication information. */ @@ -396,10 +394,6 @@ typedef struct MQTTConnectProperties * @brief Length of reason string. */ uint16_t reasonStringLength; - /** - * @brief Pointer to the incoming user properties. - */ - MQTTUserProperties_t *pIncomingUserProperty; /** * @brief Whether wildcard subscription is available. */ @@ -436,7 +430,16 @@ typedef struct MQTTConnectProperties * @brief Pointer to the incoming authentication information. */ MQTTAuthInfo_t *pIncomingAuth; - + #if(MQTT_USER_PROPERTY_ENABLED) + /** + * @brief Pointer to the outgoing user properties. + */ + MQTTUserProperties_t *pOutgoingUserProperty; + /** + * @brief Pointer to the incoming user properties. + */ + MQTTUserProperties_t *pIncomingUserProperty; + #endif } MQTTConnectProperties_t; @@ -526,10 +529,12 @@ typedef struct MQTTPublishInfo * @brief To identify which request the Response Message is for. */ const void *pCorrelationData; + #if(MQTT_USER_PROPERTY_ENABLED) /** * @brief Pointer to the user properties. */ MQTTUserProperties_t* pUserProperty; + #endif #endif } MQTTPublishInfo_t; diff --git a/test/unit-test/MQTTv5/core_mqtt_config.h b/test/unit-test/MQTTv5/core_mqtt_config.h index 00cebb7a2..879f116c8 100644 --- a/test/unit-test/MQTTv5/core_mqtt_config.h +++ b/test/unit-test/MQTTv5/core_mqtt_config.h @@ -74,5 +74,6 @@ #define MQTT_SEND_TIMEOUT_MS ( 200U ) #define MQTT_VERSION_5_ENABLED ( true ) #define MAX_USER_PROPERTY ( 5000U ) +#define MQTT_USER_PROPERTY_ENABLED ( true ) #endif /* ifndef CORE_MQTT_CONFIG_H_ */ diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index 78ce5e45f..dedeb0771 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -1141,7 +1141,7 @@ void test_MQTTV5_DeserializeConnackOnlyStatus( void ) status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); TEST_ASSERT_EQUAL( MQTTMalformedPacket, status ); - /*Incoming user property not inititialized*/ + /*Incoming user property not initialized*/ properties.pIncomingUserProperty = NULL; status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); @@ -2885,7 +2885,7 @@ void test_MQTTV5_GetConnectPacketSize( void ) status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - /*Incoming user property not inititialized*/ + /*Incoming user property not initialized*/ properties.pIncomingUserProperty = NULL; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); From e43dc29a970b456c2f63101f5d36a234d8e17557 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Wed, 3 Jul 2024 07:54:11 +0000 Subject: [PATCH 58/82] Uncrustify: triggered by comment. --- source/core_mqtt.c | 160 ++++++----- source/core_mqtt_serializer.c | 309 +++++++++++---------- source/include/core_mqtt.h | 1 + source/include/core_mqtt_config_defaults.h | 10 +- test/unit-test/MQTTv5/core_mqtt_config.h | 2 +- 5 files changed, 252 insertions(+), 230 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index be9f9f805..31efc3b62 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -587,45 +587,49 @@ static bool matchTopicFilter( const char * pTopicName, #if ( MQTT_VERSION_5_ENABLED ) -#if(MQTT_USER_PROPERTY_ENABLED) + #if ( MQTT_USER_PROPERTY_ENABLED ) + /** * @brief Struct used to deserialize the will properties. * **/ - typedef struct UserPropertiesVector - { - /** - * @brief Used to encode user key length. - * - **/ - uint8_t serializedUserKeyLength[ MAX_USER_PROPERTY ][ 2 ]; + typedef struct UserPropertiesVector + { + /** + * @brief Used to encode user key length. + * + **/ + uint8_t serializedUserKeyLength[ MAX_USER_PROPERTY ][ 2 ]; + + /** + * @brief Used to encode user id. + * + **/ + uint8_t userId[ MAX_USER_PROPERTY ]; + + /** + * @brief Used to encode user value length. + * + **/ + uint8_t serializedUserValueLength[ MAX_USER_PROPERTY ][ 2 ]; + } UserPropertyVector_t; + #endif /* if ( MQTT_USER_PROPERTY_ENABLED ) */ - /** - * @brief Used to encode user id. - * - **/ - uint8_t userId[ MAX_USER_PROPERTY ]; - - /** - * @brief Used to encode user value length. - * - **/ - uint8_t serializedUserValueLength[ MAX_USER_PROPERTY ][ 2 ]; - } UserPropertyVector_t; -#endif /** * @brief Struct used to deserialize the will properties. * **/ typedef struct WillPropertiesVector { -#if(MQTT_USER_PROPERTY_ENABLED) - /** - * @brief Used to encode user property. - * - **/ - UserPropertyVector_t userProperty; -#endif + #if ( MQTT_USER_PROPERTY_ENABLED ) + + /** + * @brief Used to encode user property. + * + **/ + UserPropertyVector_t userProperty; + #endif + /** * @brief Used to encode content type length. * @@ -669,13 +673,15 @@ static bool matchTopicFilter( const char * pTopicName, **/ typedef struct ConnectPropertiesVector { -#if(MQTT_USER_PROPERTY_ENABLED) - /** - * @brief Used to encode user property. - * - **/ - UserPropertyVector_t userProperty; -#endif + #if ( MQTT_USER_PROPERTY_ENABLED ) + + /** + * @brief Used to encode user property. + * + **/ + UserPropertyVector_t userProperty; + #endif + /** * @brief Used to encode authentication method length. * @@ -817,34 +823,34 @@ static bool matchTopicFilter( const char * pTopicName, size_t * pTotalMessageLength, TransportOutVector_t ** pVectorIterator ) { - size_t vectorsAdded = 0U; - size_t ioVectorLength = 0U; - TransportOutVector_t * iterator = *pVectorIterator; - uint32_t i = 0; - uint32_t size = pUserProperty->count; - const MQTTUserProperty_t * userProperty = pUserProperty->userProperty; + size_t vectorsAdded = 0U; + size_t ioVectorLength = 0U; + TransportOutVector_t * iterator = *pVectorIterator; + uint32_t i = 0; + uint32_t size = pUserProperty->count; + const MQTTUserProperty_t * userProperty = pUserProperty->userProperty; - for( ; i < size; i++ ) - { - pUserVector->userId[ i ] = MQTT_USER_PROPERTY_ID; - vectorsAdded = addEncodedStringToVectorWithId( pUserVector->serializedUserKeyLength[ i ], - userProperty[ i ].pKey, - userProperty[ i ].keyLength, - iterator, - pTotalMessageLength, &pUserVector->userId[ i ] ); - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[ vectorsAdded ]; - ioVectorLength += vectorsAdded; + for( ; i < size; i++ ) + { + pUserVector->userId[ i ] = MQTT_USER_PROPERTY_ID; + vectorsAdded = addEncodedStringToVectorWithId( pUserVector->serializedUserKeyLength[ i ], + userProperty[ i ].pKey, + userProperty[ i ].keyLength, + iterator, + pTotalMessageLength, &pUserVector->userId[ i ] ); + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; - vectorsAdded = addEncodedStringToVector( pUserVector->serializedUserValueLength[ i ], - userProperty[ i ].pValue, - userProperty[ i ].valueLength, - iterator, - pTotalMessageLength ); - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[ vectorsAdded ]; - ioVectorLength += vectorsAdded; - } + vectorsAdded = addEncodedStringToVector( pUserVector->serializedUserValueLength[ i ], + userProperty[ i ].pValue, + userProperty[ i ].valueLength, + iterator, + pTotalMessageLength ); + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; + } *pVectorIterator = iterator; return ioVectorLength; @@ -904,13 +910,14 @@ static bool matchTopicFilter( const char * pTopicName, iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; } -#if(MQTT_USER_PROPERTY_ENABLED) - /* Encode the user properties if provided. */ - if( pWillInfo->pUserProperty != NULL ) - { - ioVectorLength += sendUserProperties(pWillInfo->pUserProperty,&pWillVector->userProperty,pTotalMessageLength,&iterator); - } -#endif + + #if ( MQTT_USER_PROPERTY_ENABLED ) + /* Encode the user properties if provided. */ + if( pWillInfo->pUserProperty != NULL ) + { + ioVectorLength += sendUserProperties( pWillInfo->pUserProperty, &pWillVector->userProperty, pTotalMessageLength, &iterator ); + } + #endif *pVectorIterator = iterator; return ioVectorLength; @@ -928,14 +935,15 @@ static bool matchTopicFilter( const char * pTopicName, pPropertiesVector->authMethodId = MQTT_AUTH_METHOD_ID; pPropertiesVector->authDataId = MQTT_AUTH_DATA_ID; -#if(MQTT_USER_PROPERTY_ENABLED) - /* Encode the user properties if provided. */ - if( pConnectProperties->pOutgoingUserProperty != NULL ) - { - ioVectorLength += sendUserProperties(pConnectProperties->pOutgoingUserProperty,&pPropertiesVector->userProperty,pTotalMessageLength,&iterator); - } -#endif - /*Encode the authentication method and data if provided*/ + #if ( MQTT_USER_PROPERTY_ENABLED ) + /* Encode the user properties if provided. */ + if( pConnectProperties->pOutgoingUserProperty != NULL ) + { + ioVectorLength += sendUserProperties( pConnectProperties->pOutgoingUserProperty, &pPropertiesVector->userProperty, pTotalMessageLength, &iterator ); + } + #endif + + /*Encode the authentication method and data if provided*/ if( pConnectProperties->pOutgoingAuth != NULL ) { /* Serialize the authentication method string. */ diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index e524457b9..958e4b94f 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -679,7 +679,8 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); #if ( MQTT_VERSION_5_ENABLED ) -#if(MQTT_USER_PROPERTY_ENABLED) + #if ( MQTT_USER_PROPERTY_ENABLED ) + /** * @brief Get the size of user properties. * @@ -691,9 +692,9 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * * @return #MQTTSuccess if user properties are valid and #MQTTBadParameter if the user properties are not valid */ - static MQTTStatus_t MQTT_GetUserPropertySize( const MQTTUserProperty_t * pUserProperty, - uint32_t number, - size_t * pSize ); + static MQTTStatus_t MQTT_GetUserPropertySize( const MQTTUserProperty_t * pUserProperty, + uint32_t number, + size_t * pSize ); /** * @brief Validate the length and decode a user property. @@ -705,11 +706,12 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket **/ - static MQTTStatus_t decodeutf_8pair( MQTTUserProperties_t * pUserProperties, - uint32_t * count, - size_t * pPropertyLength, - const uint8_t ** pIndex ); -#endif + static MQTTStatus_t decodeutf_8pair( MQTTUserProperties_t * pUserProperties, + uint32_t * count, + size_t * pPropertyLength, + const uint8_t ** pIndex ); + #endif /* if ( MQTT_USER_PROPERTY_ENABLED ) */ + /** * @brief Get the size of authentication information. * @@ -902,124 +904,124 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); const uint8_t * const * pIndex ); /*-----------------------------------------------------------*/ -#if(MQTT_USER_PROPERTY_ENABLED) - static MQTTStatus_t MQTT_GetUserPropertySize( const MQTTUserProperty_t * pUserProperty, - uint32_t number, - size_t * pSize ) - { - MQTTStatus_t status = MQTTSuccess; - uint32_t i = 0; - - /*Number of user properties can't be more than the max user properties specified*/ - if( number > ( uint32_t ) MAX_USER_PROPERTY ) - { - status = MQTTBadParameter; - } - else + #if ( MQTT_USER_PROPERTY_ENABLED ) + static MQTTStatus_t MQTT_GetUserPropertySize( const MQTTUserProperty_t * pUserProperty, + uint32_t number, + size_t * pSize ) { - for( ; ( i < number ); i++ ) + MQTTStatus_t status = MQTTSuccess; + uint32_t i = 0; + + /*Number of user properties can't be more than the max user properties specified*/ + if( number > ( uint32_t ) MAX_USER_PROPERTY ) { - /*Validate the key and value*/ - if( ( pUserProperty[ i ].keyLength == 0U ) || ( pUserProperty[ i ].valueLength == 0U ) || ( pUserProperty[ i ].pKey == NULL ) || ( pUserProperty[ i ].pValue == NULL ) ) - { - status = MQTTBadParameter; - break; - } - else + status = MQTTBadParameter; + } + else + { + for( ; ( i < number ); i++ ) { - *pSize += ( pUserProperty[ i ].keyLength ); - *pSize += MQTT_UTF8_LENGTH_SIZE; - *pSize += ( pUserProperty[ i ].valueLength ); - *pSize += 2U; + /*Validate the key and value*/ + if( ( pUserProperty[ i ].keyLength == 0U ) || ( pUserProperty[ i ].valueLength == 0U ) || ( pUserProperty[ i ].pKey == NULL ) || ( pUserProperty[ i ].pValue == NULL ) ) + { + status = MQTTBadParameter; + break; + } + else + { + *pSize += ( pUserProperty[ i ].keyLength ); + *pSize += MQTT_UTF8_LENGTH_SIZE; + *pSize += ( pUserProperty[ i ].valueLength ); + *pSize += 2U; + } } } - } - return status; - } + return status; + } static MQTTStatus_t decodeutf_8pair( MQTTUserProperties_t * pUserProperties, - uint32_t * count, - size_t * pPropertyLength, - const uint8_t ** pIndex ) - { - const uint8_t * pVariableHeader = *pIndex; - MQTTStatus_t status = MQTTSuccess; - MQTTUserProperty_t discardUserProperty; - MQTTUserProperty_t * pUserProperty; - - if( *count == ( uint32_t ) MAX_USER_PROPERTY ) - { - pUserProperty = &discardUserProperty; - } - else + uint32_t * count, + size_t * pPropertyLength, + const uint8_t ** pIndex ) { - pUserProperty = pUserProperties->userProperty; - pUserProperty = &pUserProperty[ *count ]; - } + const uint8_t * pVariableHeader = *pIndex; + MQTTStatus_t status = MQTTSuccess; + MQTTUserProperty_t discardUserProperty; + MQTTUserProperty_t * pUserProperty; - /*Validate the property length and decode the user property received.*/ - if( *pPropertyLength < sizeof( uint16_t ) ) - { - status = MQTTMalformedPacket; - } - else - { - pUserProperty->keyLength = UINT16_DECODE( pVariableHeader ); - *pPropertyLength -= sizeof( uint16_t ); + if( *count == ( uint32_t ) MAX_USER_PROPERTY ) + { + pUserProperty = &discardUserProperty; + } + else + { + pUserProperty = pUserProperties->userProperty; + pUserProperty = &pUserProperty[ *count ]; + } - if( *pPropertyLength < pUserProperty->keyLength ) + /*Validate the property length and decode the user property received.*/ + if( *pPropertyLength < sizeof( uint16_t ) ) { status = MQTTMalformedPacket; } else { - pVariableHeader = &pVariableHeader[ sizeof( uint16_t ) ]; - pUserProperty->pKey = ( const char * ) pVariableHeader; - *pPropertyLength -= pUserProperty->keyLength; - pVariableHeader = &pVariableHeader[ pUserProperty->keyLength ]; + pUserProperty->keyLength = UINT16_DECODE( pVariableHeader ); + *pPropertyLength -= sizeof( uint16_t ); - if( *pPropertyLength < sizeof( uint16_t ) ) + if( *pPropertyLength < pUserProperty->keyLength ) { status = MQTTMalformedPacket; } else { - pUserProperty->valueLength = UINT16_DECODE( pVariableHeader ); - *pPropertyLength -= sizeof( uint16_t ); pVariableHeader = &pVariableHeader[ sizeof( uint16_t ) ]; + pUserProperty->pKey = ( const char * ) pVariableHeader; + *pPropertyLength -= pUserProperty->keyLength; + pVariableHeader = &pVariableHeader[ pUserProperty->keyLength ]; - if( *pPropertyLength < ( size_t ) ( pUserProperty->valueLength ) ) + if( *pPropertyLength < sizeof( uint16_t ) ) { status = MQTTMalformedPacket; } else { - pUserProperty->pValue = ( const char * ) pVariableHeader; - pVariableHeader = &pVariableHeader[ pUserProperty->valueLength ]; - *pPropertyLength -= pUserProperty->valueLength; + pUserProperty->valueLength = UINT16_DECODE( pVariableHeader ); + *pPropertyLength -= sizeof( uint16_t ); + pVariableHeader = &pVariableHeader[ sizeof( uint16_t ) ]; + + if( *pPropertyLength < ( size_t ) ( pUserProperty->valueLength ) ) + { + status = MQTTMalformedPacket; + } + else + { + pUserProperty->pValue = ( const char * ) pVariableHeader; + pVariableHeader = &pVariableHeader[ pUserProperty->valueLength ]; + *pPropertyLength -= pUserProperty->valueLength; + } } } } - } - *pIndex = pVariableHeader; + *pIndex = pVariableHeader; - if( ( *count == ( uint32_t ) MAX_USER_PROPERTY ) && ( status == MQTTSuccess ) ) - { - LogDebug( ( "Discarded additional user property with key %s and value %s", - discardUserProperty.pKey, - discardUserProperty.pValue ) ); - } - else - { - *count += 1U; + if( ( *count == ( uint32_t ) MAX_USER_PROPERTY ) && ( status == MQTTSuccess ) ) + { + LogDebug( ( "Discarded additional user property with key %s and value %s", + discardUserProperty.pKey, + discardUserProperty.pValue ) ); + } + else + { + *count += 1U; + } + + return status; } - return status; - } - -#endif + #endif /* if ( MQTT_USER_PROPERTY_ENABLED ) */ static MQTTStatus_t MQTT_GetAuthInfoSize( const MQTTAuthInfo_t * pAuthInfo, size_t * pPropertyLength ) @@ -1111,13 +1113,15 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); status = MQTT_GetAuthInfoSize( pConnectProperties->pOutgoingAuth, &propertyLength ); } } - #if(MQTT_USER_PROPERTY_ENABLED) - /*Get the length of the user properties*/ - if( ( status == MQTTSuccess ) && ( pConnectProperties->pOutgoingUserProperty != NULL ) ) - { - status = MQTT_GetUserPropertySize( pConnectProperties->pOutgoingUserProperty->userProperty, pConnectProperties->pOutgoingUserProperty->count, &propertyLength ); - } + + #if ( MQTT_USER_PROPERTY_ENABLED ) + /*Get the length of the user properties*/ + if( ( status == MQTTSuccess ) && ( pConnectProperties->pOutgoingUserProperty != NULL ) ) + { + status = MQTT_GetUserPropertySize( pConnectProperties->pOutgoingUserProperty->userProperty, pConnectProperties->pOutgoingUserProperty->count, &propertyLength ); + } #endif + /*Variable length encoded values cannot have a value of more than 268435455U*/ if( ( status == MQTTSuccess ) && ( pConnectProperties->propertyLength > MQTT_MAX_REMAINING_LENGTH ) ) { @@ -1193,13 +1197,15 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); propertyLength += MQTT_UTF8_LENGTH_SIZE; } } - #if(MQTT_USER_PROPERTY_ENABLED) - /*Get the length of user properties*/ - if( ( status == MQTTSuccess ) && ( pPublishProperties->pUserProperty != NULL ) ) - { - status = MQTT_GetUserPropertySize( pPublishProperties->pUserProperty->userProperty, pPublishProperties->pUserProperty->count, &propertyLength ); - } + + #if ( MQTT_USER_PROPERTY_ENABLED ) + /*Get the length of user properties*/ + if( ( status == MQTTSuccess ) && ( pPublishProperties->pUserProperty != NULL ) ) + { + status = MQTT_GetUserPropertySize( pPublishProperties->pUserProperty->userProperty, pPublishProperties->pUserProperty->count, &propertyLength ); + } #endif + /*Variable encoded can't have a value more than 268435455UL*/ if( propertyLength > MQTT_MAX_REMAINING_LENGTH ) { @@ -1236,22 +1242,23 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); /* Serialize the connect Properties. */ pIndex = MQTT_SerializeConnectProperties( pIndex, pConnectProperties ); - #if(MQTT_USER_PROPERTY_ENABLED) - if( pConnectProperties->pOutgoingUserProperty != NULL ) - { - uint32_t i = 0; - uint32_t size = pConnectProperties->pOutgoingUserProperty->count; - const MQTTUserProperty_t * pUserProperty = pConnectProperties->pOutgoingUserProperty->userProperty; - - for( ; i < size; i++ ) + #if ( MQTT_USER_PROPERTY_ENABLED ) + if( pConnectProperties->pOutgoingUserProperty != NULL ) { - *pIndex = MQTT_USER_PROPERTY_ID; - pIndex++; - pIndex = encodeString( pIndex, pUserProperty[ i ].pKey, pUserProperty[ i ].keyLength ); - pIndex = encodeString( pIndex, pUserProperty[ i ].pValue, pUserProperty[ i ].valueLength ); + uint32_t i = 0; + uint32_t size = pConnectProperties->pOutgoingUserProperty->count; + const MQTTUserProperty_t * pUserProperty = pConnectProperties->pOutgoingUserProperty->userProperty; + + for( ; i < size; i++ ) + { + *pIndex = MQTT_USER_PROPERTY_ID; + pIndex++; + pIndex = encodeString( pIndex, pUserProperty[ i ].pKey, pUserProperty[ i ].keyLength ); + pIndex = encodeString( pIndex, pUserProperty[ i ].pValue, pUserProperty[ i ].valueLength ); + } } - } - #endif + #endif /* if ( MQTT_USER_PROPERTY_ENABLED ) */ + if( pConnectProperties->pOutgoingAuth != NULL ) { /* Serialize the authentication method string. */ @@ -1298,27 +1305,29 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); pIndex++; pIndex = encodeString( pIndex, pWillInfo->pCorrelationData, pWillInfo->correlationLength ); } - #if(MQTT_USER_PROPERTY_ENABLED) - if( pWillInfo->pUserProperty != NULL ) - { - uint32_t i = 0; - uint32_t size = pWillInfo->pUserProperty->count; - const MQTTUserProperty_t * pUserProperty = pWillInfo->pUserProperty->userProperty; - for( ; i < size; i++ ) + #if ( MQTT_USER_PROPERTY_ENABLED ) + if( pWillInfo->pUserProperty != NULL ) { - *pIndex = MQTT_USER_PROPERTY_ID; - pIndex++; - pIndex = encodeString( pIndex, pUserProperty[ i ].pKey, pUserProperty[ i ].keyLength ); - pIndex = encodeString( pIndex, pUserProperty[ i ].pValue, pUserProperty[ i ].valueLength ); + uint32_t i = 0; + uint32_t size = pWillInfo->pUserProperty->count; + const MQTTUserProperty_t * pUserProperty = pWillInfo->pUserProperty->userProperty; + + for( ; i < size; i++ ) + { + *pIndex = MQTT_USER_PROPERTY_ID; + pIndex++; + pIndex = encodeString( pIndex, pUserProperty[ i ].pKey, pUserProperty[ i ].keyLength ); + pIndex = encodeString( pIndex, pUserProperty[ i ].pValue, pUserProperty[ i ].valueLength ); + } } - } - #endif + #endif /* if ( MQTT_USER_PROPERTY_ENABLED ) */ pIndex = encodeString( pIndex, pWillInfo->pTopicName, pWillInfo->topicNameLength ); pIndex = encodeString( pIndex, pWillInfo->pPayload, ( uint16_t ) pWillInfo->payloadLength ); } + /* Encode the user name if provided. */ if( pConnectInfo->pUserName != NULL ) { @@ -1807,11 +1816,12 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); case MQTT_REASON_STRING_ID: status = decodeutf_8( &pConnackProperties->pReasonString, &pConnackProperties->reasonStringLength, &propertyLength, &reasonString, &pVariableHeader ); break; + case MQTT_USER_PROPERTY_ID: - #if(MQTT_USER_PROPERTY_ENABLED) - status = decodeutf_8pair( pConnackProperties->pIncomingUserProperty, &pConnackProperties->pIncomingUserProperty->count, &propertyLength, &pVariableHeader ); - break; - #endif + #if ( MQTT_USER_PROPERTY_ENABLED ) + status = decodeutf_8pair( pConnackProperties->pIncomingUserProperty, &pConnackProperties->pIncomingUserProperty->count, &propertyLength, &pVariableHeader ); + break; + #endif case MQTT_WILDCARD_ID: status = decodeuint8_t( &pConnackProperties->isWildcardAvaiable, &propertyLength, &wildcard, &pVariableHeader ); break; @@ -1876,7 +1886,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); return status; } - + #endif /* if ( MQTT_VERSION_5_ENABLED ) */ @@ -4111,9 +4121,9 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, return status; } -#if(MQTT_VERSION_5_ENABLED) +#if ( MQTT_VERSION_5_ENABLED ) - MQTTStatus_t MQTTV5_GetConnectPacketSize( const MQTTConnectInfo_t * pConnectInfo, + MQTTStatus_t MQTTV5_GetConnectPacketSize( const MQTTConnectInfo_t * pConnectInfo, MQTTPublishInfo_t * pWillInfo, MQTTConnectProperties_t * pConnectProperties, size_t * pRemainingLength, @@ -4162,12 +4172,13 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, LogError( ( "Incoming Auth cannot be NULL" ) ); status = MQTTBadParameter; } - #if(MQTT_USER_PROPERTY_ENABLED) - else if( pConnectProperties->pIncomingUserProperty == NULL ) - { - LogError( ( "Incoming user property cannot be NULL" ) ); - status = MQTTBadParameter; - } + + #if ( MQTT_USER_PROPERTY_ENABLED ) + else if( pConnectProperties->pIncomingUserProperty == NULL ) + { + LogError( ( "Incoming user property cannot be NULL" ) ); + status = MQTTBadParameter; + } #endif else { @@ -4443,10 +4454,12 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, { status = MQTTBadParameter; } - #if(MQTT_USER_PROPERTY_ENABLED) - else if(pConnackProperties->pIncomingUserProperty == NULL){ - status = MQTTBadParameter; - } + + #if ( MQTT_USER_PROPERTY_ENABLED ) + else if( pConnackProperties->pIncomingUserProperty == NULL ) + { + status = MQTTBadParameter; + } #endif else { @@ -4485,5 +4498,5 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, return status; } -#endif +#endif /* if ( MQTT_VERSION_5_ENABLED ) */ /*-----------------------------------------------------------*/ diff --git a/source/include/core_mqtt.h b/source/include/core_mqtt.h index 2eaf3fb6b..42449f300 100644 --- a/source/include/core_mqtt.h +++ b/source/include/core_mqtt.h @@ -245,6 +245,7 @@ typedef struct MQTTContext uint32_t pingReqSendTimeMs; /**< @brief Timestamp of the last sent PINGREQ. */ bool waitingForPingResp; /**< @brief If the library is currently awaiting a PINGRESP. */ #if ( MQTT_VERSION_5_ENABLED ) + /** * @brief Connect and Connack Properties. */ diff --git a/source/include/core_mqtt_config_defaults.h b/source/include/core_mqtt_config_defaults.h index 68451f2c2..bce128bc1 100644 --- a/source/include/core_mqtt_config_defaults.h +++ b/source/include/core_mqtt_config_defaults.h @@ -83,13 +83,13 @@ #define MAX_USER_PROPERTY ( 5U ) #endif /*Disable the user properties if max user property is set to 0.*/ - #if(MAX_USER_PROPERTY == 0U) - #define MQTT_USER_PROPERTY_ENABLED (false) + #if ( MAX_USER_PROPERTY == 0U ) + #define MQTT_USER_PROPERTY_ENABLED ( false ) #else - #define MQTT_USER_PROPERTY_ENABLED (true) + #define MQTT_USER_PROPERTY_ENABLED ( true ) #endif - -#endif + +#endif /* ifndef MQTT_VERSION_5_ENABLED */ /** * @ingroup mqtt_constants diff --git a/test/unit-test/MQTTv5/core_mqtt_config.h b/test/unit-test/MQTTv5/core_mqtt_config.h index 879f116c8..b41daf985 100644 --- a/test/unit-test/MQTTv5/core_mqtt_config.h +++ b/test/unit-test/MQTTv5/core_mqtt_config.h @@ -74,6 +74,6 @@ #define MQTT_SEND_TIMEOUT_MS ( 200U ) #define MQTT_VERSION_5_ENABLED ( true ) #define MAX_USER_PROPERTY ( 5000U ) -#define MQTT_USER_PROPERTY_ENABLED ( true ) +#define MQTT_USER_PROPERTY_ENABLED ( true ) #endif /* ifndef CORE_MQTT_CONFIG_H_ */ From a14676bd27c2ca36d8304036283f25edf38156fc Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Wed, 3 Jul 2024 09:01:36 +0000 Subject: [PATCH 59/82] Mqttv5 connect and connack --- source/core_mqtt.c | 247 +++++++++++---------- source/include/core_mqtt_config_defaults.h | 4 + test/CMakeLists.txt | 3 +- 3 files changed, 130 insertions(+), 124 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 31efc3b62..15496106a 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -126,6 +126,128 @@ * @brief Size of the property id. */ #define CORE_MQTT_ID_SIZE ( 1U ) + + #if ( MQTT_USER_PROPERTY_ENABLED ) + +/** + * @brief Struct used to deserialize the will properties. + * + **/ + typedef struct UserPropertiesVector + { + /** + * @brief Used to encode user key length. + * + **/ + uint8_t serializedUserKeyLength[ MAX_USER_PROPERTY ][ 2 ]; + + /** + * @brief Used to encode user id. + * + **/ + uint8_t userId[ MAX_USER_PROPERTY ]; + + /** + * @brief Used to encode user value length. + * + **/ + uint8_t serializedUserValueLength[ MAX_USER_PROPERTY ][ 2 ]; + } UserPropertyVector_t; + #endif /* if ( MQTT_USER_PROPERTY_ENABLED ) */ + +/** + * @brief Struct used to deserialize the will properties. + * + **/ + typedef struct WillPropertiesVector + { + #if ( MQTT_USER_PROPERTY_ENABLED ) + + /** + * @brief Used to encode user property. + * + **/ + UserPropertyVector_t userProperty; + #endif + + /** + * @brief Used to encode content type length. + * + **/ + uint8_t serializedContentTypeLength[ 2 ]; + + /** + * @brief Used to encode content type id. + * + **/ + uint8_t contentTypeId; + + /** + * @brief Used to encode response topic length. + * + **/ + uint8_t serializedResponseTopicLength[ 2 ]; + + /** + * @brief Used to encode response topic id. + * + **/ + uint8_t responseTopicId; + + /** + * @brief Used to encode correlation data length. + * + **/ + uint8_t serializedCorrelationLength[ 2 ]; + + /** + * @brief Used to encode correlation data id. + * + **/ + uint8_t correlationDataId; + } WillVector_t; + +/** + * @brief Struct used to deserialize the connect properties. + * + **/ + typedef struct ConnectPropertiesVector + { + #if ( MQTT_USER_PROPERTY_ENABLED ) + + /** + * @brief Used to encode user property. + * + **/ + UserPropertyVector_t userProperty; + #endif + + /** + * @brief Used to encode authentication method length. + * + **/ + uint8_t serializedAuthMethodLength[ 2 ]; + + /** + * @brief Used to authentication method id. + * + **/ + uint8_t authMethodId; + + /** + * @brief Used to encode authentication data length. + * + **/ + uint8_t serializedAuthDataLength[ 2 ]; + + /** + * @brief Used to authentication data id. + * + **/ + uint8_t authDataId; + } PropertiesVector_t; + + #endif /* if ( MQTT_VERSION_5_ENABLED ) */ /*-----------------------------------------------------------*/ @@ -587,127 +709,6 @@ static bool matchTopicFilter( const char * pTopicName, #if ( MQTT_VERSION_5_ENABLED ) - #if ( MQTT_USER_PROPERTY_ENABLED ) - -/** - * @brief Struct used to deserialize the will properties. - * - **/ - typedef struct UserPropertiesVector - { - /** - * @brief Used to encode user key length. - * - **/ - uint8_t serializedUserKeyLength[ MAX_USER_PROPERTY ][ 2 ]; - - /** - * @brief Used to encode user id. - * - **/ - uint8_t userId[ MAX_USER_PROPERTY ]; - - /** - * @brief Used to encode user value length. - * - **/ - uint8_t serializedUserValueLength[ MAX_USER_PROPERTY ][ 2 ]; - } UserPropertyVector_t; - #endif /* if ( MQTT_USER_PROPERTY_ENABLED ) */ - -/** - * @brief Struct used to deserialize the will properties. - * - **/ - typedef struct WillPropertiesVector - { - #if ( MQTT_USER_PROPERTY_ENABLED ) - - /** - * @brief Used to encode user property. - * - **/ - UserPropertyVector_t userProperty; - #endif - - /** - * @brief Used to encode content type length. - * - **/ - uint8_t serializedContentTypeLength[ 2 ]; - - /** - * @brief Used to encode content type id. - * - **/ - uint8_t contentTypeId; - - /** - * @brief Used to encode response topic length. - * - **/ - uint8_t serializedResponseTopicLength[ 2 ]; - - /** - * @brief Used to encode response topic id. - * - **/ - uint8_t responseTopicId; - - /** - * @brief Used to encode correlation data length. - * - **/ - uint8_t serializedCorrelationLength[ 2 ]; - - /** - * @brief Used to encode correlation data id. - * - **/ - uint8_t correlationDataId; - } WillVector_t; - -/** - * @brief Struct used to deserialize the connect properties. - * - **/ - typedef struct ConnectPropertiesVector - { - #if ( MQTT_USER_PROPERTY_ENABLED ) - - /** - * @brief Used to encode user property. - * - **/ - UserPropertyVector_t userProperty; - #endif - - /** - * @brief Used to encode authentication method length. - * - **/ - uint8_t serializedAuthMethodLength[ 2 ]; - - /** - * @brief Used to authentication method id. - * - **/ - uint8_t authMethodId; - - /** - * @brief Used to encode authentication data length. - * - **/ - uint8_t serializedAuthDataLength[ 2 ]; - - /** - * @brief Used to authentication data id. - * - **/ - uint8_t authDataId; - } PropertiesVector_t; - - /** * @brief Add a string ,its length and its id after serializing it in a manner outlined by * the MQTT specification. @@ -746,7 +747,7 @@ static bool matchTopicFilter( const char * pTopicName, * @return The number of vectors added. */ - static size_t sendUserProperties( MQTTUserProperties_t * pUserProperty, + static size_t sendUserProperties( const MQTTUserProperties_t * pUserProperty, UserPropertyVector_t * pUserVector, size_t * pTotalMessageLength, TransportOutVector_t ** pVectorIterator ); @@ -818,7 +819,7 @@ static bool matchTopicFilter( const char * pTopicName, return vectorsAdded; } - static size_t sendUserProperties( MQTTUserProperties_t * pUserProperty, + static size_t sendUserProperties( const MQTTUserProperties_t * pUserProperty, UserPropertyVector_t * pUserVector, size_t * pTotalMessageLength, TransportOutVector_t ** pVectorIterator ) diff --git a/source/include/core_mqtt_config_defaults.h b/source/include/core_mqtt_config_defaults.h index bce128bc1..eb26b9503 100644 --- a/source/include/core_mqtt_config_defaults.h +++ b/source/include/core_mqtt_config_defaults.h @@ -84,6 +84,10 @@ #endif /*Disable the user properties if max user property is set to 0.*/ #if ( MAX_USER_PROPERTY == 0U ) + /** + * @ingroup mqtt_constants + * @brief Enable and disable user properties. + */ #define MQTT_USER_PROPERTY_ENABLED ( false ) #else #define MQTT_USER_PROPERTY_ENABLED ( true ) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index c110eb7ca..cb36c6230 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -54,7 +54,8 @@ if( COV_ANALYSIS ) target_compile_definitions( coverity_analysis PUBLIC MQTT_DO_NOT_USE_CUSTOM_CONFIG=1 ) target_compile_definitions( coverity_analysis PUBLIC MQTT_VERSION_5_ENABLED=1 ) target_compile_definitions( coverity_analysis PUBLIC MAX_USER_PROPERTY=5) - + target_compile_definitions( coverity_analysis PUBLIC MQTT_USER_PROPERTY_ENABLED=1) + # MQTT public include path. target_include_directories( coverity_analysis PUBLIC ${MQTT_INCLUDE_PUBLIC_DIRS} ) From e81e0689d12bd5a3bda6e93145b23be3dade2f89 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Wed, 3 Jul 2024 09:07:39 +0000 Subject: [PATCH 60/82] Uncrustify: triggered by comment. --- source/core_mqtt.c | 2 +- source/include/core_mqtt_config_defaults.h | 9 +++++---- test/CMakeLists.txt | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 15496106a..977968873 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -127,7 +127,7 @@ */ #define CORE_MQTT_ID_SIZE ( 1U ) - #if ( MQTT_USER_PROPERTY_ENABLED ) + #if ( MQTT_USER_PROPERTY_ENABLED ) /** * @brief Struct used to deserialize the will properties. diff --git a/source/include/core_mqtt_config_defaults.h b/source/include/core_mqtt_config_defaults.h index eb26b9503..131d5557e 100644 --- a/source/include/core_mqtt_config_defaults.h +++ b/source/include/core_mqtt_config_defaults.h @@ -84,10 +84,11 @@ #endif /*Disable the user properties if max user property is set to 0.*/ #if ( MAX_USER_PROPERTY == 0U ) - /** - * @ingroup mqtt_constants - * @brief Enable and disable user properties. - */ + +/** + * @ingroup mqtt_constants + * @brief Enable and disable user properties. + */ #define MQTT_USER_PROPERTY_ENABLED ( false ) #else #define MQTT_USER_PROPERTY_ENABLED ( true ) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index cb36c6230..1994824d5 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -55,7 +55,7 @@ if( COV_ANALYSIS ) target_compile_definitions( coverity_analysis PUBLIC MQTT_VERSION_5_ENABLED=1 ) target_compile_definitions( coverity_analysis PUBLIC MAX_USER_PROPERTY=5) target_compile_definitions( coverity_analysis PUBLIC MQTT_USER_PROPERTY_ENABLED=1) - + # MQTT public include path. target_include_directories( coverity_analysis PUBLIC ${MQTT_INCLUDE_PUBLIC_DIRS} ) From 84c205450519b1a8d8a70901b32bc5f9099c2dee Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Wed, 3 Jul 2024 19:39:12 +0000 Subject: [PATCH 61/82] MQTTV5 publish --- source/core_mqtt.c | 278 ++++++- source/core_mqtt_serializer.c | 722 +++++++++++++++++- source/include/core_mqtt.h | 6 +- source/include/core_mqtt_serializer.h | 61 ++ .../MQTTv5/core_mqttv5_serializer_utest.c | 684 +++++++---------- 5 files changed, 1294 insertions(+), 457 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 977968873..9a0c7b59e 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -122,6 +122,12 @@ */ #define MQTT_CORRELATION_DATA_ID ( 0x09 ) +/** + * @brief Correlation Data id. + */ + #define MQTT_REASON_STRING_ID ( 0x1F ) + + /** * @brief Size of the property id. */ @@ -205,7 +211,7 @@ * **/ uint8_t correlationDataId; - } WillVector_t; + } PublishVector_t; /** * @brief Struct used to deserialize the connect properties. @@ -754,10 +760,10 @@ static bool matchTopicFilter( const char * pTopicName, /** - * @brief Serialize the variable length will properties. + * @brief Serialize the variable length publish properties. * - * @param[in] pWillInfo Properties to serialize - * @param[in] pWillVector vectors used to encode. + * @param[in] pPublishInfo Properties to serialize + * @param[in] pPublishVector Vectors used to encode. * @param[in] pTotalMessageLength The iterator pointing to the first element in the * transport interface IO array. * @param[out] pVectorIterator This parameter will be added to with the number of @@ -766,8 +772,8 @@ static bool matchTopicFilter( const char * pTopicName, * @return The number of vectors added. */ - static size_t sendWillProperties( const MQTTPublishInfo_t * pWillInfo, - WillVector_t * pWillVector, + static size_t sendPublishProperties( const MQTTPublishInfo_t * pPublishInfo, + PublishVector_t * pPublishVector, size_t * pTotalMessageLength, TransportOutVector_t ** pVectorIterator ); @@ -789,6 +795,11 @@ static bool matchTopicFilter( const char * pTopicName, size_t * pTotalMessageLength, TransportOutVector_t ** pVectorIterator ); + static MQTTStatus_t sendPublishAcksWithProperty( MQTTContext_t * pContext, + uint16_t packetId, + MQTTPublishState_t publishState, + MQTTAckInfo_t* pAckInfo); + /*-----------------------------------------------------------*/ static size_t addEncodedStringToVectorWithId( uint8_t serializedLength[ CORE_MQTT_SERIALIZED_LENGTH_FIELD_BYTES ], @@ -857,8 +868,8 @@ static bool matchTopicFilter( const char * pTopicName, return ioVectorLength; } - static size_t sendWillProperties( const MQTTPublishInfo_t * pWillInfo, - WillVector_t * pWillVector, + static size_t sendPublishProperties( const MQTTPublishInfo_t * pPublishInfo, + PublishVector_t * pPublishVector, size_t * pTotalMessageLength, TransportOutVector_t ** pVectorIterator ) { @@ -866,47 +877,47 @@ static bool matchTopicFilter( const char * pTopicName, size_t ioVectorLength = 0U; TransportOutVector_t * iterator = *pVectorIterator; - pWillVector->contentTypeId = MQTT_CONTENT_TYPE_ID; - pWillVector->responseTopicId = MQTT_RESPONSE_TOPIC_ID; - pWillVector->correlationDataId = MQTT_CORRELATION_DATA_ID; + pPublishVector->contentTypeId = MQTT_CONTENT_TYPE_ID; + pPublishVector->responseTopicId = MQTT_RESPONSE_TOPIC_ID; + pPublishVector->correlationDataId = MQTT_CORRELATION_DATA_ID; /* Encode the content type if provided.*/ - if( pWillInfo->contentTypeLength != 0U ) + if( pPublishInfo->contentTypeLength != 0U ) { /* Serialize the content type string. */ - vectorsAdded = addEncodedStringToVectorWithId( pWillVector->serializedContentTypeLength, - pWillInfo->pContentType, - pWillInfo->contentTypeLength, + vectorsAdded = addEncodedStringToVectorWithId( pPublishVector->serializedContentTypeLength, + pPublishInfo->pContentType, + pPublishInfo->contentTypeLength, iterator, - pTotalMessageLength, &pWillVector->contentTypeId ); + pTotalMessageLength, &pPublishVector->contentTypeId ); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; } /* Encode the response topic if provided. */ - if( pWillInfo->responseTopicLength != 0U ) + if( pPublishInfo->responseTopicLength != 0U ) { /* Serialize the response topic string. */ - vectorsAdded = addEncodedStringToVectorWithId( pWillVector->serializedResponseTopicLength, - pWillInfo->pResponseTopic, - pWillInfo->responseTopicLength, + vectorsAdded = addEncodedStringToVectorWithId( pPublishVector->serializedResponseTopicLength, + pPublishInfo->pResponseTopic, + pPublishInfo->responseTopicLength, iterator, - pTotalMessageLength, &pWillVector->responseTopicId ); + pTotalMessageLength, &pPublishVector->responseTopicId ); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; } /* Encode the correlation length if provided. */ - if( pWillInfo->correlationLength != 0U ) + if( pPublishInfo->correlationLength != 0U ) { /* Serialize the correlation data string. */ - vectorsAdded = addEncodedStringToVectorWithId( pWillVector->serializedCorrelationLength, - pWillInfo->pCorrelationData, - pWillInfo->correlationLength, + vectorsAdded = addEncodedStringToVectorWithId( pPublishVector->serializedCorrelationLength, + pPublishInfo->pCorrelationData, + pPublishInfo->correlationLength, iterator, - pTotalMessageLength, &pWillVector->correlationDataId ); + pTotalMessageLength, &pPublishVector->correlationDataId ); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; @@ -914,9 +925,9 @@ static bool matchTopicFilter( const char * pTopicName, #if ( MQTT_USER_PROPERTY_ENABLED ) /* Encode the user properties if provided. */ - if( pWillInfo->pUserProperty != NULL ) + if( pPublishInfo->pUserProperty != NULL ) { - ioVectorLength += sendUserProperties( pWillInfo->pUserProperty, &pWillVector->userProperty, pTotalMessageLength, &iterator ); + ioVectorLength += sendUserProperties( pPublishInfo->pUserProperty, &pPublishVector->userProperty, pTotalMessageLength, &iterator ); } #endif @@ -976,6 +987,117 @@ static bool matchTopicFilter( const char * pTopicName, *pVectorIterator = iterator; return ioVectorLength; } + + static MQTTStatus_t sendPublishAcksWithProperty( MQTTContext_t * pContext, + uint16_t packetId, + MQTTPublishState_t publishState, + MQTTAckInfo_t* pAckInfo) +{ + int32_t bytesSentOrError; + size_t vectorsAdded = 0U; + size_t ioVectorLength = 0U; + size_t totalMessageLength = 0U; + MQTTStatus_t status = MQTTSuccess; + MQTTPublishState_t newState = MQTTStateNull; + int32_t sendResult = 0; + uint8_t packetTypeByte = 0U; + MQTTPubAckType_t packetType; + uint8_t pubAckHeader[12]; + size_t remainingLength = 0U; + size_t propertyLength = 0U; + size_t packetSize = 0U; + TransportOutVector_t pIoVector[4 + MAX_USER_PROPERTY*5]; + uint8_t serializedReasonStringLength[ 2 ]; + uint8_t reasonStringId = MQTT_REASON_STRING_ID; + #if(MQTT_USER_PROEPRTY_ENABLED) + UserPropertyVector_t userVector; + #endif + uint8_t * pIndex =pubAckHeader; + TransportOutVector_t * iterator = pIoVector; + assert( pContext != NULL ); + assert( pAckInfo != NULL ); + packetTypeByte = getAckTypeToSend( publishState ); + status = MQTTV5_GetAckPacketSize(pAckInfo, &remainingLength, &propertyLength, &packetSize,pContext->connectProperties->serverMaxPacketSize); + + if( (packetTypeByte != 0U) && (status == MQTTSuccess) ) + { + packetType = getAckFromPacketType( packetTypeByte ); + /* Only for fixed size fields. */ + pIndex = MQTTV5_SerializeAckFixed( pIndex, + packetTypeByte, + packetId, + remainingLength, + propertyLength ); + iterator->iov_base = pubAckHeader; + /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-182 */ + /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-108 */ + /* coverity[misra_c_2012_rule_18_2_violation] */ + /* coverity[misra_c_2012_rule_10_8_violation] */ + iterator->iov_len = ( size_t ) ( pIndex - pubAckHeader ); + totalMessageLength += iterator->iov_len; + iterator++; + ioVectorLength++; + if(pAckInfo ->reasonStringLength != 0U) + { + /* Serialize the reason string. */ + vectorsAdded = addEncodedStringToVectorWithId( serializedReasonStringLength, + pAckInfo ->pReasonString, + pAckInfo ->reasonStringLength, + iterator, + &totalMessageLength, &reasonStringId ); + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; + } + #if(MQTT_USER_PROPERY_ENABLED) + /*Encode the user porperties if provided.*/ + if(pAckInfo->pUserProperty != NULL) + { + ioVectorLength += sendUserProperties( pAckInfo->pUserProperty, &userVector, &totalMessageLength, &iterator); + } + #endif + + bytesSentOrError = sendMessageVector( pContext, pIoVector, ioVectorLength ); + + if( bytesSentOrError != ( int32_t ) totalMessageLength ) + { + status = MQTTSendFailed; + } + + if(status == MQTTSuccess) + { + pContext->controlPacketSent = true; + + MQTT_PRE_STATE_UPDATE_HOOK( pContext ); + + status = MQTT_UpdateStateAck( pContext, + packetId, + packetType, + MQTT_SEND, + &newState ); + + MQTT_POST_STATE_UPDATE_HOOK( pContext ); + + + if( status != MQTTSuccess ) + { + LogError( ( "Failed to update state of publish %hu.", + ( unsigned short ) packetId ) ); + } + + } + else + { + LogError( ( "Failed to send ACK packet: PacketType=%02x, SentBytes=%ld, " + "PacketSize=%lu.", + ( unsigned int ) packetTypeByte, ( long int ) sendResult, + packetSize ) ); + status = MQTTSendFailed; + } + } + return status; +} + #endif /* if ( MQTT_VERSION_5_ENABLED ) */ /*-----------------------------------------------------------*/ @@ -1999,6 +2121,12 @@ static MQTTStatus_t handlePublishAcks( MQTTContext_t * pContext, MQTTPubAckType_t ackType; MQTTEventCallback_t appCallback; MQTTDeserializedInfo_t deserializedInfo; + #if(MQTT_VERSION_5_ENABLED) + MQTTAckInfo_t ackInfo; + MQTTAckInfo_t nextAckInfo; + memset(&ackInfo,0x0,sizeof(ackInfo)); + memset(&nextAckInfo,0x0,sizeof(nextAckInfo)); + #endif assert( pContext != NULL ); assert( pIncomingPacket != NULL ); @@ -2007,7 +2135,11 @@ static MQTTStatus_t handlePublishAcks( MQTTContext_t * pContext, appCallback = pContext->appCallback; ackType = getAckFromPacketType( pIncomingPacket->type ); + #if(!MQTT_VERSION_5_ENABLED) status = MQTT_DeserializeAck( pIncomingPacket, &packetIdentifier, NULL ); + #else + status = MQTTV5_DeserializeAck(pIncomingPacket,&packetIdentifier,&ackInfo,pContext->connectProperties->requestProblemInfo); + #endif LogInfo( ( "Ack packet deserialized with result: %s.", MQTT_Status_strerror( status ) ) ); @@ -2036,7 +2168,7 @@ static MQTTStatus_t handlePublishAcks( MQTTContext_t * pContext, MQTT_Status_strerror( status ) ) ); } } - + #if(!MQTT_VERSION_5_ENABLED) if( status == MQTTSuccess ) { /* Set fields of deserialized struct. */ @@ -2053,6 +2185,35 @@ static MQTTStatus_t handlePublishAcks( MQTTContext_t * pContext, packetIdentifier, publishRecordState ); } + #else + if(status == MQTTSuccess){ + deserializedInfo.packetIdentifier = packetIdentifier; + deserializedInfo.deserializationResult = status; + deserializedInfo.pPublishInfo = NULL; + deserializedInfo.pAckInfo = &ackInfo; + deserializedInfo.pNextAckInfo = &nextAckInfo; + /* Invoke application callback to hand the buffer over to application + * before sending acks. */ + appCallback( pContext, pIncomingPacket, &deserializedInfo ); + + /* Send PUBREL or PUBCOMP if necessary. */ + if(deserializedInfo.pNextAckInfo == NULL) + { + status = sendPublishAcks( pContext, + packetIdentifier, + publishRecordState ); + } + else + { + MQTT_PRE_SEND_HOOK( pContext ); + + status = sendPublishAcksWithProperty(pContext,packetIdentifier,publishRecordState,deserializedInfo.pNextAckInfo); + + MQTT_POST_SEND_HOOK( pContext ); + + } + } + #endif return status; } @@ -2539,12 +2700,24 @@ static MQTTStatus_t sendPublishWithoutCopy( MQTTContext_t * pContext, uint8_t serializedPacketID[ 2U ]; /* Maximum number of vectors required to encode and send a publish - * packet. The breakdown is shown below. - * Fixed header (including topic string length) 0 + 1 = 1 - * Topic string + 1 = 2 - * Packet ID (only when QoS > QoS0) + 1 = 3 - * Payload + 1 = 4 */ + * packet. The breakdown is shown below.*/ + #if(!MQTT_VERSION_5_ENABLED) TransportOutVector_t pIoVector[ 4U ]; + #else + /* + * Fixed sized properties + 1 = 5 + * Response topic + 3 = 8 + * Correlation data + 3 = 11 + * Content type + 3 = 14 + * User property 5 + */ + TransportOutVector_t pIoVector[5* MAX_USER_PROPERTY + 14]; + uint8_t serializedProperty[14U]; + uint8_t * pIndex; + PublishVector_t publishVector; + TransportOutVector_t * iterator; + #endif + /* The header is sent first. */ pIoVector[ 0U ].iov_base = pMqttHeader; @@ -2573,6 +2746,26 @@ static MQTTStatus_t sendPublishWithoutCopy( MQTTContext_t * pContext, totalMessageLength += sizeof( serializedPacketID ); } + #if(MQTT_VERSION_5_ENABLED) + + + /*Serialize the fixed publish properties.*/ + pIndex = serializedProperty; + iterator = &pIoVector[ioVectorLength]; + pIndex = MQTT_SerializePublishProperties( pPublishInfo, pIndex ); + iterator->iov_base = serializedProperty; + /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-182 */ + /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-108 */ + /* coverity[misra_c_2012_rule_18_2_violation] */ + /* coverity[misra_c_2012_rule_10_8_violation] */ + iterator->iov_len = ( size_t ) ( pIndex - serializedProperty ); + totalMessageLength += iterator->iov_len; + iterator++; + ioVectorLength++; + ioVectorLength += sendPublishProperties( pPublishInfo, &publishVector, &totalMessageLength, &iterator ); + + #endif + /* Publish packets are allowed to contain no payload. */ if( pPublishInfo->payloadLength > 0U ) { @@ -2646,7 +2839,7 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, uint8_t connectPacketHeader[ 39U ]; uint8_t fixedSizeProperties[ 20U ]; - WillVector_t willVector; + PublishVector_t willVector; PropertiesVector_t propertiesVector; #endif @@ -2735,7 +2928,7 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, totalMessageLength += iterator->iov_len; iterator++; ioVectorLength++; - ioVectorLength += sendWillProperties( pWillInfo, &willVector, &totalMessageLength, &iterator ); + ioVectorLength += sendPublishProperties( pWillInfo, &willVector, &totalMessageLength, &iterator ); #endif /* if ( MQTT_VERSION_5_ENABLED ) */ /* Serialize the topic. */ vectorsAdded = addEncodedStringToVector( serializedTopicLength, @@ -3312,7 +3505,7 @@ MQTTStatus_t MQTT_Subscribe( MQTTContext_t * pContext, /*-----------------------------------------------------------*/ MQTTStatus_t MQTT_Publish( MQTTContext_t * pContext, - const MQTTPublishInfo_t * pPublishInfo, + MQTTPublishInfo_t * pPublishInfo, uint16_t packetId ) { size_t headerSize = 0UL; @@ -3340,9 +3533,18 @@ MQTTStatus_t MQTT_Publish( MQTTContext_t * pContext, if( status == MQTTSuccess ) { /* Get the remaining length and packet size.*/ + #if(!MQTT_VERSION_5_ENABLED) status = MQTT_GetPublishPacketSize( pPublishInfo, &remainingLength, - &packetSize ); + &packetSize ); + #else + status = MQTTV5_GetPublishPacketSize( pPublishInfo, + &remainingLength, + &packetSize, + pContext->connectProperties->serverTopicAliasMax, + pContext->connectProperties->serverMaxPacketSize ); + + #endif } if( status == MQTTSuccess ) diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 958e4b94f..458652d5d 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -232,6 +232,11 @@ */ #define MQTT_CORRELATION_DATA_ID ( 0x09 ) +/** + * @brief Topic alias id. + */ + #define MQTT_TOPIC_ALIAS_ID ( 0x23 ) + /*CONNACK PROPERTIES*/ /** @@ -291,6 +296,12 @@ #define CORE_MQTT_ID_SIZE ( 1U ) +/** + * @ingroup mqtt_constants + * @brief The size of MQTT PUBACK, PUBREC, PUBREL, and PUBCOMP packets with reason code, packet id. + */ +#define MQTT_PUBLISH_ACK_PACKET_SIZE_WITH_REASON ( 3UL ) + #endif /* if ( MQTT_VERSION_5_ENABLED ) */ /** @@ -902,6 +913,34 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); static MQTTStatus_t deserializeConnackV5( MQTTConnectProperties_t * pConnackProperties, size_t length, const uint8_t * const * pIndex ); + + static MQTTStatus_t calculatePublishPacketSizeV5( MQTTPublishInfo_t * pPublishInfo, + size_t * pRemainingLength, + size_t * pPacketSize, + uint32_t maxPacketSize ); + + static void serailzeAckPacketV5( const MQTTAckInfo_t * pAckInfo, + uint8_t packetType, + uint16_t packetId, + size_t remainingLength, + size_t propertyLength, + const MQTTFixedBuffer_t * pFixedBuffer ); + + static MQTTStatus_t logAckResponseV5(ReasonCode_t reasonCode,uint16_t packetIdentifier); + + static MQTTStatus_t logSimpleAckResponseV5(ReasonCode_t reasonCode,uint16_t packetIdentifier); + + static MQTTStatus_t decodeAckProperties (MQTTAckInfo_t * pAckInfo,const uint8_t * index, size_t remainingLength); + + + static MQTTStatus_t deserializeSimpleAckV5( const MQTTPacketInfo_t * pAck, + uint16_t * pPacketIdentifier, + MQTTAckInfo_t *pAckInfo, + uint8_t requestProblem ); + + static uint8_t * serializePublishProperties(const MQTTPublishInfo_t *pPublishInfo, uint8_t * pIndex); + + /*-----------------------------------------------------------*/ #if ( MQTT_USER_PROPERTY_ENABLED ) @@ -1147,7 +1186,11 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); { propertyLength += MQTT_WILL_DELAY_SIZE; } - + /*Only applicable for publish packet.*/ + if(pPublishProperties->topicAlias != 0U) + { + propertyLength += 3U; + } if( pPublishProperties->payloadFormat != 0U ) { propertyLength += MQTT_PAYLOAD_FORMAT_SIZE; @@ -1887,7 +1930,344 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); return status; } +static MQTTStatus_t calculatePublishPacketSizeV5( MQTTPublishInfo_t * pPublishInfo, + size_t * pRemainingLength, + size_t * pPacketSize, + uint32_t maxPacketSize ) +{ + bool status = true; + size_t packetSize = 0, payloadLimit = 0; + assert( pPublishInfo != NULL ); + assert( pRemainingLength != NULL ); + assert( pPacketSize != NULL ); + + /* The variable header of a PUBLISH packet always contains the topic name. + * The first 2 bytes of UTF-8 string contains length of the string. + */ + packetSize += pPublishInfo->topicNameLength + sizeof( uint16_t ); + + /* The variable header of a QoS 1 or 2 PUBLISH packet contains a 2-byte + * packet identifier. */ + if( pPublishInfo->qos > MQTTQoS0 ) + { + packetSize += sizeof( uint16_t ); + } + + /*Calculate the size of the publish properties*/ + status = MQTT_GetPublishPropertiesSize(pPublishInfo); + + if(status == MQTTSuccess){ + packetSize += pPublishInfo->propertyLength; + packetSize += remainingLengthEncodedSize (pPublishInfo->propertyLength); + /* Calculate the maximum allowed size of the payload for the given parameters. + * This calculation excludes the "Remaining length" encoding, whose size is not + * yet known. */ + payloadLimit = MQTT_MAX_REMAINING_LENGTH - packetSize - 1U; + + /* Ensure that the given payload fits within the calculated limit. */ + if( pPublishInfo->payloadLength > payloadLimit ) + { + LogError( ( "PUBLISH payload length of %lu cannot exceed " + "%lu so as not to exceed the maximum " + "remaining length of MQTT 3.1.1 packet( %lu ).", + ( unsigned long ) pPublishInfo->payloadLength, + ( unsigned long ) payloadLimit, + MQTT_MAX_REMAINING_LENGTH ) ); + status = MQTTBadParameter; + } + + } + if(status == MQTTSuccess) + { + /* Add the length of the PUBLISH payload. At this point, the "Remaining length" + * has been calculated. */ + packetSize += pPublishInfo->payloadLength; + + /* Now that the "Remaining length" is known, recalculate the payload limit + * based on the size of its encoding. */ + payloadLimit -= remainingLengthEncodedSize( packetSize ); + + /* Check that the given payload fits within the size allowed by MQTT spec. */ + if( pPublishInfo->payloadLength > payloadLimit ) + { + LogError( ( "PUBLISH payload length of %lu cannot exceed " + "%lu so as not to exceed the maximum " + "remaining length of MQTT 3.1.1 packet( %lu ).", + ( unsigned long ) pPublishInfo->payloadLength, + ( unsigned long ) payloadLimit, + MQTT_MAX_REMAINING_LENGTH ) ); + status = MQTTBadParameter; + } + else + { + /* Set the "Remaining length" output parameter and calculate the full + * size of the PUBLISH packet. */ + *pRemainingLength = packetSize; + + packetSize += 1U + remainingLengthEncodedSize( packetSize ); + if(packetSize > maxPacketSize){ + LogError(("Packet size is greater than the allowed maximum packet size.")); + status = MQTTBadParameter; + } + *pPacketSize = packetSize; + } + } + + LogDebug( ( "PUBLISH packet remaining length=%lu and packet size=%lu.", + ( unsigned long ) *pRemainingLength, + ( unsigned long ) *pPacketSize ) ); + + return status; +} + + static void serailzeAckPacketV5( const MQTTAckInfo_t * pAckInfo, + uint8_t packetType, + uint16_t packetId, + size_t remainingLength, + size_t propertyLength, + const MQTTFixedBuffer_t * pFixedBuffer ) + { + uint8_t * pIndex = NULL; + + assert( pAckInfo != NULL ); + assert( pFixedBuffer != NULL ); + assert( pFixedBuffer->pBuffer != NULL ); + pIndex = pFixedBuffer->pBuffer; + /* Serialize the header including reason code and property length */ + pIndex = MQTTV5_SerializeAckFixed( pIndex, + packetType, + packetId, + remainingLength, + propertyLength ); + /*Serialize the reason string if provided.*/ + if(pAckInfo->reasonStringLength != 0U) + { + *pIndex = MQTT_REASON_STRING_ID; + pIndex++; + pIndex = encodeString( pIndex, pAckInfo->pReasonString, pAckInfo->reasonStringLength ); + } + #if(MQTT_USER_PROPERTY_ENABLED) + /*Serialize the user properties if provided.*/ + if( pAckInfo->pUserProperty != NULL ) + { + uint32_t i = 0; + uint32_t size = pAckInfo->pUserProperty->count; + const MQTTUserProperty_t * pUserProperty = pAckInfo->pUserProperty->userProperty; + + for( ; i < size; i++ ) + { + *pIndex = MQTT_USER_PROPERTY_ID; + pIndex++; + pIndex = encodeString( pIndex, pUserProperty[ i ].pKey, pUserProperty[ i ].keyLength ); + pIndex = encodeString( pIndex, pUserProperty[ i ].pValue, pUserProperty[ i ].valueLength ); + } + } + #endif + /* Ensure that the difference between the end and beginning of the buffer + * is less than the buffer size. */ + assert( ( ( size_t ) ( pIndex - pFixedBuffer->pBuffer ) ) <= pFixedBuffer->size ); + } + + +static MQTTStatus_t logAckResponseV5(ReasonCode_t reasonCode,uint16_t packetIdentifier){ + MQTTStatus_t status = MQTTServerRefused; + switch(reasonCode){ + case MQTT_REASON_SUCCESS: + status = MQTTSuccess; + break; + case MQTT_REASON_NO_MATCHING_SUBSCRIBERS: + LogDebug(("Publish accepted with packet id %hu: No matching subscribers.", + ( unsigned short ) packetIdentifier) ); + status = MQTTSuccess; + break; + case MQTT_REASON_UNSPECIFIED_ERR: + LogError( ( "Publish refused with packet id %hu: Connection rate exceeded.", + ( unsigned short ) packetIdentifier) ); + break; + case MQTT_REASON_IMPL_SPECIFIC_ERR: + LogError( ( "Publish refused with packet id %hu: The PUBLISH is valid but the receiver is not willing to accept it.", + ( unsigned short ) packetIdentifier) ); + break; + case MQTT_REASON_NOT_AUTHORIZED: + LogError( ( "Publish refused with packet id %hu: The PUBLISH is not authorized.", + ( unsigned short ) packetIdentifier) ); + break; + case MQTT_REASON_TOPIC_NAME_INVALID: + LogError( ( "Publish refused with packet id %hu: Topic Name not accepted.", + ( unsigned short ) packetIdentifier) ); + break; + case MQTT_REASON_PACKET_ID_IN_USE: + LogError( ( "Publish refused with packet id %hu: The Packet Identifier is already in use. ", + ( unsigned short ) packetIdentifier) ); + break; + case MQTT_REASON_QUOTA_EXCEEDED: + LogError( ( "Publish refused with packet id %hu: Quota exceeded.", + ( unsigned short ) packetIdentifier) ); + break; + case MQTT_REASON_PAYLOAD_FORMAT_INVALID: + LogError( ( "Publish refused with packet id %hu: Payload format indicator is invalid.", + ( unsigned short ) packetIdentifier) ); + break; + default: + status = MQTTProtocolError; + break; + } + return status; +} + +static MQTTStatus_t logSimpleAckResponseV5(ReasonCode_t reasonCode,uint16_t packetIdentifier){ + MQTTStatus_t status = MQTTServerRefused; + switch(reasonCode){ + case MQTT_REASON_SUCCESS: + status = MQTTSuccess; + break; + case MQTT_REASON_PACKET_ID_NOT_FOUND: + LogError( ( "Publish refused with packet id %hu: Connection rate exceeded.", + ( unsigned short ) packetIdentifier) ); + status = MQTTServerRefused; + break; + default: + status = MQTTProtocolError; + break; + } + return status; +} + + +static MQTTStatus_t decodeAckProperties(MQTTAckInfo_t * pAckInfo,const uint8_t * index, size_t remainingLength) +{ + size_t propertyLength = 0U; + MQTTStatus_t status = MQTTSuccess; + const uint8_t * pIndex= index; + /*Decode the property length*/ + status = decodeVariableLength(pIndex,&propertyLength); + if(status == MQTTSuccess) + { + pIndex= &pIndex[remainingLengthEncodedSize(propertyLength)];\ + /*Validate the remaining length.*/ + if(remainingLength != propertyLength + remainingLengthEncodedSize(propertyLength)+ 2){ + status = MQTTMalformedPacket; + } + } + if(status == MQTTSuccess) + { + while((propertyLength>0) && (status == MQTTSuccess)) + { + /*Decode the poperty id.*/ + uint8_t packetId = *pIndex; + bool reasonString; + pIndex = &pIndex[1]; + propertyLength -= sizeof( uint8_t ); + switch(packetId){ + case MQTT_REASON_STRING_ID: + status = decodeutf_8( &pAckInfo->pReasonString, &pAckInfo->reasonStringLength, &propertyLength, &reasonString, &pIndex ); + break; + case MQTT_USER_PROPERTY_ID: + #if(MQTT_USER_PROEPRTY_ENABLED) + status = decodeutf_8pair( pAckInfo->pUserProperty, pAckInfo->pUserProperty->count, &propertyLength, &pIndex); + #endif + break; + + } + } + } + return status; + +} + +static MQTTStatus_t deserializeSimpleAckV5( const MQTTPacketInfo_t * pAck, + uint16_t * pPacketIdentifier, + MQTTAckInfo_t *pAckInfo, + uint8_t requestProblem ) +{ + MQTTStatus_t status = MQTTSuccess; + const uint8_t * pIndex = pAck->pRemainingData; + + if(pAck->remainingLength< 2U){ + status = MQTTMalformedPacket; + } + + if(status == MQTTSuccess){ + /* Extract the packet identifier (third and fourth bytes) from ACK. */ + *pPacketIdentifier = UINT16_DECODE(pIndex); + + LogDebug( ( "Packet identifier %hu.", + ( unsigned short ) *pPacketIdentifier ) ); + + /* Packet identifier cannot be 0. */ + if( *pPacketIdentifier == 0U ) + { + LogError( ( "Packet identifier cannot be 0." ) ); + status = MQTTBadResponse; + } + + } + /* If reason code is success, server can choose to not send the reason code.*/ + if((status == MQTTSuccess) && (pAck->remainingLength > 2)){ + pAckInfo->reasonCode = *pIndex; + pIndex += 1; + } + if((pAck->remainingLength > 3)) + { + /*Protocol error to send user property and reason string if client has set request problem to false.*/ + if(requestProblem == false) + { + status = MQTTProtocolError; + } + else + { + status = decodeAckProperties(pAckInfo,pIndex,pAck->remainingLength); + + } + } + + return status; +} + +static uint8_t * serializePublishProperties(const MQTTPublishInfo_t *pPublishInfo, uint8_t * pIndex) +{ + pIndex = MQTT_SerializePublishProperties( pPublishInfo, pIndex ); + + /*Serialize the provided will properties which has variable length.*/ + if( pPublishInfo->contentTypeLength != 0U ) + { + *pIndex = MQTT_CONTENT_TYPE_ID; + pIndex++; + pIndex = encodeString( pIndex, pPublishInfo->pContentType, pPublishInfo->contentTypeLength ); + } + + + if( pPublishInfo->responseTopicLength != 0U ) + { + *pIndex = MQTT_RESPONSE_TOPIC_ID; + pIndex++; + pIndex = encodeString( pIndex, pPublishInfo->pResponseTopic, pPublishInfo->responseTopicLength ); + } + + if( pPublishInfo->correlationLength != 0U ) + { + *pIndex = MQTT_CORRELATION_DATA_ID; + pIndex++; + pIndex = encodeString( pIndex, pPublishInfo->pCorrelationData, pPublishInfo->correlationLength ); + } + + if( pPublishInfo->pUserProperty != NULL ) + { + uint32_t i = 0; + uint32_t size = pPublishInfo->pUserProperty->count; + const MQTTUserProperty_t * pUserProperty = pPublishInfo->pUserProperty->userProperty; + + for( ; i < size; i++ ) + { + *pIndex = MQTT_USER_PROPERTY_ID; + pIndex++; + pIndex = encodeString( pIndex, pUserProperty[ i ].pKey, pUserProperty[ i ].keyLength ); + pIndex = encodeString( pIndex, pUserProperty[ i ].pValue, pUserProperty[ i ].valueLength ); + } + } + return pIndex; +} #endif /* if ( MQTT_VERSION_5_ENABLED ) */ /*-----------------------------------------------------------*/ @@ -2216,6 +2596,10 @@ static void serializePublishCommon( const MQTTPublishInfo_t * pPublishInfo, pIndex = &pIndex[ 2U ]; } + #if(MQTT_VERSION_5_ENABLED) + pIndex = serializePublishProperties(pPublishInfo,pIndex); + #endif + /* The payload is placed after the packet identifier. * Payload is copied over only if required by the flag serializePayload. * This will help reduce an unnecessary copy of the payload into the buffer. @@ -4498,5 +4882,341 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, return status; } +MQTTStatus_t MQTTV5_GetPublishPacketSize(MQTTPublishInfo_t * pPublishInfo, + size_t * pRemainingLength, + size_t * pPacketSize, + uint16_t topicAliasMax, + uint32_t maxPacketSize ) +{ + MQTTStatus_t status = MQTTSuccess; + + if( ( pPublishInfo == NULL ) || ( pRemainingLength == NULL ) || ( pPacketSize == NULL ) ) + { + LogError( ( "Argument cannot be NULL: pPublishInfo=%p, " + "pRemainingLength=%p, pPacketSize=%p.", + ( void * ) pPublishInfo, + ( void * ) pRemainingLength, + ( void * ) pPacketSize ) ); + status = MQTTBadParameter; + } + else if(( pPublishInfo->pTopicName == NULL ) && ( pPublishInfo->topicNameLength != 0U )) + { + LogError( ( "Invalid topic name for PUBLISH: pTopicName=%p, " + "topicNameLength=%hu.", + ( void * ) pPublishInfo->pTopicName, + ( unsigned short ) pPublishInfo->topicNameLength ) ); + status = MQTTBadParameter; + } + else if((pPublishInfo->topicAlias == 0U) && ( pPublishInfo->topicNameLength == 0U )){ + LogError( ( "Invalid topic name for PUBLISH: pTopicName=%p, " + "topicNameLength=%hu.", + ( void * ) pPublishInfo->pTopicName, + ( unsigned short ) pPublishInfo->topicNameLength ) ); + status = MQTTBadParameter; + } + else if(maxPacketSize == 0U){ + status = MQTTBadParameter; + } + else if(pPublishInfo->topicAlias > topicAliasMax){ + LogError(("Invalid topic alias.")); + status = MQTTBadParameter; + } + else + { + status = calculatePublishPacketSizeV5(pPublishInfo, pRemainingLength, pPacketSize,maxPacketSize); + } + + return status; +} + +MQTTStatus_t MQTTV5_SerializePublish( const MQTTPublishInfo_t * pPublishInfo, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t * pFixedBuffer) +{ + MQTTStatus_t status = MQTTSuccess; + size_t packetSize = 0; + + if( ( pFixedBuffer == NULL ) || ( pPublishInfo == NULL ) ) + { + LogError( ( "Argument cannot be NULL: pFixedBuffer=%p, " + "pPublishInfo=%p.", + ( void * ) pFixedBuffer, + ( void * ) pPublishInfo ) ); + status = MQTTBadParameter; + } + /* A buffer must be configured for serialization. */ + else if( pFixedBuffer->pBuffer == NULL ) + { + LogError( ( "Argument cannot be NULL: pFixedBuffer->pBuffer is NULL." ) ); + status = MQTTBadParameter; + } + + /* For serializing a publish, if there exists a payload, then the buffer + * cannot be NULL. */ + else if( ( pPublishInfo->payloadLength > 0U ) && ( pPublishInfo->pPayload == NULL ) ) + { + LogError( ( "A nonzero payload length requires a non-NULL payload: " + "payloadLength=%lu, pPayload=%p.", + ( unsigned long ) pPublishInfo->payloadLength, + pPublishInfo->pPayload ) ); + status = MQTTBadParameter; + } + else if(( pPublishInfo->pTopicName == NULL ) && ( pPublishInfo->topicNameLength != 0U )) + { + LogError( ( "Invalid topic name for PUBLISH: pTopicName=%p, " + "topicNameLength=%hu.", + ( void * ) pPublishInfo->pTopicName, + ( unsigned short ) pPublishInfo->topicNameLength ) ); + status = MQTTBadParameter; + } + else if((pPublishInfo->topicAlias == 0U) && ( pPublishInfo->topicNameLength == 0U )){ + LogError( ( "Invalid topic name for PUBLISH: pTopicName=%p, " + "topicNameLength=%hu.", + ( void * ) pPublishInfo->pTopicName, + ( unsigned short ) pPublishInfo->topicNameLength ) ); + status = MQTTBadParameter; + } + else if( ( pPublishInfo->qos != MQTTQoS0 ) && ( packetId == 0U ) ) + { + LogError( ( "Packet ID is 0 for PUBLISH with QoS=%u.", + ( unsigned int ) pPublishInfo->qos ) ); + status = MQTTBadParameter; + } + else if( ( pPublishInfo->dup == true ) && ( pPublishInfo->qos == MQTTQoS0 ) ) + { + LogError( ( "Duplicate flag is set for PUBLISH with Qos 0." ) ); + status = MQTTBadParameter; + } + else + { + /* Length of serialized packet = First byte + * + Length of encoded remaining length + * + Remaining length. */ + packetSize = 1U + remainingLengthEncodedSize( remainingLength ) + remainingLength; + } + + if( ( status == MQTTSuccess ) && ( packetSize > pFixedBuffer->size ) ) + { + LogError( ( "Buffer size of %lu is not sufficient to hold " + "serialized PUBLISH packet of size of %lu.", + ( unsigned long ) pFixedBuffer->size, + ( unsigned long ) packetSize ) ); + status = MQTTNoMemory; + } + + if( status == MQTTSuccess ) + { + /* Serialize publish with header and payload. */ + serializePublishCommon( pPublishInfo, + remainingLength, + packetId, + pFixedBuffer, + true ); + } + + return status; +} + +MQTTStatus_t MQTTV5_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, + uint16_t * pPacketId, MQTTAckInfo_t *pAckInfo, uint8_t requestProblem) +{ + MQTTStatus_t status = MQTTSuccess; + + if( pIncomingPacket == NULL ) + { + LogError( ( "pIncomingPacket cannot be NULL." ) ); + status = MQTTBadParameter; + } + + /* Pointer for packet identifier cannot be NULL for packets other than + * CONNACK and PINGRESP. */ + else if (pPacketId == NULL ) + { + LogError( ( "pPacketId cannot be NULL for packet type %02x.", + ( unsigned int ) pIncomingPacket->type ) ); + status = MQTTBadParameter; + } + + /* Pointer for remaining data cannot be NULL for packets other + * than PINGRESP. */ + else if( ( pIncomingPacket->pRemainingData == NULL ) && + ( pIncomingPacket->type != MQTT_PACKET_TYPE_PINGRESP ) ) + { + LogError( ( "Remaining data of incoming packet is NULL." ) ); + status = MQTTBadParameter; + } + else + { + /* Make sure response packet is a valid ack. */ + switch( pIncomingPacket->type ) + { + + case MQTT_PACKET_TYPE_SUBACK: + status = deserializeSuback( pIncomingPacket, pPacketId ); + break; + + case MQTT_PACKET_TYPE_UNSUBACK: + case MQTT_PACKET_TYPE_PUBACK: + case MQTT_PACKET_TYPE_PUBREC: + status = deserializeSimpleAckV5( pIncomingPacket, pPacketId ,pAckInfo,requestProblem); + if(status == MQTTSuccess){ + status = logAckResponseV5(pAckInfo->reasonCode,*pPacketId); + } + break; + + case MQTT_PACKET_TYPE_PUBREL: + case MQTT_PACKET_TYPE_PUBCOMP: + status = deserializeSimpleAckV5( pIncomingPacket, pPacketId ,pAckInfo,requestProblem); + if(status == MQTTSuccess){ + status = logSimpleAckResponseV5(pAckInfo->reasonCode,*pPacketId); + } + break; + + /* Any other packet type is invalid. */ + default: + LogError( ( "IotMqtt_DeserializeResponse() called with unknown packet type:(%02x).", + ( unsigned int ) pIncomingPacket->type ) ); + status = MQTTBadResponse; + break; + } + } + + return status; +} + +MQTTStatus_t MQTTV5_GetAckPacketSize(MQTTAckInfo_t *pAckInfo, size_t* pRemainingLength,size_t * pPropertyLength, size_t * pPacketSize, uint32_t maxPacketSize) +{ + MQTTStatus_t status = MQTTSuccess; + size_t length = 0U; + size_t propertyLength = 0U; + size_t packetSize = 0U; + /*Validate the parameters.*/ + if((pAckInfo== NULL) ||(pRemainingLength == NULL) || (pPacketSize == NULL) || (pPropertyLength == NULL)){ + status = MQTTBadParameter; + } + if(status == MQTTSuccess){ + length += MQTT_PUBLISH_ACK_PACKET_SIZE_WITH_REASON; + if(pAckInfo->reasonStringLength != 0){ + if(pAckInfo->pReasonString == NULL){ + status = MQTTBadParameter; + } + else + { + propertyLength += pAckInfo->reasonStringLength; + propertyLength += MQTT_UTF8_LENGTH_SIZE; + } + } + } + #if(MQTT_USER_PROEPRTY_ENABLED) + if((status == MQTTSuccess) && (pAckInfo->pUserProperty!= NULL)){ + status = MQTT_GetUserPropertySize(pAckInfo->pUserProperty->userProperty,pAckInfo->pUserProperty->count,&length); + } + #endif + if(status == MQTTSuccess) + { + /*Validate the length.*/ + if((propertyLength) maxPacketSize) + { + status = MQTTBadParameter; + } + else{ + *pPacketSize = packetSize; + } + } + return status; + +} + +uint8_t * MQTTV5_SerializeAckFixed(uint8_t * pIndex, + uint8_t packetType, + uint16_t packetId, + size_t remainingLength, + size_t propertyLength) +{ + uint8_t * pIndexLocal = pIndex; + + /* The first byte in the publish ack packet is the control packet type. */ + *pIndexLocal = packetType; + pIndexLocal++; + /*After the packet type fixed header has remaining length.*/ + pIndexLocal = encodeRemainingLength( pIndexLocal, remainingLength ); + /*Encode the packet id.*/ + pIndexLocal[0] = UINT16_HIGH_BYTE(packetId); + pIndexLocal[1] = UINT16_LOW_BYTE( packetId ); + pIndexLocal = &pIndexLocal[2]; + /*We are only sending the ack back if the reason is success.*/ + *pIndexLocal = (uint8_t)MQTT_REASON_SUCCESS; + pIndexLocal ++; + /*Encode the property length.*/ + pIndexLocal = encodeRemainingLength(pIndexLocal,propertyLength); + return pIndexLocal; +} + +MQTTStatus_t MQTTV5_SerializePubAckWithProperty( const MQTTAckInfo_t *pAckInfo, + size_t remainingLength, + size_t propertyLength, + const MQTTFixedBuffer_t * pFixedBuffer, + uint8_t packetType, + uint16_t packetId) +{ + MQTTStatus_t status = MQTTSuccess; + size_t ackPacketSize = 0; + /* Validate arguments. */ + if( ( pAckInfo == NULL ) || ( pFixedBuffer == NULL ) ) + { + LogError( ( "Argument cannot be NULL: pConnectInfo=%p, " + "pFixedBuffer=%p.", + ( void * ) pAckInfo, + ( void * ) pFixedBuffer ) ); + status = MQTTBadParameter; + } + /* A buffer must be configured for serialization. */ + else if( pFixedBuffer->pBuffer == NULL ) + { + LogError( ( "Argument cannot be NULL: pFixedBuffer->pBuffer is NULL." ) ); + status = MQTTBadParameter; + } + else + { + ackPacketSize = remainingLength + remainingLengthEncodedSize(remainingLength) + 1U; + /* Check that the full packet size fits within the given buffer. */ + if( ackPacketSize > pFixedBuffer->size ) + { + LogError( ( "Buffer size of %lu is not sufficient to hold " + "serialized ACK packet of size of %lu.", + ( unsigned long ) pFixedBuffer->size, + ( unsigned long ) ackPacketSize ) ); + status = MQTTNoMemory; + } + else + { + serailzeAckPacketV5(pAckInfo,packetType,packetId,remainingLength,propertyLength, pFixedBuffer); + + } + } + return status; + +} #endif /* if ( MQTT_VERSION_5_ENABLED ) */ /*-----------------------------------------------------------*/ diff --git a/source/include/core_mqtt.h b/source/include/core_mqtt.h index 42449f300..be9bd5e14 100644 --- a/source/include/core_mqtt.h +++ b/source/include/core_mqtt.h @@ -263,6 +263,10 @@ typedef struct MQTTDeserializedInfo uint16_t packetIdentifier; /**< @brief Packet ID of deserialized packet. */ MQTTPublishInfo_t * pPublishInfo; /**< @brief Pointer to deserialized publish info. */ MQTTStatus_t deserializationResult; /**< @brief Return code of deserialization. */ + #if(MQTT_VERSION_5_ENABLED) + MQTTAckInfo_t *pAckInfo; /**< @brief Pointer to deserialized ack info. */ + MQTTAckInfo_t *pNextAckInfo; /**< @brief Pointer to next ack info to send. */ + #endif } MQTTDeserializedInfo_t; /** @@ -630,7 +634,7 @@ MQTTStatus_t MQTT_Subscribe( MQTTContext_t * pContext, */ /* @[declare_mqtt_publish] */ MQTTStatus_t MQTT_Publish( MQTTContext_t * pContext, - const MQTTPublishInfo_t * pPublishInfo, + MQTTPublishInfo_t * pPublishInfo, uint16_t packetId ); /* @[declare_mqtt_publish] */ diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index f3b9f7cf8..e80eb844d 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -115,6 +115,8 @@ typedef enum MQTTStatus * @brief Reason Code is a one byte unsigned value that indicates the result of an operation. */ typedef enum ReasonCode { + MQTT_REASON_SUCCESS = 0x00, + MQTT_REASON_NO_MATCHING_SUBSCRIBERS =0x10, MQTT_REASON_UNSPECIFIED_ERR = 0x80, MQTT_REASON_MALFORMED_PACKET = 0x81, MQTT_REASON_PROTOCOL_ERR = 0x82, @@ -443,6 +445,33 @@ typedef struct MQTTConnectProperties } MQTTConnectProperties_t; + /** + * @ingroup mqtt_struct_types + * @brief Struct to hold acknowledgment properties. + */ +typedef struct MQTTAckInfo +{ + /** + * @brief Response code; + */ + ReasonCode_t reasonCode; + #if(MQTT_USER_PROPERTY_ENABLED) + /** + * @brief To store a key value pair. + */ + MQTTUserProperties_t* pUserProperty; + #endif + /** + * @brief Reason String is a human readable string designed for diagnostics. + */ + const char* pReasonString; + /** + * @brief Length of reason string. + */ + uint16_t reasonStringLength; +} MQTTAckInfo_t; + + /** * @ingroup mqtt_struct_types * @brief MQTT PUBLISH packet parameters. @@ -498,6 +527,10 @@ typedef struct MQTTPublishInfo **/ uint8_t payloadFormat; /** + * @brief Topic alias value. + **/ + uint16_t topicAlias; + /** * @brief Four Byte Integer representing the Message Expiry Interval. */ uint32_t msgExpiryInterval; @@ -1810,6 +1843,34 @@ MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, const MQTTFixedBuffer_t* pFixedBuffer); /* @[declare_mqttv5_serializeconnect] */ +MQTTStatus_t MQTTV5_GetPublishPacketSize(MQTTPublishInfo_t * pPublishInfo, + size_t * pRemainingLength, + size_t * pPacketSize , + uint16_t topicAliasMax, + uint32_t maxPacketSize); + +MQTTStatus_t MQTTV5_SerializePublish( const MQTTPublishInfo_t * pPublishInfo, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t * pFixedBuffer); + +MQTTStatus_t MQTTV5_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, + uint16_t * pPacketId, MQTTAckInfo_t *pAckInfo, uint8_t requestProblem); +MQTTStatus_t MQTTV5_GetAckPacketSize(MQTTAckInfo_t *pAckInfo, size_t* pRemainingLength,size_t * pPropertyLength, size_t * pPacketSize, uint32_t maxPacketSize); + +uint8_t * MQTTV5_SerializeAckFixed(uint8_t * pIndex, + uint8_t packetType, + uint16_t packetId, + size_t remainingLength, + size_t propertyLength); + +MQTTStatus_t MQTTV5_SerializePubAckWithProperty( const MQTTAckInfo_t *pAckInfo, + size_t remainingLength, + size_t propertyLength, + const MQTTFixedBuffer_t * pFixedBuffer, + uint8_t packetType, + uint16_t packetId); + /* *INDENT-OFF* */ #ifdef __cplusplus } diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index dedeb0771..185f41897 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -102,6 +102,10 @@ struct NetworkContext #define MQTT_CONNECT_FLAG_PASSWORD ( 6 ) /**< @brief Password present. */ #define MQTT_CONNECT_FLAG_USERNAME ( 7 ) /**< @brief User name present. */ +/*Default connect properties. */ +#define DEFAULT_RECEIVE_MAX (65535U) +#define DEFAULT_REQUEST_PROBLEM (1) + /** * @brief The Remaining Length field of MQTT disconnect packets, per MQTT spec. */ @@ -214,11 +218,26 @@ static uint8_t encodedStringBuffer[ MQTT_TEST_BUFFER_LENGTH ] = { 0 }; static uint8_t mqttBuffer[ MQTT_TEST_BUFFER_LENGTH ] = { 0 }; + +/* Variables common to testcases */ +MQTTConnectProperties_t properties; +MQTTUserProperties_t userProperties; +MQTTPublishInfo_t publishInfo; +MQTTConnectInfo_t connectInfo; +MQTTPacketInfo_t packetInfo; +MQTTStatus_t status; + /* ============================ UNITY FIXTURES ============================ */ /* Called before each test method. */ void setUp( void ) { + memset(&properties, 0x0, sizeof(properties)); + memset(&userProperties, 0x0, sizeof(userProperties)); + memset(&publishInfo, 0x0, sizeof(publishInfo)); + memset(&connectInfo, 0x0, sizeof(connectInfo)); + memset(&packetInfo, 0x0, sizeof(packetInfo)); + } /* Called after each test method. */ @@ -437,6 +456,33 @@ static void checkBufferOverflow( uint8_t * pBuffer, BUFFER_PADDING_LENGTH ); } +static void setupProperties( MQTTConnectProperties_t * pProperties ) +{ + pProperties->receiveMax = DEFAULT_RECEIVE_MAX; + pProperties->requestProblemInfo = DEFAULT_REQUEST_PROBLEM; +} + +static uint8_t * initializeDeserialize(MQTTPacketInfo_t *packetInfo,uint8_t *pIndex) +{ + uint8_t * pIndexLocal = pIndex; + packetInfo->pRemainingData = pIndexLocal; + packetInfo->type = MQTT_PACKET_TYPE_CONNACK; + *pIndexLocal = 0x01; + pIndexLocal++; + *pIndexLocal = 0x00; + pIndexLocal++; + return pIndexLocal; +} + +static uint8_t * serializeuint_32(uint8_t *pIndexLocal, uint32_t value) +{ + pIndexLocal[ 0 ] = UINT32_BYTE3( value ); + pIndexLocal[ 1 ] = UINT32_BYTE2( value ); + pIndexLocal[ 2 ] = UINT32_BYTE1( value ); + pIndexLocal[ 3 ] = UINT32_BYTE0( value ); + pIndexLocal = &pIndexLocal[ 4 ]; + return pIndexLocal; +} static MQTTStatus_t MQTT_GetUserPropertySize( const MQTTUserProperty_t * pUserProperty, uint32_t number, size_t * pSize ) @@ -832,7 +878,6 @@ static void verifySerializedConnectPacket( const MQTTConnectInfo_t * const pConn void test_MQTT_GetPublishPropertiesSize( void ) { MQTTStatus_t status = MQTTSuccess; - MQTTPublishInfo_t willInfo; /* Call MQTT_GetPublishPropertiesSize() with various combinations of * incorrect paramters */ @@ -841,59 +886,58 @@ void test_MQTT_GetPublishPropertiesSize( void ) * Max Packet Size cannot be null */ - memset( &willInfo, 0x0, sizeof( willInfo ) ); - status = MQTT_GetPublishPropertiesSize( &willInfo ); + status = MQTT_GetPublishPropertiesSize( &publishInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_size_t( 0, willInfo.propertyLength ); + TEST_ASSERT_EQUAL_size_t( 0, publishInfo.propertyLength ); - willInfo.willDelay = 10; - status = MQTT_GetPublishPropertiesSize( &willInfo ); + publishInfo.willDelay = 10; + status = MQTT_GetPublishPropertiesSize( &publishInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_size_t( 5, willInfo.propertyLength ); + TEST_ASSERT_EQUAL_size_t( 5, publishInfo.propertyLength ); - willInfo.payloadFormat = 1; - status = MQTT_GetPublishPropertiesSize( &willInfo ); + publishInfo.payloadFormat = 1; + status = MQTT_GetPublishPropertiesSize( &publishInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_size_t( 7, willInfo.propertyLength ); + TEST_ASSERT_EQUAL_size_t( 7, publishInfo.propertyLength ); - willInfo.msgExpiryPresent = 1; - willInfo.msgExpiryInterval = 10; - status = MQTT_GetPublishPropertiesSize( &willInfo ); + publishInfo.msgExpiryPresent = 1; + publishInfo.msgExpiryInterval = 10; + status = MQTT_GetPublishPropertiesSize( &publishInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_size_t( 12, willInfo.propertyLength ); + TEST_ASSERT_EQUAL_size_t( 12, publishInfo.propertyLength ); - willInfo.msgExpiryPresent = 1; - willInfo.msgExpiryInterval = 10; - status = MQTT_GetPublishPropertiesSize( &willInfo ); + publishInfo.msgExpiryPresent = 1; + publishInfo.msgExpiryInterval = 10; + status = MQTT_GetPublishPropertiesSize( &publishInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_size_t( 12, willInfo.propertyLength ); + TEST_ASSERT_EQUAL_size_t( 12, publishInfo.propertyLength ); - willInfo.contentTypeLength = 2; - status = MQTT_GetPublishPropertiesSize( &willInfo ); + publishInfo.contentTypeLength = 2; + status = MQTT_GetPublishPropertiesSize( &publishInfo ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - willInfo.pContentType = "ab"; - status = MQTT_GetPublishPropertiesSize( &willInfo ); + publishInfo.pContentType = "ab"; + status = MQTT_GetPublishPropertiesSize( &publishInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_size_t( 17, willInfo.propertyLength ); + TEST_ASSERT_EQUAL_size_t( 17, publishInfo.propertyLength ); - willInfo.responseTopicLength = 2; - status = MQTT_GetPublishPropertiesSize( &willInfo ); + publishInfo.responseTopicLength = 2; + status = MQTT_GetPublishPropertiesSize( &publishInfo ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - willInfo.pResponseTopic = "ab"; - status = MQTT_GetPublishPropertiesSize( &willInfo ); + publishInfo.pResponseTopic = "ab"; + status = MQTT_GetPublishPropertiesSize( &publishInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_size_t( 22, willInfo.propertyLength ); + TEST_ASSERT_EQUAL_size_t( 22, publishInfo.propertyLength ); - willInfo.correlationLength = 2; - status = MQTT_GetPublishPropertiesSize( &willInfo ); + publishInfo.correlationLength = 2; + status = MQTT_GetPublishPropertiesSize( &publishInfo ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - willInfo.pCorrelationData = "ab"; - status = MQTT_GetPublishPropertiesSize( &willInfo ); + publishInfo.pCorrelationData = "ab"; + status = MQTT_GetPublishPropertiesSize( &publishInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_size_t( 27, willInfo.propertyLength ); + TEST_ASSERT_EQUAL_size_t( 27, publishInfo.propertyLength ); MQTTUserProperties_t userProperties; userProperties.userProperty[ 0 ].pKey = "2"; @@ -904,11 +948,11 @@ void test_MQTT_GetPublishPropertiesSize( void ) userProperties.userProperty[ 1 ].keyLength = 1; userProperties.userProperty[ 1 ].valueLength = 2; userProperties.userProperty[ 1 ].pValue = "ab"; - willInfo.pUserProperty = &userProperties; + publishInfo.pUserProperty = &userProperties; userProperties.count = 2; - status = MQTT_GetPublishPropertiesSize( &willInfo ); + status = MQTT_GetPublishPropertiesSize( &publishInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_size_t( 44, willInfo.propertyLength ); + TEST_ASSERT_EQUAL_size_t( 44, publishInfo.propertyLength ); } void test_MQTT_SerializeConnectProperties( void ) @@ -917,7 +961,7 @@ void test_MQTT_SerializeConnectProperties( void ) uint8_t * pIndex = properties; uint8_t * index = properties; MQTTConnectProperties_t connect; - MQTTStatus_t status; + size_t propertyLength; memset( &connect, 0x0, sizeof( connect ) ); @@ -970,15 +1014,10 @@ void test_MQTT_SerializeConnectProperties( void ) void test_MQTTV5_DeserializeConnackOnlyStatus( void ) { - MQTTPacketInfo_t packetInfo; - MQTTConnectProperties_t properties; - MQTTStatus_t status; + uint8_t buffer[ 50 ]; uint8_t * index = buffer; MQTTUserProperties_t incomingProperty; - - memset( &properties, 0x0, sizeof( properties ) ); - memset( &packetInfo, 0x0, sizeof( packetInfo ) ); properties.pIncomingUserProperty = &incomingProperty; status = MQTTV5_DeserializeConnack( NULL, NULL, NULL ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); @@ -1149,34 +1188,18 @@ void test_MQTTV5_DeserializeConnackOnlyStatus( void ) void test_MQTTV5_DeserializeConnackOnlySessionExpiry( void ) { - MQTTPacketInfo_t packetInfo; - MQTTConnectProperties_t properties; - MQTTStatus_t status; - MQTTUserProperties_t userProperty; - - memset( &properties, 0x0, sizeof( properties ) ); - memset( &packetInfo, 0x0, sizeof( packetInfo ) ); - uint8_t buffer[ 200 ] = { 0 }; - uint8_t * pIndexLocal = buffer; - buffer[ 0 ] = 0x01; - buffer[ 1 ] = 0x00; + uint8_t buffer[200] = {0}; bool session = false; - packetInfo.pRemainingData = buffer; - packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - pIndexLocal = &buffer[ 2 ]; + uint8_t * pIndexLocal = initializeDeserialize(&packetInfo,buffer); size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); packetInfo.remainingLength = propertyLength + 7; properties.isMaxPacketSize = true; properties.maxPacketSize = 150; - properties.pIncomingUserProperty = &userProperty; + properties.pIncomingUserProperty = &userProperties; pIndexLocal++; *pIndexLocal = MQTT_SESSION_EXPIRY_ID; pIndexLocal++; - pIndexLocal[ 0 ] = UINT32_BYTE3( 12 ); - pIndexLocal[ 1 ] = UINT32_BYTE2( 12 ); - pIndexLocal[ 2 ] = UINT32_BYTE1( 12 ); - pIndexLocal[ 3 ] = UINT32_BYTE0( 12 ); - pIndexLocal = &pIndexLocal[ 4 ]; + pIndexLocal = serializeuint_32(pIndexLocal, 12); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); TEST_ASSERT_EQUAL_INT( 12, properties.sessionExpiry ); @@ -1188,18 +1211,10 @@ void test_MQTTV5_DeserializeConnackOnlySessionExpiry( void ) pIndexLocal++; *pIndexLocal = MQTT_SESSION_EXPIRY_ID; pIndexLocal++; - pIndexLocal[ 0 ] = UINT32_BYTE3( 12 ); - pIndexLocal[ 1 ] = UINT32_BYTE2( 12 ); - pIndexLocal[ 2 ] = UINT32_BYTE1( 12 ); - pIndexLocal[ 3 ] = UINT32_BYTE0( 12 ); - pIndexLocal = &pIndexLocal[ 4 ]; + pIndexLocal = serializeuint_32(pIndexLocal, 12); *pIndexLocal = MQTT_SESSION_EXPIRY_ID; pIndexLocal++; - pIndexLocal[ 0 ] = UINT32_BYTE3( 12 ); - pIndexLocal[ 1 ] = UINT32_BYTE2( 12 ); - pIndexLocal[ 2 ] = UINT32_BYTE1( 12 ); - pIndexLocal[ 3 ] = UINT32_BYTE0( 12 ); - pIndexLocal = &pIndexLocal[ 4 ]; + pIndexLocal = serializeuint_32(pIndexLocal, 12); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); @@ -1210,11 +1225,7 @@ void test_MQTTV5_DeserializeConnackOnlySessionExpiry( void ) pIndexLocal++; *pIndexLocal = MQTT_SESSION_EXPIRY_ID; pIndexLocal++; - pIndexLocal[ 0 ] = UINT32_BYTE3( 12 ); - pIndexLocal[ 1 ] = UINT32_BYTE2( 12 ); - pIndexLocal[ 2 ] = UINT32_BYTE1( 12 ); - pIndexLocal[ 3 ] = UINT32_BYTE0( 12 ); - pIndexLocal = &pIndexLocal[ 4 ]; + pIndexLocal = serializeuint_32(pIndexLocal, 12); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); @@ -1225,11 +1236,7 @@ void test_MQTTV5_DeserializeConnackOnlySessionExpiry( void ) pIndexLocal++; *pIndexLocal = 0x00; pIndexLocal++; - pIndexLocal[ 0 ] = UINT32_BYTE3( 12 ); - pIndexLocal[ 1 ] = UINT32_BYTE2( 12 ); - pIndexLocal[ 2 ] = UINT32_BYTE1( 12 ); - pIndexLocal[ 3 ] = UINT32_BYTE0( 12 ); - pIndexLocal = &pIndexLocal[ 4 ]; + pIndexLocal = serializeuint_32(pIndexLocal, 12); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); @@ -1255,13 +1262,7 @@ void test_MQTTV5_DeserializeConnackOnlySessionExpiry( void ) void test_MQTTV5_DeserializeConnackOnlyReceiveMax( void ) { - MQTTPacketInfo_t packetInfo; - MQTTConnectProperties_t properties; - MQTTStatus_t status; - MQTTUserProperties_t userProperty; - - memset( &properties, 0x0, sizeof( properties ) ); - memset( &packetInfo, 0x0, sizeof( packetInfo ) ); + uint8_t buffer[ 200 ] = { 0 }; uint8_t * pIndexLocal = buffer; buffer[ 0 ] = 0x01; @@ -1270,7 +1271,7 @@ void test_MQTTV5_DeserializeConnackOnlyReceiveMax( void ) packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperty; + properties.pIncomingUserProperty = &userProperties; size_t propertyLength = encodeRemainingLength( pIndexLocal, 3 ); packetInfo.remainingLength = propertyLength + 5; pIndexLocal++; @@ -1330,13 +1331,6 @@ void test_MQTTV5_DeserializeConnackOnlyReceiveMax( void ) void test_MQTTV5_DeserializeConnackOnlyMaxQos( void ) { - MQTTPacketInfo_t packetInfo; - MQTTConnectProperties_t properties; - MQTTStatus_t status; - MQTTUserProperties_t userProperty; - - memset( &properties, 0x0, sizeof( properties ) ); - memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; uint8_t * pIndexLocal = buffer; buffer[ 0 ] = 0x01; @@ -1346,7 +1340,7 @@ void test_MQTTV5_DeserializeConnackOnlyMaxQos( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 5; pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperty; + properties.pIncomingUserProperty = &userProperties; size_t propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_MAX_QOS_ID; @@ -1399,13 +1393,7 @@ void test_MQTTV5_DeserializeConnackOnlyMaxQos( void ) } void test_MQTTV5_DeserializeConnackOnlyMaxPacketSize( void ) { - MQTTPacketInfo_t packetInfo; - MQTTConnectProperties_t properties; - MQTTStatus_t status; - MQTTUserProperties_t userProperty; - - memset( &properties, 0x0, sizeof( properties ) ); - memset( &packetInfo, 0x0, sizeof( packetInfo ) ); + uint8_t buffer[ 200 ] = { 0 }; uint8_t * pIndexLocal = buffer; buffer[ 0 ] = 0x01; @@ -1415,16 +1403,12 @@ void test_MQTTV5_DeserializeConnackOnlyMaxPacketSize( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 8; pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperty; + properties.pIncomingUserProperty = &userProperties; size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; pIndexLocal++; - pIndexLocal[ 0 ] = UINT32_BYTE3( 120 ); - pIndexLocal[ 1 ] = UINT32_BYTE2( 120 ); - pIndexLocal[ 2 ] = UINT32_BYTE1( 120 ); - pIndexLocal[ 3 ] = UINT32_BYTE0( 120 ); - pIndexLocal = &pIndexLocal[ 4 ]; + pIndexLocal = serializeuint_32(pIndexLocal, 120); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); TEST_ASSERT_EQUAL_INT( 120, properties.serverMaxPacketSize ); @@ -1436,11 +1420,7 @@ void test_MQTTV5_DeserializeConnackOnlyMaxPacketSize( void ) pIndexLocal++; *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; pIndexLocal++; - pIndexLocal[ 0 ] = UINT32_BYTE3( 0 ); - pIndexLocal[ 1 ] = UINT32_BYTE2( 0 ); - pIndexLocal[ 2 ] = UINT32_BYTE1( 0 ); - pIndexLocal[ 3 ] = UINT32_BYTE0( 0 ); - pIndexLocal = &pIndexLocal[ 4 ]; + pIndexLocal = serializeuint_32(pIndexLocal,0); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); @@ -1451,18 +1431,12 @@ void test_MQTTV5_DeserializeConnackOnlyMaxPacketSize( void ) pIndexLocal++; *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; pIndexLocal++; - pIndexLocal[ 0 ] = UINT32_BYTE3( 120 ); - pIndexLocal[ 1 ] = UINT32_BYTE2( 120 ); - pIndexLocal[ 2 ] = UINT32_BYTE1( 120 ); - pIndexLocal[ 3 ] = UINT32_BYTE0( 120 ); + pIndexLocal = serializeuint_32(pIndexLocal, 120); pIndexLocal = &pIndexLocal[ 4 ]; *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; pIndexLocal++; - pIndexLocal[ 0 ] = UINT32_BYTE3( 120 ); - pIndexLocal[ 1 ] = UINT32_BYTE2( 120 ); - pIndexLocal[ 2 ] = UINT32_BYTE1( 120 ); - pIndexLocal[ 3 ] = UINT32_BYTE0( 120 ); - pIndexLocal = &pIndexLocal[ 4 ]; + pIndexLocal = serializeuint_32(pIndexLocal,120); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); @@ -1473,10 +1447,7 @@ void test_MQTTV5_DeserializeConnackOnlyMaxPacketSize( void ) pIndexLocal++; *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; pIndexLocal++; - pIndexLocal[ 0 ] = UINT32_BYTE3( 120 ); - pIndexLocal[ 1 ] = UINT32_BYTE2( 120 ); - pIndexLocal[ 2 ] = UINT32_BYTE1( 120 ); - pIndexLocal[ 3 ] = UINT32_BYTE0( 120 ); + pIndexLocal = serializeuint_32(pIndexLocal, 120); pIndexLocal = &pIndexLocal[ 4 ]; status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); @@ -1484,13 +1455,7 @@ void test_MQTTV5_DeserializeConnackOnlyMaxPacketSize( void ) void test_MQTTV5_DeserializeConnackOnlyRetainAvailable( void ) { - MQTTPacketInfo_t packetInfo; - MQTTConnectProperties_t properties; - MQTTStatus_t status; - MQTTUserProperties_t userProperty; - - memset( &properties, 0x0, sizeof( properties ) ); - memset( &packetInfo, 0x0, sizeof( packetInfo ) ); + uint8_t buffer[ 200 ] = { 0 }; uint8_t * pIndexLocal = buffer; buffer[ 0 ] = 0x01; @@ -1500,7 +1465,7 @@ void test_MQTTV5_DeserializeConnackOnlyRetainAvailable( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 5; pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperty; + properties.pIncomingUserProperty = &userProperties; size_t propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_RETAIN_AVAILABLE_ID; @@ -1558,20 +1523,14 @@ void test_MQTT_GetUserPropertySize( void ) size_t * length = &l; memset( &userProperty, 0x0, sizeof( userProperty ) ); - MQTTStatus_t status; + userProperty.keyLength = 0; status = MQTT_GetUserPropertySize( &userProperty, 1, length ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); } void test_MQTTV5_DeserializeConnackOnlyClientId( void ) { - MQTTPacketInfo_t packetInfo; - MQTTConnectProperties_t properties; - MQTTStatus_t status; - MQTTUserProperties_t userProperty; - - memset( &properties, 0x0, sizeof( properties ) ); - memset( &packetInfo, 0x0, sizeof( packetInfo ) ); + uint8_t buffer[ 200 ] = { 0 }; uint8_t * pIndexLocal = buffer; buffer[ 0 ] = 0x01; @@ -1582,7 +1541,7 @@ void test_MQTTV5_DeserializeConnackOnlyClientId( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 8; pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperty; + properties.pIncomingUserProperty = &userProperties; size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; @@ -1638,13 +1597,6 @@ void test_MQTTV5_DeserializeConnackOnlyClientId( void ) } void test_MQTTV5_DeserializeConnackOnlyTopicAlias( void ) { - MQTTPacketInfo_t packetInfo; - MQTTConnectProperties_t properties; - MQTTStatus_t status; - MQTTUserProperties_t userProperty; - - memset( &properties, 0x0, sizeof( properties ) ); - memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; uint8_t * pIndexLocal = buffer; buffer[ 0 ] = 0x01; @@ -1654,7 +1606,7 @@ void test_MQTTV5_DeserializeConnackOnlyTopicAlias( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 6; pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperty; + properties.pIncomingUserProperty = &userProperties; size_t propertyLength = encodeRemainingLength( pIndexLocal, 3 ); pIndexLocal++; *pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; @@ -1700,13 +1652,6 @@ void test_MQTTV5_DeserializeConnackOnlyTopicAlias( void ) void test_MQTTV5_DeserializeConnackOnlyWildCard( void ) { - MQTTPacketInfo_t packetInfo; - MQTTConnectProperties_t properties; - MQTTStatus_t status; - MQTTUserProperties_t userProperty; - - memset( &properties, 0x0, sizeof( properties ) ); - memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; uint8_t * pIndexLocal = buffer; buffer[ 0 ] = 0x01; @@ -1716,7 +1661,7 @@ void test_MQTTV5_DeserializeConnackOnlyWildCard( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 5; pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperty; + properties.pIncomingUserProperty = &userProperties; size_t propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_WILDCARD_ID; @@ -1769,13 +1714,6 @@ void test_MQTTV5_DeserializeConnackOnlyWildCard( void ) void test_MQTTV5_DeserializeConnackOnlyReasonString( void ) { - MQTTPacketInfo_t packetInfo; - MQTTConnectProperties_t properties; - MQTTStatus_t status; - MQTTUserProperties_t userProperty; - - memset( &properties, 0x0, sizeof( properties ) ); - memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; uint8_t * pIndexLocal = buffer; buffer[ 0 ] = 0x01; @@ -1785,7 +1723,7 @@ void test_MQTTV5_DeserializeConnackOnlyReasonString( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 8; pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperty; + properties.pIncomingUserProperty = &userProperties; size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = MQTT_REASON_STRING_ID; @@ -1840,13 +1778,6 @@ void test_MQTTV5_DeserializeConnackOnlyReasonString( void ) void test_MQTTV5_DeserializeConnackOnlySUbId( void ) { - MQTTPacketInfo_t packetInfo; - MQTTConnectProperties_t properties; - MQTTStatus_t status; - MQTTUserProperties_t userProperty; - - memset( &properties, 0x0, sizeof( properties ) ); - memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; uint8_t * pIndexLocal = buffer; buffer[ 0 ] = 0x01; @@ -1857,7 +1788,7 @@ void test_MQTTV5_DeserializeConnackOnlySUbId( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 5; pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperty; + properties.pIncomingUserProperty = &userProperties; size_t propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_SUB_AVAILABLE_ID; @@ -1910,13 +1841,6 @@ void test_MQTTV5_DeserializeConnackOnlySUbId( void ) void test_MQTTV5_DeserializeConnackOnlySharedSub( void ) { - MQTTPacketInfo_t packetInfo; - MQTTConnectProperties_t properties; - MQTTStatus_t status; - MQTTUserProperties_t userProperty; - - memset( &properties, 0x0, sizeof( properties ) ); - memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; uint8_t * pIndexLocal = buffer; buffer[ 0 ] = 0x01; @@ -1927,7 +1851,7 @@ void test_MQTTV5_DeserializeConnackOnlySharedSub( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 5; pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperty; + properties.pIncomingUserProperty = &userProperties; size_t propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; *pIndexLocal = MQTT_SHARED_SUB_ID; @@ -1979,13 +1903,6 @@ void test_MQTTV5_DeserializeConnackOnlySharedSub( void ) } void test_MQTTV5_DeserializeConnackOnlyKeepAlive( void ) { - MQTTPacketInfo_t packetInfo; - MQTTConnectProperties_t properties; - MQTTStatus_t status; - MQTTUserProperties_t userProperty; - - memset( &properties, 0x0, sizeof( properties ) ); - memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; uint8_t * pIndexLocal = buffer; buffer[ 0 ] = 0x01; @@ -1996,7 +1913,7 @@ void test_MQTTV5_DeserializeConnackOnlyKeepAlive( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 6; pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperty; + properties.pIncomingUserProperty = &userProperties; size_t propertyLength = encodeRemainingLength( pIndexLocal, 3 ); pIndexLocal++; *pIndexLocal = MQTT_SERVER_KEEP_ALIVE_ID; @@ -2042,13 +1959,6 @@ void test_MQTTV5_DeserializeConnackOnlyKeepAlive( void ) void test_MQTTV5_DeserializeConnackOnlyResponseInfo( void ) { - MQTTPacketInfo_t packetInfo; - MQTTConnectProperties_t properties; - MQTTStatus_t status; - MQTTUserProperties_t userProperty; - - memset( &properties, 0x0, sizeof( properties ) ); - memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; uint8_t * pIndexLocal = buffer; buffer[ 0 ] = 0x01; @@ -2059,7 +1969,7 @@ void test_MQTTV5_DeserializeConnackOnlyResponseInfo( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 8; pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperty; + properties.pIncomingUserProperty = &userProperties; size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = MQTT_RESPONSE_INFO_ID; @@ -2125,16 +2035,7 @@ void test_MQTTV5_DeserializeConnackOnlyResponseInfo( void ) void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) { - MQTTPacketInfo_t packetInfo; - MQTTConnectProperties_t properties; - MQTTUserProperties_t userProperties; - - memset( &userProperties, 0x0, sizeof( userProperties ) ); - memset( &properties, 0x0, sizeof( properties ) ); - memset( &packetInfo, 0x0, sizeof( packetInfo ) ); properties.pIncomingUserProperty = &userProperties; - MQTTStatus_t status; - uint8_t buffer[ 60000 ] = { 0 }; uint8_t * pIndexLocal = buffer; buffer[ 0 ] = 0x01; @@ -2258,13 +2159,6 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) void test_MQTTV5_DeserializeConnackOnlyServerRef( void ) { - MQTTPacketInfo_t packetInfo; - MQTTConnectProperties_t properties; - MQTTStatus_t status; - MQTTUserProperties_t userProperty; - - memset( &properties, 0x0, sizeof( properties ) ); - memset( &packetInfo, 0x0, sizeof( packetInfo ) ); uint8_t buffer[ 200 ] = { 0 }; uint8_t * pIndexLocal = buffer; buffer[ 0 ] = 0x01; @@ -2275,7 +2169,7 @@ void test_MQTTV5_DeserializeConnackOnlyServerRef( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 8; pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperty; + properties.pIncomingUserProperty = &userProperties; size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = MQTT_SERVER_REF_ID; @@ -2331,15 +2225,8 @@ void test_MQTTV5_DeserializeConnackOnlyServerRef( void ) void test_MQTTV5_DeserializeConnackOnlyAuthMethod( void ) { - MQTTPacketInfo_t packetInfo; - MQTTConnectProperties_t properties; MQTTAuthInfo_t auth; MQTTAuthInfo_t auth1; - MQTTStatus_t status; - MQTTUserProperties_t userProperty; - - memset( &properties, 0x0, sizeof( properties ) ); - memset( &packetInfo, 0x0, sizeof( packetInfo ) ); properties.pIncomingAuth = &auth; properties.pOutgoingAuth = &auth1; uint8_t buffer[ 200 ] = { 0 }; @@ -2352,7 +2239,7 @@ void test_MQTTV5_DeserializeConnackOnlyAuthMethod( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 8; pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperty; + properties.pIncomingUserProperty = &userProperties; size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = MQTT_AUTH_METHOD_ID; @@ -2413,15 +2300,8 @@ void test_MQTTV5_DeserializeConnackOnlyAuthMethod( void ) void test_MQTTV5_DeserializeConnackOnlyAuthData( void ) { - MQTTPacketInfo_t packetInfo; - MQTTConnectProperties_t properties; MQTTAuthInfo_t auth; MQTTAuthInfo_t auth1; - MQTTStatus_t status; - MQTTUserProperties_t userProperty; - - memset( &properties, 0x0, sizeof( properties ) ); - memset( &packetInfo, 0x0, sizeof( packetInfo ) ); properties.pIncomingAuth = &auth; properties.pOutgoingAuth = &auth1; uint8_t buffer[ 200 ] = { 0 }; @@ -2434,7 +2314,7 @@ void test_MQTTV5_DeserializeConnackOnlyAuthData( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 8; pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperty; + properties.pIncomingUserProperty = &userProperties; size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; *pIndexLocal = MQTT_AUTH_DATA_ID; @@ -2497,15 +2377,10 @@ void test_MQTTV5_DeserializeConnackOnlyAuthData( void ) void test_MQTTV5_GetConnectPacketSize( void ) { - MQTTConnectInfo_t connectInfo; size_t remainingLength = 0; size_t packetSize = 0; - MQTTStatus_t status = MQTTSuccess; - MQTTPublishInfo_t willInfo = { 0 }; - MQTTConnectProperties_t properties; MQTTUserProperties_t incomingProperty; - memset( &properties, 0x0, sizeof( properties ) ); /* Call MQTTV5_GetConnectPacketSize() with various combinations of * incorrect paramters */ @@ -2542,18 +2417,17 @@ void test_MQTTV5_GetConnectPacketSize( void ) TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /* Test a will message payload length that is too large. */ - memset( &connectInfo, 0x0, sizeof( connectInfo ) ); connectInfo.pClientIdentifier = CLIENT_IDENTIFIER; connectInfo.clientIdentifierLength = UINT16_MAX; connectInfo.pPassword = ""; connectInfo.passwordLength = UINT16_MAX; connectInfo.pUserName = ""; connectInfo.userNameLength = UINT16_MAX; - willInfo.pTopicName = TEST_TOPIC_NAME; - willInfo.topicNameLength = UINT16_MAX; + publishInfo.pTopicName = TEST_TOPIC_NAME; + publishInfo.topicNameLength = UINT16_MAX; /* A valid will message payload is less than the maximum 16 bit integer. */ - willInfo.payloadLength = UINT16_MAX + 2; - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + publishInfo.payloadLength = UINT16_MAX + 2; + status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); /* Verify good case */ @@ -2571,12 +2445,11 @@ void test_MQTTV5_GetConnectPacketSize( void ) /* With will. These parameters will cause the packet to be * 4 + 2 + 8 + 2 = 16 bytes larger. */ - memset( &willInfo, 0x0, sizeof( willInfo ) ); - willInfo.pTopicName = "test"; - willInfo.topicNameLength = 4; - willInfo.pPayload = "testload"; - willInfo.payloadLength = 8; - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + publishInfo.pTopicName = "test"; + publishInfo.topicNameLength = 4; + publishInfo.pPayload = "testload"; + publishInfo.payloadLength = 8; + status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /* Make sure remaining size returned is 32 = 16 + 16 + 2. */ TEST_ASSERT_EQUAL_INT( 34, remainingLength ); @@ -2769,53 +2642,53 @@ void test_MQTTV5_GetConnectPacketSize( void ) TEST_ASSERT_EQUAL_INT( 60, packetSize ); /*Validating the will properties*/ - memset( &willInfo, 0x0, sizeof( willInfo ) ); - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + memset( &publishInfo, 0x0, sizeof( publishInfo ) ); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_size_t( 0, willInfo.propertyLength ); + TEST_ASSERT_EQUAL_size_t( 0, publishInfo.propertyLength ); - willInfo.willDelay = 10; - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + publishInfo.willDelay = 10; + status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_size_t( 5, willInfo.propertyLength ); + TEST_ASSERT_EQUAL_size_t( 5, publishInfo.propertyLength ); - willInfo.payloadFormat = 1; - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + publishInfo.payloadFormat = 1; + status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_size_t( 7, willInfo.propertyLength ); + TEST_ASSERT_EQUAL_size_t( 7, publishInfo.propertyLength ); - willInfo.msgExpiryPresent = 1; - willInfo.msgExpiryInterval = 10; - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + publishInfo.msgExpiryPresent = 1; + publishInfo.msgExpiryInterval = 10; + status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_size_t( 12, willInfo.propertyLength ); + TEST_ASSERT_EQUAL_size_t( 12, publishInfo.propertyLength ); - willInfo.contentTypeLength = 2; - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + publishInfo.contentTypeLength = 2; + status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - willInfo.pContentType = "ab"; - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + publishInfo.pContentType = "ab"; + status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_size_t( 17, willInfo.propertyLength ); + TEST_ASSERT_EQUAL_size_t( 17, publishInfo.propertyLength ); - willInfo.responseTopicLength = 2; - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + publishInfo.responseTopicLength = 2; + status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - willInfo.pResponseTopic = "ab"; - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + publishInfo.pResponseTopic = "ab"; + status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_size_t( 22, willInfo.propertyLength ); + TEST_ASSERT_EQUAL_size_t( 22, publishInfo.propertyLength ); - willInfo.correlationLength = 2; - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + publishInfo.correlationLength = 2; + status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - willInfo.pCorrelationData = "ab"; - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + publishInfo.pCorrelationData = "ab"; + status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_size_t( 27, willInfo.propertyLength ); + TEST_ASSERT_EQUAL_size_t( 27, publishInfo.propertyLength ); MQTTUserProperties_t userProperties1; userProperties1.userProperty[ 0 ].pKey = "2"; @@ -2827,25 +2700,25 @@ void test_MQTTV5_GetConnectPacketSize( void ) userProperties1.userProperty[ 1 ].valueLength = 2; userProperties1.userProperty[ 1 ].pValue = "ab"; userProperties1.count = 2; - willInfo.pUserProperty = &userProperties1; - status = MQTT_GetPublishPropertiesSize( &willInfo ); + publishInfo.pUserProperty = &userProperties1; + status = MQTT_GetPublishPropertiesSize( &publishInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_size_t( 44, willInfo.propertyLength ); - - willInfo.payloadFormat = 1; - willInfo.msgExpiryPresent = 1; - willInfo.msgExpiryInterval = 10; - willInfo.msgExpiryPresent = 1; - willInfo.msgExpiryInterval = 10; - willInfo.contentTypeLength = 2; - willInfo.pContentType = "ab"; - willInfo.responseTopicLength = 2; - willInfo.pResponseTopic = "ab"; - willInfo.correlationLength = 2; - willInfo.pCorrelationData = "ab"; - willInfo.willDelay = 3; + TEST_ASSERT_EQUAL_size_t( 44, publishInfo.propertyLength ); + + publishInfo.payloadFormat = 1; + publishInfo.msgExpiryPresent = 1; + publishInfo.msgExpiryInterval = 10; + publishInfo.msgExpiryPresent = 1; + publishInfo.msgExpiryInterval = 10; + publishInfo.contentTypeLength = 2; + publishInfo.pContentType = "ab"; + publishInfo.responseTopicLength = 2; + publishInfo.pResponseTopic = "ab"; + publishInfo.correlationLength = 2; + publishInfo.pCorrelationData = "ab"; + publishInfo.willDelay = 3; /* 34 + 12 + 29 */ - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); /* Make sure remaining size returned is 107. */ TEST_ASSERT_EQUAL_INT( 107, remainingLength ); @@ -2853,7 +2726,7 @@ void test_MQTTV5_GetConnectPacketSize( void ) TEST_ASSERT_EQUAL_INT( 109, packetSize ); /*Limit of property length*/ memset( &properties, 0x0, sizeof( properties ) ); - memset( &willInfo, 0x0, sizeof( willInfo ) ); + memset( &publishInfo, 0x0, sizeof( publishInfo ) ); /*5*/ properties.receiveMax = UINT16_MAX; properties.requestProblemInfo = 1; @@ -2877,12 +2750,12 @@ void test_MQTTV5_GetConnectPacketSize( void ) properties.pOutgoingUserProperty = NULL; userProperties.count = 2048; - willInfo.pUserProperty = &userProperties; - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + publishInfo.pUserProperty = &userProperties; + status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); userProperties.count = 2051; - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); /*Incoming user property not initialized*/ @@ -2896,32 +2769,24 @@ void test_MQTTV5_GetConnectPacketSize( void ) /* * / */ void test_MQTTV5_SerializeConnect( void ) { - MQTTConnectInfo_t connectInfo; - MQTTPublishInfo_t willInfo = { 0 }; size_t remainingLength = 0; uint8_t buffer[ 140 + 2 * BUFFER_PADDING_LENGTH ]; size_t bufferSize = sizeof( buffer ) - 2 * BUFFER_PADDING_LENGTH; size_t packetSize = bufferSize; MQTTStatus_t status = MQTTSuccess; - MQTTConnectProperties_t properties; MQTTUserProperties_t incomingProperty; - - memset( &properties, 0x0, sizeof( properties ) ); - properties.receiveMax = 65535U; - properties.isMaxPacketSize = true; - properties.maxPacketSize = UINT32_MAX; - properties.requestProblemInfo = 1; properties.pIncomingUserProperty = &incomingProperty; + setupProperties(&properties); MQTTFixedBuffer_t fixedBuffer = { .pBuffer = &buffer[ BUFFER_PADDING_LENGTH ], .size = bufferSize }; /* Verify bad parameter errors. */ - status = MQTTV5_SerializeConnect( NULL, &willInfo, &properties, remainingLength, &fixedBuffer ); + status = MQTTV5_SerializeConnect( NULL, &publishInfo, &properties, remainingLength, &fixedBuffer ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - status = MQTTV5_SerializeConnect( &connectInfo, &willInfo, &properties, remainingLength, NULL ); + status = MQTTV5_SerializeConnect( &connectInfo, &publishInfo, &properties, remainingLength, NULL ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - status = MQTTV5_SerializeConnect( &connectInfo, &willInfo, NULL, remainingLength, &fixedBuffer ); + status = MQTTV5_SerializeConnect( &connectInfo, &publishInfo, NULL, remainingLength, &fixedBuffer ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); memset( &connectInfo, 0x0, sizeof( connectInfo ) ); @@ -2929,7 +2794,6 @@ void test_MQTTV5_SerializeConnect( void ) TEST_ASSERT_EQUAL_INT( MQTTNoMemory, status ); /* Create a good connection info. */ - memset( &connectInfo, 0x0, sizeof( connectInfo ) ); connectInfo.pClientIdentifier = "TEST"; connectInfo.clientIdentifierLength = 4; @@ -2970,54 +2834,54 @@ void test_MQTTV5_SerializeConnect( void ) /* Serialize connect with LWT. */ /* Test for NULL topic name. */ - ( void ) memset( &willInfo, 0x00, sizeof( MQTTPublishInfo_t ) ); - willInfo.retain = true; - willInfo.qos = MQTTQoS1; - willInfo.pPayload = "test"; - willInfo.payloadLength = ( uint16_t ) strlen( willInfo.pPayload ); - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + ( void ) memset( &publishInfo, 0x00, sizeof( MQTTPublishInfo_t ) ); + publishInfo.retain = true; + publishInfo.qos = MQTTQoS1; + publishInfo.pPayload = "test"; + publishInfo.payloadLength = ( uint16_t ) strlen( publishInfo.pPayload ); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); - status = MQTTV5_SerializeConnect( &connectInfo, &willInfo, &properties, remainingLength, &fixedBuffer ); + status = MQTTV5_SerializeConnect( &connectInfo, &publishInfo, &properties, remainingLength, &fixedBuffer ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); /* Success. */ - ( void ) memset( &willInfo, 0x00, sizeof( MQTTPublishInfo_t ) ); - willInfo.retain = true; - willInfo.qos = MQTTQoS1; - willInfo.pTopicName = "test"; - willInfo.topicNameLength = ( uint16_t ) strlen( willInfo.pTopicName ); - willInfo.pPayload = "test"; - willInfo.payloadLength = ( uint16_t ) strlen( willInfo.pPayload ); - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + ( void ) memset( &publishInfo, 0x00, sizeof( MQTTPublishInfo_t ) ); + publishInfo.retain = true; + publishInfo.qos = MQTTQoS1; + publishInfo.pTopicName = "test"; + publishInfo.topicNameLength = ( uint16_t ) strlen( publishInfo.pTopicName ); + publishInfo.pPayload = "test"; + publishInfo.payloadLength = ( uint16_t ) strlen( publishInfo.pPayload ); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); padAndResetBuffer( buffer, sizeof( buffer ) ); - status = MQTTV5_SerializeConnect( &connectInfo, &willInfo, &properties, remainingLength, &fixedBuffer ); + status = MQTTV5_SerializeConnect( &connectInfo, &publishInfo, &properties, remainingLength, &fixedBuffer ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); checkBufferOverflow( buffer, sizeof( buffer ) ); /* Again with QoS 2 and 0. */ - willInfo.qos = MQTTQoS2; - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + publishInfo.qos = MQTTQoS2; + status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); padAndResetBuffer( buffer, sizeof( buffer ) ); - status = MQTTV5_SerializeConnect( &connectInfo, &willInfo, &properties, remainingLength, &fixedBuffer ); + status = MQTTV5_SerializeConnect( &connectInfo, &publishInfo, &properties, remainingLength, &fixedBuffer ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); checkBufferOverflow( buffer, sizeof( buffer ) ); - willInfo.qos = MQTTQoS0; - willInfo.retain = false; + publishInfo.qos = MQTTQoS0; + publishInfo.retain = false; /* NULL payload is acceptable. */ - willInfo.pPayload = NULL; - willInfo.payloadLength = 0; - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + publishInfo.pPayload = NULL; + publishInfo.payloadLength = 0; + status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); padAndResetBuffer( buffer, sizeof( buffer ) ); - status = MQTTV5_SerializeConnect( &connectInfo, &willInfo, &properties, remainingLength, &fixedBuffer ); + status = MQTTV5_SerializeConnect( &connectInfo, &publishInfo, &properties, remainingLength, &fixedBuffer ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); checkBufferOverflow( buffer, sizeof( buffer ) ); @@ -3037,7 +2901,7 @@ void test_MQTTV5_SerializeConnect( void ) TEST_ASSERT_EQUAL( MQTTSuccess, status ); checkBufferOverflow( buffer, sizeof( buffer ) ); /*Connect properties not initialized*/ - status = MQTTV5_SerializeConnect( &connectInfo, &willInfo, NULL, remainingLength, &fixedBuffer ); + status = MQTTV5_SerializeConnect( &connectInfo, &publishInfo, NULL, remainingLength, &fixedBuffer ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /*Connect Properties*/ @@ -3047,9 +2911,7 @@ void test_MQTTV5_SerializeConnect( void ) properties.topicAliasMax = 12; properties.requestResponseInfo = 1; properties.requestProblemInfo = 0; - MQTTUserProperties_t userProperties; MQTTAuthInfo_t auth; - memset( &userProperties, 0x0, sizeof( userProperties ) ); memset( &auth, 0x0, sizeof( auth ) ); auth.pAuthMethod = "ab"; auth.authMethodLength = 2; @@ -3097,27 +2959,27 @@ void test_MQTTV5_SerializeConnect( void ) checkBufferOverflow( buffer, sizeof( buffer ) ); /*Will Properties*/ - willInfo.payloadFormat = 1; - willInfo.msgExpiryPresent = 1; - willInfo.msgExpiryInterval = 10; - willInfo.msgExpiryPresent = 1; - willInfo.msgExpiryInterval = 10; - willInfo.contentTypeLength = 2; - willInfo.pContentType = "ab"; - willInfo.responseTopicLength = 2; - willInfo.pResponseTopic = "ab"; - willInfo.correlationLength = 2; - willInfo.pCorrelationData = "ab"; - willInfo.willDelay = 3; - willInfo.pUserProperty = &userProperties; + publishInfo.payloadFormat = 1; + publishInfo.msgExpiryPresent = 1; + publishInfo.msgExpiryInterval = 10; + publishInfo.msgExpiryPresent = 1; + publishInfo.msgExpiryInterval = 10; + publishInfo.contentTypeLength = 2; + publishInfo.pContentType = "ab"; + publishInfo.responseTopicLength = 2; + publishInfo.pResponseTopic = "ab"; + publishInfo.correlationLength = 2; + publishInfo.pCorrelationData = "ab"; + publishInfo.willDelay = 3; + publishInfo.pUserProperty = &userProperties; /* 27 */ - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); /* Set the fixed buffer to exactly the size of the packet. */ fixedBuffer.size = packetSize; padAndResetBuffer( buffer, sizeof( buffer ) ); - status = MQTTV5_SerializeConnect( &connectInfo, &willInfo, &properties, remainingLength, &fixedBuffer ); + status = MQTTV5_SerializeConnect( &connectInfo, &publishInfo, &properties, remainingLength, &fixedBuffer ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); checkBufferOverflow( buffer, sizeof( buffer ) ); } @@ -3132,13 +2994,8 @@ void test_MQTTV5_SerializeConnect_Happy_Paths() size_t remainingLength = 0; size_t packetSize = 0; MQTTFixedBuffer_t networkBuffer; - MQTTConnectInfo_t connectInfo; - MQTTPublishInfo_t willInfo; - MQTTConnectProperties_t properties; MQTTUserProperties_t incomingProperty; - memset( &properties, 0x0, sizeof( properties ) ); - memset( &willInfo, 0x0, sizeof( willInfo ) ); properties.sessionExpiry = 22; properties.receiveMax = 34; properties.maxPacketSize = 32; @@ -3146,63 +3003,63 @@ void test_MQTTV5_SerializeConnect_Happy_Paths() properties.requestResponseInfo = 1; properties.requestProblemInfo = 0; properties.pIncomingUserProperty = &incomingProperty; - willInfo.payloadFormat = 1; - willInfo.msgExpiryPresent = 1; - willInfo.msgExpiryInterval = 10; - willInfo.msgExpiryPresent = 1; - willInfo.msgExpiryInterval = 10; - willInfo.contentTypeLength = 2; - willInfo.pContentType = "ab"; - willInfo.responseTopicLength = 2; - willInfo.pResponseTopic = "ab"; - willInfo.correlationLength = 2; - willInfo.pCorrelationData = "ab"; - willInfo.willDelay = 3; + publishInfo.payloadFormat = 1; + publishInfo.msgExpiryPresent = 1; + publishInfo.msgExpiryInterval = 10; + publishInfo.msgExpiryPresent = 1; + publishInfo.msgExpiryInterval = 10; + publishInfo.contentTypeLength = 2; + publishInfo.pContentType = "ab"; + publishInfo.responseTopicLength = 2; + publishInfo.pResponseTopic = "ab"; + publishInfo.correlationLength = 2; + publishInfo.pCorrelationData = "ab"; + publishInfo.willDelay = 3; /* Fill structs to pass into methods to be tested. */ setupNetworkBuffer( &networkBuffer ); setupConnectInfo( &connectInfo ); - setupPublishInfo( &willInfo ); - willInfo.dup = true; - willInfo.retain = true; + setupPublishInfo( &publishInfo ); + publishInfo.dup = true; + publishInfo.retain = true; /* Get MQTT connect packet size and remaining length. */ mqttStatus = MQTTV5_GetConnectPacketSize( &connectInfo, - &willInfo, + &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); /* Make sure buffer has enough space. */ TEST_ASSERT_GREATER_OR_EQUAL( packetSize, networkBuffer.size ); - mqttStatus = MQTTV5_SerializeConnect( &connectInfo, &willInfo, &properties, + mqttStatus = MQTTV5_SerializeConnect( &connectInfo, &publishInfo, &properties, remainingLength, &networkBuffer ); TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); - verifySerializedConnectPacket( &connectInfo, &willInfo, &properties, + verifySerializedConnectPacket( &connectInfo, &publishInfo, &properties, remainingLength, &networkBuffer ); /* / * Repeat with MQTTQoS1. * / */ - willInfo.qos = MQTTQoS1; + publishInfo.qos = MQTTQoS1; mqttStatus = MQTTV5_GetConnectPacketSize( &connectInfo, - &willInfo, + &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); /* Make sure buffer has enough space. */ TEST_ASSERT_GREATER_OR_EQUAL( packetSize, networkBuffer.size ); - mqttStatus = MQTTV5_SerializeConnect( &connectInfo, &willInfo, &properties, + mqttStatus = MQTTV5_SerializeConnect( &connectInfo, &publishInfo, &properties, remainingLength, &networkBuffer ); TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); - verifySerializedConnectPacket( &connectInfo, &willInfo, &properties, + verifySerializedConnectPacket( &connectInfo, &publishInfo, &properties, remainingLength, &networkBuffer ); /* Re-initialize objects for branch coverage. */ - willInfo.pPayload = MQTT_SAMPLE_PAYLOAD; - willInfo.payloadLength = MQTT_SAMPLE_PAYLOAD_LEN; - willInfo.pTopicName = MQTT_CLIENT_IDENTIFIER; - willInfo.topicNameLength = MQTT_CLIENT_IDENTIFIER_LEN; - willInfo.dup = true; - willInfo.qos = MQTTQoS2; - willInfo.retain = false; + publishInfo.pPayload = MQTT_SAMPLE_PAYLOAD; + publishInfo.payloadLength = MQTT_SAMPLE_PAYLOAD_LEN; + publishInfo.pTopicName = MQTT_CLIENT_IDENTIFIER; + publishInfo.topicNameLength = MQTT_CLIENT_IDENTIFIER_LEN; + publishInfo.dup = true; + publishInfo.qos = MQTTQoS2; + publishInfo.retain = false; connectInfo.cleanSession = false; connectInfo.pClientIdentifier = MQTT_CLIENT_IDENTIFIER; connectInfo.clientIdentifierLength = MQTT_CLIENT_IDENTIFIER_LEN; @@ -3212,20 +3069,20 @@ void test_MQTTV5_SerializeConnect_Happy_Paths() connectInfo.passwordLength = 0; mqttStatus = MQTTV5_GetConnectPacketSize( &connectInfo, - &willInfo, + &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); /* Make sure buffer has enough space. */ TEST_ASSERT_GREATER_OR_EQUAL( packetSize, networkBuffer.size ); - mqttStatus = MQTTV5_SerializeConnect( &connectInfo, &willInfo, &properties, + mqttStatus = MQTTV5_SerializeConnect( &connectInfo, &publishInfo, &properties, remainingLength, &networkBuffer ); TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); - verifySerializedConnectPacket( &connectInfo, &willInfo, &properties, + verifySerializedConnectPacket( &connectInfo, &publishInfo, &properties, remainingLength, &networkBuffer ); - /* Repeat with NULL pWillInfo. */ + /* Repeat with NULL ppublishInfo. */ mqttStatus = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, @@ -3245,17 +3102,11 @@ void test_MQTTV5_SerializeConnect_Happy_Paths() void test_WillLimit( void ) { /* Test will property length more than the max value allowed. */ - MQTTConnectInfo_t connectInfo; size_t remainingLength = 0; size_t packetSize = 0; MQTTStatus_t status = MQTTSuccess; - MQTTPublishInfo_t willInfo; - MQTTConnectProperties_t properties; MQTTUserProperties_t incomingProperty; - memset( &willInfo, 0x0, sizeof( willInfo ) ); - memset( &properties, 0x0, sizeof( properties ) ); - memset( &connectInfo, 0x0, sizeof( connectInfo ) ); connectInfo.pClientIdentifier = CLIENT_IDENTIFIER; connectInfo.clientIdentifierLength = UINT16_MAX; connectInfo.pPassword = ""; @@ -3264,19 +3115,18 @@ void test_WillLimit( void ) properties.receiveMax = UINT16_MAX; properties.requestProblemInfo = 1; properties.pIncomingUserProperty = &incomingProperty; - willInfo.payloadFormat = 1; - willInfo.msgExpiryPresent = 1; - willInfo.msgExpiryInterval = 10; - willInfo.msgExpiryPresent = 1; - willInfo.msgExpiryInterval = 10; - willInfo.contentTypeLength = 2; - willInfo.pContentType = "ab"; - willInfo.responseTopicLength = 2; - willInfo.pResponseTopic = "ab"; - willInfo.correlationLength = 2; - willInfo.pCorrelationData = "ab"; - willInfo.willDelay = 3; - MQTTUserProperties_t userProperties; + publishInfo.payloadFormat = 1; + publishInfo.msgExpiryPresent = 1; + publishInfo.msgExpiryInterval = 10; + publishInfo.msgExpiryPresent = 1; + publishInfo.msgExpiryInterval = 10; + publishInfo.contentTypeLength = 2; + publishInfo.pContentType = "ab"; + publishInfo.responseTopicLength = 2; + publishInfo.pResponseTopic = "ab"; + publishInfo.correlationLength = 2; + publishInfo.pCorrelationData = "ab"; + publishInfo.willDelay = 3; uint16_t i = 0; char str[ 65535 ]; memset( str, '.', 65535 * sizeof( char ) ); @@ -3290,10 +3140,10 @@ void test_WillLimit( void ) } userProperties.count = 2048; - willInfo.pUserProperty = &userProperties; - status = MQTT_GetPublishPropertiesSize( &willInfo ); + publishInfo.pUserProperty = &userProperties; + status = MQTT_GetPublishPropertiesSize( &publishInfo ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - status = MQTTV5_GetConnectPacketSize( &connectInfo, &willInfo, &properties, &remainingLength, &packetSize ); + status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); } From 059ed3ff0b6a9d0248590db831e447a64bd83470 Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Wed, 3 Jul 2024 20:46:49 +0000 Subject: [PATCH 62/82] mqttv5 publish --- source/core_mqtt.c | 9 ++- source/core_mqtt_serializer.c | 95 ++++++++++++++------------- source/include/core_mqtt_serializer.h | 6 +- 3 files changed, 56 insertions(+), 54 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 9a0c7b59e..3c55f837c 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -798,7 +798,7 @@ static bool matchTopicFilter( const char * pTopicName, static MQTTStatus_t sendPublishAcksWithProperty( MQTTContext_t * pContext, uint16_t packetId, MQTTPublishState_t publishState, - MQTTAckInfo_t* pAckInfo); + const MQTTAckInfo_t* pAckInfo); /*-----------------------------------------------------------*/ @@ -991,7 +991,7 @@ static bool matchTopicFilter( const char * pTopicName, static MQTTStatus_t sendPublishAcksWithProperty( MQTTContext_t * pContext, uint16_t packetId, MQTTPublishState_t publishState, - MQTTAckInfo_t* pAckInfo) + const MQTTAckInfo_t* pAckInfo) { int32_t bytesSentOrError; size_t vectorsAdded = 0U; @@ -999,7 +999,6 @@ static bool matchTopicFilter( const char * pTopicName, size_t totalMessageLength = 0U; MQTTStatus_t status = MQTTSuccess; MQTTPublishState_t newState = MQTTStateNull; - int32_t sendResult = 0; uint8_t packetTypeByte = 0U; MQTTPubAckType_t packetType; uint8_t pubAckHeader[12]; @@ -1009,7 +1008,7 @@ static bool matchTopicFilter( const char * pTopicName, TransportOutVector_t pIoVector[4 + MAX_USER_PROPERTY*5]; uint8_t serializedReasonStringLength[ 2 ]; uint8_t reasonStringId = MQTT_REASON_STRING_ID; - #if(MQTT_USER_PROEPRTY_ENABLED) + #if(MQTT_USER_PROPERTY_ENABLED) UserPropertyVector_t userVector; #endif uint8_t * pIndex =pubAckHeader; @@ -1049,7 +1048,7 @@ static bool matchTopicFilter( const char * pTopicName, iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; } - #if(MQTT_USER_PROPERY_ENABLED) + #if(MQTT_USER_PROPERTY_ENABLED) /*Encode the user porperties if provided.*/ if(pAckInfo->pUserProperty != NULL) { diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 458652d5d..47cc3ecd0 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -926,9 +926,9 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); size_t propertyLength, const MQTTFixedBuffer_t * pFixedBuffer ); - static MQTTStatus_t logAckResponseV5(ReasonCode_t reasonCode,uint16_t packetIdentifier); + static MQTTStatus_t logAckResponseV5(uint8_t reasonCode,uint16_t packetIdentifier); - static MQTTStatus_t logSimpleAckResponseV5(ReasonCode_t reasonCode,uint16_t packetIdentifier); + static MQTTStatus_t logSimpleAckResponseV5(uint8_t reasonCode,uint16_t packetIdentifier); static MQTTStatus_t decodeAckProperties (MQTTAckInfo_t * pAckInfo,const uint8_t * index, size_t remainingLength); @@ -936,7 +936,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); static MQTTStatus_t deserializeSimpleAckV5( const MQTTPacketInfo_t * pAck, uint16_t * pPacketIdentifier, MQTTAckInfo_t *pAckInfo, - uint8_t requestProblem ); + bool requestProblem ); static uint8_t * serializePublishProperties(const MQTTPublishInfo_t *pPublishInfo, uint8_t * pIndex); @@ -1935,7 +1935,7 @@ static MQTTStatus_t calculatePublishPacketSizeV5( MQTTPublishInfo_t * pPublishIn size_t * pPacketSize, uint32_t maxPacketSize ) { - bool status = true; + MQTTStatus_t status = MQTTSuccess; size_t packetSize = 0, payloadLimit = 0; assert( pPublishInfo != NULL ); @@ -2070,42 +2070,42 @@ static MQTTStatus_t calculatePublishPacketSizeV5( MQTTPublishInfo_t * pPublishIn } -static MQTTStatus_t logAckResponseV5(ReasonCode_t reasonCode,uint16_t packetIdentifier){ +static MQTTStatus_t logAckResponseV5(uint8_t reasonCode,uint16_t packetIdentifier){ MQTTStatus_t status = MQTTServerRefused; switch(reasonCode){ - case MQTT_REASON_SUCCESS: + case (uint8_t)MQTT_REASON_SUCCESS: status = MQTTSuccess; break; - case MQTT_REASON_NO_MATCHING_SUBSCRIBERS: + case (uint8_t)MQTT_REASON_NO_MATCHING_SUBSCRIBERS: LogDebug(("Publish accepted with packet id %hu: No matching subscribers.", ( unsigned short ) packetIdentifier) ); status = MQTTSuccess; break; - case MQTT_REASON_UNSPECIFIED_ERR: + case (uint8_t)MQTT_REASON_UNSPECIFIED_ERR: LogError( ( "Publish refused with packet id %hu: Connection rate exceeded.", ( unsigned short ) packetIdentifier) ); break; - case MQTT_REASON_IMPL_SPECIFIC_ERR: + case (uint8_t)MQTT_REASON_IMPL_SPECIFIC_ERR: LogError( ( "Publish refused with packet id %hu: The PUBLISH is valid but the receiver is not willing to accept it.", ( unsigned short ) packetIdentifier) ); break; - case MQTT_REASON_NOT_AUTHORIZED: + case (uint8_t)MQTT_REASON_NOT_AUTHORIZED: LogError( ( "Publish refused with packet id %hu: The PUBLISH is not authorized.", ( unsigned short ) packetIdentifier) ); break; - case MQTT_REASON_TOPIC_NAME_INVALID: + case (uint8_t)MQTT_REASON_TOPIC_NAME_INVALID: LogError( ( "Publish refused with packet id %hu: Topic Name not accepted.", ( unsigned short ) packetIdentifier) ); break; - case MQTT_REASON_PACKET_ID_IN_USE: + case (uint8_t)MQTT_REASON_PACKET_ID_IN_USE: LogError( ( "Publish refused with packet id %hu: The Packet Identifier is already in use. ", ( unsigned short ) packetIdentifier) ); break; - case MQTT_REASON_QUOTA_EXCEEDED: + case (uint8_t)MQTT_REASON_QUOTA_EXCEEDED: LogError( ( "Publish refused with packet id %hu: Quota exceeded.", ( unsigned short ) packetIdentifier) ); break; - case MQTT_REASON_PAYLOAD_FORMAT_INVALID: + case (uint8_t)MQTT_REASON_PAYLOAD_FORMAT_INVALID: LogError( ( "Publish refused with packet id %hu: Payload format indicator is invalid.", ( unsigned short ) packetIdentifier) ); break; @@ -2116,13 +2116,13 @@ static MQTTStatus_t logAckResponseV5(ReasonCode_t reasonCode,uint16_t packetIden return status; } -static MQTTStatus_t logSimpleAckResponseV5(ReasonCode_t reasonCode,uint16_t packetIdentifier){ +static MQTTStatus_t logSimpleAckResponseV5(uint8_t reasonCode,uint16_t packetIdentifier){ MQTTStatus_t status = MQTTServerRefused; switch(reasonCode){ - case MQTT_REASON_SUCCESS: + case (uint8_t)MQTT_REASON_SUCCESS: status = MQTTSuccess; break; - case MQTT_REASON_PACKET_ID_NOT_FOUND: + case (uint8_t)MQTT_REASON_PACKET_ID_NOT_FOUND: LogError( ( "Publish refused with packet id %hu: Connection rate exceeded.", ( unsigned short ) packetIdentifier) ); status = MQTTServerRefused; @@ -2146,17 +2146,17 @@ static MQTTStatus_t decodeAckProperties(MQTTAckInfo_t * pAckInfo,const uint8_t * { pIndex= &pIndex[remainingLengthEncodedSize(propertyLength)];\ /*Validate the remaining length.*/ - if(remainingLength != propertyLength + remainingLengthEncodedSize(propertyLength)+ 2){ + if(remainingLength != (propertyLength + remainingLengthEncodedSize(propertyLength)+ 3U)){ status = MQTTMalformedPacket; } } if(status == MQTTSuccess) { - while((propertyLength>0) && (status == MQTTSuccess)) + while((propertyLength>0U) && (status == MQTTSuccess)) { /*Decode the poperty id.*/ uint8_t packetId = *pIndex; - bool reasonString; + bool reasonString = false; pIndex = &pIndex[1]; propertyLength -= sizeof( uint8_t ); switch(packetId){ @@ -2164,11 +2164,13 @@ static MQTTStatus_t decodeAckProperties(MQTTAckInfo_t * pAckInfo,const uint8_t * status = decodeutf_8( &pAckInfo->pReasonString, &pAckInfo->reasonStringLength, &propertyLength, &reasonString, &pIndex ); break; case MQTT_USER_PROPERTY_ID: - #if(MQTT_USER_PROEPRTY_ENABLED) - status = decodeutf_8pair( pAckInfo->pUserProperty, pAckInfo->pUserProperty->count, &propertyLength, &pIndex); + #if(MQTT_USER_PROPERTY_ENABLED) + status = decodeutf_8pair( pAckInfo->pUserProperty, &pAckInfo->pUserProperty->count, &propertyLength, &pIndex); #endif break; - + default: + status = MQTTProtocolError; + break; } } } @@ -2179,7 +2181,7 @@ static MQTTStatus_t decodeAckProperties(MQTTAckInfo_t * pAckInfo,const uint8_t * static MQTTStatus_t deserializeSimpleAckV5( const MQTTPacketInfo_t * pAck, uint16_t * pPacketIdentifier, MQTTAckInfo_t *pAckInfo, - uint8_t requestProblem ) + bool requestProblem ) { MQTTStatus_t status = MQTTSuccess; const uint8_t * pIndex = pAck->pRemainingData; @@ -2204,11 +2206,11 @@ static MQTTStatus_t deserializeSimpleAckV5( const MQTTPacketInfo_t * pAck, } /* If reason code is success, server can choose to not send the reason code.*/ - if((status == MQTTSuccess) && (pAck->remainingLength > 2)){ + if((status == MQTTSuccess) && (pAck->remainingLength > 2U)){ pAckInfo->reasonCode = *pIndex; - pIndex += 1; + pIndex ++; } - if((pAck->remainingLength > 3)) + if((pAck->remainingLength > 3U)) { /*Protocol error to send user property and reason string if client has set request problem to false.*/ if(requestProblem == false) @@ -2227,29 +2229,30 @@ static MQTTStatus_t deserializeSimpleAckV5( const MQTTPacketInfo_t * pAck, static uint8_t * serializePublishProperties(const MQTTPublishInfo_t *pPublishInfo, uint8_t * pIndex) { - pIndex = MQTT_SerializePublishProperties( pPublishInfo, pIndex ); + uint8_t *pIndexLocal = pIndex; + pIndexLocal = MQTT_SerializePublishProperties( pPublishInfo, pIndexLocal ); /*Serialize the provided will properties which has variable length.*/ if( pPublishInfo->contentTypeLength != 0U ) { - *pIndex = MQTT_CONTENT_TYPE_ID; - pIndex++; - pIndex = encodeString( pIndex, pPublishInfo->pContentType, pPublishInfo->contentTypeLength ); + *pIndexLocal = MQTT_CONTENT_TYPE_ID; + pIndexLocal++; + pIndexLocal = encodeString( pIndexLocal, pPublishInfo->pContentType, pPublishInfo->contentTypeLength ); } if( pPublishInfo->responseTopicLength != 0U ) { - *pIndex = MQTT_RESPONSE_TOPIC_ID; - pIndex++; - pIndex = encodeString( pIndex, pPublishInfo->pResponseTopic, pPublishInfo->responseTopicLength ); + *pIndexLocal = MQTT_RESPONSE_TOPIC_ID; + pIndexLocal++; + pIndexLocal = encodeString( pIndexLocal, pPublishInfo->pResponseTopic, pPublishInfo->responseTopicLength ); } if( pPublishInfo->correlationLength != 0U ) { - *pIndex = MQTT_CORRELATION_DATA_ID; - pIndex++; - pIndex = encodeString( pIndex, pPublishInfo->pCorrelationData, pPublishInfo->correlationLength ); + *pIndexLocal = MQTT_CORRELATION_DATA_ID; + pIndexLocal++; + pIndexLocal = encodeString( pIndexLocal, pPublishInfo->pCorrelationData, pPublishInfo->correlationLength ); } if( pPublishInfo->pUserProperty != NULL ) @@ -2260,13 +2263,13 @@ static uint8_t * serializePublishProperties(const MQTTPublishInfo_t *pPublishInf for( ; i < size; i++ ) { - *pIndex = MQTT_USER_PROPERTY_ID; - pIndex++; - pIndex = encodeString( pIndex, pUserProperty[ i ].pKey, pUserProperty[ i ].keyLength ); - pIndex = encodeString( pIndex, pUserProperty[ i ].pValue, pUserProperty[ i ].valueLength ); + *pIndexLocal = MQTT_USER_PROPERTY_ID; + pIndexLocal++; + pIndexLocal = encodeString( pIndexLocal, pUserProperty[ i ].pKey, pUserProperty[ i ].keyLength ); + pIndexLocal = encodeString( pIndexLocal, pUserProperty[ i ].pValue, pUserProperty[ i ].valueLength ); } } - return pIndex; + return pIndexLocal; } #endif /* if ( MQTT_VERSION_5_ENABLED ) */ @@ -5019,7 +5022,7 @@ MQTTStatus_t MQTTV5_SerializePublish( const MQTTPublishInfo_t * pPublishInfo, } MQTTStatus_t MQTTV5_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, - uint16_t * pPacketId, MQTTAckInfo_t *pAckInfo, uint8_t requestProblem) + uint16_t * pPacketId, MQTTAckInfo_t *pAckInfo, bool requestProblem) { MQTTStatus_t status = MQTTSuccess; @@ -5085,7 +5088,7 @@ MQTTStatus_t MQTTV5_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, return status; } -MQTTStatus_t MQTTV5_GetAckPacketSize(MQTTAckInfo_t *pAckInfo, size_t* pRemainingLength,size_t * pPropertyLength, size_t * pPacketSize, uint32_t maxPacketSize) +MQTTStatus_t MQTTV5_GetAckPacketSize(const MQTTAckInfo_t *pAckInfo, size_t* pRemainingLength,size_t * pPropertyLength, size_t * pPacketSize, uint32_t maxPacketSize) { MQTTStatus_t status = MQTTSuccess; size_t length = 0U; @@ -5097,7 +5100,7 @@ MQTTStatus_t MQTTV5_GetAckPacketSize(MQTTAckInfo_t *pAckInfo, size_t* pRemaining } if(status == MQTTSuccess){ length += MQTT_PUBLISH_ACK_PACKET_SIZE_WITH_REASON; - if(pAckInfo->reasonStringLength != 0){ + if(pAckInfo->reasonStringLength != 0U){ if(pAckInfo->pReasonString == NULL){ status = MQTTBadParameter; } @@ -5108,7 +5111,7 @@ MQTTStatus_t MQTTV5_GetAckPacketSize(MQTTAckInfo_t *pAckInfo, size_t* pRemaining } } } - #if(MQTT_USER_PROEPRTY_ENABLED) + #if(MQTT_USER_PROPERTY_ENABLED) if((status == MQTTSuccess) && (pAckInfo->pUserProperty!= NULL)){ status = MQTT_GetUserPropertySize(pAckInfo->pUserProperty->userProperty,pAckInfo->pUserProperty->count,&length); } diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index e80eb844d..e870dd0d6 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -454,7 +454,7 @@ typedef struct MQTTAckInfo /** * @brief Response code; */ - ReasonCode_t reasonCode; + uint8_t reasonCode; #if(MQTT_USER_PROPERTY_ENABLED) /** * @brief To store a key value pair. @@ -1855,8 +1855,8 @@ MQTTStatus_t MQTTV5_SerializePublish( const MQTTPublishInfo_t * pPublishInfo, const MQTTFixedBuffer_t * pFixedBuffer); MQTTStatus_t MQTTV5_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, - uint16_t * pPacketId, MQTTAckInfo_t *pAckInfo, uint8_t requestProblem); -MQTTStatus_t MQTTV5_GetAckPacketSize(MQTTAckInfo_t *pAckInfo, size_t* pRemainingLength,size_t * pPropertyLength, size_t * pPacketSize, uint32_t maxPacketSize); + uint16_t * pPacketId, MQTTAckInfo_t *pAckInfo, bool requestProblem); +MQTTStatus_t MQTTV5_GetAckPacketSize(const MQTTAckInfo_t *pAckInfo, size_t* pRemainingLength,size_t * pPropertyLength, size_t * pPacketSize, uint32_t maxPacketSize); uint8_t * MQTTV5_SerializeAckFixed(uint8_t * pIndex, uint8_t packetType, From 8f39e64ae9340913a9885b8bfee1bf504c73e249 Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Thu, 4 Jul 2024 12:07:53 +0000 Subject: [PATCH 63/82] MQTTV5 Publish --- source/core_mqtt.c | 20 ++- source/core_mqtt_serializer.c | 119 +++---------- source/include/core_mqtt_serializer.h | 7 +- .../MQTTv5/core_mqttv5_serializer_utest.c | 165 ++++++++++++++++++ test/unit-test/MQTTv5/core_mqttv5_utest.c | 79 ++++++++- 5 files changed, 280 insertions(+), 110 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 3c55f837c..62779b22f 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -1087,9 +1087,9 @@ static bool matchTopicFilter( const char * pTopicName, } else { - LogError( ( "Failed to send ACK packet: PacketType=%02x, SentBytes=%ld, " + LogError( ( "Failed to send ACK packet: PacketType=%02x, " "PacketSize=%lu.", - ( unsigned int ) packetTypeByte, ( long int ) sendResult, + ( unsigned int ) packetTypeByte, packetSize ) ); status = MQTTSendFailed; } @@ -2122,9 +2122,7 @@ static MQTTStatus_t handlePublishAcks( MQTTContext_t * pContext, MQTTDeserializedInfo_t deserializedInfo; #if(MQTT_VERSION_5_ENABLED) MQTTAckInfo_t ackInfo; - MQTTAckInfo_t nextAckInfo; - memset(&ackInfo,0x0,sizeof(ackInfo)); - memset(&nextAckInfo,0x0,sizeof(nextAckInfo)); + ( void ) memset(&ackInfo,0x0,sizeof(ackInfo)); #endif assert( pContext != NULL ); @@ -2190,7 +2188,6 @@ static MQTTStatus_t handlePublishAcks( MQTTContext_t * pContext, deserializedInfo.deserializationResult = status; deserializedInfo.pPublishInfo = NULL; deserializedInfo.pAckInfo = &ackInfo; - deserializedInfo.pNextAckInfo = &nextAckInfo; /* Invoke application callback to hand the buffer over to application * before sending acks. */ appCallback( pContext, pIncomingPacket, &deserializedInfo ); @@ -3207,6 +3204,14 @@ static MQTTStatus_t validatePublishParams( const MQTTContext_t * pContext, "to initialize and enable the use of QoS1/QoS2 publishes." ) ); status = MQTTBadParameter; } + #if(MQTT_VERSION_5_ENABLED) + else if(pContext->connectProperties == NULL){ + LogError( ( "Argument cannot be NULL: pConnectProperties=%p. ", + ( void * ) pContext->pConnectProperties ) ); + status = MQTTBadParameter; + } + + #endif else { /* MISRA else */ @@ -3541,7 +3546,8 @@ MQTTStatus_t MQTT_Publish( MQTTContext_t * pContext, &remainingLength, &packetSize, pContext->connectProperties->serverTopicAliasMax, - pContext->connectProperties->serverMaxPacketSize ); + pContext->connectProperties->serverMaxPacketSize, + pContext->connectProperties->retainAvailable ); #endif } diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 47cc3ecd0..c1bd377b5 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -3962,6 +3962,7 @@ MQTTStatus_t MQTT_SerializePublish( const MQTTPublishInfo_t * pPublishInfo, pPublishInfo->pPayload ) ); status = MQTTBadParameter; } + #if(!MQTT_VERSION_5_ENABLED) else if( ( pPublishInfo->pTopicName == NULL ) || ( pPublishInfo->topicNameLength == 0U ) ) { LogError( ( "Invalid topic name for PUBLISH: pTopicName=%p, " @@ -3970,6 +3971,7 @@ MQTTStatus_t MQTT_SerializePublish( const MQTTPublishInfo_t * pPublishInfo, ( unsigned short ) pPublishInfo->topicNameLength ) ); status = MQTTBadParameter; } + #endif else if( ( pPublishInfo->qos != MQTTQoS0 ) && ( packetId == 0U ) ) { LogError( ( "Packet ID is 0 for PUBLISH with QoS=%u.", @@ -4660,6 +4662,17 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, pIndexLocal = &pIndexLocal[ 4 ]; } + /*Serialze the topic alias if provided*/ + + if(pPublishInfo->topicAlias != 0U){ + *pIndexLocal = MQTT_TOPIC_ALIAS_ID; + pIndexLocal++; + pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( pPublishInfo->topicAlias ); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( pPublishInfo->topicAlias ); + pIndexLocal = &pIndexLocal[ 2 ]; + } + + /*Serialize the payload format if provided.*/ if( pPublishInfo->payloadFormat != 0U ) @@ -4889,7 +4902,8 @@ MQTTStatus_t MQTTV5_GetPublishPacketSize(MQTTPublishInfo_t * pPublishInfo, size_t * pRemainingLength, size_t * pPacketSize, uint16_t topicAliasMax, - uint32_t maxPacketSize ) + uint32_t maxPacketSize, + uint8_t retainAvailable ) { MQTTStatus_t status = MQTTSuccess; @@ -4917,105 +4931,21 @@ MQTTStatus_t MQTTV5_GetPublishPacketSize(MQTTPublishInfo_t * pPublishInfo, ( unsigned short ) pPublishInfo->topicNameLength ) ); status = MQTTBadParameter; } - else if(maxPacketSize == 0U){ + else if(maxPacketSize == 0U) + { status = MQTTBadParameter; } else if(pPublishInfo->topicAlias > topicAliasMax){ LogError(("Invalid topic alias.")); status = MQTTBadParameter; } - else - { - status = calculatePublishPacketSizeV5(pPublishInfo, pRemainingLength, pPacketSize,maxPacketSize); - } - - return status; -} - -MQTTStatus_t MQTTV5_SerializePublish( const MQTTPublishInfo_t * pPublishInfo, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t * pFixedBuffer) -{ - MQTTStatus_t status = MQTTSuccess; - size_t packetSize = 0; - - if( ( pFixedBuffer == NULL ) || ( pPublishInfo == NULL ) ) - { - LogError( ( "Argument cannot be NULL: pFixedBuffer=%p, " - "pPublishInfo=%p.", - ( void * ) pFixedBuffer, - ( void * ) pPublishInfo ) ); - status = MQTTBadParameter; - } - /* A buffer must be configured for serialization. */ - else if( pFixedBuffer->pBuffer == NULL ) - { - LogError( ( "Argument cannot be NULL: pFixedBuffer->pBuffer is NULL." ) ); - status = MQTTBadParameter; - } - - /* For serializing a publish, if there exists a payload, then the buffer - * cannot be NULL. */ - else if( ( pPublishInfo->payloadLength > 0U ) && ( pPublishInfo->pPayload == NULL ) ) - { - LogError( ( "A nonzero payload length requires a non-NULL payload: " - "payloadLength=%lu, pPayload=%p.", - ( unsigned long ) pPublishInfo->payloadLength, - pPublishInfo->pPayload ) ); - status = MQTTBadParameter; - } - else if(( pPublishInfo->pTopicName == NULL ) && ( pPublishInfo->topicNameLength != 0U )) - { - LogError( ( "Invalid topic name for PUBLISH: pTopicName=%p, " - "topicNameLength=%hu.", - ( void * ) pPublishInfo->pTopicName, - ( unsigned short ) pPublishInfo->topicNameLength ) ); - status = MQTTBadParameter; - } - else if((pPublishInfo->topicAlias == 0U) && ( pPublishInfo->topicNameLength == 0U )){ - LogError( ( "Invalid topic name for PUBLISH: pTopicName=%p, " - "topicNameLength=%hu.", - ( void * ) pPublishInfo->pTopicName, - ( unsigned short ) pPublishInfo->topicNameLength ) ); - status = MQTTBadParameter; - } - else if( ( pPublishInfo->qos != MQTTQoS0 ) && ( packetId == 0U ) ) - { - LogError( ( "Packet ID is 0 for PUBLISH with QoS=%u.", - ( unsigned int ) pPublishInfo->qos ) ); - status = MQTTBadParameter; - } - else if( ( pPublishInfo->dup == true ) && ( pPublishInfo->qos == MQTTQoS0 ) ) - { - LogError( ( "Duplicate flag is set for PUBLISH with Qos 0." ) ); + else if((pPublishInfo->retain == true) && (retainAvailable == 0U)){ + LogError(("Retain is not avaialble.")); status = MQTTBadParameter; } else - { - /* Length of serialized packet = First byte - * + Length of encoded remaining length - * + Remaining length. */ - packetSize = 1U + remainingLengthEncodedSize( remainingLength ) + remainingLength; - } - - if( ( status == MQTTSuccess ) && ( packetSize > pFixedBuffer->size ) ) - { - LogError( ( "Buffer size of %lu is not sufficient to hold " - "serialized PUBLISH packet of size of %lu.", - ( unsigned long ) pFixedBuffer->size, - ( unsigned long ) packetSize ) ); - status = MQTTNoMemory; - } - - if( status == MQTTSuccess ) - { - /* Serialize publish with header and payload. */ - serializePublishCommon( pPublishInfo, - remainingLength, - packetId, - pFixedBuffer, - true ); + { + status = calculatePublishPacketSizeV5(pPublishInfo, pRemainingLength, pPacketSize,maxPacketSize); } return status; @@ -5055,11 +4985,6 @@ MQTTStatus_t MQTTV5_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, switch( pIncomingPacket->type ) { - case MQTT_PACKET_TYPE_SUBACK: - status = deserializeSuback( pIncomingPacket, pPacketId ); - break; - - case MQTT_PACKET_TYPE_UNSUBACK: case MQTT_PACKET_TYPE_PUBACK: case MQTT_PACKET_TYPE_PUBREC: status = deserializeSimpleAckV5( pIncomingPacket, pPacketId ,pAckInfo,requestProblem); @@ -5113,7 +5038,7 @@ MQTTStatus_t MQTTV5_GetAckPacketSize(const MQTTAckInfo_t *pAckInfo, size_t* pRem } #if(MQTT_USER_PROPERTY_ENABLED) if((status == MQTTSuccess) && (pAckInfo->pUserProperty!= NULL)){ - status = MQTT_GetUserPropertySize(pAckInfo->pUserProperty->userProperty,pAckInfo->pUserProperty->count,&length); + status = MQTT_GetUserPropertySize(pAckInfo->pUserProperty->userProperty,pAckInfo->pUserProperty->count,&propertyLength); } #endif if(status == MQTTSuccess) diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index e870dd0d6..403a4b762 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -1847,12 +1847,9 @@ MQTTStatus_t MQTTV5_GetPublishPacketSize(MQTTPublishInfo_t * pPublishInfo, size_t * pRemainingLength, size_t * pPacketSize , uint16_t topicAliasMax, - uint32_t maxPacketSize); + uint32_t maxPacketSize, + uint8_t retainAvailable); -MQTTStatus_t MQTTV5_SerializePublish( const MQTTPublishInfo_t * pPublishInfo, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t * pFixedBuffer); MQTTStatus_t MQTTV5_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, uint16_t * pPacketId, MQTTAckInfo_t *pAckInfo, bool requestProblem); diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index 185f41897..031b5f1bc 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -93,6 +93,16 @@ struct NetworkContext #define MQTT_SAMPLE_PAYLOAD "Hello World" #define MQTT_SAMPLE_PAYLOAD_LEN ( sizeof( MQTT_SAMPLE_PAYLOAD ) - 1 ) +#define TEST_TOPIC_ALIAS (2U) +#define TEST_MSG_EXPIRY (100U) +#define TEST_CONTENT_TYPE_LENGTH (2) +#define TEST_CONTENT_TYPE ("ab") +#define TEST_RESPONSE_TOPIC_LENGTH (10) +#define TEST_RESPONSE_TOPIC ("aaaaaaaaaa") +#define TEST_CORRELATION_DATA_LENGTH (5) +#define TEST_CORRELATION_DATA ("abcde") + + /* MQTT CONNECT flags. */ #define MQTT_CONNECT_FLAG_CLEAN ( 1 ) /**< @brief Clean session. */ #define MQTT_CONNECT_FLAG_WILL ( 2 ) /**< @brief Will present. */ @@ -337,6 +347,25 @@ static void setupPublishInfo( MQTTPublishInfo_t * pPublishInfo ) pPublishInfo->retain = false; } +/** + * @brief Initialize pPublishInfo using test-defined macros. + * + * @param[in] pPublishInfo Publish information. + */ +static void setupPublishProperties( MQTTPublishInfo_t * pPublishInfo ) +{ + pPublishInfo->payloadFormat = 1; + pPublishInfo->topicAlias = TEST_TOPIC_ALIAS; + pPublishInfo->msgExpiryInterval = TEST_MSG_EXPIRY; + pPublishInfo->msgExpiryPresent = 1; + pPublishInfo->contentTypeLength = TEST_CONTENT_TYPE_LENGTH; + pPublishInfo->pContentType = TEST_CONTENT_TYPE; + pPublishInfo->responseTopicLength = TEST_RESPONSE_TOPIC_LENGTH; + pPublishInfo->pResponseTopic = TEST_RESPONSE_TOPIC; + pPublishInfo->correlationLength = TEST_CORRELATION_DATA_LENGTH; + pPublishInfo->pCorrelationData = TEST_CORRELATION_DATA; +} + /** * @brief Encode remaining length into pDestination for packet serialization * using MQTT v3.1.1 spec. @@ -3147,3 +3176,139 @@ void test_WillLimit( void ) status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); } + +void test_MQTTV5_GetPublishPacketSize(){ + size_t remainingLength =0U; + size_t packetSize = 0U; + uint16_t topicAliasMax = 10U; + uint32_t maxPacketSize = 0U; + uint8_t retainAvailable = 0U; + setupPublishInfo(&publishInfo); + /*Test with invalid paramters*/ + status = MQTTV5_GetPublishPacketSize(NULL,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + status = MQTTV5_GetPublishPacketSize(&publishInfo,NULL,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,NULL,topicAliasMax,maxPacketSize,retainAvailable); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + /*Topic name invalid*/ + publishInfo.pTopicName = NULL; + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + publishInfo.pTopicName = TEST_TOPIC_NAME; + + /*Topic alias is not allowed and topic name is not provided.*/ + publishInfo.topicNameLength = 0; + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + maxPacketSize = 100; + publishInfo.topicNameLength = TEST_TOPIC_NAME_LENGTH; + /*Retain is not allowed*/ + topicAliasMax = 40U; + publishInfo.retain= true; + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + publishInfo.retain= false; + /*Packet size too large*/ + publishInfo.payloadLength = MQTT_MAX_REMAINING_LENGTH; + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + publishInfo.payloadLength = MQTT_MAX_REMAINING_LENGTH - 2; + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + /* Good case succeeds. */ + publishInfo.pPayload = ""; + publishInfo.payloadLength = 0; + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + + /* Again with QoS 2. */ + publishInfo.qos = MQTTQoS2; + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + + setupPublishProperties(&publishInfo); + /*Invalid topic alias*/ + /*Topic alias is greater than topicAliasMax*/ + topicAliasMax = 1U; + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + topicAliasMax = 50U; + retainAvailable = 1U; + publishInfo.retain= true; + /*Valid properties*/ + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + + /* No topic name*/ + publishInfo.topicNameLength = 0U; + publishInfo.pTopicName = NULL; + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + + /*Packet size is more than the server allowed max packet size*/ + maxPacketSize = 4; + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + +} + +void test_MQTT_SerializePublish(){ + MQTTPublishInfo_t publishInfo; + uint16_t topicAliasMax = 10U; + uint32_t maxPacketSize = 50U; + uint8_t retainAvailable = 1U; + size_t remainingLength = 98; + uint8_t buffer[ 200 + 2 * BUFFER_PADDING_LENGTH ]; + size_t bufferSize = sizeof( buffer ) - 2 * BUFFER_PADDING_LENGTH; + size_t packetSize = bufferSize; + MQTTStatus_t status = MQTTSuccess; + MQTTFixedBuffer_t fixedBuffer = { .pBuffer = &buffer[ BUFFER_PADDING_LENGTH ], .size = bufferSize }; + uint8_t expectedPacket[ 200 ]; + uint8_t * pIterator; + const uint16_t PACKET_ID = 1; + setupPublishInfo(&publishInfo); + fixedBuffer.size = bufferSize; + /* Calculate exact packet size and remaining length. */ + status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, &packetSize,topicAliasMax,maxPacketSize,retainAvailable); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + /* Make sure buffer has enough space */ + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + + padAndResetBuffer( buffer, sizeof( buffer ) ); + status = MQTT_SerializePublish( &publishInfo, + PACKET_ID, + remainingLength, + &fixedBuffer ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); + + setupPublishProperties(&publishInfo); + /* Calculate exact packet size and remaining length. */ + status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, &packetSize,topicAliasMax,maxPacketSize,retainAvailable); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + /* Make sure buffer has enough space */ + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + + padAndResetBuffer( buffer, sizeof( buffer ) ); + status = MQTT_SerializePublish( &publishInfo, + PACKET_ID, + remainingLength, + &fixedBuffer ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); +} \ No newline at end of file diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index 3a619d513..934d78be0 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -168,6 +168,16 @@ struct NetworkContext */ #define MQTT_SAMPLE_TOPIC_FILTER_LENGTH3 ( sizeof( MQTT_SAMPLE_TOPIC_FILTER3 ) - 1 ) + +#define TEST_TOPIC_ALIAS (2U) +#define TEST_MSG_EXPIRY (100U) +#define TEST_CONTENT_TYPE_LENGTH (2) +#define TEST_CONTENT_TYPE ("ab") +#define TEST_RESPONSE_TOPIC_LENGTH (10) +#define TEST_RESPONSE_TOPIC ("aaaaaaaaaa") +#define TEST_CORRELATION_DATA_LENGTH (5) +#define TEST_CORRELATION_DATA ("abcde") + /** * @brief Return values of mocked calls in MQTT_ProcessLoop(). Used by * `expectProcessLoopCalls` @@ -363,7 +373,18 @@ static int32_t transportSendSuccess( NetworkContext_t * pNetworkContext, return bytesToWrite; } - +/** + * @brief Mocked failed transport send. + */ +static int32_t transportSendFailure( NetworkContext_t * pNetworkContext, + const void * pBuffer, + size_t bytesToWrite ) +{ + ( void ) pNetworkContext; + ( void ) pBuffer; + ( void ) bytesToWrite; + return -1; +} /** * @brief Mocked successful transport read. @@ -409,6 +430,20 @@ static void setupNetworkBuffer( MQTTFixedBuffer_t * const pNetworkBuffer ) pNetworkBuffer->size = MQTT_TEST_BUFFER_LENGTH; } +static void setupPublishProperties( MQTTPublishInfo_t * pPublishInfo ) +{ + pPublishInfo->payloadFormat = 1; + pPublishInfo->topicAlias = TEST_TOPIC_ALIAS; + pPublishInfo->msgExpiryInterval = TEST_MSG_EXPIRY; + pPublishInfo->msgExpiryPresent = 1; + pPublishInfo->contentTypeLength = TEST_CONTENT_TYPE_LENGTH; + pPublishInfo->pContentType = TEST_CONTENT_TYPE; + pPublishInfo->responseTopicLength = TEST_RESPONSE_TOPIC_LENGTH; + pPublishInfo->pResponseTopic = TEST_RESPONSE_TOPIC; + pPublishInfo->correlationLength = TEST_CORRELATION_DATA_LENGTH; + pPublishInfo->pCorrelationData = TEST_CORRELATION_DATA; +} + void test_MQTT_Connect() { @@ -610,3 +645,45 @@ void test_MQTT_Connect_receiveConnack( void ) status = MQTT_Connect( &mqttContext, &connectInfo, NULL, timeout, &sessionPresent ); TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); } + +void test_MQTT_Publish2( void ) +{ + MQTTContext_t mqttContext = { 0 }; + MQTTPublishInfo_t publishInfo = { 0 }; + MQTTConnectProperties_t properties = { 0 }; + TransportInterface_t transport = { 0 }; + MQTTFixedBuffer_t networkBuffer = { 0 }; + MQTTStatus_t status; + + const uint16_t PACKET_ID = 1; + + setupTransportInterface( &transport ); + setupNetworkBuffer( &networkBuffer ); + transport.send = transportSendFailure; + + memset( &mqttContext, 0x0, sizeof( mqttContext ) ); + memset( &publishInfo, 0x0, sizeof( publishInfo ) ); + MQTT_Init( &mqttContext, &transport, getTime, eventCallback, &networkBuffer ); + + /*Connect properties not defined*/ + status = MQTT_Publish( &mqttContext, &publishInfo, PACKET_ID ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + mqttContext.connectProperties = &properties; + + MQTTV5_GetPublishPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); + MQTT_SerializePublishHeaderWithoutTopic_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); + status = MQTT_Publish( &mqttContext, &publishInfo, PACKET_ID ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + + /*Send With properties*/ + setupPublishProperties(&publishInfo); + MQTTV5_GetPublishPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); + MQTT_SerializePublishHeaderWithoutTopic_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); + status = MQTT_Publish( &mqttContext, &publishInfo, PACKET_ID ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + + +} + From 454cd692947990b80c49759deab6ece344a9fc4d Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Thu, 4 Jul 2024 18:20:46 +0000 Subject: [PATCH 64/82] MQTTV5 publish --- source/core_mqtt_serializer.c | 43 +------------------ .../MQTTv5/core_mqttv5_serializer_utest.c | 19 ++++---- 2 files changed, 12 insertions(+), 50 deletions(-) diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index c1bd377b5..c186c9c0c 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -1325,48 +1325,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); /* Serialize the will properties,topic name and message into the CONNECT packet if provided. */ if( pWillInfo != NULL ) { - pIndex = MQTT_SerializePublishProperties( pWillInfo, pIndex ); - - /*Serialize the provided will properties which has variable length.*/ - if( pWillInfo->contentTypeLength != 0U ) - { - *pIndex = MQTT_CONTENT_TYPE_ID; - pIndex++; - pIndex = encodeString( pIndex, pWillInfo->pContentType, pWillInfo->contentTypeLength ); - } - - if( pWillInfo->responseTopicLength != 0U ) - { - *pIndex = MQTT_RESPONSE_TOPIC_ID; - pIndex++; - pIndex = encodeString( pIndex, pWillInfo->pResponseTopic, pWillInfo->responseTopicLength ); - } - - if( pWillInfo->correlationLength != 0U ) - { - *pIndex = MQTT_CORRELATION_DATA_ID; - pIndex++; - pIndex = encodeString( pIndex, pWillInfo->pCorrelationData, pWillInfo->correlationLength ); - } - - #if ( MQTT_USER_PROPERTY_ENABLED ) - if( pWillInfo->pUserProperty != NULL ) - { - uint32_t i = 0; - uint32_t size = pWillInfo->pUserProperty->count; - const MQTTUserProperty_t * pUserProperty = pWillInfo->pUserProperty->userProperty; - - for( ; i < size; i++ ) - { - *pIndex = MQTT_USER_PROPERTY_ID; - pIndex++; - pIndex = encodeString( pIndex, pUserProperty[ i ].pKey, pUserProperty[ i ].keyLength ); - pIndex = encodeString( pIndex, pUserProperty[ i ].pValue, pUserProperty[ i ].valueLength ); - } - } - #endif /* if ( MQTT_USER_PROPERTY_ENABLED ) */ - - + pIndex = serializePublishProperties(pWillInfo,pIndex); pIndex = encodeString( pIndex, pWillInfo->pTopicName, pWillInfo->topicNameLength ); pIndex = encodeString( pIndex, pWillInfo->pPayload, ( uint16_t ) pWillInfo->payloadLength ); } diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index 031b5f1bc..d5d10b565 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -3147,8 +3147,6 @@ void test_WillLimit( void ) publishInfo.payloadFormat = 1; publishInfo.msgExpiryPresent = 1; publishInfo.msgExpiryInterval = 10; - publishInfo.msgExpiryPresent = 1; - publishInfo.msgExpiryInterval = 10; publishInfo.contentTypeLength = 2; publishInfo.pContentType = "ab"; publishInfo.responseTopicLength = 2; @@ -3175,6 +3173,11 @@ void test_WillLimit( void ) status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + publishInfo.topicNameLength = 0U; + publishInfo.topicAlias = 1U; + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,22,MQTT_MAX_REMAINING_LENGTH,1); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); } void test_MQTTV5_GetPublishPacketSize(){ @@ -3223,7 +3226,7 @@ void test_MQTTV5_GetPublishPacketSize(){ status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - publishInfo.payloadLength = MQTT_MAX_REMAINING_LENGTH - 2; + publishInfo.payloadLength = MQTT_MAX_REMAINING_LENGTH - TEST_TOPIC_NAME_LENGTH - 4; status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); @@ -3236,7 +3239,6 @@ void test_MQTTV5_GetPublishPacketSize(){ /* Again with QoS 2. */ publishInfo.qos = MQTTQoS2; status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); setupPublishProperties(&publishInfo); @@ -3268,9 +3270,8 @@ void test_MQTTV5_GetPublishPacketSize(){ } void test_MQTT_SerializePublish(){ - MQTTPublishInfo_t publishInfo; - uint16_t topicAliasMax = 10U; - uint32_t maxPacketSize = 50U; + uint16_t topicAliasMax = 5U; + uint32_t maxPacketSize = 200U; uint8_t retainAvailable = 1U; size_t remainingLength = 98; uint8_t buffer[ 200 + 2 * BUFFER_PADDING_LENGTH ]; @@ -3296,7 +3297,8 @@ void test_MQTT_SerializePublish(){ &fixedBuffer ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); checkBufferOverflow( buffer, sizeof( buffer ) ); - + + fixedBuffer.pBuffer = &buffer[ BUFFER_PADDING_LENGTH ]; setupPublishProperties(&publishInfo); /* Calculate exact packet size and remaining length. */ status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, &packetSize,topicAliasMax,maxPacketSize,retainAvailable); @@ -3311,4 +3313,5 @@ void test_MQTT_SerializePublish(){ &fixedBuffer ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); checkBufferOverflow( buffer, sizeof( buffer ) ); + } \ No newline at end of file From d65806cfec793d174de873271a00feec7a087b50 Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Mon, 8 Jul 2024 04:15:53 +0000 Subject: [PATCH 65/82] Mqttv5 publish --- source/core_mqtt.c | 14 +- source/core_mqtt_serializer.c | 89 +- source/include/core_mqtt_serializer.h | 7 +- .../MQTTv5/core_mqttv5_serializer_utest.c | 1706 +++++++---------- test/unit-test/MQTTv5/core_mqttv5_utest.c | 281 ++- 5 files changed, 999 insertions(+), 1098 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 62779b22f..85284ef0e 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -3207,7 +3207,7 @@ static MQTTStatus_t validatePublishParams( const MQTTContext_t * pContext, #if(MQTT_VERSION_5_ENABLED) else if(pContext->connectProperties == NULL){ LogError( ( "Argument cannot be NULL: pConnectProperties=%p. ", - ( void * ) pContext->pConnectProperties ) ); + ( void * ) pContext->connectProperties ) ); status = MQTTBadParameter; } @@ -3542,13 +3542,17 @@ MQTTStatus_t MQTT_Publish( MQTTContext_t * pContext, &remainingLength, &packetSize ); #else + status = MQTTV5_ValidatePublishParams(pPublishInfo, + pContext->connectProperties->serverTopicAliasMax, + pContext->connectProperties->retainAvailable, + pContext->connectProperties->serverMaxQos ); + if(status == MQTTSuccess) + { status = MQTTV5_GetPublishPacketSize( pPublishInfo, &remainingLength, &packetSize, - pContext->connectProperties->serverTopicAliasMax, - pContext->connectProperties->serverMaxPacketSize, - pContext->connectProperties->retainAvailable ); - + pContext->connectProperties->serverMaxPacketSize); + } #endif } diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index c186c9c0c..883bf9ec8 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -364,9 +364,9 @@ * @param[in] ptr A uint8_t* that points to the high byte. */ #define UINT32_DECODE( ptr ) \ - ( uint32_t ) ( ( ( ( uint32_t ) ptr[ 0 ] ) << 8 ) | \ + ( uint32_t ) ( ( ( ( uint32_t ) ptr[ 0 ] ) << 24 ) | \ ( ( ( uint32_t ) ptr[ 1 ] ) << 16 ) | \ - ( ( ( uint32_t ) ptr[ 2 ] ) << 24 ) | \ + ( ( ( uint32_t ) ptr[ 2 ] ) << 8 ) | \ ( ( uint32_t ) ptr[ 3 ] ) ) #endif /* if ( MQTT_VERSION_5_ENABLED ) */ @@ -2103,7 +2103,7 @@ static MQTTStatus_t decodeAckProperties(MQTTAckInfo_t * pAckInfo,const uint8_t * status = decodeVariableLength(pIndex,&propertyLength); if(status == MQTTSuccess) { - pIndex= &pIndex[remainingLengthEncodedSize(propertyLength)];\ + pIndex= &pIndex[remainingLengthEncodedSize(propertyLength)]; /*Validate the remaining length.*/ if(remainingLength != (propertyLength + remainingLengthEncodedSize(propertyLength)+ 3U)){ status = MQTTMalformedPacket; @@ -2152,6 +2152,7 @@ static MQTTStatus_t deserializeSimpleAckV5( const MQTTPacketInfo_t * pAck, if(status == MQTTSuccess){ /* Extract the packet identifier (third and fourth bytes) from ACK. */ *pPacketIdentifier = UINT16_DECODE(pIndex); + pIndex= &pIndex[2]; LogDebug( ( "Packet identifier %hu.", ( unsigned short ) *pPacketIdentifier ) ); @@ -2165,11 +2166,11 @@ static MQTTStatus_t deserializeSimpleAckV5( const MQTTPacketInfo_t * pAck, } /* If reason code is success, server can choose to not send the reason code.*/ - if((status == MQTTSuccess) && (pAck->remainingLength > 2U)){ + if((status == MQTTSuccess) && (pAck->remainingLength > 2U)){ pAckInfo->reasonCode = *pIndex; pIndex ++; } - if((pAck->remainingLength > 3U)) + if((pAck->remainingLength > 4U)) { /*Protocol error to send user property and reason string if client has set request problem to false.*/ if(requestProblem == false) @@ -4857,12 +4858,44 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, return status; } +MQTTStatus_t MQTTV5_ValidatePublishParams(MQTTPublishInfo_t* pPublishInfo, uint16_t topicAliasMax, uint8_t retainAvailable, uint8_t maxQos) +{ + MQTTStatus_t status; + if(pPublishInfo == NULL) + { + LogError( ( "Argument cannot be NULL: pPublishInfo=%p ", + ( void * ) pPublishInfo + ) ); + status = MQTTBadParameter; + } + else if(pPublishInfo->topicAlias > topicAliasMax) + { + LogError(("Invalid topic alias.")); + status = MQTTBadParameter; + } + else if((pPublishInfo->retain == true) && (retainAvailable == 0U)) + { + LogError(("Retain is not avaialble.")); + status = MQTTBadParameter; + } + else if((pPublishInfo->qos != 0) && (maxQos== 0U)) + { + LogError(("Qos value = %hu is not allowed by the server ", + ( unsigned short ) pPublishInfo->topicNameLength )); + status = MQTTBadParameter; + } + else + { + status = MQTTSuccess; + } + + return status; +} + MQTTStatus_t MQTTV5_GetPublishPacketSize(MQTTPublishInfo_t * pPublishInfo, size_t * pRemainingLength, size_t * pPacketSize, - uint16_t topicAliasMax, - uint32_t maxPacketSize, - uint8_t retainAvailable ) + uint32_t maxPacketSize) { MQTTStatus_t status = MQTTSuccess; @@ -4894,14 +4927,6 @@ MQTTStatus_t MQTTV5_GetPublishPacketSize(MQTTPublishInfo_t * pPublishInfo, { status = MQTTBadParameter; } - else if(pPublishInfo->topicAlias > topicAliasMax){ - LogError(("Invalid topic alias.")); - status = MQTTBadParameter; - } - else if((pPublishInfo->retain == true) && (retainAvailable == 0U)){ - LogError(("Retain is not avaialble.")); - status = MQTTBadParameter; - } else { status = calculatePublishPacketSizeV5(pPublishInfo, pRemainingLength, pPacketSize,maxPacketSize); @@ -4932,8 +4957,7 @@ MQTTStatus_t MQTTV5_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, /* Pointer for remaining data cannot be NULL for packets other * than PINGRESP. */ - else if( ( pIncomingPacket->pRemainingData == NULL ) && - ( pIncomingPacket->type != MQTT_PACKET_TYPE_PINGRESP ) ) + else if( pIncomingPacket->pRemainingData == NULL ) { LogError( ( "Remaining data of incoming packet is NULL." ) ); status = MQTTBadParameter; @@ -4962,7 +4986,7 @@ MQTTStatus_t MQTTV5_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, /* Any other packet type is invalid. */ default: - LogError( ( "IotMqtt_DeserializeResponse() called with unknown packet type:(%02x).", + LogError( ( "IotMqttv5_DeserializeResponse() called with unknown packet type:(%02x).", ( unsigned int ) pIncomingPacket->type ) ); status = MQTTBadResponse; break; @@ -4982,19 +5006,24 @@ MQTTStatus_t MQTTV5_GetAckPacketSize(const MQTTAckInfo_t *pAckInfo, size_t* pRem if((pAckInfo== NULL) ||(pRemainingLength == NULL) || (pPacketSize == NULL) || (pPropertyLength == NULL)){ status = MQTTBadParameter; } - if(status == MQTTSuccess){ + else if(maxPacketSize == 0U) + { + status = MQTTBadParameter; + } + else + { length += MQTT_PUBLISH_ACK_PACKET_SIZE_WITH_REASON; - if(pAckInfo->reasonStringLength != 0U){ - if(pAckInfo->pReasonString == NULL){ - status = MQTTBadParameter; - } - else - { - propertyLength += pAckInfo->reasonStringLength; - propertyLength += MQTT_UTF8_LENGTH_SIZE; + if(pAckInfo->reasonStringLength != 0U){ + if(pAckInfo->pReasonString == NULL){ + status = MQTTBadParameter; + } + else + { + propertyLength += pAckInfo->reasonStringLength; + propertyLength += MQTT_UTF8_LENGTH_SIZE; + } } } - } #if(MQTT_USER_PROPERTY_ENABLED) if((status == MQTTSuccess) && (pAckInfo->pUserProperty!= NULL)){ status = MQTT_GetUserPropertySize(pAckInfo->pUserProperty->userProperty,pAckInfo->pUserProperty->count,&propertyLength); @@ -5072,7 +5101,7 @@ MQTTStatus_t MQTTV5_SerializePubAckWithProperty( const MQTTAckInfo_t *pAckInfo, /* Validate arguments. */ if( ( pAckInfo == NULL ) || ( pFixedBuffer == NULL ) ) { - LogError( ( "Argument cannot be NULL: pConnectInfo=%p, " + LogError( ( "Argument cannot be NULL: pAckInfo=%p, " "pFixedBuffer=%p.", ( void * ) pAckInfo, ( void * ) pFixedBuffer ) ); diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index 403a4b762..9586b9655 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -1843,12 +1843,13 @@ MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, const MQTTFixedBuffer_t* pFixedBuffer); /* @[declare_mqttv5_serializeconnect] */ + +MQTTStatus_t MQTTV5_ValidatePublishParams(MQTTPublishInfo_t* pPublishInfo, uint16_t topicAliasMax, uint8_t retainAvailable, uint8_t maxQos); + MQTTStatus_t MQTTV5_GetPublishPacketSize(MQTTPublishInfo_t * pPublishInfo, size_t * pRemainingLength, size_t * pPacketSize , - uint16_t topicAliasMax, - uint32_t maxPacketSize, - uint8_t retainAvailable); + uint32_t maxPacketSize); MQTTStatus_t MQTTV5_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index d5d10b565..1569d95c9 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -95,14 +95,14 @@ struct NetworkContext #define TEST_TOPIC_ALIAS (2U) #define TEST_MSG_EXPIRY (100U) -#define TEST_CONTENT_TYPE_LENGTH (2) -#define TEST_CONTENT_TYPE ("ab") -#define TEST_RESPONSE_TOPIC_LENGTH (10) -#define TEST_RESPONSE_TOPIC ("aaaaaaaaaa") -#define TEST_CORRELATION_DATA_LENGTH (5) -#define TEST_CORRELATION_DATA ("abcde") +#define MQTT_TEST_UTF8_STRING ("test") +#define MQTT_TEST_UTF8_STRING_LENGTH (sizeof(MQTT_TEST_UTF8_STRING) -1) +#define MQTT_TEST_UINT8 (1U) +#define MQTT_TEST_UINT16 (32U) +#define MQTT_TEST_UINT32 (300U) + /* MQTT CONNECT flags. */ #define MQTT_CONNECT_FLAG_CLEAN ( 1 ) /**< @brief Clean session. */ #define MQTT_CONNECT_FLAG_WILL ( 2 ) /**< @brief Will present. */ @@ -170,9 +170,9 @@ struct NetworkContext ( ( uint16_t ) ptr[ 1 ] ) ) #define UINT32_DECODE( ptr ) \ - ( uint32_t ) ( ( ( ( uint32_t ) ptr[ 0 ] ) << 8 ) | \ + ( uint32_t ) ( ( ( ( uint32_t ) ptr[ 0 ] ) << 24 ) | \ ( ( ( uint32_t ) ptr[ 1 ] ) << 16 ) | \ - ( ( ( uint32_t ) ptr[ 2 ] ) << 24 ) | \ + ( ( ( uint32_t ) ptr[ 2 ] ) << 8 ) | \ ( ( uint32_t ) ptr[ 3 ] ) ) #define UINT32_BYTE3( x ) ( ( uint8_t ) ( ( x ) >> 24 ) ) @@ -358,12 +358,12 @@ static void setupPublishProperties( MQTTPublishInfo_t * pPublishInfo ) pPublishInfo->topicAlias = TEST_TOPIC_ALIAS; pPublishInfo->msgExpiryInterval = TEST_MSG_EXPIRY; pPublishInfo->msgExpiryPresent = 1; - pPublishInfo->contentTypeLength = TEST_CONTENT_TYPE_LENGTH; - pPublishInfo->pContentType = TEST_CONTENT_TYPE; - pPublishInfo->responseTopicLength = TEST_RESPONSE_TOPIC_LENGTH; - pPublishInfo->pResponseTopic = TEST_RESPONSE_TOPIC; - pPublishInfo->correlationLength = TEST_CORRELATION_DATA_LENGTH; - pPublishInfo->pCorrelationData = TEST_CORRELATION_DATA; + pPublishInfo->contentTypeLength = MQTT_TEST_UTF8_STRING_LENGTH; + pPublishInfo->pContentType = MQTT_TEST_UTF8_STRING; + pPublishInfo->responseTopicLength = MQTT_TEST_UTF8_STRING_LENGTH; + pPublishInfo->pResponseTopic = MQTT_TEST_UTF8_STRING; + pPublishInfo->correlationLength = MQTT_TEST_UTF8_STRING_LENGTH; + pPublishInfo->pCorrelationData = MQTT_TEST_UTF8_STRING; } /** @@ -503,13 +503,58 @@ static uint8_t * initializeDeserialize(MQTTPacketInfo_t *packetInfo,uint8_t *pIn return pIndexLocal; } -static uint8_t * serializeuint_32(uint8_t *pIndexLocal, uint32_t value) +static uint8_t * serializeuint_32(uint8_t *pIndex, uint8_t propertyId) { - pIndexLocal[ 0 ] = UINT32_BYTE3( value ); - pIndexLocal[ 1 ] = UINT32_BYTE2( value ); - pIndexLocal[ 2 ] = UINT32_BYTE1( value ); - pIndexLocal[ 3 ] = UINT32_BYTE0( value ); - pIndexLocal = &pIndexLocal[ 4 ]; + uint8_t *pIndexLocal = pIndex; + *pIndexLocal = propertyId; + pIndexLocal++; + pIndexLocal[ 0 ] = UINT32_BYTE3( MQTT_TEST_UINT32 ); + pIndexLocal[ 1 ] = UINT32_BYTE2( MQTT_TEST_UINT32 ); + pIndexLocal[ 2 ] = UINT32_BYTE1( MQTT_TEST_UINT32 ); + pIndexLocal[ 3 ] = UINT32_BYTE0( MQTT_TEST_UINT32 ); + pIndexLocal = &pIndexLocal[ 4 ]; + return pIndexLocal; +} + + +static uint8_t * serializeuint_16(uint8_t *pIndex,uint8_t propertyId) +{ + uint8_t *pIndexLocal = pIndex; + *pIndexLocal = propertyId; + pIndexLocal++; + pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( MQTT_TEST_UINT16 ); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( MQTT_TEST_UINT16 ); + pIndexLocal = &pIndexLocal[ 2 ]; + return pIndexLocal; +} + +static uint8_t * serializeuint_8(uint8_t *pIndex,uint8_t propertyId) +{ + uint8_t *pIndexLocal = pIndex; + *pIndexLocal = propertyId; + pIndexLocal++; + pIndexLocal[ 0 ] = MQTT_TEST_UINT8; + pIndexLocal++; + return pIndexLocal; +} +static uint8_t * serializeutf_8(uint8_t *pIndex, uint8_t propertyId) +{ + uint8_t *pIndexLocal = pIndex; + *pIndexLocal = propertyId; + pIndexLocal++; + size_t dummy = encodeString( pIndexLocal, MQTT_TEST_UTF8_STRING, MQTT_TEST_UTF8_STRING_LENGTH ); + pIndexLocal = &pIndexLocal[ dummy ]; + return pIndexLocal; +} + +static uint8_t * serializeutf_8pair(uint8_t *pIndex){ + uint8_t* pIndexLocal = pIndex; + *pIndexLocal = MQTT_USER_PROPERTY_ID; + pIndexLocal++; + size_t dummy = encodeString( pIndexLocal,MQTT_TEST_UTF8_STRING,MQTT_TEST_UTF8_STRING_LENGTH); + pIndexLocal = &pIndexLocal[ dummy ]; + dummy = encodeString( pIndexLocal, MQTT_TEST_UTF8_STRING, MQTT_TEST_UTF8_STRING_LENGTH ); + pIndexLocal = &pIndexLocal[ dummy ]; return pIndexLocal; } static MQTTStatus_t MQTT_GetUserPropertySize( const MQTTUserProperty_t * pUserProperty, @@ -941,47 +986,47 @@ void test_MQTT_GetPublishPropertiesSize( void ) TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_EQUAL_size_t( 12, publishInfo.propertyLength ); - publishInfo.contentTypeLength = 2; + publishInfo.contentTypeLength = MQTT_TEST_UTF8_STRING_LENGTH; status = MQTT_GetPublishPropertiesSize( &publishInfo ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - publishInfo.pContentType = "ab"; + publishInfo.pContentType = MQTT_TEST_UTF8_STRING; status = MQTT_GetPublishPropertiesSize( &publishInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_size_t( 17, publishInfo.propertyLength ); + TEST_ASSERT_EQUAL_size_t( 19, publishInfo.propertyLength ); - publishInfo.responseTopicLength = 2; + publishInfo.responseTopicLength = MQTT_TEST_UTF8_STRING_LENGTH; status = MQTT_GetPublishPropertiesSize( &publishInfo ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - publishInfo.pResponseTopic = "ab"; + publishInfo.pResponseTopic = MQTT_TEST_UTF8_STRING; status = MQTT_GetPublishPropertiesSize( &publishInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_size_t( 22, publishInfo.propertyLength ); + TEST_ASSERT_EQUAL_size_t( 26, publishInfo.propertyLength ); - publishInfo.correlationLength = 2; + publishInfo.correlationLength = MQTT_TEST_UTF8_STRING_LENGTH; status = MQTT_GetPublishPropertiesSize( &publishInfo ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - publishInfo.pCorrelationData = "ab"; + publishInfo.pCorrelationData = MQTT_TEST_UTF8_STRING; status = MQTT_GetPublishPropertiesSize( &publishInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_size_t( 27, publishInfo.propertyLength ); + TEST_ASSERT_EQUAL_size_t( 33, publishInfo.propertyLength ); MQTTUserProperties_t userProperties; - userProperties.userProperty[ 0 ].pKey = "2"; - userProperties.userProperty[ 0 ].keyLength = 1; - userProperties.userProperty[ 0 ].valueLength = 3; - userProperties.userProperty[ 0 ].pValue = "abc"; - userProperties.userProperty[ 1 ].pKey = "2"; - userProperties.userProperty[ 1 ].keyLength = 1; - userProperties.userProperty[ 1 ].valueLength = 2; - userProperties.userProperty[ 1 ].pValue = "ab"; + userProperties.userProperty[ 0 ].pKey = MQTT_TEST_UTF8_STRING; + userProperties.userProperty[ 0 ].keyLength = MQTT_TEST_UTF8_STRING_LENGTH; + userProperties.userProperty[ 0 ].valueLength = MQTT_TEST_UTF8_STRING_LENGTH; + userProperties.userProperty[ 0 ].pValue = MQTT_TEST_UTF8_STRING; + userProperties.userProperty[ 1 ].pKey = MQTT_TEST_UTF8_STRING; + userProperties.userProperty[ 1 ].keyLength = MQTT_TEST_UTF8_STRING_LENGTH; + userProperties.userProperty[ 1 ].valueLength = MQTT_TEST_UTF8_STRING_LENGTH; + userProperties.userProperty[ 1 ].pValue = MQTT_TEST_UTF8_STRING; publishInfo.pUserProperty = &userProperties; userProperties.count = 2; status = MQTT_GetPublishPropertiesSize( &publishInfo ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_size_t( 44, publishInfo.propertyLength ); + TEST_ASSERT_EQUAL_size_t( 59, publishInfo.propertyLength ); } void test_MQTT_SerializeConnectProperties( void ) @@ -1045,7 +1090,7 @@ void test_MQTTV5_DeserializeConnackOnlyStatus( void ) { uint8_t buffer[ 50 ]; - uint8_t * index = buffer; + uint8_t * pIndex = buffer; MQTTUserProperties_t incomingProperty; properties.pIncomingUserProperty = &incomingProperty; status = MQTTV5_DeserializeConnack( NULL, NULL, NULL ); @@ -1065,7 +1110,7 @@ void test_MQTTV5_DeserializeConnackOnlyStatus( void ) status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - packetInfo.pRemainingData = index; + packetInfo.pRemainingData = pIndex; packetInfo.type = MQTT_PACKET_TYPE_CONNECT; status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); @@ -1084,7 +1129,7 @@ void test_MQTTV5_DeserializeConnackOnlyStatus( void ) TEST_ASSERT_EQUAL( MQTTBadResponse, status ); /* 5 + 1 + 2 = 8 */ - size_t propertyLength = encodeRemainingLength( index, 5 ); + size_t propertyLength = encodeRemainingLength( pIndex, 5 ); packetInfo.remainingLength = propertyLength + 7; /*Not a valid reason code*/ buffer[ 0 ] = 0x00; @@ -1209,41 +1254,57 @@ void test_MQTTV5_DeserializeConnackOnlyStatus( void ) status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); TEST_ASSERT_EQUAL( MQTTMalformedPacket, status ); + /*Invalid property length*/ + properties.isMaxPacketSize = 200; + packetInfo.remainingLength = 20; + pIndex = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndex, 20971556356235 ); + LogDebug( ( "Encoded size for length is %lu bytes.", + ( unsigned long ) propertyLength ) ); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); + + /*Invalid property length*/ + pIndex = &buffer[ 2 ]; + *pIndex = 0x81; + pIndex++; + *pIndex = 0x00; + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); + TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); + /*Incoming user property not initialized*/ properties.pIncomingUserProperty = NULL; status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + } -void test_MQTTV5_DeserializeConnackOnlySessionExpiry( void ) +void test_MQTTV5_DeserializeConnackOnlyuint_32( void ) { uint8_t buffer[200] = {0}; bool session = false; uint8_t * pIndexLocal = initializeDeserialize(&packetInfo,buffer); - size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); - packetInfo.remainingLength = propertyLength + 7; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 10 ); + packetInfo.remainingLength = propertyLength + 12; properties.isMaxPacketSize = true; properties.maxPacketSize = 150; properties.pIncomingUserProperty = &userProperties; pIndexLocal++; - *pIndexLocal = MQTT_SESSION_EXPIRY_ID; - pIndexLocal++; - pIndexLocal = serializeuint_32(pIndexLocal, 12); + pIndexLocal = serializeuint_32(pIndexLocal, MQTT_SESSION_EXPIRY_ID); + pIndexLocal = serializeuint_32(pIndexLocal, MQTT_MAX_PACKET_SIZE_ID); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_INT( 12, properties.sessionExpiry ); + TEST_ASSERT_EQUAL_INT( MQTT_TEST_UINT32, properties.sessionExpiry ); + TEST_ASSERT_EQUAL_INT( MQTT_TEST_UINT32, properties.serverMaxPacketSize ); /*Protocol error to include the same property twice*/ packetInfo.remainingLength = 13; pIndexLocal = &buffer[ 2 ]; propertyLength = encodeRemainingLength( pIndexLocal, 10 ); pIndexLocal++; - *pIndexLocal = MQTT_SESSION_EXPIRY_ID; - pIndexLocal++; - pIndexLocal = serializeuint_32(pIndexLocal, 12); - *pIndexLocal = MQTT_SESSION_EXPIRY_ID; - pIndexLocal++; - pIndexLocal = serializeuint_32(pIndexLocal, 12); + pIndexLocal = serializeuint_32(pIndexLocal, MQTT_SESSION_EXPIRY_ID); + pIndexLocal = serializeuint_32(pIndexLocal, MQTT_SESSION_EXPIRY_ID); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); @@ -1254,7 +1315,7 @@ void test_MQTTV5_DeserializeConnackOnlySessionExpiry( void ) pIndexLocal++; *pIndexLocal = MQTT_SESSION_EXPIRY_ID; pIndexLocal++; - pIndexLocal = serializeuint_32(pIndexLocal, 12); + pIndexLocal = serializeuint_32(pIndexLocal, MQTT_SESSION_EXPIRY_ID); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); @@ -1263,33 +1324,30 @@ void test_MQTTV5_DeserializeConnackOnlySessionExpiry( void ) pIndexLocal = &buffer[ 2 ]; propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; - *pIndexLocal = 0x00; - pIndexLocal++; - pIndexLocal = serializeuint_32(pIndexLocal, 12); + pIndexLocal = serializeuint_32(pIndexLocal, 0x00); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - packetInfo.remainingLength = 8; + /* Max packet size cannot have a value 0*/ pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 20971556356235 ); - LogDebug( ( "Encoded size for length is %lu bytes.", - ( unsigned long ) propertyLength ) ); + propertyLength = encodeRemainingLength( pIndexLocal, 5 ); + packetInfo.remainingLength = propertyLength + 7; + pIndexLocal++; + *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; + pIndexLocal++; + pIndexLocal[ 0 ] = UINT32_BYTE3( 0 ); + pIndexLocal[ 1 ] = UINT32_BYTE2( 0 ); + pIndexLocal[ 2 ] = UINT32_BYTE1( 0 ); + pIndexLocal[ 3 ] = UINT32_BYTE0( 0 ); + pIndexLocal = &pIndexLocal[ 4 ]; status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); - + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - packetInfo.remainingLength = 8; - pIndexLocal = &buffer[ 2 ]; - *pIndexLocal = 0x81; - pIndexLocal++; - *pIndexLocal = 0x00; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); } -void test_MQTTV5_DeserializeConnackOnlyReceiveMax( void ) +void test_MQTTV5_DeserializeConnackOnlyuint_16( void ) { uint8_t buffer[ 200 ] = { 0 }; @@ -1301,17 +1359,17 @@ void test_MQTTV5_DeserializeConnackOnlyReceiveMax( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; pIndexLocal = &buffer[ 2 ]; properties.pIncomingUserProperty = &userProperties; - size_t propertyLength = encodeRemainingLength( pIndexLocal, 3 ); - packetInfo.remainingLength = propertyLength + 5; - pIndexLocal++; - *pIndexLocal = MQTT_RECEIVE_MAX_ID; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 9 ); + packetInfo.remainingLength = propertyLength + 11; pIndexLocal++; - pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); - pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); - pIndexLocal = &pIndexLocal[ 2 ]; + pIndexLocal = serializeuint_16(pIndexLocal,MQTT_RECEIVE_MAX_ID); + pIndexLocal = serializeuint_16(pIndexLocal,MQTT_TOPIC_ALIAS_MAX_ID); + pIndexLocal = serializeuint_16(pIndexLocal,MQTT_SERVER_KEEP_ALIVE_ID); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_INT( 13, properties.serverReceiveMax ); + TEST_ASSERT_EQUAL_INT( MQTT_TEST_UINT16, properties.serverReceiveMax ); + TEST_ASSERT_EQUAL_INT( MQTT_TEST_UINT16, properties.serverTopicAliasMax ); + TEST_ASSERT_EQUAL_INT( MQTT_TEST_UINT16, properties.serverKeepAlive); /*Receive Max cannot have a value 0*/ pIndexLocal = &buffer[ 2 ]; @@ -1321,7 +1379,7 @@ void test_MQTTV5_DeserializeConnackOnlyReceiveMax( void ) *pIndexLocal = MQTT_RECEIVE_MAX_ID; pIndexLocal++; pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 0 ); - pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 0 ); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 0); pIndexLocal = &pIndexLocal[ 2 ]; status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); @@ -1331,16 +1389,8 @@ void test_MQTTV5_DeserializeConnackOnlyReceiveMax( void ) propertyLength = encodeRemainingLength( pIndexLocal, 6 ); packetInfo.remainingLength = propertyLength + 8; pIndexLocal++; - *pIndexLocal = MQTT_RECEIVE_MAX_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); - pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); - pIndexLocal = &pIndexLocal[ 2 ]; - *pIndexLocal = MQTT_RECEIVE_MAX_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); - pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); - pIndexLocal = &pIndexLocal[ 2 ]; + pIndexLocal = serializeuint_16(pIndexLocal,MQTT_RECEIVE_MAX_ID); + pIndexLocal = serializeuint_16(pIndexLocal,MQTT_RECEIVE_MAX_ID); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); @@ -1349,16 +1399,12 @@ void test_MQTTV5_DeserializeConnackOnlyReceiveMax( void ) pIndexLocal = &buffer[ 2 ]; propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; - *pIndexLocal = MQTT_RECEIVE_MAX_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); - pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); - pIndexLocal = &pIndexLocal[ 2 ]; + pIndexLocal = serializeuint_16(pIndexLocal,MQTT_RECEIVE_MAX_ID); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); } -void test_MQTTV5_DeserializeConnackOnlyMaxQos( void ) +void test_MQTTV5_DeserializeConnackOnlyuint_8( void ) { uint8_t buffer[ 200 ] = { 0 }; uint8_t * pIndexLocal = buffer; @@ -1367,18 +1413,24 @@ void test_MQTTV5_DeserializeConnackOnlyMaxQos( void ) bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - packetInfo.remainingLength = 5; + packetInfo.remainingLength = 13; pIndexLocal = &buffer[ 2 ]; properties.pIncomingUserProperty = &userProperties; - size_t propertyLength = encodeRemainingLength( pIndexLocal, 2 ); - pIndexLocal++; - *pIndexLocal = MQTT_MAX_QOS_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 0; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 10 ); pIndexLocal++; + pIndexLocal = serializeuint_8(pIndexLocal,MQTT_MAX_QOS_ID); + pIndexLocal = serializeuint_8(pIndexLocal,MQTT_RETAIN_AVAILABLE_ID); + pIndexLocal = serializeuint_8(pIndexLocal,MQTT_WILDCARD_ID); + pIndexLocal = serializeuint_8(pIndexLocal,MQTT_SHARED_SUB_ID); + pIndexLocal = serializeuint_8(pIndexLocal,MQTT_SUB_AVAILABLE_ID); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_INT( 0, properties.serverMaxQos ); + TEST_ASSERT_EQUAL_INT( MQTT_TEST_UINT8, properties.serverMaxQos ); + TEST_ASSERT_EQUAL_INT( MQTT_TEST_UINT8, properties.retainAvailable ); + TEST_ASSERT_EQUAL_INT( MQTT_TEST_UINT8, properties.isWildcardAvaiable ); + TEST_ASSERT_EQUAL_INT( MQTT_TEST_UINT8, properties.isSharedAvailable ); + TEST_ASSERT_EQUAL_INT( MQTT_TEST_UINT8, properties.subscriptionId ); /*Protocol error to have a value other than 0 or 1*/ packetInfo.remainingLength = 5; @@ -1397,14 +1449,8 @@ void test_MQTTV5_DeserializeConnackOnlyMaxQos( void ) propertyLength = encodeRemainingLength( pIndexLocal, 4 ); packetInfo.remainingLength = propertyLength + 6; pIndexLocal++; - *pIndexLocal = MQTT_MAX_QOS_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 0; - pIndexLocal++; - *pIndexLocal = MQTT_MAX_QOS_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 0; - pIndexLocal++; + pIndexLocal = serializeuint_8(pIndexLocal,MQTT_MAX_QOS_ID); + pIndexLocal = serializeuint_8(pIndexLocal,MQTT_MAX_QOS_ID); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); @@ -1419,53 +1465,42 @@ void test_MQTTV5_DeserializeConnackOnlyMaxQos( void ) pIndexLocal++; status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); + + } -void test_MQTTV5_DeserializeConnackOnlyMaxPacketSize( void ) + + +void test_MQTTV5_DeserializeConnackOnlyutf_8( void ) { uint8_t buffer[ 200 ] = { 0 }; uint8_t * pIndexLocal = buffer; buffer[ 0 ] = 0x01; buffer[ 1 ] = 0x00; + bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - packetInfo.remainingLength = 8; pIndexLocal = &buffer[ 2 ]; properties.pIncomingUserProperty = &userProperties; - size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); - pIndexLocal++; - *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; + properties.requestResponseInfo = 1; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 28 ); + packetInfo.remainingLength = propertyLength + 28 + 2; pIndexLocal++; - pIndexLocal = serializeuint_32(pIndexLocal, 120); + pIndexLocal = serializeutf_8(pIndexLocal,MQTT_ASSIGNED_CLIENT_ID); + pIndexLocal = serializeutf_8(pIndexLocal,MQTT_REASON_STRING_ID); + pIndexLocal = serializeutf_8(pIndexLocal,MQTT_RESPONSE_INFO_ID); + pIndexLocal = serializeutf_8(pIndexLocal,MQTT_SERVER_REF_ID); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_INT( 120, properties.serverMaxPacketSize ); - - /*Protocol error to have a value 0*/ - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 5 ); - packetInfo.remainingLength = propertyLength + 7; - pIndexLocal++; - *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; - pIndexLocal++; - pIndexLocal = serializeuint_32(pIndexLocal,0); - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Protocol error to include the same property twice*/ - packetInfo.remainingLength = 13; + packetInfo.remainingLength = 17; pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 10 ); - pIndexLocal++; - *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; - pIndexLocal++; - pIndexLocal = serializeuint_32(pIndexLocal, 120); - pIndexLocal = &pIndexLocal[ 4 ]; - *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; + propertyLength = encodeRemainingLength( pIndexLocal, 14 ); pIndexLocal++; - pIndexLocal = serializeuint_32(pIndexLocal,120); - + pIndexLocal = serializeutf_8(pIndexLocal,MQTT_ASSIGNED_CLIENT_ID); + pIndexLocal = serializeutf_8(pIndexLocal,MQTT_ASSIGNED_CLIENT_ID); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); @@ -1474,935 +1509,155 @@ void test_MQTTV5_DeserializeConnackOnlyMaxPacketSize( void ) pIndexLocal = &buffer[ 2 ]; propertyLength = encodeRemainingLength( pIndexLocal, 4 ); pIndexLocal++; - *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; + pIndexLocal = serializeutf_8(pIndexLocal,MQTT_ASSIGNED_CLIENT_ID); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); + + /*Invalid property length*/ + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 2 ); + packetInfo.remainingLength = propertyLength + 4; pIndexLocal++; - pIndexLocal = serializeuint_32(pIndexLocal, 120); - pIndexLocal = &pIndexLocal[ 4 ]; + serializeutf_8(pIndexLocal,MQTT_ASSIGNED_CLIENT_ID); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); + + /*Protocol error to include response information if is is set to false by client*/ + properties.requestResponseInfo = 0; + packetInfo.remainingLength = 10; + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 7); + pIndexLocal++; + pIndexLocal = serializeutf_8(pIndexLocal,MQTT_RESPONSE_INFO_ID); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); } -void test_MQTTV5_DeserializeConnackOnlyRetainAvailable( void ) + +void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) { - - uint8_t buffer[ 200 ] = { 0 }; + properties.pIncomingUserProperty = &userProperties; + uint8_t buffer[ 70000 ] = { 0 }; uint8_t * pIndexLocal = buffer; buffer[ 0 ] = 0x01; buffer[ 1 ] = 0x00; + bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - packetInfo.remainingLength = 5; + packetInfo.remainingLength = 16; pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperties; - size_t propertyLength = encodeRemainingLength( pIndexLocal, 2 ); - pIndexLocal++; - *pIndexLocal = MQTT_RETAIN_AVAILABLE_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 0; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 13 ); pIndexLocal++; + pIndexLocal = serializeutf_8pair(pIndexLocal); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_INT( 0, properties.retainAvailable ); + TEST_ASSERT_EQUAL( 1, properties.pIncomingUserProperty->count ); + TEST_ASSERT_EQUAL( MQTT_TEST_UTF8_STRING_LENGTH, ( properties.pIncomingUserProperty->userProperty[ 0 ].valueLength ) ); + TEST_ASSERT_EQUAL( MQTT_TEST_UTF8_STRING_LENGTH, ( properties.pIncomingUserProperty->userProperty[ 0 ].keyLength ) ); - /*Protocol error to have a value other than 0 or 1*/ + /*Invalid property length*/ packetInfo.remainingLength = 5; pIndexLocal = &buffer[ 2 ]; propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; - *pIndexLocal = MQTT_RETAIN_AVAILABLE_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 3; - pIndexLocal++; + pIndexLocal = serializeutf_8pair(pIndexLocal); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); - /*Protocol error to include the same property twice*/ - packetInfo.remainingLength = 7; + /*Invalid property length*/ + packetInfo.remainingLength = 6; pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 4 ); - pIndexLocal++; - *pIndexLocal = MQTT_RETAIN_AVAILABLE_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 0; - pIndexLocal++; - *pIndexLocal = MQTT_RETAIN_AVAILABLE_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 0; + propertyLength = encodeRemainingLength( pIndexLocal, 3 ); pIndexLocal++; + pIndexLocal = serializeutf_8pair(pIndexLocal); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); /*Invalid property length*/ pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 1 ); - packetInfo.remainingLength = propertyLength + 3; - pIndexLocal++; - *pIndexLocal = MQTT_RETAIN_AVAILABLE_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 0; + propertyLength = encodeRemainingLength( pIndexLocal, 8 ); + packetInfo.remainingLength = propertyLength + 10; pIndexLocal++; + pIndexLocal = serializeutf_8pair(pIndexLocal); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); -} -void test_MQTT_GetUserPropertySize( void ) -{ - MQTTUserProperty_t userProperty; - size_t l = 12; - size_t * length = &l; - - memset( &userProperty, 0x0, sizeof( userProperty ) ); - - userProperty.keyLength = 0; - status = MQTT_GetUserPropertySize( &userProperty, 1, length ); - TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); -} -void test_MQTTV5_DeserializeConnackOnlyClientId( void ) -{ - - uint8_t buffer[ 200 ] = { 0 }; - uint8_t * pIndexLocal = buffer; - buffer[ 0 ] = 0x01; - buffer[ 1 ] = 0x00; - bool session = false; - packetInfo.pRemainingData = buffer; - packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - packetInfo.remainingLength = 8; + /*Invalid property length*/ + packetInfo.remainingLength = 15; pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperties; - size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); - pIndexLocal++; - *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; + propertyLength = encodeRemainingLength( pIndexLocal, 12 ); pIndexLocal++; - char * string = "ab"; - size_t dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; + pIndexLocal = serializeutf_8pair(pIndexLocal); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( pIndexLocal, properties.pClientIdentifier + 2 ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); - /*Protocol error to include the same property twice*/ - packetInfo.remainingLength = 13; + /*Discard user property*/ + packetInfo.remainingLength = 65018; pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 10 ); - pIndexLocal++; - *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal++; - pIndexLocal = &pIndexLocal[ dummy ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); + propertyLength = encodeRemainingLength( pIndexLocal, 65013 ); + pIndexLocal += 3; + uint32_t i = 0U; + + for( ; i < 5001; i++ ) + { + pIndexLocal = serializeutf_8pair(pIndexLocal); + } - /*Invalid property length*/ - packetInfo.remainingLength = 7; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 4 ); - pIndexLocal++; - *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal++; - pIndexLocal = &pIndexLocal[ dummy ]; status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - /*Invalid property length*/ + packetInfo.remainingLength = 65017; pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 2 ); - packetInfo.remainingLength = propertyLength + 4; - pIndexLocal++; - *pIndexLocal = MQTT_ASSIGNED_CLIENT_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; + propertyLength = encodeRemainingLength( pIndexLocal, 65012 ); + pIndexLocal += 3; + + for( ; i < 5001; i++ ) + { + pIndexLocal = serializeutf_8pair(pIndexLocal); + } + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); } -void test_MQTTV5_DeserializeConnackOnlyTopicAlias( void ) + + + +void test_MQTTV5_DeserializeConnackOnlyAuthInfo( void ) { + MQTTAuthInfo_t auth; + MQTTAuthInfo_t auth1; + properties.pIncomingAuth = &auth; + properties.pOutgoingAuth = &auth1; uint8_t buffer[ 200 ] = { 0 }; uint8_t * pIndexLocal = buffer; buffer[ 0 ] = 0x01; buffer[ 1 ] = 0x00; + bool session = false; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - packetInfo.remainingLength = 6; + packetInfo.remainingLength = 17; pIndexLocal = &buffer[ 2 ]; properties.pIncomingUserProperty = &userProperties; - size_t propertyLength = encodeRemainingLength( pIndexLocal, 3 ); + size_t propertyLength = encodeRemainingLength( pIndexLocal, 14 ); pIndexLocal++; - *pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); - pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); - pIndexLocal = &pIndexLocal[ 2 ]; + pIndexLocal = serializeutf_8(pIndexLocal,MQTT_AUTH_METHOD_ID); + pIndexLocal = serializeutf_8(pIndexLocal,MQTT_AUTH_DATA_ID); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_INT( 13, properties.serverTopicAliasMax ); - - /*Protocol error to include the same property twice*/ - packetInfo.remainingLength = 9; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 6 ); - pIndexLocal++; - *pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); - pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); - pIndexLocal = &pIndexLocal[ 2 ]; - *pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); - pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); - pIndexLocal = &pIndexLocal[ 2 ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - - /*Invalid property length*/ - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 2 ); - packetInfo.remainingLength = propertyLength + 4; - pIndexLocal++; - *pIndexLocal = MQTT_TOPIC_ALIAS_MAX_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); - pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); - pIndexLocal = &pIndexLocal[ 2 ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); -} - -void test_MQTTV5_DeserializeConnackOnlyWildCard( void ) -{ - uint8_t buffer[ 200 ] = { 0 }; - uint8_t * pIndexLocal = buffer; - buffer[ 0 ] = 0x01; - buffer[ 1 ] = 0x00; - bool session = false; - packetInfo.pRemainingData = buffer; - packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - packetInfo.remainingLength = 5; - pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperties; - size_t propertyLength = encodeRemainingLength( pIndexLocal, 2 ); - pIndexLocal++; - *pIndexLocal = MQTT_WILDCARD_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 0; - pIndexLocal++; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_INT( 0, properties.isWildcardAvaiable ); - - /*Value more than 1 is not allowed*/ - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 2 ); - pIndexLocal++; - *pIndexLocal = MQTT_WILDCARD_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 3; - pIndexLocal++; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - - /*Protocol error to include the same property twice*/ - packetInfo.remainingLength = 7; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 4 ); - pIndexLocal++; - *pIndexLocal = MQTT_WILDCARD_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 0; - pIndexLocal++; - *pIndexLocal = MQTT_WILDCARD_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 0; - pIndexLocal++; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - - /*Invalid property length*/ - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 1 ); - packetInfo.remainingLength = propertyLength + 3; - pIndexLocal++; - *pIndexLocal = MQTT_WILDCARD_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 0; - pIndexLocal++; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); -} - -void test_MQTTV5_DeserializeConnackOnlyReasonString( void ) -{ - uint8_t buffer[ 200 ] = { 0 }; - uint8_t * pIndexLocal = buffer; - buffer[ 0 ] = 0x01; - buffer[ 1 ] = 0x00; - bool session = false; - packetInfo.pRemainingData = buffer; - packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - packetInfo.remainingLength = 8; - pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperties; - size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); - pIndexLocal++; - *pIndexLocal = MQTT_REASON_STRING_ID; - pIndexLocal++; - char * string = "ab"; - size_t dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_INT( pIndexLocal, properties.pReasonString + 2 ); - - /*Protocol error to include the same property twice*/ - packetInfo.remainingLength = 13; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 10 ); - pIndexLocal++; - *pIndexLocal = MQTT_REASON_STRING_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - *pIndexLocal = MQTT_REASON_STRING_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - - /*Invalid property length*/ - packetInfo.remainingLength = 7; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 4 ); - pIndexLocal++; - *pIndexLocal = MQTT_REASON_STRING_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); - - /*Invalid property length*/ - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 2 ); - packetInfo.remainingLength = propertyLength + 4; - pIndexLocal++; - *pIndexLocal = MQTT_REASON_STRING_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); -} - -void test_MQTTV5_DeserializeConnackOnlySUbId( void ) -{ - uint8_t buffer[ 200 ] = { 0 }; - uint8_t * pIndexLocal = buffer; - buffer[ 0 ] = 0x01; - buffer[ 1 ] = 0x00; - - bool session = false; - packetInfo.pRemainingData = buffer; - packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - packetInfo.remainingLength = 5; - pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperties; - size_t propertyLength = encodeRemainingLength( pIndexLocal, 2 ); - pIndexLocal++; - *pIndexLocal = MQTT_SUB_AVAILABLE_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 0; - pIndexLocal++; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_INT( 0, properties.subscriptionId ); - - /*Value more than 1 is not allowed*/ - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 2 ); - pIndexLocal++; - *pIndexLocal = MQTT_SUB_AVAILABLE_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 3; - pIndexLocal++; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - - /*Protocol error to include the same property twice*/ - packetInfo.remainingLength = 7; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 4 ); - pIndexLocal++; - *pIndexLocal = MQTT_SUB_AVAILABLE_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 0; - pIndexLocal++; - *pIndexLocal = MQTT_SUB_AVAILABLE_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 0; - pIndexLocal++; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - - /*Invalid property length*/ - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 1 ); - packetInfo.remainingLength = propertyLength + 3; - pIndexLocal++; - *pIndexLocal = MQTT_SUB_AVAILABLE_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 0; - pIndexLocal++; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); -} - -void test_MQTTV5_DeserializeConnackOnlySharedSub( void ) -{ - uint8_t buffer[ 200 ] = { 0 }; - uint8_t * pIndexLocal = buffer; - buffer[ 0 ] = 0x01; - buffer[ 1 ] = 0x00; - - bool session = false; - packetInfo.pRemainingData = buffer; - packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - packetInfo.remainingLength = 5; - pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperties; - size_t propertyLength = encodeRemainingLength( pIndexLocal, 2 ); - pIndexLocal++; - *pIndexLocal = MQTT_SHARED_SUB_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 0; - pIndexLocal++; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_INT( 0, properties.isSharedAvailable ); - - /*Value more than 1 is not allowed*/ - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 2 ); - pIndexLocal++; - *pIndexLocal = MQTT_SHARED_SUB_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 3; - pIndexLocal++; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - - /*Protocol error to include the same property twice*/ - packetInfo.remainingLength = 7; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 4 ); - pIndexLocal++; - *pIndexLocal = MQTT_SHARED_SUB_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 0; - pIndexLocal++; - *pIndexLocal = MQTT_SHARED_SUB_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 0; - pIndexLocal++; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - - /*Invalid property length*/ - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 1 ); - packetInfo.remainingLength = propertyLength + 3; - pIndexLocal++; - *pIndexLocal = MQTT_SHARED_SUB_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = 0; - pIndexLocal++; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); -} -void test_MQTTV5_DeserializeConnackOnlyKeepAlive( void ) -{ - uint8_t buffer[ 200 ] = { 0 }; - uint8_t * pIndexLocal = buffer; - buffer[ 0 ] = 0x01; - buffer[ 1 ] = 0x00; - - bool session = false; - packetInfo.pRemainingData = buffer; - packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - packetInfo.remainingLength = 6; - pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperties; - size_t propertyLength = encodeRemainingLength( pIndexLocal, 3 ); - pIndexLocal++; - *pIndexLocal = MQTT_SERVER_KEEP_ALIVE_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); - pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); - pIndexLocal = &pIndexLocal[ 2 ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - TEST_ASSERT_EQUAL_INT( 13, properties.serverKeepAlive ); - - /*Protocol error to include the same property twice*/ - packetInfo.remainingLength = 9; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 6 ); - pIndexLocal++; - *pIndexLocal = MQTT_SERVER_KEEP_ALIVE_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); - pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); - pIndexLocal = &pIndexLocal[ 2 ]; - *pIndexLocal = MQTT_SERVER_KEEP_ALIVE_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); - pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); - pIndexLocal = &pIndexLocal[ 2 ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - - /*Invalid property length*/ - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 2 ); - packetInfo.remainingLength = propertyLength + 4; - pIndexLocal++; - *pIndexLocal = MQTT_SERVER_KEEP_ALIVE_ID; - pIndexLocal++; - pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 13 ); - pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 13 ); - pIndexLocal = &pIndexLocal[ 2 ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); -} - -void test_MQTTV5_DeserializeConnackOnlyResponseInfo( void ) -{ - uint8_t buffer[ 200 ] = { 0 }; - uint8_t * pIndexLocal = buffer; - buffer[ 0 ] = 0x01; - buffer[ 1 ] = 0x00; - - bool session = false; - packetInfo.pRemainingData = buffer; - packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - packetInfo.remainingLength = 8; - pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperties; - size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); - pIndexLocal++; - *pIndexLocal = MQTT_RESPONSE_INFO_ID; - pIndexLocal++; - char * string = "ab"; - size_t dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - - packetInfo.remainingLength = 8; - properties.requestResponseInfo = 1; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 5 ); - pIndexLocal++; - *pIndexLocal = MQTT_RESPONSE_INFO_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - - /*Protocol error to include the same property twice*/ - packetInfo.remainingLength = 13; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 10 ); - pIndexLocal++; - *pIndexLocal = MQTT_RESPONSE_INFO_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - *pIndexLocal = MQTT_RESPONSE_INFO_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - - /*Invalid property length*/ - packetInfo.remainingLength = 7; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 4 ); - pIndexLocal++; - *pIndexLocal = MQTT_RESPONSE_INFO_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); - - /*Invalid property length*/ - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 2 ); - packetInfo.remainingLength = propertyLength + 4; - pIndexLocal++; - *pIndexLocal = MQTT_RESPONSE_INFO_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); -} - -void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) -{ - properties.pIncomingUserProperty = &userProperties; - uint8_t buffer[ 60000 ] = { 0 }; - uint8_t * pIndexLocal = buffer; - buffer[ 0 ] = 0x01; - buffer[ 1 ] = 0x00; - - bool session = false; - packetInfo.pRemainingData = buffer; - packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - packetInfo.remainingLength = 13; - pIndexLocal = &buffer[ 2 ]; - size_t propertyLength = encodeRemainingLength( pIndexLocal, 10 ); - pIndexLocal++; - *pIndexLocal = MQTT_USER_PROPERTY_ID; - pIndexLocal++; - char * string = "ab"; - char * string2 = "abc"; - size_t dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - size_t dummy2 = encodeString( pIndexLocal, string2, 3 ); - pIndexLocal = &pIndexLocal[ dummy2 ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( 1, properties.pIncomingUserProperty->count ); - TEST_ASSERT_EQUAL( 3, ( properties.pIncomingUserProperty->userProperty[ 0 ].valueLength ) ); - TEST_ASSERT_EQUAL( 2, ( properties.pIncomingUserProperty->userProperty[ 0 ].keyLength ) ); - - /*Invalid property length*/ - packetInfo.remainingLength = 5; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 2 ); - pIndexLocal++; - *pIndexLocal = MQTT_USER_PROPERTY_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - dummy2 = encodeString( pIndexLocal, string2, 3 ); - pIndexLocal = &pIndexLocal[ dummy2 ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); - - /*Invalid property length*/ - packetInfo.remainingLength = 6; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 3 ); - pIndexLocal++; - *pIndexLocal = MQTT_USER_PROPERTY_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - dummy2 = encodeString( pIndexLocal, string2, 3 ); - pIndexLocal = &pIndexLocal[ dummy2 ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); - - /*Invalid property length*/ - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 9 ); - packetInfo.remainingLength = propertyLength + 11; - pIndexLocal++; - *pIndexLocal = MQTT_USER_PROPERTY_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - dummy2 = encodeString( pIndexLocal, string2, 3 ); - pIndexLocal = &pIndexLocal[ dummy2 ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); - - /*Invalid property length*/ - packetInfo.remainingLength = 9; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 6 ); - pIndexLocal++; - *pIndexLocal = MQTT_USER_PROPERTY_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - dummy2 = encodeString( pIndexLocal, string2, 3 ); - pIndexLocal = &pIndexLocal[ dummy2 ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); - - /*Discard user property*/ - packetInfo.remainingLength = 50015; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 50010 ); - pIndexLocal += 3; - uint32_t i = 0U; - - for( ; i < 5001; i++ ) - { - *pIndexLocal = MQTT_USER_PROPERTY_ID; - pIndexLocal++; - size_t dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - size_t dummy2 = encodeString( pIndexLocal, string2, 3 ); - pIndexLocal = &pIndexLocal[ dummy2 ]; - } - - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - - packetInfo.remainingLength = 50014; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 50009 ); - pIndexLocal += 3; - - for( ; i < 5001; i++ ) - { - *pIndexLocal = MQTT_USER_PROPERTY_ID; - pIndexLocal++; - size_t dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - size_t dummy2 = encodeString( pIndexLocal, string2, 3 ); - pIndexLocal = &pIndexLocal[ dummy2 ]; - } - - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); -} - -void test_MQTTV5_DeserializeConnackOnlyServerRef( void ) -{ - uint8_t buffer[ 200 ] = { 0 }; - uint8_t * pIndexLocal = buffer; - buffer[ 0 ] = 0x01; - buffer[ 1 ] = 0x00; - - bool session = false; - packetInfo.pRemainingData = buffer; - packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - packetInfo.remainingLength = 8; - pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperties; - size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); - pIndexLocal++; - *pIndexLocal = MQTT_SERVER_REF_ID; - pIndexLocal++; - char * string = "ab"; - size_t dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( 2, properties.serverRefLength ); - TEST_ASSERT_EQUAL( pIndexLocal, properties.pServerRef + 2 ); - - /*Protocol error to include the same property twice*/ - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 10 ); - packetInfo.remainingLength = propertyLength + 12; - pIndexLocal++; - *pIndexLocal = MQTT_SERVER_REF_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - *pIndexLocal = MQTT_SERVER_REF_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - - /*Invalid property length*/ - packetInfo.remainingLength = 7; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 4 ); - pIndexLocal++; - *pIndexLocal = MQTT_SERVER_REF_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); - - /*Invalid property length*/ - packetInfo.remainingLength = 5; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 2 ); - pIndexLocal++; - *pIndexLocal = MQTT_SERVER_REF_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); -} - -void test_MQTTV5_DeserializeConnackOnlyAuthMethod( void ) -{ - MQTTAuthInfo_t auth; - MQTTAuthInfo_t auth1; - properties.pIncomingAuth = &auth; - properties.pOutgoingAuth = &auth1; - uint8_t buffer[ 200 ] = { 0 }; - uint8_t * pIndexLocal = buffer; - buffer[ 0 ] = 0x01; - buffer[ 1 ] = 0x00; - - bool session = false; - packetInfo.pRemainingData = buffer; - packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - packetInfo.remainingLength = 8; - pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperties; - size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); - pIndexLocal++; - *pIndexLocal = MQTT_AUTH_METHOD_ID; - pIndexLocal++; - char * string = "ab"; - size_t dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( 2, properties.pIncomingAuth->authMethodLength ); + TEST_ASSERT_EQUAL( MQTT_TEST_UTF8_STRING_LENGTH, properties.pIncomingAuth->authMethodLength ); + TEST_ASSERT_EQUAL( MQTT_TEST_UTF8_STRING_LENGTH, properties.pIncomingAuth->authDataLength ); + /*Outgoing auth is null*/ properties.pOutgoingAuth = NULL; status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - /*Protocol error to include auth method more than once*/ - properties.pOutgoingAuth = &auth; - packetInfo.remainingLength = 13; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 10 ); - pIndexLocal++; - *pIndexLocal = MQTT_AUTH_METHOD_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - *pIndexLocal = MQTT_AUTH_METHOD_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - - /*Invalid property length*/ - packetInfo.remainingLength = 5; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 2 ); - pIndexLocal++; - *pIndexLocal = MQTT_AUTH_METHOD_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); - /*Invalid property length*/ - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 4 ); - packetInfo.remainingLength = propertyLength + 6; - pIndexLocal++; - *pIndexLocal = MQTT_AUTH_METHOD_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); } -void test_MQTTV5_DeserializeConnackOnlyAuthData( void ) -{ - MQTTAuthInfo_t auth; - MQTTAuthInfo_t auth1; - properties.pIncomingAuth = &auth; - properties.pOutgoingAuth = &auth1; - uint8_t buffer[ 200 ] = { 0 }; - uint8_t * pIndexLocal = buffer; - buffer[ 0 ] = 0x01; - buffer[ 1 ] = 0x00; - - bool session = false; - packetInfo.pRemainingData = buffer; - packetInfo.type = MQTT_PACKET_TYPE_CONNACK; - packetInfo.remainingLength = 8; - pIndexLocal = &buffer[ 2 ]; - properties.pIncomingUserProperty = &userProperties; - size_t propertyLength = encodeRemainingLength( pIndexLocal, 5 ); - pIndexLocal++; - *pIndexLocal = MQTT_AUTH_DATA_ID; - pIndexLocal++; - char * string = "ab"; - size_t dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - TEST_ASSERT_EQUAL( 2, properties.pIncomingAuth->authDataLength ); - - /*Outgoing auth is null*/ - properties.pOutgoingAuth = NULL; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - - /*Protocol error to include auth method more than once*/ - properties.pOutgoingAuth = &auth1; - packetInfo.remainingLength = 13; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 10 ); - pIndexLocal++; - *pIndexLocal = MQTT_AUTH_DATA_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - *pIndexLocal = MQTT_AUTH_DATA_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - - /*Invalid property length*/ - packetInfo.remainingLength = 5; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 2 ); - pIndexLocal++; - *pIndexLocal = MQTT_AUTH_DATA_ID; - pIndexLocal++; - string = "ab"; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); - - /*Invalid property length*/ - packetInfo.remainingLength = 7; - pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 4 ); - packetInfo.remainingLength = propertyLength + 6; - pIndexLocal++; - *pIndexLocal = MQTT_AUTH_DATA_ID; - pIndexLocal++; - dummy = encodeString( pIndexLocal, string, 2 ); - pIndexLocal = &pIndexLocal[ dummy ]; - status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); - TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); -} void test_MQTTV5_GetConnectPacketSize( void ) { @@ -2696,7 +1951,7 @@ void test_MQTTV5_GetConnectPacketSize( void ) status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - publishInfo.pContentType = "ab"; + publishInfo.pContentType = MQTT_TEST_UTF8_STRING; status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_EQUAL_size_t( 17, publishInfo.propertyLength ); @@ -2705,7 +1960,7 @@ void test_MQTTV5_GetConnectPacketSize( void ) status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - publishInfo.pResponseTopic = "ab"; + publishInfo.pResponseTopic = MQTT_TEST_UTF8_STRING; status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_EQUAL_size_t( 22, publishInfo.propertyLength ); @@ -2714,7 +1969,7 @@ void test_MQTTV5_GetConnectPacketSize( void ) status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - publishInfo.pCorrelationData = "ab"; + publishInfo.pCorrelationData = MQTT_TEST_UTF8_STRING; status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); TEST_ASSERT_EQUAL_size_t( 27, publishInfo.propertyLength ); @@ -2727,7 +1982,7 @@ void test_MQTTV5_GetConnectPacketSize( void ) userProperties1.userProperty[ 1 ].pKey = "2"; userProperties1.userProperty[ 1 ].keyLength = 1; userProperties1.userProperty[ 1 ].valueLength = 2; - userProperties1.userProperty[ 1 ].pValue = "ab"; + userProperties1.userProperty[ 1 ].pValue = MQTT_TEST_UTF8_STRING; userProperties1.count = 2; publishInfo.pUserProperty = &userProperties1; status = MQTT_GetPublishPropertiesSize( &publishInfo ); @@ -2740,11 +1995,11 @@ void test_MQTTV5_GetConnectPacketSize( void ) publishInfo.msgExpiryPresent = 1; publishInfo.msgExpiryInterval = 10; publishInfo.contentTypeLength = 2; - publishInfo.pContentType = "ab"; + publishInfo.pContentType = MQTT_TEST_UTF8_STRING; publishInfo.responseTopicLength = 2; - publishInfo.pResponseTopic = "ab"; + publishInfo.pResponseTopic = MQTT_TEST_UTF8_STRING; publishInfo.correlationLength = 2; - publishInfo.pCorrelationData = "ab"; + publishInfo.pCorrelationData = MQTT_TEST_UTF8_STRING; publishInfo.willDelay = 3; /* 34 + 12 + 29 */ status = MQTTV5_GetConnectPacketSize( &connectInfo, &publishInfo, &properties, &remainingLength, &packetSize ); @@ -2942,7 +2197,7 @@ void test_MQTTV5_SerializeConnect( void ) properties.requestProblemInfo = 0; MQTTAuthInfo_t auth; memset( &auth, 0x0, sizeof( auth ) ); - auth.pAuthMethod = "ab"; + auth.pAuthMethod = MQTT_TEST_UTF8_STRING; auth.authMethodLength = 2; auth.pAuthData = "abc"; auth.authDataLength = 3; @@ -2993,12 +2248,12 @@ void test_MQTTV5_SerializeConnect( void ) publishInfo.msgExpiryInterval = 10; publishInfo.msgExpiryPresent = 1; publishInfo.msgExpiryInterval = 10; - publishInfo.contentTypeLength = 2; - publishInfo.pContentType = "ab"; - publishInfo.responseTopicLength = 2; - publishInfo.pResponseTopic = "ab"; - publishInfo.correlationLength = 2; - publishInfo.pCorrelationData = "ab"; + publishInfo.contentTypeLength = MQTT_TEST_UTF8_STRING_LENGTH; + publishInfo.pContentType = MQTT_TEST_UTF8_STRING; + publishInfo.responseTopicLength = MQTT_TEST_UTF8_STRING_LENGTH; + publishInfo.pResponseTopic = MQTT_TEST_UTF8_STRING; + publishInfo.correlationLength = MQTT_TEST_UTF8_STRING_LENGTH; + publishInfo.pCorrelationData = MQTT_TEST_UTF8_STRING; publishInfo.willDelay = 3; publishInfo.pUserProperty = &userProperties; /* 27 */ @@ -3037,12 +2292,12 @@ void test_MQTTV5_SerializeConnect_Happy_Paths() publishInfo.msgExpiryInterval = 10; publishInfo.msgExpiryPresent = 1; publishInfo.msgExpiryInterval = 10; - publishInfo.contentTypeLength = 2; - publishInfo.pContentType = "ab"; - publishInfo.responseTopicLength = 2; - publishInfo.pResponseTopic = "ab"; - publishInfo.correlationLength = 2; - publishInfo.pCorrelationData = "ab"; + publishInfo.contentTypeLength = MQTT_TEST_UTF8_STRING_LENGTH; + publishInfo.pContentType = MQTT_TEST_UTF8_STRING; + publishInfo.responseTopicLength = MQTT_TEST_UTF8_STRING_LENGTH; + publishInfo.pResponseTopic = MQTT_TEST_UTF8_STRING; + publishInfo.correlationLength = MQTT_TEST_UTF8_STRING_LENGTH; + publishInfo.pCorrelationData = MQTT_TEST_UTF8_STRING; publishInfo.willDelay = 3; /* Fill structs to pass into methods to be tested. */ setupNetworkBuffer( &networkBuffer ); @@ -3147,12 +2402,12 @@ void test_WillLimit( void ) publishInfo.payloadFormat = 1; publishInfo.msgExpiryPresent = 1; publishInfo.msgExpiryInterval = 10; - publishInfo.contentTypeLength = 2; - publishInfo.pContentType = "ab"; - publishInfo.responseTopicLength = 2; - publishInfo.pResponseTopic = "ab"; - publishInfo.correlationLength = 2; - publishInfo.pCorrelationData = "ab"; + publishInfo.contentTypeLength = MQTT_TEST_UTF8_STRING_LENGTH; + publishInfo.pContentType = MQTT_TEST_UTF8_STRING; + publishInfo.responseTopicLength = MQTT_TEST_UTF8_STRING_LENGTH ; + publishInfo.pResponseTopic = MQTT_TEST_UTF8_STRING; + publishInfo.correlationLength = MQTT_TEST_UTF8_STRING_LENGTH; + publishInfo.pCorrelationData = MQTT_TEST_UTF8_STRING; publishInfo.willDelay = 3; uint16_t i = 0; char str[ 65535 ]; @@ -3176,8 +2431,49 @@ void test_WillLimit( void ) publishInfo.topicNameLength = 0U; publishInfo.topicAlias = 1U; - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,22,MQTT_MAX_REMAINING_LENGTH,1); + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,MQTT_MAX_REMAINING_LENGTH); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); +} + +void test_MQTTV5_ValidatePublishParams() +{ + uint16_t topicAliasMax = 10U; + uint8_t maxQos = 0U; + uint8_t retain= 0U; + /*Publish info cannot be null*/ + status = MQTTV5_ValidatePublishParams(NULL,topicAliasMax,retain,maxQos); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + /*Topic alias greater than the allowed value. */ + publishInfo.topicAlias = 12U; + status = MQTTV5_ValidatePublishParams(&publishInfo,topicAliasMax,retain,maxQos); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + /*Retain is not allowed. */ + publishInfo.topicAlias = 2U; + publishInfo.retain = true; + status = MQTTV5_ValidatePublishParams(&publishInfo,topicAliasMax,retain,maxQos); + TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + /*Qos invalid*/ + publishInfo.retain = false; + publishInfo.qos = 1; + status = MQTTV5_ValidatePublishParams(&publishInfo,topicAliasMax,retain,maxQos); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + /*Valid parameters should return success*/ + publishInfo.qos = 1; + maxQos = 1; + publishInfo.retain= true; + retain = 1; + status = MQTTV5_ValidatePublishParams(&publishInfo,topicAliasMax,retain,maxQos); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + + /*Valid parameters should return success*/ + publishInfo.qos = 0; + status = MQTTV5_ValidatePublishParams(&publishInfo,topicAliasMax,retain,maxQos); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + } void test_MQTTV5_GetPublishPacketSize(){ @@ -3188,82 +2484,70 @@ void test_MQTTV5_GetPublishPacketSize(){ uint8_t retainAvailable = 0U; setupPublishInfo(&publishInfo); /*Test with invalid paramters*/ - status = MQTTV5_GetPublishPacketSize(NULL,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + status = MQTTV5_GetPublishPacketSize(NULL,&remainingLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - status = MQTTV5_GetPublishPacketSize(&publishInfo,NULL,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + status = MQTTV5_GetPublishPacketSize(&publishInfo,NULL,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,NULL,topicAliasMax,maxPacketSize,retainAvailable); + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,NULL,maxPacketSize); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); /*Topic name invalid*/ publishInfo.pTopicName = NULL; - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); publishInfo.pTopicName = TEST_TOPIC_NAME; /*Topic alias is not allowed and topic name is not provided.*/ publishInfo.topicNameLength = 0; - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); maxPacketSize = 100; publishInfo.topicNameLength = TEST_TOPIC_NAME_LENGTH; - /*Retain is not allowed*/ topicAliasMax = 40U; - publishInfo.retain= true; - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); - TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - - publishInfo.retain= false; /*Packet size too large*/ publishInfo.payloadLength = MQTT_MAX_REMAINING_LENGTH; - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); publishInfo.payloadLength = MQTT_MAX_REMAINING_LENGTH - TEST_TOPIC_NAME_LENGTH - 4; - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); /* Good case succeeds. */ publishInfo.pPayload = ""; publishInfo.payloadLength = 0; - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL( MQTTSuccess, status ); /* Again with QoS 2. */ publishInfo.qos = MQTTQoS2; - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL( MQTTSuccess, status ); setupPublishProperties(&publishInfo); - /*Invalid topic alias*/ - /*Topic alias is greater than topicAliasMax*/ - topicAliasMax = 1U; - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); - TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - topicAliasMax = 50U; retainAvailable = 1U; publishInfo.retain= true; /*Valid properties*/ - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL( MQTTSuccess, status ); /* No topic name*/ publishInfo.topicNameLength = 0U; publishInfo.pTopicName = NULL; - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL( MQTTSuccess, status ); /*Packet size is more than the server allowed max packet size*/ maxPacketSize = 4; - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,topicAliasMax,maxPacketSize,retainAvailable); + status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); @@ -3285,7 +2569,7 @@ void test_MQTT_SerializePublish(){ setupPublishInfo(&publishInfo); fixedBuffer.size = bufferSize; /* Calculate exact packet size and remaining length. */ - status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, &packetSize,topicAliasMax,maxPacketSize,retainAvailable); + status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, &packetSize,maxPacketSize); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /* Make sure buffer has enough space */ TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); @@ -3300,8 +2584,8 @@ void test_MQTT_SerializePublish(){ fixedBuffer.pBuffer = &buffer[ BUFFER_PADDING_LENGTH ]; setupPublishProperties(&publishInfo); - /* Calculate exact packet size and remaining length. */ - status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, &packetSize,topicAliasMax,maxPacketSize,retainAvailable); + /* Calculate exact packet size and remaining length. */ + status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, &packetSize,maxPacketSize); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /* Make sure buffer has enough space */ TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); @@ -3314,4 +2598,312 @@ void test_MQTT_SerializePublish(){ TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); checkBufferOverflow( buffer, sizeof( buffer ) ); +} + +void test_MQTTV5_DeserializeAck_puback( void ) +{ + MQTTPacketInfo_t mqttPacketInfo; + MQTTAckInfo_t ackInfo; + uint16_t packetIdentifier; + bool requestProblem; + MQTTStatus_t status = MQTTSuccess; + uint8_t buffer[ 100 ] = { 0 }; + uint8_t* pIndex = buffer; + size_t dummy = 0U; + /* Verify parameters */ + memset( &mqttPacketInfo, 0x00, sizeof( mqttPacketInfo ) ); + memset( &ackInfo, 0x00, sizeof( ackInfo ) ); + ackInfo.pUserProperty =&userProperties; + mqttPacketInfo.type = MQTT_PACKET_TYPE_PUBACK; + status = MQTTV5_DeserializeAck( NULL, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, NULL, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + /* ackInfo not set. */ + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, NULL, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + + mqttPacketInfo.pRemainingData = buffer; + /* Packet identifier 0 is not valid (per spec). */ + buffer[ 0 ] = 0; + buffer[ 1 ] = 0; + mqttPacketInfo.remainingLength = MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); + + + /*Remaining length connot be less than 2*/ + mqttPacketInfo.remainingLength = 1; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); + + + /* Process a valid PUBACK. */ + mqttPacketInfo.remainingLength = 2; + buffer[ 1 ] = 1; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_INT( 1, packetIdentifier ); + + + mqttPacketInfo.remainingLength = 3; + buffer[2] = 0x00; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + TEST_ASSERT_EQUAL_INT( 1, packetIdentifier ); + + /*Property length should be zero when request problem is set to false*/ + mqttPacketInfo.remainingLength = 24; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); + + requestProblem = true; + pIndex = &buffer[3]; + dummy= encodeRemainingLength(pIndex,20); + pIndex++; + pIndex = serializeutf_8(pIndex, MQTT_REASON_STRING_ID); + pIndex = serializeutf_8pair(pIndex); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + + /*Invalid property id*/ + mqttPacketInfo.remainingLength = 11; + pIndex= &buffer[3]; + dummy= encodeRemainingLength(pIndex,7); + pIndex++; + pIndex = serializeutf_8(pIndex, MQTT_CORRELATION_DATA_ID); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); + + /*Invalid remaining length*/ + pIndex= &buffer[3]; + dummy= encodeRemainingLength(pIndex,12); + pIndex++; + pIndex = serializeutf_8(pIndex, MQTT_REASON_STRING_ID); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); + + + /*Invalid property length*/ + pIndex = &buffer[3]; + dummy = encodeRemainingLength( pIndex, 20971556356235 ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); + +} + +void test_MQTTV5_DeserializeAck_LogPuback() +{ + MQTTPacketInfo_t mqttPacketInfo; + MQTTAckInfo_t ackInfo; + uint16_t packetIdentifier; + bool requestProblem; + MQTTStatus_t status = MQTTSuccess; + uint8_t buffer[ 4 ] = { 0 }; + memset( &mqttPacketInfo, 0x00, sizeof( mqttPacketInfo ) ); + memset( &ackInfo, 0x00, sizeof( ackInfo ) ); + mqttPacketInfo.pRemainingData = buffer; + mqttPacketInfo.type = MQTT_PACKET_TYPE_PUBACK; + mqttPacketInfo.remainingLength = 4; + /*Validate all the correct reason codes.*/ + buffer[1] = 1; + buffer[2] = MQTT_REASON_SUCCESS; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + + buffer[2] = MQTT_REASON_NO_MATCHING_SUBSCRIBERS; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + + buffer[2] = MQTT_REASON_UNSPECIFIED_ERR; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); + + buffer[2] = MQTT_REASON_IMPL_SPECIFIC_ERR; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); + + buffer[2] = MQTT_REASON_NOT_AUTHORIZED; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); + + buffer[2] = MQTT_REASON_TOPIC_NAME_INVALID; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); + + buffer[2] = MQTT_REASON_PACKET_ID_IN_USE; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); + + buffer[2] = MQTT_REASON_QUOTA_EXCEEDED; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); + + buffer[2] = MQTT_REASON_PAYLOAD_FORMAT_INVALID; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); + + /*Invlaid reason code.*/ + buffer[2]= MQTT_REASON_BANNED; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); + +} + +void test_MQTTV5_DeserializeAck_Pubrel() +{ + MQTTPacketInfo_t mqttPacketInfo; + MQTTAckInfo_t ackInfo; + uint16_t packetIdentifier; + bool requestProblem; + MQTTStatus_t status = MQTTSuccess; + uint8_t buffer[ 4 ] = { 0 }; + memset( &mqttPacketInfo, 0x00, sizeof( mqttPacketInfo ) ); + memset( &ackInfo, 0x00, sizeof( ackInfo ) ); + mqttPacketInfo.pRemainingData = buffer; + mqttPacketInfo.type = MQTT_PACKET_TYPE_PUBREL; + mqttPacketInfo.remainingLength = 4; + /*Validate all the correct reason codes.*/ + buffer[1] = 1; + buffer[2] = MQTT_REASON_SUCCESS; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + + buffer[2] = MQTT_REASON_PACKET_ID_NOT_FOUND; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); + + /*Invalid reason code.*/ + buffer[2]= MQTT_REASON_BANNED; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); + + /*Invalid packet id*/ + buffer[1] = 0; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); + + /*Invalid packet type. */ + mqttPacketInfo.type = MQTT_PACKET_TYPE_CONNACK; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); + + + +} + + +void test_MQTTV5_GetAckPacketSize() +{ + MQTTStatus_t status ; + MQTTAckInfo_t ackInfo; + size_t remainingLength; + size_t propertyLength; + size_t packetSize; + uint32_t maxPacketSize = 0U; + memset(&ackInfo,0x0, sizeof(ackInfo)); + + /*Invalid parameters*/ +status = MQTTV5_GetAckPacketSize(NULL,&remainingLength,&propertyLength,&packetSize,maxPacketSize); +TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + +status = MQTTV5_GetAckPacketSize(&ackInfo,NULL,&propertyLength,&packetSize,maxPacketSize); +TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + +status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,NULL,&packetSize,maxPacketSize); +TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + +status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,NULL,maxPacketSize); +TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + +/*Max packet size cannot be 0*/ +status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,NULL,maxPacketSize); +TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + +/*Valid parameters*/ +maxPacketSize = UINT32_MAX; +status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,&packetSize,maxPacketSize); +TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + +/*With properties*/ +ackInfo.pReasonString = MQTT_TEST_UTF8_STRING; +ackInfo.reasonStringLength = MQTT_TEST_UTF8_STRING_LENGTH; +ackInfo.pUserProperty = &userProperties; +userProperties.count = 0; +status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,&packetSize,maxPacketSize); +TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + +/*Packet size greater than max allowed.*/ +maxPacketSize = 2; +status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,&packetSize,maxPacketSize); +TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + +} + +void test_MQTTV5_SerializePubAckWithProperty() +{ + MQTTStatus_t status ; + MQTTAckInfo_t ackInfo; + size_t remainingLength; + size_t propertyLength; + size_t packetSize; + uint8_t packetType; + uint16_t packetId; + uint32_t maxPacketSize = 1000U; + uint8_t buffer[ 440 + 2 * BUFFER_PADDING_LENGTH ]; + size_t bufferSize = sizeof( buffer ) - 2 * BUFFER_PADDING_LENGTH; + MQTTFixedBuffer_t fixedBuffer = { .pBuffer = &buffer[ BUFFER_PADDING_LENGTH ], .size = bufferSize }; + /*Invalid parameters*/ + status = MQTTV5_SerializePubAckWithProperty(NULL,remainingLength,propertyLength,&fixedBuffer,packetType,packetId); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,propertyLength,NULL,packetType,packetId); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + fixedBuffer.pBuffer = NULL; + status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,propertyLength,&fixedBuffer,packetType,packetId); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + /*Buffer size not sufficient*/ + // status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,&packetSize,maxPacketSize); + fixedBuffer.size = 5; + fixedBuffer.pBuffer= &buffer[BUFFER_PADDING_LENGTH]; + status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,propertyLength,&fixedBuffer,packetType,packetId); + TEST_ASSERT_EQUAL_INT( MQTTNoMemory, status ); + + /*With correct parameters*/ + memset(&ackInfo,0x0, sizeof(ackInfo)); + status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,&packetSize,maxPacketSize); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + /* Make sure buffer has enough space */ + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + /* Make sure test succeeds. */ + padAndResetBuffer( buffer, sizeof( buffer ) ); + fixedBuffer.size = bufferSize; + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,propertyLength,&fixedBuffer,packetType,packetId); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); + + /*With properties*/ + ackInfo.reasonStringLength = MQTT_TEST_UTF8_STRING_LENGTH; + ackInfo.pReasonString = MQTT_TEST_UTF8_STRING; + ackInfo.pUserProperty = &userProperties; + userProperties.count = 1; + userProperties.userProperty->keyLength = 1; + userProperties.userProperty->valueLength = 1; + userProperties.userProperty->pKey = "a"; + userProperties.userProperty->pValue = "a"; + status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,&packetSize,maxPacketSize); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + /* Make sure buffer has enough space */ + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + /* Make sure test succeeds. */ + padAndResetBuffer( buffer, sizeof( buffer ) ); + fixedBuffer.size = bufferSize; + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,propertyLength,&fixedBuffer,packetType,packetId); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); } \ No newline at end of file diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index 934d78be0..d000368cb 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -213,7 +213,8 @@ static uint8_t mqttBuffer[ MQTT_TEST_BUFFER_LENGTH ] = { 0 }; */ static bool isEventCallbackInvoked = false; static bool receiveOnce = false; - +static uint8_t currentPacketType = MQTT_PACKET_TYPE_INVALID; +static MQTTStatus_t modifyIncomingPacketStatus = MQTTSuccess; /* ============================ UNITY FIXTURES ============================ */ @@ -287,8 +288,225 @@ static void eventCallback( MQTTContext_t * pContext, /* Update the global state to indicate that event callback is invoked. */ isEventCallbackInvoked = true; + pDeserializedInfo->pNextAckInfo = NULL; +} + +/** + * @brief Mocked MQTT event callback. + * + * @param[in] pContext MQTT context pointer. + * @param[in] pPacketInfo Packet Info pointer for the incoming packet. + * @param[in] pDeserializedInfo Deserialized information from the incoming packet. + */ +static void eventCallback1( MQTTContext_t * pContext, + MQTTPacketInfo_t * pPacketInfo, + MQTTDeserializedInfo_t * pDeserializedInfo ) +{ + ( void ) pContext; + ( void ) pPacketInfo; + ( void ) pDeserializedInfo; + MQTTAckInfo_t ackInfo; + memset(&ackInfo, 0x0, sizeof(ackInfo)); + /* Update the global state to indicate that event callback is invoked. */ + isEventCallbackInvoked = true; + pDeserializedInfo->pNextAckInfo = &ackInfo; + ackInfo.reasonStringLength = 2; + ackInfo.pReasonString = "ab"; } +/** + * @brief Zero out a #ProcessLoopReturns_t. + * + * @param[in] pExpectParams Pointer to struct to reset. + */ +static void resetProcessLoopParams( ProcessLoopReturns_t * pExpectParams ) +{ + pExpectParams->deserializeStatus = MQTTSuccess; + pExpectParams->stateAfterDeserialize = MQTTStateNull; + pExpectParams->updateStateStatus = MQTTSuccess; + pExpectParams->serializeStatus = MQTTSuccess; + pExpectParams->stateAfterSerialize = MQTTStateNull; + pExpectParams->processLoopStatus = MQTTSuccess; + pExpectParams->incomingPublish = false; + pExpectParams->pPubInfo = NULL; + pExpectParams->timeoutMs = MQTT_NO_TIMEOUT_MS; +} + +/** + * @brief This helper function is used to expect any calls from the process loop + * to mocked functions belonging to an external header file. Its parameters + * are used to provide return values for these mocked functions. + */ +static void expectProcessLoopCalls( MQTTContext_t * const pContext, + ProcessLoopReturns_t * pExpectParams ) +{ + MQTTStatus_t mqttStatus = MQTTSuccess; + MQTTPacketInfo_t incomingPacket = { 0 }; + size_t pingreqSize = MQTT_PACKET_PINGREQ_SIZE; + bool expectMoreCalls = true; + /* Copy values passed in the parameter struct. */ + MQTTStatus_t deserializeStatus = pExpectParams->deserializeStatus; + MQTTPublishState_t stateAfterDeserialize = pExpectParams->stateAfterDeserialize; + MQTTStatus_t updateStateStatus = pExpectParams->updateStateStatus; + MQTTStatus_t serializeStatus = pExpectParams->serializeStatus; + MQTTPublishState_t stateAfterSerialize = pExpectParams->stateAfterSerialize; + MQTTStatus_t processLoopStatus = pExpectParams->processLoopStatus; + bool incomingPublish = pExpectParams->incomingPublish; + MQTTPublishInfo_t * pPubInfo = pExpectParams->pPubInfo; + uint32_t packetTxTimeoutMs = 0U; + + /* Modify incoming packet depending on type to be tested. */ + incomingPacket.type = currentPacketType; + incomingPacket.remainingLength = MQTT_SAMPLE_REMAINING_LENGTH; + incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; + + MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); + + /* More calls are expected only with the following packet types. */ + if( ( currentPacketType != MQTT_PACKET_TYPE_PUBLISH ) && + ( currentPacketType != MQTT_PACKET_TYPE_PUBACK ) && + ( currentPacketType != MQTT_PACKET_TYPE_PUBREC ) && + ( currentPacketType != MQTT_PACKET_TYPE_PUBREL ) && + ( currentPacketType != MQTT_PACKET_TYPE_PUBCOMP ) && + ( currentPacketType != MQTT_PACKET_TYPE_PINGRESP ) && + ( currentPacketType != MQTT_PACKET_TYPE_SUBACK ) && + ( currentPacketType != MQTT_PACKET_TYPE_UNSUBACK ) ) + { + expectMoreCalls = false; + } + + /* When no data is available, the process loop tries to send a PINGREQ. */ + if( modifyIncomingPacketStatus == MQTTNoDataAvailable ) + { + packetTxTimeoutMs = 1000U * ( uint32_t ) pContext->keepAliveIntervalSec; + + if( PACKET_TX_TIMEOUT_MS < packetTxTimeoutMs ) + { + packetTxTimeoutMs = PACKET_TX_TIMEOUT_MS; + } + + if( pContext->waitingForPingResp == false ) + { + if( ( ( packetTxTimeoutMs != 0U ) && + ( ( globalEntryTime - pContext->lastPacketTxTime ) >= packetTxTimeoutMs ) ) || + ( ( PACKET_RX_TIMEOUT_MS != 0U ) && + ( ( globalEntryTime - pContext->lastPacketRxTime ) >= PACKET_RX_TIMEOUT_MS ) ) ) + { + MQTT_GetPingreqPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); + /* Replace pointer parameter being passed to the method. */ + MQTT_GetPingreqPacketSize_ReturnThruPtr_pPacketSize( &pingreqSize ); + MQTT_SerializePingreq_ExpectAnyArgsAndReturn( serializeStatus ); + } + } + + expectMoreCalls = false; + } + + /* Deserialize based on the packet type (PUB or ACK) being received. */ + if( expectMoreCalls ) + { + if( incomingPublish ) + { + MQTT_DeserializePublish_ExpectAnyArgsAndReturn( deserializeStatus ); + + if( pPubInfo != NULL ) + { + MQTT_DeserializePublish_ReturnThruPtr_pPublishInfo( pPubInfo ); + } + } + else + { + MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( deserializeStatus ); + } + + if( ( deserializeStatus != MQTTSuccess ) || + ( currentPacketType == MQTT_PACKET_TYPE_PINGRESP ) || + ( currentPacketType == MQTT_PACKET_TYPE_SUBACK ) || + ( currentPacketType == MQTT_PACKET_TYPE_UNSUBACK ) ) + { + expectMoreCalls = false; + } + } + + /* Update state based on the packet type (PUB or ACK) being received. */ + if( expectMoreCalls ) + { + if( incomingPublish ) + { + MQTT_UpdateStatePublish_ExpectAnyArgsAndReturn( updateStateStatus ); + MQTT_UpdateStatePublish_ReturnThruPtr_pNewState( &stateAfterDeserialize ); + } + else + { + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( updateStateStatus ); + MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterDeserialize ); + } + + if( stateAfterDeserialize == MQTTPublishDone ) + { + expectMoreCalls = false; + } + else + { + switch( updateStateStatus ) + { + case MQTTSuccess: + expectMoreCalls = true; + break; + + case MQTTStateCollision: + /* Execution will continue regardless of the dup flag. */ + expectMoreCalls = true; + MQTT_CalculateStatePublish_ExpectAnyArgsAndReturn( stateAfterDeserialize ); + break; + + default: + expectMoreCalls = false; + } + } + } + + /* Serialize the packet to be sent in response to the received packet. */ + if( expectMoreCalls ) + { + MQTT_SerializeAck_ExpectAnyArgsAndReturn( serializeStatus ); + + if( serializeStatus != MQTTSuccess ) + { + expectMoreCalls = false; + } + } + + /* Update the state based on the sent packet. */ + if( expectMoreCalls ) + { + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( ( stateAfterSerialize == MQTTStateNull ) ? + MQTTIllegalState : MQTTSuccess ); + MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterSerialize ); + } + + /* Expect the above calls when running MQTT_ProcessLoop. */ + + mqttStatus = MQTT_ProcessLoop( pContext ); + TEST_ASSERT_EQUAL( processLoopStatus, mqttStatus ); + + /* Any final assertions to end the test. */ + if( mqttStatus == MQTTSuccess ) + { + if( currentPacketType == MQTT_PACKET_TYPE_PUBLISH ) + { + TEST_ASSERT_TRUE( pContext->controlPacketSent ); + } + + if( currentPacketType == MQTT_PACKET_TYPE_PINGRESP ) + { + TEST_ASSERT_FALSE( pContext->waitingForPingResp ); + } + } +} + + static uint8_t * MQTT_SerializeConnectFixedHeader_cb( uint8_t * pIndex, const MQTTConnectInfo_t * pConnectInfo, const MQTTPublishInfo_t * pWillInfo, @@ -646,7 +864,7 @@ void test_MQTT_Connect_receiveConnack( void ) TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); } -void test_MQTT_Publish2( void ) +void test_MQTT_Publish( void ) { MQTTContext_t mqttContext = { 0 }; MQTTPublishInfo_t publishInfo = { 0 }; @@ -669,7 +887,8 @@ void test_MQTT_Publish2( void ) status = MQTT_Publish( &mqttContext, &publishInfo, PACKET_ID ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); mqttContext.connectProperties = &properties; - + + MQTTV5_ValidatePublishParams_ExpectAnyArgsAndReturn(MQTTSuccess); MQTTV5_GetPublishPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); MQTT_SerializePublishHeaderWithoutTopic_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); @@ -678,6 +897,7 @@ void test_MQTT_Publish2( void ) /*Send With properties*/ setupPublishProperties(&publishInfo); + MQTTV5_ValidatePublishParams_ExpectAnyArgsAndReturn(MQTTSuccess); MQTTV5_GetPublishPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); MQTT_SerializePublishHeaderWithoutTopic_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); @@ -687,3 +907,58 @@ void test_MQTT_Publish2( void ) } +void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths( void ) +{ + MQTTStatus_t mqttStatus; + MQTTContext_t context = { 0 }; + TransportInterface_t transport = { 0 }; + MQTTFixedBuffer_t networkBuffer = { 0 }; + ProcessLoopReturns_t expectParams = { 0 }; + MQTTConnectProperties_t properties; + setupTransportInterface( &transport ); + setupNetworkBuffer( &networkBuffer ); + + mqttStatus = MQTT_Init( &context, &transport, getTime, eventCallback, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); + properties.requestProblemInfo = 1; + context.connectProperties = &properties; + modifyIncomingPacketStatus = MQTTSuccess; + + /* Mock the receiving of a PUBACK packet type and expect the appropriate + * calls made from the process loop. */ + currentPacketType = MQTT_PACKET_TYPE_PUBACK; + /* Set expected return values in the loop. */ + resetProcessLoopParams( &expectParams ); + expectParams.stateAfterDeserialize = MQTTPublishDone; + expectParams.stateAfterSerialize = MQTTPublishDone; + expectProcessLoopCalls( &context, &expectParams ); + +} + +// void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths( void ) +// { +// MQTTStatus_t status; +// MQTTContext_t context = { 0 }; +// TransportInterface_t transport = { 0 }; +// MQTTFixedBuffer_t networkBuffer = { 0 }; +// ProcessLoopReturns_t expectParams = { 0 }; +// MQTTConnectProperties_t properties; +// setupTransportInterface( &transport ); +// setupNetworkBuffer( &networkBuffer ); +// setupTransportInterface( &transport ); +// setupNetworkBuffer( &networkBuffer ); +// transport.recv = transportRecvFailure; + +// status = MQTT_Init( &context, &transport, getTime, eventCallback1, &networkBuffer ); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +// properties.requestProblemInfo = 1; +// context.connectProperties = &properties; +// modifyIncomingPacketStatus = MQTTSuccess; + +// MQTT_ProcessIncomingPacketTypeAndLength_IgnoreAndReturn(MQTTSuccess); +// MQTTV5_DeserializeAck_IgnoreAndReturn(MQTTSuccess); +// status = MQTT_ProcessLoop(&context); +// TEST_ASSERT_EQUAL( MQTTSuccess, status ); + +// } + From d11ac0f59d019700ad240acd4b56b110db4b7655 Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Tue, 9 Jul 2024 05:18:05 +0000 Subject: [PATCH 66/82] MQTTV5 Outgoing Publish --- source/core_mqtt.c | 3 + source/core_mqtt_serializer.c | 18 +- .../MQTTv5/core_mqttv5_serializer_utest.c | 78 +++-- test/unit-test/MQTTv5/core_mqttv5_utest.c | 268 ++++++++++++++++-- 4 files changed, 301 insertions(+), 66 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 85284ef0e..9179d3686 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -1094,6 +1094,9 @@ static bool matchTopicFilter( const char * pTopicName, status = MQTTSendFailed; } } + else{ + status = MQTTBadParameter; + } return status; } diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 883bf9ec8..77e781a88 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -1048,7 +1048,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); if( ( *count == ( uint32_t ) MAX_USER_PROPERTY ) && ( status == MQTTSuccess ) ) { - LogDebug( ( "Discarded additional user property with key %s and value %s", + LogDebug( ( "Discarded additional user property with key %s and value %s. ", discardUserProperty.pKey, discardUserProperty.pValue ) ); } @@ -2177,6 +2177,10 @@ static MQTTStatus_t deserializeSimpleAckV5( const MQTTPacketInfo_t * pAck, { status = MQTTProtocolError; } + else if(pAckInfo->pUserProperty == NULL) + { + status = MQTTBadParameter; + } else { status = decodeAckProperties(pAckInfo,pIndex,pAck->remainingLength); @@ -5032,24 +5036,18 @@ MQTTStatus_t MQTTV5_GetAckPacketSize(const MQTTAckInfo_t *pAckInfo, size_t* pRem if(status == MQTTSuccess) { /*Validate the length.*/ - if((propertyLength) maxPacketSize) diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index 1569d95c9..2f91c6257 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -685,7 +685,9 @@ static uint8_t * serializeUserProperties( uint8_t * pIndex, *pIndexLocal = MQTT_USER_PROPERTY_ID; pIndexLocal++; dummy = encodeString( pIndexLocal, ( pUserProperty + i )->pKey, ( pUserProperty + i )->keyLength ); + pIndexLocal += dummy; dummy = encodeString( pIndexLocal, ( pUserProperty + i )->pValue, ( pUserProperty + i )->valueLength ); + pIndexLocal += dummy; } i = dummy; @@ -1606,7 +1608,8 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - + + properties.pIncomingUserProperty->count = 0; packetInfo.remainingLength = 65017; pIndexLocal = &buffer[ 2 ]; propertyLength = encodeRemainingLength( pIndexLocal, 65012 ); @@ -1641,6 +1644,7 @@ void test_MQTTV5_DeserializeConnackOnlyAuthInfo( void ) pIndexLocal = &buffer[ 2 ]; properties.pIncomingUserProperty = &userProperties; size_t propertyLength = encodeRemainingLength( pIndexLocal, 14 ); + packetInfo.remainingLength = propertyLength + 14 + 2; pIndexLocal++; pIndexLocal = serializeutf_8(pIndexLocal,MQTT_AUTH_METHOD_ID); pIndexLocal = serializeutf_8(pIndexLocal,MQTT_AUTH_DATA_ID); @@ -2388,9 +2392,11 @@ void test_WillLimit( void ) /* Test will property length more than the max value allowed. */ size_t remainingLength = 0; size_t packetSize = 0; + uint32_t maxPacketSize; + size_t propertyLength; MQTTStatus_t status = MQTTSuccess; MQTTUserProperties_t incomingProperty; - + MQTTAckInfo_t ackInfo; connectInfo.pClientIdentifier = CLIENT_IDENTIFIER; connectInfo.clientIdentifierLength = UINT16_MAX; connectInfo.pPassword = ""; @@ -2433,6 +2439,13 @@ void test_WillLimit( void ) publishInfo.topicAlias = 1U; status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,MQTT_MAX_REMAINING_LENGTH); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); + + memset(&ackInfo,0x0, sizeof(ackInfo)); + ackInfo.pUserProperty = &userProperties; + maxPacketSize = UINT32_MAX; + status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,&packetSize,maxPacketSize); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + } void test_MQTTV5_ValidatePublishParams() @@ -2479,9 +2492,7 @@ void test_MQTTV5_ValidatePublishParams() void test_MQTTV5_GetPublishPacketSize(){ size_t remainingLength =0U; size_t packetSize = 0U; - uint16_t topicAliasMax = 10U; uint32_t maxPacketSize = 0U; - uint8_t retainAvailable = 0U; setupPublishInfo(&publishInfo); /*Test with invalid paramters*/ status = MQTTV5_GetPublishPacketSize(NULL,&remainingLength,&packetSize,maxPacketSize); @@ -2510,7 +2521,6 @@ void test_MQTTV5_GetPublishPacketSize(){ maxPacketSize = 100; publishInfo.topicNameLength = TEST_TOPIC_NAME_LENGTH; - topicAliasMax = 40U; /*Packet size too large*/ publishInfo.payloadLength = MQTT_MAX_REMAINING_LENGTH; status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,maxPacketSize); @@ -2532,8 +2542,6 @@ void test_MQTTV5_GetPublishPacketSize(){ TEST_ASSERT_EQUAL( MQTTSuccess, status ); setupPublishProperties(&publishInfo); - topicAliasMax = 50U; - retainAvailable = 1U; publishInfo.retain= true; /*Valid properties*/ status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,maxPacketSize); @@ -2554,17 +2562,13 @@ void test_MQTTV5_GetPublishPacketSize(){ } void test_MQTT_SerializePublish(){ - uint16_t topicAliasMax = 5U; uint32_t maxPacketSize = 200U; - uint8_t retainAvailable = 1U; size_t remainingLength = 98; uint8_t buffer[ 200 + 2 * BUFFER_PADDING_LENGTH ]; size_t bufferSize = sizeof( buffer ) - 2 * BUFFER_PADDING_LENGTH; size_t packetSize = bufferSize; MQTTStatus_t status = MQTTSuccess; MQTTFixedBuffer_t fixedBuffer = { .pBuffer = &buffer[ BUFFER_PADDING_LENGTH ], .size = bufferSize }; - uint8_t expectedPacket[ 200 ]; - uint8_t * pIterator; const uint16_t PACKET_ID = 1; setupPublishInfo(&publishInfo); fixedBuffer.size = bufferSize; @@ -2605,15 +2609,14 @@ void test_MQTTV5_DeserializeAck_puback( void ) MQTTPacketInfo_t mqttPacketInfo; MQTTAckInfo_t ackInfo; uint16_t packetIdentifier; - bool requestProblem; + bool requestProblem = false; MQTTStatus_t status = MQTTSuccess; uint8_t buffer[ 100 ] = { 0 }; uint8_t* pIndex = buffer; - size_t dummy = 0U; + size_t dummy; /* Verify parameters */ memset( &mqttPacketInfo, 0x00, sizeof( mqttPacketInfo ) ); memset( &ackInfo, 0x00, sizeof( ackInfo ) ); - ackInfo.pUserProperty =&userProperties; mqttPacketInfo.type = MQTT_PACKET_TYPE_PUBACK; status = MQTTV5_DeserializeAck( NULL, &packetIdentifier, &ackInfo, requestProblem ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); @@ -2659,6 +2662,12 @@ void test_MQTTV5_DeserializeAck_puback( void ) TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); requestProblem = true; + /*User properties not initilaized.*/ + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + /*Valid parameters.*/ + ackInfo.pUserProperty =&userProperties; pIndex = &buffer[3]; dummy= encodeRemainingLength(pIndex,20); pIndex++; @@ -2668,9 +2677,9 @@ void test_MQTTV5_DeserializeAck_puback( void ) TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /*Invalid property id*/ - mqttPacketInfo.remainingLength = 11; pIndex= &buffer[3]; dummy= encodeRemainingLength(pIndex,7); + mqttPacketInfo.remainingLength = dummy + 7 + 3; pIndex++; pIndex = serializeutf_8(pIndex, MQTT_CORRELATION_DATA_ID); status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); @@ -2698,7 +2707,7 @@ void test_MQTTV5_DeserializeAck_LogPuback() MQTTPacketInfo_t mqttPacketInfo; MQTTAckInfo_t ackInfo; uint16_t packetIdentifier; - bool requestProblem; + bool requestProblem= false; MQTTStatus_t status = MQTTSuccess; uint8_t buffer[ 4 ] = { 0 }; memset( &mqttPacketInfo, 0x00, sizeof( mqttPacketInfo ) ); @@ -2756,7 +2765,7 @@ void test_MQTTV5_DeserializeAck_Pubrel() MQTTPacketInfo_t mqttPacketInfo; MQTTAckInfo_t ackInfo; uint16_t packetIdentifier; - bool requestProblem; + bool requestProblem= false; MQTTStatus_t status = MQTTSuccess; uint8_t buffer[ 4 ] = { 0 }; memset( &mqttPacketInfo, 0x00, sizeof( mqttPacketInfo ) ); @@ -2798,12 +2807,13 @@ void test_MQTTV5_GetAckPacketSize() { MQTTStatus_t status ; MQTTAckInfo_t ackInfo; + MQTTUserProperties_t userProperties; size_t remainingLength; size_t propertyLength; size_t packetSize; uint32_t maxPacketSize = 0U; memset(&ackInfo,0x0, sizeof(ackInfo)); - + memset(&userProperties,0x0, sizeof(userProperties)); /*Invalid parameters*/ status = MQTTV5_GetAckPacketSize(NULL,&remainingLength,&propertyLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); @@ -2839,17 +2849,29 @@ maxPacketSize = 2; status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); +/*Max packet size cannot be 0*/ +maxPacketSize = 0; +status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,&packetSize,maxPacketSize); +TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + +/*Reason string is null but length is not 0*/ +ackInfo.pReasonString = NULL; +maxPacketSize = 30; +status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,&packetSize,maxPacketSize); +TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + } void test_MQTTV5_SerializePubAckWithProperty() { MQTTStatus_t status ; MQTTAckInfo_t ackInfo; - size_t remainingLength; - size_t propertyLength; + size_t remainingLength = 0U; + size_t propertyLength = 0U; size_t packetSize; - uint8_t packetType; - uint16_t packetId; + uint8_t packetType= MQTT_PACKET_TYPE_PUBREL; + uint16_t packetId = 1U; uint32_t maxPacketSize = 1000U; uint8_t buffer[ 440 + 2 * BUFFER_PADDING_LENGTH ]; size_t bufferSize = sizeof( buffer ) - 2 * BUFFER_PADDING_LENGTH; @@ -2866,7 +2888,7 @@ void test_MQTTV5_SerializePubAckWithProperty() TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /*Buffer size not sufficient*/ - // status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,&packetSize,maxPacketSize); + status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,&packetSize,maxPacketSize); fixedBuffer.size = 5; fixedBuffer.pBuffer= &buffer[BUFFER_PADDING_LENGTH]; status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,propertyLength,&fixedBuffer,packetType,packetId); @@ -2879,12 +2901,10 @@ void test_MQTTV5_SerializePubAckWithProperty() /* Make sure buffer has enough space */ TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); /* Make sure test succeeds. */ - padAndResetBuffer( buffer, sizeof( buffer ) ); - fixedBuffer.size = bufferSize; + fixedBuffer.size = 200; TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,propertyLength,&fixedBuffer,packetType,packetId); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - checkBufferOverflow( buffer, sizeof( buffer ) ); /*With properties*/ ackInfo.reasonStringLength = MQTT_TEST_UTF8_STRING_LENGTH; @@ -2898,12 +2918,8 @@ void test_MQTTV5_SerializePubAckWithProperty() status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /* Make sure buffer has enough space */ - TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); - /* Make sure test succeeds. */ - padAndResetBuffer( buffer, sizeof( buffer ) ); - fixedBuffer.size = bufferSize; + fixedBuffer.size = 400; TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,propertyLength,&fixedBuffer,packetType,packetId); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - checkBufferOverflow( buffer, sizeof( buffer ) ); } \ No newline at end of file diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index d000368cb..7463763ed 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -306,12 +306,18 @@ static void eventCallback1( MQTTContext_t * pContext, ( void ) pPacketInfo; ( void ) pDeserializedInfo; MQTTAckInfo_t ackInfo; + MQTTUserProperties_t user ; + memset(&user,0x0,sizeof(user)); memset(&ackInfo, 0x0, sizeof(ackInfo)); /* Update the global state to indicate that event callback is invoked. */ isEventCallbackInvoked = true; pDeserializedInfo->pNextAckInfo = &ackInfo; + if(pDeserializedInfo->packetIdentifier == 1){ ackInfo.reasonStringLength = 2; ackInfo.pReasonString = "ab"; + ackInfo.pUserProperty= &user; + user.count = 0; + } } /** @@ -332,6 +338,35 @@ static void resetProcessLoopParams( ProcessLoopReturns_t * pExpectParams ) pExpectParams->timeoutMs = MQTT_NO_TIMEOUT_MS; } +/** + * @brief Mocked transport send that always returns 0 bytes sent. + */ +static int32_t transportSendNoBytes( NetworkContext_t * pNetworkContext, + const void * pBuffer, + size_t bytesToWrite ) +{ + ( void ) pNetworkContext; + ( void ) pBuffer; + ( void ) bytesToWrite; + return 0; +} + +static uint8_t * MQTTV5_SerializeAckFixed_cb( uint8_t * pIndex, + uint8_t packetType, + uint16_t packetId, + size_t remainingLength, + size_t propertyLength, + int numcallbacks ) +{ + ( void ) packetType; + ( void ) packetId; + ( void ) remainingLength; + ( void ) propertyLength; + ( void ) numcallbacks; + + return pIndex; +} + /** * @brief This helper function is used to expect any calls from the process loop * to mocked functions belonging to an external header file. Its parameters @@ -894,6 +929,10 @@ void test_MQTT_Publish( void ) MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); status = MQTT_Publish( &mqttContext, &publishInfo, PACKET_ID ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + + MQTTV5_ValidatePublishParams_ExpectAnyArgsAndReturn(MQTTBadParameter); + status = MQTT_Publish( &mqttContext, &publishInfo, PACKET_ID ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /*Send With properties*/ setupPublishProperties(&publishInfo); @@ -935,30 +974,209 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths( void ) } -// void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths( void ) -// { -// MQTTStatus_t status; -// MQTTContext_t context = { 0 }; -// TransportInterface_t transport = { 0 }; -// MQTTFixedBuffer_t networkBuffer = { 0 }; -// ProcessLoopReturns_t expectParams = { 0 }; -// MQTTConnectProperties_t properties; -// setupTransportInterface( &transport ); -// setupNetworkBuffer( &networkBuffer ); -// setupTransportInterface( &transport ); -// setupNetworkBuffer( &networkBuffer ); -// transport.recv = transportRecvFailure; - -// status = MQTT_Init( &context, &transport, getTime, eventCallback1, &networkBuffer ); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); -// properties.requestProblemInfo = 1; -// context.connectProperties = &properties; -// modifyIncomingPacketStatus = MQTTSuccess; - -// MQTT_ProcessIncomingPacketTypeAndLength_IgnoreAndReturn(MQTTSuccess); -// MQTTV5_DeserializeAck_IgnoreAndReturn(MQTTSuccess); -// status = MQTT_ProcessLoop(&context); -// TEST_ASSERT_EQUAL( MQTTSuccess, status ); +void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths2( void ) +{ + MQTTStatus_t status; + MQTTPublishState_t stateAfterDeserialize; + MQTTPublishState_t stateAfterSerialize; + MQTTContext_t context = { 0 }; + TransportInterface_t transport = { 0 }; + MQTTFixedBuffer_t networkBuffer = { 0 }; + MQTTConnectProperties_t properties; + MQTTPacketInfo_t incomingPacket = { 0 }; + setupTransportInterface( &transport ); + setupNetworkBuffer( &networkBuffer ); + /* Modify incoming packet depending on type to be tested. */ + incomingPacket.type = MQTT_PACKET_TYPE_PUBREC; + incomingPacket.remainingLength = MQTT_SAMPLE_REMAINING_LENGTH; + incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; + status = MQTT_Init( &context, &transport, getTime, eventCallback1, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + properties.requestProblemInfo = 1; + context.connectProperties = &properties; + modifyIncomingPacketStatus = MQTTSuccess; + stateAfterDeserialize = MQTTPubRelSend; + stateAfterSerialize = MQTTPubCompPending; + MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); + MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterDeserialize ); + MQTTV5_GetAckPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); + MQTTV5_SerializeAckFixed_Stub(MQTTV5_SerializeAckFixed_cb); + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterSerialize ); + status = MQTT_ProcessLoop(&context); + TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); + +} + +void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths3( void ) +{ + MQTTStatus_t status; + MQTTContext_t context = { 0 }; + TransportInterface_t transport = { 0 }; + MQTTFixedBuffer_t networkBuffer = { 0 }; + MQTTConnectProperties_t properties; + MQTTPacketInfo_t incomingPacket = { 0 }; + setupTransportInterface( &transport ); + setupNetworkBuffer( &networkBuffer ); + /* Modify incoming packet depending on type to be tested. */ + incomingPacket.type = MQTT_PACKET_TYPE_PUBREC; + incomingPacket.remainingLength = MQTT_SAMPLE_REMAINING_LENGTH; + incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; + status = MQTT_Init( &context, &transport, getTime, eventCallback1, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + properties.requestProblemInfo = 1; + context.connectProperties = &properties; + modifyIncomingPacketStatus = MQTTSuccess; + MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); + MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTBadParameter); + status = MQTT_ProcessLoop(&context); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); -// } +} +void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths4( void ) +{ + MQTTStatus_t status; + MQTTPublishState_t stateAfterDeserialize; + MQTTContext_t context = { 0 }; + TransportInterface_t transport = { 0 }; + MQTTFixedBuffer_t networkBuffer = { 0 }; + MQTTConnectProperties_t properties; + uint16_t packetId = 2; + MQTTPacketInfo_t incomingPacket = { 0 }; + setupTransportInterface( &transport ); + setupNetworkBuffer( &networkBuffer ); + /* Modify incoming packet depending on type to be tested. */ + incomingPacket.type = MQTT_PACKET_TYPE_PUBREC; + incomingPacket.remainingLength = MQTT_SAMPLE_REMAINING_LENGTH; + incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; + status = MQTT_Init( &context, &transport, getTime, eventCallback1, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + properties.requestProblemInfo = 1; + context.connectProperties = &properties; + modifyIncomingPacketStatus = MQTTSuccess; + stateAfterDeserialize = MQTTPubRelSend; + MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); + MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTTV5_DeserializeAck_ReturnThruPtr_pPacketId( &packetId ); + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterDeserialize ); + MQTTV5_GetAckPacketSize_ExpectAnyArgsAndReturn(MQTTBadParameter); + status = MQTT_ProcessLoop(&context); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + +} + +void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths5( void ) +{ + MQTTStatus_t status; + MQTTPublishState_t stateAfterDeserialize; + MQTTPublishState_t stateAfterSerialize; + MQTTContext_t context = { 0 }; + TransportInterface_t transport = { 0 }; + MQTTFixedBuffer_t networkBuffer = { 0 }; + MQTTConnectProperties_t properties; + uint16_t packetId = 1; + MQTTPacketInfo_t incomingPacket = { 0 }; + setupTransportInterface( &transport ); + setupNetworkBuffer( &networkBuffer ); + /* Modify incoming packet depending on type to be tested. */ + incomingPacket.type = MQTT_PACKET_TYPE_PUBREC; + incomingPacket.remainingLength = MQTT_SAMPLE_REMAINING_LENGTH; + incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; + status = MQTT_Init( &context, &transport, getTime, eventCallback1, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + properties.requestProblemInfo = 1; + context.connectProperties = &properties; + modifyIncomingPacketStatus = MQTTSuccess; + stateAfterDeserialize = MQTTPubRelSend; + stateAfterSerialize = MQTTPubCompPending; + MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); + MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTTV5_DeserializeAck_ReturnThruPtr_pPacketId( &packetId ); + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterDeserialize ); + MQTTV5_GetAckPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); + MQTTV5_SerializeAckFixed_Stub(MQTTV5_SerializeAckFixed_cb); + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterSerialize ); + status = MQTT_ProcessLoop(&context); + TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); + +} + +void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths6( void ) +{ + MQTTStatus_t status; + MQTTPublishState_t stateAfterDeserialize; + MQTTContext_t context = { 0 }; + TransportInterface_t transport = { 0 }; + MQTTFixedBuffer_t networkBuffer = { 0 }; + MQTTConnectProperties_t properties; + MQTTPacketInfo_t incomingPacket = { 0 }; + setupTransportInterface( &transport ); + setupNetworkBuffer( &networkBuffer ); + /* Modify incoming packet depending on type to be tested. */ + incomingPacket.type = MQTT_PACKET_TYPE_PUBREC; + incomingPacket.remainingLength = MQTT_SAMPLE_REMAINING_LENGTH; + incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; + status = MQTT_Init( &context, &transport, getTime, eventCallback1, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + properties.requestProblemInfo = 1; + context.connectProperties = &properties; + modifyIncomingPacketStatus = MQTTSuccess; + stateAfterDeserialize = MQTTPubRelPending; + MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); + MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterDeserialize ); + MQTTV5_GetAckPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); + status = MQTT_ProcessLoop(&context); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + +} + +void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths7( void ) +{ + MQTTStatus_t status; + MQTTPublishState_t stateAfterDeserialize; + MQTTContext_t context = { 0 }; + TransportInterface_t transport = { 0 }; + MQTTFixedBuffer_t networkBuffer = { 0 }; + MQTTConnectProperties_t properties; + MQTTPacketInfo_t incomingPacket = { 0 }; + uint16_t packetId = 1; + setupTransportInterface( &transport ); + setupNetworkBuffer( &networkBuffer ); + /* Modify incoming packet depending on type to be tested. */ + incomingPacket.type = MQTT_PACKET_TYPE_PUBREC; + incomingPacket.remainingLength = MQTT_SAMPLE_REMAINING_LENGTH; + incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; + status = MQTT_Init( &context, &transport, getTime, eventCallback1, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + context.transportInterface.send = transportSendNoBytes; + context.transportInterface.writev = NULL; + properties.requestProblemInfo = 1; + context.connectProperties = &properties; + modifyIncomingPacketStatus = MQTTSuccess; + stateAfterDeserialize = MQTTPubRelSend; + MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); + MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTTV5_DeserializeAck_ReturnThruPtr_pPacketId( &packetId ); + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterDeserialize ); + MQTTV5_GetAckPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); + MQTTV5_SerializeAckFixed_Stub(MQTTV5_SerializeAckFixed_cb); + status = MQTT_ProcessLoop(&context); + TEST_ASSERT_EQUAL_INT(MQTTSendFailed,status); + +} \ No newline at end of file From 675869ad9bbf02395c82471885eea833d4d080a8 Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Tue, 9 Jul 2024 12:03:11 +0000 Subject: [PATCH 67/82] Disconnect --- source/core_mqtt.c | 134 ++++++- source/core_mqtt_serializer.c | 335 +++++++++++++++++- source/include/core_mqtt_serializer.h | 13 +- .../MQTTv5/core_mqttv5_serializer_utest.c | 163 +++++++-- 4 files changed, 597 insertions(+), 48 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 9179d3686..23818fb83 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -795,10 +795,22 @@ static bool matchTopicFilter( const char * pTopicName, size_t * pTotalMessageLength, TransportOutVector_t ** pVectorIterator ); +/** + * @brief Send acks for received QoS 1/2 publishes with properties. + * + * @param[in] pContext MQTT Connection context. + * @param[in] packetId packet ID of original PUBLISH. + * @param[in] publishState Current publish state in record. + * @param[in] pAckInfo Reason code and properties. + * + * + * @return #MQTTSuccess, #MQTTBadParameter, #MQTTIllegalState or #MQTTSendFailed. + */ + static MQTTStatus_t sendPublishAcksWithProperty( MQTTContext_t * pContext, uint16_t packetId, MQTTPublishState_t publishState, - const MQTTAckInfo_t* pAckInfo); + MQTTAckInfo_t* pAckInfo); /*-----------------------------------------------------------*/ @@ -991,7 +1003,7 @@ static bool matchTopicFilter( const char * pTopicName, static MQTTStatus_t sendPublishAcksWithProperty( MQTTContext_t * pContext, uint16_t packetId, MQTTPublishState_t publishState, - const MQTTAckInfo_t* pAckInfo) + MQTTAckInfo_t* pAckInfo) { int32_t bytesSentOrError; size_t vectorsAdded = 0U; @@ -1003,7 +1015,6 @@ static bool matchTopicFilter( const char * pTopicName, MQTTPubAckType_t packetType; uint8_t pubAckHeader[12]; size_t remainingLength = 0U; - size_t propertyLength = 0U; size_t packetSize = 0U; TransportOutVector_t pIoVector[4 + MAX_USER_PROPERTY*5]; uint8_t serializedReasonStringLength[ 2 ]; @@ -1016,7 +1027,7 @@ static bool matchTopicFilter( const char * pTopicName, assert( pContext != NULL ); assert( pAckInfo != NULL ); packetTypeByte = getAckTypeToSend( publishState ); - status = MQTTV5_GetAckPacketSize(pAckInfo, &remainingLength, &propertyLength, &packetSize,pContext->connectProperties->serverMaxPacketSize); + status = MQTTV5_GetAckPacketSize(pAckInfo, &remainingLength, &packetSize,pContext->connectProperties->serverMaxPacketSize); if( (packetTypeByte != 0U) && (status == MQTTSuccess) ) { @@ -1026,7 +1037,7 @@ static bool matchTopicFilter( const char * pTopicName, packetTypeByte, packetId, remainingLength, - propertyLength ); + pAckInfo->propertyLength ); iterator->iov_base = pubAckHeader; /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-182 */ /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-108 */ @@ -1100,6 +1111,72 @@ static bool matchTopicFilter( const char * pTopicName, return status; } +static MQTTStatus_t sendDisconnectWithoutCopy( MQTTContext_t * pContext, + MQTTAckInfo_t* pAckInfo, + size_t remainingLength, + uint32_t sessionExpiry) +{ + int32_t bytesSentOrError; + size_t vectorsAdded = 0U; + size_t ioVectorLength = 0U; + size_t totalMessageLength = 0U; + MQTTStatus_t status = MQTTSuccess; + uint8_t fixedHeader[14]; + size_t packetSize = 0U; + TransportOutVector_t pIoVector[4 + MAX_USER_PROPERTY*5]; + uint8_t serializedReasonStringLength[ 2 ]; + uint8_t reasonStringId = MQTT_REASON_STRING_ID; + #if(MQTT_USER_PROPERTY_ENABLED) + UserPropertyVector_t userVector; + #endif + uint8_t * pIndex =fixedHeader; + TransportOutVector_t * iterator = pIoVector; + assert( pContext != NULL ); + assert( pAckInfo != NULL ); + + /* Only for fixed size fields. */ + pIndex = MQTTV5_SerializeDisconnectFixed(pIndex,pAckInfo,remainingLength,sessionExpiry); + iterator->iov_base = fixedHeader; + /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-182 */ + /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-108 */ + /* coverity[misra_c_2012_rule_18_2_violation] */ + /* coverity[misra_c_2012_rule_10_8_violation] */ + iterator->iov_len = ( size_t ) ( pIndex - fixedHeader ); + totalMessageLength += iterator->iov_len; + iterator++; + ioVectorLength++; + if(pAckInfo ->reasonStringLength != 0U) + { + /* Serialize the reason string. */ + vectorsAdded = addEncodedStringToVectorWithId( serializedReasonStringLength, + pAckInfo ->pReasonString, + pAckInfo ->reasonStringLength, + iterator, + &totalMessageLength, &reasonStringId ); + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; + } + #if(MQTT_USER_PROPERTY_ENABLED) + /*Encode the user porperties if provided.*/ + if(pAckInfo->pUserProperty != NULL) + { + ioVectorLength += sendUserProperties( pAckInfo->pUserProperty, &userVector, &totalMessageLength, &iterator); + } + #endif + + bytesSentOrError = sendMessageVector( pContext, pIoVector, ioVectorLength ); + + if( bytesSentOrError != ( int32_t ) totalMessageLength ) + { + status = MQTTSendFailed; + LogError( ( "Failed to send Connect packet: of PacketSize=%lu.", + packetSize ) ); + } + + return status; +} + #endif /* if ( MQTT_VERSION_5_ENABLED ) */ /*-----------------------------------------------------------*/ @@ -4111,4 +4188,51 @@ const char * MQTT_Status_strerror( MQTTStatus_t status ) return str; } +#if(MQTT_VERSION_5_ENABLED) +MQTTStatus_t MQTTV5_Disconnect( MQTTContext_t * pContext , MQTTAckInfo_t *pAckInfo, uint32_t sessionExpiry) +{ + size_t packetSize = 0U; + size_t remainingLength = 0U; + MQTTStatus_t status = MQTTSuccess; + + /* Validate arguments. */ + if((pContext == NULL) || (pAckInfo == NULL) || (pContext->connectProperties == NULL)) + { + LogError( ( "pContext, pAckInfo and connect properties cannot be NULL." ) ); + status = MQTTBadParameter; + } + + if( status == MQTTSuccess ) + { + /* Get MQTT DISCONNECT packet size. */ + status = MQTTV5_GetDisconnectPacketSize( pAckInfo,&remainingLength,&packetSize,pContext->connectProperties->serverMaxPacketSize,sessionExpiry,pContext->connectProperties->sessionExpiry ); + LogDebug( ( "MQTT DISCONNECT packet size is %lu.", + ( unsigned long ) packetSize ) ); + } + + if( status == MQTTSuccess ) + { + /* Take the mutex because the below call should not be interrupted. */ + MQTT_PRE_SEND_HOOK( pContext ); + + status = sendDisconnectWithoutCopy(pContext,pAckInfo,remainingLength,sessionExpiry); + + /* Give the mutex away. */ + MQTT_POST_SEND_HOOK( pContext ); + } + + if( status == MQTTSuccess ) + { + LogInfo( ( "Disconnected from the broker." ) ); + pContext->connectStatus = MQTTNotConnected; + + /* Reset the index and clean the buffer on a successful disconnect. */ + pContext->index = 0; + ( void ) memset( pContext->networkBuffer.pBuffer, 0, pContext->networkBuffer.size ); + } + + return status; +} +#endif + /*-----------------------------------------------------------*/ diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 77e781a88..490a6cc49 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -914,20 +914,58 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); size_t length, const uint8_t * const * pIndex ); +/** + * @brief Calculates the packet size and remaining length of an MQTT + * PUBLISH packet. + * + * @param[in] pPublishInfo MQTT PUBLISH packet parameters. + * @param[out] pRemainingLength The Remaining Length of the MQTT PUBLISH packet. + * @param[out] pPacketSize The total size of the MQTT PUBLISH packet. + * @param[in] maxPacketSize Max packet size allowed by the server. + * + * + * @return MQTTBadParameter if the packet would exceed the size allowed by the + * MQTT spec; true otherwise. + */ static MQTTStatus_t calculatePublishPacketSizeV5( MQTTPublishInfo_t * pPublishInfo, size_t * pRemainingLength, size_t * pPacketSize, uint32_t maxPacketSize ); - - static void serailzeAckPacketV5( const MQTTAckInfo_t * pAckInfo, + +/** + * @brief Serialize a MQTT Publish Ack packet in the given buffer. + * + * @param[in] pAckInfo MQTT PUB ACK packet parameters. + * @param[in] packetType Type of pub ack. + * @param[in] packetId Packet identifier. + * @param[in] remainingLength Remaining Length of PUB ACK packet. + * @param[in] pFixedBuffer Buffer for packet serialization. + * + */ + static void seriailizePubAckPacketV5( const MQTTAckInfo_t * pAckInfo, uint8_t packetType, uint16_t packetId, size_t remainingLength, - size_t propertyLength, const MQTTFixedBuffer_t * pFixedBuffer ); +/** + * @brief Prints the appropriate message for the PUBREL, PUBACK response code if logs + * are enabled. + * + * @param[in] responseCode MQTT Verion 5 standard PUBREL, PUBACK response code. + * + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket. + */ static MQTTStatus_t logAckResponseV5(uint8_t reasonCode,uint16_t packetIdentifier); - + +/** + * @brief Prints the appropriate message for the CONNACK response code if logs + * are enabled. + * + * @param[in] responseCode MQTT Verion 5 standard CONNACK response code. + * + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket. + */ static MQTTStatus_t logSimpleAckResponseV5(uint8_t reasonCode,uint16_t packetIdentifier); static MQTTStatus_t decodeAckProperties (MQTTAckInfo_t * pAckInfo,const uint8_t * index, size_t remainingLength); @@ -940,7 +978,10 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); static uint8_t * serializePublishProperties(const MQTTPublishInfo_t *pPublishInfo, uint8_t * pIndex); - + static void seriailizeDisconnectPacketV5( const MQTTAckInfo_t * pAckInfo, + const MQTTFixedBuffer_t * pFixedBuffer, + size_t remainingLength, + uint32_t sessionExpiry ); /*-----------------------------------------------------------*/ #if ( MQTT_USER_PROPERTY_ENABLED ) @@ -1059,6 +1100,70 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); return status; } + #else + static MQTTStatus_t decodeAndDiscard( + size_t * pPropertyLength, + const uint8_t ** pIndex ) + { + const uint8_t * pVariableHeader = *pIndex; + MQTTStatus_t status = MQTTSuccess; + uint16_t keyLength; + uint16_t valueLenght; + const char * pKey; + const char * pValue; + /*Validate the property length and decode the user property received.*/ + if( *pPropertyLength < sizeof( uint16_t ) ) + { + status = MQTTMalformedPacket; + } + else + { + keyLength = UINT16_DECODE( pVariableHeader ); + *pPropertyLength -= sizeof( uint16_t ); + + if( *pPropertyLength < keyLength ) + { + status = MQTTMalformedPacket; + } + else + { + pVariableHeader = &pVariableHeader[ sizeof( uint16_t ) ]; + pKey = ( const char * ) pVariableHeader; + *pPropertyLength -= keyLength; + pVariableHeader = &pVariableHeader[ keyLength ]; + + if( *pPropertyLength < sizeof( uint16_t ) ) + { + status = MQTTMalformedPacket; + } + else + { + valueLength = UINT16_DECODE( pVariableHeader ); + *pPropertyLength -= sizeof( uint16_t ); + pVariableHeader = &pVariableHeader[ sizeof( uint16_t ) ]; + + if( *pPropertyLength < ( size_t ) ( valueLength ) ) + { + status = MQTTMalformedPacket; + } + else + { + pValue = ( const char * ) pVariableHeader; + pVariableHeader = &pVariableHeader[ valueLength ]; + *pPropertyLength -= valueLength; + } + } + } + } + + *pIndex = pVariableHeader; + + LogDebug( ( "Discarded additional user property with key %s and value %s. ", + discardUserProperty.pKey, + discardUserProperty.pValue ) ); + + return status; + } #endif /* if ( MQTT_USER_PROPERTY_ENABLED ) */ @@ -1822,8 +1927,10 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); case MQTT_USER_PROPERTY_ID: #if ( MQTT_USER_PROPERTY_ENABLED ) status = decodeutf_8pair( pConnackProperties->pIncomingUserProperty, &pConnackProperties->pIncomingUserProperty->count, &propertyLength, &pVariableHeader ); - break; + #else + status = decodeAndDiscard(&propertyLength, &pVariableHeader); #endif + break; case MQTT_WILDCARD_ID: status = decodeuint8_t( &pConnackProperties->isWildcardAvaiable, &propertyLength, &wildcard, &pVariableHeader ); break; @@ -1980,11 +2087,10 @@ static MQTTStatus_t calculatePublishPacketSizeV5( MQTTPublishInfo_t * pPublishIn return status; } - static void serailzeAckPacketV5( const MQTTAckInfo_t * pAckInfo, + static void seriailizePubAckPacketV5( const MQTTAckInfo_t * pAckInfo, uint8_t packetType, uint16_t packetId, size_t remainingLength, - size_t propertyLength, const MQTTFixedBuffer_t * pFixedBuffer ) { uint8_t * pIndex = NULL; @@ -1998,7 +2104,7 @@ static MQTTStatus_t calculatePublishPacketSizeV5( MQTTPublishInfo_t * pPublishIn packetType, packetId, remainingLength, - propertyLength ); + pAckInfo->propertyLength ); /*Serialize the reason string if provided.*/ if(pAckInfo->reasonStringLength != 0U) { @@ -2125,6 +2231,8 @@ static MQTTStatus_t decodeAckProperties(MQTTAckInfo_t * pAckInfo,const uint8_t * case MQTT_USER_PROPERTY_ID: #if(MQTT_USER_PROPERTY_ENABLED) status = decodeutf_8pair( pAckInfo->pUserProperty, &pAckInfo->pUserProperty->count, &propertyLength, &pIndex); + #else + status = decodeAndDiscard( &propertyLength, &pIndex); #endif break; default: @@ -4667,7 +4775,6 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, const MQTTConnectProperties_t * pConnectProperties ) { uint8_t * pIndexLocal = pIndex; - pIndexLocal = encodeRemainingLength( pIndexLocal, pConnectProperties->propertyLength ); /*Serialize session expiry if provided.*/ @@ -5000,14 +5107,14 @@ MQTTStatus_t MQTTV5_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, return status; } -MQTTStatus_t MQTTV5_GetAckPacketSize(const MQTTAckInfo_t *pAckInfo, size_t* pRemainingLength,size_t * pPropertyLength, size_t * pPacketSize, uint32_t maxPacketSize) +MQTTStatus_t MQTTV5_GetAckPacketSize( MQTTAckInfo_t *pAckInfo, size_t* pRemainingLength, size_t * pPacketSize, uint32_t maxPacketSize) { MQTTStatus_t status = MQTTSuccess; size_t length = 0U; size_t propertyLength = 0U; size_t packetSize = 0U; /*Validate the parameters.*/ - if((pAckInfo== NULL) ||(pRemainingLength == NULL) || (pPacketSize == NULL) || (pPropertyLength == NULL)){ + if((pAckInfo== NULL) ||(pRemainingLength == NULL) || (pPacketSize == NULL) ){ status = MQTTBadParameter; } else if(maxPacketSize == 0U) @@ -5038,7 +5145,7 @@ MQTTStatus_t MQTTV5_GetAckPacketSize(const MQTTAckInfo_t *pAckInfo, size_t* pRem /*Validate the length.*/ if((propertyLength + 4U)propertyLength = propertyLength; length += remainingLengthEncodedSize(propertyLength) + propertyLength; *pRemainingLength = length; } @@ -5089,7 +5196,6 @@ uint8_t * MQTTV5_SerializeAckFixed(uint8_t * pIndex, MQTTStatus_t MQTTV5_SerializePubAckWithProperty( const MQTTAckInfo_t *pAckInfo, size_t remainingLength, - size_t propertyLength, const MQTTFixedBuffer_t * pFixedBuffer, uint8_t packetType, uint16_t packetId) @@ -5125,12 +5231,209 @@ MQTTStatus_t MQTTV5_SerializePubAckWithProperty( const MQTTAckInfo_t *pAckInfo, } else { - serailzeAckPacketV5(pAckInfo,packetType,packetId,remainingLength,propertyLength, pFixedBuffer); - + seriailizePubAckPacketV5(pAckInfo,packetType,packetId,remainingLength, pFixedBuffer); } } return status; } + +MQTTStatus_t MQTTV5_GetDisconnectPacketSize( MQTTAckInfo_t* pAckInfo, size_t * pRemainingLength, size_t * pPacketSize,uint32_t maxPacketSize, uint32_t sessionExpiry,uint32_t prevSessionExpiry ) +{ + MQTTStatus_t status = MQTTSuccess; + size_t length = 0U; + size_t packetSize = 0U; + size_t propertyLength = 0U; + if( (pAckInfo== NULL) || (pRemainingLength == NULL) || (pPacketSize == NULL)) + { + LogError( ( "Argument cannot be NULL: pAckInfo=%p, " + "pRemainingLength=%p, pPacketSize=%p.", + ( void * ) pAckInfo, + ( void * ) pRemainingLength, + ( void * ) pPacketSize ) ); + status = MQTTBadParameter; + } + else if(maxPacketSize == 0U) + { + LogError( ( "Max packet size cannot be zero." ) ); + status = MQTTBadParameter; + } + else if((prevSessionExpiry == 0U) && (sessionExpiry == 0U)){ + LogError( ( "If the Session Expiry in the CONNECT packet was zero, then it is a Protocol Error to set a non-zero Session Expiry Interval in the DISCONNECT packet." ) ); + status = MQTTBadParameter; + } + else + { + /*Reason code.*/ + length+= 1U; + if(sessionExpiry != 0U) + { + propertyLength += MQTT_SESSION_EXPIRY_SIZE; + } + + if(pAckInfo->reasonStringLength != 0U){ + if(pAckInfo->pReasonString == NULL){ + status = MQTTBadParameter; + } + else + { + propertyLength += pAckInfo->reasonStringLength; + propertyLength += MQTT_UTF8_LENGTH_SIZE; + } + } + } + #if(MQTT_USER_PROPERTY_ENABLED) + if((status == MQTTSuccess) && (pAckInfo->pUserProperty!= NULL)){ + status = MQTT_GetUserPropertySize(pAckInfo->pUserProperty->userProperty,pAckInfo->pUserProperty->count,&propertyLength); + } + #endif + if(status == MQTTSuccess) + { + /*Validate the length.*/ + if((propertyLength + 4U)propertyLength = propertyLength; + length += remainingLengthEncodedSize(propertyLength) + propertyLength; + *pRemainingLength = length; + } + else + { + status = MQTTBadParameter; + } + } + + if(status == MQTTSuccess){ + packetSize = length + 1U + remainingLengthEncodedSize(length); + if(packetSize > maxPacketSize) + { + status = MQTTBadParameter; + } + else{ + *pPacketSize = packetSize; + } + } + return status; +} + +uint8_t * MQTTV5_SerializeDisconnectFixed(uint8_t * pIndex, + const MQTTAckInfo_t * pAckInfo, + size_t remainingLength, + uint32_t sessionExpiry) +{ + uint8_t * pIndexLocal = pIndex; + + /* The first byte in the publish ack packet is the control packet type. */ + *pIndexLocal = MQTT_PACKET_TYPE_DISCONNECT; + pIndexLocal++; + /*After the packet type fixed header has remaining length.*/ + pIndexLocal = encodeRemainingLength( pIndexLocal, remainingLength ); + /*Encode the reason code.*/ + *pIndexLocal = pAckInfo->reasonCode; + pIndexLocal ++; + /*Encode the property length.*/ + pIndexLocal = encodeRemainingLength(pIndexLocal,pAckInfo->propertyLength); + /*Encode the session expiry if provided. */ + if(sessionExpiry != 0U) + { + *pIndexLocal = MQTT_SESSION_EXPIRY_ID; + pIndexLocal++; + pIndexLocal[ 0 ] = UINT32_BYTE3(sessionExpiry ); + pIndexLocal[ 1 ] = UINT32_BYTE2( sessionExpiry ); + pIndexLocal[ 2 ] = UINT32_BYTE1(sessionExpiry ); + pIndexLocal[ 3 ] = UINT32_BYTE0(sessionExpiry ); + pIndexLocal = &pIndexLocal[ 4 ]; + } + + return pIndexLocal; +} + + static void seriailizeDisconnectPacketV5( const MQTTAckInfo_t * pAckInfo, + const MQTTFixedBuffer_t * pFixedBuffer, + size_t remainingLength, + uint32_t sessionExpiry ) + { + uint8_t * pIndex = NULL; + + assert( pAckInfo != NULL ); + assert( pFixedBuffer != NULL ); + assert( pFixedBuffer->pBuffer != NULL ); + pIndex = pFixedBuffer->pBuffer; + /* Serialize the header including reason code and property length */ + pIndex = MQTTV5_SerializeDisconnectFixed( pIndex,pAckInfo, + remainingLength, + sessionExpiry ); + /*Serialize the reason string if provided.*/ + if(pAckInfo->reasonStringLength != 0U) + { + *pIndex = MQTT_REASON_STRING_ID; + pIndex++; + pIndex = encodeString( pIndex, pAckInfo->pReasonString, pAckInfo->reasonStringLength ); + } + #if(MQTT_USER_PROPERTY_ENABLED) + /*Serialize the user properties if provided.*/ + if( pAckInfo->pUserProperty != NULL ) + { + uint32_t i = 0; + uint32_t size = pAckInfo->pUserProperty->count; + const MQTTUserProperty_t * pUserProperty = pAckInfo->pUserProperty->userProperty; + + for( ; i < size; i++ ) + { + *pIndex = MQTT_USER_PROPERTY_ID; + pIndex++; + pIndex = encodeString( pIndex, pUserProperty[ i ].pKey, pUserProperty[ i ].keyLength ); + pIndex = encodeString( pIndex, pUserProperty[ i ].pValue, pUserProperty[ i ].valueLength ); + } + } + #endif + /* Ensure that the difference between the end and beginning of the buffer + * is less than the buffer size. */ + assert( ( ( size_t ) ( pIndex - pFixedBuffer->pBuffer ) ) <= pFixedBuffer->size ); + } + + +MQTTStatus_t MQTTV5_SerializeDisconnectWithProperty( const MQTTAckInfo_t *pAckInfo, + size_t remainingLength, + const MQTTFixedBuffer_t * pFixedBuffer, + uint32_t sessionExpiry) +{ + MQTTStatus_t status = MQTTSuccess; + size_t packetSize = 0; + /* Validate arguments. */ + if( ( pAckInfo == NULL ) || ( pFixedBuffer == NULL ) ) + { + LogError( ( "Argument cannot be NULL: pAckInfo=%p, " + "pFixedBuffer=%p.", + ( void * ) pAckInfo, + ( void * ) pFixedBuffer ) ); + status = MQTTBadParameter; + } + /* A buffer must be configured for serialization. */ + else if( pFixedBuffer->pBuffer == NULL ) + { + LogError( ( "Argument cannot be NULL: pFixedBuffer->pBuffer is NULL." ) ); + status = MQTTBadParameter; + } + else + { + packetSize = remainingLength + remainingLengthEncodedSize(remainingLength) + 1U; + /* Check that the full packet size fits within the given buffer. */ + if( packetSize > pFixedBuffer->size ) + { + LogError( ( "Buffer size of %lu is not sufficient to hold " + "serialized ACK packet of size of %lu.", + ( unsigned long ) pFixedBuffer->size, + ( unsigned long ) packetSize ) ); + status = MQTTNoMemory; + } + else + { + seriailizeDisconnectPacketV5(pAckInfo,pFixedBuffer,remainingLength,sessionExpiry); + + } + } + return status; +} + #endif /* if ( MQTT_VERSION_5_ENABLED ) */ /*-----------------------------------------------------------*/ diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index 9586b9655..937aaa80a 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -455,6 +455,10 @@ typedef struct MQTTAckInfo * @brief Response code; */ uint8_t reasonCode; + /** + * @brief Property Lenght. + */ + size_t propertyLength; #if(MQTT_USER_PROPERTY_ENABLED) /** * @brief To store a key value pair. @@ -1854,7 +1858,7 @@ MQTTStatus_t MQTTV5_GetPublishPacketSize(MQTTPublishInfo_t * pPublishInfo, MQTTStatus_t MQTTV5_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, uint16_t * pPacketId, MQTTAckInfo_t *pAckInfo, bool requestProblem); -MQTTStatus_t MQTTV5_GetAckPacketSize(const MQTTAckInfo_t *pAckInfo, size_t* pRemainingLength,size_t * pPropertyLength, size_t * pPacketSize, uint32_t maxPacketSize); +MQTTStatus_t MQTTV5_GetAckPacketSize( MQTTAckInfo_t *pAckInfo, size_t* pRemainingLength,size_t * pPacketSize, uint32_t maxPacketSize); uint8_t * MQTTV5_SerializeAckFixed(uint8_t * pIndex, uint8_t packetType, @@ -1864,11 +1868,16 @@ uint8_t * MQTTV5_SerializeAckFixed(uint8_t * pIndex, MQTTStatus_t MQTTV5_SerializePubAckWithProperty( const MQTTAckInfo_t *pAckInfo, size_t remainingLength, - size_t propertyLength, const MQTTFixedBuffer_t * pFixedBuffer, uint8_t packetType, uint16_t packetId); +MQTTStatus_t MQTTV5_GetDisconnectPacketSize( MQTTAckInfo_t* pAckInfo, size_t * pRemainingLength, size_t * pPacketSize,uint32_t maxPacketSize, uint32_t sessionExpiry,uint32_t prevSessionExpiry ); + +uint8_t * MQTTV5_SerializeDisconnectFixed(uint8_t * pIndex, + const MQTTAckInfo_t * pAckInfo, + size_t remainingLength, + uint32_t sessionExpiry); /* *INDENT-OFF* */ #ifdef __cplusplus } diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index 2f91c6257..ef2c2b6ed 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -2387,13 +2387,12 @@ void test_MQTTV5_SerializeConnect_Happy_Paths() } -void test_WillLimit( void ) +void test_RemaininglengthLimit( void ) { /* Test will property length more than the max value allowed. */ size_t remainingLength = 0; size_t packetSize = 0; uint32_t maxPacketSize; - size_t propertyLength; MQTTStatus_t status = MQTTSuccess; MQTTUserProperties_t incomingProperty; MQTTAckInfo_t ackInfo; @@ -2443,9 +2442,12 @@ void test_WillLimit( void ) memset(&ackInfo,0x0, sizeof(ackInfo)); ackInfo.pUserProperty = &userProperties; maxPacketSize = UINT32_MAX; - status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,&packetSize,maxPacketSize); + status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,0,10); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + } void test_MQTTV5_ValidatePublishParams() @@ -2809,31 +2811,28 @@ void test_MQTTV5_GetAckPacketSize() MQTTAckInfo_t ackInfo; MQTTUserProperties_t userProperties; size_t remainingLength; - size_t propertyLength; size_t packetSize; uint32_t maxPacketSize = 0U; memset(&ackInfo,0x0, sizeof(ackInfo)); memset(&userProperties,0x0, sizeof(userProperties)); /*Invalid parameters*/ -status = MQTTV5_GetAckPacketSize(NULL,&remainingLength,&propertyLength,&packetSize,maxPacketSize); +status = MQTTV5_GetAckPacketSize(NULL,&remainingLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); -status = MQTTV5_GetAckPacketSize(&ackInfo,NULL,&propertyLength,&packetSize,maxPacketSize); +status = MQTTV5_GetAckPacketSize(&ackInfo,NULL,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); -status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,NULL,&packetSize,maxPacketSize); -TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); -status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,NULL,maxPacketSize); +status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,NULL,maxPacketSize); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /*Max packet size cannot be 0*/ -status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,NULL,maxPacketSize); +status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,NULL,maxPacketSize); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /*Valid parameters*/ maxPacketSize = UINT32_MAX; -status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,&packetSize,maxPacketSize); +status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /*With properties*/ @@ -2841,24 +2840,24 @@ ackInfo.pReasonString = MQTT_TEST_UTF8_STRING; ackInfo.reasonStringLength = MQTT_TEST_UTF8_STRING_LENGTH; ackInfo.pUserProperty = &userProperties; userProperties.count = 0; -status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,&packetSize,maxPacketSize); +status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /*Packet size greater than max allowed.*/ maxPacketSize = 2; -status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,&packetSize,maxPacketSize); +status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /*Max packet size cannot be 0*/ maxPacketSize = 0; -status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,&packetSize,maxPacketSize); +status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /*Reason string is null but length is not 0*/ ackInfo.pReasonString = NULL; maxPacketSize = 30; -status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,&packetSize,maxPacketSize); +status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); } @@ -2868,7 +2867,6 @@ void test_MQTTV5_SerializePubAckWithProperty() MQTTStatus_t status ; MQTTAckInfo_t ackInfo; size_t remainingLength = 0U; - size_t propertyLength = 0U; size_t packetSize; uint8_t packetType= MQTT_PACKET_TYPE_PUBREL; uint16_t packetId = 1U; @@ -2877,33 +2875,33 @@ void test_MQTTV5_SerializePubAckWithProperty() size_t bufferSize = sizeof( buffer ) - 2 * BUFFER_PADDING_LENGTH; MQTTFixedBuffer_t fixedBuffer = { .pBuffer = &buffer[ BUFFER_PADDING_LENGTH ], .size = bufferSize }; /*Invalid parameters*/ - status = MQTTV5_SerializePubAckWithProperty(NULL,remainingLength,propertyLength,&fixedBuffer,packetType,packetId); + status = MQTTV5_SerializePubAckWithProperty(NULL,remainingLength,&fixedBuffer,packetType,packetId); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,propertyLength,NULL,packetType,packetId); + status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,NULL,packetType,packetId); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); fixedBuffer.pBuffer = NULL; - status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,propertyLength,&fixedBuffer,packetType,packetId); + status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,&fixedBuffer,packetType,packetId); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /*Buffer size not sufficient*/ - status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,&packetSize,maxPacketSize); + status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize); fixedBuffer.size = 5; fixedBuffer.pBuffer= &buffer[BUFFER_PADDING_LENGTH]; - status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,propertyLength,&fixedBuffer,packetType,packetId); + status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,&fixedBuffer,packetType,packetId); TEST_ASSERT_EQUAL_INT( MQTTNoMemory, status ); /*With correct parameters*/ memset(&ackInfo,0x0, sizeof(ackInfo)); - status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,&packetSize,maxPacketSize); + status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /* Make sure buffer has enough space */ TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); /* Make sure test succeeds. */ fixedBuffer.size = 200; TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,propertyLength,&fixedBuffer,packetType,packetId); + status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,&fixedBuffer,packetType,packetId); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /*With properties*/ @@ -2915,11 +2913,126 @@ void test_MQTTV5_SerializePubAckWithProperty() userProperties.userProperty->valueLength = 1; userProperties.userProperty->pKey = "a"; userProperties.userProperty->pValue = "a"; - status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&propertyLength,&packetSize,maxPacketSize); + status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /* Make sure buffer has enough space */ fixedBuffer.size = 400; TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,propertyLength,&fixedBuffer,packetType,packetId); + status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,&fixedBuffer,packetType,packetId); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); +} + +void test_MQTTV5_GetDisconnectPacketSize() +{ + MQTTAckInfo_t ackInfo; + size_t remainingLength; + size_t packetSize; + uint32_t maxPacketSize = 0U; + uint32_t sessionExpiry = 0U; + uint32_t prevSessionExpiry = 0U; + MQTTStatus_t status; + memset(&ackInfo,0x0,sizeof(ackInfo)); + + /*Invalid arguments*/ + status = MQTTV5_GetDisconnectPacketSize(NULL,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + + status = MQTTV5_GetDisconnectPacketSize(&ackInfo,NULL,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + + status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,NULL,maxPacketSize,sessionExpiry,prevSessionExpiry); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + + /*Max packet size cannot be 0.*/ + status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + + /*Session expiry has to be set once*/ + maxPacketSize = 6U; + status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + + sessionExpiry = 10; + /*Reason string not initialized.*/ + ackInfo.reasonStringLength = MQTT_TEST_UTF8_STRING_LENGTH; + status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + + ackInfo.pReasonString = MQTT_TEST_UTF8_STRING; + /*Packet size greater than allowed.*/ + prevSessionExpiry = 10; + status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + + /*Valid parameters*/ + maxPacketSize = 60U; + status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); + TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); + +} + +void test_MQTTV5_SerializeDisconnectWithProperty() +{ + MQTTAckInfo_t ackInfo; + size_t remainingLength; + uint32_t maxPacketSize = 200U; + uint32_t sessionExpiry = 0U; + MQTTStatus_t status = MQTTSuccess; + uint8_t buffer[ 200 + 2 * BUFFER_PADDING_LENGTH ]; + size_t bufferSize = sizeof( buffer ) - 2 * BUFFER_PADDING_LENGTH; + size_t packetSize = bufferSize; + MQTTFixedBuffer_t fixedBuffer = { 0 }; + memset(&ackInfo,0x0,sizeof(ackInfo)); + fixedBuffer.size = bufferSize; + + /*Invalid Parameters*/ + status = MQTTV5_SerializeDisconnectWithProperty(NULL,remainingLength,&fixedBuffer,sessionExpiry); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + status = MQTTV5_SerializeDisconnectWithProperty(&ackInfo,remainingLength,NULL,sessionExpiry); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + status = MQTTV5_SerializeDisconnectWithProperty(&ackInfo,remainingLength,&fixedBuffer,sessionExpiry); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + fixedBuffer.pBuffer = &buffer[ BUFFER_PADDING_LENGTH ]; + fixedBuffer.size = 2 ; + remainingLength = 20; + /*Buffer size not enough.*/ + status = MQTTV5_SerializeDisconnectWithProperty(&ackInfo,remainingLength,&fixedBuffer,sessionExpiry); + TEST_ASSERT_EQUAL_INT( MQTTNoMemory, status ); + + fixedBuffer.size= bufferSize; + /* Calculate exact packet size and remaining length. */ + status = MQTTV5_GetDisconnectPacketSize( &ackInfo, &remainingLength, &packetSize,maxPacketSize,sessionExpiry,10); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + /* Make sure buffer has enough space */ + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + + padAndResetBuffer( buffer, sizeof( buffer ) ); + status = MQTTV5_SerializeDisconnectWithProperty(&ackInfo,remainingLength,&fixedBuffer,sessionExpiry); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); + + ackInfo.pReasonString =MQTT_TEST_UTF8_STRING; + ackInfo.reasonStringLength = MQTT_TEST_UTF8_STRING_LENGTH; + ackInfo.pUserProperty = &userProperties; + userProperties.count = 1; + userProperties.userProperty[0].pKey = MQTT_TEST_UTF8_STRING; + userProperties.userProperty[0].pValue = MQTT_TEST_UTF8_STRING; + userProperties.userProperty[0].keyLength = MQTT_TEST_UTF8_STRING_LENGTH; + userProperties.userProperty[0].valueLength = MQTT_TEST_UTF8_STRING_LENGTH; + + sessionExpiry = 10; + fixedBuffer.pBuffer = &buffer[ BUFFER_PADDING_LENGTH ]; + /* Calculate exact packet size and remaining length. */ + status = MQTTV5_GetDisconnectPacketSize( &ackInfo, &remainingLength, &packetSize,maxPacketSize,sessionExpiry,10); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + /* Make sure buffer has enough space */ + TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); + + padAndResetBuffer( buffer, sizeof( buffer ) ); + status = MQTTV5_SerializeDisconnectWithProperty(&ackInfo,remainingLength,&fixedBuffer,sessionExpiry); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + checkBufferOverflow( buffer, sizeof( buffer ) ); } \ No newline at end of file From 8ad471c5b5e56a315b0b24418391a07cdb96b81d Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Wed, 10 Jul 2024 06:25:22 +0000 Subject: [PATCH 68/82] MQTTV5 disconnect --- source/core_mqtt.c | 4 +- test/unit-test/MQTTv5/core_mqttv5_utest.c | 76 +++++++++++++++++++++++ 2 files changed, 78 insertions(+), 2 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 23818fb83..2c92c424f 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -1060,7 +1060,7 @@ static bool matchTopicFilter( const char * pTopicName, ioVectorLength += vectorsAdded; } #if(MQTT_USER_PROPERTY_ENABLED) - /*Encode the user porperties if provided.*/ + /*Encode the user properties if provided.*/ if(pAckInfo->pUserProperty != NULL) { ioVectorLength += sendUserProperties( pAckInfo->pUserProperty, &userVector, &totalMessageLength, &iterator); @@ -1158,7 +1158,7 @@ static MQTTStatus_t sendDisconnectWithoutCopy( MQTTContext_t * pContext, ioVectorLength += vectorsAdded; } #if(MQTT_USER_PROPERTY_ENABLED) - /*Encode the user porperties if provided.*/ + /*Encode the user properties if provided.*/ if(pAckInfo->pUserProperty != NULL) { ioVectorLength += sendUserProperties( pAckInfo->pUserProperty, &userVector, &totalMessageLength, &iterator); diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index 7463763ed..c2cd2c6bc 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -367,6 +367,20 @@ static uint8_t * MQTTV5_SerializeAckFixed_cb( uint8_t * pIndex, return pIndex; } +static uint8_t * MQTTV5_SerializeDisconnectFixed_cb(uint8_t * pIndex, + const MQTTAckInfo_t * pAckInfo, + size_t remainingLength, + uint32_t sessionExpiry, + int numcallbacks) +{ + ( void ) pIndex; + ( void ) pAckInfo; + ( void ) remainingLength; + ( void ) sessionExpiry; + ( void ) numcallbacks; + + return pIndex; +} /** * @brief This helper function is used to expect any calls from the process loop * to mocked functions belonging to an external header file. Its parameters @@ -1179,4 +1193,66 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths7( void ) status = MQTT_ProcessLoop(&context); TEST_ASSERT_EQUAL_INT(MQTTSendFailed,status); +} + +void test_MQTTV5_Disconnect() +{ + uint32_t sessionExpiry = 0U; + MQTTStatus_t status; + MQTTConnectProperties_t properties = { 0 }; + MQTTAckInfo_t ackInfo ={ 0 }; + MQTTContext_t context = { 0 }; + TransportInterface_t transport = { 0 }; + MQTTFixedBuffer_t networkBuffer = { 0 }; + uint16_t packetId = 1; + MQTTPacketInfo_t incomingPacket = { 0 }; + MQTTUserProperties_t userProperties ={ 0 }; + setupTransportInterface( &transport ); + setupNetworkBuffer( &networkBuffer ); + status = MQTT_Init( &context, &transport, getTime, eventCallback, &networkBuffer ); + TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); + + /*Invalid parameters*/ + status = MQTTV5_Disconnect(NULL, &ackInfo, sessionExpiry); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + + status = MQTTV5_Disconnect(&context, NULL, sessionExpiry); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + + /*Connect properties not initialized*/ + status = MQTTV5_Disconnect(&context, &ackInfo, sessionExpiry); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + + /*Bad Parameters*/ + context.connectProperties = &properties; + MQTTV5_GetDisconnectPacketSize_ExpectAnyArgsAndReturn(MQTTBadParameter); + status = MQTTV5_Disconnect(&context, &ackInfo, sessionExpiry); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + + /*Valid parametrs*/ + properties.maxPacketSize = 100U; + properties.sessionExpiry = 10U; + MQTTV5_GetDisconnectPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); + MQTTV5_SerializeDisconnectFixed_Stub(MQTTV5_SerializeDisconnectFixed_cb ); + status = MQTTV5_Disconnect(&context, &ackInfo, sessionExpiry); + TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); + + /*With reason string and user property*/ + ackInfo.pUserProperty = &userProperties; + ackInfo.pReasonString = "test"; + ackInfo.reasonStringLength = 4; + MQTTV5_GetDisconnectPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); + MQTTV5_SerializeDisconnectFixed_Stub(MQTTV5_SerializeDisconnectFixed_cb ); + status = MQTTV5_Disconnect(&context, &ackInfo, sessionExpiry); + TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); + + /*Send failed*/ + context.transportInterface.send = transportSendFailure; + context.transportInterface.writev = NULL; + MQTTV5_GetDisconnectPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); + MQTTV5_SerializeDisconnectFixed_Stub(MQTTV5_SerializeDisconnectFixed_cb ); + status = MQTTV5_Disconnect(&context, &ackInfo, sessionExpiry); + TEST_ASSERT_EQUAL_INT(MQTTSendFailed,status); + + } \ No newline at end of file From 76697b41497358b1ec3f862d3648ee78aab6e2f6 Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Wed, 10 Jul 2024 20:27:16 +0000 Subject: [PATCH 69/82] Disconnect --- source/core_mqtt.c | 28 +- source/core_mqtt_serializer.c | 178 ++++++++++++- source/include/core_mqtt.h | 6 + source/include/core_mqtt_serializer.h | 16 +- .../MQTT/core_mqtt_serializer_utest.c | 6 + .../MQTTv5/core_mqttv5_serializer_utest.c | 252 +++++++++++++++--- test/unit-test/MQTTv5/core_mqttv5_utest.c | 50 +++- 7 files changed, 463 insertions(+), 73 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 2c92c424f..fdc1d34e6 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -2215,7 +2215,7 @@ static MQTTStatus_t handlePublishAcks( MQTTContext_t * pContext, #if(!MQTT_VERSION_5_ENABLED) status = MQTT_DeserializeAck( pIncomingPacket, &packetIdentifier, NULL ); #else - status = MQTTV5_DeserializeAck(pIncomingPacket,&packetIdentifier,&ackInfo,pContext->connectProperties->requestProblemInfo); + status = MQTTV5_DeserializeAck(pIncomingPacket,&packetIdentifier,&ackInfo,pContext->connectProperties->requestProblemInfo, pContext->connectProperties->maxPacketSize); #endif LogInfo( ( "Ack packet deserialized with result: %s.", MQTT_Status_strerror( status ) ) ); @@ -2482,11 +2482,33 @@ static MQTTStatus_t receiveSingleIteration( MQTTContext_t * pContext, { status = handleIncomingPublish( pContext, &incomingPacket ); } + #if(MQTT_VERSION_5_ENABLED) + else if(( incomingPacket.type == MQTT_PACKET_TYPE_DISCONNECT)) + { + assert(pContext->connectProperties != NULL); + assert(pContext->pDisconnectInfo != NULL); + status = MQTTV5_DeserializeDisconnect( &incomingPacket, + pContext->pDisconnectInfo, + &pContext->connectProperties->pServerRef, + &pContext->connectProperties->serverRefLength, + pContext->connectProperties->maxPacketSize ); + if( status == MQTTSuccess ) + { + LogInfo( ( "Disconnected from the broker." ) ); + pContext->connectStatus = MQTTNotConnected; + + /* Reset the index and clean the buffer on a successful disconnect. */ + pContext->index = 0; + ( void ) memset( pContext->networkBuffer.pBuffer, 0, pContext->networkBuffer.size ); + } + } + #endif else { status = handleIncomingAck( pContext, &incomingPacket, manageKeepAlive ); } - + if(incomingPacket.type != MQTT_PACKET_TYPE_DISCONNECT) + { /* Update the index to reflect the remaining bytes in the buffer. */ pContext->index -= totalMQTTPacketLength; @@ -2499,8 +2521,8 @@ static MQTTStatus_t receiveSingleIteration( MQTTContext_t * pContext, { pContext->lastPacketRxTime = pContext->getTime(); } + } } - if( status == MQTTNoDataAvailable ) { /* No data available is not an error. Reset to MQTTSuccess so the diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 490a6cc49..e5d7d83ac 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -95,6 +95,10 @@ #define MQTT_MAX_REMAINING_LENGTH ( 268435455UL ) #if ( MQTT_VERSION_5_ENABLED ) +/** + * @brief Per the MQTT spec, the max packet size can be of max remaining length + 5 bytes + */ + #define MQTT_MAX_PACKET_SIZE (268435460UL) /** * @brief Version 5 has the value 5. @@ -114,7 +118,7 @@ /** * @brief Per the MQTT 5 spec, the max packet size is of 5 bytes. */ - #define MQTT_MAX_PACKET_SIZE ( 5U ) + #define MQTT_MAX_PACKET_PROPERTY_SIZE ( 5U ) /** * @brief Per the MQTT 5 spec, the topic alias is of 3 bytes. @@ -1210,7 +1214,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); MQTTStatus_t status = MQTTSuccess; /*Validate the arguments*/ - if( ( pConnectProperties->maxPacketSize == 0U ) && ( pConnectProperties->isMaxPacketSize == true ) ) + if( pConnectProperties->maxPacketSize == 0U ) { status = MQTTBadParameter; } @@ -1231,9 +1235,9 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); propertyLength += MQTT_RECEIVE_MAX_SIZE; } - if( pConnectProperties->isMaxPacketSize != false ) + if( pConnectProperties->maxPacketSize != MQTT_MAX_PACKET_SIZE ) { - propertyLength += MQTT_MAX_PACKET_SIZE; + propertyLength += MQTT_MAX_PACKET_PROPERTY_SIZE; } if( pConnectProperties->topicAliasMax != 0U ) @@ -2245,7 +2249,7 @@ static MQTTStatus_t decodeAckProperties(MQTTAckInfo_t * pAckInfo,const uint8_t * } -static MQTTStatus_t deserializeSimpleAckV5( const MQTTPacketInfo_t * pAck, +static MQTTStatus_t deserializeSimpleAckV5( const MQTTPacketInfo_t * pAck, uint16_t * pPacketIdentifier, MQTTAckInfo_t *pAckInfo, bool requestProblem ) @@ -2850,6 +2854,13 @@ static bool incomingPacketValid( uint8_t packetType ) } break; + case MQTT_PACKET_TYPE_DISCONNECT: + #if(MQTT_VERSION_5_ENABLED) + status = true; + #else + status = false; + #endif + break; /* Any other packet type is invalid. */ default: @@ -4802,7 +4813,7 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, /*Serialize the max packet size if provided.*/ - if( pConnectProperties->isMaxPacketSize == true ) + if( pConnectProperties->maxPacketSize != MQTT_MAX_PACKET_SIZE ) { *pIndexLocal = MQTT_MAX_PACKET_SIZE_ID; pIndexLocal++; @@ -4946,24 +4957,22 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, } /*Validate the packet size if max packet size is set*/ - if( ( status == MQTTSuccess ) && ( pConnackProperties->isMaxPacketSize == true ) && ( ( pIncomingPacket->remainingLength + remainingLengthSize + 1U ) > ( pConnackProperties->maxPacketSize ) ) ) + if(status == MQTTSuccess) + { + if((pIncomingPacket->remainingLength + remainingLengthSize + 1U ) > ( pConnackProperties->maxPacketSize )) { status = MQTTProtocolError; } /*Validate the remaining length*/ - else if( ( status == MQTTSuccess ) && ( ( pIncomingPacket->remainingLength ) != ( 2U + propertyLength + remainingLengthEncodedSize( propertyLength ) ) ) ) + else if ( (pIncomingPacket->remainingLength ) != ( 2U + propertyLength + remainingLengthEncodedSize( propertyLength ) )) { status = MQTTMalformedPacket; } /*Deserialize the connack properties.*/ - else if( status == MQTTSuccess ) + else { status = deserializeConnackV5( pConnackProperties, propertyLength, &pVariableHeader ); } - - else - { - /* MISRA Empty body */ } return status; @@ -5047,7 +5056,7 @@ MQTTStatus_t MQTTV5_GetPublishPacketSize(MQTTPublishInfo_t * pPublishInfo, } MQTTStatus_t MQTTV5_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, - uint16_t * pPacketId, MQTTAckInfo_t *pAckInfo, bool requestProblem) + uint16_t * pPacketId, MQTTAckInfo_t *pAckInfo, bool requestProblem, uint32_t maxPacketSize) { MQTTStatus_t status = MQTTSuccess; @@ -5073,6 +5082,15 @@ MQTTStatus_t MQTTV5_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, LogError( ( "Remaining data of incoming packet is NULL." ) ); status = MQTTBadParameter; } + /*Max packet size cannot be 0.*/ + else if(maxPacketSize == 0U) + { + status = MQTTBadParameter; + } + else if ( ( pIncomingPacket->remainingLength + remainingLengthEncodedSize(pIncomingPacket->remainingLength) + 1U ) > maxPacketSize ) + { + status = MQTTProtocolError; + } else { /* Make sure response packet is a valid ack. */ @@ -5435,5 +5453,137 @@ MQTTStatus_t MQTTV5_SerializeDisconnectWithProperty( const MQTTAckInfo_t *pAckIn return status; } +static MQTTStatus_t validateDisconnectResponseV5(uint8_t reasonCode){ + MQTTStatus_t status; + switch(reasonCode){ + case (uint8_t)MQTT_REASON_SUCCESS: + /*Disconnect the will message*/ + case (uint8_t)MQTT_REASON_UNSPECIFIED_ERR: + case (uint8_t)MQTT_REASON_MALFORMED_PACKET: + case (uint8_t)MQTT_REASON_PROTOCOL_ERR: + case (uint8_t)MQTT_REASON_IMPL_SPECIFIC_ERR: + case (uint8_t)MQTT_REASON_NOT_AUTHORIZED: + case (uint8_t)MQTT_REASON_SERVER_BUSY: + case (uint8_t)MQTT_REASON_SERVER_SHUTTING_DOWN: + case (uint8_t)MQTT_REASON_KEEP_ALIVE_TIMEOUT: + case (uint8_t)MQTT_REASON_SESSION_TAKEN_OVER: + case (uint8_t)MQTT_REASON_TOPIC_FILTER_INVALID: + case (uint8_t)MQTT_REASON_TOPIC_NAME_INVALID : + case (uint8_t)MQTT_REASON_RX_MAX_EXCEEDED: + case (uint8_t)MQTT_REASON_TOPIC_ALIAS_INVALID: + case (uint8_t)MQTT_REASON_PACKET_TOO_LARGE: + case (uint8_t)MQTT_REASON_MSG_RATE_TOO_HIGH: + case (uint8_t)MQTT_REASON_QUOTA_EXCEEDED: + case (uint8_t)MQTT_REASON_ADMIN_ACTION: + case (uint8_t)MQTT_REASON_PAYLOAD_FORMAT_INVALID: + case (uint8_t)MQTT_REASON_RETAIN_NOT_SUPPORTED: + case (uint8_t)MQTT_REASON_QOS_NOT_SUPPORTED: + case (uint8_t)MQTT_REASON_USE_ANOTHER_SERVER: + case (uint8_t)MQTT_REASON_SERVER_MOVED: + case (uint8_t)MQTT_REASON_MAX_CON_TIME: + case (uint8_t)MQTT_REASON_SS_NOT_SUPPORTED: + case (uint8_t)MQTT_REASON_WILDCARD_SUB_NOT_SUP: + status = MQTTSuccess; + break; + default: + status = MQTTProtocolError; + break; + } + return status; +} + + MQTTStatus_t MQTTV5_DeserializeDisconnect( const MQTTPacketInfo_t * pPacket, + MQTTAckInfo_t *pDisconnectInfo, + const char ** pServerRef, + uint16_t * pServerRefLength, + uint32_t maxPacketSize ) +{ + MQTTStatus_t status = MQTTSuccess; + const uint8_t * pIndex; + size_t propertyLength = 0U; + if((pPacket == NULL) || (pPacket->pRemainingData == NULL)) + { + status = MQTTBadParameter; + } + else if ((pDisconnectInfo == NULL) || (pServerRef == NULL) || (pServerRefLength == NULL)) + { + status = MQTTBadParameter; + } + else if(maxPacketSize == 0) + { + status = MQTTBadParameter; + } + else if(pPacket->remainingLength == 0U) + { + status = MQTTMalformedPacket; + } + else if ( ( pPacket->remainingLength + remainingLengthEncodedSize(pPacket->remainingLength) + 1U ) > maxPacketSize ) + { + status = MQTTProtocolError; + } + #if(MQTT_USER_PROPERTY_ENABLED) + else if(pDisconnectInfo->pUserProperty == NULL) + { + status = MQTTBadParameter; + } + #endif + else + { + /* Extract the reason code */ + pIndex= pPacket->pRemainingData; + pDisconnectInfo->reasonCode = *pIndex; + pIndex ++; + status = validateDisconnectResponseV5(pDisconnectInfo->reasonCode); + } + if(status == MQTTSuccess) + { + if((pPacket->remainingLength > 1U)) + { + status = decodeVariableLength(pIndex,&propertyLength); + if(status == MQTTSuccess) + { + pIndex= &pIndex[remainingLengthEncodedSize(propertyLength)]; + /*Validate the remaining length.*/ + if(pPacket->remainingLength != (propertyLength + remainingLengthEncodedSize(propertyLength) + 1U)){ + status = MQTTMalformedPacket; + } + } + } + + } + + if(status == MQTTSuccess) + { + while((propertyLength>0U) && (status == MQTTSuccess)) + { + /*Decode the poperty id.*/ + uint8_t packetId = *pIndex; + bool reasonString = false; + bool serverRef = false; + pIndex = &pIndex[1]; + propertyLength -= sizeof( uint8_t ); + switch(packetId){ + case MQTT_REASON_STRING_ID: + status = decodeutf_8( &pDisconnectInfo->pReasonString, &pDisconnectInfo->reasonStringLength, &propertyLength, &reasonString, &pIndex ); + break; + case MQTT_USER_PROPERTY_ID: + #if(MQTT_USER_PROPERTY_ENABLED) + status = decodeutf_8pair( pDisconnectInfo->pUserProperty, &pDisconnectInfo->pUserProperty->count, &propertyLength, &pIndex); + #else + status = decodeAndDiscard( &propertyLength, &pIndex); + #endif + break; + case MQTT_SERVER_REF_ID: + status = decodeutf_8( pServerRef, pServerRefLength, &propertyLength, &serverRef, &pIndex ); + break; + default: + status = MQTTProtocolError; + break; + } + } + } + return status; + +} #endif /* if ( MQTT_VERSION_5_ENABLED ) */ /*-----------------------------------------------------------*/ diff --git a/source/include/core_mqtt.h b/source/include/core_mqtt.h index be9bd5e14..80981fb83 100644 --- a/source/include/core_mqtt.h +++ b/source/include/core_mqtt.h @@ -250,6 +250,10 @@ typedef struct MQTTContext * @brief Connect and Connack Properties. */ MQTTConnectProperties_t * connectProperties; + /** + * @brief To store disconnect information. + */ + MQTTAckInfo_t * pDisconnectInfo; #endif } MQTTContext_t; @@ -1026,6 +1030,8 @@ MQTTStatus_t MQTT_GetSubAckStatusCodes( const MQTTPacketInfo_t * pSubackPacket, const char * MQTT_Status_strerror( MQTTStatus_t status ); /* @[declare_mqtt_status_strerror] */ +MQTTStatus_t MQTTV5_Disconnect( MQTTContext_t * pContext , MQTTAckInfo_t *pAckInfo, uint32_t sessionExpiry); + /* *INDENT-OFF* */ #ifdef __cplusplus } diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index 937aaa80a..c827050dd 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -330,10 +330,6 @@ typedef struct MQTTConnectProperties * @brief Maximum number of unacknowledged PUBLISH packets client is willing to receive. */ uint16_t receiveMax; - /** - * @brief Whether the maximum packet size is defined. - */ - bool isMaxPacketSize; /** * @brief Four Byte Integer representing the Maximum Packet Size the Client is willing to accept. */ @@ -1857,7 +1853,7 @@ MQTTStatus_t MQTTV5_GetPublishPacketSize(MQTTPublishInfo_t * pPublishInfo, MQTTStatus_t MQTTV5_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, - uint16_t * pPacketId, MQTTAckInfo_t *pAckInfo, bool requestProblem); + uint16_t * pPacketId, MQTTAckInfo_t *pAckInfo, bool requestProblem,uint32_t maxPacketSize); MQTTStatus_t MQTTV5_GetAckPacketSize( MQTTAckInfo_t *pAckInfo, size_t* pRemainingLength,size_t * pPacketSize, uint32_t maxPacketSize); uint8_t * MQTTV5_SerializeAckFixed(uint8_t * pIndex, @@ -1878,6 +1874,16 @@ uint8_t * MQTTV5_SerializeDisconnectFixed(uint8_t * pIndex, const MQTTAckInfo_t * pAckInfo, size_t remainingLength, uint32_t sessionExpiry); + MQTTStatus_t MQTTV5_DeserializeDisconnect( const MQTTPacketInfo_t * pPacket, + MQTTAckInfo_t *pDisconnectInfo, + const char ** pServerRef, + uint16_t * pServerRefLength, + uint32_t maxPacketSize ); +MQTTStatus_t MQTTV5_SerializeDisconnectWithProperty( const MQTTAckInfo_t *pAckInfo, + size_t remainingLength, + const MQTTFixedBuffer_t * pFixedBuffer, + uint32_t sessionExpiry); + /* *INDENT-OFF* */ #ifdef __cplusplus } diff --git a/test/unit-test/MQTT/core_mqtt_serializer_utest.c b/test/unit-test/MQTT/core_mqtt_serializer_utest.c index f47438e8f..58f03b809 100644 --- a/test/unit-test/MQTT/core_mqtt_serializer_utest.c +++ b/test/unit-test/MQTT/core_mqtt_serializer_utest.c @@ -1878,6 +1878,12 @@ void test_MQTT_GetIncomingPacketTypeAndLength( void ) status = MQTT_GetIncomingPacketTypeAndLength( mockReceive, &networkContext, &mqttPacket ); TEST_ASSERT_EQUAL( MQTTBadResponse, status ); + /* Test with disconnect packet type. */ + bufPtr = buffer; + buffer[ 0 ] = MQTT_PACKET_TYPE_DISCONNECT; + status = MQTT_GetIncomingPacketTypeAndLength( mockReceive, &networkContext, &mqttPacket ); + TEST_ASSERT_EQUAL( MQTTBadResponse, status ); + /* Test with invalid remaining length. */ bufPtr = buffer; buffer[ 0 ] = 0x20; /* CONN ACK */ diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index ef2c2b6ed..4136a5b0c 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -183,10 +183,12 @@ struct NetworkContext #define UINT32_BYTE0( x ) ( ( uint8_t ) ( ( x ) & 0x000000FFU ) ) + +#define MQTT_MAX_PACKET_SIZE (268435460UL) #define MQTT_VERSION_5 ( 5U ) #define MQTT_SESSION_EXPIRY_SIZE ( 5U ) #define MQTT_RECEIVE_MAX_SIZE ( 3U ) -#define MQTT_MAX_PACKET_SIZE ( 5U ) +#define MQTT_MAX_PACKET_PROPERTY_SIZE ( 5U ) #define MQTT_TOPIC_ALIAS_SIZE ( 3U ) #define MQTT_REQUEST_RESPONSE_SIZE ( 2U ) #define MQTT_REQUEST_PROBLEM_SIZE ( 2U ) @@ -485,10 +487,38 @@ static void checkBufferOverflow( uint8_t * pBuffer, BUFFER_PADDING_LENGTH ); } +/** + * @brief Mock successful transport receive by reading data from a buffer. + */ +static int32_t mockReceive( NetworkContext_t * pNetworkContext, + void * pBuffer, + size_t bytesToRecv ) +{ + uint8_t * returnBuffer = ( uint8_t * ) pBuffer; + uint8_t * mockNetwork; + size_t bytesRead = 0; + + /* Treat network context as pointer to buffer for mocking */ + mockNetwork = *( pNetworkContext->buffer ); + + while( bytesRead++ < bytesToRecv ) + { + /* Read single byte and advance buffer. */ + *returnBuffer++ = *mockNetwork++; + } + + /* Move stream by bytes read. */ + *( pNetworkContext->buffer ) = mockNetwork; + + return bytesToRecv; +} + + static void setupProperties( MQTTConnectProperties_t * pProperties ) { pProperties->receiveMax = DEFAULT_RECEIVE_MAX; pProperties->requestProblemInfo = DEFAULT_REQUEST_PROBLEM; + pProperties->maxPacketSize = MQTT_MAX_PACKET_SIZE; } static uint8_t * initializeDeserialize(MQTTPacketInfo_t *packetInfo,uint8_t *pIndex) @@ -1043,7 +1073,6 @@ void test_MQTT_SerializeConnectProperties( void ) memset( &connect, 0x0, sizeof( connect ) ); connect.sessionExpiry = 12; connect.receiveMax = 32; - connect.isMaxPacketSize = true; connect.maxPacketSize = 56; connect.topicAliasMax = 11; connect.requestResponseInfo = 1; @@ -1245,19 +1274,17 @@ void test_MQTTV5_DeserializeConnackOnlyStatus( void ) /*Exceeds the max packet size set by the client*/ properties.maxPacketSize = 2; - properties.isMaxPacketSize = 1; buffer[ 1 ] = 0x00; status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); TEST_ASSERT_EQUAL( MQTTProtocolError, status ); /*Validate the remaining length*/ - properties.isMaxPacketSize = false; + properties.maxPacketSize = MQTT_MAX_PACKET_SIZE; packetInfo.remainingLength = 7; status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); TEST_ASSERT_EQUAL( MQTTMalformedPacket, status ); /*Invalid property length*/ - properties.isMaxPacketSize = 200; packetInfo.remainingLength = 20; pIndex = &buffer[ 2 ]; propertyLength = encodeRemainingLength( pIndex, 20971556356235 ); @@ -1289,7 +1316,6 @@ void test_MQTTV5_DeserializeConnackOnlyuint_32( void ) uint8_t * pIndexLocal = initializeDeserialize(&packetInfo,buffer); size_t propertyLength = encodeRemainingLength( pIndexLocal, 10 ); packetInfo.remainingLength = propertyLength + 12; - properties.isMaxPacketSize = true; properties.maxPacketSize = 150; properties.pIncomingUserProperty = &userProperties; pIndexLocal++; @@ -1361,6 +1387,7 @@ void test_MQTTV5_DeserializeConnackOnlyuint_16( void ) packetInfo.type = MQTT_PACKET_TYPE_CONNACK; pIndexLocal = &buffer[ 2 ]; properties.pIncomingUserProperty = &userProperties; + properties.maxPacketSize = MQTT_MAX_PACKET_SIZE; size_t propertyLength = encodeRemainingLength( pIndexLocal, 9 ); packetInfo.remainingLength = propertyLength + 11; pIndexLocal++; @@ -1418,6 +1445,7 @@ void test_MQTTV5_DeserializeConnackOnlyuint_8( void ) packetInfo.remainingLength = 13; pIndexLocal = &buffer[ 2 ]; properties.pIncomingUserProperty = &userProperties; + properties.maxPacketSize = MQTT_MAX_PACKET_SIZE; size_t propertyLength = encodeRemainingLength( pIndexLocal, 10 ); pIndexLocal++; pIndexLocal = serializeuint_8(pIndexLocal,MQTT_MAX_QOS_ID); @@ -1486,6 +1514,7 @@ void test_MQTTV5_DeserializeConnackOnlyutf_8( void ) pIndexLocal = &buffer[ 2 ]; properties.pIncomingUserProperty = &userProperties; properties.requestResponseInfo = 1; + properties.maxPacketSize = MQTT_MAX_PACKET_SIZE; size_t propertyLength = encodeRemainingLength( pIndexLocal, 28 ); packetInfo.remainingLength = propertyLength + 28 + 2; pIndexLocal++; @@ -1545,6 +1574,7 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) buffer[ 1 ] = 0x00; bool session = false; + properties.maxPacketSize = MQTT_MAX_PACKET_SIZE; packetInfo.pRemainingData = buffer; packetInfo.type = MQTT_PACKET_TYPE_CONNACK; packetInfo.remainingLength = 16; @@ -1643,6 +1673,7 @@ void test_MQTTV5_DeserializeConnackOnlyAuthInfo( void ) packetInfo.remainingLength = 17; pIndexLocal = &buffer[ 2 ]; properties.pIncomingUserProperty = &userProperties; + properties.maxPacketSize = MQTT_MAX_PACKET_SIZE; size_t propertyLength = encodeRemainingLength( pIndexLocal, 14 ); packetInfo.remainingLength = propertyLength + 14 + 2; pIndexLocal++; @@ -1673,7 +1704,7 @@ void test_MQTTV5_GetConnectPacketSize( void ) /* Call MQTTV5_GetConnectPacketSize() with various combinations of * incorrect paramters */ properties.receiveMax = 65535U; - properties.maxPacketSize = UINT32_MAX; + properties.maxPacketSize = MQTT_MAX_PACKET_SIZE; properties.requestProblemInfo = 1; properties.pIncomingUserProperty = &incomingProperty; status = MQTTV5_GetConnectPacketSize( NULL, NULL, &properties, &remainingLength, &packetSize ); @@ -1769,7 +1800,6 @@ void test_MQTTV5_GetConnectPacketSize( void ) * Max Packet Size cannot be null */ properties.receiveMax = 24; - properties.isMaxPacketSize = true; properties.maxPacketSize = 0; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); @@ -1777,7 +1807,6 @@ void test_MQTTV5_GetConnectPacketSize( void ) /* * Receive Maximum cannot be 0 */ - properties.isMaxPacketSize = true; properties.maxPacketSize = 40; properties.receiveMax = 0; status = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, &remainingLength, &packetSize ); @@ -1910,7 +1939,6 @@ void test_MQTTV5_GetConnectPacketSize( void ) memset( &properties, 0x0, sizeof( properties ) ); properties.sessionExpiry = 22; properties.receiveMax = 34; - properties.isMaxPacketSize = true; properties.maxPacketSize = 32; properties.topicAliasMax = 12; properties.requestResponseInfo = 1; @@ -2017,6 +2045,7 @@ void test_MQTTV5_GetConnectPacketSize( void ) memset( &publishInfo, 0x0, sizeof( publishInfo ) ); /*5*/ properties.receiveMax = UINT16_MAX; + properties.maxPacketSize = MQTT_MAX_PACKET_SIZE; properties.requestProblemInfo = 1; userProperties.count = 2078; properties.pOutgoingUserProperty = &userProperties; @@ -2611,6 +2640,7 @@ void test_MQTTV5_DeserializeAck_puback( void ) MQTTPacketInfo_t mqttPacketInfo; MQTTAckInfo_t ackInfo; uint16_t packetIdentifier; + uint32_t maxPacketSize = 0U; bool requestProblem = false; MQTTStatus_t status = MQTTSuccess; uint8_t buffer[ 100 ] = { 0 }; @@ -2620,52 +2650,64 @@ void test_MQTTV5_DeserializeAck_puback( void ) memset( &mqttPacketInfo, 0x00, sizeof( mqttPacketInfo ) ); memset( &ackInfo, 0x00, sizeof( ackInfo ) ); mqttPacketInfo.type = MQTT_PACKET_TYPE_PUBACK; - status = MQTTV5_DeserializeAck( NULL, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( NULL, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - status = MQTTV5_DeserializeAck( &mqttPacketInfo, NULL, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, NULL, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /* ackInfo not set. */ - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, NULL, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, NULL, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - + /*Remaining data cannot be NULL.*/ + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + /*Max packet size cannot be 0*/ mqttPacketInfo.pRemainingData = buffer; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + maxPacketSize = 200U; /* Packet identifier 0 is not valid (per spec). */ buffer[ 0 ] = 0; buffer[ 1 ] = 0; mqttPacketInfo.remainingLength = MQTT_PACKET_SIMPLE_ACK_REMAINING_LENGTH; - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); /*Remaining length connot be less than 2*/ mqttPacketInfo.remainingLength = 1; - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); - + /*Packet size greater than allowed.*/ + mqttPacketInfo.remainingLength = 1000U; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); + /* Process a valid PUBACK. */ mqttPacketInfo.remainingLength = 2; buffer[ 1 ] = 1; - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); TEST_ASSERT_EQUAL_INT( 1, packetIdentifier ); mqttPacketInfo.remainingLength = 3; buffer[2] = 0x00; - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); TEST_ASSERT_EQUAL_INT( 1, packetIdentifier ); /*Property length should be zero when request problem is set to false*/ mqttPacketInfo.remainingLength = 24; - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); requestProblem = true; /*User properties not initilaized.*/ - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /*Valid parameters.*/ @@ -2675,7 +2717,7 @@ void test_MQTTV5_DeserializeAck_puback( void ) pIndex++; pIndex = serializeutf_8(pIndex, MQTT_REASON_STRING_ID); pIndex = serializeutf_8pair(pIndex); - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /*Invalid property id*/ @@ -2684,7 +2726,7 @@ void test_MQTTV5_DeserializeAck_puback( void ) mqttPacketInfo.remainingLength = dummy + 7 + 3; pIndex++; pIndex = serializeutf_8(pIndex, MQTT_CORRELATION_DATA_ID); - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Invalid remaining length*/ @@ -2692,14 +2734,14 @@ void test_MQTTV5_DeserializeAck_puback( void ) dummy= encodeRemainingLength(pIndex,12); pIndex++; pIndex = serializeutf_8(pIndex, MQTT_REASON_STRING_ID); - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); /*Invalid property length*/ pIndex = &buffer[3]; dummy = encodeRemainingLength( pIndex, 20971556356235 ); - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); } @@ -2709,6 +2751,7 @@ void test_MQTTV5_DeserializeAck_LogPuback() MQTTPacketInfo_t mqttPacketInfo; MQTTAckInfo_t ackInfo; uint16_t packetIdentifier; + uint32_t maxPacketSize = 10U; bool requestProblem= false; MQTTStatus_t status = MQTTSuccess; uint8_t buffer[ 4 ] = { 0 }; @@ -2720,44 +2763,44 @@ void test_MQTTV5_DeserializeAck_LogPuback() /*Validate all the correct reason codes.*/ buffer[1] = 1; buffer[2] = MQTT_REASON_SUCCESS; - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); buffer[2] = MQTT_REASON_NO_MATCHING_SUBSCRIBERS; - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); buffer[2] = MQTT_REASON_UNSPECIFIED_ERR; - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); buffer[2] = MQTT_REASON_IMPL_SPECIFIC_ERR; - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); buffer[2] = MQTT_REASON_NOT_AUTHORIZED; - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); buffer[2] = MQTT_REASON_TOPIC_NAME_INVALID; - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); buffer[2] = MQTT_REASON_PACKET_ID_IN_USE; - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); buffer[2] = MQTT_REASON_QUOTA_EXCEEDED; - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); buffer[2] = MQTT_REASON_PAYLOAD_FORMAT_INVALID; - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); /*Invlaid reason code.*/ buffer[2]= MQTT_REASON_BANNED; - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); } @@ -2766,6 +2809,7 @@ void test_MQTTV5_DeserializeAck_Pubrel() { MQTTPacketInfo_t mqttPacketInfo; MQTTAckInfo_t ackInfo; + uint32_t maxPacketSize = 10U; uint16_t packetIdentifier; bool requestProblem= false; MQTTStatus_t status = MQTTSuccess; @@ -2778,26 +2822,26 @@ void test_MQTTV5_DeserializeAck_Pubrel() /*Validate all the correct reason codes.*/ buffer[1] = 1; buffer[2] = MQTT_REASON_SUCCESS; - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); buffer[2] = MQTT_REASON_PACKET_ID_NOT_FOUND; - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); /*Invalid reason code.*/ buffer[2]= MQTT_REASON_BANNED; - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - /*Invalid packet id*/ + /*Invalid packet id*/ buffer[1] = 0; - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); /*Invalid packet type. */ mqttPacketInfo.type = MQTT_PACKET_TYPE_CONNACK; - status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem ); + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); @@ -2974,7 +3018,7 @@ void test_MQTTV5_GetDisconnectPacketSize() void test_MQTTV5_SerializeDisconnectWithProperty() { MQTTAckInfo_t ackInfo; - size_t remainingLength; + size_t remainingLength = 0U; uint32_t maxPacketSize = 200U; uint32_t sessionExpiry = 0U; MQTTStatus_t status = MQTTSuccess; @@ -3035,4 +3079,126 @@ void test_MQTTV5_SerializeDisconnectWithProperty() status = MQTTV5_SerializeDisconnectWithProperty(&ackInfo,remainingLength,&fixedBuffer,sessionExpiry); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); checkBufferOverflow( buffer, sizeof( buffer ) ); -} \ No newline at end of file +} + + void test_MQTTV5_DeserializeDisconnect() + { + MQTTAckInfo_t disconnectInfo; + const char * pServerRef; + uint16_t serverRefLength; + size_t dummy; + int32_t maxPacketSize = 0U; + uint8_t buffer[ 100 ] = { 0 }; + uint8_t* pIndex = buffer; + memset(&disconnectInfo, 0x0, sizeof(disconnectInfo)); + + + /*Invalid parameters*/ + status = MQTTV5_DeserializeDisconnect(NULL,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + + /*Remaining data not initialized.*/ + status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + + packetInfo.pRemainingData = buffer; + status = MQTTV5_DeserializeDisconnect(&packetInfo,NULL,&pServerRef,&serverRefLength,maxPacketSize); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + + status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,NULL,&serverRefLength,maxPacketSize); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + + status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,NULL,maxPacketSize); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + + /*Max packet size cannot be 0.*/ + status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + maxPacketSize = 100; + + + /*Remaining length cannot be 0*/ + status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); + TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket,status); + + /*Remaining Length invalid. */ + packetInfo.remainingLength = 200; + status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError,status); + + /*User property not initialized.*/ + packetInfo.remainingLength = 1; + status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + + /*Invalid reason code.*/ + disconnectInfo.pUserProperty= &userProperties; + buffer[0] = 1; + status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError,status); + + packetInfo.remainingLength = 1; + buffer[0] = 0; + status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); + TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); + + /*Property length is 0.*/ + packetInfo.remainingLength = 2; + pIndex = &buffer[1]; + dummy= encodeRemainingLength(pIndex,0); + status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); + TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); + + /*With properties*/ + pIndex = &buffer[1]; + packetInfo.remainingLength = 29; + dummy= encodeRemainingLength(pIndex,27); + pIndex++; + pIndex = serializeutf_8(pIndex, MQTT_REASON_STRING_ID); + pIndex = serializeutf_8pair(pIndex); + pIndex= serializeutf_8(pIndex, MQTT_SERVER_REF_ID); + status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + + /*Invalid property id.*/ + pIndex = &buffer[1]; + packetInfo.remainingLength = 9; + dummy= encodeRemainingLength(pIndex,7); + pIndex++; + pIndex = serializeutf_8(pIndex, MQTT_SESSION_EXPIRY_ID); + status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); + TEST_ASSERT_EQUAL_INT( 1, dummy ); + + /*Invalid property length.*/ + pIndex = &buffer[1]; + packetInfo.remainingLength = 9; + dummy= encodeRemainingLength(pIndex,4); + status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); + + buffer[1] = 0x81; + buffer[2] = 0x00; + status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); + TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); + } + +void test_MQTT_GetIncomingPacketTypeAndLength( void ) +{ + MQTTStatus_t status = MQTTSuccess; + MQTTPacketInfo_t mqttPacket; + NetworkContext_t networkContext; + uint8_t buffer[ 10 ]; + uint8_t * bufPtr = buffer; + + /* Dummy network context - pointer to pointer to a buffer. */ + networkContext.buffer = &bufPtr; + /* Check when network receive fails. */ + memset( buffer, 0x00, 10 ); + /* Branch coverage for Disconnect. */ + bufPtr = buffer; + buffer[ 0 ] = MQTT_PACKET_TYPE_DISCONNECT; + status = MQTT_GetIncomingPacketTypeAndLength( mockReceive, &networkContext, &mqttPacket ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + +} diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index c2cd2c6bc..56bb054bb 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -774,8 +774,7 @@ void test_MQTT_Connect_happy_path() mqttContext.connectProperties = &properties; properties.sessionExpiry = 13; properties.receiveMax = 12; - properties.isMaxPacketSize = true; - properties.maxPacketSize = 13; + properties.maxPacketSize = 1000; properties.topicAliasMax = 13; properties.requestProblemInfo = 0; properties.requestResponseInfo = 1; @@ -937,6 +936,7 @@ void test_MQTT_Publish( void ) TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); mqttContext.connectProperties = &properties; + properties.maxPacketSize = 10000; MQTTV5_ValidatePublishParams_ExpectAnyArgsAndReturn(MQTTSuccess); MQTTV5_GetPublishPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); MQTT_SerializePublishHeaderWithoutTopic_ExpectAnyArgsAndReturn( MQTTSuccess ); @@ -1036,11 +1036,11 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths3( void ) setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); /* Modify incoming packet depending on type to be tested. */ + status = MQTT_Init( &context, &transport, getTime, eventCallback1, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); incomingPacket.type = MQTT_PACKET_TYPE_PUBREC; incomingPacket.remainingLength = MQTT_SAMPLE_REMAINING_LENGTH; incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; - status = MQTT_Init( &context, &transport, getTime, eventCallback1, &networkBuffer ); - TEST_ASSERT_EQUAL( MQTTSuccess, status ); properties.requestProblemInfo = 1; context.connectProperties = &properties; modifyIncomingPacketStatus = MQTTSuccess; @@ -1204,8 +1204,6 @@ void test_MQTTV5_Disconnect() MQTTContext_t context = { 0 }; TransportInterface_t transport = { 0 }; MQTTFixedBuffer_t networkBuffer = { 0 }; - uint16_t packetId = 1; - MQTTPacketInfo_t incomingPacket = { 0 }; MQTTUserProperties_t userProperties ={ 0 }; setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); @@ -1229,7 +1227,7 @@ void test_MQTTV5_Disconnect() status = MQTTV5_Disconnect(&context, &ackInfo, sessionExpiry); TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); - /*Valid parametrs*/ + /*Valid parameters*/ properties.maxPacketSize = 100U; properties.sessionExpiry = 10U; MQTTV5_GetDisconnectPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); @@ -1255,4 +1253,40 @@ void test_MQTTV5_Disconnect() TEST_ASSERT_EQUAL_INT(MQTTSendFailed,status); -} \ No newline at end of file +} + +void test_MQTT_ProcessLoop_handleIncomingDisconnect( void ) +{ + MQTTStatus_t status; + MQTTContext_t context = { 0 }; + TransportInterface_t transport = { 0 }; + MQTTFixedBuffer_t networkBuffer = { 0 }; + MQTTConnectProperties_t properties; + MQTTAckInfo_t disconnectInfo; + MQTTPacketInfo_t incomingPacket = { 0 }; + memset(&disconnectInfo, 0x0, sizeof(disconnectInfo)); + setupTransportInterface( &transport ); + setupNetworkBuffer( &networkBuffer ); + /* Modify incoming packet depending on type to be tested. */ + status = MQTT_Init( &context, &transport, getTime, eventCallback1, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); + context.pDisconnectInfo = &disconnectInfo; + context.connectProperties = &properties; + incomingPacket.type = MQTT_PACKET_TYPE_DISCONNECT; + incomingPacket.remainingLength = MQTT_SAMPLE_REMAINING_LENGTH; + incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; + MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); + MQTTV5_DeserializeDisconnect_IgnoreAndReturn(MQTTSuccess); + status = MQTT_ProcessLoop(&context); + TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); + + MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); + MQTTV5_DeserializeDisconnect_IgnoreAndReturn(MQTTProtocolError); + status = MQTT_ProcessLoop(&context); + TEST_ASSERT_EQUAL_INT(MQTTProtocolError,status); + + + +} From 1ffcad0f756df7059c70751f17ed4bc48bd825f4 Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Thu, 11 Jul 2024 06:14:40 +0000 Subject: [PATCH 70/82] MQTTV5 --- source/core_mqtt.c | 60 ++++++++--- source/core_mqtt_serializer.c | 101 ++++++++++-------- .../MQTTv5/core_mqttv5_serializer_utest.c | 7 ++ test/unit-test/MQTTv5/core_mqttv5_utest.c | 4 +- 4 files changed, 112 insertions(+), 60 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index fdc1d34e6..fde724356 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -1013,9 +1013,16 @@ static bool matchTopicFilter( const char * pTopicName, MQTTPublishState_t newState = MQTTStateNull; uint8_t packetTypeByte = 0U; MQTTPubAckType_t packetType; + /* Maximum number of bytes required by the fixed size properties and header. + * MQTT Control Byte 0 + 1 = 1 + * Remaining length (max) + 4 = 5 + * Packet Identifier + 2 = 7 + * Reason Code + 1 = 8 + * Property length (max) + 4 = 12 */ uint8_t pubAckHeader[12]; size_t remainingLength = 0U; size_t packetSize = 0U; + /* The maximum vectors required to encode and send a publish ack. */ TransportOutVector_t pIoVector[4 + MAX_USER_PROPERTY*5]; uint8_t serializedReasonStringLength[ 2 ]; uint8_t reasonStringId = MQTT_REASON_STRING_ID; @@ -1047,9 +1054,9 @@ static bool matchTopicFilter( const char * pTopicName, totalMessageLength += iterator->iov_len; iterator++; ioVectorLength++; + /* Encode the reason string if provided. */ if(pAckInfo ->reasonStringLength != 0U) { - /* Serialize the reason string. */ vectorsAdded = addEncodedStringToVectorWithId( serializedReasonStringLength, pAckInfo ->pReasonString, pAckInfo ->reasonStringLength, @@ -1071,6 +1078,10 @@ static bool matchTopicFilter( const char * pTopicName, if( bytesSentOrError != ( int32_t ) totalMessageLength ) { + LogError( ( "Failed to send ACK packet: PacketType=%02x, " + "PacketSize=%lu.", + ( unsigned int ) packetTypeByte, + packetSize ) ); status = MQTTSendFailed; } @@ -1096,14 +1107,6 @@ static bool matchTopicFilter( const char * pTopicName, } } - else - { - LogError( ( "Failed to send ACK packet: PacketType=%02x, " - "PacketSize=%lu.", - ( unsigned int ) packetTypeByte, - packetSize ) ); - status = MQTTSendFailed; - } } else{ status = MQTTBadParameter; @@ -1121,8 +1124,22 @@ static MQTTStatus_t sendDisconnectWithoutCopy( MQTTContext_t * pContext, size_t ioVectorLength = 0U; size_t totalMessageLength = 0U; MQTTStatus_t status = MQTTSuccess; - uint8_t fixedHeader[14]; + /* Maximum number of bytes required by the fixed size part of the CONNECT + * packet header according to the MQTT specification. + * MQTT Control Byte 0 + 1 = 1 + * Remaining length (max) + 4 = 5 + * Reason Code + 1 = 6 + * Property length (max) + 4 = 10 + * Session Expiry + 5 = 15 + */ + uint8_t fixedHeader[15]; size_t packetSize = 0U; + /* The maximum vectors required to encode and send a disconnect packet. The + * breakdown is shown below. + * Fixed header 0 + 1 = 1 + * Reason String + 3 = 4 + * User Property + MAX_USER_PROPERTY*5* + * */ TransportOutVector_t pIoVector[4 + MAX_USER_PROPERTY*5]; uint8_t serializedReasonStringLength[ 2 ]; uint8_t reasonStringId = MQTT_REASON_STRING_ID; @@ -1145,9 +1162,9 @@ static MQTTStatus_t sendDisconnectWithoutCopy( MQTTContext_t * pContext, totalMessageLength += iterator->iov_len; iterator++; ioVectorLength++; + /* Encode the reason string if provided. */ if(pAckInfo ->reasonStringLength != 0U) { - /* Serialize the reason string. */ vectorsAdded = addEncodedStringToVectorWithId( serializedReasonStringLength, pAckInfo ->pReasonString, pAckInfo ->reasonStringLength, @@ -2797,8 +2814,12 @@ static MQTTStatus_t sendPublishWithoutCopy( MQTTContext_t * pContext, * the MQTT specification. */ uint8_t serializedPacketID[ 2U ]; - /* Maximum number of vectors required to encode and send a publish - * packet. The breakdown is shown below.*/ + /* Maximum number of vectors required to encode and send a publish + * packet. The breakdown is shown below. + * Fixed header (including topic string length) 0 + 1 = 1 + * Topic string + 1 = 2 + * Packet ID (only when QoS > QoS0) + 1 = 3 + * Payload + 1 = 4 */ #if(!MQTT_VERSION_5_ENABLED) TransportOutVector_t pIoVector[ 4U ]; #else @@ -2810,6 +2831,11 @@ static MQTTStatus_t sendPublishWithoutCopy( MQTTContext_t * pContext, * User property 5 */ TransportOutVector_t pIoVector[5* MAX_USER_PROPERTY + 14]; + /* Maximum number of bytes required by the fixed size publish properties. + * Property length 0 + 4 = 4 + * Payload Format Indicator + 2 = 6 + * Message Expiry + 5 = 11 + * Topic Alias + 3 = 14 */ uint8_t serializedProperty[14U]; uint8_t * pIndex; PublishVector_t publishVector; @@ -2936,7 +2962,12 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, */ uint8_t connectPacketHeader[ 39U ]; - uint8_t fixedSizeProperties[ 20U ]; + /* Maximum number of bytes required by the fixed size will properties. + * Property length 0 + 4 = 4 + * Will delay + 5 = 9 + * Payload Format Indicator + 2 = 11 + * Message Expiry + 5 = 16 */ + uint8_t fixedSizeProperties[ 16U ]; PublishVector_t willVector; PropertiesVector_t propertiesVector; #endif @@ -3312,7 +3343,6 @@ static MQTTStatus_t validatePublishParams( const MQTTContext_t * pContext, ( void * ) pContext->connectProperties ) ); status = MQTTBadParameter; } - #endif else { diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index e5d7d83ac..f1daddc31 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -2348,6 +2348,46 @@ static uint8_t * serializePublishProperties(const MQTTPublishInfo_t *pPublishInf return pIndexLocal; } +static MQTTStatus_t validateDisconnectResponseV5(uint8_t reasonCode){ + MQTTStatus_t status; + /*Validate the reason code.*/ + switch(reasonCode){ + case (uint8_t)MQTT_REASON_SUCCESS: + /*Disconnect the will message*/ + case (uint8_t)MQTT_REASON_UNSPECIFIED_ERR: + case (uint8_t)MQTT_REASON_MALFORMED_PACKET: + case (uint8_t)MQTT_REASON_PROTOCOL_ERR: + case (uint8_t)MQTT_REASON_IMPL_SPECIFIC_ERR: + case (uint8_t)MQTT_REASON_NOT_AUTHORIZED: + case (uint8_t)MQTT_REASON_SERVER_BUSY: + case (uint8_t)MQTT_REASON_SERVER_SHUTTING_DOWN: + case (uint8_t)MQTT_REASON_KEEP_ALIVE_TIMEOUT: + case (uint8_t)MQTT_REASON_SESSION_TAKEN_OVER: + case (uint8_t)MQTT_REASON_TOPIC_FILTER_INVALID: + case (uint8_t)MQTT_REASON_TOPIC_NAME_INVALID : + case (uint8_t)MQTT_REASON_RX_MAX_EXCEEDED: + case (uint8_t)MQTT_REASON_TOPIC_ALIAS_INVALID: + case (uint8_t)MQTT_REASON_PACKET_TOO_LARGE: + case (uint8_t)MQTT_REASON_MSG_RATE_TOO_HIGH: + case (uint8_t)MQTT_REASON_QUOTA_EXCEEDED: + case (uint8_t)MQTT_REASON_ADMIN_ACTION: + case (uint8_t)MQTT_REASON_PAYLOAD_FORMAT_INVALID: + case (uint8_t)MQTT_REASON_RETAIN_NOT_SUPPORTED: + case (uint8_t)MQTT_REASON_QOS_NOT_SUPPORTED: + case (uint8_t)MQTT_REASON_USE_ANOTHER_SERVER: + case (uint8_t)MQTT_REASON_SERVER_MOVED: + case (uint8_t)MQTT_REASON_MAX_CON_TIME: + case (uint8_t)MQTT_REASON_SS_NOT_SUPPORTED: + case (uint8_t)MQTT_REASON_WILDCARD_SUB_NOT_SUP: + status = MQTTSuccess; + break; + default: + status = MQTTProtocolError; + break; + } + return status; +} + #endif /* if ( MQTT_VERSION_5_ENABLED ) */ /*-----------------------------------------------------------*/ @@ -5204,7 +5244,7 @@ uint8_t * MQTTV5_SerializeAckFixed(uint8_t * pIndex, pIndexLocal[0] = UINT16_HIGH_BYTE(packetId); pIndexLocal[1] = UINT16_LOW_BYTE( packetId ); pIndexLocal = &pIndexLocal[2]; - /*We are only sending the ack back if the reason is success.*/ + /*We are only sending the ack back if the reason code is success.*/ *pIndexLocal = (uint8_t)MQTT_REASON_SUCCESS; pIndexLocal ++; /*Encode the property length.*/ @@ -5262,6 +5302,7 @@ MQTTStatus_t MQTTV5_GetDisconnectPacketSize( MQTTAckInfo_t* pAckInfo, size_t * p size_t length = 0U; size_t packetSize = 0U; size_t propertyLength = 0U; + /*Validate the arguments.*/ if( (pAckInfo== NULL) || (pRemainingLength == NULL) || (pPacketSize == NULL)) { LogError( ( "Argument cannot be NULL: pAckInfo=%p, " @@ -5276,19 +5317,26 @@ MQTTStatus_t MQTTV5_GetDisconnectPacketSize( MQTTAckInfo_t* pAckInfo, size_t * p LogError( ( "Max packet size cannot be zero." ) ); status = MQTTBadParameter; } + /*Session expiry has to be set by the client at least once.*/ else if((prevSessionExpiry == 0U) && (sessionExpiry == 0U)){ LogError( ( "If the Session Expiry in the CONNECT packet was zero, then it is a Protocol Error to set a non-zero Session Expiry Interval in the DISCONNECT packet." ) ); status = MQTTBadParameter; } + else if(validateDisconnectResponseV5(pAckInfo->reasonCode)) + { + LogError( ( "Invalid reason code." ) ); + status = MQTTBadParameter; + } else { /*Reason code.*/ length+= 1U; + /*Add session expiry if provided.*/ if(sessionExpiry != 0U) { propertyLength += MQTT_SESSION_EXPIRY_SIZE; } - + /*Validate the reason string if provided.*/ if(pAckInfo->reasonStringLength != 0U){ if(pAckInfo->pReasonString == NULL){ status = MQTTBadParameter; @@ -5321,6 +5369,7 @@ MQTTStatus_t MQTTV5_GetDisconnectPacketSize( MQTTAckInfo_t* pAckInfo, size_t * p } if(status == MQTTSuccess){ + /*Packet size should be less than max allowed by the server.*/ packetSize = length + 1U + remainingLengthEncodedSize(length); if(packetSize > maxPacketSize) { @@ -5453,45 +5502,6 @@ MQTTStatus_t MQTTV5_SerializeDisconnectWithProperty( const MQTTAckInfo_t *pAckIn return status; } -static MQTTStatus_t validateDisconnectResponseV5(uint8_t reasonCode){ - MQTTStatus_t status; - switch(reasonCode){ - case (uint8_t)MQTT_REASON_SUCCESS: - /*Disconnect the will message*/ - case (uint8_t)MQTT_REASON_UNSPECIFIED_ERR: - case (uint8_t)MQTT_REASON_MALFORMED_PACKET: - case (uint8_t)MQTT_REASON_PROTOCOL_ERR: - case (uint8_t)MQTT_REASON_IMPL_SPECIFIC_ERR: - case (uint8_t)MQTT_REASON_NOT_AUTHORIZED: - case (uint8_t)MQTT_REASON_SERVER_BUSY: - case (uint8_t)MQTT_REASON_SERVER_SHUTTING_DOWN: - case (uint8_t)MQTT_REASON_KEEP_ALIVE_TIMEOUT: - case (uint8_t)MQTT_REASON_SESSION_TAKEN_OVER: - case (uint8_t)MQTT_REASON_TOPIC_FILTER_INVALID: - case (uint8_t)MQTT_REASON_TOPIC_NAME_INVALID : - case (uint8_t)MQTT_REASON_RX_MAX_EXCEEDED: - case (uint8_t)MQTT_REASON_TOPIC_ALIAS_INVALID: - case (uint8_t)MQTT_REASON_PACKET_TOO_LARGE: - case (uint8_t)MQTT_REASON_MSG_RATE_TOO_HIGH: - case (uint8_t)MQTT_REASON_QUOTA_EXCEEDED: - case (uint8_t)MQTT_REASON_ADMIN_ACTION: - case (uint8_t)MQTT_REASON_PAYLOAD_FORMAT_INVALID: - case (uint8_t)MQTT_REASON_RETAIN_NOT_SUPPORTED: - case (uint8_t)MQTT_REASON_QOS_NOT_SUPPORTED: - case (uint8_t)MQTT_REASON_USE_ANOTHER_SERVER: - case (uint8_t)MQTT_REASON_SERVER_MOVED: - case (uint8_t)MQTT_REASON_MAX_CON_TIME: - case (uint8_t)MQTT_REASON_SS_NOT_SUPPORTED: - case (uint8_t)MQTT_REASON_WILDCARD_SUB_NOT_SUP: - status = MQTTSuccess; - break; - default: - status = MQTTProtocolError; - break; - } - return status; -} - MQTTStatus_t MQTTV5_DeserializeDisconnect( const MQTTPacketInfo_t * pPacket, MQTTAckInfo_t *pDisconnectInfo, const char ** pServerRef, @@ -5501,6 +5511,7 @@ static MQTTStatus_t validateDisconnectResponseV5(uint8_t reasonCode){ MQTTStatus_t status = MQTTSuccess; const uint8_t * pIndex; size_t propertyLength = 0U; + /*Validate the arguments*/ if((pPacket == NULL) || (pPacket->pRemainingData == NULL)) { status = MQTTBadParameter; @@ -5517,6 +5528,7 @@ static MQTTStatus_t validateDisconnectResponseV5(uint8_t reasonCode){ { status = MQTTMalformedPacket; } + /*Packet size should not be more than the max allowed by the client.*/ else if ( ( pPacket->remainingLength + remainingLengthEncodedSize(pPacket->remainingLength) + 1U ) > maxPacketSize ) { status = MQTTProtocolError; @@ -5533,12 +5545,14 @@ static MQTTStatus_t validateDisconnectResponseV5(uint8_t reasonCode){ pIndex= pPacket->pRemainingData; pDisconnectInfo->reasonCode = *pIndex; pIndex ++; + /*Validate the reason code.*/ status = validateDisconnectResponseV5(pDisconnectInfo->reasonCode); } if(status == MQTTSuccess) { if((pPacket->remainingLength > 1U)) { + /*Extract the property length.*/ status = decodeVariableLength(pIndex,&propertyLength); if(status == MQTTSuccess) { @@ -5557,12 +5571,13 @@ static MQTTStatus_t validateDisconnectResponseV5(uint8_t reasonCode){ while((propertyLength>0U) && (status == MQTTSuccess)) { /*Decode the poperty id.*/ - uint8_t packetId = *pIndex; + uint8_t propertyId = *pIndex; bool reasonString = false; bool serverRef = false; pIndex = &pIndex[1]; propertyLength -= sizeof( uint8_t ); - switch(packetId){ + /*Validate the property id and decode accordingly.*/ + switch(propertyId){ case MQTT_REASON_STRING_ID: status = decodeutf_8( &pDisconnectInfo->pReasonString, &pDisconnectInfo->reasonStringLength, &propertyLength, &reasonString, &pIndex ); break; diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index 4136a5b0c..a2284f4e8 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -2997,7 +2997,13 @@ void test_MQTTV5_GetDisconnectPacketSize() TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); sessionExpiry = 10; + /*Invalid reason code*/ + ackInfo.reasonCode = 2; + status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + /*Reason string not initialized.*/ + ackInfo.reasonCode = 0; ackInfo.reasonStringLength = MQTT_TEST_UTF8_STRING_LENGTH; status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); @@ -3008,6 +3014,7 @@ void test_MQTTV5_GetDisconnectPacketSize() status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + /*Valid parameters*/ maxPacketSize = 60U; status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index 56bb054bb..5bad93fde 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -1018,10 +1018,10 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths2( void ) MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterDeserialize ); MQTTV5_GetAckPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); MQTTV5_SerializeAckFixed_Stub(MQTTV5_SerializeAckFixed_cb); - MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTBadResponse); MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterSerialize ); status = MQTT_ProcessLoop(&context); - TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); + TEST_ASSERT_EQUAL_INT(MQTTBadResponse,status); } From 76e737267c387d1ca6885a72b24e26b8f53635b9 Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Thu, 11 Jul 2024 17:33:00 +0000 Subject: [PATCH 71/82] MQTTV5 --- source/core_mqtt.c | 6 +- source/core_mqtt_serializer.c | 38 ++- source/include/core_mqtt_serializer.h | 3 +- .../MQTTv5/core_mqttv5_serializer_utest.c | 17 +- test/unit-test/MQTTv5/core_mqttv5_utest.c | 223 ++---------------- 5 files changed, 67 insertions(+), 220 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index fde724356..4540dbdd0 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -1115,7 +1115,7 @@ static bool matchTopicFilter( const char * pTopicName, } static MQTTStatus_t sendDisconnectWithoutCopy( MQTTContext_t * pContext, - MQTTAckInfo_t* pAckInfo, + const MQTTAckInfo_t* pAckInfo, size_t remainingLength, uint32_t sessionExpiry) { @@ -1133,7 +1133,6 @@ static MQTTStatus_t sendDisconnectWithoutCopy( MQTTContext_t * pContext, * Session Expiry + 5 = 15 */ uint8_t fixedHeader[15]; - size_t packetSize = 0U; /* The maximum vectors required to encode and send a disconnect packet. The * breakdown is shown below. * Fixed header 0 + 1 = 1 @@ -1187,8 +1186,7 @@ static MQTTStatus_t sendDisconnectWithoutCopy( MQTTContext_t * pContext, if( bytesSentOrError != ( int32_t ) totalMessageLength ) { status = MQTTSendFailed; - LogError( ( "Failed to send Connect packet: of PacketSize=%lu.", - packetSize ) ); + LogError( ( "Failed to send disconnect packet." ) ); } return status; diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index f1daddc31..96501dd27 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -2192,7 +2192,7 @@ static MQTTStatus_t logSimpleAckResponseV5(uint8_t reasonCode,uint16_t packetIde status = MQTTSuccess; break; case (uint8_t)MQTT_REASON_PACKET_ID_NOT_FOUND: - LogError( ( "Publish refused with packet id %hu: Connection rate exceeded.", + LogError( ( "Publish refused with packet id %hu: Packet identifier invalid.", ( unsigned short ) packetIdentifier) ); status = MQTTServerRefused; break; @@ -4634,6 +4634,30 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, } #if ( MQTT_VERSION_5_ENABLED ) + + MQTTStatus_t MQTTV5_InitConnect(MQTTConnectProperties_t *pConnectProperties) + { + MQTTStatus_t status = MQTTSuccess; + if(pConnectProperties == NULL) + { + status = MQTTBadParameter; + } + else + { + pConnectProperties->receiveMax = UINT16_MAX; + pConnectProperties->maxPacketSize = MQTT_MAX_PACKET_SIZE; + pConnectProperties->requestProblemInfo = true; + pConnectProperties->serverReceiveMax = UINT16_MAX; + pConnectProperties->serverMaxQos = 1U; + pConnectProperties->serverMaxPacketSize = MQTT_MAX_PACKET_SIZE; + pConnectProperties->isWildcardAvaiable = 1U; + pConnectProperties->subscriptionId = 1U; + pConnectProperties->isSharedAvailable = 1U; + + } + + return status; + } MQTTStatus_t MQTTV5_GetConnectPacketSize( const MQTTConnectInfo_t * pConnectInfo, MQTTPublishInfo_t * pWillInfo, @@ -5018,7 +5042,7 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, return status; } -MQTTStatus_t MQTTV5_ValidatePublishParams(MQTTPublishInfo_t* pPublishInfo, uint16_t topicAliasMax, uint8_t retainAvailable, uint8_t maxQos) +MQTTStatus_t MQTTV5_ValidatePublishParams(const MQTTPublishInfo_t* pPublishInfo, uint16_t topicAliasMax, uint8_t retainAvailable, uint8_t maxQos) { MQTTStatus_t status; if(pPublishInfo == NULL) @@ -5038,7 +5062,7 @@ MQTTStatus_t MQTTV5_ValidatePublishParams(MQTTPublishInfo_t* pPublishInfo, uint1 LogError(("Retain is not avaialble.")); status = MQTTBadParameter; } - else if((pPublishInfo->qos != 0) && (maxQos== 0U)) + else if((pPublishInfo->qos != MQTTQoS0) && (maxQos== 0U)) { LogError(("Qos value = %hu is not allowed by the server ", ( unsigned short ) pPublishInfo->topicNameLength )); @@ -5317,12 +5341,12 @@ MQTTStatus_t MQTTV5_GetDisconnectPacketSize( MQTTAckInfo_t* pAckInfo, size_t * p LogError( ( "Max packet size cannot be zero." ) ); status = MQTTBadParameter; } - /*Session expiry has to be set by the client at least once.*/ - else if((prevSessionExpiry == 0U) && (sessionExpiry == 0U)){ + /*Cannot overWrite a session expiry of 0.*/ + else if((prevSessionExpiry == 0U) && (sessionExpiry != 0U)){ LogError( ( "If the Session Expiry in the CONNECT packet was zero, then it is a Protocol Error to set a non-zero Session Expiry Interval in the DISCONNECT packet." ) ); status = MQTTBadParameter; } - else if(validateDisconnectResponseV5(pAckInfo->reasonCode)) + else if(validateDisconnectResponseV5(pAckInfo->reasonCode) != MQTTSuccess) { LogError( ( "Invalid reason code." ) ); status = MQTTBadParameter; @@ -5520,7 +5544,7 @@ MQTTStatus_t MQTTV5_SerializeDisconnectWithProperty( const MQTTAckInfo_t *pAckIn { status = MQTTBadParameter; } - else if(maxPacketSize == 0) + else if(maxPacketSize == 0U) { status = MQTTBadParameter; } diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index c827050dd..39d343745 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -1621,6 +1621,7 @@ uint8_t * MQTT_SerializeUnsubscribeHeader( size_t remainingLength, uint16_t packetId ); /** @endcond */ +MQTTStatus_t MQTTV5_InitConnect(MQTTConnectProperties_t *pConnectProperties); /** * @fn uint8_t * MQTT_SerializeConnectProperties(uint8_t * pIndex,const MQTTConnectProperties_t * pConnectProperties); @@ -1844,7 +1845,7 @@ MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, /* @[declare_mqttv5_serializeconnect] */ -MQTTStatus_t MQTTV5_ValidatePublishParams(MQTTPublishInfo_t* pPublishInfo, uint16_t topicAliasMax, uint8_t retainAvailable, uint8_t maxQos); +MQTTStatus_t MQTTV5_ValidatePublishParams(const MQTTPublishInfo_t* pPublishInfo, uint16_t topicAliasMax, uint8_t retainAvailable, uint8_t maxQos); MQTTStatus_t MQTTV5_GetPublishPacketSize(MQTTPublishInfo_t * pPublishInfo, size_t * pRemainingLength, diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index a2284f4e8..67a42372d 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -2474,7 +2474,7 @@ void test_RemaininglengthLimit( void ) status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,0,10); + status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,0,0); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); } @@ -2991,12 +2991,13 @@ void test_MQTTV5_GetDisconnectPacketSize() status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); - /*Session expiry has to be set once*/ + /*Session expiry cannot overwrite zero.*/ + sessionExpiry = 10U; maxPacketSize = 6U; status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); - sessionExpiry = 10; + prevSessionExpiry = 5; /*Invalid reason code*/ ackInfo.reasonCode = 2; status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); @@ -3192,7 +3193,6 @@ void test_MQTTV5_SerializeDisconnectWithProperty() void test_MQTT_GetIncomingPacketTypeAndLength( void ) { - MQTTStatus_t status = MQTTSuccess; MQTTPacketInfo_t mqttPacket; NetworkContext_t networkContext; uint8_t buffer[ 10 ]; @@ -3209,3 +3209,12 @@ void test_MQTT_GetIncomingPacketTypeAndLength( void ) TEST_ASSERT_EQUAL( MQTTSuccess, status ); } + +void test_MQTTV5_InitConnect() +{ + + status = MQTTV5_InitConnect(NULL); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + status = MQTTV5_InitConnect(&properties); + TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); +} \ No newline at end of file diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index 5bad93fde..d0e6a0fc4 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -213,7 +213,6 @@ static uint8_t mqttBuffer[ MQTT_TEST_BUFFER_LENGTH ] = { 0 }; */ static bool isEventCallbackInvoked = false; static bool receiveOnce = false; -static uint8_t currentPacketType = MQTT_PACKET_TYPE_INVALID; static MQTTStatus_t modifyIncomingPacketStatus = MQTTSuccess; @@ -320,23 +319,6 @@ static void eventCallback1( MQTTContext_t * pContext, } } -/** - * @brief Zero out a #ProcessLoopReturns_t. - * - * @param[in] pExpectParams Pointer to struct to reset. - */ -static void resetProcessLoopParams( ProcessLoopReturns_t * pExpectParams ) -{ - pExpectParams->deserializeStatus = MQTTSuccess; - pExpectParams->stateAfterDeserialize = MQTTStateNull; - pExpectParams->updateStateStatus = MQTTSuccess; - pExpectParams->serializeStatus = MQTTSuccess; - pExpectParams->stateAfterSerialize = MQTTStateNull; - pExpectParams->processLoopStatus = MQTTSuccess; - pExpectParams->incomingPublish = false; - pExpectParams->pPubInfo = NULL; - pExpectParams->timeoutMs = MQTT_NO_TIMEOUT_MS; -} /** * @brief Mocked transport send that always returns 0 bytes sent. @@ -381,179 +363,7 @@ static uint8_t * MQTTV5_SerializeDisconnectFixed_cb(uint8_t * pIndex, return pIndex; } -/** - * @brief This helper function is used to expect any calls from the process loop - * to mocked functions belonging to an external header file. Its parameters - * are used to provide return values for these mocked functions. - */ -static void expectProcessLoopCalls( MQTTContext_t * const pContext, - ProcessLoopReturns_t * pExpectParams ) -{ - MQTTStatus_t mqttStatus = MQTTSuccess; - MQTTPacketInfo_t incomingPacket = { 0 }; - size_t pingreqSize = MQTT_PACKET_PINGREQ_SIZE; - bool expectMoreCalls = true; - /* Copy values passed in the parameter struct. */ - MQTTStatus_t deserializeStatus = pExpectParams->deserializeStatus; - MQTTPublishState_t stateAfterDeserialize = pExpectParams->stateAfterDeserialize; - MQTTStatus_t updateStateStatus = pExpectParams->updateStateStatus; - MQTTStatus_t serializeStatus = pExpectParams->serializeStatus; - MQTTPublishState_t stateAfterSerialize = pExpectParams->stateAfterSerialize; - MQTTStatus_t processLoopStatus = pExpectParams->processLoopStatus; - bool incomingPublish = pExpectParams->incomingPublish; - MQTTPublishInfo_t * pPubInfo = pExpectParams->pPubInfo; - uint32_t packetTxTimeoutMs = 0U; - - /* Modify incoming packet depending on type to be tested. */ - incomingPacket.type = currentPacketType; - incomingPacket.remainingLength = MQTT_SAMPLE_REMAINING_LENGTH; - incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; - - MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); - MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); - - /* More calls are expected only with the following packet types. */ - if( ( currentPacketType != MQTT_PACKET_TYPE_PUBLISH ) && - ( currentPacketType != MQTT_PACKET_TYPE_PUBACK ) && - ( currentPacketType != MQTT_PACKET_TYPE_PUBREC ) && - ( currentPacketType != MQTT_PACKET_TYPE_PUBREL ) && - ( currentPacketType != MQTT_PACKET_TYPE_PUBCOMP ) && - ( currentPacketType != MQTT_PACKET_TYPE_PINGRESP ) && - ( currentPacketType != MQTT_PACKET_TYPE_SUBACK ) && - ( currentPacketType != MQTT_PACKET_TYPE_UNSUBACK ) ) - { - expectMoreCalls = false; - } - - /* When no data is available, the process loop tries to send a PINGREQ. */ - if( modifyIncomingPacketStatus == MQTTNoDataAvailable ) - { - packetTxTimeoutMs = 1000U * ( uint32_t ) pContext->keepAliveIntervalSec; - - if( PACKET_TX_TIMEOUT_MS < packetTxTimeoutMs ) - { - packetTxTimeoutMs = PACKET_TX_TIMEOUT_MS; - } - - if( pContext->waitingForPingResp == false ) - { - if( ( ( packetTxTimeoutMs != 0U ) && - ( ( globalEntryTime - pContext->lastPacketTxTime ) >= packetTxTimeoutMs ) ) || - ( ( PACKET_RX_TIMEOUT_MS != 0U ) && - ( ( globalEntryTime - pContext->lastPacketRxTime ) >= PACKET_RX_TIMEOUT_MS ) ) ) - { - MQTT_GetPingreqPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); - /* Replace pointer parameter being passed to the method. */ - MQTT_GetPingreqPacketSize_ReturnThruPtr_pPacketSize( &pingreqSize ); - MQTT_SerializePingreq_ExpectAnyArgsAndReturn( serializeStatus ); - } - } - - expectMoreCalls = false; - } - - /* Deserialize based on the packet type (PUB or ACK) being received. */ - if( expectMoreCalls ) - { - if( incomingPublish ) - { - MQTT_DeserializePublish_ExpectAnyArgsAndReturn( deserializeStatus ); - - if( pPubInfo != NULL ) - { - MQTT_DeserializePublish_ReturnThruPtr_pPublishInfo( pPubInfo ); - } - } - else - { - MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( deserializeStatus ); - } - - if( ( deserializeStatus != MQTTSuccess ) || - ( currentPacketType == MQTT_PACKET_TYPE_PINGRESP ) || - ( currentPacketType == MQTT_PACKET_TYPE_SUBACK ) || - ( currentPacketType == MQTT_PACKET_TYPE_UNSUBACK ) ) - { - expectMoreCalls = false; - } - } - - /* Update state based on the packet type (PUB or ACK) being received. */ - if( expectMoreCalls ) - { - if( incomingPublish ) - { - MQTT_UpdateStatePublish_ExpectAnyArgsAndReturn( updateStateStatus ); - MQTT_UpdateStatePublish_ReturnThruPtr_pNewState( &stateAfterDeserialize ); - } - else - { - MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( updateStateStatus ); - MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterDeserialize ); - } - - if( stateAfterDeserialize == MQTTPublishDone ) - { - expectMoreCalls = false; - } - else - { - switch( updateStateStatus ) - { - case MQTTSuccess: - expectMoreCalls = true; - break; - - case MQTTStateCollision: - /* Execution will continue regardless of the dup flag. */ - expectMoreCalls = true; - MQTT_CalculateStatePublish_ExpectAnyArgsAndReturn( stateAfterDeserialize ); - break; - - default: - expectMoreCalls = false; - } - } - } - - /* Serialize the packet to be sent in response to the received packet. */ - if( expectMoreCalls ) - { - MQTT_SerializeAck_ExpectAnyArgsAndReturn( serializeStatus ); - if( serializeStatus != MQTTSuccess ) - { - expectMoreCalls = false; - } - } - - /* Update the state based on the sent packet. */ - if( expectMoreCalls ) - { - MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( ( stateAfterSerialize == MQTTStateNull ) ? - MQTTIllegalState : MQTTSuccess ); - MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterSerialize ); - } - - /* Expect the above calls when running MQTT_ProcessLoop. */ - - mqttStatus = MQTT_ProcessLoop( pContext ); - TEST_ASSERT_EQUAL( processLoopStatus, mqttStatus ); - - /* Any final assertions to end the test. */ - if( mqttStatus == MQTTSuccess ) - { - if( currentPacketType == MQTT_PACKET_TYPE_PUBLISH ) - { - TEST_ASSERT_TRUE( pContext->controlPacketSent ); - } - - if( currentPacketType == MQTT_PACKET_TYPE_PINGRESP ) - { - TEST_ASSERT_FALSE( pContext->waitingForPingResp ); - } - } -} static uint8_t * MQTT_SerializeConnectFixedHeader_cb( uint8_t * pIndex, @@ -962,29 +772,34 @@ void test_MQTT_Publish( void ) void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths( void ) { - MQTTStatus_t mqttStatus; + MQTTStatus_t status; + MQTTPublishState_t stateAfterDeserialize; MQTTContext_t context = { 0 }; TransportInterface_t transport = { 0 }; MQTTFixedBuffer_t networkBuffer = { 0 }; - ProcessLoopReturns_t expectParams = { 0 }; MQTTConnectProperties_t properties; + MQTTPacketInfo_t incomingPacket = { 0 }; setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); - - mqttStatus = MQTT_Init( &context, &transport, getTime, eventCallback, &networkBuffer ); - TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); + /* Modify incoming packet depending on type to be tested. */ + incomingPacket.type = MQTT_PACKET_TYPE_PUBREC; + incomingPacket.remainingLength = MQTT_SAMPLE_REMAINING_LENGTH; + incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; + status = MQTT_Init( &context, &transport, getTime, eventCallback, &networkBuffer ); + TEST_ASSERT_EQUAL( MQTTSuccess, status ); properties.requestProblemInfo = 1; context.connectProperties = &properties; modifyIncomingPacketStatus = MQTTSuccess; - - /* Mock the receiving of a PUBACK packet type and expect the appropriate - * calls made from the process loop. */ - currentPacketType = MQTT_PACKET_TYPE_PUBACK; - /* Set expected return values in the loop. */ - resetProcessLoopParams( &expectParams ); - expectParams.stateAfterDeserialize = MQTTPublishDone; - expectParams.stateAfterSerialize = MQTTPublishDone; - expectProcessLoopCalls( &context, &expectParams ); + stateAfterDeserialize = MQTTPubRelSend; + MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); + MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTT_SerializeAck_ExpectAnyArgsAndReturn(MQTTSuccess); + MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterDeserialize ); + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess); + status = MQTT_ProcessLoop(&context); + TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); } From 34a219f0dbb3407f36a4a98006af571539ee6d30 Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Mon, 15 Jul 2024 11:56:32 +0000 Subject: [PATCH 72/82] MQTTV5 --- source/core_mqtt.c | 55 +-- source/core_mqtt_serializer.c | 219 ++++++++---- source/include/core_mqtt.h | 18 +- source/include/core_mqtt_config_defaults.h | 1 - source/include/core_mqtt_serializer.h | 58 +--- test/CMakeLists.txt | 2 + .../MQTTv5/core_mqttv5_serializer_utest.c | 61 +++- test/unit-test/MQTTv5/core_mqttv5_utest.c | 24 +- test/unit-test/WithoutUP/CMakeLists.txt | 95 ++++++ test/unit-test/WithoutUP/cmock_opaque_types.h | 36 ++ test/unit-test/WithoutUP/core_mqtt_config.h | 79 +++++ .../core_mqttv5WUP_serializer_utest.c | 318 ++++++++++++++++++ 12 files changed, 812 insertions(+), 154 deletions(-) create mode 100644 test/unit-test/WithoutUP/CMakeLists.txt create mode 100644 test/unit-test/WithoutUP/cmock_opaque_types.h create mode 100644 test/unit-test/WithoutUP/core_mqtt_config.h create mode 100644 test/unit-test/WithoutUP/core_mqttv5WUP_serializer_utest.c diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 4540dbdd0..457c19d6f 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -739,7 +739,7 @@ static bool matchTopicFilter( const char * pTopicName, TransportOutVector_t * iterator, size_t * updatedLength, const uint8_t * packetId ); - +#if(MQTT_USER_PROPERTY_ENABLED) /** * @brief Serialize the user properties. * @@ -758,7 +758,7 @@ static bool matchTopicFilter( const char * pTopicName, size_t * pTotalMessageLength, TransportOutVector_t ** pVectorIterator ); - +#endif /** * @brief Serialize the variable length publish properties. * @@ -841,7 +841,7 @@ static bool matchTopicFilter( const char * pTopicName, return vectorsAdded; } - +#if(MQTT_USER_PROPERTY_ENABLED) static size_t sendUserProperties( const MQTTUserProperties_t * pUserProperty, UserPropertyVector_t * pUserVector, size_t * pTotalMessageLength, @@ -879,7 +879,7 @@ static bool matchTopicFilter( const char * pTopicName, *pVectorIterator = iterator; return ioVectorLength; } - +#endif static size_t sendPublishProperties( const MQTTPublishInfo_t * pPublishInfo, PublishVector_t * pPublishVector, size_t * pTotalMessageLength, @@ -1034,7 +1034,7 @@ static bool matchTopicFilter( const char * pTopicName, assert( pContext != NULL ); assert( pAckInfo != NULL ); packetTypeByte = getAckTypeToSend( publishState ); - status = MQTTV5_GetAckPacketSize(pAckInfo, &remainingLength, &packetSize,pContext->connectProperties->serverMaxPacketSize); + status = MQTTV5_GetAckPacketSize(pAckInfo, &remainingLength, &packetSize,pContext->pConnectProperties->serverMaxPacketSize); if( (packetTypeByte != 0U) && (status == MQTTSuccess) ) { @@ -1114,7 +1114,7 @@ static bool matchTopicFilter( const char * pTopicName, return status; } -static MQTTStatus_t sendDisconnectWithoutCopy( MQTTContext_t * pContext, +static MQTTStatus_t sendDisconnectWithoutCopyV5( MQTTContext_t * pContext, const MQTTAckInfo_t* pAckInfo, size_t remainingLength, uint32_t sessionExpiry) @@ -2217,7 +2217,9 @@ static MQTTStatus_t handlePublishAcks( MQTTContext_t * pContext, MQTTDeserializedInfo_t deserializedInfo; #if(MQTT_VERSION_5_ENABLED) MQTTAckInfo_t ackInfo; + MQTTAckInfo_t nextAckInfo; ( void ) memset(&ackInfo,0x0,sizeof(ackInfo)); + ( void ) memset(&nextAckInfo,0x0,sizeof(nextAckInfo)); #endif assert( pContext != NULL ); @@ -2230,7 +2232,7 @@ static MQTTStatus_t handlePublishAcks( MQTTContext_t * pContext, #if(!MQTT_VERSION_5_ENABLED) status = MQTT_DeserializeAck( pIncomingPacket, &packetIdentifier, NULL ); #else - status = MQTTV5_DeserializeAck(pIncomingPacket,&packetIdentifier,&ackInfo,pContext->connectProperties->requestProblemInfo, pContext->connectProperties->maxPacketSize); + status = MQTTV5_DeserializeAck(pIncomingPacket,&packetIdentifier,&ackInfo,pContext->pConnectProperties->requestProblemInfo, pContext->pConnectProperties->maxPacketSize); #endif LogInfo( ( "Ack packet deserialized with result: %s.", MQTT_Status_strerror( status ) ) ); @@ -2283,6 +2285,7 @@ static MQTTStatus_t handlePublishAcks( MQTTContext_t * pContext, deserializedInfo.deserializationResult = status; deserializedInfo.pPublishInfo = NULL; deserializedInfo.pAckInfo = &ackInfo; + deserializedInfo.pNextAckInfo = &nextAckInfo; /* Invoke application callback to hand the buffer over to application * before sending acks. */ appCallback( pContext, pIncomingPacket, &deserializedInfo ); @@ -2500,13 +2503,13 @@ static MQTTStatus_t receiveSingleIteration( MQTTContext_t * pContext, #if(MQTT_VERSION_5_ENABLED) else if(( incomingPacket.type == MQTT_PACKET_TYPE_DISCONNECT)) { - assert(pContext->connectProperties != NULL); + assert(pContext->pConnectProperties != NULL); assert(pContext->pDisconnectInfo != NULL); status = MQTTV5_DeserializeDisconnect( &incomingPacket, pContext->pDisconnectInfo, - &pContext->connectProperties->pServerRef, - &pContext->connectProperties->serverRefLength, - pContext->connectProperties->maxPacketSize ); + &pContext->pConnectProperties->pServerRef, + &pContext->pConnectProperties->serverRefLength, + pContext->pConnectProperties->maxPacketSize ); if( status == MQTTSuccess ) { LogInfo( ( "Disconnected from the broker." ) ); @@ -3009,7 +3012,7 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, remainingLength ); #if ( MQTT_VERSION_5_ENABLED ) - pIndex = MQTT_SerializeConnectProperties( pIndex, pContext->connectProperties ); + pIndex = MQTT_SerializeConnectProperties( pIndex, pContext->pConnectProperties ); #endif assert( ( ( size_t ) ( pIndex - connectPacketHeader ) ) <= sizeof( connectPacketHeader ) ); @@ -3026,7 +3029,7 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, #if ( MQTT_VERSION_5_ENABLED ) /*Encode the connect Properties if provided*/ - ioVectorLength += sendConnectProperties( pContext->connectProperties, &propertiesVector, &totalMessageLength, &iterator ); + ioVectorLength += sendConnectProperties( pContext->pConnectProperties, &propertiesVector, &totalMessageLength, &iterator ); #endif /* Serialize the client ID. */ @@ -3219,7 +3222,7 @@ static MQTTStatus_t receiveConnack( const MQTTContext_t * pContext, #if ( MQTT_VERSION_5_ENABLED == 0 ) status = MQTT_DeserializeAck( pIncomingPacket, NULL, pSessionPresent ); #else - status = MQTTV5_DeserializeConnack( pContext->connectProperties, pIncomingPacket, pSessionPresent ); + status = MQTTV5_DeserializeConnack( pContext->pConnectProperties, pIncomingPacket, pSessionPresent ); #endif } @@ -3336,9 +3339,9 @@ static MQTTStatus_t validatePublishParams( const MQTTContext_t * pContext, status = MQTTBadParameter; } #if(MQTT_VERSION_5_ENABLED) - else if(pContext->connectProperties == NULL){ + else if(pContext->pConnectProperties == NULL){ LogError( ( "Argument cannot be NULL: pConnectProperties=%p. ", - ( void * ) pContext->connectProperties ) ); + ( void * ) pContext->pConnectProperties ) ); status = MQTTBadParameter; } #endif @@ -3528,7 +3531,7 @@ MQTTStatus_t MQTT_Connect( MQTTContext_t * pContext, /* Get MQTT connect packet size and remaining length. */ status = MQTTV5_GetConnectPacketSize( pConnectInfo, pWillInfo, - pContext->connectProperties, + pContext->pConnectProperties, &remainingLength, &packetSize ); LogDebug( ( "CONNECT packet size is %lu and remaining length is %lu.", @@ -3673,15 +3676,15 @@ MQTTStatus_t MQTT_Publish( MQTTContext_t * pContext, &packetSize ); #else status = MQTTV5_ValidatePublishParams(pPublishInfo, - pContext->connectProperties->serverTopicAliasMax, - pContext->connectProperties->retainAvailable, - pContext->connectProperties->serverMaxQos ); + pContext->pConnectProperties->serverTopicAliasMax, + pContext->pConnectProperties->retainAvailable, + pContext->pConnectProperties->serverMaxQos ); if(status == MQTTSuccess) { status = MQTTV5_GetPublishPacketSize( pPublishInfo, &remainingLength, &packetSize, - pContext->connectProperties->serverMaxPacketSize); + pContext->pConnectProperties->serverMaxPacketSize); } #endif } @@ -4239,23 +4242,23 @@ const char * MQTT_Status_strerror( MQTTStatus_t status ) } #if(MQTT_VERSION_5_ENABLED) -MQTTStatus_t MQTTV5_Disconnect( MQTTContext_t * pContext , MQTTAckInfo_t *pAckInfo, uint32_t sessionExpiry) +MQTTStatus_t MQTTV5_Disconnect( MQTTContext_t * pContext , MQTTAckInfo_t *pDisconnectInfo, uint32_t sessionExpiry) { size_t packetSize = 0U; size_t remainingLength = 0U; MQTTStatus_t status = MQTTSuccess; /* Validate arguments. */ - if((pContext == NULL) || (pAckInfo == NULL) || (pContext->connectProperties == NULL)) + if((pContext == NULL) || (pDisconnectInfo == NULL) || (pContext->pConnectProperties == NULL)) { - LogError( ( "pContext, pAckInfo and connect properties cannot be NULL." ) ); + LogError( ( "pContext, pDisconnectInfo and connect properties cannot be NULL." ) ); status = MQTTBadParameter; } if( status == MQTTSuccess ) { /* Get MQTT DISCONNECT packet size. */ - status = MQTTV5_GetDisconnectPacketSize( pAckInfo,&remainingLength,&packetSize,pContext->connectProperties->serverMaxPacketSize,sessionExpiry,pContext->connectProperties->sessionExpiry ); + status = MQTTV5_GetDisconnectPacketSize( pDisconnectInfo,&remainingLength,&packetSize,pContext->pConnectProperties->serverMaxPacketSize,sessionExpiry,pContext->pConnectProperties->sessionExpiry ); LogDebug( ( "MQTT DISCONNECT packet size is %lu.", ( unsigned long ) packetSize ) ); } @@ -4265,7 +4268,7 @@ MQTTStatus_t MQTTV5_Disconnect( MQTTContext_t * pContext , MQTTAckInfo_t *pAckIn /* Take the mutex because the below call should not be interrupted. */ MQTT_PRE_SEND_HOOK( pContext ); - status = sendDisconnectWithoutCopy(pContext,pAckInfo,remainingLength,sessionExpiry); + status = sendDisconnectWithoutCopyV5(pContext,pDisconnectInfo,remainingLength,sessionExpiry); /* Give the mutex away. */ MQTT_POST_SEND_HOOK( pContext ); diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 96501dd27..abfd7e8cd 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -98,7 +98,7 @@ /** * @brief Per the MQTT spec, the max packet size can be of max remaining length + 5 bytes */ - #define MQTT_MAX_PACKET_SIZE (268435460UL) + #define MQTT_MAX_PACKET_SIZE (268435460U) /** * @brief Version 5 has the value 5. @@ -306,6 +306,46 @@ */ #define MQTT_PUBLISH_ACK_PACKET_SIZE_WITH_REASON ( 3UL ) + +#define MQTT_REASON_SUCCESS (0x00) +#define MQTT_REASON_SEND_WILL (0x04) +#define MQTT_REASON_NO_MATCHING_SUBSCRIBERS (0x10) +#define MQTT_REASON_UNSPECIFIED_ERR (0x80) +#define MQTT_REASON_MALFORMED_PACKET (0x81) +#define MQTT_REASON_PROTOCOL_ERR (0x82) +#define MQTT_REASON_IMPL_SPECIFIC_ERR (0x83) +#define MQTT_REASON_UNSUPPORTED_PROTO_VER (0x84) +#define MQTT_REASON_CLIENT_ID_NOT_VALID (0x85) +#define MQTT_REASON_BAD_USER_OR_PASS (0x86) +#define MQTT_REASON_NOT_AUTHORIZED (0x87) +#define MQTT_REASON_SERVER_UNAVAILABLE (0x88) +#define MQTT_REASON_SERVER_BUSY (0x89) +#define MQTT_REASON_BANNED (0x8A) +#define MQTT_REASON_SERVER_SHUTTING_DOWN (0x8B) +#define MQTT_REASON_BAD_AUTH_METHOD (0x8C) +#define MQTT_REASON_KEEP_ALIVE_TIMEOUT (0x8D) +#define MQTT_REASON_SESSION_TAKEN_OVER (0x8E) +#define MQTT_REASON_TOPIC_FILTER_INVALID (0x8F) +#define MQTT_REASON_TOPIC_NAME_INVALID (0x90) +#define MQTT_REASON_PACKET_ID_IN_USE (0x91) +#define MQTT_REASON_PACKET_ID_NOT_FOUND (0x92) +#define MQTT_REASON_RX_MAX_EXCEEDED (0x93) +#define MQTT_REASON_TOPIC_ALIAS_INVALID (0x94) +#define MQTT_REASON_PACKET_TOO_LARGE (0x95) +#define MQTT_REASON_MSG_RATE_TOO_HIGH (0x96) +#define MQTT_REASON_QUOTA_EXCEEDED (0x97) +#define MQTT_REASON_ADMIN_ACTION (0x98) +#define MQTT_REASON_PAYLOAD_FORMAT_INVALID (0x99) +#define MQTT_REASON_RETAIN_NOT_SUPPORTED (0x9A) +#define MQTT_REASON_QOS_NOT_SUPPORTED (0x9B) +#define MQTT_REASON_USE_ANOTHER_SERVER (0x9C) +#define MQTT_REASON_SERVER_MOVED (0x9D) +#define MQTT_REASON_SS_NOT_SUPPORTED (0x9E) +#define MQTT_REASON_CON_RATE_EXCEED (0x9F) +#define MQTT_REASON_MAX_CON_TIME (0xA0) +#define MQTT_REASON_SUB_ID_NOT_SUP (0xA1) +#define MQTT_REASON_WILDCARD_SUB_NOT_SUP (0xA2) + #endif /* if ( MQTT_VERSION_5_ENABLED ) */ /** @@ -725,6 +765,18 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); uint32_t * count, size_t * pPropertyLength, const uint8_t ** pIndex ); + +#else +/** + * @brief Validate the length and decode a user property. + * + * @param[out] pPropertyLength Size of the length. + * @param[out] pIndex Pointer to the current index of the buffer. + * + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket + **/ + static MQTTStatus_t decodeAndDiscard( size_t * pPropertyLength, + const uint8_t ** pIndex ); #endif /* if ( MQTT_USER_PROPERTY_ENABLED ) */ /** @@ -971,10 +1023,32 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket. */ static MQTTStatus_t logSimpleAckResponseV5(uint8_t reasonCode,uint16_t packetIdentifier); - - static MQTTStatus_t decodeAckProperties (MQTTAckInfo_t * pAckInfo,const uint8_t * index, size_t remainingLength); +/** + * @brief Validate the length and decode the publish ack properties. + * + * @param[out] pAckInfo To store the decoded property. + * @param[out] pIndex Pointer to the current index of the buffer. + * @param[out] remainingLength Reamining length of the incoming packet. + * + * + * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket + **/ + static MQTTStatus_t decodeAckProperties (MQTTAckInfo_t * pAckInfo,const uint8_t * pIndex, size_t remainingLength); +/** + * @brief Deserialize an PUBACK, PUBREC, PUBREL, or PUBCOMP packet. + * + * Converts the packet from a stream of bytes to an #MQTTStatus_t and extracts + * the packet identifier, reason code, properties. + * + * @param[in] pAck Pointer to the MQTT packet structure representing the packet. + * @param[out] pPacketIdentifier Packet ID of the ack type packet. + * @param[out] pAckInfo Structure to store the ack properties. + * @param[in] requestProblem To validate the packet. + * + * @return #MQTTSuccess, #MQTTBadresponse, #MQTTProtocolError and #MQTTMalformedPacket. + */ static MQTTStatus_t deserializeSimpleAckV5( const MQTTPacketInfo_t * pAck, uint16_t * pPacketIdentifier, MQTTAckInfo_t *pAckInfo, @@ -986,6 +1060,8 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); const MQTTFixedBuffer_t * pFixedBuffer, size_t remainingLength, uint32_t sessionExpiry ); + + static MQTTStatus_t validateDisconnectResponseV5(uint8_t reasonCode, bool incoming); /*-----------------------------------------------------------*/ #if ( MQTT_USER_PROPERTY_ENABLED ) @@ -1112,7 +1188,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); const uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; uint16_t keyLength; - uint16_t valueLenght; + uint16_t valueLength; const char * pKey; const char * pValue; /*Validate the property length and decode the user property received.*/ @@ -1159,13 +1235,14 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); } } } - + *pIndex = pVariableHeader; - + if(status == MQTTSuccess) + { LogDebug( ( "Discarded additional user property with key %s and value %s. ", - discardUserProperty.pKey, - discardUserProperty.pValue ) ); - + pKey, + pValue ) ); + } return status; } @@ -2142,39 +2219,39 @@ static MQTTStatus_t calculatePublishPacketSizeV5( MQTTPublishInfo_t * pPublishIn static MQTTStatus_t logAckResponseV5(uint8_t reasonCode,uint16_t packetIdentifier){ MQTTStatus_t status = MQTTServerRefused; switch(reasonCode){ - case (uint8_t)MQTT_REASON_SUCCESS: + case MQTT_REASON_SUCCESS: status = MQTTSuccess; break; - case (uint8_t)MQTT_REASON_NO_MATCHING_SUBSCRIBERS: + case MQTT_REASON_NO_MATCHING_SUBSCRIBERS: LogDebug(("Publish accepted with packet id %hu: No matching subscribers.", ( unsigned short ) packetIdentifier) ); status = MQTTSuccess; break; - case (uint8_t)MQTT_REASON_UNSPECIFIED_ERR: + case MQTT_REASON_UNSPECIFIED_ERR: LogError( ( "Publish refused with packet id %hu: Connection rate exceeded.", ( unsigned short ) packetIdentifier) ); break; - case (uint8_t)MQTT_REASON_IMPL_SPECIFIC_ERR: + case MQTT_REASON_IMPL_SPECIFIC_ERR: LogError( ( "Publish refused with packet id %hu: The PUBLISH is valid but the receiver is not willing to accept it.", ( unsigned short ) packetIdentifier) ); break; - case (uint8_t)MQTT_REASON_NOT_AUTHORIZED: + case MQTT_REASON_NOT_AUTHORIZED: LogError( ( "Publish refused with packet id %hu: The PUBLISH is not authorized.", ( unsigned short ) packetIdentifier) ); break; - case (uint8_t)MQTT_REASON_TOPIC_NAME_INVALID: + case MQTT_REASON_TOPIC_NAME_INVALID: LogError( ( "Publish refused with packet id %hu: Topic Name not accepted.", ( unsigned short ) packetIdentifier) ); break; - case (uint8_t)MQTT_REASON_PACKET_ID_IN_USE: + case MQTT_REASON_PACKET_ID_IN_USE: LogError( ( "Publish refused with packet id %hu: The Packet Identifier is already in use. ", ( unsigned short ) packetIdentifier) ); break; - case (uint8_t)MQTT_REASON_QUOTA_EXCEEDED: + case MQTT_REASON_QUOTA_EXCEEDED: LogError( ( "Publish refused with packet id %hu: Quota exceeded.", ( unsigned short ) packetIdentifier) ); break; - case (uint8_t)MQTT_REASON_PAYLOAD_FORMAT_INVALID: + case MQTT_REASON_PAYLOAD_FORMAT_INVALID: LogError( ( "Publish refused with packet id %hu: Payload format indicator is invalid.", ( unsigned short ) packetIdentifier) ); break; @@ -2188,10 +2265,10 @@ static MQTTStatus_t logAckResponseV5(uint8_t reasonCode,uint16_t packetIdentifie static MQTTStatus_t logSimpleAckResponseV5(uint8_t reasonCode,uint16_t packetIdentifier){ MQTTStatus_t status = MQTTServerRefused; switch(reasonCode){ - case (uint8_t)MQTT_REASON_SUCCESS: + case MQTT_REASON_SUCCESS: status = MQTTSuccess; break; - case (uint8_t)MQTT_REASON_PACKET_ID_NOT_FOUND: + case MQTT_REASON_PACKET_ID_NOT_FOUND: LogError( ( "Publish refused with packet id %hu: Packet identifier invalid.", ( unsigned short ) packetIdentifier) ); status = MQTTServerRefused; @@ -2204,16 +2281,16 @@ static MQTTStatus_t logSimpleAckResponseV5(uint8_t reasonCode,uint16_t packetIde } -static MQTTStatus_t decodeAckProperties(MQTTAckInfo_t * pAckInfo,const uint8_t * index, size_t remainingLength) +static MQTTStatus_t decodeAckProperties(MQTTAckInfo_t * pAckInfo,const uint8_t * pIndex, size_t remainingLength) { size_t propertyLength = 0U; MQTTStatus_t status = MQTTSuccess; - const uint8_t * pIndex= index; + const uint8_t * pLocalIndex= pIndex; /*Decode the property length*/ - status = decodeVariableLength(pIndex,&propertyLength); + status = decodeVariableLength(pLocalIndex,&propertyLength); if(status == MQTTSuccess) { - pIndex= &pIndex[remainingLengthEncodedSize(propertyLength)]; + pLocalIndex= &pLocalIndex[remainingLengthEncodedSize(propertyLength)]; /*Validate the remaining length.*/ if(remainingLength != (propertyLength + remainingLengthEncodedSize(propertyLength)+ 3U)){ status = MQTTMalformedPacket; @@ -2224,19 +2301,19 @@ static MQTTStatus_t decodeAckProperties(MQTTAckInfo_t * pAckInfo,const uint8_t * while((propertyLength>0U) && (status == MQTTSuccess)) { /*Decode the poperty id.*/ - uint8_t packetId = *pIndex; + uint8_t packetId = *pLocalIndex; bool reasonString = false; - pIndex = &pIndex[1]; + pLocalIndex = &pLocalIndex[1]; propertyLength -= sizeof( uint8_t ); switch(packetId){ case MQTT_REASON_STRING_ID: - status = decodeutf_8( &pAckInfo->pReasonString, &pAckInfo->reasonStringLength, &propertyLength, &reasonString, &pIndex ); + status = decodeutf_8( &pAckInfo->pReasonString, &pAckInfo->reasonStringLength, &propertyLength, &reasonString, &pLocalIndex ); break; case MQTT_USER_PROPERTY_ID: #if(MQTT_USER_PROPERTY_ENABLED) - status = decodeutf_8pair( pAckInfo->pUserProperty, &pAckInfo->pUserProperty->count, &propertyLength, &pIndex); + status = decodeutf_8pair( pAckInfo->pUserProperty, &pAckInfo->pUserProperty->count, &propertyLength, &pLocalIndex); #else - status = decodeAndDiscard( &propertyLength, &pIndex); + status = decodeAndDiscard( &propertyLength, &pLocalIndex); #endif break; default: @@ -2289,10 +2366,12 @@ static MQTTStatus_t deserializeSimpleAckV5( const MQTTPacketInfo_t * pAck, { status = MQTTProtocolError; } + #if(MQTT_USER_PROPERTY_ENABLED) else if(pAckInfo->pUserProperty == NULL) { status = MQTTBadParameter; } + #endif else { status = decodeAckProperties(pAckInfo,pIndex,pAck->remainingLength); @@ -2330,7 +2409,7 @@ static uint8_t * serializePublishProperties(const MQTTPublishInfo_t *pPublishInf pIndexLocal++; pIndexLocal = encodeString( pIndexLocal, pPublishInfo->pCorrelationData, pPublishInfo->correlationLength ); } - + #if(MQTT_USER_PROEPRTY_ENABLED) if( pPublishInfo->pUserProperty != NULL ) { uint32_t i = 0; @@ -2345,42 +2424,60 @@ static uint8_t * serializePublishProperties(const MQTTPublishInfo_t *pPublishInf pIndexLocal = encodeString( pIndexLocal, pUserProperty[ i ].pValue, pUserProperty[ i ].valueLength ); } } + #endif return pIndexLocal; } -static MQTTStatus_t validateDisconnectResponseV5(uint8_t reasonCode){ +static MQTTStatus_t validateDisconnectResponseV5(uint8_t reasonCode, bool incoming){ MQTTStatus_t status; /*Validate the reason code.*/ switch(reasonCode){ - case (uint8_t)MQTT_REASON_SUCCESS: - /*Disconnect the will message*/ - case (uint8_t)MQTT_REASON_UNSPECIFIED_ERR: - case (uint8_t)MQTT_REASON_MALFORMED_PACKET: - case (uint8_t)MQTT_REASON_PROTOCOL_ERR: - case (uint8_t)MQTT_REASON_IMPL_SPECIFIC_ERR: - case (uint8_t)MQTT_REASON_NOT_AUTHORIZED: - case (uint8_t)MQTT_REASON_SERVER_BUSY: - case (uint8_t)MQTT_REASON_SERVER_SHUTTING_DOWN: - case (uint8_t)MQTT_REASON_KEEP_ALIVE_TIMEOUT: - case (uint8_t)MQTT_REASON_SESSION_TAKEN_OVER: - case (uint8_t)MQTT_REASON_TOPIC_FILTER_INVALID: - case (uint8_t)MQTT_REASON_TOPIC_NAME_INVALID : - case (uint8_t)MQTT_REASON_RX_MAX_EXCEEDED: - case (uint8_t)MQTT_REASON_TOPIC_ALIAS_INVALID: - case (uint8_t)MQTT_REASON_PACKET_TOO_LARGE: - case (uint8_t)MQTT_REASON_MSG_RATE_TOO_HIGH: - case (uint8_t)MQTT_REASON_QUOTA_EXCEEDED: - case (uint8_t)MQTT_REASON_ADMIN_ACTION: - case (uint8_t)MQTT_REASON_PAYLOAD_FORMAT_INVALID: - case (uint8_t)MQTT_REASON_RETAIN_NOT_SUPPORTED: - case (uint8_t)MQTT_REASON_QOS_NOT_SUPPORTED: - case (uint8_t)MQTT_REASON_USE_ANOTHER_SERVER: - case (uint8_t)MQTT_REASON_SERVER_MOVED: - case (uint8_t)MQTT_REASON_MAX_CON_TIME: - case (uint8_t)MQTT_REASON_SS_NOT_SUPPORTED: - case (uint8_t)MQTT_REASON_WILDCARD_SUB_NOT_SUP: + case MQTT_REASON_SEND_WILL: + if(incoming == true) + { + status = MQTTProtocolError; + } + else + { + status = MQTTSuccess; + } + break; + case MQTT_REASON_SUCCESS: + case MQTT_REASON_UNSPECIFIED_ERR: + case MQTT_REASON_MALFORMED_PACKET: + case MQTT_REASON_PROTOCOL_ERR: + case MQTT_REASON_IMPL_SPECIFIC_ERR: + case MQTT_REASON_TOPIC_NAME_INVALID : + case MQTT_REASON_RX_MAX_EXCEEDED: + case MQTT_REASON_TOPIC_ALIAS_INVALID: + case MQTT_REASON_PACKET_TOO_LARGE: + case MQTT_REASON_MSG_RATE_TOO_HIGH: + case MQTT_REASON_QUOTA_EXCEEDED: + case MQTT_REASON_ADMIN_ACTION: + case MQTT_REASON_PAYLOAD_FORMAT_INVALID: status = MQTTSuccess; break; + case MQTT_REASON_NOT_AUTHORIZED: + case MQTT_REASON_SERVER_BUSY: + case MQTT_REASON_SERVER_SHUTTING_DOWN: + case MQTT_REASON_KEEP_ALIVE_TIMEOUT: + case MQTT_REASON_SESSION_TAKEN_OVER: + case MQTT_REASON_TOPIC_FILTER_INVALID: + case MQTT_REASON_RETAIN_NOT_SUPPORTED: + case MQTT_REASON_QOS_NOT_SUPPORTED: + case MQTT_REASON_USE_ANOTHER_SERVER: + case MQTT_REASON_SERVER_MOVED: + case MQTT_REASON_MAX_CON_TIME: + case MQTT_REASON_SS_NOT_SUPPORTED: + case MQTT_REASON_WILDCARD_SUB_NOT_SUP: + if(incoming == true) + { + status = MQTTSuccess; + } + else{ + status = MQTTBadParameter; + } + break; default: status = MQTTProtocolError; break; @@ -5269,7 +5366,7 @@ uint8_t * MQTTV5_SerializeAckFixed(uint8_t * pIndex, pIndexLocal[1] = UINT16_LOW_BYTE( packetId ); pIndexLocal = &pIndexLocal[2]; /*We are only sending the ack back if the reason code is success.*/ - *pIndexLocal = (uint8_t)MQTT_REASON_SUCCESS; + *pIndexLocal = MQTT_REASON_SUCCESS; pIndexLocal ++; /*Encode the property length.*/ pIndexLocal = encodeRemainingLength(pIndexLocal,propertyLength); @@ -5346,7 +5443,7 @@ MQTTStatus_t MQTTV5_GetDisconnectPacketSize( MQTTAckInfo_t* pAckInfo, size_t * p LogError( ( "If the Session Expiry in the CONNECT packet was zero, then it is a Protocol Error to set a non-zero Session Expiry Interval in the DISCONNECT packet." ) ); status = MQTTBadParameter; } - else if(validateDisconnectResponseV5(pAckInfo->reasonCode) != MQTTSuccess) + else if(validateDisconnectResponseV5(pAckInfo->reasonCode,false) != MQTTSuccess) { LogError( ( "Invalid reason code." ) ); status = MQTTBadParameter; @@ -5570,7 +5667,7 @@ MQTTStatus_t MQTTV5_SerializeDisconnectWithProperty( const MQTTAckInfo_t *pAckIn pDisconnectInfo->reasonCode = *pIndex; pIndex ++; /*Validate the reason code.*/ - status = validateDisconnectResponseV5(pDisconnectInfo->reasonCode); + status = validateDisconnectResponseV5(pDisconnectInfo->reasonCode,true); } if(status == MQTTSuccess) { diff --git a/source/include/core_mqtt.h b/source/include/core_mqtt.h index 80981fb83..b1c1a2a0c 100644 --- a/source/include/core_mqtt.h +++ b/source/include/core_mqtt.h @@ -249,7 +249,7 @@ typedef struct MQTTContext /** * @brief Connect and Connack Properties. */ - MQTTConnectProperties_t * connectProperties; + MQTTConnectProperties_t * pConnectProperties; /** * @brief To store disconnect information. */ @@ -1030,7 +1030,21 @@ MQTTStatus_t MQTT_GetSubAckStatusCodes( const MQTTPacketInfo_t * pSubackPacket, const char * MQTT_Status_strerror( MQTTStatus_t status ); /* @[declare_mqtt_status_strerror] */ -MQTTStatus_t MQTTV5_Disconnect( MQTTContext_t * pContext , MQTTAckInfo_t *pAckInfo, uint32_t sessionExpiry); +/** + * @brief Disconnect an MQTT session. + * + * @param[in] pContext Initialized and connected MQTT context. + * @param[in] pDisconnectInfo Reason code and properties to encode + * @param[in] pContext + * @return #MQTTNoMemory if the #MQTTContext_t.networkBuffer is too small to + * hold the MQTT packet; + * #MQTTBadParameter if invalid parameters are passed; + * #MQTTSendFailed if transport send failed; + * #MQTTSuccess otherwise. + */ +/* @[declare_mqttv5_disconnect] */ +MQTTStatus_t MQTTV5_Disconnect( MQTTContext_t * pContext , MQTTAckInfo_t *pDisconnectInfo, uint32_t sessionExpiry); +/* @[declare_mqtt_disconnect] */ /* *INDENT-OFF* */ #ifdef __cplusplus diff --git a/source/include/core_mqtt_config_defaults.h b/source/include/core_mqtt_config_defaults.h index 131d5557e..cd8e6624e 100644 --- a/source/include/core_mqtt_config_defaults.h +++ b/source/include/core_mqtt_config_defaults.h @@ -84,7 +84,6 @@ #endif /*Disable the user properties if max user property is set to 0.*/ #if ( MAX_USER_PROPERTY == 0U ) - /** * @ingroup mqtt_constants * @brief Enable and disable user properties. diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index 39d343745..8a1f0c496 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -110,51 +110,6 @@ typedef enum MQTTStatus } MQTTStatus_t; -/** - * @ingroup mqtt_enum_types - * @brief Reason Code is a one byte unsigned value that indicates the result of an operation. - */ -typedef enum ReasonCode { - MQTT_REASON_SUCCESS = 0x00, - MQTT_REASON_NO_MATCHING_SUBSCRIBERS =0x10, - MQTT_REASON_UNSPECIFIED_ERR = 0x80, - MQTT_REASON_MALFORMED_PACKET = 0x81, - MQTT_REASON_PROTOCOL_ERR = 0x82, - MQTT_REASON_IMPL_SPECIFIC_ERR = 0x83, - MQTT_REASON_UNSUPPORTED_PROTO_VER = 0x84, - MQTT_REASON_CLIENT_ID_NOT_VALID = 0x85, - MQTT_REASON_BAD_USER_OR_PASS = 0x86, - MQTT_REASON_NOT_AUTHORIZED = 0x87, - MQTT_REASON_SERVER_UNAVAILABLE = 0x88, - MQTT_REASON_SERVER_BUSY = 0x89, - MQTT_REASON_BANNED = 0x8A, - MQTT_REASON_SERVER_SHUTTING_DOWN = 0x8B, - MQTT_REASON_BAD_AUTH_METHOD = 0x8C, - MQTT_REASON_KEEP_ALIVE_TIMEOUT = 0x8D, - MQTT_REASON_SESSION_TAKEN_OVER = 0x8E, - MQTT_REASON_TOPIC_FILTER_INVALID = 0x8F, - MQTT_REASON_TOPIC_NAME_INVALID = 0x90, - MQTT_REASON_PACKET_ID_IN_USE = 0x91, - MQTT_REASON_PACKET_ID_NOT_FOUND = 0x92, - MQTT_REASON_RX_MAX_EXCEEDED = 0x93, - MQTT_REASON_TOPIC_ALIAS_INVALID = 0x94, - MQTT_REASON_PACKET_TOO_LARGE = 0x95, - MQTT_REASON_MSG_RATE_TOO_HIGH = 0x96, - MQTT_REASON_QUOTA_EXCEEDED = 0x97, - MQTT_REASON_ADMIN_ACTION = 0x98, - MQTT_REASON_PAYLOAD_FORMAT_INVALID = 0x99, - MQTT_REASON_RETAIN_NOT_SUPPORTED = 0x9A, - MQTT_REASON_QOS_NOT_SUPPORTED = 0x9B, - MQTT_REASON_USE_ANOTHER_SERVER = 0x9C, - MQTT_REASON_SERVER_MOVED = 0x9D, - MQTT_REASON_SS_NOT_SUPPORTED = 0x9E, - MQTT_REASON_CON_RATE_EXCEED = 0x9F, - MQTT_REASON_MAX_CON_TIME = 0xA0, - MQTT_REASON_SUB_ID_NOT_SUP = 0xA1, - MQTT_REASON_WILDCARD_SUB_NOT_SUP = 0xA2 -}ReasonCode_t; - - /** * @ingroup mqtt_enum_types * @brief MQTT Quality of Service values. @@ -452,7 +407,7 @@ typedef struct MQTTAckInfo */ uint8_t reasonCode; /** - * @brief Property Lenght. + * @brief Property Length. */ size_t propertyLength; #if(MQTT_USER_PROPERTY_ENABLED) @@ -1621,8 +1576,6 @@ uint8_t * MQTT_SerializeUnsubscribeHeader( size_t remainingLength, uint16_t packetId ); /** @endcond */ -MQTTStatus_t MQTTV5_InitConnect(MQTTConnectProperties_t *pConnectProperties); - /** * @fn uint8_t * MQTT_SerializeConnectProperties(uint8_t * pIndex,const MQTTConnectProperties_t * pConnectProperties); * @brief Serialize the connect properties of the connect packet header. @@ -1725,9 +1678,16 @@ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackPropert bool * pSessionPresent ); /* @[declare_mqttv5_deserializeconnack] */ + +/* @[declare_mqttv5_deserializeconnack] */ +MQTTStatus_t MQTTV5_InitConnect(MQTTConnectProperties_t *pConnectProperties); +/* @[declare_mqttv5_initconnect] */ + /** * @brief Get the size and Remaining Length of an MQTT Version 5 CONNECT packet . * + * #MQTTV5_InitConnect can be called with @p pConnectProperties and before invoking this function + * to set the values to their default values. * This function must be called before #MQTT_SerializeConnect in order to get * the size of the MQTT CONNECT packet that is generated from #MQTTConnectInfo_t, * MQTTConnectProperties_t and optional #MQTTPublishInfo_t. The size of the #MQTTFixedBuffer_t supplied @@ -1788,7 +1748,7 @@ MQTTStatus_t MQTTV5_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, /** * @brief Serialize an MQTT CONNECT packet in the given fixed buffer @p pFixedBuffer. * - * #MQTT_GetConnectPacketSize should be called with @p pConnectInfo, @p pConnectProperties and + * #MQTTV5_GetConnectPacketSize should be called with @p pConnectInfo, @p pConnectProperties and * @p pWillInfo before invoking this function to get the size of the required * #MQTTFixedBuffer_t and @p remainingLength. The @p remainingLength must be * the same as returned by #MQTT_GetConnectPacketSize. The #MQTTFixedBuffer_t diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 1994824d5..6d8aae2a5 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -98,6 +98,8 @@ if( UNITTEST ) # Include build configuration for unit tests. add_subdirectory( unit-test/MQTT) add_subdirectory( unit-test/MQTTv5) + add_subdirectory( unit-test/WithoutUP) + # ==================================== Coverage Analysis configuration ======================================== diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index 67a42372d..925c9d4bb 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -221,6 +221,45 @@ struct NetworkContext #define MQTT_RESPONSE_INFO_ID ( 0x1A ) #define MQTT_SERVER_REF_ID ( 0x1C ) +#define MQTT_REASON_SUCCESS (0x00) +#define MQTT_REASON_SEND_WILL (0x04) +#define MQTT_REASON_NO_MATCHING_SUBSCRIBERS (0x10) +#define MQTT_REASON_UNSPECIFIED_ERR (0x80) +#define MQTT_REASON_MALFORMED_PACKET (0x81) +#define MQTT_REASON_PROTOCOL_ERR (0x82) +#define MQTT_REASON_IMPL_SPECIFIC_ERR (0x83) +#define MQTT_REASON_UNSUPPORTED_PROTO_VER (0x84) +#define MQTT_REASON_CLIENT_ID_NOT_VALID (0x85) +#define MQTT_REASON_BAD_USER_OR_PASS (0x86) +#define MQTT_REASON_NOT_AUTHORIZED (0x87) +#define MQTT_REASON_SERVER_UNAVAILABLE (0x88) +#define MQTT_REASON_SERVER_BUSY (0x89) +#define MQTT_REASON_BANNED (0x8A) +#define MQTT_REASON_SERVER_SHUTTING_DOWN (0x8B) +#define MQTT_REASON_BAD_AUTH_METHOD (0x8C) +#define MQTT_REASON_KEEP_ALIVE_TIMEOUT (0x8D) +#define MQTT_REASON_SESSION_TAKEN_OVER (0x8E) +#define MQTT_REASON_TOPIC_FILTER_INVALID (0x8F) +#define MQTT_REASON_TOPIC_NAME_INVALID (0x90) +#define MQTT_REASON_PACKET_ID_IN_USE (0x91) +#define MQTT_REASON_PACKET_ID_NOT_FOUND (0x92) +#define MQTT_REASON_RX_MAX_EXCEEDED (0x93) +#define MQTT_REASON_TOPIC_ALIAS_INVALID (0x94) +#define MQTT_REASON_PACKET_TOO_LARGE (0x95) +#define MQTT_REASON_MSG_RATE_TOO_HIGH (0x96) +#define MQTT_REASON_QUOTA_EXCEEDED (0x97) +#define MQTT_REASON_ADMIN_ACTION (0x98) +#define MQTT_REASON_PAYLOAD_FORMAT_INVALID (0x99) +#define MQTT_REASON_RETAIN_NOT_SUPPORTED (0x9A) +#define MQTT_REASON_QOS_NOT_SUPPORTED (0x9B) +#define MQTT_REASON_USE_ANOTHER_SERVER (0x9C) +#define MQTT_REASON_SERVER_MOVED (0x9D) +#define MQTT_REASON_SS_NOT_SUPPORTED (0x9E) +#define MQTT_REASON_CON_RATE_EXCEED (0x9F) +#define MQTT_REASON_MAX_CON_TIME (0xA0) +#define MQTT_REASON_SUB_ID_NOT_SUP (0xA1) +#define MQTT_REASON_WILDCARD_SUB_NOT_SUP (0xA2) + #define CORE_MQTT_ID_SIZE ( 1U ) #define MQTT_REMAINING_LENGTH_INVALID ( ( size_t ) 268435456 ) @@ -2834,6 +2873,11 @@ void test_MQTTV5_DeserializeAck_Pubrel() status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); + /*Invalid reason code.*/ + buffer[2]= MQTT_REASON_SEND_WILL; + status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); + /*Invalid packet id*/ buffer[1] = 0; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); @@ -3015,12 +3059,23 @@ void test_MQTTV5_GetDisconnectPacketSize() status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + /*Invalid Reason code*/ + maxPacketSize = 60U; + ackInfo.reasonCode = MQTT_REASON_SERVER_BUSY; + status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); + TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); /*Valid parameters*/ - maxPacketSize = 60U; + ackInfo.reasonCode = MQTT_REASON_SEND_WILL; status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); + /*Valid parameters*/ + ackInfo.reasonCode = MQTT_REASON_PACKET_TOO_LARGE; + status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); + TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); + + } void test_MQTTV5_SerializeDisconnectWithProperty() @@ -3141,12 +3196,12 @@ void test_MQTTV5_SerializeDisconnectWithProperty() /*Invalid reason code.*/ disconnectInfo.pUserProperty= &userProperties; - buffer[0] = 1; + buffer[0] = MQTT_REASON_SEND_WILL; status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); TEST_ASSERT_EQUAL_INT(MQTTProtocolError,status); packetInfo.remainingLength = 1; - buffer[0] = 0; + buffer[0] = MQTT_REASON_NOT_AUTHORIZED; status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index d0e6a0fc4..3553fcd25 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -581,7 +581,7 @@ void test_MQTT_Connect_happy_path() /* With non-NULL Will. */ mqttContext.connectStatus = MQTTNotConnected; mqttContext.keepAliveIntervalSec = 0; - mqttContext.connectProperties = &properties; + mqttContext.pConnectProperties = &properties; properties.sessionExpiry = 13; properties.receiveMax = 12; properties.maxPacketSize = 1000; @@ -681,7 +681,7 @@ void test_MQTT_Connect_receiveConnack( void ) memset( &mqttContext, 0x0, sizeof( mqttContext ) ); memset( &properties, 0x0, sizeof( properties ) ); MQTT_Init( &mqttContext, &transport, getTime, eventCallback, &networkBuffer ); - mqttContext.connectProperties = &properties; + mqttContext.pConnectProperties = &properties; /* Everything before receiving the CONNACK should succeed. */ MQTTV5_SerializeConnect_IgnoreAndReturn( MQTTSuccess ); MQTTV5_GetConnectPacketSize_IgnoreAndReturn( MQTTSuccess ); @@ -744,7 +744,7 @@ void test_MQTT_Publish( void ) /*Connect properties not defined*/ status = MQTT_Publish( &mqttContext, &publishInfo, PACKET_ID ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - mqttContext.connectProperties = &properties; + mqttContext.pConnectProperties = &properties; properties.maxPacketSize = 10000; MQTTV5_ValidatePublishParams_ExpectAnyArgsAndReturn(MQTTSuccess); @@ -788,7 +788,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths( void ) status = MQTT_Init( &context, &transport, getTime, eventCallback, &networkBuffer ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); properties.requestProblemInfo = 1; - context.connectProperties = &properties; + context.pConnectProperties = &properties; modifyIncomingPacketStatus = MQTTSuccess; stateAfterDeserialize = MQTTPubRelSend; MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); @@ -822,7 +822,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths2( void ) status = MQTT_Init( &context, &transport, getTime, eventCallback1, &networkBuffer ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); properties.requestProblemInfo = 1; - context.connectProperties = &properties; + context.pConnectProperties = &properties; modifyIncomingPacketStatus = MQTTSuccess; stateAfterDeserialize = MQTTPubRelSend; stateAfterSerialize = MQTTPubCompPending; @@ -857,7 +857,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths3( void ) incomingPacket.remainingLength = MQTT_SAMPLE_REMAINING_LENGTH; incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; properties.requestProblemInfo = 1; - context.connectProperties = &properties; + context.pConnectProperties = &properties; modifyIncomingPacketStatus = MQTTSuccess; MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); @@ -887,7 +887,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths4( void ) status = MQTT_Init( &context, &transport, getTime, eventCallback1, &networkBuffer ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); properties.requestProblemInfo = 1; - context.connectProperties = &properties; + context.pConnectProperties = &properties; modifyIncomingPacketStatus = MQTTSuccess; stateAfterDeserialize = MQTTPubRelSend; MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); @@ -922,7 +922,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths5( void ) status = MQTT_Init( &context, &transport, getTime, eventCallback1, &networkBuffer ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); properties.requestProblemInfo = 1; - context.connectProperties = &properties; + context.pConnectProperties = &properties; modifyIncomingPacketStatus = MQTTSuccess; stateAfterDeserialize = MQTTPubRelSend; stateAfterSerialize = MQTTPubCompPending; @@ -959,7 +959,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths6( void ) status = MQTT_Init( &context, &transport, getTime, eventCallback1, &networkBuffer ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); properties.requestProblemInfo = 1; - context.connectProperties = &properties; + context.pConnectProperties = &properties; modifyIncomingPacketStatus = MQTTSuccess; stateAfterDeserialize = MQTTPubRelPending; MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); @@ -994,7 +994,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths7( void ) context.transportInterface.send = transportSendNoBytes; context.transportInterface.writev = NULL; properties.requestProblemInfo = 1; - context.connectProperties = &properties; + context.pConnectProperties = &properties; modifyIncomingPacketStatus = MQTTSuccess; stateAfterDeserialize = MQTTPubRelSend; MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); @@ -1037,7 +1037,7 @@ void test_MQTTV5_Disconnect() TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); /*Bad Parameters*/ - context.connectProperties = &properties; + context.pConnectProperties = &properties; MQTTV5_GetDisconnectPacketSize_ExpectAnyArgsAndReturn(MQTTBadParameter); status = MQTTV5_Disconnect(&context, &ackInfo, sessionExpiry); TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); @@ -1086,7 +1086,7 @@ void test_MQTT_ProcessLoop_handleIncomingDisconnect( void ) status = MQTT_Init( &context, &transport, getTime, eventCallback1, &networkBuffer ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); context.pDisconnectInfo = &disconnectInfo; - context.connectProperties = &properties; + context.pConnectProperties = &properties; incomingPacket.type = MQTT_PACKET_TYPE_DISCONNECT; incomingPacket.remainingLength = MQTT_SAMPLE_REMAINING_LENGTH; incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; diff --git a/test/unit-test/WithoutUP/CMakeLists.txt b/test/unit-test/WithoutUP/CMakeLists.txt new file mode 100644 index 000000000..db4a66df3 --- /dev/null +++ b/test/unit-test/WithoutUP/CMakeLists.txt @@ -0,0 +1,95 @@ +# Include filepaths for source and include. +include( ${MODULE_ROOT_DIR}/mqttFilePaths.cmake ) + +# ==================== Define your project name (edit) ======================== +set(project_name "core_mqttv5WUP") + + +# ===================== Create your mock here (edit) ======================== + +# list the files to mock here +list(APPEND mock_list + "${MODULE_ROOT_DIR}/source/include/core_mqtt_serializer.h" + "${MODULE_ROOT_DIR}/source/include/core_mqtt_state.h" + ) +# list the directories your mocks need +list(APPEND mock_include_list + . + ${CMAKE_CURRENT_LIST_DIR}/logging + ${MQTT_INCLUDE_PUBLIC_DIRS} + ) +#list the definitions of your mocks to control what to be included +list(APPEND mock_define_list + "" + ) + +# ================= Create the library under test here (edit) ================== + +# list the files you would like to test here +list(APPEND real_source_files + ${MQTT_SOURCES} + ${MQTT_SERIALIZER_SOURCES} + ) +# list the directories the module under test includes +list(APPEND real_include_directories + . + ${CMAKE_CURRENT_LIST_DIR}/logging + ${MQTT_INCLUDE_PUBLIC_DIRS} + ) + +# ===================== Create UnitTest Code here (edit) ===================== + +# list the directories your test needs to include +list(APPEND test_include_directories + . + ${MQTT_INCLUDE_PUBLIC_DIRS} + ) + +# ============================= (end edit) =================================== + +set(mock_name "${project_name}_mock") +set(real_name "${project_name}_real") + +create_mock_list(${mock_name} + "${mock_list}" + "${MODULE_ROOT_DIR}/tools/cmock/project.yml" + "${mock_include_list}" + "${mock_define_list}" + ) + +create_real_library(${real_name} + "${real_source_files}" + "${real_include_directories}" + "${mock_name}" + ) + +list(APPEND utest_link_list + -l${mock_name} + lib${real_name}.a + ) + +list(APPEND utest_dep_list + ${real_name} + ) + +# need to redefine because the tests below don't use any mocks +set(utest_link_list "") +list(APPEND utest_link_list + lib${real_name}.a + ) + +# mqtt_serializer_utest +set(utest_name "${project_name}_serializer_utest") +set(utest_source "${project_name}_serializer_utest.c") + +set(utest_link_list "") +list(APPEND utest_link_list + lib${real_name}.a + ) + +create_test(${utest_name} + ${utest_source} + "${utest_link_list}" + "${utest_dep_list}" + "${test_include_directories}" + ) \ No newline at end of file diff --git a/test/unit-test/WithoutUP/cmock_opaque_types.h b/test/unit-test/WithoutUP/cmock_opaque_types.h new file mode 100644 index 000000000..04e2fbc76 --- /dev/null +++ b/test/unit-test/WithoutUP/cmock_opaque_types.h @@ -0,0 +1,36 @@ +/* + * coreMQTT v2.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#ifndef CMOCK_OPAQUE_TYPES_H_ +#define CMOCK_OPAQUE_TYPES_H_ + +/* CMock does not support opaque types so needs concrete definitions for them. + * This file is included in CMock .c files. */ + +struct NetworkContext +{ + int a; +}; + +#endif /* ifndef CMOCK_OPAQUE_TYPES_H_ */ diff --git a/test/unit-test/WithoutUP/core_mqtt_config.h b/test/unit-test/WithoutUP/core_mqtt_config.h new file mode 100644 index 000000000..f085f2f47 --- /dev/null +++ b/test/unit-test/WithoutUP/core_mqtt_config.h @@ -0,0 +1,79 @@ +/* + * coreMQTT v2.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/** + * @file core_mqtt_config.h + * @brief This header sets configuration macros for the MQTT library. + */ +#ifndef CORE_MQTT_CONFIG_H_ +#define CORE_MQTT_CONFIG_H_ + +/* Standard include. */ +#include + +/**************************************************/ +/******* DO NOT CHANGE the following order ********/ +/**************************************************/ + +/* Include logging header files and define logging macros in the following order: + * 1. Include the header file "logging_levels.h". + * 2. Define the LIBRARY_LOG_NAME and LIBRARY_LOG_LEVEL macros depending on + * the logging configuration for MQTT. + * 3. Include the header file "logging_stack.h", if logging is enabled for MQTT. + */ + +#include "../logging/logging_levels.h" + +/* Logging configuration for the MQTT library. */ +#ifndef LIBRARY_LOG_NAME + #define LIBRARY_LOG_NAME "MQTT" +#endif + +#ifndef LIBRARY_LOG_LEVEL + #define LIBRARY_LOG_LEVEL LOG_NONE +#endif + +#include "../logging/logging_stack.h" + +/************ End of logging configuration ****************/ + +/** + * @brief Retry count for reading CONNACK from network. + * + * #MQTT_Connect() can be using retries. If timeout passed as 0 to MQTT_Connect(), + * retries are used to attempt to read from network. The maximum retry count is + * specified by this config. + * + * These unit tests expect retrying only twice. + */ +#define MQTT_MAX_CONNACK_RECEIVE_RETRY_COUNT ( 2U ) + +#define MQTT_SUB_UNSUB_MAX_VECTORS ( 6U ) + +#define MQTT_SEND_TIMEOUT_MS ( 200U ) +#define MQTT_VERSION_5_ENABLED ( true ) +#define MAX_USER_PROPERTY (0U) +#define MQTT_USER_PROPERTY_ENABLED (false) + +#endif /* ifndef CORE_MQTT_CONFIG_H_ */ diff --git a/test/unit-test/WithoutUP/core_mqttv5WUP_serializer_utest.c b/test/unit-test/WithoutUP/core_mqttv5WUP_serializer_utest.c new file mode 100644 index 000000000..9e4aed530 --- /dev/null +++ b/test/unit-test/WithoutUP/core_mqttv5WUP_serializer_utest.c @@ -0,0 +1,318 @@ +/* + * coreMQTT v2.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/** + * @file core_mqtt_serializer_utest.c + * @brief Unit tests for functions in core_mqtt_serializer.h. + */ +#include +#include +#include +#include "unity.h" + +/* Include paths for public enums, structures, and macros. */ +#include "core_mqtt_serializer.h" + +/* Set network context to double pointer to buffer (uint8_t**). */ +struct NetworkContext +{ + uint8_t ** buffer; +}; + + +#define MQTT_TEST_UTF8_STRING ("test") +#define MQTT_TEST_UTF8_STRING_LENGTH (sizeof(MQTT_TEST_UTF8_STRING) -1) + +/** + * @brief Set a bit in an 8-bit unsigned integer. + */ +#define UINT8_SET_BIT( x, position ) ( ( x ) = ( uint8_t ) ( ( x ) | ( 0x01U << ( position ) ) ) ) + +/** + * @brief Macro for checking if a bit is set in a 1-byte unsigned int. + * + * @param[in] x The unsigned int to check. + * @param[in] position Which bit to check. + */ +#define UINT8_CHECK_BIT( x, position ) ( ( ( x ) & ( 0x01U << ( position ) ) ) == ( 0x01U << ( position ) ) ) + +/** + * @brief Get the high byte of a 16-bit unsigned integer. + */ +#define UINT16_HIGH_BYTE( x ) ( ( uint8_t ) ( ( x ) >> 8 ) ) + +/** + * @brief Get the low byte of a 16-bit unsigned integer. + */ +#define UINT16_LOW_BYTE( x ) ( ( uint8_t ) ( ( x ) & 0x00ffU ) ) + +#define MQTT_USER_PROPERTY_ID ( 0x26 ) +#define MQTT_REASON_STRING_ID ( 0x1F ) +#define MQTT_SERVER_REF_ID ( 0x1C ) + + +#define CORE_MQTT_ID_SIZE ( 1U ) +#define MQTT_REMAINING_LENGTH_INVALID ( ( size_t ) 268435456 ) + +/* Variables common to testcases */ +MQTTConnectProperties_t properties; +MQTTConnectInfo_t connectInfo; +MQTTPacketInfo_t packetInfo; +MQTTStatus_t status; + +/* ============================ UNITY FIXTURES ============================ */ + +/* Called before each test method. */ +void setUp( void ) +{ + memset(&properties, 0x0, sizeof(properties)); + memset(&connectInfo, 0x0, sizeof(connectInfo)); + memset(&packetInfo, 0x0, sizeof(packetInfo)); + +} + +/* Called after each test method. */ +void tearDown( void ) +{ +} + +/* Called at the beginning of the whole suite. */ +void suiteSetUp() +{ +} + +/* Called at the end of the whole suite. */ +int suiteTearDown( int numFailures ) +{ + return numFailures; +} + +/* ========================================================================== */ + +/** + * @brief Encode remaining length into pDestination for packet serialization + * using MQTT v3.1.1 spec. + * + * @param[in] pDestination Buffer to write encoded remaining length. + * @param[in] length Actual remaining length. + */ +static size_t encodeRemainingLength( uint8_t * pDestination, + size_t length ) +{ + uint8_t lengthByte; + uint8_t * pLengthEnd = NULL; + size_t remainingLength = length; + + TEST_ASSERT_NOT_NULL( pDestination ); + + pLengthEnd = pDestination; + + /* This algorithm is copied from the MQTT v3.1.1 spec. */ + do + { + lengthByte = ( uint8_t ) ( remainingLength % 128U ); + remainingLength = remainingLength / 128U; + + /* Set the high bit of this byte, indicating that there's more data. */ + if( remainingLength > 0U ) + { + UINT8_SET_BIT( lengthByte, 7 ); + } + + /* Output a single encoded byte. */ + *pLengthEnd = lengthByte; + pLengthEnd++; + } while( remainingLength > 0U ); + + return ( size_t ) ( pLengthEnd - pDestination ); +} + +/** + * @brief Encode UTF-8 string and its length into pDestination for + * packet serialization. + * + * @param[in] pDestination Buffer to write encoded string. + * @param[in] source String to encode. + * @param[in] sourceLength Length of the string to encode. + */ +static size_t encodeString( uint8_t * pDestination, + const char * source, + uint16_t sourceLength ) +{ + uint8_t * pBuffer = NULL; + + /* Typecast const char * typed source buffer to const uint8_t *. + * This is to use same type buffers in memcpy. */ + const uint8_t * pSourceBuffer = ( const uint8_t * ) source; + + TEST_ASSERT_NOT_NULL( pSourceBuffer ); + TEST_ASSERT_NOT_NULL( pDestination ); + + pBuffer = pDestination; + + /* The first byte of a UTF-8 string is the high byte of the string length. */ + *pBuffer = UINT16_HIGH_BYTE( sourceLength ); + pBuffer++; + + /* The second byte of a UTF-8 string is the low byte of the string length. */ + *pBuffer = UINT16_LOW_BYTE( sourceLength ); + pBuffer++; + + /* Copy the string into pBuffer. */ + ( void ) memcpy( pBuffer, pSourceBuffer, sourceLength ); + + /* Return the pointer to the end of the encoded string. */ + pBuffer += sourceLength; + + return ( size_t ) ( pBuffer - pDestination ); +} + +static uint8_t * serializeutf_8(uint8_t *pIndex, uint8_t propertyId) +{ + uint8_t *pIndexLocal = pIndex; + *pIndexLocal = propertyId; + pIndexLocal++; + size_t dummy = encodeString( pIndexLocal, MQTT_TEST_UTF8_STRING, MQTT_TEST_UTF8_STRING_LENGTH ); + pIndexLocal = &pIndexLocal[ dummy ]; + return pIndexLocal; +} + +static uint8_t * serializeutf_8pair(uint8_t *pIndex){ + uint8_t* pIndexLocal = pIndex; + *pIndexLocal = MQTT_USER_PROPERTY_ID; + pIndexLocal++; + size_t dummy = encodeString( pIndexLocal,MQTT_TEST_UTF8_STRING,MQTT_TEST_UTF8_STRING_LENGTH); + pIndexLocal = &pIndexLocal[ dummy ]; + dummy = encodeString( pIndexLocal, MQTT_TEST_UTF8_STRING, MQTT_TEST_UTF8_STRING_LENGTH ); + pIndexLocal = &pIndexLocal[ dummy ]; + return pIndexLocal; +} + +void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) +{ + uint8_t buffer[100] = { 0 }; + uint8_t * pIndexLocal = buffer; + buffer[ 0 ] = 0x01; + buffer[ 1 ] = 0x00; + + bool session = false; + properties.maxPacketSize = 100U; + packetInfo.pRemainingData = buffer; + packetInfo.type = MQTT_PACKET_TYPE_CONNACK; + packetInfo.remainingLength = 16; + pIndexLocal = &buffer[ 2 ]; + size_t propertyLength = encodeRemainingLength( pIndexLocal, 13 ); + pIndexLocal++; + pIndexLocal = serializeutf_8pair(pIndexLocal); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + + /*Invalid property length*/ + packetInfo.remainingLength = 5; + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 2 ); + pIndexLocal++; + pIndexLocal = serializeutf_8pair(pIndexLocal); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); + + /*Invalid property length*/ + packetInfo.remainingLength = 6; + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 3 ); + pIndexLocal++; + pIndexLocal = serializeutf_8pair(pIndexLocal); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); + + /*Invalid property length*/ + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 8 ); + packetInfo.remainingLength = propertyLength + 10; + pIndexLocal++; + pIndexLocal = serializeutf_8pair(pIndexLocal); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); + + /*Invalid property length*/ + packetInfo.remainingLength = 15; + pIndexLocal = &buffer[ 2 ]; + propertyLength = encodeRemainingLength( pIndexLocal, 12 ); + pIndexLocal++; + pIndexLocal = serializeutf_8pair(pIndexLocal); + status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); + +} +void test_MQTTV5_DeserializeAck( void ) +{ + MQTTAckInfo_t ackInfo; + uint16_t packetIdentifier; + uint32_t maxPacketSize = 200U; + bool requestProblem = true; + MQTTStatus_t status = MQTTSuccess; + uint8_t buffer[ 100 ] = { 0 }; + uint8_t* pIndex = buffer; + size_t dummy; + /* Verify parameters */ + memset( &ackInfo, 0x00, sizeof( ackInfo ) ); + packetInfo.pRemainingData = buffer; + buffer[ 0 ] = 0; + buffer[ 1 ] = 1; + buffer[2] = 0x00; + pIndex = &buffer[3]; + packetInfo.type = MQTT_PACKET_TYPE_PUBACK; + dummy= encodeRemainingLength(pIndex,20); + packetInfo.remainingLength = dummy + 23; + pIndex++; + pIndex = serializeutf_8(pIndex, MQTT_REASON_STRING_ID); + pIndex = serializeutf_8pair(pIndex); + status = MQTTV5_DeserializeAck( &packetInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + } + + + void test_MQTTV5_DeserializeDisconnect() + { + MQTTAckInfo_t disconnectInfo; + const char * pServerRef; + uint16_t serverRefLength; + int32_t maxPacketSize = 100U; + uint8_t buffer[ 100 ] = { 0 }; + uint8_t* pIndex = buffer; + size_t dummy; + memset(&disconnectInfo, 0x0, sizeof(disconnectInfo)); + /*With properties*/ + pIndex = &buffer[1]; + packetInfo.pRemainingData = buffer; + dummy= encodeRemainingLength(pIndex,27); + packetInfo.remainingLength = 28 + dummy; + pIndex++; + pIndex = serializeutf_8(pIndex, MQTT_REASON_STRING_ID); + pIndex = serializeutf_8pair(pIndex); + pIndex= serializeutf_8(pIndex, MQTT_SERVER_REF_ID); + status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + + } \ No newline at end of file From 8b1e761d3f55735b18d1249d33555d588862f0bc Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Tue, 16 Jul 2024 14:46:38 +0000 Subject: [PATCH 73/82] MQTTV5 --- source/core_mqtt.c | 2 +- source/core_mqtt_serializer.c | 9 +++++---- source/include/core_mqtt_serializer.h | 4 ++-- .../MQTTv5/core_mqttv5_serializer_utest.c | 6 +++--- test/unit-test/MQTTv5/core_mqttv5_utest.c | 14 +++++++------- 5 files changed, 18 insertions(+), 17 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 457c19d6f..d318eae6a 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -3012,7 +3012,7 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, remainingLength ); #if ( MQTT_VERSION_5_ENABLED ) - pIndex = MQTT_SerializeConnectProperties( pIndex, pContext->pConnectProperties ); + pIndex = MQTTV5_SerializeConnectProperties( pIndex, pContext->pConnectProperties ); #endif assert( ( ( size_t ) ( pIndex - connectPacketHeader ) ) <= sizeof( connectPacketHeader ) ); diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index abfd7e8cd..035fc7914 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -1470,7 +1470,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); remainingLength ); /* Serialize the connect Properties. */ - pIndex = MQTT_SerializeConnectProperties( pIndex, pConnectProperties ); + pIndex = MQTTV5_SerializeConnectProperties( pIndex, pConnectProperties ); #if ( MQTT_USER_PROPERTY_ENABLED ) if( pConnectProperties->pOutgoingUserProperty != NULL ) { @@ -2215,7 +2215,7 @@ static MQTTStatus_t calculatePublishPacketSizeV5( MQTTPublishInfo_t * pPublishIn assert( ( ( size_t ) ( pIndex - pFixedBuffer->pBuffer ) ) <= pFixedBuffer->size ); } - + /* coverity[misra_c_2012_rule_2_7_violation] */ static MQTTStatus_t logAckResponseV5(uint8_t reasonCode,uint16_t packetIdentifier){ MQTTStatus_t status = MQTTServerRefused; switch(reasonCode){ @@ -2262,6 +2262,7 @@ static MQTTStatus_t logAckResponseV5(uint8_t reasonCode,uint16_t packetIdentifie return status; } +/* coverity[misra_c_2012_rule_2_7_violation] */ static MQTTStatus_t logSimpleAckResponseV5(uint8_t reasonCode,uint16_t packetIdentifier){ MQTTStatus_t status = MQTTServerRefused; switch(reasonCode){ @@ -2409,7 +2410,7 @@ static uint8_t * serializePublishProperties(const MQTTPublishInfo_t *pPublishInf pIndexLocal++; pIndexLocal = encodeString( pIndexLocal, pPublishInfo->pCorrelationData, pPublishInfo->correlationLength ); } - #if(MQTT_USER_PROEPRTY_ENABLED) + #if(MQTT_USER_PROPERTY_ENABLED) if( pPublishInfo->pUserProperty != NULL ) { uint32_t i = 0; @@ -4943,7 +4944,7 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, return pIndexLocal; } - uint8_t * MQTT_SerializeConnectProperties( uint8_t * pIndex, + uint8_t * MQTTV5_SerializeConnectProperties( uint8_t * pIndex, const MQTTConnectProperties_t * pConnectProperties ) { uint8_t * pIndexLocal = pIndex; diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index 8a1f0c496..f30044544 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -1577,7 +1577,7 @@ uint8_t * MQTT_SerializeUnsubscribeHeader( size_t remainingLength, /** @endcond */ /** - * @fn uint8_t * MQTT_SerializeConnectProperties(uint8_t * pIndex,const MQTTConnectProperties_t * pConnectProperties); + * @fn uint8_t * MQTTV5_SerializeConnectProperties(uint8_t * pIndex,const MQTTConnectProperties_t * pConnectProperties); * @brief Serialize the connect properties of the connect packet header. * * @param[out] pIndex Pointer to the buffer where the header is to @@ -1591,7 +1591,7 @@ uint8_t * MQTT_SerializeUnsubscribeHeader( size_t remainingLength, * @cond DOXYGEN_IGNORE * Doxygen should ignore this definition, this function is private. */ -uint8_t * MQTT_SerializeConnectProperties( uint8_t * pIndex, +uint8_t * MQTTV5_SerializeConnectProperties( uint8_t * pIndex, const MQTTConnectProperties_t * pConnectProperties); /** @endcond */ diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index 925c9d4bb..1e1ab3ae2 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -908,7 +908,7 @@ static void verifySerializedConnectPacket( const MQTTConnectInfo_t * const pConn *pIndex ); pIndex++; /* Verify the connect properties into the CONNECT packet. */ - pIndex = MQTT_SerializeConnectProperties( pIndex, pConnectProperties ); + pIndex = MQTTV5_SerializeConnectProperties( pIndex, pConnectProperties ); if( pConnectProperties->pOutgoingUserProperty != NULL ) { @@ -1100,7 +1100,7 @@ void test_MQTT_GetPublishPropertiesSize( void ) TEST_ASSERT_EQUAL_size_t( 59, publishInfo.propertyLength ); } -void test_MQTT_SerializeConnectProperties( void ) +void test_MQTTV5_SerializeConnectProperties( void ) { uint8_t properties[ 24U ]; uint8_t * pIndex = properties; @@ -1117,7 +1117,7 @@ void test_MQTT_SerializeConnectProperties( void ) connect.requestResponseInfo = 1; connect.requestProblemInfo = 0; connect.propertyLength = 20; - pIndex = MQTT_SerializeConnectProperties( pIndex, &connect ); + pIndex = MQTTV5_SerializeConnectProperties( pIndex, &connect ); TEST_ASSERT_EQUAL_INT( 21, ( pIndex - properties ) ); status = decodeVariableLength( properties, &propertyLength ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index 3553fcd25..e92007563 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -380,7 +380,7 @@ static uint8_t * MQTT_SerializeConnectFixedHeader_cb( uint8_t * pIndex, return pIndex; } -static uint8_t * MQTT_SerializeConnectProperties_cb( uint8_t * pIndex, +static uint8_t * MQTTV5_SerializeConnectProperties_cb( uint8_t * pIndex, const MQTTConnectProperties_t * pConnectProperties , int numcallbacks ) @@ -616,7 +616,7 @@ void test_MQTT_Connect_happy_path() mqttContext.transportInterface.send = transportSendSuccess; MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); - MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); + MQTTV5_SerializeConnectProperties_Stub( MQTTV5_SerializeConnectProperties_cb ); MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTRecvFailed ); status = MQTT_Connect( &mqttContext, &connectInfo, NULL, timeout, &sessionPresent ); @@ -625,7 +625,7 @@ void test_MQTT_Connect_happy_path() properties.pOutgoingUserProperty = NULL; MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); - MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); + MQTTV5_SerializeConnectProperties_Stub( MQTTV5_SerializeConnectProperties_cb ); MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTRecvFailed ); status = MQTT_Connect( &mqttContext, &connectInfo, &willInfo, timeout, &sessionPresent ); @@ -633,7 +633,7 @@ void test_MQTT_Connect_happy_path() properties.pOutgoingAuth->authDataLength = 0; MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); - MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); + MQTTV5_SerializeConnectProperties_Stub( MQTTV5_SerializeConnectProperties_cb ); MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTRecvFailed ); status = MQTT_Connect( &mqttContext, &connectInfo, &willInfo, timeout, &sessionPresent ); @@ -646,7 +646,7 @@ void test_MQTT_Connect_happy_path() willInfo.pUserProperty = NULL; MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); - MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); + MQTTV5_SerializeConnectProperties_Stub( MQTTV5_SerializeConnectProperties_cb ); MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTRecvFailed ); status = MQTT_Connect( &mqttContext, &connectInfo, &willInfo, timeout, &sessionPresent ); @@ -656,7 +656,7 @@ void test_MQTT_Connect_happy_path() mqttContext.transportInterface.send = transportSendSuccess; MQTTV5_GetConnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); - MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); + MQTTV5_SerializeConnectProperties_Stub( MQTTV5_SerializeConnectProperties_cb ); MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); status = MQTT_Connect( &mqttContext, &connectInfo, &willInfo, timeout, &sessionPresent ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); @@ -691,7 +691,7 @@ void test_MQTT_Connect_receiveConnack( void ) MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTNoDataAvailable ); MQTT_GetIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTNoDataAvailable ); MQTT_SerializeConnectFixedHeader_Stub( MQTT_SerializeConnectFixedHeader_cb ); - MQTT_SerializeConnectProperties_Stub( MQTT_SerializeConnectProperties_cb ); + MQTTV5_SerializeConnectProperties_Stub( MQTTV5_SerializeConnectProperties_cb ); MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); status = MQTT_Connect( &mqttContext, &connectInfo, NULL, timeout, &sessionPresent ); TEST_ASSERT_EQUAL_INT( MQTTNoDataAvailable, status ); From ccaa60756a06115f2ffabc83e0189a8d56b8818b Mon Sep 17 00:00:00 2001 From: Pooja Toshniwal Date: Tue, 16 Jul 2024 14:50:12 +0000 Subject: [PATCH 74/82] Uncrustify: triggered by comment. --- source/core_mqtt.c | 717 ++++--- source/core_mqtt_serializer.c | 1872 +++++++++-------- source/include/core_mqtt.h | 11 +- source/include/core_mqtt_config_defaults.h | 1 + source/include/core_mqtt_serializer.h | 4 +- .../MQTTv5/core_mqttv5_serializer_utest.c | 911 ++++---- test/unit-test/MQTTv5/core_mqttv5_utest.c | 249 ++- test/unit-test/WithoutUP/core_mqtt_config.h | 4 +- .../core_mqttv5WUP_serializer_utest.c | 80 +- 9 files changed, 2011 insertions(+), 1838 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index d318eae6a..162d40cec 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -131,7 +131,7 @@ /** * @brief Size of the property id. */ - #define CORE_MQTT_ID_SIZE ( 1U ) + #define CORE_MQTT_ID_SIZE ( 1U ) #if ( MQTT_USER_PROPERTY_ENABLED ) @@ -739,7 +739,8 @@ static bool matchTopicFilter( const char * pTopicName, TransportOutVector_t * iterator, size_t * updatedLength, const uint8_t * packetId ); -#if(MQTT_USER_PROPERTY_ENABLED) + #if ( MQTT_USER_PROPERTY_ENABLED ) + /** * @brief Serialize the user properties. * @@ -753,12 +754,13 @@ static bool matchTopicFilter( const char * pTopicName, * @return The number of vectors added. */ - static size_t sendUserProperties( const MQTTUserProperties_t * pUserProperty, - UserPropertyVector_t * pUserVector, - size_t * pTotalMessageLength, - TransportOutVector_t ** pVectorIterator ); + static size_t sendUserProperties( const MQTTUserProperties_t * pUserProperty, + UserPropertyVector_t * pUserVector, + size_t * pTotalMessageLength, + TransportOutVector_t ** pVectorIterator ); + + #endif -#endif /** * @brief Serialize the variable length publish properties. * @@ -773,9 +775,9 @@ static bool matchTopicFilter( const char * pTopicName, */ static size_t sendPublishProperties( const MQTTPublishInfo_t * pPublishInfo, - PublishVector_t * pPublishVector, - size_t * pTotalMessageLength, - TransportOutVector_t ** pVectorIterator ); + PublishVector_t * pPublishVector, + size_t * pTotalMessageLength, + TransportOutVector_t ** pVectorIterator ); /** * @brief Serialize the variable length connect properties. @@ -802,15 +804,15 @@ static bool matchTopicFilter( const char * pTopicName, * @param[in] packetId packet ID of original PUBLISH. * @param[in] publishState Current publish state in record. * @param[in] pAckInfo Reason code and properties. - * + * * * @return #MQTTSuccess, #MQTTBadParameter, #MQTTIllegalState or #MQTTSendFailed. */ static MQTTStatus_t sendPublishAcksWithProperty( MQTTContext_t * pContext, - uint16_t packetId, - MQTTPublishState_t publishState, - MQTTAckInfo_t* pAckInfo); + uint16_t packetId, + MQTTPublishState_t publishState, + MQTTAckInfo_t * pAckInfo ); /*-----------------------------------------------------------*/ @@ -841,49 +843,49 @@ static bool matchTopicFilter( const char * pTopicName, return vectorsAdded; } -#if(MQTT_USER_PROPERTY_ENABLED) - static size_t sendUserProperties( const MQTTUserProperties_t * pUserProperty, - UserPropertyVector_t * pUserVector, - size_t * pTotalMessageLength, - TransportOutVector_t ** pVectorIterator ) - { - size_t vectorsAdded = 0U; - size_t ioVectorLength = 0U; - TransportOutVector_t * iterator = *pVectorIterator; - uint32_t i = 0; - uint32_t size = pUserProperty->count; - const MQTTUserProperty_t * userProperty = pUserProperty->userProperty; - - for( ; i < size; i++ ) + #if ( MQTT_USER_PROPERTY_ENABLED ) + static size_t sendUserProperties( const MQTTUserProperties_t * pUserProperty, + UserPropertyVector_t * pUserVector, + size_t * pTotalMessageLength, + TransportOutVector_t ** pVectorIterator ) { - pUserVector->userId[ i ] = MQTT_USER_PROPERTY_ID; - vectorsAdded = addEncodedStringToVectorWithId( pUserVector->serializedUserKeyLength[ i ], - userProperty[ i ].pKey, - userProperty[ i ].keyLength, - iterator, - pTotalMessageLength, &pUserVector->userId[ i ] ); - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[ vectorsAdded ]; - ioVectorLength += vectorsAdded; + size_t vectorsAdded = 0U; + size_t ioVectorLength = 0U; + TransportOutVector_t * iterator = *pVectorIterator; + uint32_t i = 0; + uint32_t size = pUserProperty->count; + const MQTTUserProperty_t * userProperty = pUserProperty->userProperty; + + for( ; i < size; i++ ) + { + pUserVector->userId[ i ] = MQTT_USER_PROPERTY_ID; + vectorsAdded = addEncodedStringToVectorWithId( pUserVector->serializedUserKeyLength[ i ], + userProperty[ i ].pKey, + userProperty[ i ].keyLength, + iterator, + pTotalMessageLength, &pUserVector->userId[ i ] ); + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; - vectorsAdded = addEncodedStringToVector( pUserVector->serializedUserValueLength[ i ], - userProperty[ i ].pValue, - userProperty[ i ].valueLength, - iterator, - pTotalMessageLength ); - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[ vectorsAdded ]; - ioVectorLength += vectorsAdded; - } + vectorsAdded = addEncodedStringToVector( pUserVector->serializedUserValueLength[ i ], + userProperty[ i ].pValue, + userProperty[ i ].valueLength, + iterator, + pTotalMessageLength ); + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; + } - *pVectorIterator = iterator; - return ioVectorLength; - } -#endif + *pVectorIterator = iterator; + return ioVectorLength; + } + #endif /* if ( MQTT_USER_PROPERTY_ENABLED ) */ static size_t sendPublishProperties( const MQTTPublishInfo_t * pPublishInfo, - PublishVector_t * pPublishVector, - size_t * pTotalMessageLength, - TransportOutVector_t ** pVectorIterator ) + PublishVector_t * pPublishVector, + size_t * pTotalMessageLength, + TransportOutVector_t ** pVectorIterator ) { size_t vectorsAdded = 0U; size_t ioVectorLength = 0U; @@ -1001,130 +1003,135 @@ static bool matchTopicFilter( const char * pTopicName, } static MQTTStatus_t sendPublishAcksWithProperty( MQTTContext_t * pContext, - uint16_t packetId, - MQTTPublishState_t publishState, - MQTTAckInfo_t* pAckInfo) -{ - int32_t bytesSentOrError; - size_t vectorsAdded = 0U; - size_t ioVectorLength = 0U; - size_t totalMessageLength = 0U; - MQTTStatus_t status = MQTTSuccess; - MQTTPublishState_t newState = MQTTStateNull; - uint8_t packetTypeByte = 0U; - MQTTPubAckType_t packetType; - /* Maximum number of bytes required by the fixed size properties and header. + uint16_t packetId, + MQTTPublishState_t publishState, + MQTTAckInfo_t * pAckInfo ) + { + int32_t bytesSentOrError; + size_t vectorsAdded = 0U; + size_t ioVectorLength = 0U; + size_t totalMessageLength = 0U; + MQTTStatus_t status = MQTTSuccess; + MQTTPublishState_t newState = MQTTStateNull; + uint8_t packetTypeByte = 0U; + MQTTPubAckType_t packetType; + + /* Maximum number of bytes required by the fixed size properties and header. * MQTT Control Byte 0 + 1 = 1 * Remaining length (max) + 4 = 5 * Packet Identifier + 2 = 7 * Reason Code + 1 = 8 * Property length (max) + 4 = 12 */ - uint8_t pubAckHeader[12]; - size_t remainingLength = 0U; - size_t packetSize = 0U; - /* The maximum vectors required to encode and send a publish ack. */ - TransportOutVector_t pIoVector[4 + MAX_USER_PROPERTY*5]; - uint8_t serializedReasonStringLength[ 2 ]; - uint8_t reasonStringId = MQTT_REASON_STRING_ID; - #if(MQTT_USER_PROPERTY_ENABLED) - UserPropertyVector_t userVector; - #endif - uint8_t * pIndex =pubAckHeader; - TransportOutVector_t * iterator = pIoVector; - assert( pContext != NULL ); - assert( pAckInfo != NULL ); - packetTypeByte = getAckTypeToSend( publishState ); - status = MQTTV5_GetAckPacketSize(pAckInfo, &remainingLength, &packetSize,pContext->pConnectProperties->serverMaxPacketSize); + uint8_t pubAckHeader[ 12 ]; + size_t remainingLength = 0U; + size_t packetSize = 0U; + /* The maximum vectors required to encode and send a publish ack. */ + TransportOutVector_t pIoVector[ 4 + MAX_USER_PROPERTY * 5 ]; + uint8_t serializedReasonStringLength[ 2 ]; + uint8_t reasonStringId = MQTT_REASON_STRING_ID; - if( (packetTypeByte != 0U) && (status == MQTTSuccess) ) - { - packetType = getAckFromPacketType( packetTypeByte ); - /* Only for fixed size fields. */ - pIndex = MQTTV5_SerializeAckFixed( pIndex, - packetTypeByte, - packetId, - remainingLength, - pAckInfo->propertyLength ); - iterator->iov_base = pubAckHeader; - /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-182 */ - /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-108 */ - /* coverity[misra_c_2012_rule_18_2_violation] */ - /* coverity[misra_c_2012_rule_10_8_violation] */ - iterator->iov_len = ( size_t ) ( pIndex - pubAckHeader ); - totalMessageLength += iterator->iov_len; - iterator++; - ioVectorLength++; - /* Encode the reason string if provided. */ - if(pAckInfo ->reasonStringLength != 0U) - { - vectorsAdded = addEncodedStringToVectorWithId( serializedReasonStringLength, - pAckInfo ->pReasonString, - pAckInfo ->reasonStringLength, - iterator, - &totalMessageLength, &reasonStringId ); - /* Update the iterator to point to the next empty slot. */ - iterator = &iterator[ vectorsAdded ]; - ioVectorLength += vectorsAdded; - } - #if(MQTT_USER_PROPERTY_ENABLED) - /*Encode the user properties if provided.*/ - if(pAckInfo->pUserProperty != NULL) - { - ioVectorLength += sendUserProperties( pAckInfo->pUserProperty, &userVector, &totalMessageLength, &iterator); - } + #if ( MQTT_USER_PROPERTY_ENABLED ) + UserPropertyVector_t userVector; #endif + uint8_t * pIndex = pubAckHeader; + TransportOutVector_t * iterator = pIoVector; + assert( pContext != NULL ); + assert( pAckInfo != NULL ); + packetTypeByte = getAckTypeToSend( publishState ); + status = MQTTV5_GetAckPacketSize( pAckInfo, &remainingLength, &packetSize, pContext->pConnectProperties->serverMaxPacketSize ); + + if( ( packetTypeByte != 0U ) && ( status == MQTTSuccess ) ) + { + packetType = getAckFromPacketType( packetTypeByte ); + /* Only for fixed size fields. */ + pIndex = MQTTV5_SerializeAckFixed( pIndex, + packetTypeByte, + packetId, + remainingLength, + pAckInfo->propertyLength ); + iterator->iov_base = pubAckHeader; + /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-182 */ + /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-108 */ + /* coverity[misra_c_2012_rule_18_2_violation] */ + /* coverity[misra_c_2012_rule_10_8_violation] */ + iterator->iov_len = ( size_t ) ( pIndex - pubAckHeader ); + totalMessageLength += iterator->iov_len; + iterator++; + ioVectorLength++; + + /* Encode the reason string if provided. */ + if( pAckInfo->reasonStringLength != 0U ) + { + vectorsAdded = addEncodedStringToVectorWithId( serializedReasonStringLength, + pAckInfo->pReasonString, + pAckInfo->reasonStringLength, + iterator, + &totalMessageLength, &reasonStringId ); + /* Update the iterator to point to the next empty slot. */ + iterator = &iterator[ vectorsAdded ]; + ioVectorLength += vectorsAdded; + } + + #if ( MQTT_USER_PROPERTY_ENABLED ) + /*Encode the user properties if provided.*/ + if( pAckInfo->pUserProperty != NULL ) + { + ioVectorLength += sendUserProperties( pAckInfo->pUserProperty, &userVector, &totalMessageLength, &iterator ); + } + #endif bytesSentOrError = sendMessageVector( pContext, pIoVector, ioVectorLength ); if( bytesSentOrError != ( int32_t ) totalMessageLength ) { LogError( ( "Failed to send ACK packet: PacketType=%02x, " - "PacketSize=%lu.", - ( unsigned int ) packetTypeByte, - packetSize ) ); + "PacketSize=%lu.", + ( unsigned int ) packetTypeByte, + packetSize ) ); status = MQTTSendFailed; } - - if(status == MQTTSuccess) - { - pContext->controlPacketSent = true; + + if( status == MQTTSuccess ) + { + pContext->controlPacketSent = true; MQTT_PRE_STATE_UPDATE_HOOK( pContext ); status = MQTT_UpdateStateAck( pContext, - packetId, - packetType, - MQTT_SEND, - &newState ); + packetId, + packetType, + MQTT_SEND, + &newState ); MQTT_POST_STATE_UPDATE_HOOK( pContext ); - if( status != MQTTSuccess ) { LogError( ( "Failed to update state of publish %hu.", ( unsigned short ) packetId ) ); } - + } + } + else + { + status = MQTTBadParameter; } - } - else{ - status = MQTTBadParameter; - } - return status; -} -static MQTTStatus_t sendDisconnectWithoutCopyV5( MQTTContext_t * pContext, - const MQTTAckInfo_t* pAckInfo, - size_t remainingLength, - uint32_t sessionExpiry) -{ - int32_t bytesSentOrError; - size_t vectorsAdded = 0U; - size_t ioVectorLength = 0U; - size_t totalMessageLength = 0U; - MQTTStatus_t status = MQTTSuccess; - /* Maximum number of bytes required by the fixed size part of the CONNECT + return status; + } + + static MQTTStatus_t sendDisconnectWithoutCopyV5( MQTTContext_t * pContext, + const MQTTAckInfo_t * pAckInfo, + size_t remainingLength, + uint32_t sessionExpiry ) + { + int32_t bytesSentOrError; + size_t vectorsAdded = 0U; + size_t ioVectorLength = 0U; + size_t totalMessageLength = 0U; + MQTTStatus_t status = MQTTSuccess; + + /* Maximum number of bytes required by the fixed size part of the CONNECT * packet header according to the MQTT specification. * MQTT Control Byte 0 + 1 = 1 * Remaining length (max) + 4 = 5 @@ -1132,26 +1139,28 @@ static MQTTStatus_t sendDisconnectWithoutCopyV5( MQTTContext_t * pContext, * Property length (max) + 4 = 10 * Session Expiry + 5 = 15 */ - uint8_t fixedHeader[15]; - /* The maximum vectors required to encode and send a disconnect packet. The - * breakdown is shown below. - * Fixed header 0 + 1 = 1 - * Reason String + 3 = 4 - * User Property + MAX_USER_PROPERTY*5* - * */ - TransportOutVector_t pIoVector[4 + MAX_USER_PROPERTY*5]; - uint8_t serializedReasonStringLength[ 2 ]; - uint8_t reasonStringId = MQTT_REASON_STRING_ID; - #if(MQTT_USER_PROPERTY_ENABLED) - UserPropertyVector_t userVector; - #endif - uint8_t * pIndex =fixedHeader; - TransportOutVector_t * iterator = pIoVector; - assert( pContext != NULL ); - assert( pAckInfo != NULL ); + uint8_t fixedHeader[ 15 ]; + + /* The maximum vectors required to encode and send a disconnect packet. The + * breakdown is shown below. + * Fixed header 0 + 1 = 1 + * Reason String + 3 = 4 + * User Property + MAX_USER_PROPERTY*5* + * */ + TransportOutVector_t pIoVector[ 4 + MAX_USER_PROPERTY * 5 ]; + uint8_t serializedReasonStringLength[ 2 ]; + uint8_t reasonStringId = MQTT_REASON_STRING_ID; + + #if ( MQTT_USER_PROPERTY_ENABLED ) + UserPropertyVector_t userVector; + #endif + uint8_t * pIndex = fixedHeader; + TransportOutVector_t * iterator = pIoVector; + assert( pContext != NULL ); + assert( pAckInfo != NULL ); /* Only for fixed size fields. */ - pIndex = MQTTV5_SerializeDisconnectFixed(pIndex,pAckInfo,remainingLength,sessionExpiry); + pIndex = MQTTV5_SerializeDisconnectFixed( pIndex, pAckInfo, remainingLength, sessionExpiry ); iterator->iov_base = fixedHeader; /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-182 */ /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-108 */ @@ -1161,36 +1170,38 @@ static MQTTStatus_t sendDisconnectWithoutCopyV5( MQTTContext_t * pContext, totalMessageLength += iterator->iov_len; iterator++; ioVectorLength++; - /* Encode the reason string if provided. */ - if(pAckInfo ->reasonStringLength != 0U) + + /* Encode the reason string if provided. */ + if( pAckInfo->reasonStringLength != 0U ) { vectorsAdded = addEncodedStringToVectorWithId( serializedReasonStringLength, - pAckInfo ->pReasonString, - pAckInfo ->reasonStringLength, + pAckInfo->pReasonString, + pAckInfo->reasonStringLength, iterator, &totalMessageLength, &reasonStringId ); /* Update the iterator to point to the next empty slot. */ iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; } - #if(MQTT_USER_PROPERTY_ENABLED) - /*Encode the user properties if provided.*/ - if(pAckInfo->pUserProperty != NULL) - { - ioVectorLength += sendUserProperties( pAckInfo->pUserProperty, &userVector, &totalMessageLength, &iterator); - } - #endif - - bytesSentOrError = sendMessageVector( pContext, pIoVector, ioVectorLength ); - if( bytesSentOrError != ( int32_t ) totalMessageLength ) + #if ( MQTT_USER_PROPERTY_ENABLED ) + /*Encode the user properties if provided.*/ + if( pAckInfo->pUserProperty != NULL ) { - status = MQTTSendFailed; - LogError( ( "Failed to send disconnect packet." ) ); + ioVectorLength += sendUserProperties( pAckInfo->pUserProperty, &userVector, &totalMessageLength, &iterator ); } - - return status; -} + #endif + + bytesSentOrError = sendMessageVector( pContext, pIoVector, ioVectorLength ); + + if( bytesSentOrError != ( int32_t ) totalMessageLength ) + { + status = MQTTSendFailed; + LogError( ( "Failed to send disconnect packet." ) ); + } + + return status; + } #endif /* if ( MQTT_VERSION_5_ENABLED ) */ @@ -2215,11 +2226,12 @@ static MQTTStatus_t handlePublishAcks( MQTTContext_t * pContext, MQTTPubAckType_t ackType; MQTTEventCallback_t appCallback; MQTTDeserializedInfo_t deserializedInfo; - #if(MQTT_VERSION_5_ENABLED) - MQTTAckInfo_t ackInfo; - MQTTAckInfo_t nextAckInfo; - ( void ) memset(&ackInfo,0x0,sizeof(ackInfo)); - ( void ) memset(&nextAckInfo,0x0,sizeof(nextAckInfo)); + + #if ( MQTT_VERSION_5_ENABLED ) + MQTTAckInfo_t ackInfo; + MQTTAckInfo_t nextAckInfo; + ( void ) memset( &ackInfo, 0x0, sizeof( ackInfo ) ); + ( void ) memset( &nextAckInfo, 0x0, sizeof( nextAckInfo ) ); #endif assert( pContext != NULL ); @@ -2229,10 +2241,10 @@ static MQTTStatus_t handlePublishAcks( MQTTContext_t * pContext, appCallback = pContext->appCallback; ackType = getAckFromPacketType( pIncomingPacket->type ); - #if(!MQTT_VERSION_5_ENABLED) - status = MQTT_DeserializeAck( pIncomingPacket, &packetIdentifier, NULL ); + #if ( !MQTT_VERSION_5_ENABLED ) + status = MQTT_DeserializeAck( pIncomingPacket, &packetIdentifier, NULL ); #else - status = MQTTV5_DeserializeAck(pIncomingPacket,&packetIdentifier,&ackInfo,pContext->pConnectProperties->requestProblemInfo, pContext->pConnectProperties->maxPacketSize); + status = MQTTV5_DeserializeAck( pIncomingPacket, &packetIdentifier, &ackInfo, pContext->pConnectProperties->requestProblemInfo, pContext->pConnectProperties->maxPacketSize ); #endif LogInfo( ( "Ack packet deserialized with result: %s.", MQTT_Status_strerror( status ) ) ); @@ -2262,52 +2274,54 @@ static MQTTStatus_t handlePublishAcks( MQTTContext_t * pContext, MQTT_Status_strerror( status ) ) ); } } - #if(!MQTT_VERSION_5_ENABLED) - if( status == MQTTSuccess ) - { - /* Set fields of deserialized struct. */ - deserializedInfo.packetIdentifier = packetIdentifier; - deserializedInfo.deserializationResult = status; - deserializedInfo.pPublishInfo = NULL; - /* Invoke application callback to hand the buffer over to application - * before sending acks. */ - appCallback( pContext, pIncomingPacket, &deserializedInfo ); + #if ( !MQTT_VERSION_5_ENABLED ) + if( status == MQTTSuccess ) + { + /* Set fields of deserialized struct. */ + deserializedInfo.packetIdentifier = packetIdentifier; + deserializedInfo.deserializationResult = status; + deserializedInfo.pPublishInfo = NULL; - /* Send PUBREL or PUBCOMP if necessary. */ - status = sendPublishAcks( pContext, - packetIdentifier, - publishRecordState ); - } - #else - if(status == MQTTSuccess){ - deserializedInfo.packetIdentifier = packetIdentifier; - deserializedInfo.deserializationResult = status; - deserializedInfo.pPublishInfo = NULL; - deserializedInfo.pAckInfo = &ackInfo; - deserializedInfo.pNextAckInfo = &nextAckInfo; - /* Invoke application callback to hand the buffer over to application - * before sending acks. */ - appCallback( pContext, pIncomingPacket, &deserializedInfo ); + /* Invoke application callback to hand the buffer over to application + * before sending acks. */ + appCallback( pContext, pIncomingPacket, &deserializedInfo ); - /* Send PUBREL or PUBCOMP if necessary. */ - if(deserializedInfo.pNextAckInfo == NULL) - { - status = sendPublishAcks( pContext, - packetIdentifier, - publishRecordState ); + /* Send PUBREL or PUBCOMP if necessary. */ + status = sendPublishAcks( pContext, + packetIdentifier, + publishRecordState ); } - else + #else /* if ( !MQTT_VERSION_5_ENABLED ) */ + if( status == MQTTSuccess ) { - MQTT_PRE_SEND_HOOK( pContext ); - - status = sendPublishAcksWithProperty(pContext,packetIdentifier,publishRecordState,deserializedInfo.pNextAckInfo); + deserializedInfo.packetIdentifier = packetIdentifier; + deserializedInfo.deserializationResult = status; + deserializedInfo.pPublishInfo = NULL; + deserializedInfo.pAckInfo = &ackInfo; + deserializedInfo.pNextAckInfo = &nextAckInfo; + + /* Invoke application callback to hand the buffer over to application + * before sending acks. */ + appCallback( pContext, pIncomingPacket, &deserializedInfo ); + + /* Send PUBREL or PUBCOMP if necessary. */ + if( deserializedInfo.pNextAckInfo == NULL ) + { + status = sendPublishAcks( pContext, + packetIdentifier, + publishRecordState ); + } + else + { + MQTT_PRE_SEND_HOOK( pContext ); - MQTT_POST_SEND_HOOK( pContext ); + status = sendPublishAcksWithProperty( pContext, packetIdentifier, publishRecordState, deserializedInfo.pNextAckInfo ); + MQTT_POST_SEND_HOOK( pContext ); + } } - } - #endif + #endif /* if ( !MQTT_VERSION_5_ENABLED ) */ return status; } @@ -2500,47 +2514,51 @@ static MQTTStatus_t receiveSingleIteration( MQTTContext_t * pContext, { status = handleIncomingPublish( pContext, &incomingPacket ); } - #if(MQTT_VERSION_5_ENABLED) - else if(( incomingPacket.type == MQTT_PACKET_TYPE_DISCONNECT)) - { - assert(pContext->pConnectProperties != NULL); - assert(pContext->pDisconnectInfo != NULL); - status = MQTTV5_DeserializeDisconnect( &incomingPacket, - pContext->pDisconnectInfo, - &pContext->pConnectProperties->pServerRef, - &pContext->pConnectProperties->serverRefLength, - pContext->pConnectProperties->maxPacketSize ); - if( status == MQTTSuccess ) - { - LogInfo( ( "Disconnected from the broker." ) ); - pContext->connectStatus = MQTTNotConnected; - - /* Reset the index and clean the buffer on a successful disconnect. */ - pContext->index = 0; - ( void ) memset( pContext->networkBuffer.pBuffer, 0, pContext->networkBuffer.size ); - } - } - #endif + + #if ( MQTT_VERSION_5_ENABLED ) + else if( ( incomingPacket.type == MQTT_PACKET_TYPE_DISCONNECT ) ) + { + assert( pContext->pConnectProperties != NULL ); + assert( pContext->pDisconnectInfo != NULL ); + status = MQTTV5_DeserializeDisconnect( &incomingPacket, + pContext->pDisconnectInfo, + &pContext->pConnectProperties->pServerRef, + &pContext->pConnectProperties->serverRefLength, + pContext->pConnectProperties->maxPacketSize ); + + if( status == MQTTSuccess ) + { + LogInfo( ( "Disconnected from the broker." ) ); + pContext->connectStatus = MQTTNotConnected; + + /* Reset the index and clean the buffer on a successful disconnect. */ + pContext->index = 0; + ( void ) memset( pContext->networkBuffer.pBuffer, 0, pContext->networkBuffer.size ); + } + } + #endif /* if ( MQTT_VERSION_5_ENABLED ) */ else { status = handleIncomingAck( pContext, &incomingPacket, manageKeepAlive ); } - if(incomingPacket.type != MQTT_PACKET_TYPE_DISCONNECT) + + if( incomingPacket.type != MQTT_PACKET_TYPE_DISCONNECT ) { - /* Update the index to reflect the remaining bytes in the buffer. */ - pContext->index -= totalMQTTPacketLength; + /* Update the index to reflect the remaining bytes in the buffer. */ + pContext->index -= totalMQTTPacketLength; - /* Move the remaining bytes to the front of the buffer. */ - ( void ) memmove( pContext->networkBuffer.pBuffer, - &( pContext->networkBuffer.pBuffer[ totalMQTTPacketLength ] ), - pContext->index ); + /* Move the remaining bytes to the front of the buffer. */ + ( void ) memmove( pContext->networkBuffer.pBuffer, + &( pContext->networkBuffer.pBuffer[ totalMQTTPacketLength ] ), + pContext->index ); - if( status == MQTTSuccess ) - { - pContext->lastPacketRxTime = pContext->getTime(); - } + if( status == MQTTSuccess ) + { + pContext->lastPacketRxTime = pContext->getTime(); + } } } + if( status == MQTTNoDataAvailable ) { /* No data available is not an error. Reset to MQTTSuccess so the @@ -2815,32 +2833,34 @@ static MQTTStatus_t sendPublishWithoutCopy( MQTTContext_t * pContext, * the MQTT specification. */ uint8_t serializedPacketID[ 2U ]; - /* Maximum number of vectors required to encode and send a publish + /* Maximum number of vectors required to encode and send a publish * packet. The breakdown is shown below. * Fixed header (including topic string length) 0 + 1 = 1 * Topic string + 1 = 2 * Packet ID (only when QoS > QoS0) + 1 = 3 * Payload + 1 = 4 */ - #if(!MQTT_VERSION_5_ENABLED) - TransportOutVector_t pIoVector[ 4U ]; + #if ( !MQTT_VERSION_5_ENABLED ) + TransportOutVector_t pIoVector[ 4U ]; #else - /* - * Fixed sized properties + 1 = 5 - * Response topic + 3 = 8 - * Correlation data + 3 = 11 - * Content type + 3 = 14 - * User property 5 - */ - TransportOutVector_t pIoVector[5* MAX_USER_PROPERTY + 14]; - /* Maximum number of bytes required by the fixed size publish properties. + + /* + * Fixed sized properties + 1 = 5 + * Response topic + 3 = 8 + * Correlation data + 3 = 11 + * Content type + 3 = 14 + * User property 5 + */ + TransportOutVector_t pIoVector[ 5 * MAX_USER_PROPERTY + 14 ]; + + /* Maximum number of bytes required by the fixed size publish properties. * Property length 0 + 4 = 4 * Payload Format Indicator + 2 = 6 * Message Expiry + 5 = 11 * Topic Alias + 3 = 14 */ - uint8_t serializedProperty[14U]; - uint8_t * pIndex; - PublishVector_t publishVector; - TransportOutVector_t * iterator; + uint8_t serializedProperty[ 14U ]; + uint8_t * pIndex; + PublishVector_t publishVector; + TransportOutVector_t * iterator; #endif @@ -2871,12 +2891,10 @@ static MQTTStatus_t sendPublishWithoutCopy( MQTTContext_t * pContext, totalMessageLength += sizeof( serializedPacketID ); } - #if(MQTT_VERSION_5_ENABLED) - - + #if ( MQTT_VERSION_5_ENABLED ) /*Serialize the fixed publish properties.*/ pIndex = serializedProperty; - iterator = &pIoVector[ioVectorLength]; + iterator = &pIoVector[ ioVectorLength ]; pIndex = MQTT_SerializePublishProperties( pPublishInfo, pIndex ); iterator->iov_base = serializedProperty; /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-182 */ @@ -2888,8 +2906,7 @@ static MQTTStatus_t sendPublishWithoutCopy( MQTTContext_t * pContext, iterator++; ioVectorLength++; ioVectorLength += sendPublishProperties( pPublishInfo, &publishVector, &totalMessageLength, &iterator ); - - #endif + #endif /* if ( MQTT_VERSION_5_ENABLED ) */ /* Publish packets are allowed to contain no payload. */ if( pPublishInfo->payloadLength > 0U ) @@ -2963,7 +2980,8 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, */ uint8_t connectPacketHeader[ 39U ]; - /* Maximum number of bytes required by the fixed size will properties. + + /* Maximum number of bytes required by the fixed size will properties. * Property length 0 + 4 = 4 * Will delay + 5 = 9 * Payload Format Indicator + 2 = 11 @@ -2971,7 +2989,7 @@ static MQTTStatus_t sendConnectWithoutCopy( MQTTContext_t * pContext, uint8_t fixedSizeProperties[ 16U ]; PublishVector_t willVector; PropertiesVector_t propertiesVector; - #endif + #endif /* if ( !MQTT_VERSION_5_ENABLED ) */ /* The maximum vectors required to encode and send a connect packet. The * breakdown is shown below. @@ -3338,12 +3356,14 @@ static MQTTStatus_t validatePublishParams( const MQTTContext_t * pContext, "to initialize and enable the use of QoS1/QoS2 publishes." ) ); status = MQTTBadParameter; } - #if(MQTT_VERSION_5_ENABLED) - else if(pContext->pConnectProperties == NULL){ - LogError( ( "Argument cannot be NULL: pConnectProperties=%p. ", - ( void * ) pContext->pConnectProperties ) ); - status = MQTTBadParameter; - } + + #if ( MQTT_VERSION_5_ENABLED ) + else if( pContext->pConnectProperties == NULL ) + { + LogError( ( "Argument cannot be NULL: pConnectProperties=%p. ", + ( void * ) pContext->pConnectProperties ) ); + status = MQTTBadParameter; + } #endif else { @@ -3670,23 +3690,24 @@ MQTTStatus_t MQTT_Publish( MQTTContext_t * pContext, if( status == MQTTSuccess ) { /* Get the remaining length and packet size.*/ - #if(!MQTT_VERSION_5_ENABLED) - status = MQTT_GetPublishPacketSize( pPublishInfo, - &remainingLength, - &packetSize ); + #if ( !MQTT_VERSION_5_ENABLED ) + status = MQTT_GetPublishPacketSize( pPublishInfo, + &remainingLength, + &packetSize ); #else - status = MQTTV5_ValidatePublishParams(pPublishInfo, - pContext->pConnectProperties->serverTopicAliasMax, - pContext->pConnectProperties->retainAvailable, - pContext->pConnectProperties->serverMaxQos ); - if(status == MQTTSuccess) - { - status = MQTTV5_GetPublishPacketSize( pPublishInfo, - &remainingLength, - &packetSize, - pContext->pConnectProperties->serverMaxPacketSize); - } - #endif + status = MQTTV5_ValidatePublishParams( pPublishInfo, + pContext->pConnectProperties->serverTopicAliasMax, + pContext->pConnectProperties->retainAvailable, + pContext->pConnectProperties->serverMaxQos ); + + if( status == MQTTSuccess ) + { + status = MQTTV5_GetPublishPacketSize( pPublishInfo, + &remainingLength, + &packetSize, + pContext->pConnectProperties->serverMaxPacketSize ); + } + #endif /* if ( !MQTT_VERSION_5_ENABLED ) */ } if( status == MQTTSuccess ) @@ -4241,51 +4262,53 @@ const char * MQTT_Status_strerror( MQTTStatus_t status ) return str; } -#if(MQTT_VERSION_5_ENABLED) -MQTTStatus_t MQTTV5_Disconnect( MQTTContext_t * pContext , MQTTAckInfo_t *pDisconnectInfo, uint32_t sessionExpiry) -{ - size_t packetSize = 0U; - size_t remainingLength = 0U; - MQTTStatus_t status = MQTTSuccess; - - /* Validate arguments. */ - if((pContext == NULL) || (pDisconnectInfo == NULL) || (pContext->pConnectProperties == NULL)) +#if ( MQTT_VERSION_5_ENABLED ) + MQTTStatus_t MQTTV5_Disconnect( MQTTContext_t * pContext, + MQTTAckInfo_t * pDisconnectInfo, + uint32_t sessionExpiry ) { - LogError( ( "pContext, pDisconnectInfo and connect properties cannot be NULL." ) ); - status = MQTTBadParameter; - } + size_t packetSize = 0U; + size_t remainingLength = 0U; + MQTTStatus_t status = MQTTSuccess; - if( status == MQTTSuccess ) - { - /* Get MQTT DISCONNECT packet size. */ - status = MQTTV5_GetDisconnectPacketSize( pDisconnectInfo,&remainingLength,&packetSize,pContext->pConnectProperties->serverMaxPacketSize,sessionExpiry,pContext->pConnectProperties->sessionExpiry ); - LogDebug( ( "MQTT DISCONNECT packet size is %lu.", - ( unsigned long ) packetSize ) ); - } + /* Validate arguments. */ + if( ( pContext == NULL ) || ( pDisconnectInfo == NULL ) || ( pContext->pConnectProperties == NULL ) ) + { + LogError( ( "pContext, pDisconnectInfo and connect properties cannot be NULL." ) ); + status = MQTTBadParameter; + } - if( status == MQTTSuccess ) - { - /* Take the mutex because the below call should not be interrupted. */ - MQTT_PRE_SEND_HOOK( pContext ); + if( status == MQTTSuccess ) + { + /* Get MQTT DISCONNECT packet size. */ + status = MQTTV5_GetDisconnectPacketSize( pDisconnectInfo, &remainingLength, &packetSize, pContext->pConnectProperties->serverMaxPacketSize, sessionExpiry, pContext->pConnectProperties->sessionExpiry ); + LogDebug( ( "MQTT DISCONNECT packet size is %lu.", + ( unsigned long ) packetSize ) ); + } - status = sendDisconnectWithoutCopyV5(pContext,pDisconnectInfo,remainingLength,sessionExpiry); + if( status == MQTTSuccess ) + { + /* Take the mutex because the below call should not be interrupted. */ + MQTT_PRE_SEND_HOOK( pContext ); - /* Give the mutex away. */ - MQTT_POST_SEND_HOOK( pContext ); - } + status = sendDisconnectWithoutCopyV5( pContext, pDisconnectInfo, remainingLength, sessionExpiry ); - if( status == MQTTSuccess ) - { - LogInfo( ( "Disconnected from the broker." ) ); - pContext->connectStatus = MQTTNotConnected; + /* Give the mutex away. */ + MQTT_POST_SEND_HOOK( pContext ); + } - /* Reset the index and clean the buffer on a successful disconnect. */ - pContext->index = 0; - ( void ) memset( pContext->networkBuffer.pBuffer, 0, pContext->networkBuffer.size ); - } + if( status == MQTTSuccess ) + { + LogInfo( ( "Disconnected from the broker." ) ); + pContext->connectStatus = MQTTNotConnected; - return status; -} -#endif + /* Reset the index and clean the buffer on a successful disconnect. */ + pContext->index = 0; + ( void ) memset( pContext->networkBuffer.pBuffer, 0, pContext->networkBuffer.size ); + } + + return status; + } +#endif /* if ( MQTT_VERSION_5_ENABLED ) */ /*-----------------------------------------------------------*/ diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 035fc7914..2677bc571 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -95,50 +95,51 @@ #define MQTT_MAX_REMAINING_LENGTH ( 268435455UL ) #if ( MQTT_VERSION_5_ENABLED ) + /** * @brief Per the MQTT spec, the max packet size can be of max remaining length + 5 bytes */ - #define MQTT_MAX_PACKET_SIZE (268435460U) + #define MQTT_MAX_PACKET_SIZE ( 268435460U ) /** * @brief Version 5 has the value 5. */ - #define MQTT_VERSION_5 ( 5U ) + #define MQTT_VERSION_5 ( 5U ) /** * @brief Per the MQTT 5 spec, the session expiry is of 5 bytes. */ - #define MQTT_SESSION_EXPIRY_SIZE ( 5U ) + #define MQTT_SESSION_EXPIRY_SIZE ( 5U ) /** * @brief Per the MQTT 5 spec, the receive maximum is of 3 bytes. */ - #define MQTT_RECEIVE_MAX_SIZE ( 3U ) + #define MQTT_RECEIVE_MAX_SIZE ( 3U ) /** * @brief Per the MQTT 5 spec, the max packet size is of 5 bytes. */ - #define MQTT_MAX_PACKET_PROPERTY_SIZE ( 5U ) + #define MQTT_MAX_PACKET_PROPERTY_SIZE ( 5U ) /** * @brief Per the MQTT 5 spec, the topic alias is of 3 bytes. */ - #define MQTT_TOPIC_ALIAS_SIZE ( 3U ) + #define MQTT_TOPIC_ALIAS_SIZE ( 3U ) /** * @brief Per the MQTT 5 spec, the request response is of 2 bytes. */ - #define MQTT_REQUEST_RESPONSE_SIZE ( 2U ) + #define MQTT_REQUEST_RESPONSE_SIZE ( 2U ) /** * @brief Per the MQTT 5 spec, the request problem is of 2 bytes. */ - #define MQTT_REQUEST_PROBLEM_SIZE ( 2U ) + #define MQTT_REQUEST_PROBLEM_SIZE ( 2U ) /** * @brief Utf 8 encoded string has 2 byte length field and 1 byte property id. */ - #define MQTT_UTF8_LENGTH_SIZE ( 3U ) + #define MQTT_UTF8_LENGTH_SIZE ( 3U ) /*Publish Properties*/ @@ -298,53 +299,53 @@ * @brief Size of the property id. */ - #define CORE_MQTT_ID_SIZE ( 1U ) + #define CORE_MQTT_ID_SIZE ( 1U ) /** * @ingroup mqtt_constants * @brief The size of MQTT PUBACK, PUBREC, PUBREL, and PUBCOMP packets with reason code, packet id. */ -#define MQTT_PUBLISH_ACK_PACKET_SIZE_WITH_REASON ( 3UL ) - - -#define MQTT_REASON_SUCCESS (0x00) -#define MQTT_REASON_SEND_WILL (0x04) -#define MQTT_REASON_NO_MATCHING_SUBSCRIBERS (0x10) -#define MQTT_REASON_UNSPECIFIED_ERR (0x80) -#define MQTT_REASON_MALFORMED_PACKET (0x81) -#define MQTT_REASON_PROTOCOL_ERR (0x82) -#define MQTT_REASON_IMPL_SPECIFIC_ERR (0x83) -#define MQTT_REASON_UNSUPPORTED_PROTO_VER (0x84) -#define MQTT_REASON_CLIENT_ID_NOT_VALID (0x85) -#define MQTT_REASON_BAD_USER_OR_PASS (0x86) -#define MQTT_REASON_NOT_AUTHORIZED (0x87) -#define MQTT_REASON_SERVER_UNAVAILABLE (0x88) -#define MQTT_REASON_SERVER_BUSY (0x89) -#define MQTT_REASON_BANNED (0x8A) -#define MQTT_REASON_SERVER_SHUTTING_DOWN (0x8B) -#define MQTT_REASON_BAD_AUTH_METHOD (0x8C) -#define MQTT_REASON_KEEP_ALIVE_TIMEOUT (0x8D) -#define MQTT_REASON_SESSION_TAKEN_OVER (0x8E) -#define MQTT_REASON_TOPIC_FILTER_INVALID (0x8F) -#define MQTT_REASON_TOPIC_NAME_INVALID (0x90) -#define MQTT_REASON_PACKET_ID_IN_USE (0x91) -#define MQTT_REASON_PACKET_ID_NOT_FOUND (0x92) -#define MQTT_REASON_RX_MAX_EXCEEDED (0x93) -#define MQTT_REASON_TOPIC_ALIAS_INVALID (0x94) -#define MQTT_REASON_PACKET_TOO_LARGE (0x95) -#define MQTT_REASON_MSG_RATE_TOO_HIGH (0x96) -#define MQTT_REASON_QUOTA_EXCEEDED (0x97) -#define MQTT_REASON_ADMIN_ACTION (0x98) -#define MQTT_REASON_PAYLOAD_FORMAT_INVALID (0x99) -#define MQTT_REASON_RETAIN_NOT_SUPPORTED (0x9A) -#define MQTT_REASON_QOS_NOT_SUPPORTED (0x9B) -#define MQTT_REASON_USE_ANOTHER_SERVER (0x9C) -#define MQTT_REASON_SERVER_MOVED (0x9D) -#define MQTT_REASON_SS_NOT_SUPPORTED (0x9E) -#define MQTT_REASON_CON_RATE_EXCEED (0x9F) -#define MQTT_REASON_MAX_CON_TIME (0xA0) -#define MQTT_REASON_SUB_ID_NOT_SUP (0xA1) -#define MQTT_REASON_WILDCARD_SUB_NOT_SUP (0xA2) + #define MQTT_PUBLISH_ACK_PACKET_SIZE_WITH_REASON ( 3UL ) + + + #define MQTT_REASON_SUCCESS ( 0x00 ) + #define MQTT_REASON_SEND_WILL ( 0x04 ) + #define MQTT_REASON_NO_MATCHING_SUBSCRIBERS ( 0x10 ) + #define MQTT_REASON_UNSPECIFIED_ERR ( 0x80 ) + #define MQTT_REASON_MALFORMED_PACKET ( 0x81 ) + #define MQTT_REASON_PROTOCOL_ERR ( 0x82 ) + #define MQTT_REASON_IMPL_SPECIFIC_ERR ( 0x83 ) + #define MQTT_REASON_UNSUPPORTED_PROTO_VER ( 0x84 ) + #define MQTT_REASON_CLIENT_ID_NOT_VALID ( 0x85 ) + #define MQTT_REASON_BAD_USER_OR_PASS ( 0x86 ) + #define MQTT_REASON_NOT_AUTHORIZED ( 0x87 ) + #define MQTT_REASON_SERVER_UNAVAILABLE ( 0x88 ) + #define MQTT_REASON_SERVER_BUSY ( 0x89 ) + #define MQTT_REASON_BANNED ( 0x8A ) + #define MQTT_REASON_SERVER_SHUTTING_DOWN ( 0x8B ) + #define MQTT_REASON_BAD_AUTH_METHOD ( 0x8C ) + #define MQTT_REASON_KEEP_ALIVE_TIMEOUT ( 0x8D ) + #define MQTT_REASON_SESSION_TAKEN_OVER ( 0x8E ) + #define MQTT_REASON_TOPIC_FILTER_INVALID ( 0x8F ) + #define MQTT_REASON_TOPIC_NAME_INVALID ( 0x90 ) + #define MQTT_REASON_PACKET_ID_IN_USE ( 0x91 ) + #define MQTT_REASON_PACKET_ID_NOT_FOUND ( 0x92 ) + #define MQTT_REASON_RX_MAX_EXCEEDED ( 0x93 ) + #define MQTT_REASON_TOPIC_ALIAS_INVALID ( 0x94 ) + #define MQTT_REASON_PACKET_TOO_LARGE ( 0x95 ) + #define MQTT_REASON_MSG_RATE_TOO_HIGH ( 0x96 ) + #define MQTT_REASON_QUOTA_EXCEEDED ( 0x97 ) + #define MQTT_REASON_ADMIN_ACTION ( 0x98 ) + #define MQTT_REASON_PAYLOAD_FORMAT_INVALID ( 0x99 ) + #define MQTT_REASON_RETAIN_NOT_SUPPORTED ( 0x9A ) + #define MQTT_REASON_QOS_NOT_SUPPORTED ( 0x9B ) + #define MQTT_REASON_USE_ANOTHER_SERVER ( 0x9C ) + #define MQTT_REASON_SERVER_MOVED ( 0x9D ) + #define MQTT_REASON_SS_NOT_SUPPORTED ( 0x9E ) + #define MQTT_REASON_CON_RATE_EXCEED ( 0x9F ) + #define MQTT_REASON_MAX_CON_TIME ( 0xA0 ) + #define MQTT_REASON_SUB_ID_NOT_SUP ( 0xA1 ) + #define MQTT_REASON_WILDCARD_SUB_NOT_SUP ( 0xA2 ) #endif /* if ( MQTT_VERSION_5_ENABLED ) */ @@ -408,9 +409,9 @@ * @param[in] ptr A uint8_t* that points to the high byte. */ #define UINT32_DECODE( ptr ) \ - ( uint32_t ) ( ( ( ( uint32_t ) ptr[ 0 ] ) << 24 ) | \ + ( uint32_t ) ( ( ( ( uint32_t ) ptr[ 0 ] ) << 24 ) | \ ( ( ( uint32_t ) ptr[ 1 ] ) << 16 ) | \ - ( ( ( uint32_t ) ptr[ 2 ] ) << 8 ) | \ + ( ( ( uint32_t ) ptr[ 2 ] ) << 8 ) | \ ( ( uint32_t ) ptr[ 3 ] ) ) #endif /* if ( MQTT_VERSION_5_ENABLED ) */ @@ -766,7 +767,8 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); size_t * pPropertyLength, const uint8_t ** pIndex ); -#else + #else /* if ( MQTT_USER_PROPERTY_ENABLED ) */ + /** * @brief Validate the length and decode a user property. * @@ -776,7 +778,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket **/ static MQTTStatus_t decodeAndDiscard( size_t * pPropertyLength, - const uint8_t ** pIndex ); + const uint8_t ** pIndex ); #endif /* if ( MQTT_USER_PROPERTY_ENABLED ) */ /** @@ -978,16 +980,16 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[out] pRemainingLength The Remaining Length of the MQTT PUBLISH packet. * @param[out] pPacketSize The total size of the MQTT PUBLISH packet. * @param[in] maxPacketSize Max packet size allowed by the server. - * + * * * @return MQTTBadParameter if the packet would exceed the size allowed by the * MQTT spec; true otherwise. */ static MQTTStatus_t calculatePublishPacketSizeV5( MQTTPublishInfo_t * pPublishInfo, - size_t * pRemainingLength, - size_t * pPacketSize, - uint32_t maxPacketSize ); - + size_t * pRemainingLength, + size_t * pPacketSize, + uint32_t maxPacketSize ); + /** * @brief Serialize a MQTT Publish Ack packet in the given buffer. * @@ -998,11 +1000,11 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[in] pFixedBuffer Buffer for packet serialization. * */ - static void seriailizePubAckPacketV5( const MQTTAckInfo_t * pAckInfo, - uint8_t packetType, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t * pFixedBuffer ); + static void seriailizePubAckPacketV5( const MQTTAckInfo_t * pAckInfo, + uint8_t packetType, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t * pFixedBuffer ); /** * @brief Prints the appropriate message for the PUBREL, PUBACK response code if logs @@ -1012,7 +1014,8 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket. */ - static MQTTStatus_t logAckResponseV5(uint8_t reasonCode,uint16_t packetIdentifier); + static MQTTStatus_t logAckResponseV5( uint8_t reasonCode, + uint16_t packetIdentifier ); /** * @brief Prints the appropriate message for the CONNACK response code if logs @@ -1021,8 +1024,9 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[in] responseCode MQTT Verion 5 standard CONNACK response code. * * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket. - */ - static MQTTStatus_t logSimpleAckResponseV5(uint8_t reasonCode,uint16_t packetIdentifier); + */ + static MQTTStatus_t logSimpleAckResponseV5( uint8_t reasonCode, + uint16_t packetIdentifier ); /** * @brief Validate the length and decode the publish ack properties. @@ -1034,7 +1038,9 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket **/ - static MQTTStatus_t decodeAckProperties (MQTTAckInfo_t * pAckInfo,const uint8_t * pIndex, size_t remainingLength); + static MQTTStatus_t decodeAckProperties( MQTTAckInfo_t * pAckInfo, + const uint8_t * pIndex, + size_t remainingLength ); /** * @brief Deserialize an PUBACK, PUBREC, PUBREL, or PUBCOMP packet. @@ -1050,18 +1056,20 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @return #MQTTSuccess, #MQTTBadresponse, #MQTTProtocolError and #MQTTMalformedPacket. */ static MQTTStatus_t deserializeSimpleAckV5( const MQTTPacketInfo_t * pAck, - uint16_t * pPacketIdentifier, - MQTTAckInfo_t *pAckInfo, - bool requestProblem ); + uint16_t * pPacketIdentifier, + MQTTAckInfo_t * pAckInfo, + bool requestProblem ); - static uint8_t * serializePublishProperties(const MQTTPublishInfo_t *pPublishInfo, uint8_t * pIndex); + static uint8_t * serializePublishProperties( const MQTTPublishInfo_t * pPublishInfo, + uint8_t * pIndex ); - static void seriailizeDisconnectPacketV5( const MQTTAckInfo_t * pAckInfo, - const MQTTFixedBuffer_t * pFixedBuffer, - size_t remainingLength, - uint32_t sessionExpiry ); + static void seriailizeDisconnectPacketV5( const MQTTAckInfo_t * pAckInfo, + const MQTTFixedBuffer_t * pFixedBuffer, + size_t remainingLength, + uint32_t sessionExpiry ); - static MQTTStatus_t validateDisconnectResponseV5(uint8_t reasonCode, bool incoming); + static MQTTStatus_t validateDisconnectResponseV5( uint8_t reasonCode, + bool incoming ); /*-----------------------------------------------------------*/ #if ( MQTT_USER_PROPERTY_ENABLED ) @@ -1180,10 +1188,9 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); return status; } - #else - static MQTTStatus_t decodeAndDiscard( - size_t * pPropertyLength, - const uint8_t ** pIndex ) + #else /* if ( MQTT_USER_PROPERTY_ENABLED ) */ + static MQTTStatus_t decodeAndDiscard( size_t * pPropertyLength, + const uint8_t ** pIndex ) { const uint8_t * pVariableHeader = *pIndex; MQTTStatus_t status = MQTTSuccess; @@ -1191,6 +1198,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); uint16_t valueLength; const char * pKey; const char * pValue; + /*Validate the property length and decode the user property received.*/ if( *pPropertyLength < sizeof( uint16_t ) ) { @@ -1235,14 +1243,16 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); } } } - + *pIndex = pVariableHeader; - if(status == MQTTSuccess) + + if( status == MQTTSuccess ) { LogDebug( ( "Discarded additional user property with key %s and value %s. ", pKey, pValue ) ); } + return status; } @@ -1291,7 +1301,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); MQTTStatus_t status = MQTTSuccess; /*Validate the arguments*/ - if( pConnectProperties->maxPacketSize == 0U ) + if( pConnectProperties->maxPacketSize == 0U ) { status = MQTTBadParameter; } @@ -1372,11 +1382,13 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); { propertyLength += MQTT_WILL_DELAY_SIZE; } + /*Only applicable for publish packet.*/ - if(pPublishProperties->topicAlias != 0U) + if( pPublishProperties->topicAlias != 0U ) { propertyLength += 3U; } + if( pPublishProperties->payloadFormat != 0U ) { propertyLength += MQTT_PAYLOAD_FORMAT_SIZE; @@ -1511,7 +1523,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); /* Serialize the will properties,topic name and message into the CONNECT packet if provided. */ if( pWillInfo != NULL ) { - pIndex = serializePublishProperties(pWillInfo,pIndex); + pIndex = serializePublishProperties( pWillInfo, pIndex ); pIndex = encodeString( pIndex, pWillInfo->pTopicName, pWillInfo->topicNameLength ); pIndex = encodeString( pIndex, pWillInfo->pPayload, ( uint16_t ) pWillInfo->payloadLength ); } @@ -2008,10 +2020,11 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); case MQTT_USER_PROPERTY_ID: #if ( MQTT_USER_PROPERTY_ENABLED ) status = decodeutf_8pair( pConnackProperties->pIncomingUserProperty, &pConnackProperties->pIncomingUserProperty->count, &propertyLength, &pVariableHeader ); - #else - status = decodeAndDiscard(&propertyLength, &pVariableHeader); + #else + status = decodeAndDiscard( &propertyLength, &pVariableHeader ); #endif - break; + break; + case MQTT_WILDCARD_ID: status = decodeuint8_t( &pConnackProperties->isWildcardAvaiable, &propertyLength, &wildcard, &pVariableHeader ); break; @@ -2077,100 +2090,105 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); return status; } -static MQTTStatus_t calculatePublishPacketSizeV5( MQTTPublishInfo_t * pPublishInfo, - size_t * pRemainingLength, - size_t * pPacketSize, - uint32_t maxPacketSize ) -{ - MQTTStatus_t status = MQTTSuccess; - size_t packetSize = 0, payloadLimit = 0; - - assert( pPublishInfo != NULL ); - assert( pRemainingLength != NULL ); - assert( pPacketSize != NULL ); - - /* The variable header of a PUBLISH packet always contains the topic name. - * The first 2 bytes of UTF-8 string contains length of the string. - */ - packetSize += pPublishInfo->topicNameLength + sizeof( uint16_t ); - - /* The variable header of a QoS 1 or 2 PUBLISH packet contains a 2-byte - * packet identifier. */ - if( pPublishInfo->qos > MQTTQoS0 ) + static MQTTStatus_t calculatePublishPacketSizeV5( MQTTPublishInfo_t * pPublishInfo, + size_t * pRemainingLength, + size_t * pPacketSize, + uint32_t maxPacketSize ) { - packetSize += sizeof( uint16_t ); - } - - /*Calculate the size of the publish properties*/ - status = MQTT_GetPublishPropertiesSize(pPublishInfo); + MQTTStatus_t status = MQTTSuccess; + size_t packetSize = 0, payloadLimit = 0; - if(status == MQTTSuccess){ - packetSize += pPublishInfo->propertyLength; - packetSize += remainingLengthEncodedSize (pPublishInfo->propertyLength); - /* Calculate the maximum allowed size of the payload for the given parameters. - * This calculation excludes the "Remaining length" encoding, whose size is not - * yet known. */ - payloadLimit = MQTT_MAX_REMAINING_LENGTH - packetSize - 1U; + assert( pPublishInfo != NULL ); + assert( pRemainingLength != NULL ); + assert( pPacketSize != NULL ); - /* Ensure that the given payload fits within the calculated limit. */ - if( pPublishInfo->payloadLength > payloadLimit ) - { - LogError( ( "PUBLISH payload length of %lu cannot exceed " - "%lu so as not to exceed the maximum " - "remaining length of MQTT 3.1.1 packet( %lu ).", - ( unsigned long ) pPublishInfo->payloadLength, - ( unsigned long ) payloadLimit, - MQTT_MAX_REMAINING_LENGTH ) ); - status = MQTTBadParameter; - } + /* The variable header of a PUBLISH packet always contains the topic name. + * The first 2 bytes of UTF-8 string contains length of the string. + */ + packetSize += pPublishInfo->topicNameLength + sizeof( uint16_t ); - } - if(status == MQTTSuccess) - { - /* Add the length of the PUBLISH payload. At this point, the "Remaining length" - * has been calculated. */ - packetSize += pPublishInfo->payloadLength; + /* The variable header of a QoS 1 or 2 PUBLISH packet contains a 2-byte + * packet identifier. */ + if( pPublishInfo->qos > MQTTQoS0 ) + { + packetSize += sizeof( uint16_t ); + } - /* Now that the "Remaining length" is known, recalculate the payload limit - * based on the size of its encoding. */ - payloadLimit -= remainingLengthEncodedSize( packetSize ); + /*Calculate the size of the publish properties*/ + status = MQTT_GetPublishPropertiesSize( pPublishInfo ); - /* Check that the given payload fits within the size allowed by MQTT spec. */ - if( pPublishInfo->payloadLength > payloadLimit ) + if( status == MQTTSuccess ) { - LogError( ( "PUBLISH payload length of %lu cannot exceed " - "%lu so as not to exceed the maximum " - "remaining length of MQTT 3.1.1 packet( %lu ).", - ( unsigned long ) pPublishInfo->payloadLength, - ( unsigned long ) payloadLimit, - MQTT_MAX_REMAINING_LENGTH ) ); - status = MQTTBadParameter; + packetSize += pPublishInfo->propertyLength; + packetSize += remainingLengthEncodedSize( pPublishInfo->propertyLength ); + + /* Calculate the maximum allowed size of the payload for the given parameters. + * This calculation excludes the "Remaining length" encoding, whose size is not + * yet known. */ + payloadLimit = MQTT_MAX_REMAINING_LENGTH - packetSize - 1U; + + /* Ensure that the given payload fits within the calculated limit. */ + if( pPublishInfo->payloadLength > payloadLimit ) + { + LogError( ( "PUBLISH payload length of %lu cannot exceed " + "%lu so as not to exceed the maximum " + "remaining length of MQTT 3.1.1 packet( %lu ).", + ( unsigned long ) pPublishInfo->payloadLength, + ( unsigned long ) payloadLimit, + MQTT_MAX_REMAINING_LENGTH ) ); + status = MQTTBadParameter; + } } - else + + if( status == MQTTSuccess ) { - /* Set the "Remaining length" output parameter and calculate the full - * size of the PUBLISH packet. */ - *pRemainingLength = packetSize; + /* Add the length of the PUBLISH payload. At this point, the "Remaining length" + * has been calculated. */ + packetSize += pPublishInfo->payloadLength; - packetSize += 1U + remainingLengthEncodedSize( packetSize ); - if(packetSize > maxPacketSize){ - LogError(("Packet size is greater than the allowed maximum packet size.")); + /* Now that the "Remaining length" is known, recalculate the payload limit + * based on the size of its encoding. */ + payloadLimit -= remainingLengthEncodedSize( packetSize ); + + /* Check that the given payload fits within the size allowed by MQTT spec. */ + if( pPublishInfo->payloadLength > payloadLimit ) + { + LogError( ( "PUBLISH payload length of %lu cannot exceed " + "%lu so as not to exceed the maximum " + "remaining length of MQTT 3.1.1 packet( %lu ).", + ( unsigned long ) pPublishInfo->payloadLength, + ( unsigned long ) payloadLimit, + MQTT_MAX_REMAINING_LENGTH ) ); status = MQTTBadParameter; } - *pPacketSize = packetSize; + else + { + /* Set the "Remaining length" output parameter and calculate the full + * size of the PUBLISH packet. */ + *pRemainingLength = packetSize; + + packetSize += 1U + remainingLengthEncodedSize( packetSize ); + + if( packetSize > maxPacketSize ) + { + LogError( ( "Packet size is greater than the allowed maximum packet size." ) ); + status = MQTTBadParameter; + } + + *pPacketSize = packetSize; + } } - } - LogDebug( ( "PUBLISH packet remaining length=%lu and packet size=%lu.", - ( unsigned long ) *pRemainingLength, - ( unsigned long ) *pPacketSize ) ); + LogDebug( ( "PUBLISH packet remaining length=%lu and packet size=%lu.", + ( unsigned long ) *pRemainingLength, + ( unsigned long ) *pPacketSize ) ); - return status; -} + return status; + } - static void seriailizePubAckPacketV5( const MQTTAckInfo_t * pAckInfo, - uint8_t packetType, - uint16_t packetId, + static void seriailizePubAckPacketV5( const MQTTAckInfo_t * pAckInfo, + uint8_t packetType, + uint16_t packetId, size_t remainingLength, const MQTTFixedBuffer_t * pFixedBuffer ) { @@ -2186,305 +2204,359 @@ static MQTTStatus_t calculatePublishPacketSizeV5( MQTTPublishInfo_t * pPublishIn packetId, remainingLength, pAckInfo->propertyLength ); + /*Serialize the reason string if provided.*/ - if(pAckInfo->reasonStringLength != 0U) + if( pAckInfo->reasonStringLength != 0U ) { - *pIndex = MQTT_REASON_STRING_ID; - pIndex++; - pIndex = encodeString( pIndex, pAckInfo->pReasonString, pAckInfo->reasonStringLength ); + *pIndex = MQTT_REASON_STRING_ID; + pIndex++; + pIndex = encodeString( pIndex, pAckInfo->pReasonString, pAckInfo->reasonStringLength ); } - #if(MQTT_USER_PROPERTY_ENABLED) - /*Serialize the user properties if provided.*/ - if( pAckInfo->pUserProperty != NULL ) - { - uint32_t i = 0; - uint32_t size = pAckInfo->pUserProperty->count; - const MQTTUserProperty_t * pUserProperty = pAckInfo->pUserProperty->userProperty; - for( ; i < size; i++ ) + #if ( MQTT_USER_PROPERTY_ENABLED ) + /*Serialize the user properties if provided.*/ + if( pAckInfo->pUserProperty != NULL ) { - *pIndex = MQTT_USER_PROPERTY_ID; - pIndex++; - pIndex = encodeString( pIndex, pUserProperty[ i ].pKey, pUserProperty[ i ].keyLength ); - pIndex = encodeString( pIndex, pUserProperty[ i ].pValue, pUserProperty[ i ].valueLength ); + uint32_t i = 0; + uint32_t size = pAckInfo->pUserProperty->count; + const MQTTUserProperty_t * pUserProperty = pAckInfo->pUserProperty->userProperty; + + for( ; i < size; i++ ) + { + *pIndex = MQTT_USER_PROPERTY_ID; + pIndex++; + pIndex = encodeString( pIndex, pUserProperty[ i ].pKey, pUserProperty[ i ].keyLength ); + pIndex = encodeString( pIndex, pUserProperty[ i ].pValue, pUserProperty[ i ].valueLength ); + } } - } - #endif + #endif /* if ( MQTT_USER_PROPERTY_ENABLED ) */ + /* Ensure that the difference between the end and beginning of the buffer * is less than the buffer size. */ assert( ( ( size_t ) ( pIndex - pFixedBuffer->pBuffer ) ) <= pFixedBuffer->size ); } - /* coverity[misra_c_2012_rule_2_7_violation] */ -static MQTTStatus_t logAckResponseV5(uint8_t reasonCode,uint16_t packetIdentifier){ - MQTTStatus_t status = MQTTServerRefused; - switch(reasonCode){ - case MQTT_REASON_SUCCESS: - status = MQTTSuccess; - break; - case MQTT_REASON_NO_MATCHING_SUBSCRIBERS: - LogDebug(("Publish accepted with packet id %hu: No matching subscribers.", - ( unsigned short ) packetIdentifier) ); - status = MQTTSuccess; - break; - case MQTT_REASON_UNSPECIFIED_ERR: - LogError( ( "Publish refused with packet id %hu: Connection rate exceeded.", - ( unsigned short ) packetIdentifier) ); - break; - case MQTT_REASON_IMPL_SPECIFIC_ERR: - LogError( ( "Publish refused with packet id %hu: The PUBLISH is valid but the receiver is not willing to accept it.", - ( unsigned short ) packetIdentifier) ); - break; - case MQTT_REASON_NOT_AUTHORIZED: - LogError( ( "Publish refused with packet id %hu: The PUBLISH is not authorized.", - ( unsigned short ) packetIdentifier) ); - break; - case MQTT_REASON_TOPIC_NAME_INVALID: - LogError( ( "Publish refused with packet id %hu: Topic Name not accepted.", - ( unsigned short ) packetIdentifier) ); - break; - case MQTT_REASON_PACKET_ID_IN_USE: - LogError( ( "Publish refused with packet id %hu: The Packet Identifier is already in use. ", - ( unsigned short ) packetIdentifier) ); - break; - case MQTT_REASON_QUOTA_EXCEEDED: - LogError( ( "Publish refused with packet id %hu: Quota exceeded.", - ( unsigned short ) packetIdentifier) ); - break; - case MQTT_REASON_PAYLOAD_FORMAT_INVALID: - LogError( ( "Publish refused with packet id %hu: Payload format indicator is invalid.", - ( unsigned short ) packetIdentifier) ); - break; - default: - status = MQTTProtocolError; - break; +/* coverity[misra_c_2012_rule_2_7_violation] */ + static MQTTStatus_t logAckResponseV5( uint8_t reasonCode, + uint16_t packetIdentifier ) + { + MQTTStatus_t status = MQTTServerRefused; + + switch( reasonCode ) + { + case MQTT_REASON_SUCCESS: + status = MQTTSuccess; + break; + + case MQTT_REASON_NO_MATCHING_SUBSCRIBERS: + LogDebug( ( "Publish accepted with packet id %hu: No matching subscribers.", + ( unsigned short ) packetIdentifier ) ); + status = MQTTSuccess; + break; + + case MQTT_REASON_UNSPECIFIED_ERR: + LogError( ( "Publish refused with packet id %hu: Connection rate exceeded.", + ( unsigned short ) packetIdentifier ) ); + break; + + case MQTT_REASON_IMPL_SPECIFIC_ERR: + LogError( ( "Publish refused with packet id %hu: The PUBLISH is valid but the receiver is not willing to accept it.", + ( unsigned short ) packetIdentifier ) ); + break; + + case MQTT_REASON_NOT_AUTHORIZED: + LogError( ( "Publish refused with packet id %hu: The PUBLISH is not authorized.", + ( unsigned short ) packetIdentifier ) ); + break; + + case MQTT_REASON_TOPIC_NAME_INVALID: + LogError( ( "Publish refused with packet id %hu: Topic Name not accepted.", + ( unsigned short ) packetIdentifier ) ); + break; + + case MQTT_REASON_PACKET_ID_IN_USE: + LogError( ( "Publish refused with packet id %hu: The Packet Identifier is already in use. ", + ( unsigned short ) packetIdentifier ) ); + break; + + case MQTT_REASON_QUOTA_EXCEEDED: + LogError( ( "Publish refused with packet id %hu: Quota exceeded.", + ( unsigned short ) packetIdentifier ) ); + break; + + case MQTT_REASON_PAYLOAD_FORMAT_INVALID: + LogError( ( "Publish refused with packet id %hu: Payload format indicator is invalid.", + ( unsigned short ) packetIdentifier ) ); + break; + + default: + status = MQTTProtocolError; + break; + } + + return status; } - return status; -} /* coverity[misra_c_2012_rule_2_7_violation] */ -static MQTTStatus_t logSimpleAckResponseV5(uint8_t reasonCode,uint16_t packetIdentifier){ - MQTTStatus_t status = MQTTServerRefused; - switch(reasonCode){ - case MQTT_REASON_SUCCESS: - status = MQTTSuccess; - break; - case MQTT_REASON_PACKET_ID_NOT_FOUND: - LogError( ( "Publish refused with packet id %hu: Packet identifier invalid.", - ( unsigned short ) packetIdentifier) ); - status = MQTTServerRefused; - break; - default: - status = MQTTProtocolError; - break; - } - return status; -} + static MQTTStatus_t logSimpleAckResponseV5( uint8_t reasonCode, + uint16_t packetIdentifier ) + { + MQTTStatus_t status = MQTTServerRefused; + + switch( reasonCode ) + { + case MQTT_REASON_SUCCESS: + status = MQTTSuccess; + break; + case MQTT_REASON_PACKET_ID_NOT_FOUND: + LogError( ( "Publish refused with packet id %hu: Packet identifier invalid.", + ( unsigned short ) packetIdentifier ) ); + status = MQTTServerRefused; + break; -static MQTTStatus_t decodeAckProperties(MQTTAckInfo_t * pAckInfo,const uint8_t * pIndex, size_t remainingLength) -{ - size_t propertyLength = 0U; - MQTTStatus_t status = MQTTSuccess; - const uint8_t * pLocalIndex= pIndex; - /*Decode the property length*/ - status = decodeVariableLength(pLocalIndex,&propertyLength); - if(status == MQTTSuccess) - { - pLocalIndex= &pLocalIndex[remainingLengthEncodedSize(propertyLength)]; - /*Validate the remaining length.*/ - if(remainingLength != (propertyLength + remainingLengthEncodedSize(propertyLength)+ 3U)){ - status = MQTTMalformedPacket; + default: + status = MQTTProtocolError; + break; } + + return status; } - if(status == MQTTSuccess) + + + static MQTTStatus_t decodeAckProperties( MQTTAckInfo_t * pAckInfo, + const uint8_t * pIndex, + size_t remainingLength ) { - while((propertyLength>0U) && (status == MQTTSuccess)) + size_t propertyLength = 0U; + MQTTStatus_t status = MQTTSuccess; + const uint8_t * pLocalIndex = pIndex; + + /*Decode the property length*/ + status = decodeVariableLength( pLocalIndex, &propertyLength ); + + if( status == MQTTSuccess ) + { + pLocalIndex = &pLocalIndex[ remainingLengthEncodedSize( propertyLength ) ]; + + /*Validate the remaining length.*/ + if( remainingLength != ( propertyLength + remainingLengthEncodedSize( propertyLength ) + 3U ) ) + { + status = MQTTMalformedPacket; + } + } + + if( status == MQTTSuccess ) + { + while( ( propertyLength > 0U ) && ( status == MQTTSuccess ) ) { /*Decode the poperty id.*/ uint8_t packetId = *pLocalIndex; bool reasonString = false; - pLocalIndex = &pLocalIndex[1]; + pLocalIndex = &pLocalIndex[ 1 ]; propertyLength -= sizeof( uint8_t ); - switch(packetId){ + + switch( packetId ) + { case MQTT_REASON_STRING_ID: status = decodeutf_8( &pAckInfo->pReasonString, &pAckInfo->reasonStringLength, &propertyLength, &reasonString, &pLocalIndex ); - break; + break; + case MQTT_USER_PROPERTY_ID: - #if(MQTT_USER_PROPERTY_ENABLED) - status = decodeutf_8pair( pAckInfo->pUserProperty, &pAckInfo->pUserProperty->count, &propertyLength, &pLocalIndex); - #else - status = decodeAndDiscard( &propertyLength, &pLocalIndex); - #endif - break; + #if ( MQTT_USER_PROPERTY_ENABLED ) + status = decodeutf_8pair( pAckInfo->pUserProperty, &pAckInfo->pUserProperty->count, &propertyLength, &pLocalIndex ); + #else + status = decodeAndDiscard( &propertyLength, &pLocalIndex ); + #endif + break; + default: - status = MQTTProtocolError; - break; + status = MQTTProtocolError; + break; } } - } - return status; - -} - -static MQTTStatus_t deserializeSimpleAckV5( const MQTTPacketInfo_t * pAck, - uint16_t * pPacketIdentifier, - MQTTAckInfo_t *pAckInfo, - bool requestProblem ) -{ - MQTTStatus_t status = MQTTSuccess; - const uint8_t * pIndex = pAck->pRemainingData; + } - if(pAck->remainingLength< 2U){ - status = MQTTMalformedPacket; + return status; } - if(status == MQTTSuccess){ - /* Extract the packet identifier (third and fourth bytes) from ACK. */ - *pPacketIdentifier = UINT16_DECODE(pIndex); - pIndex= &pIndex[2]; - - LogDebug( ( "Packet identifier %hu.", - ( unsigned short ) *pPacketIdentifier ) ); + static MQTTStatus_t deserializeSimpleAckV5( const MQTTPacketInfo_t * pAck, + uint16_t * pPacketIdentifier, + MQTTAckInfo_t * pAckInfo, + bool requestProblem ) + { + MQTTStatus_t status = MQTTSuccess; + const uint8_t * pIndex = pAck->pRemainingData; - /* Packet identifier cannot be 0. */ - if( *pPacketIdentifier == 0U ) + if( pAck->remainingLength < 2U ) { - LogError( ( "Packet identifier cannot be 0." ) ); - status = MQTTBadResponse; + status = MQTTMalformedPacket; } - } - /* If reason code is success, server can choose to not send the reason code.*/ - if((status == MQTTSuccess) && (pAck->remainingLength > 2U)){ - pAckInfo->reasonCode = *pIndex; - pIndex ++; - } - if((pAck->remainingLength > 4U)) - { - /*Protocol error to send user property and reason string if client has set request problem to false.*/ - if(requestProblem == false) + if( status == MQTTSuccess ) { - status = MQTTProtocolError; + /* Extract the packet identifier (third and fourth bytes) from ACK. */ + *pPacketIdentifier = UINT16_DECODE( pIndex ); + pIndex = &pIndex[ 2 ]; + + LogDebug( ( "Packet identifier %hu.", + ( unsigned short ) *pPacketIdentifier ) ); + + /* Packet identifier cannot be 0. */ + if( *pPacketIdentifier == 0U ) + { + LogError( ( "Packet identifier cannot be 0." ) ); + status = MQTTBadResponse; + } } - #if(MQTT_USER_PROPERTY_ENABLED) - else if(pAckInfo->pUserProperty == NULL) + + /* If reason code is success, server can choose to not send the reason code.*/ + if( ( status == MQTTSuccess ) && ( pAck->remainingLength > 2U ) ) { - status = MQTTBadParameter; + pAckInfo->reasonCode = *pIndex; + pIndex++; } - #endif - else + + if( ( pAck->remainingLength > 4U ) ) { - status = decodeAckProperties(pAckInfo,pIndex,pAck->remainingLength); + /*Protocol error to send user property and reason string if client has set request problem to false.*/ + if( requestProblem == false ) + { + status = MQTTProtocolError; + } + #if ( MQTT_USER_PROPERTY_ENABLED ) + else if( pAckInfo->pUserProperty == NULL ) + { + status = MQTTBadParameter; + } + #endif + else + { + status = decodeAckProperties( pAckInfo, pIndex, pAck->remainingLength ); + } } + + return status; } - return status; -} + static uint8_t * serializePublishProperties( const MQTTPublishInfo_t * pPublishInfo, + uint8_t * pIndex ) + { + uint8_t * pIndexLocal = pIndex; -static uint8_t * serializePublishProperties(const MQTTPublishInfo_t *pPublishInfo, uint8_t * pIndex) -{ - uint8_t *pIndexLocal = pIndex; pIndexLocal = MQTT_SerializePublishProperties( pPublishInfo, pIndexLocal ); - /*Serialize the provided will properties which has variable length.*/ - if( pPublishInfo->contentTypeLength != 0U ) - { - *pIndexLocal = MQTT_CONTENT_TYPE_ID; - pIndexLocal++; - pIndexLocal = encodeString( pIndexLocal, pPublishInfo->pContentType, pPublishInfo->contentTypeLength ); - } + /*Serialize the provided will properties which has variable length.*/ + if( pPublishInfo->contentTypeLength != 0U ) + { + *pIndexLocal = MQTT_CONTENT_TYPE_ID; + pIndexLocal++; + pIndexLocal = encodeString( pIndexLocal, pPublishInfo->pContentType, pPublishInfo->contentTypeLength ); + } + if( pPublishInfo->responseTopicLength != 0U ) + { + *pIndexLocal = MQTT_RESPONSE_TOPIC_ID; + pIndexLocal++; + pIndexLocal = encodeString( pIndexLocal, pPublishInfo->pResponseTopic, pPublishInfo->responseTopicLength ); + } - if( pPublishInfo->responseTopicLength != 0U ) - { - *pIndexLocal = MQTT_RESPONSE_TOPIC_ID; - pIndexLocal++; - pIndexLocal = encodeString( pIndexLocal, pPublishInfo->pResponseTopic, pPublishInfo->responseTopicLength ); - } + if( pPublishInfo->correlationLength != 0U ) + { + *pIndexLocal = MQTT_CORRELATION_DATA_ID; + pIndexLocal++; + pIndexLocal = encodeString( pIndexLocal, pPublishInfo->pCorrelationData, pPublishInfo->correlationLength ); + } - if( pPublishInfo->correlationLength != 0U ) - { - *pIndexLocal = MQTT_CORRELATION_DATA_ID; - pIndexLocal++; - pIndexLocal = encodeString( pIndexLocal, pPublishInfo->pCorrelationData, pPublishInfo->correlationLength ); - } - #if(MQTT_USER_PROPERTY_ENABLED) - if( pPublishInfo->pUserProperty != NULL ) - { - uint32_t i = 0; - uint32_t size = pPublishInfo->pUserProperty->count; - const MQTTUserProperty_t * pUserProperty = pPublishInfo->pUserProperty->userProperty; + #if ( MQTT_USER_PROPERTY_ENABLED ) + if( pPublishInfo->pUserProperty != NULL ) + { + uint32_t i = 0; + uint32_t size = pPublishInfo->pUserProperty->count; + const MQTTUserProperty_t * pUserProperty = pPublishInfo->pUserProperty->userProperty; - for( ; i < size; i++ ) - { - *pIndexLocal = MQTT_USER_PROPERTY_ID; - pIndexLocal++; - pIndexLocal = encodeString( pIndexLocal, pUserProperty[ i ].pKey, pUserProperty[ i ].keyLength ); - pIndexLocal = encodeString( pIndexLocal, pUserProperty[ i ].pValue, pUserProperty[ i ].valueLength ); - } - } - #endif - return pIndexLocal; -} + for( ; i < size; i++ ) + { + *pIndexLocal = MQTT_USER_PROPERTY_ID; + pIndexLocal++; + pIndexLocal = encodeString( pIndexLocal, pUserProperty[ i ].pKey, pUserProperty[ i ].keyLength ); + pIndexLocal = encodeString( pIndexLocal, pUserProperty[ i ].pValue, pUserProperty[ i ].valueLength ); + } + } + #endif /* if ( MQTT_USER_PROPERTY_ENABLED ) */ + return pIndexLocal; + } -static MQTTStatus_t validateDisconnectResponseV5(uint8_t reasonCode, bool incoming){ - MQTTStatus_t status; - /*Validate the reason code.*/ - switch(reasonCode){ - case MQTT_REASON_SEND_WILL: - if(incoming == true) - { - status = MQTTProtocolError; - } - else + static MQTTStatus_t validateDisconnectResponseV5( uint8_t reasonCode, + bool incoming ) + { + MQTTStatus_t status; + + /*Validate the reason code.*/ + switch( reasonCode ) { - status = MQTTSuccess; - } - break; - case MQTT_REASON_SUCCESS: - case MQTT_REASON_UNSPECIFIED_ERR: - case MQTT_REASON_MALFORMED_PACKET: - case MQTT_REASON_PROTOCOL_ERR: - case MQTT_REASON_IMPL_SPECIFIC_ERR: - case MQTT_REASON_TOPIC_NAME_INVALID : - case MQTT_REASON_RX_MAX_EXCEEDED: - case MQTT_REASON_TOPIC_ALIAS_INVALID: - case MQTT_REASON_PACKET_TOO_LARGE: - case MQTT_REASON_MSG_RATE_TOO_HIGH: - case MQTT_REASON_QUOTA_EXCEEDED: - case MQTT_REASON_ADMIN_ACTION: - case MQTT_REASON_PAYLOAD_FORMAT_INVALID: - status = MQTTSuccess; - break; - case MQTT_REASON_NOT_AUTHORIZED: - case MQTT_REASON_SERVER_BUSY: - case MQTT_REASON_SERVER_SHUTTING_DOWN: - case MQTT_REASON_KEEP_ALIVE_TIMEOUT: - case MQTT_REASON_SESSION_TAKEN_OVER: - case MQTT_REASON_TOPIC_FILTER_INVALID: - case MQTT_REASON_RETAIN_NOT_SUPPORTED: - case MQTT_REASON_QOS_NOT_SUPPORTED: - case MQTT_REASON_USE_ANOTHER_SERVER: - case MQTT_REASON_SERVER_MOVED: - case MQTT_REASON_MAX_CON_TIME: - case MQTT_REASON_SS_NOT_SUPPORTED: - case MQTT_REASON_WILDCARD_SUB_NOT_SUP: - if(incoming == true) - { - status = MQTTSuccess; - } - else{ - status = MQTTBadParameter; + case MQTT_REASON_SEND_WILL: + + if( incoming == true ) + { + status = MQTTProtocolError; + } + else + { + status = MQTTSuccess; + } + + break; + + case MQTT_REASON_SUCCESS: + case MQTT_REASON_UNSPECIFIED_ERR: + case MQTT_REASON_MALFORMED_PACKET: + case MQTT_REASON_PROTOCOL_ERR: + case MQTT_REASON_IMPL_SPECIFIC_ERR: + case MQTT_REASON_TOPIC_NAME_INVALID: + case MQTT_REASON_RX_MAX_EXCEEDED: + case MQTT_REASON_TOPIC_ALIAS_INVALID: + case MQTT_REASON_PACKET_TOO_LARGE: + case MQTT_REASON_MSG_RATE_TOO_HIGH: + case MQTT_REASON_QUOTA_EXCEEDED: + case MQTT_REASON_ADMIN_ACTION: + case MQTT_REASON_PAYLOAD_FORMAT_INVALID: + status = MQTTSuccess; + break; + + case MQTT_REASON_NOT_AUTHORIZED: + case MQTT_REASON_SERVER_BUSY: + case MQTT_REASON_SERVER_SHUTTING_DOWN: + case MQTT_REASON_KEEP_ALIVE_TIMEOUT: + case MQTT_REASON_SESSION_TAKEN_OVER: + case MQTT_REASON_TOPIC_FILTER_INVALID: + case MQTT_REASON_RETAIN_NOT_SUPPORTED: + case MQTT_REASON_QOS_NOT_SUPPORTED: + case MQTT_REASON_USE_ANOTHER_SERVER: + case MQTT_REASON_SERVER_MOVED: + case MQTT_REASON_MAX_CON_TIME: + case MQTT_REASON_SS_NOT_SUPPORTED: + case MQTT_REASON_WILDCARD_SUB_NOT_SUP: + + if( incoming == true ) + { + status = MQTTSuccess; + } + else + { + status = MQTTBadParameter; + } + + break; + + default: + status = MQTTProtocolError; + break; } - break; - default: - status = MQTTProtocolError; - break; + + return status; } - return status; -} #endif /* if ( MQTT_VERSION_5_ENABLED ) */ /*-----------------------------------------------------------*/ @@ -2813,8 +2885,8 @@ static void serializePublishCommon( const MQTTPublishInfo_t * pPublishInfo, pIndex = &pIndex[ 2U ]; } - #if(MQTT_VERSION_5_ENABLED) - pIndex = serializePublishProperties(pPublishInfo,pIndex); + #if ( MQTT_VERSION_5_ENABLED ) + pIndex = serializePublishProperties( pPublishInfo, pIndex ); #endif /* The payload is placed after the packet identifier. @@ -2992,13 +3064,14 @@ static bool incomingPacketValid( uint8_t packetType ) } break; + case MQTT_PACKET_TYPE_DISCONNECT: - #if(MQTT_VERSION_5_ENABLED) + #if ( MQTT_VERSION_5_ENABLED ) status = true; - #else + #else status = false; - #endif - break; + #endif + break; /* Any other packet type is invalid. */ default: @@ -4183,15 +4256,16 @@ MQTTStatus_t MQTT_SerializePublish( const MQTTPublishInfo_t * pPublishInfo, pPublishInfo->pPayload ) ); status = MQTTBadParameter; } - #if(!MQTT_VERSION_5_ENABLED) - else if( ( pPublishInfo->pTopicName == NULL ) || ( pPublishInfo->topicNameLength == 0U ) ) - { - LogError( ( "Invalid topic name for PUBLISH: pTopicName=%p, " - "topicNameLength=%hu.", - ( void * ) pPublishInfo->pTopicName, - ( unsigned short ) pPublishInfo->topicNameLength ) ); - status = MQTTBadParameter; - } + + #if ( !MQTT_VERSION_5_ENABLED ) + else if( ( pPublishInfo->pTopicName == NULL ) || ( pPublishInfo->topicNameLength == 0U ) ) + { + LogError( ( "Invalid topic name for PUBLISH: pTopicName=%p, " + "topicNameLength=%hu.", + ( void * ) pPublishInfo->pTopicName, + ( unsigned short ) pPublishInfo->topicNameLength ) ); + status = MQTTBadParameter; + } #endif else if( ( pPublishInfo->qos != MQTTQoS0 ) && ( packetId == 0U ) ) { @@ -4732,11 +4806,12 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, } #if ( MQTT_VERSION_5_ENABLED ) - - MQTTStatus_t MQTTV5_InitConnect(MQTTConnectProperties_t *pConnectProperties) + + MQTTStatus_t MQTTV5_InitConnect( MQTTConnectProperties_t * pConnectProperties ) { MQTTStatus_t status = MQTTSuccess; - if(pConnectProperties == NULL) + + if( pConnectProperties == NULL ) { status = MQTTBadParameter; } @@ -4751,9 +4826,8 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, pConnectProperties->isWildcardAvaiable = 1U; pConnectProperties->subscriptionId = 1U; pConnectProperties->isSharedAvailable = 1U; - } - + return status; } @@ -4909,7 +4983,8 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, /*Serialze the topic alias if provided*/ - if(pPublishInfo->topicAlias != 0U){ + if( pPublishInfo->topicAlias != 0U ) + { *pIndexLocal = MQTT_TOPIC_ALIAS_ID; pIndexLocal++; pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( pPublishInfo->topicAlias ); @@ -4917,7 +4992,6 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, pIndexLocal = &pIndexLocal[ 2 ]; } - /*Serialize the payload format if provided.*/ if( pPublishInfo->payloadFormat != 0U ) @@ -4945,9 +5019,10 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, } uint8_t * MQTTV5_SerializeConnectProperties( uint8_t * pIndex, - const MQTTConnectProperties_t * pConnectProperties ) + const MQTTConnectProperties_t * pConnectProperties ) { uint8_t * pIndexLocal = pIndex; + pIndexLocal = encodeRemainingLength( pIndexLocal, pConnectProperties->propertyLength ); /*Serialize session expiry if provided.*/ @@ -5119,269 +5194,298 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, } /*Validate the packet size if max packet size is set*/ - if(status == MQTTSuccess) + if( status == MQTTSuccess ) + { + if( ( pIncomingPacket->remainingLength + remainingLengthSize + 1U ) > ( pConnackProperties->maxPacketSize ) ) + { + status = MQTTProtocolError; + } + /*Validate the remaining length*/ + else if( ( pIncomingPacket->remainingLength ) != ( 2U + propertyLength + remainingLengthEncodedSize( propertyLength ) ) ) + { + status = MQTTMalformedPacket; + } + /*Deserialize the connack properties.*/ + else + { + status = deserializeConnackV5( pConnackProperties, propertyLength, &pVariableHeader ); + } + } + + return status; + } + + MQTTStatus_t MQTTV5_ValidatePublishParams( const MQTTPublishInfo_t * pPublishInfo, + uint16_t topicAliasMax, + uint8_t retainAvailable, + uint8_t maxQos ) + { + MQTTStatus_t status; + + if( pPublishInfo == NULL ) { - if((pIncomingPacket->remainingLength + remainingLengthSize + 1U ) > ( pConnackProperties->maxPacketSize )) + LogError( ( "Argument cannot be NULL: pPublishInfo=%p ", + ( void * ) pPublishInfo + ) ); + status = MQTTBadParameter; + } + else if( pPublishInfo->topicAlias > topicAliasMax ) { - status = MQTTProtocolError; + LogError( ( "Invalid topic alias." ) ); + status = MQTTBadParameter; } - /*Validate the remaining length*/ - else if ( (pIncomingPacket->remainingLength ) != ( 2U + propertyLength + remainingLengthEncodedSize( propertyLength ) )) + else if( ( pPublishInfo->retain == true ) && ( retainAvailable == 0U ) ) { - status = MQTTMalformedPacket; + LogError( ( "Retain is not avaialble." ) ); + status = MQTTBadParameter; } - /*Deserialize the connack properties.*/ - else + else if( ( pPublishInfo->qos != MQTTQoS0 ) && ( maxQos == 0U ) ) { - status = deserializeConnackV5( pConnackProperties, propertyLength, &pVariableHeader ); + LogError( ( "Qos value = %hu is not allowed by the server ", + ( unsigned short ) pPublishInfo->topicNameLength ) ); + status = MQTTBadParameter; } + else + { + status = MQTTSuccess; } return status; } -MQTTStatus_t MQTTV5_ValidatePublishParams(const MQTTPublishInfo_t* pPublishInfo, uint16_t topicAliasMax, uint8_t retainAvailable, uint8_t maxQos) -{ - MQTTStatus_t status; - if(pPublishInfo == NULL) - { - LogError( ( "Argument cannot be NULL: pPublishInfo=%p ", - ( void * ) pPublishInfo - ) ); - status = MQTTBadParameter; - } - else if(pPublishInfo->topicAlias > topicAliasMax) - { - LogError(("Invalid topic alias.")); - status = MQTTBadParameter; - } - else if((pPublishInfo->retain == true) && (retainAvailable == 0U)) - { - LogError(("Retain is not avaialble.")); - status = MQTTBadParameter; - } - else if((pPublishInfo->qos != MQTTQoS0) && (maxQos== 0U)) + MQTTStatus_t MQTTV5_GetPublishPacketSize( MQTTPublishInfo_t * pPublishInfo, + size_t * pRemainingLength, + size_t * pPacketSize, + uint32_t maxPacketSize ) { - LogError(("Qos value = %hu is not allowed by the server ", - ( unsigned short ) pPublishInfo->topicNameLength )); - status = MQTTBadParameter; + MQTTStatus_t status = MQTTSuccess; + + if( ( pPublishInfo == NULL ) || ( pRemainingLength == NULL ) || ( pPacketSize == NULL ) ) + { + LogError( ( "Argument cannot be NULL: pPublishInfo=%p, " + "pRemainingLength=%p, pPacketSize=%p.", + ( void * ) pPublishInfo, + ( void * ) pRemainingLength, + ( void * ) pPacketSize ) ); + status = MQTTBadParameter; + } + else if( ( pPublishInfo->pTopicName == NULL ) && ( pPublishInfo->topicNameLength != 0U ) ) + { + LogError( ( "Invalid topic name for PUBLISH: pTopicName=%p, " + "topicNameLength=%hu.", + ( void * ) pPublishInfo->pTopicName, + ( unsigned short ) pPublishInfo->topicNameLength ) ); + status = MQTTBadParameter; + } + else if( ( pPublishInfo->topicAlias == 0U ) && ( pPublishInfo->topicNameLength == 0U ) ) + { + LogError( ( "Invalid topic name for PUBLISH: pTopicName=%p, " + "topicNameLength=%hu.", + ( void * ) pPublishInfo->pTopicName, + ( unsigned short ) pPublishInfo->topicNameLength ) ); + status = MQTTBadParameter; + } + else if( maxPacketSize == 0U ) + { + status = MQTTBadParameter; + } + else + { + status = calculatePublishPacketSizeV5( pPublishInfo, pRemainingLength, pPacketSize, maxPacketSize ); + } + + return status; } - else + + MQTTStatus_t MQTTV5_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, + uint16_t * pPacketId, + MQTTAckInfo_t * pAckInfo, + bool requestProblem, + uint32_t maxPacketSize ) { - status = MQTTSuccess; - } + MQTTStatus_t status = MQTTSuccess; - return status; -} + if( pIncomingPacket == NULL ) + { + LogError( ( "pIncomingPacket cannot be NULL." ) ); + status = MQTTBadParameter; + } -MQTTStatus_t MQTTV5_GetPublishPacketSize(MQTTPublishInfo_t * pPublishInfo, - size_t * pRemainingLength, - size_t * pPacketSize, - uint32_t maxPacketSize) -{ - MQTTStatus_t status = MQTTSuccess; + /* Pointer for packet identifier cannot be NULL for packets other than + * CONNACK and PINGRESP. */ + else if( pPacketId == NULL ) + { + LogError( ( "pPacketId cannot be NULL for packet type %02x.", + ( unsigned int ) pIncomingPacket->type ) ); + status = MQTTBadParameter; + } - if( ( pPublishInfo == NULL ) || ( pRemainingLength == NULL ) || ( pPacketSize == NULL ) ) - { - LogError( ( "Argument cannot be NULL: pPublishInfo=%p, " - "pRemainingLength=%p, pPacketSize=%p.", - ( void * ) pPublishInfo, - ( void * ) pRemainingLength, - ( void * ) pPacketSize ) ); - status = MQTTBadParameter; - } - else if(( pPublishInfo->pTopicName == NULL ) && ( pPublishInfo->topicNameLength != 0U )) - { - LogError( ( "Invalid topic name for PUBLISH: pTopicName=%p, " - "topicNameLength=%hu.", - ( void * ) pPublishInfo->pTopicName, - ( unsigned short ) pPublishInfo->topicNameLength ) ); - status = MQTTBadParameter; - } - else if((pPublishInfo->topicAlias == 0U) && ( pPublishInfo->topicNameLength == 0U )){ - LogError( ( "Invalid topic name for PUBLISH: pTopicName=%p, " - "topicNameLength=%hu.", - ( void * ) pPublishInfo->pTopicName, - ( unsigned short ) pPublishInfo->topicNameLength ) ); - status = MQTTBadParameter; - } - else if(maxPacketSize == 0U) - { - status = MQTTBadParameter; - } - else - { - status = calculatePublishPacketSizeV5(pPublishInfo, pRemainingLength, pPacketSize,maxPacketSize); - } + /* Pointer for remaining data cannot be NULL for packets other + * than PINGRESP. */ + else if( pIncomingPacket->pRemainingData == NULL ) + { + LogError( ( "Remaining data of incoming packet is NULL." ) ); + status = MQTTBadParameter; + } + /*Max packet size cannot be 0.*/ + else if( maxPacketSize == 0U ) + { + status = MQTTBadParameter; + } + else if( ( pIncomingPacket->remainingLength + remainingLengthEncodedSize( pIncomingPacket->remainingLength ) + 1U ) > maxPacketSize ) + { + status = MQTTProtocolError; + } + else + { + /* Make sure response packet is a valid ack. */ + switch( pIncomingPacket->type ) + { + case MQTT_PACKET_TYPE_PUBACK: + case MQTT_PACKET_TYPE_PUBREC: + status = deserializeSimpleAckV5( pIncomingPacket, pPacketId, pAckInfo, requestProblem ); - return status; -} + if( status == MQTTSuccess ) + { + status = logAckResponseV5( pAckInfo->reasonCode, *pPacketId ); + } -MQTTStatus_t MQTTV5_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, - uint16_t * pPacketId, MQTTAckInfo_t *pAckInfo, bool requestProblem, uint32_t maxPacketSize) -{ - MQTTStatus_t status = MQTTSuccess; + break; - if( pIncomingPacket == NULL ) - { - LogError( ( "pIncomingPacket cannot be NULL." ) ); - status = MQTTBadParameter; - } + case MQTT_PACKET_TYPE_PUBREL: + case MQTT_PACKET_TYPE_PUBCOMP: + status = deserializeSimpleAckV5( pIncomingPacket, pPacketId, pAckInfo, requestProblem ); - /* Pointer for packet identifier cannot be NULL for packets other than - * CONNACK and PINGRESP. */ - else if (pPacketId == NULL ) - { - LogError( ( "pPacketId cannot be NULL for packet type %02x.", - ( unsigned int ) pIncomingPacket->type ) ); - status = MQTTBadParameter; + if( status == MQTTSuccess ) + { + status = logSimpleAckResponseV5( pAckInfo->reasonCode, *pPacketId ); + } + + break; + + /* Any other packet type is invalid. */ + default: + LogError( ( "IotMqttv5_DeserializeResponse() called with unknown packet type:(%02x).", + ( unsigned int ) pIncomingPacket->type ) ); + status = MQTTBadResponse; + break; + } + } + + return status; } - /* Pointer for remaining data cannot be NULL for packets other - * than PINGRESP. */ - else if( pIncomingPacket->pRemainingData == NULL ) + MQTTStatus_t MQTTV5_GetAckPacketSize( MQTTAckInfo_t * pAckInfo, + size_t * pRemainingLength, + size_t * pPacketSize, + uint32_t maxPacketSize ) { - LogError( ( "Remaining data of incoming packet is NULL." ) ); - status = MQTTBadParameter; - } - /*Max packet size cannot be 0.*/ - else if(maxPacketSize == 0U) - { - status = MQTTBadParameter; - } - else if ( ( pIncomingPacket->remainingLength + remainingLengthEncodedSize(pIncomingPacket->remainingLength) + 1U ) > maxPacketSize ) - { - status = MQTTProtocolError; - } - else - { - /* Make sure response packet is a valid ack. */ - switch( pIncomingPacket->type ) + MQTTStatus_t status = MQTTSuccess; + size_t length = 0U; + size_t propertyLength = 0U; + size_t packetSize = 0U; + + /*Validate the parameters.*/ + if( ( pAckInfo == NULL ) || ( pRemainingLength == NULL ) || ( pPacketSize == NULL ) ) + { + status = MQTTBadParameter; + } + else if( maxPacketSize == 0U ) + { + status = MQTTBadParameter; + } + else { + length += MQTT_PUBLISH_ACK_PACKET_SIZE_WITH_REASON; - case MQTT_PACKET_TYPE_PUBACK: - case MQTT_PACKET_TYPE_PUBREC: - status = deserializeSimpleAckV5( pIncomingPacket, pPacketId ,pAckInfo,requestProblem); - if(status == MQTTSuccess){ - status = logAckResponseV5(pAckInfo->reasonCode,*pPacketId); + if( pAckInfo->reasonStringLength != 0U ) + { + if( pAckInfo->pReasonString == NULL ) + { + status = MQTTBadParameter; } - break; + else + { + propertyLength += pAckInfo->reasonStringLength; + propertyLength += MQTT_UTF8_LENGTH_SIZE; + } + } + } - case MQTT_PACKET_TYPE_PUBREL: - case MQTT_PACKET_TYPE_PUBCOMP: - status = deserializeSimpleAckV5( pIncomingPacket, pPacketId ,pAckInfo,requestProblem); - if(status == MQTTSuccess){ - status = logSimpleAckResponseV5(pAckInfo->reasonCode,*pPacketId); - } - break; + #if ( MQTT_USER_PROPERTY_ENABLED ) + if( ( status == MQTTSuccess ) && ( pAckInfo->pUserProperty != NULL ) ) + { + status = MQTT_GetUserPropertySize( pAckInfo->pUserProperty->userProperty, pAckInfo->pUserProperty->count, &propertyLength ); + } + #endif - /* Any other packet type is invalid. */ - default: - LogError( ( "IotMqttv5_DeserializeResponse() called with unknown packet type:(%02x).", - ( unsigned int ) pIncomingPacket->type ) ); - status = MQTTBadResponse; - break; + if( status == MQTTSuccess ) + { + /*Validate the length.*/ + if( ( propertyLength + 4U ) < MQTT_MAX_REMAINING_LENGTH ) + { + /*We have successfully calculated the property length.*/ + pAckInfo->propertyLength = propertyLength; + length += remainingLengthEncodedSize( propertyLength ) + propertyLength; + *pRemainingLength = length; + } + else + { + status = MQTTBadParameter; + } } - } - return status; -} + if( status == MQTTSuccess ) + { + packetSize = length + 1U + remainingLengthEncodedSize( length ); -MQTTStatus_t MQTTV5_GetAckPacketSize( MQTTAckInfo_t *pAckInfo, size_t* pRemainingLength, size_t * pPacketSize, uint32_t maxPacketSize) -{ - MQTTStatus_t status = MQTTSuccess; - size_t length = 0U; - size_t propertyLength = 0U; - size_t packetSize = 0U; - /*Validate the parameters.*/ - if((pAckInfo== NULL) ||(pRemainingLength == NULL) || (pPacketSize == NULL) ){ - status = MQTTBadParameter; - } - else if(maxPacketSize == 0U) - { - status = MQTTBadParameter; - } - else - { - length += MQTT_PUBLISH_ACK_PACKET_SIZE_WITH_REASON; - if(pAckInfo->reasonStringLength != 0U){ - if(pAckInfo->pReasonString == NULL){ + if( packetSize > maxPacketSize ) + { status = MQTTBadParameter; } else { - propertyLength += pAckInfo->reasonStringLength; - propertyLength += MQTT_UTF8_LENGTH_SIZE; + *pPacketSize = packetSize; } } - } - #if(MQTT_USER_PROPERTY_ENABLED) - if((status == MQTTSuccess) && (pAckInfo->pUserProperty!= NULL)){ - status = MQTT_GetUserPropertySize(pAckInfo->pUserProperty->userProperty,pAckInfo->pUserProperty->count,&propertyLength); - } - #endif - if(status == MQTTSuccess) - { - /*Validate the length.*/ - if((propertyLength + 4U)propertyLength = propertyLength; - length += remainingLengthEncodedSize(propertyLength) + propertyLength; - *pRemainingLength = length; - } - else - { - status = MQTTBadParameter; - } - } - if(status == MQTTSuccess){ - packetSize = length + 1U + remainingLengthEncodedSize(length); - if(packetSize > maxPacketSize) - { - status = MQTTBadParameter; - } - else{ - *pPacketSize = packetSize; - } + return status; } - return status; - -} -uint8_t * MQTTV5_SerializeAckFixed(uint8_t * pIndex, - uint8_t packetType, - uint16_t packetId, - size_t remainingLength, - size_t propertyLength) -{ - uint8_t * pIndexLocal = pIndex; + uint8_t * MQTTV5_SerializeAckFixed( uint8_t * pIndex, + uint8_t packetType, + uint16_t packetId, + size_t remainingLength, + size_t propertyLength ) + { + uint8_t * pIndexLocal = pIndex; - /* The first byte in the publish ack packet is the control packet type. */ - *pIndexLocal = packetType; - pIndexLocal++; - /*After the packet type fixed header has remaining length.*/ - pIndexLocal = encodeRemainingLength( pIndexLocal, remainingLength ); - /*Encode the packet id.*/ - pIndexLocal[0] = UINT16_HIGH_BYTE(packetId); - pIndexLocal[1] = UINT16_LOW_BYTE( packetId ); - pIndexLocal = &pIndexLocal[2]; - /*We are only sending the ack back if the reason code is success.*/ - *pIndexLocal = MQTT_REASON_SUCCESS; - pIndexLocal ++; - /*Encode the property length.*/ - pIndexLocal = encodeRemainingLength(pIndexLocal,propertyLength); - return pIndexLocal; -} + /* The first byte in the publish ack packet is the control packet type. */ + *pIndexLocal = packetType; + pIndexLocal++; + /*After the packet type fixed header has remaining length.*/ + pIndexLocal = encodeRemainingLength( pIndexLocal, remainingLength ); + /*Encode the packet id.*/ + pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( packetId ); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( packetId ); + pIndexLocal = &pIndexLocal[ 2 ]; + /*We are only sending the ack back if the reason code is success.*/ + *pIndexLocal = MQTT_REASON_SUCCESS; + pIndexLocal++; + /*Encode the property length.*/ + pIndexLocal = encodeRemainingLength( pIndexLocal, propertyLength ); + return pIndexLocal; + } -MQTTStatus_t MQTTV5_SerializePubAckWithProperty( const MQTTAckInfo_t *pAckInfo, - size_t remainingLength, - const MQTTFixedBuffer_t * pFixedBuffer, - uint8_t packetType, - uint16_t packetId) -{ + MQTTStatus_t MQTTV5_SerializePubAckWithProperty( const MQTTAckInfo_t * pAckInfo, + size_t remainingLength, + const MQTTFixedBuffer_t * pFixedBuffer, + uint8_t packetType, + uint16_t packetId ) + { MQTTStatus_t status = MQTTSuccess; size_t ackPacketSize = 0; + /* Validate arguments. */ if( ( pAckInfo == NULL ) || ( pFixedBuffer == NULL ) ) { @@ -5399,8 +5503,9 @@ MQTTStatus_t MQTTV5_SerializePubAckWithProperty( const MQTTAckInfo_t *pAckInfo, } else { - ackPacketSize = remainingLength + remainingLengthEncodedSize(remainingLength) + 1U; - /* Check that the full packet size fits within the given buffer. */ + ackPacketSize = remainingLength + remainingLengthEncodedSize( remainingLength ) + 1U; + + /* Check that the full packet size fits within the given buffer. */ if( ackPacketSize > pFixedBuffer->size ) { LogError( ( "Buffer size of %lu is not sufficient to hold " @@ -5411,135 +5516,155 @@ MQTTStatus_t MQTTV5_SerializePubAckWithProperty( const MQTTAckInfo_t *pAckInfo, } else { - seriailizePubAckPacketV5(pAckInfo,packetType,packetId,remainingLength, pFixedBuffer); + seriailizePubAckPacketV5( pAckInfo, packetType, packetId, remainingLength, pFixedBuffer ); } } - return status; -} - -MQTTStatus_t MQTTV5_GetDisconnectPacketSize( MQTTAckInfo_t* pAckInfo, size_t * pRemainingLength, size_t * pPacketSize,uint32_t maxPacketSize, uint32_t sessionExpiry,uint32_t prevSessionExpiry ) -{ - MQTTStatus_t status = MQTTSuccess; - size_t length = 0U; - size_t packetSize = 0U; - size_t propertyLength = 0U; - /*Validate the arguments.*/ - if( (pAckInfo== NULL) || (pRemainingLength == NULL) || (pPacketSize == NULL)) - { - LogError( ( "Argument cannot be NULL: pAckInfo=%p, " - "pRemainingLength=%p, pPacketSize=%p.", - ( void * ) pAckInfo, - ( void * ) pRemainingLength, - ( void * ) pPacketSize ) ); - status = MQTTBadParameter; - } - else if(maxPacketSize == 0U) - { - LogError( ( "Max packet size cannot be zero." ) ); - status = MQTTBadParameter; - } - /*Cannot overWrite a session expiry of 0.*/ - else if((prevSessionExpiry == 0U) && (sessionExpiry != 0U)){ - LogError( ( "If the Session Expiry in the CONNECT packet was zero, then it is a Protocol Error to set a non-zero Session Expiry Interval in the DISCONNECT packet." ) ); - status = MQTTBadParameter; + return status; } - else if(validateDisconnectResponseV5(pAckInfo->reasonCode,false) != MQTTSuccess) + + MQTTStatus_t MQTTV5_GetDisconnectPacketSize( MQTTAckInfo_t * pAckInfo, + size_t * pRemainingLength, + size_t * pPacketSize, + uint32_t maxPacketSize, + uint32_t sessionExpiry, + uint32_t prevSessionExpiry ) { - LogError( ( "Invalid reason code." ) ); - status = MQTTBadParameter; - } - else - { - /*Reason code.*/ - length+= 1U; - /*Add session expiry if provided.*/ - if(sessionExpiry != 0U) + MQTTStatus_t status = MQTTSuccess; + size_t length = 0U; + size_t packetSize = 0U; + size_t propertyLength = 0U; + + /*Validate the arguments.*/ + if( ( pAckInfo == NULL ) || ( pRemainingLength == NULL ) || ( pPacketSize == NULL ) ) { - propertyLength += MQTT_SESSION_EXPIRY_SIZE; + LogError( ( "Argument cannot be NULL: pAckInfo=%p, " + "pRemainingLength=%p, pPacketSize=%p.", + ( void * ) pAckInfo, + ( void * ) pRemainingLength, + ( void * ) pPacketSize ) ); + status = MQTTBadParameter; } - /*Validate the reason string if provided.*/ - if(pAckInfo->reasonStringLength != 0U){ - if(pAckInfo->pReasonString == NULL){ - status = MQTTBadParameter; - } - else - { - propertyLength += pAckInfo->reasonStringLength; - propertyLength += MQTT_UTF8_LENGTH_SIZE; - } + else if( maxPacketSize == 0U ) + { + LogError( ( "Max packet size cannot be zero." ) ); + status = MQTTBadParameter; } - } - #if(MQTT_USER_PROPERTY_ENABLED) - if((status == MQTTSuccess) && (pAckInfo->pUserProperty!= NULL)){ - status = MQTT_GetUserPropertySize(pAckInfo->pUserProperty->userProperty,pAckInfo->pUserProperty->count,&propertyLength); - } - #endif - if(status == MQTTSuccess) - { - /*Validate the length.*/ - if((propertyLength + 4U)propertyLength = propertyLength; - length += remainingLengthEncodedSize(propertyLength) + propertyLength; - *pRemainingLength = length; + /*Cannot overWrite a session expiry of 0.*/ + else if( ( prevSessionExpiry == 0U ) && ( sessionExpiry != 0U ) ) + { + LogError( ( "If the Session Expiry in the CONNECT packet was zero, then it is a Protocol Error to set a non-zero Session Expiry Interval in the DISCONNECT packet." ) ); + status = MQTTBadParameter; } - else + else if( validateDisconnectResponseV5( pAckInfo->reasonCode, false ) != MQTTSuccess ) { + LogError( ( "Invalid reason code." ) ); status = MQTTBadParameter; } - } + else + { + /*Reason code.*/ + length += 1U; + + /*Add session expiry if provided.*/ + if( sessionExpiry != 0U ) + { + propertyLength += MQTT_SESSION_EXPIRY_SIZE; + } + + /*Validate the reason string if provided.*/ + if( pAckInfo->reasonStringLength != 0U ) + { + if( pAckInfo->pReasonString == NULL ) + { + status = MQTTBadParameter; + } + else + { + propertyLength += pAckInfo->reasonStringLength; + propertyLength += MQTT_UTF8_LENGTH_SIZE; + } + } + } - if(status == MQTTSuccess){ - /*Packet size should be less than max allowed by the server.*/ - packetSize = length + 1U + remainingLengthEncodedSize(length); - if(packetSize > maxPacketSize) + #if ( MQTT_USER_PROPERTY_ENABLED ) + if( ( status == MQTTSuccess ) && ( pAckInfo->pUserProperty != NULL ) ) + { + status = MQTT_GetUserPropertySize( pAckInfo->pUserProperty->userProperty, pAckInfo->pUserProperty->count, &propertyLength ); + } + #endif + + if( status == MQTTSuccess ) { - status = MQTTBadParameter; + /*Validate the length.*/ + if( ( propertyLength + 4U ) < MQTT_MAX_REMAINING_LENGTH ) + { + /*We have successfully calculated the property length.*/ + pAckInfo->propertyLength = propertyLength; + length += remainingLengthEncodedSize( propertyLength ) + propertyLength; + *pRemainingLength = length; + } + else + { + status = MQTTBadParameter; + } } - else{ - *pPacketSize = packetSize; + + if( status == MQTTSuccess ) + { + /*Packet size should be less than max allowed by the server.*/ + packetSize = length + 1U + remainingLengthEncodedSize( length ); + + if( packetSize > maxPacketSize ) + { + status = MQTTBadParameter; + } + else + { + *pPacketSize = packetSize; + } } + + return status; } - return status; -} -uint8_t * MQTTV5_SerializeDisconnectFixed(uint8_t * pIndex, - const MQTTAckInfo_t * pAckInfo, - size_t remainingLength, - uint32_t sessionExpiry) -{ - uint8_t * pIndexLocal = pIndex; + uint8_t * MQTTV5_SerializeDisconnectFixed( uint8_t * pIndex, + const MQTTAckInfo_t * pAckInfo, + size_t remainingLength, + uint32_t sessionExpiry ) + { + uint8_t * pIndexLocal = pIndex; - /* The first byte in the publish ack packet is the control packet type. */ - *pIndexLocal = MQTT_PACKET_TYPE_DISCONNECT; - pIndexLocal++; - /*After the packet type fixed header has remaining length.*/ - pIndexLocal = encodeRemainingLength( pIndexLocal, remainingLength ); - /*Encode the reason code.*/ - *pIndexLocal = pAckInfo->reasonCode; - pIndexLocal ++; - /*Encode the property length.*/ - pIndexLocal = encodeRemainingLength(pIndexLocal,pAckInfo->propertyLength); - /*Encode the session expiry if provided. */ - if(sessionExpiry != 0U) - { - *pIndexLocal = MQTT_SESSION_EXPIRY_ID; + /* The first byte in the publish ack packet is the control packet type. */ + *pIndexLocal = MQTT_PACKET_TYPE_DISCONNECT; pIndexLocal++; - pIndexLocal[ 0 ] = UINT32_BYTE3(sessionExpiry ); - pIndexLocal[ 1 ] = UINT32_BYTE2( sessionExpiry ); - pIndexLocal[ 2 ] = UINT32_BYTE1(sessionExpiry ); - pIndexLocal[ 3 ] = UINT32_BYTE0(sessionExpiry ); - pIndexLocal = &pIndexLocal[ 4 ]; - } + /*After the packet type fixed header has remaining length.*/ + pIndexLocal = encodeRemainingLength( pIndexLocal, remainingLength ); + /*Encode the reason code.*/ + *pIndexLocal = pAckInfo->reasonCode; + pIndexLocal++; + /*Encode the property length.*/ + pIndexLocal = encodeRemainingLength( pIndexLocal, pAckInfo->propertyLength ); - return pIndexLocal; -} + /*Encode the session expiry if provided. */ + if( sessionExpiry != 0U ) + { + *pIndexLocal = MQTT_SESSION_EXPIRY_ID; + pIndexLocal++; + pIndexLocal[ 0 ] = UINT32_BYTE3( sessionExpiry ); + pIndexLocal[ 1 ] = UINT32_BYTE2( sessionExpiry ); + pIndexLocal[ 2 ] = UINT32_BYTE1( sessionExpiry ); + pIndexLocal[ 3 ] = UINT32_BYTE0( sessionExpiry ); + pIndexLocal = &pIndexLocal[ 4 ]; + } - static void seriailizeDisconnectPacketV5( const MQTTAckInfo_t * pAckInfo, - const MQTTFixedBuffer_t * pFixedBuffer, - size_t remainingLength, - uint32_t sessionExpiry ) + return pIndexLocal; + } + + static void seriailizeDisconnectPacketV5( const MQTTAckInfo_t * pAckInfo, + const MQTTFixedBuffer_t * pFixedBuffer, + size_t remainingLength, + uint32_t sessionExpiry ) { uint8_t * pIndex = NULL; @@ -5548,46 +5673,50 @@ uint8_t * MQTTV5_SerializeDisconnectFixed(uint8_t * pIndex, assert( pFixedBuffer->pBuffer != NULL ); pIndex = pFixedBuffer->pBuffer; /* Serialize the header including reason code and property length */ - pIndex = MQTTV5_SerializeDisconnectFixed( pIndex,pAckInfo, - remainingLength, - sessionExpiry ); + pIndex = MQTTV5_SerializeDisconnectFixed( pIndex, pAckInfo, + remainingLength, + sessionExpiry ); + /*Serialize the reason string if provided.*/ - if(pAckInfo->reasonStringLength != 0U) + if( pAckInfo->reasonStringLength != 0U ) { - *pIndex = MQTT_REASON_STRING_ID; - pIndex++; - pIndex = encodeString( pIndex, pAckInfo->pReasonString, pAckInfo->reasonStringLength ); + *pIndex = MQTT_REASON_STRING_ID; + pIndex++; + pIndex = encodeString( pIndex, pAckInfo->pReasonString, pAckInfo->reasonStringLength ); } - #if(MQTT_USER_PROPERTY_ENABLED) - /*Serialize the user properties if provided.*/ - if( pAckInfo->pUserProperty != NULL ) - { - uint32_t i = 0; - uint32_t size = pAckInfo->pUserProperty->count; - const MQTTUserProperty_t * pUserProperty = pAckInfo->pUserProperty->userProperty; - for( ; i < size; i++ ) + #if ( MQTT_USER_PROPERTY_ENABLED ) + /*Serialize the user properties if provided.*/ + if( pAckInfo->pUserProperty != NULL ) { - *pIndex = MQTT_USER_PROPERTY_ID; - pIndex++; - pIndex = encodeString( pIndex, pUserProperty[ i ].pKey, pUserProperty[ i ].keyLength ); - pIndex = encodeString( pIndex, pUserProperty[ i ].pValue, pUserProperty[ i ].valueLength ); + uint32_t i = 0; + uint32_t size = pAckInfo->pUserProperty->count; + const MQTTUserProperty_t * pUserProperty = pAckInfo->pUserProperty->userProperty; + + for( ; i < size; i++ ) + { + *pIndex = MQTT_USER_PROPERTY_ID; + pIndex++; + pIndex = encodeString( pIndex, pUserProperty[ i ].pKey, pUserProperty[ i ].keyLength ); + pIndex = encodeString( pIndex, pUserProperty[ i ].pValue, pUserProperty[ i ].valueLength ); + } } - } - #endif + #endif /* if ( MQTT_USER_PROPERTY_ENABLED ) */ + /* Ensure that the difference between the end and beginning of the buffer * is less than the buffer size. */ assert( ( ( size_t ) ( pIndex - pFixedBuffer->pBuffer ) ) <= pFixedBuffer->size ); } -MQTTStatus_t MQTTV5_SerializeDisconnectWithProperty( const MQTTAckInfo_t *pAckInfo, - size_t remainingLength, - const MQTTFixedBuffer_t * pFixedBuffer, - uint32_t sessionExpiry) -{ + MQTTStatus_t MQTTV5_SerializeDisconnectWithProperty( const MQTTAckInfo_t * pAckInfo, + size_t remainingLength, + const MQTTFixedBuffer_t * pFixedBuffer, + uint32_t sessionExpiry ) + { MQTTStatus_t status = MQTTSuccess; size_t packetSize = 0; + /* Validate arguments. */ if( ( pAckInfo == NULL ) || ( pFixedBuffer == NULL ) ) { @@ -5605,8 +5734,9 @@ MQTTStatus_t MQTTV5_SerializeDisconnectWithProperty( const MQTTAckInfo_t *pAckIn } else { - packetSize = remainingLength + remainingLengthEncodedSize(remainingLength) + 1U; - /* Check that the full packet size fits within the given buffer. */ + packetSize = remainingLength + remainingLengthEncodedSize( remainingLength ) + 1U; + + /* Check that the full packet size fits within the given buffer. */ if( packetSize > pFixedBuffer->size ) { LogError( ( "Buffer size of %lu is not sufficient to hold " @@ -5617,110 +5747,120 @@ MQTTStatus_t MQTTV5_SerializeDisconnectWithProperty( const MQTTAckInfo_t *pAckIn } else { - seriailizeDisconnectPacketV5(pAckInfo,pFixedBuffer,remainingLength,sessionExpiry); - + seriailizeDisconnectPacketV5( pAckInfo, pFixedBuffer, remainingLength, sessionExpiry ); } } - return status; -} - MQTTStatus_t MQTTV5_DeserializeDisconnect( const MQTTPacketInfo_t * pPacket, - MQTTAckInfo_t *pDisconnectInfo, - const char ** pServerRef, - uint16_t * pServerRefLength, - uint32_t maxPacketSize ) -{ - MQTTStatus_t status = MQTTSuccess; - const uint8_t * pIndex; - size_t propertyLength = 0U; - /*Validate the arguments*/ - if((pPacket == NULL) || (pPacket->pRemainingData == NULL)) - { - status = MQTTBadParameter; - } - else if ((pDisconnectInfo == NULL) || (pServerRef == NULL) || (pServerRefLength == NULL)) - { - status = MQTTBadParameter; - } - else if(maxPacketSize == 0U) - { - status = MQTTBadParameter; - } - else if(pPacket->remainingLength == 0U) - { - status = MQTTMalformedPacket; - } - /*Packet size should not be more than the max allowed by the client.*/ - else if ( ( pPacket->remainingLength + remainingLengthEncodedSize(pPacket->remainingLength) + 1U ) > maxPacketSize ) - { - status = MQTTProtocolError; - } - #if(MQTT_USER_PROPERTY_ENABLED) - else if(pDisconnectInfo->pUserProperty == NULL) - { - status = MQTTBadParameter; - } - #endif - else - { - /* Extract the reason code */ - pIndex= pPacket->pRemainingData; - pDisconnectInfo->reasonCode = *pIndex; - pIndex ++; - /*Validate the reason code.*/ - status = validateDisconnectResponseV5(pDisconnectInfo->reasonCode,true); + return status; } - if(status == MQTTSuccess) + + MQTTStatus_t MQTTV5_DeserializeDisconnect( const MQTTPacketInfo_t * pPacket, + MQTTAckInfo_t * pDisconnectInfo, + const char ** pServerRef, + uint16_t * pServerRefLength, + uint32_t maxPacketSize ) { - if((pPacket->remainingLength > 1U)) + MQTTStatus_t status = MQTTSuccess; + const uint8_t * pIndex; + size_t propertyLength = 0U; + + /*Validate the arguments*/ + if( ( pPacket == NULL ) || ( pPacket->pRemainingData == NULL ) ) { - /*Extract the property length.*/ - status = decodeVariableLength(pIndex,&propertyLength); - if(status == MQTTSuccess) + status = MQTTBadParameter; + } + else if( ( pDisconnectInfo == NULL ) || ( pServerRef == NULL ) || ( pServerRefLength == NULL ) ) { - pIndex= &pIndex[remainingLengthEncodedSize(propertyLength)]; - /*Validate the remaining length.*/ - if(pPacket->remainingLength != (propertyLength + remainingLengthEncodedSize(propertyLength) + 1U)){ - status = MQTTMalformedPacket; - } + status = MQTTBadParameter; } + else if( maxPacketSize == 0U ) + { + status = MQTTBadParameter; + } + else if( pPacket->remainingLength == 0U ) + { + status = MQTTMalformedPacket; + } + /*Packet size should not be more than the max allowed by the client.*/ + else if( ( pPacket->remainingLength + remainingLengthEncodedSize( pPacket->remainingLength ) + 1U ) > maxPacketSize ) + { + status = MQTTProtocolError; } - } + #if ( MQTT_USER_PROPERTY_ENABLED ) + else if( pDisconnectInfo->pUserProperty == NULL ) + { + status = MQTTBadParameter; + } + #endif + else + { + /* Extract the reason code */ + pIndex = pPacket->pRemainingData; + pDisconnectInfo->reasonCode = *pIndex; + pIndex++; + /*Validate the reason code.*/ + status = validateDisconnectResponseV5( pDisconnectInfo->reasonCode, true ); + } - if(status == MQTTSuccess) - { - while((propertyLength>0U) && (status == MQTTSuccess)) + if( status == MQTTSuccess ) + { + if( ( pPacket->remainingLength > 1U ) ) + { + /*Extract the property length.*/ + status = decodeVariableLength( pIndex, &propertyLength ); + + if( status == MQTTSuccess ) + { + pIndex = &pIndex[ remainingLengthEncodedSize( propertyLength ) ]; + + /*Validate the remaining length.*/ + if( pPacket->remainingLength != ( propertyLength + remainingLengthEncodedSize( propertyLength ) + 1U ) ) + { + status = MQTTMalformedPacket; + } + } + } + } + + if( status == MQTTSuccess ) + { + while( ( propertyLength > 0U ) && ( status == MQTTSuccess ) ) { /*Decode the poperty id.*/ uint8_t propertyId = *pIndex; bool reasonString = false; bool serverRef = false; - pIndex = &pIndex[1]; + pIndex = &pIndex[ 1 ]; propertyLength -= sizeof( uint8_t ); + /*Validate the property id and decode accordingly.*/ - switch(propertyId){ + switch( propertyId ) + { case MQTT_REASON_STRING_ID: status = decodeutf_8( &pDisconnectInfo->pReasonString, &pDisconnectInfo->reasonStringLength, &propertyLength, &reasonString, &pIndex ); - break; + break; + case MQTT_USER_PROPERTY_ID: - #if(MQTT_USER_PROPERTY_ENABLED) - status = decodeutf_8pair( pDisconnectInfo->pUserProperty, &pDisconnectInfo->pUserProperty->count, &propertyLength, &pIndex); - #else - status = decodeAndDiscard( &propertyLength, &pIndex); - #endif - break; + #if ( MQTT_USER_PROPERTY_ENABLED ) + status = decodeutf_8pair( pDisconnectInfo->pUserProperty, &pDisconnectInfo->pUserProperty->count, &propertyLength, &pIndex ); + #else + status = decodeAndDiscard( &propertyLength, &pIndex ); + #endif + break; + case MQTT_SERVER_REF_ID: - status = decodeutf_8( pServerRef, pServerRefLength, &propertyLength, &serverRef, &pIndex ); - break; + status = decodeutf_8( pServerRef, pServerRefLength, &propertyLength, &serverRef, &pIndex ); + break; + default: - status = MQTTProtocolError; - break; + status = MQTTProtocolError; + break; } } - } - return status; + } -} + return status; + } #endif /* if ( MQTT_VERSION_5_ENABLED ) */ /*-----------------------------------------------------------*/ diff --git a/source/include/core_mqtt.h b/source/include/core_mqtt.h index b1c1a2a0c..7b5d7d91a 100644 --- a/source/include/core_mqtt.h +++ b/source/include/core_mqtt.h @@ -250,6 +250,7 @@ typedef struct MQTTContext * @brief Connect and Connack Properties. */ MQTTConnectProperties_t * pConnectProperties; + /** * @brief To store disconnect information. */ @@ -267,9 +268,9 @@ typedef struct MQTTDeserializedInfo uint16_t packetIdentifier; /**< @brief Packet ID of deserialized packet. */ MQTTPublishInfo_t * pPublishInfo; /**< @brief Pointer to deserialized publish info. */ MQTTStatus_t deserializationResult; /**< @brief Return code of deserialization. */ - #if(MQTT_VERSION_5_ENABLED) - MQTTAckInfo_t *pAckInfo; /**< @brief Pointer to deserialized ack info. */ - MQTTAckInfo_t *pNextAckInfo; /**< @brief Pointer to next ack info to send. */ + #if ( MQTT_VERSION_5_ENABLED ) + MQTTAckInfo_t * pAckInfo; /**< @brief Pointer to deserialized ack info. */ + MQTTAckInfo_t * pNextAckInfo; /**< @brief Pointer to next ack info to send. */ #endif } MQTTDeserializedInfo_t; @@ -1043,7 +1044,9 @@ const char * MQTT_Status_strerror( MQTTStatus_t status ); * #MQTTSuccess otherwise. */ /* @[declare_mqttv5_disconnect] */ -MQTTStatus_t MQTTV5_Disconnect( MQTTContext_t * pContext , MQTTAckInfo_t *pDisconnectInfo, uint32_t sessionExpiry); +MQTTStatus_t MQTTV5_Disconnect( MQTTContext_t * pContext, + MQTTAckInfo_t * pDisconnectInfo, + uint32_t sessionExpiry ); /* @[declare_mqtt_disconnect] */ /* *INDENT-OFF* */ diff --git a/source/include/core_mqtt_config_defaults.h b/source/include/core_mqtt_config_defaults.h index cd8e6624e..131d5557e 100644 --- a/source/include/core_mqtt_config_defaults.h +++ b/source/include/core_mqtt_config_defaults.h @@ -84,6 +84,7 @@ #endif /*Disable the user properties if max user property is set to 0.*/ #if ( MAX_USER_PROPERTY == 0U ) + /** * @ingroup mqtt_constants * @brief Enable and disable user properties. diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index f30044544..f2d2cd847 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -1809,7 +1809,7 @@ MQTTStatus_t MQTTV5_ValidatePublishParams(const MQTTPublishInfo_t* pPublishInfo, MQTTStatus_t MQTTV5_GetPublishPacketSize(MQTTPublishInfo_t * pPublishInfo, size_t * pRemainingLength, - size_t * pPacketSize , + size_t * pPacketSize , uint32_t maxPacketSize); @@ -1844,7 +1844,7 @@ MQTTStatus_t MQTTV5_SerializeDisconnectWithProperty( const MQTTAckInfo_t *pAckIn size_t remainingLength, const MQTTFixedBuffer_t * pFixedBuffer, uint32_t sessionExpiry); - + /* *INDENT-OFF* */ #ifdef __cplusplus } diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index 1e1ab3ae2..c8a1d3126 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -93,15 +93,15 @@ struct NetworkContext #define MQTT_SAMPLE_PAYLOAD "Hello World" #define MQTT_SAMPLE_PAYLOAD_LEN ( sizeof( MQTT_SAMPLE_PAYLOAD ) - 1 ) -#define TEST_TOPIC_ALIAS (2U) -#define TEST_MSG_EXPIRY (100U) +#define TEST_TOPIC_ALIAS ( 2U ) +#define TEST_MSG_EXPIRY ( 100U ) -#define MQTT_TEST_UTF8_STRING ("test") -#define MQTT_TEST_UTF8_STRING_LENGTH (sizeof(MQTT_TEST_UTF8_STRING) -1) -#define MQTT_TEST_UINT8 (1U) -#define MQTT_TEST_UINT16 (32U) -#define MQTT_TEST_UINT32 (300U) +#define MQTT_TEST_UTF8_STRING ( "test" ) +#define MQTT_TEST_UTF8_STRING_LENGTH ( sizeof( MQTT_TEST_UTF8_STRING ) - 1 ) +#define MQTT_TEST_UINT8 ( 1U ) +#define MQTT_TEST_UINT16 ( 32U ) +#define MQTT_TEST_UINT32 ( 300U ) /* MQTT CONNECT flags. */ #define MQTT_CONNECT_FLAG_CLEAN ( 1 ) /**< @brief Clean session. */ @@ -113,8 +113,8 @@ struct NetworkContext #define MQTT_CONNECT_FLAG_USERNAME ( 7 ) /**< @brief User name present. */ /*Default connect properties. */ -#define DEFAULT_RECEIVE_MAX (65535U) -#define DEFAULT_REQUEST_PROBLEM (1) +#define DEFAULT_RECEIVE_MAX ( 65535U ) +#define DEFAULT_REQUEST_PROBLEM ( 1 ) /** * @brief The Remaining Length field of MQTT disconnect packets, per MQTT spec. @@ -170,9 +170,9 @@ struct NetworkContext ( ( uint16_t ) ptr[ 1 ] ) ) #define UINT32_DECODE( ptr ) \ - ( uint32_t ) ( ( ( ( uint32_t ) ptr[ 0 ] ) << 24 ) | \ + ( uint32_t ) ( ( ( ( uint32_t ) ptr[ 0 ] ) << 24 ) | \ ( ( ( uint32_t ) ptr[ 1 ] ) << 16 ) | \ - ( ( ( uint32_t ) ptr[ 2 ] ) << 8 ) | \ + ( ( ( uint32_t ) ptr[ 2 ] ) << 8 ) | \ ( ( uint32_t ) ptr[ 3 ] ) ) #define UINT32_BYTE3( x ) ( ( uint8_t ) ( ( x ) >> 24 ) ) @@ -184,84 +184,84 @@ struct NetworkContext #define UINT32_BYTE0( x ) ( ( uint8_t ) ( ( x ) & 0x000000FFU ) ) -#define MQTT_MAX_PACKET_SIZE (268435460UL) -#define MQTT_VERSION_5 ( 5U ) -#define MQTT_SESSION_EXPIRY_SIZE ( 5U ) -#define MQTT_RECEIVE_MAX_SIZE ( 3U ) -#define MQTT_MAX_PACKET_PROPERTY_SIZE ( 5U ) -#define MQTT_TOPIC_ALIAS_SIZE ( 3U ) -#define MQTT_REQUEST_RESPONSE_SIZE ( 2U ) -#define MQTT_REQUEST_PROBLEM_SIZE ( 2U ) - -#define MQTT_SESSION_EXPIRY_ID ( 0x11 ) -#define MQTT_RECEIVE_MAX_ID ( 0x21 ) -#define MQTT_MAX_PACKET_SIZE_ID ( 0x27 ) -#define MQTT_TOPIC_ALIAS_MAX_ID ( 0x22 ) -#define MQTT_REQUEST_RESPONSE_ID ( 0x19 ) -#define MQTT_REQUEST_PROBLEM_ID ( 0x17 ) -#define MQTT_USER_PROPERTY_ID ( 0x26 ) -#define MQTT_AUTH_METHOD_ID ( 0x15 ) -#define MQTT_AUTH_DATA_ID ( 0x16 ) - -#define MQTT_WILL_DELAY_ID ( 0x18 ) -#define MQTT_PAYLOAD_FORMAT_ID ( 0x01 ) -#define MQTT_MSG_EXPIRY_ID ( 0x02 ) -#define MQTT_CONTENT_TYPE_ID ( 0x03 ) -#define MQTT_RESPONSE_TOPIC_ID ( 0x08 ) -#define MQTT_CORRELATION_DATA_ID ( 0x09 ) - -#define MQTT_MAX_QOS_ID ( 0x24 ) -#define MQTT_RETAIN_AVAILABLE_ID ( 0x25 ) -#define MQTT_ASSIGNED_CLIENT_ID ( 0x12 ) -#define MQTT_REASON_STRING_ID ( 0x1F ) -#define MQTT_WILDCARD_ID ( 0x28 ) -#define MQTT_SUB_AVAILABLE_ID ( 0x29 ) -#define MQTT_SHARED_SUB_ID ( 0x2A ) -#define MQTT_SERVER_KEEP_ALIVE_ID ( 0x13 ) -#define MQTT_RESPONSE_INFO_ID ( 0x1A ) -#define MQTT_SERVER_REF_ID ( 0x1C ) - -#define MQTT_REASON_SUCCESS (0x00) -#define MQTT_REASON_SEND_WILL (0x04) -#define MQTT_REASON_NO_MATCHING_SUBSCRIBERS (0x10) -#define MQTT_REASON_UNSPECIFIED_ERR (0x80) -#define MQTT_REASON_MALFORMED_PACKET (0x81) -#define MQTT_REASON_PROTOCOL_ERR (0x82) -#define MQTT_REASON_IMPL_SPECIFIC_ERR (0x83) -#define MQTT_REASON_UNSUPPORTED_PROTO_VER (0x84) -#define MQTT_REASON_CLIENT_ID_NOT_VALID (0x85) -#define MQTT_REASON_BAD_USER_OR_PASS (0x86) -#define MQTT_REASON_NOT_AUTHORIZED (0x87) -#define MQTT_REASON_SERVER_UNAVAILABLE (0x88) -#define MQTT_REASON_SERVER_BUSY (0x89) -#define MQTT_REASON_BANNED (0x8A) -#define MQTT_REASON_SERVER_SHUTTING_DOWN (0x8B) -#define MQTT_REASON_BAD_AUTH_METHOD (0x8C) -#define MQTT_REASON_KEEP_ALIVE_TIMEOUT (0x8D) -#define MQTT_REASON_SESSION_TAKEN_OVER (0x8E) -#define MQTT_REASON_TOPIC_FILTER_INVALID (0x8F) -#define MQTT_REASON_TOPIC_NAME_INVALID (0x90) -#define MQTT_REASON_PACKET_ID_IN_USE (0x91) -#define MQTT_REASON_PACKET_ID_NOT_FOUND (0x92) -#define MQTT_REASON_RX_MAX_EXCEEDED (0x93) -#define MQTT_REASON_TOPIC_ALIAS_INVALID (0x94) -#define MQTT_REASON_PACKET_TOO_LARGE (0x95) -#define MQTT_REASON_MSG_RATE_TOO_HIGH (0x96) -#define MQTT_REASON_QUOTA_EXCEEDED (0x97) -#define MQTT_REASON_ADMIN_ACTION (0x98) -#define MQTT_REASON_PAYLOAD_FORMAT_INVALID (0x99) -#define MQTT_REASON_RETAIN_NOT_SUPPORTED (0x9A) -#define MQTT_REASON_QOS_NOT_SUPPORTED (0x9B) -#define MQTT_REASON_USE_ANOTHER_SERVER (0x9C) -#define MQTT_REASON_SERVER_MOVED (0x9D) -#define MQTT_REASON_SS_NOT_SUPPORTED (0x9E) -#define MQTT_REASON_CON_RATE_EXCEED (0x9F) -#define MQTT_REASON_MAX_CON_TIME (0xA0) -#define MQTT_REASON_SUB_ID_NOT_SUP (0xA1) -#define MQTT_REASON_WILDCARD_SUB_NOT_SUP (0xA2) - -#define CORE_MQTT_ID_SIZE ( 1U ) -#define MQTT_REMAINING_LENGTH_INVALID ( ( size_t ) 268435456 ) +#define MQTT_MAX_PACKET_SIZE ( 268435460UL ) +#define MQTT_VERSION_5 ( 5U ) +#define MQTT_SESSION_EXPIRY_SIZE ( 5U ) +#define MQTT_RECEIVE_MAX_SIZE ( 3U ) +#define MQTT_MAX_PACKET_PROPERTY_SIZE ( 5U ) +#define MQTT_TOPIC_ALIAS_SIZE ( 3U ) +#define MQTT_REQUEST_RESPONSE_SIZE ( 2U ) +#define MQTT_REQUEST_PROBLEM_SIZE ( 2U ) + +#define MQTT_SESSION_EXPIRY_ID ( 0x11 ) +#define MQTT_RECEIVE_MAX_ID ( 0x21 ) +#define MQTT_MAX_PACKET_SIZE_ID ( 0x27 ) +#define MQTT_TOPIC_ALIAS_MAX_ID ( 0x22 ) +#define MQTT_REQUEST_RESPONSE_ID ( 0x19 ) +#define MQTT_REQUEST_PROBLEM_ID ( 0x17 ) +#define MQTT_USER_PROPERTY_ID ( 0x26 ) +#define MQTT_AUTH_METHOD_ID ( 0x15 ) +#define MQTT_AUTH_DATA_ID ( 0x16 ) + +#define MQTT_WILL_DELAY_ID ( 0x18 ) +#define MQTT_PAYLOAD_FORMAT_ID ( 0x01 ) +#define MQTT_MSG_EXPIRY_ID ( 0x02 ) +#define MQTT_CONTENT_TYPE_ID ( 0x03 ) +#define MQTT_RESPONSE_TOPIC_ID ( 0x08 ) +#define MQTT_CORRELATION_DATA_ID ( 0x09 ) + +#define MQTT_MAX_QOS_ID ( 0x24 ) +#define MQTT_RETAIN_AVAILABLE_ID ( 0x25 ) +#define MQTT_ASSIGNED_CLIENT_ID ( 0x12 ) +#define MQTT_REASON_STRING_ID ( 0x1F ) +#define MQTT_WILDCARD_ID ( 0x28 ) +#define MQTT_SUB_AVAILABLE_ID ( 0x29 ) +#define MQTT_SHARED_SUB_ID ( 0x2A ) +#define MQTT_SERVER_KEEP_ALIVE_ID ( 0x13 ) +#define MQTT_RESPONSE_INFO_ID ( 0x1A ) +#define MQTT_SERVER_REF_ID ( 0x1C ) + +#define MQTT_REASON_SUCCESS ( 0x00 ) +#define MQTT_REASON_SEND_WILL ( 0x04 ) +#define MQTT_REASON_NO_MATCHING_SUBSCRIBERS ( 0x10 ) +#define MQTT_REASON_UNSPECIFIED_ERR ( 0x80 ) +#define MQTT_REASON_MALFORMED_PACKET ( 0x81 ) +#define MQTT_REASON_PROTOCOL_ERR ( 0x82 ) +#define MQTT_REASON_IMPL_SPECIFIC_ERR ( 0x83 ) +#define MQTT_REASON_UNSUPPORTED_PROTO_VER ( 0x84 ) +#define MQTT_REASON_CLIENT_ID_NOT_VALID ( 0x85 ) +#define MQTT_REASON_BAD_USER_OR_PASS ( 0x86 ) +#define MQTT_REASON_NOT_AUTHORIZED ( 0x87 ) +#define MQTT_REASON_SERVER_UNAVAILABLE ( 0x88 ) +#define MQTT_REASON_SERVER_BUSY ( 0x89 ) +#define MQTT_REASON_BANNED ( 0x8A ) +#define MQTT_REASON_SERVER_SHUTTING_DOWN ( 0x8B ) +#define MQTT_REASON_BAD_AUTH_METHOD ( 0x8C ) +#define MQTT_REASON_KEEP_ALIVE_TIMEOUT ( 0x8D ) +#define MQTT_REASON_SESSION_TAKEN_OVER ( 0x8E ) +#define MQTT_REASON_TOPIC_FILTER_INVALID ( 0x8F ) +#define MQTT_REASON_TOPIC_NAME_INVALID ( 0x90 ) +#define MQTT_REASON_PACKET_ID_IN_USE ( 0x91 ) +#define MQTT_REASON_PACKET_ID_NOT_FOUND ( 0x92 ) +#define MQTT_REASON_RX_MAX_EXCEEDED ( 0x93 ) +#define MQTT_REASON_TOPIC_ALIAS_INVALID ( 0x94 ) +#define MQTT_REASON_PACKET_TOO_LARGE ( 0x95 ) +#define MQTT_REASON_MSG_RATE_TOO_HIGH ( 0x96 ) +#define MQTT_REASON_QUOTA_EXCEEDED ( 0x97 ) +#define MQTT_REASON_ADMIN_ACTION ( 0x98 ) +#define MQTT_REASON_PAYLOAD_FORMAT_INVALID ( 0x99 ) +#define MQTT_REASON_RETAIN_NOT_SUPPORTED ( 0x9A ) +#define MQTT_REASON_QOS_NOT_SUPPORTED ( 0x9B ) +#define MQTT_REASON_USE_ANOTHER_SERVER ( 0x9C ) +#define MQTT_REASON_SERVER_MOVED ( 0x9D ) +#define MQTT_REASON_SS_NOT_SUPPORTED ( 0x9E ) +#define MQTT_REASON_CON_RATE_EXCEED ( 0x9F ) +#define MQTT_REASON_MAX_CON_TIME ( 0xA0 ) +#define MQTT_REASON_SUB_ID_NOT_SUP ( 0xA1 ) +#define MQTT_REASON_WILDCARD_SUB_NOT_SUP ( 0xA2 ) + +#define CORE_MQTT_ID_SIZE ( 1U ) +#define MQTT_REMAINING_LENGTH_INVALID ( ( size_t ) 268435456 ) static uint8_t remainingLengthBuffer[ MQTT_REMAINING_BUFFER_MAX_LENGTH ] = { 0 }; @@ -283,12 +283,11 @@ MQTTStatus_t status; /* Called before each test method. */ void setUp( void ) { - memset(&properties, 0x0, sizeof(properties)); - memset(&userProperties, 0x0, sizeof(userProperties)); - memset(&publishInfo, 0x0, sizeof(publishInfo)); - memset(&connectInfo, 0x0, sizeof(connectInfo)); - memset(&packetInfo, 0x0, sizeof(packetInfo)); - + memset( &properties, 0x0, sizeof( properties ) ); + memset( &userProperties, 0x0, sizeof( userProperties ) ); + memset( &publishInfo, 0x0, sizeof( publishInfo ) ); + memset( &connectInfo, 0x0, sizeof( connectInfo ) ); + memset( &packetInfo, 0x0, sizeof( packetInfo ) ); } /* Called after each test method. */ @@ -560,35 +559,41 @@ static void setupProperties( MQTTConnectProperties_t * pProperties ) pProperties->maxPacketSize = MQTT_MAX_PACKET_SIZE; } -static uint8_t * initializeDeserialize(MQTTPacketInfo_t *packetInfo,uint8_t *pIndex) +static uint8_t * initializeDeserialize( MQTTPacketInfo_t * packetInfo, + uint8_t * pIndex ) { uint8_t * pIndexLocal = pIndex; + packetInfo->pRemainingData = pIndexLocal; - packetInfo->type = MQTT_PACKET_TYPE_CONNACK; + packetInfo->type = MQTT_PACKET_TYPE_CONNACK; *pIndexLocal = 0x01; pIndexLocal++; - *pIndexLocal = 0x00; + *pIndexLocal = 0x00; pIndexLocal++; return pIndexLocal; } -static uint8_t * serializeuint_32(uint8_t *pIndex, uint8_t propertyId) +static uint8_t * serializeuint_32( uint8_t * pIndex, + uint8_t propertyId ) { - uint8_t *pIndexLocal = pIndex; + uint8_t * pIndexLocal = pIndex; + *pIndexLocal = propertyId; pIndexLocal++; pIndexLocal[ 0 ] = UINT32_BYTE3( MQTT_TEST_UINT32 ); pIndexLocal[ 1 ] = UINT32_BYTE2( MQTT_TEST_UINT32 ); pIndexLocal[ 2 ] = UINT32_BYTE1( MQTT_TEST_UINT32 ); pIndexLocal[ 3 ] = UINT32_BYTE0( MQTT_TEST_UINT32 ); - pIndexLocal = &pIndexLocal[ 4 ]; + pIndexLocal = &pIndexLocal[ 4 ]; return pIndexLocal; } -static uint8_t * serializeuint_16(uint8_t *pIndex,uint8_t propertyId) +static uint8_t * serializeuint_16( uint8_t * pIndex, + uint8_t propertyId ) { - uint8_t *pIndexLocal = pIndex; + uint8_t * pIndexLocal = pIndex; + *pIndexLocal = propertyId; pIndexLocal++; pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( MQTT_TEST_UINT16 ); @@ -597,18 +602,22 @@ static uint8_t * serializeuint_16(uint8_t *pIndex,uint8_t propertyId) return pIndexLocal; } -static uint8_t * serializeuint_8(uint8_t *pIndex,uint8_t propertyId) -{ - uint8_t *pIndexLocal = pIndex; +static uint8_t * serializeuint_8( uint8_t * pIndex, + uint8_t propertyId ) +{ + uint8_t * pIndexLocal = pIndex; + *pIndexLocal = propertyId; pIndexLocal++; pIndexLocal[ 0 ] = MQTT_TEST_UINT8; pIndexLocal++; return pIndexLocal; } -static uint8_t * serializeutf_8(uint8_t *pIndex, uint8_t propertyId) +static uint8_t * serializeutf_8( uint8_t * pIndex, + uint8_t propertyId ) { - uint8_t *pIndexLocal = pIndex; + uint8_t * pIndexLocal = pIndex; + *pIndexLocal = propertyId; pIndexLocal++; size_t dummy = encodeString( pIndexLocal, MQTT_TEST_UTF8_STRING, MQTT_TEST_UTF8_STRING_LENGTH ); @@ -616,11 +625,13 @@ static uint8_t * serializeutf_8(uint8_t *pIndex, uint8_t propertyId) return pIndexLocal; } -static uint8_t * serializeutf_8pair(uint8_t *pIndex){ - uint8_t* pIndexLocal = pIndex; +static uint8_t * serializeutf_8pair( uint8_t * pIndex ) +{ + uint8_t * pIndexLocal = pIndex; + *pIndexLocal = MQTT_USER_PROPERTY_ID; pIndexLocal++; - size_t dummy = encodeString( pIndexLocal,MQTT_TEST_UTF8_STRING,MQTT_TEST_UTF8_STRING_LENGTH); + size_t dummy = encodeString( pIndexLocal, MQTT_TEST_UTF8_STRING, MQTT_TEST_UTF8_STRING_LENGTH ); pIndexLocal = &pIndexLocal[ dummy ]; dummy = encodeString( pIndexLocal, MQTT_TEST_UTF8_STRING, MQTT_TEST_UTF8_STRING_LENGTH ); pIndexLocal = &pIndexLocal[ dummy ]; @@ -1088,7 +1099,7 @@ void test_MQTT_GetPublishPropertiesSize( void ) userProperties.userProperty[ 0 ].pKey = MQTT_TEST_UTF8_STRING; userProperties.userProperty[ 0 ].keyLength = MQTT_TEST_UTF8_STRING_LENGTH; userProperties.userProperty[ 0 ].valueLength = MQTT_TEST_UTF8_STRING_LENGTH; - userProperties.userProperty[ 0 ].pValue = MQTT_TEST_UTF8_STRING; + userProperties.userProperty[ 0 ].pValue = MQTT_TEST_UTF8_STRING; userProperties.userProperty[ 1 ].pKey = MQTT_TEST_UTF8_STRING; userProperties.userProperty[ 1 ].keyLength = MQTT_TEST_UTF8_STRING_LENGTH; userProperties.userProperty[ 1 ].valueLength = MQTT_TEST_UTF8_STRING_LENGTH; @@ -1106,7 +1117,7 @@ void test_MQTTV5_SerializeConnectProperties( void ) uint8_t * pIndex = properties; uint8_t * index = properties; MQTTConnectProperties_t connect; - + size_t propertyLength; memset( &connect, 0x0, sizeof( connect ) ); @@ -1158,10 +1169,10 @@ void test_MQTTV5_SerializeConnectProperties( void ) void test_MQTTV5_DeserializeConnackOnlyStatus( void ) { - uint8_t buffer[ 50 ]; uint8_t * pIndex = buffer; MQTTUserProperties_t incomingProperty; + properties.pIncomingUserProperty = &incomingProperty; status = MQTTV5_DeserializeConnack( NULL, NULL, NULL ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); @@ -1335,7 +1346,7 @@ void test_MQTTV5_DeserializeConnackOnlyStatus( void ) /*Invalid property length*/ pIndex = &buffer[ 2 ]; *pIndex = 0x81; - pIndex++; + pIndex++; *pIndex = 0x00; status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); @@ -1344,22 +1355,21 @@ void test_MQTTV5_DeserializeConnackOnlyStatus( void ) properties.pIncomingUserProperty = NULL; status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &sessionPresent ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - - } void test_MQTTV5_DeserializeConnackOnlyuint_32( void ) { - uint8_t buffer[200] = {0}; + uint8_t buffer[ 200 ] = { 0 }; bool session = false; - uint8_t * pIndexLocal = initializeDeserialize(&packetInfo,buffer); + uint8_t * pIndexLocal = initializeDeserialize( &packetInfo, buffer ); size_t propertyLength = encodeRemainingLength( pIndexLocal, 10 ); + packetInfo.remainingLength = propertyLength + 12; properties.maxPacketSize = 150; properties.pIncomingUserProperty = &userProperties; pIndexLocal++; - pIndexLocal = serializeuint_32(pIndexLocal, MQTT_SESSION_EXPIRY_ID); - pIndexLocal = serializeuint_32(pIndexLocal, MQTT_MAX_PACKET_SIZE_ID); + pIndexLocal = serializeuint_32( pIndexLocal, MQTT_SESSION_EXPIRY_ID ); + pIndexLocal = serializeuint_32( pIndexLocal, MQTT_MAX_PACKET_SIZE_ID ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); TEST_ASSERT_EQUAL_INT( MQTT_TEST_UINT32, properties.sessionExpiry ); @@ -1370,8 +1380,8 @@ void test_MQTTV5_DeserializeConnackOnlyuint_32( void ) pIndexLocal = &buffer[ 2 ]; propertyLength = encodeRemainingLength( pIndexLocal, 10 ); pIndexLocal++; - pIndexLocal = serializeuint_32(pIndexLocal, MQTT_SESSION_EXPIRY_ID); - pIndexLocal = serializeuint_32(pIndexLocal, MQTT_SESSION_EXPIRY_ID); + pIndexLocal = serializeuint_32( pIndexLocal, MQTT_SESSION_EXPIRY_ID ); + pIndexLocal = serializeuint_32( pIndexLocal, MQTT_SESSION_EXPIRY_ID ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); @@ -1382,7 +1392,7 @@ void test_MQTTV5_DeserializeConnackOnlyuint_32( void ) pIndexLocal++; *pIndexLocal = MQTT_SESSION_EXPIRY_ID; pIndexLocal++; - pIndexLocal = serializeuint_32(pIndexLocal, MQTT_SESSION_EXPIRY_ID); + pIndexLocal = serializeuint_32( pIndexLocal, MQTT_SESSION_EXPIRY_ID ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); @@ -1391,7 +1401,7 @@ void test_MQTTV5_DeserializeConnackOnlyuint_32( void ) pIndexLocal = &buffer[ 2 ]; propertyLength = encodeRemainingLength( pIndexLocal, 5 ); pIndexLocal++; - pIndexLocal = serializeuint_32(pIndexLocal, 0x00); + pIndexLocal = serializeuint_32( pIndexLocal, 0x00 ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); @@ -1409,16 +1419,13 @@ void test_MQTTV5_DeserializeConnackOnlyuint_32( void ) pIndexLocal = &pIndexLocal[ 4 ]; status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - - - } void test_MQTTV5_DeserializeConnackOnlyuint_16( void ) { - uint8_t buffer[ 200 ] = { 0 }; uint8_t * pIndexLocal = buffer; + buffer[ 0 ] = 0x01; buffer[ 1 ] = 0x00; bool session = false; @@ -1430,14 +1437,14 @@ void test_MQTTV5_DeserializeConnackOnlyuint_16( void ) size_t propertyLength = encodeRemainingLength( pIndexLocal, 9 ); packetInfo.remainingLength = propertyLength + 11; pIndexLocal++; - pIndexLocal = serializeuint_16(pIndexLocal,MQTT_RECEIVE_MAX_ID); - pIndexLocal = serializeuint_16(pIndexLocal,MQTT_TOPIC_ALIAS_MAX_ID); - pIndexLocal = serializeuint_16(pIndexLocal,MQTT_SERVER_KEEP_ALIVE_ID); + pIndexLocal = serializeuint_16( pIndexLocal, MQTT_RECEIVE_MAX_ID ); + pIndexLocal = serializeuint_16( pIndexLocal, MQTT_TOPIC_ALIAS_MAX_ID ); + pIndexLocal = serializeuint_16( pIndexLocal, MQTT_SERVER_KEEP_ALIVE_ID ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); TEST_ASSERT_EQUAL_INT( MQTT_TEST_UINT16, properties.serverReceiveMax ); TEST_ASSERT_EQUAL_INT( MQTT_TEST_UINT16, properties.serverTopicAliasMax ); - TEST_ASSERT_EQUAL_INT( MQTT_TEST_UINT16, properties.serverKeepAlive); + TEST_ASSERT_EQUAL_INT( MQTT_TEST_UINT16, properties.serverKeepAlive ); /*Receive Max cannot have a value 0*/ pIndexLocal = &buffer[ 2 ]; @@ -1447,7 +1454,7 @@ void test_MQTTV5_DeserializeConnackOnlyuint_16( void ) *pIndexLocal = MQTT_RECEIVE_MAX_ID; pIndexLocal++; pIndexLocal[ 0 ] = UINT16_HIGH_BYTE( 0 ); - pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 0); + pIndexLocal[ 1 ] = UINT16_LOW_BYTE( 0 ); pIndexLocal = &pIndexLocal[ 2 ]; status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); @@ -1457,8 +1464,8 @@ void test_MQTTV5_DeserializeConnackOnlyuint_16( void ) propertyLength = encodeRemainingLength( pIndexLocal, 6 ); packetInfo.remainingLength = propertyLength + 8; pIndexLocal++; - pIndexLocal = serializeuint_16(pIndexLocal,MQTT_RECEIVE_MAX_ID); - pIndexLocal = serializeuint_16(pIndexLocal,MQTT_RECEIVE_MAX_ID); + pIndexLocal = serializeuint_16( pIndexLocal, MQTT_RECEIVE_MAX_ID ); + pIndexLocal = serializeuint_16( pIndexLocal, MQTT_RECEIVE_MAX_ID ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); @@ -1467,7 +1474,7 @@ void test_MQTTV5_DeserializeConnackOnlyuint_16( void ) pIndexLocal = &buffer[ 2 ]; propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; - pIndexLocal = serializeuint_16(pIndexLocal,MQTT_RECEIVE_MAX_ID); + pIndexLocal = serializeuint_16( pIndexLocal, MQTT_RECEIVE_MAX_ID ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); } @@ -1476,6 +1483,7 @@ void test_MQTTV5_DeserializeConnackOnlyuint_8( void ) { uint8_t buffer[ 200 ] = { 0 }; uint8_t * pIndexLocal = buffer; + buffer[ 0 ] = 0x01; buffer[ 1 ] = 0x00; bool session = false; @@ -1487,11 +1495,11 @@ void test_MQTTV5_DeserializeConnackOnlyuint_8( void ) properties.maxPacketSize = MQTT_MAX_PACKET_SIZE; size_t propertyLength = encodeRemainingLength( pIndexLocal, 10 ); pIndexLocal++; - pIndexLocal = serializeuint_8(pIndexLocal,MQTT_MAX_QOS_ID); - pIndexLocal = serializeuint_8(pIndexLocal,MQTT_RETAIN_AVAILABLE_ID); - pIndexLocal = serializeuint_8(pIndexLocal,MQTT_WILDCARD_ID); - pIndexLocal = serializeuint_8(pIndexLocal,MQTT_SHARED_SUB_ID); - pIndexLocal = serializeuint_8(pIndexLocal,MQTT_SUB_AVAILABLE_ID); + pIndexLocal = serializeuint_8( pIndexLocal, MQTT_MAX_QOS_ID ); + pIndexLocal = serializeuint_8( pIndexLocal, MQTT_RETAIN_AVAILABLE_ID ); + pIndexLocal = serializeuint_8( pIndexLocal, MQTT_WILDCARD_ID ); + pIndexLocal = serializeuint_8( pIndexLocal, MQTT_SHARED_SUB_ID ); + pIndexLocal = serializeuint_8( pIndexLocal, MQTT_SUB_AVAILABLE_ID ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); @@ -1518,8 +1526,8 @@ void test_MQTTV5_DeserializeConnackOnlyuint_8( void ) propertyLength = encodeRemainingLength( pIndexLocal, 4 ); packetInfo.remainingLength = propertyLength + 6; pIndexLocal++; - pIndexLocal = serializeuint_8(pIndexLocal,MQTT_MAX_QOS_ID); - pIndexLocal = serializeuint_8(pIndexLocal,MQTT_MAX_QOS_ID); + pIndexLocal = serializeuint_8( pIndexLocal, MQTT_MAX_QOS_ID ); + pIndexLocal = serializeuint_8( pIndexLocal, MQTT_MAX_QOS_ID ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); @@ -1534,16 +1542,14 @@ void test_MQTTV5_DeserializeConnackOnlyuint_8( void ) pIndexLocal++; status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); - - } void test_MQTTV5_DeserializeConnackOnlyutf_8( void ) { - uint8_t buffer[ 200 ] = { 0 }; uint8_t * pIndexLocal = buffer; + buffer[ 0 ] = 0x01; buffer[ 1 ] = 0x00; @@ -1557,10 +1563,10 @@ void test_MQTTV5_DeserializeConnackOnlyutf_8( void ) size_t propertyLength = encodeRemainingLength( pIndexLocal, 28 ); packetInfo.remainingLength = propertyLength + 28 + 2; pIndexLocal++; - pIndexLocal = serializeutf_8(pIndexLocal,MQTT_ASSIGNED_CLIENT_ID); - pIndexLocal = serializeutf_8(pIndexLocal,MQTT_REASON_STRING_ID); - pIndexLocal = serializeutf_8(pIndexLocal,MQTT_RESPONSE_INFO_ID); - pIndexLocal = serializeutf_8(pIndexLocal,MQTT_SERVER_REF_ID); + pIndexLocal = serializeutf_8( pIndexLocal, MQTT_ASSIGNED_CLIENT_ID ); + pIndexLocal = serializeutf_8( pIndexLocal, MQTT_REASON_STRING_ID ); + pIndexLocal = serializeutf_8( pIndexLocal, MQTT_RESPONSE_INFO_ID ); + pIndexLocal = serializeutf_8( pIndexLocal, MQTT_SERVER_REF_ID ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); @@ -1569,8 +1575,8 @@ void test_MQTTV5_DeserializeConnackOnlyutf_8( void ) pIndexLocal = &buffer[ 2 ]; propertyLength = encodeRemainingLength( pIndexLocal, 14 ); pIndexLocal++; - pIndexLocal = serializeutf_8(pIndexLocal,MQTT_ASSIGNED_CLIENT_ID); - pIndexLocal = serializeutf_8(pIndexLocal,MQTT_ASSIGNED_CLIENT_ID); + pIndexLocal = serializeutf_8( pIndexLocal, MQTT_ASSIGNED_CLIENT_ID ); + pIndexLocal = serializeutf_8( pIndexLocal, MQTT_ASSIGNED_CLIENT_ID ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); @@ -1579,7 +1585,7 @@ void test_MQTTV5_DeserializeConnackOnlyutf_8( void ) pIndexLocal = &buffer[ 2 ]; propertyLength = encodeRemainingLength( pIndexLocal, 4 ); pIndexLocal++; - pIndexLocal = serializeutf_8(pIndexLocal,MQTT_ASSIGNED_CLIENT_ID); + pIndexLocal = serializeutf_8( pIndexLocal, MQTT_ASSIGNED_CLIENT_ID ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); @@ -1588,7 +1594,7 @@ void test_MQTTV5_DeserializeConnackOnlyutf_8( void ) propertyLength = encodeRemainingLength( pIndexLocal, 2 ); packetInfo.remainingLength = propertyLength + 4; pIndexLocal++; - serializeutf_8(pIndexLocal,MQTT_ASSIGNED_CLIENT_ID); + serializeutf_8( pIndexLocal, MQTT_ASSIGNED_CLIENT_ID ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); @@ -1596,9 +1602,9 @@ void test_MQTTV5_DeserializeConnackOnlyutf_8( void ) properties.requestResponseInfo = 0; packetInfo.remainingLength = 10; pIndexLocal = &buffer[ 2 ]; - propertyLength = encodeRemainingLength( pIndexLocal, 7); + propertyLength = encodeRemainingLength( pIndexLocal, 7 ); pIndexLocal++; - pIndexLocal = serializeutf_8(pIndexLocal,MQTT_RESPONSE_INFO_ID); + pIndexLocal = serializeutf_8( pIndexLocal, MQTT_RESPONSE_INFO_ID ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); } @@ -1620,7 +1626,7 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) pIndexLocal = &buffer[ 2 ]; size_t propertyLength = encodeRemainingLength( pIndexLocal, 13 ); pIndexLocal++; - pIndexLocal = serializeutf_8pair(pIndexLocal); + pIndexLocal = serializeutf_8pair( pIndexLocal ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); TEST_ASSERT_EQUAL( 1, properties.pIncomingUserProperty->count ); @@ -1632,7 +1638,7 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) pIndexLocal = &buffer[ 2 ]; propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; - pIndexLocal = serializeutf_8pair(pIndexLocal); + pIndexLocal = serializeutf_8pair( pIndexLocal ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); @@ -1641,7 +1647,7 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) pIndexLocal = &buffer[ 2 ]; propertyLength = encodeRemainingLength( pIndexLocal, 3 ); pIndexLocal++; - pIndexLocal = serializeutf_8pair(pIndexLocal); + pIndexLocal = serializeutf_8pair( pIndexLocal ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); @@ -1650,7 +1656,7 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) propertyLength = encodeRemainingLength( pIndexLocal, 8 ); packetInfo.remainingLength = propertyLength + 10; pIndexLocal++; - pIndexLocal = serializeutf_8pair(pIndexLocal); + pIndexLocal = serializeutf_8pair( pIndexLocal ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); @@ -1659,7 +1665,7 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) pIndexLocal = &buffer[ 2 ]; propertyLength = encodeRemainingLength( pIndexLocal, 12 ); pIndexLocal++; - pIndexLocal = serializeutf_8pair(pIndexLocal); + pIndexLocal = serializeutf_8pair( pIndexLocal ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); @@ -1672,12 +1678,12 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) for( ; i < 5001; i++ ) { - pIndexLocal = serializeutf_8pair(pIndexLocal); + pIndexLocal = serializeutf_8pair( pIndexLocal ); } status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - + properties.pIncomingUserProperty->count = 0; packetInfo.remainingLength = 65017; pIndexLocal = &buffer[ 2 ]; @@ -1686,7 +1692,7 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) for( ; i < 5001; i++ ) { - pIndexLocal = serializeutf_8pair(pIndexLocal); + pIndexLocal = serializeutf_8pair( pIndexLocal ); } status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); @@ -1699,6 +1705,7 @@ void test_MQTTV5_DeserializeConnackOnlyAuthInfo( void ) { MQTTAuthInfo_t auth; MQTTAuthInfo_t auth1; + properties.pIncomingAuth = &auth; properties.pOutgoingAuth = &auth1; uint8_t buffer[ 200 ] = { 0 }; @@ -1716,20 +1723,18 @@ void test_MQTTV5_DeserializeConnackOnlyAuthInfo( void ) size_t propertyLength = encodeRemainingLength( pIndexLocal, 14 ); packetInfo.remainingLength = propertyLength + 14 + 2; pIndexLocal++; - pIndexLocal = serializeutf_8(pIndexLocal,MQTT_AUTH_METHOD_ID); - pIndexLocal = serializeutf_8(pIndexLocal,MQTT_AUTH_DATA_ID); + pIndexLocal = serializeutf_8( pIndexLocal, MQTT_AUTH_METHOD_ID ); + pIndexLocal = serializeutf_8( pIndexLocal, MQTT_AUTH_DATA_ID ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); TEST_ASSERT_EQUAL( MQTT_TEST_UTF8_STRING_LENGTH, properties.pIncomingAuth->authMethodLength ); TEST_ASSERT_EQUAL( MQTT_TEST_UTF8_STRING_LENGTH, properties.pIncomingAuth->authDataLength ); - + /*Outgoing auth is null*/ properties.pOutgoingAuth = NULL; status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - - } @@ -2131,8 +2136,9 @@ void test_MQTTV5_SerializeConnect( void ) size_t packetSize = bufferSize; MQTTStatus_t status = MQTTSuccess; MQTTUserProperties_t incomingProperty; + properties.pIncomingUserProperty = &incomingProperty; - setupProperties(&properties); + setupProperties( &properties ); MQTTFixedBuffer_t fixedBuffer = { .pBuffer = &buffer[ BUFFER_PADDING_LENGTH ], .size = bufferSize }; /* Verify bad parameter errors. */ @@ -2464,6 +2470,7 @@ void test_RemaininglengthLimit( void ) MQTTStatus_t status = MQTTSuccess; MQTTUserProperties_t incomingProperty; MQTTAckInfo_t ackInfo; + connectInfo.pClientIdentifier = CLIENT_IDENTIFIER; connectInfo.clientIdentifierLength = UINT16_MAX; connectInfo.pPassword = ""; @@ -2477,7 +2484,7 @@ void test_RemaininglengthLimit( void ) publishInfo.msgExpiryInterval = 10; publishInfo.contentTypeLength = MQTT_TEST_UTF8_STRING_LENGTH; publishInfo.pContentType = MQTT_TEST_UTF8_STRING; - publishInfo.responseTopicLength = MQTT_TEST_UTF8_STRING_LENGTH ; + publishInfo.responseTopicLength = MQTT_TEST_UTF8_STRING_LENGTH; publishInfo.pResponseTopic = MQTT_TEST_UTF8_STRING; publishInfo.correlationLength = MQTT_TEST_UTF8_STRING_LENGTH; publishInfo.pCorrelationData = MQTT_TEST_UTF8_STRING; @@ -2504,134 +2511,134 @@ void test_RemaininglengthLimit( void ) publishInfo.topicNameLength = 0U; publishInfo.topicAlias = 1U; - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,MQTT_MAX_REMAINING_LENGTH); + status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, &packetSize, MQTT_MAX_REMAINING_LENGTH ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - memset(&ackInfo,0x0, sizeof(ackInfo)); + memset( &ackInfo, 0x0, sizeof( ackInfo ) ); ackInfo.pUserProperty = &userProperties; maxPacketSize = UINT32_MAX; - status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize); + status = MQTTV5_GetAckPacketSize( &ackInfo, &remainingLength, &packetSize, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,0,0); + status = MQTTV5_GetDisconnectPacketSize( &ackInfo, &remainingLength, &packetSize, maxPacketSize, 0, 0 ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - } void test_MQTTV5_ValidatePublishParams() { uint16_t topicAliasMax = 10U; uint8_t maxQos = 0U; - uint8_t retain= 0U; + uint8_t retain = 0U; + /*Publish info cannot be null*/ - status = MQTTV5_ValidatePublishParams(NULL,topicAliasMax,retain,maxQos); + status = MQTTV5_ValidatePublishParams( NULL, topicAliasMax, retain, maxQos ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); /*Topic alias greater than the allowed value. */ publishInfo.topicAlias = 12U; - status = MQTTV5_ValidatePublishParams(&publishInfo,topicAliasMax,retain,maxQos); + status = MQTTV5_ValidatePublishParams( &publishInfo, topicAliasMax, retain, maxQos ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); /*Retain is not allowed. */ publishInfo.topicAlias = 2U; publishInfo.retain = true; - status = MQTTV5_ValidatePublishParams(&publishInfo,topicAliasMax,retain,maxQos); + status = MQTTV5_ValidatePublishParams( &publishInfo, topicAliasMax, retain, maxQos ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); /*Qos invalid*/ publishInfo.retain = false; publishInfo.qos = 1; - status = MQTTV5_ValidatePublishParams(&publishInfo,topicAliasMax,retain,maxQos); + status = MQTTV5_ValidatePublishParams( &publishInfo, topicAliasMax, retain, maxQos ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); /*Valid parameters should return success*/ publishInfo.qos = 1; maxQos = 1; - publishInfo.retain= true; + publishInfo.retain = true; retain = 1; - status = MQTTV5_ValidatePublishParams(&publishInfo,topicAliasMax,retain,maxQos); + status = MQTTV5_ValidatePublishParams( &publishInfo, topicAliasMax, retain, maxQos ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); /*Valid parameters should return success*/ publishInfo.qos = 0; - status = MQTTV5_ValidatePublishParams(&publishInfo,topicAliasMax,retain,maxQos); + status = MQTTV5_ValidatePublishParams( &publishInfo, topicAliasMax, retain, maxQos ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - } -void test_MQTTV5_GetPublishPacketSize(){ - size_t remainingLength =0U; +void test_MQTTV5_GetPublishPacketSize() +{ + size_t remainingLength = 0U; size_t packetSize = 0U; uint32_t maxPacketSize = 0U; - setupPublishInfo(&publishInfo); + + setupPublishInfo( &publishInfo ); /*Test with invalid paramters*/ - status = MQTTV5_GetPublishPacketSize(NULL,&remainingLength,&packetSize,maxPacketSize); + status = MQTTV5_GetPublishPacketSize( NULL, &remainingLength, &packetSize, maxPacketSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - status = MQTTV5_GetPublishPacketSize(&publishInfo,NULL,&packetSize,maxPacketSize); + status = MQTTV5_GetPublishPacketSize( &publishInfo, NULL, &packetSize, maxPacketSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,NULL,maxPacketSize); + status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, NULL, maxPacketSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,maxPacketSize); + status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, &packetSize, maxPacketSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); /*Topic name invalid*/ publishInfo.pTopicName = NULL; - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,maxPacketSize); + status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, &packetSize, maxPacketSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); publishInfo.pTopicName = TEST_TOPIC_NAME; - + /*Topic alias is not allowed and topic name is not provided.*/ publishInfo.topicNameLength = 0; - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,maxPacketSize); + status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, &packetSize, maxPacketSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); maxPacketSize = 100; publishInfo.topicNameLength = TEST_TOPIC_NAME_LENGTH; /*Packet size too large*/ publishInfo.payloadLength = MQTT_MAX_REMAINING_LENGTH; - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,maxPacketSize); + status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, &packetSize, maxPacketSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); publishInfo.payloadLength = MQTT_MAX_REMAINING_LENGTH - TEST_TOPIC_NAME_LENGTH - 4; - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,maxPacketSize); + status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, &packetSize, maxPacketSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); /* Good case succeeds. */ publishInfo.pPayload = ""; publishInfo.payloadLength = 0; - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,maxPacketSize); + status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, &packetSize, maxPacketSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); /* Again with QoS 2. */ publishInfo.qos = MQTTQoS2; - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,maxPacketSize); + status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, &packetSize, maxPacketSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - setupPublishProperties(&publishInfo); - publishInfo.retain= true; + setupPublishProperties( &publishInfo ); + publishInfo.retain = true; /*Valid properties*/ - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,maxPacketSize); + status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, &packetSize, maxPacketSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - + /* No topic name*/ publishInfo.topicNameLength = 0U; publishInfo.pTopicName = NULL; - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,maxPacketSize); + status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, &packetSize, maxPacketSize ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); /*Packet size is more than the server allowed max packet size*/ maxPacketSize = 4; - status = MQTTV5_GetPublishPacketSize(&publishInfo,&remainingLength,&packetSize,maxPacketSize); + status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, &packetSize, maxPacketSize ); TEST_ASSERT_EQUAL( MQTTBadParameter, status ); - - } -void test_MQTT_SerializePublish(){ +void test_MQTT_SerializePublish() +{ uint32_t maxPacketSize = 200U; size_t remainingLength = 98; uint8_t buffer[ 200 + 2 * BUFFER_PADDING_LENGTH ]; @@ -2640,10 +2647,11 @@ void test_MQTT_SerializePublish(){ MQTTStatus_t status = MQTTSuccess; MQTTFixedBuffer_t fixedBuffer = { .pBuffer = &buffer[ BUFFER_PADDING_LENGTH ], .size = bufferSize }; const uint16_t PACKET_ID = 1; - setupPublishInfo(&publishInfo); + + setupPublishInfo( &publishInfo ); fixedBuffer.size = bufferSize; /* Calculate exact packet size and remaining length. */ - status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, &packetSize,maxPacketSize); + status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, &packetSize, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /* Make sure buffer has enough space */ TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); @@ -2655,11 +2663,11 @@ void test_MQTT_SerializePublish(){ &fixedBuffer ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); checkBufferOverflow( buffer, sizeof( buffer ) ); - + fixedBuffer.pBuffer = &buffer[ BUFFER_PADDING_LENGTH ]; - setupPublishProperties(&publishInfo); + setupPublishProperties( &publishInfo ); /* Calculate exact packet size and remaining length. */ - status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, &packetSize,maxPacketSize); + status = MQTTV5_GetPublishPacketSize( &publishInfo, &remainingLength, &packetSize, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /* Make sure buffer has enough space */ TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); @@ -2671,7 +2679,6 @@ void test_MQTT_SerializePublish(){ &fixedBuffer ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); checkBufferOverflow( buffer, sizeof( buffer ) ); - } void test_MQTTV5_DeserializeAck_puback( void ) @@ -2683,8 +2690,9 @@ void test_MQTTV5_DeserializeAck_puback( void ) bool requestProblem = false; MQTTStatus_t status = MQTTSuccess; uint8_t buffer[ 100 ] = { 0 }; - uint8_t* pIndex = buffer; + uint8_t * pIndex = buffer; size_t dummy; + /* Verify parameters */ memset( &mqttPacketInfo, 0x00, sizeof( mqttPacketInfo ) ); memset( &ackInfo, 0x00, sizeof( ackInfo ) ); @@ -2697,10 +2705,10 @@ void test_MQTTV5_DeserializeAck_puback( void ) status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, NULL, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - /*Remaining data cannot be NULL.*/ + /*Remaining data cannot be NULL.*/ status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - + /*Max packet size cannot be 0*/ mqttPacketInfo.pRemainingData = buffer; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); @@ -2714,7 +2722,7 @@ void test_MQTTV5_DeserializeAck_puback( void ) status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); - + /*Remaining length connot be less than 2*/ mqttPacketInfo.remainingLength = 1; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); @@ -2724,65 +2732,64 @@ void test_MQTTV5_DeserializeAck_puback( void ) mqttPacketInfo.remainingLength = 1000U; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - + /* Process a valid PUBACK. */ mqttPacketInfo.remainingLength = 2; buffer[ 1 ] = 1; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); TEST_ASSERT_EQUAL_INT( 1, packetIdentifier ); - + mqttPacketInfo.remainingLength = 3; - buffer[2] = 0x00; + buffer[ 2 ] = 0x00; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); TEST_ASSERT_EQUAL_INT( 1, packetIdentifier ); - + /*Property length should be zero when request problem is set to false*/ mqttPacketInfo.remainingLength = 24; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - + requestProblem = true; /*User properties not initilaized.*/ status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /*Valid parameters.*/ - ackInfo.pUserProperty =&userProperties; - pIndex = &buffer[3]; - dummy= encodeRemainingLength(pIndex,20); + ackInfo.pUserProperty = &userProperties; + pIndex = &buffer[ 3 ]; + dummy = encodeRemainingLength( pIndex, 20 ); pIndex++; - pIndex = serializeutf_8(pIndex, MQTT_REASON_STRING_ID); - pIndex = serializeutf_8pair(pIndex); + pIndex = serializeutf_8( pIndex, MQTT_REASON_STRING_ID ); + pIndex = serializeutf_8pair( pIndex ); status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - /*Invalid property id*/ - pIndex= &buffer[3]; - dummy= encodeRemainingLength(pIndex,7); + /*Invalid property id*/ + pIndex = &buffer[ 3 ]; + dummy = encodeRemainingLength( pIndex, 7 ); mqttPacketInfo.remainingLength = dummy + 7 + 3; pIndex++; - pIndex = serializeutf_8(pIndex, MQTT_CORRELATION_DATA_ID); + pIndex = serializeutf_8( pIndex, MQTT_CORRELATION_DATA_ID ); status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Invalid remaining length*/ - pIndex= &buffer[3]; - dummy= encodeRemainingLength(pIndex,12); + pIndex = &buffer[ 3 ]; + dummy = encodeRemainingLength( pIndex, 12 ); pIndex++; - pIndex = serializeutf_8(pIndex, MQTT_REASON_STRING_ID); + pIndex = serializeutf_8( pIndex, MQTT_REASON_STRING_ID ); status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); /*Invalid property length*/ - pIndex = &buffer[3]; + pIndex = &buffer[ 3 ]; dummy = encodeRemainingLength( pIndex, 20971556356235 ); status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); - } void test_MQTTV5_DeserializeAck_LogPuback() @@ -2791,57 +2798,57 @@ void test_MQTTV5_DeserializeAck_LogPuback() MQTTAckInfo_t ackInfo; uint16_t packetIdentifier; uint32_t maxPacketSize = 10U; - bool requestProblem= false; + bool requestProblem = false; MQTTStatus_t status = MQTTSuccess; uint8_t buffer[ 4 ] = { 0 }; + memset( &mqttPacketInfo, 0x00, sizeof( mqttPacketInfo ) ); memset( &ackInfo, 0x00, sizeof( ackInfo ) ); mqttPacketInfo.pRemainingData = buffer; mqttPacketInfo.type = MQTT_PACKET_TYPE_PUBACK; mqttPacketInfo.remainingLength = 4; /*Validate all the correct reason codes.*/ - buffer[1] = 1; - buffer[2] = MQTT_REASON_SUCCESS; + buffer[ 1 ] = 1; + buffer[ 2 ] = MQTT_REASON_SUCCESS; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - buffer[2] = MQTT_REASON_NO_MATCHING_SUBSCRIBERS; + buffer[ 2 ] = MQTT_REASON_NO_MATCHING_SUBSCRIBERS; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - buffer[2] = MQTT_REASON_UNSPECIFIED_ERR; + buffer[ 2 ] = MQTT_REASON_UNSPECIFIED_ERR; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); - buffer[2] = MQTT_REASON_IMPL_SPECIFIC_ERR; + buffer[ 2 ] = MQTT_REASON_IMPL_SPECIFIC_ERR; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); - buffer[2] = MQTT_REASON_NOT_AUTHORIZED; + buffer[ 2 ] = MQTT_REASON_NOT_AUTHORIZED; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); - buffer[2] = MQTT_REASON_TOPIC_NAME_INVALID; + buffer[ 2 ] = MQTT_REASON_TOPIC_NAME_INVALID; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); - buffer[2] = MQTT_REASON_PACKET_ID_IN_USE; + buffer[ 2 ] = MQTT_REASON_PACKET_ID_IN_USE; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); - buffer[2] = MQTT_REASON_QUOTA_EXCEEDED; + buffer[ 2 ] = MQTT_REASON_QUOTA_EXCEEDED; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); - buffer[2] = MQTT_REASON_PAYLOAD_FORMAT_INVALID; + buffer[ 2 ] = MQTT_REASON_PAYLOAD_FORMAT_INVALID; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); /*Invlaid reason code.*/ - buffer[2]= MQTT_REASON_BANNED; + buffer[ 2 ] = MQTT_REASON_BANNED; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); - } void test_MQTTV5_DeserializeAck_Pubrel() @@ -2850,36 +2857,37 @@ void test_MQTTV5_DeserializeAck_Pubrel() MQTTAckInfo_t ackInfo; uint32_t maxPacketSize = 10U; uint16_t packetIdentifier; - bool requestProblem= false; + bool requestProblem = false; MQTTStatus_t status = MQTTSuccess; uint8_t buffer[ 4 ] = { 0 }; + memset( &mqttPacketInfo, 0x00, sizeof( mqttPacketInfo ) ); memset( &ackInfo, 0x00, sizeof( ackInfo ) ); mqttPacketInfo.pRemainingData = buffer; mqttPacketInfo.type = MQTT_PACKET_TYPE_PUBREL; mqttPacketInfo.remainingLength = 4; /*Validate all the correct reason codes.*/ - buffer[1] = 1; - buffer[2] = MQTT_REASON_SUCCESS; + buffer[ 1 ] = 1; + buffer[ 2 ] = MQTT_REASON_SUCCESS; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - buffer[2] = MQTT_REASON_PACKET_ID_NOT_FOUND; + buffer[ 2 ] = MQTT_REASON_PACKET_ID_NOT_FOUND; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTServerRefused, status ); /*Invalid reason code.*/ - buffer[2]= MQTT_REASON_BANNED; + buffer[ 2 ] = MQTT_REASON_BANNED; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Invalid reason code.*/ - buffer[2]= MQTT_REASON_SEND_WILL; + buffer[ 2 ] = MQTT_REASON_SEND_WILL; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*Invalid packet id*/ - buffer[1] = 0; + buffer[ 1 ] = 0; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); @@ -2887,109 +2895,107 @@ void test_MQTTV5_DeserializeAck_Pubrel() mqttPacketInfo.type = MQTT_PACKET_TYPE_CONNACK; status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); - - - } void test_MQTTV5_GetAckPacketSize() { - MQTTStatus_t status ; - MQTTAckInfo_t ackInfo; - MQTTUserProperties_t userProperties; - size_t remainingLength; - size_t packetSize; - uint32_t maxPacketSize = 0U; - memset(&ackInfo,0x0, sizeof(ackInfo)); - memset(&userProperties,0x0, sizeof(userProperties)); - /*Invalid parameters*/ -status = MQTTV5_GetAckPacketSize(NULL,&remainingLength,&packetSize,maxPacketSize); -TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + MQTTStatus_t status; + MQTTAckInfo_t ackInfo; + MQTTUserProperties_t userProperties; + size_t remainingLength; + size_t packetSize; + uint32_t maxPacketSize = 0U; + + memset( &ackInfo, 0x0, sizeof( ackInfo ) ); + memset( &userProperties, 0x0, sizeof( userProperties ) ); + /*Invalid parameters*/ + status = MQTTV5_GetAckPacketSize( NULL, &remainingLength, &packetSize, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); -status = MQTTV5_GetAckPacketSize(&ackInfo,NULL,&packetSize,maxPacketSize); -TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + status = MQTTV5_GetAckPacketSize( &ackInfo, NULL, &packetSize, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); -status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,NULL,maxPacketSize); -TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + status = MQTTV5_GetAckPacketSize( &ackInfo, &remainingLength, NULL, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /*Max packet size cannot be 0*/ -status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,NULL,maxPacketSize); -TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + status = MQTTV5_GetAckPacketSize( &ackInfo, &remainingLength, NULL, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /*Valid parameters*/ -maxPacketSize = UINT32_MAX; -status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize); -TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + maxPacketSize = UINT32_MAX; + status = MQTTV5_GetAckPacketSize( &ackInfo, &remainingLength, &packetSize, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /*With properties*/ -ackInfo.pReasonString = MQTT_TEST_UTF8_STRING; -ackInfo.reasonStringLength = MQTT_TEST_UTF8_STRING_LENGTH; -ackInfo.pUserProperty = &userProperties; -userProperties.count = 0; -status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize); -TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + ackInfo.pReasonString = MQTT_TEST_UTF8_STRING; + ackInfo.reasonStringLength = MQTT_TEST_UTF8_STRING_LENGTH; + ackInfo.pUserProperty = &userProperties; + userProperties.count = 0; + status = MQTTV5_GetAckPacketSize( &ackInfo, &remainingLength, &packetSize, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /*Packet size greater than max allowed.*/ -maxPacketSize = 2; -status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize); -TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + maxPacketSize = 2; + status = MQTTV5_GetAckPacketSize( &ackInfo, &remainingLength, &packetSize, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /*Max packet size cannot be 0*/ -maxPacketSize = 0; -status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize); -TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + maxPacketSize = 0; + status = MQTTV5_GetAckPacketSize( &ackInfo, &remainingLength, &packetSize, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /*Reason string is null but length is not 0*/ -ackInfo.pReasonString = NULL; -maxPacketSize = 30; -status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize); -TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - + ackInfo.pReasonString = NULL; + maxPacketSize = 30; + status = MQTTV5_GetAckPacketSize( &ackInfo, &remainingLength, &packetSize, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); } void test_MQTTV5_SerializePubAckWithProperty() { - MQTTStatus_t status ; + MQTTStatus_t status; MQTTAckInfo_t ackInfo; size_t remainingLength = 0U; - size_t packetSize; - uint8_t packetType= MQTT_PACKET_TYPE_PUBREL; + size_t packetSize; + uint8_t packetType = MQTT_PACKET_TYPE_PUBREL; uint16_t packetId = 1U; uint32_t maxPacketSize = 1000U; uint8_t buffer[ 440 + 2 * BUFFER_PADDING_LENGTH ]; size_t bufferSize = sizeof( buffer ) - 2 * BUFFER_PADDING_LENGTH; MQTTFixedBuffer_t fixedBuffer = { .pBuffer = &buffer[ BUFFER_PADDING_LENGTH ], .size = bufferSize }; + /*Invalid parameters*/ - status = MQTTV5_SerializePubAckWithProperty(NULL,remainingLength,&fixedBuffer,packetType,packetId); + status = MQTTV5_SerializePubAckWithProperty( NULL, remainingLength, &fixedBuffer, packetType, packetId ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,NULL,packetType,packetId); + status = MQTTV5_SerializePubAckWithProperty( &ackInfo, remainingLength, NULL, packetType, packetId ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); fixedBuffer.pBuffer = NULL; - status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,&fixedBuffer,packetType,packetId); + status = MQTTV5_SerializePubAckWithProperty( &ackInfo, remainingLength, &fixedBuffer, packetType, packetId ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /*Buffer size not sufficient*/ - status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize); - fixedBuffer.size = 5; - fixedBuffer.pBuffer= &buffer[BUFFER_PADDING_LENGTH]; - status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,&fixedBuffer,packetType,packetId); + status = MQTTV5_GetAckPacketSize( &ackInfo, &remainingLength, &packetSize, maxPacketSize ); + fixedBuffer.size = 5; + fixedBuffer.pBuffer = &buffer[ BUFFER_PADDING_LENGTH ]; + status = MQTTV5_SerializePubAckWithProperty( &ackInfo, remainingLength, &fixedBuffer, packetType, packetId ); TEST_ASSERT_EQUAL_INT( MQTTNoMemory, status ); /*With correct parameters*/ - memset(&ackInfo,0x0, sizeof(ackInfo)); - status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize); + memset( &ackInfo, 0x0, sizeof( ackInfo ) ); + status = MQTTV5_GetAckPacketSize( &ackInfo, &remainingLength, &packetSize, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /* Make sure buffer has enough space */ TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); /* Make sure test succeeds. */ fixedBuffer.size = 200; TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,&fixedBuffer,packetType,packetId); + status = MQTTV5_SerializePubAckWithProperty( &ackInfo, remainingLength, &fixedBuffer, packetType, packetId ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /*With properties*/ @@ -2997,254 +3003,255 @@ void test_MQTTV5_SerializePubAckWithProperty() ackInfo.pReasonString = MQTT_TEST_UTF8_STRING; ackInfo.pUserProperty = &userProperties; userProperties.count = 1; - userProperties.userProperty->keyLength = 1; + userProperties.userProperty->keyLength = 1; userProperties.userProperty->valueLength = 1; userProperties.userProperty->pKey = "a"; userProperties.userProperty->pValue = "a"; - status = MQTTV5_GetAckPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize); + status = MQTTV5_GetAckPacketSize( &ackInfo, &remainingLength, &packetSize, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /* Make sure buffer has enough space */ fixedBuffer.size = 400; TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - status = MQTTV5_SerializePubAckWithProperty(&ackInfo,remainingLength,&fixedBuffer,packetType,packetId); + status = MQTTV5_SerializePubAckWithProperty( &ackInfo, remainingLength, &fixedBuffer, packetType, packetId ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); } void test_MQTTV5_GetDisconnectPacketSize() { MQTTAckInfo_t ackInfo; - size_t remainingLength; - size_t packetSize; - uint32_t maxPacketSize = 0U; - uint32_t sessionExpiry = 0U; - uint32_t prevSessionExpiry = 0U; - MQTTStatus_t status; - memset(&ackInfo,0x0,sizeof(ackInfo)); - - /*Invalid arguments*/ - status = MQTTV5_GetDisconnectPacketSize(NULL,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); - - status = MQTTV5_GetDisconnectPacketSize(&ackInfo,NULL,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); - - status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,NULL,maxPacketSize,sessionExpiry,prevSessionExpiry); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); - - /*Max packet size cannot be 0.*/ - status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); - - /*Session expiry cannot overwrite zero.*/ - sessionExpiry = 10U; - maxPacketSize = 6U; - status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); - - prevSessionExpiry = 5; - /*Invalid reason code*/ - ackInfo.reasonCode = 2; - status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); - - /*Reason string not initialized.*/ - ackInfo.reasonCode = 0; - ackInfo.reasonStringLength = MQTT_TEST_UTF8_STRING_LENGTH; - status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); - + size_t remainingLength; + size_t packetSize; + uint32_t maxPacketSize = 0U; + uint32_t sessionExpiry = 0U; + uint32_t prevSessionExpiry = 0U; + MQTTStatus_t status; + + memset( &ackInfo, 0x0, sizeof( ackInfo ) ); + + /*Invalid arguments*/ + status = MQTTV5_GetDisconnectPacketSize( NULL, &remainingLength, &packetSize, maxPacketSize, sessionExpiry, prevSessionExpiry ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + status = MQTTV5_GetDisconnectPacketSize( &ackInfo, NULL, &packetSize, maxPacketSize, sessionExpiry, prevSessionExpiry ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + status = MQTTV5_GetDisconnectPacketSize( &ackInfo, &remainingLength, NULL, maxPacketSize, sessionExpiry, prevSessionExpiry ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + /*Max packet size cannot be 0.*/ + status = MQTTV5_GetDisconnectPacketSize( &ackInfo, &remainingLength, &packetSize, maxPacketSize, sessionExpiry, prevSessionExpiry ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + /*Session expiry cannot overwrite zero.*/ + sessionExpiry = 10U; + maxPacketSize = 6U; + status = MQTTV5_GetDisconnectPacketSize( &ackInfo, &remainingLength, &packetSize, maxPacketSize, sessionExpiry, prevSessionExpiry ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + prevSessionExpiry = 5; + /*Invalid reason code*/ + ackInfo.reasonCode = 2; + status = MQTTV5_GetDisconnectPacketSize( &ackInfo, &remainingLength, &packetSize, maxPacketSize, sessionExpiry, prevSessionExpiry ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + + /*Reason string not initialized.*/ + ackInfo.reasonCode = 0; + ackInfo.reasonStringLength = MQTT_TEST_UTF8_STRING_LENGTH; + status = MQTTV5_GetDisconnectPacketSize( &ackInfo, &remainingLength, &packetSize, maxPacketSize, sessionExpiry, prevSessionExpiry ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + ackInfo.pReasonString = MQTT_TEST_UTF8_STRING; /*Packet size greater than allowed.*/ prevSessionExpiry = 10; - status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); - + status = MQTTV5_GetDisconnectPacketSize( &ackInfo, &remainingLength, &packetSize, maxPacketSize, sessionExpiry, prevSessionExpiry ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + /*Invalid Reason code*/ maxPacketSize = 60U; ackInfo.reasonCode = MQTT_REASON_SERVER_BUSY; - status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + status = MQTTV5_GetDisconnectPacketSize( &ackInfo, &remainingLength, &packetSize, maxPacketSize, sessionExpiry, prevSessionExpiry ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - /*Valid parameters*/ + /*Valid parameters*/ ackInfo.reasonCode = MQTT_REASON_SEND_WILL; - status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); - TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); + status = MQTTV5_GetDisconnectPacketSize( &ackInfo, &remainingLength, &packetSize, maxPacketSize, sessionExpiry, prevSessionExpiry ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /*Valid parameters*/ ackInfo.reasonCode = MQTT_REASON_PACKET_TOO_LARGE; - status = MQTTV5_GetDisconnectPacketSize(&ackInfo,&remainingLength,&packetSize,maxPacketSize,sessionExpiry,prevSessionExpiry); - TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); - - + status = MQTTV5_GetDisconnectPacketSize( &ackInfo, &remainingLength, &packetSize, maxPacketSize, sessionExpiry, prevSessionExpiry ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); } void test_MQTTV5_SerializeDisconnectWithProperty() { - MQTTAckInfo_t ackInfo; - size_t remainingLength = 0U; - uint32_t maxPacketSize = 200U; - uint32_t sessionExpiry = 0U; - MQTTStatus_t status = MQTTSuccess; - uint8_t buffer[ 200 + 2 * BUFFER_PADDING_LENGTH ]; - size_t bufferSize = sizeof( buffer ) - 2 * BUFFER_PADDING_LENGTH; - size_t packetSize = bufferSize; - MQTTFixedBuffer_t fixedBuffer = { 0 }; - memset(&ackInfo,0x0,sizeof(ackInfo)); + MQTTAckInfo_t ackInfo; + size_t remainingLength = 0U; + uint32_t maxPacketSize = 200U; + uint32_t sessionExpiry = 0U; + MQTTStatus_t status = MQTTSuccess; + uint8_t buffer[ 200 + 2 * BUFFER_PADDING_LENGTH ]; + size_t bufferSize = sizeof( buffer ) - 2 * BUFFER_PADDING_LENGTH; + size_t packetSize = bufferSize; + MQTTFixedBuffer_t fixedBuffer = { 0 }; + + memset( &ackInfo, 0x0, sizeof( ackInfo ) ); fixedBuffer.size = bufferSize; /*Invalid Parameters*/ - status = MQTTV5_SerializeDisconnectWithProperty(NULL,remainingLength,&fixedBuffer,sessionExpiry); + status = MQTTV5_SerializeDisconnectWithProperty( NULL, remainingLength, &fixedBuffer, sessionExpiry ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - status = MQTTV5_SerializeDisconnectWithProperty(&ackInfo,remainingLength,NULL,sessionExpiry); + status = MQTTV5_SerializeDisconnectWithProperty( &ackInfo, remainingLength, NULL, sessionExpiry ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - status = MQTTV5_SerializeDisconnectWithProperty(&ackInfo,remainingLength,&fixedBuffer,sessionExpiry); + status = MQTTV5_SerializeDisconnectWithProperty( &ackInfo, remainingLength, &fixedBuffer, sessionExpiry ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - + fixedBuffer.pBuffer = &buffer[ BUFFER_PADDING_LENGTH ]; - fixedBuffer.size = 2 ; + fixedBuffer.size = 2; remainingLength = 20; /*Buffer size not enough.*/ - status = MQTTV5_SerializeDisconnectWithProperty(&ackInfo,remainingLength,&fixedBuffer,sessionExpiry); + status = MQTTV5_SerializeDisconnectWithProperty( &ackInfo, remainingLength, &fixedBuffer, sessionExpiry ); TEST_ASSERT_EQUAL_INT( MQTTNoMemory, status ); - fixedBuffer.size= bufferSize; + fixedBuffer.size = bufferSize; /* Calculate exact packet size and remaining length. */ - status = MQTTV5_GetDisconnectPacketSize( &ackInfo, &remainingLength, &packetSize,maxPacketSize,sessionExpiry,10); + status = MQTTV5_GetDisconnectPacketSize( &ackInfo, &remainingLength, &packetSize, maxPacketSize, sessionExpiry, 10 ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /* Make sure buffer has enough space */ TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); padAndResetBuffer( buffer, sizeof( buffer ) ); - status = MQTTV5_SerializeDisconnectWithProperty(&ackInfo,remainingLength,&fixedBuffer,sessionExpiry); + status = MQTTV5_SerializeDisconnectWithProperty( &ackInfo, remainingLength, &fixedBuffer, sessionExpiry ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); checkBufferOverflow( buffer, sizeof( buffer ) ); - - ackInfo.pReasonString =MQTT_TEST_UTF8_STRING; + + ackInfo.pReasonString = MQTT_TEST_UTF8_STRING; ackInfo.reasonStringLength = MQTT_TEST_UTF8_STRING_LENGTH; ackInfo.pUserProperty = &userProperties; userProperties.count = 1; - userProperties.userProperty[0].pKey = MQTT_TEST_UTF8_STRING; - userProperties.userProperty[0].pValue = MQTT_TEST_UTF8_STRING; - userProperties.userProperty[0].keyLength = MQTT_TEST_UTF8_STRING_LENGTH; - userProperties.userProperty[0].valueLength = MQTT_TEST_UTF8_STRING_LENGTH; + userProperties.userProperty[ 0 ].pKey = MQTT_TEST_UTF8_STRING; + userProperties.userProperty[ 0 ].pValue = MQTT_TEST_UTF8_STRING; + userProperties.userProperty[ 0 ].keyLength = MQTT_TEST_UTF8_STRING_LENGTH; + userProperties.userProperty[ 0 ].valueLength = MQTT_TEST_UTF8_STRING_LENGTH; sessionExpiry = 10; fixedBuffer.pBuffer = &buffer[ BUFFER_PADDING_LENGTH ]; /* Calculate exact packet size and remaining length. */ - status = MQTTV5_GetDisconnectPacketSize( &ackInfo, &remainingLength, &packetSize,maxPacketSize,sessionExpiry,10); + status = MQTTV5_GetDisconnectPacketSize( &ackInfo, &remainingLength, &packetSize, maxPacketSize, sessionExpiry, 10 ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /* Make sure buffer has enough space */ TEST_ASSERT_GREATER_OR_EQUAL( packetSize, bufferSize ); padAndResetBuffer( buffer, sizeof( buffer ) ); - status = MQTTV5_SerializeDisconnectWithProperty(&ackInfo,remainingLength,&fixedBuffer,sessionExpiry); + status = MQTTV5_SerializeDisconnectWithProperty( &ackInfo, remainingLength, &fixedBuffer, sessionExpiry ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); checkBufferOverflow( buffer, sizeof( buffer ) ); } - void test_MQTTV5_DeserializeDisconnect() - { +void test_MQTTV5_DeserializeDisconnect() +{ MQTTAckInfo_t disconnectInfo; const char * pServerRef; - uint16_t serverRefLength; + uint16_t serverRefLength; size_t dummy; int32_t maxPacketSize = 0U; uint8_t buffer[ 100 ] = { 0 }; - uint8_t* pIndex = buffer; - memset(&disconnectInfo, 0x0, sizeof(disconnectInfo)); + uint8_t * pIndex = buffer; + + memset( &disconnectInfo, 0x0, sizeof( disconnectInfo ) ); /*Invalid parameters*/ - status = MQTTV5_DeserializeDisconnect(NULL,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + status = MQTTV5_DeserializeDisconnect( NULL, &disconnectInfo, &pServerRef, &serverRefLength, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /*Remaining data not initialized.*/ - status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + status = MQTTV5_DeserializeDisconnect( &packetInfo, &disconnectInfo, &pServerRef, &serverRefLength, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); packetInfo.pRemainingData = buffer; - status = MQTTV5_DeserializeDisconnect(&packetInfo,NULL,&pServerRef,&serverRefLength,maxPacketSize); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + status = MQTTV5_DeserializeDisconnect( &packetInfo, NULL, &pServerRef, &serverRefLength, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,NULL,&serverRefLength,maxPacketSize); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + status = MQTTV5_DeserializeDisconnect( &packetInfo, &disconnectInfo, NULL, &serverRefLength, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,NULL,maxPacketSize); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + status = MQTTV5_DeserializeDisconnect( &packetInfo, &disconnectInfo, &pServerRef, NULL, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /*Max packet size cannot be 0.*/ - status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); - maxPacketSize = 100; + status = MQTTV5_DeserializeDisconnect( &packetInfo, &disconnectInfo, &pServerRef, &serverRefLength, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + maxPacketSize = 100; + - /*Remaining length cannot be 0*/ - status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); - TEST_ASSERT_EQUAL_INT(MQTTMalformedPacket,status); + status = MQTTV5_DeserializeDisconnect( &packetInfo, &disconnectInfo, &pServerRef, &serverRefLength, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); /*Remaining Length invalid. */ packetInfo.remainingLength = 200; - status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError,status); + status = MQTTV5_DeserializeDisconnect( &packetInfo, &disconnectInfo, &pServerRef, &serverRefLength, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); /*User property not initialized.*/ packetInfo.remainingLength = 1; - status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + status = MQTTV5_DeserializeDisconnect( &packetInfo, &disconnectInfo, &pServerRef, &serverRefLength, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /*Invalid reason code.*/ - disconnectInfo.pUserProperty= &userProperties; - buffer[0] = MQTT_REASON_SEND_WILL; - status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError,status); + disconnectInfo.pUserProperty = &userProperties; + buffer[ 0 ] = MQTT_REASON_SEND_WILL; + status = MQTTV5_DeserializeDisconnect( &packetInfo, &disconnectInfo, &pServerRef, &serverRefLength, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); packetInfo.remainingLength = 1; - buffer[0] = MQTT_REASON_NOT_AUTHORIZED; - status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); - TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); + buffer[ 0 ] = MQTT_REASON_NOT_AUTHORIZED; + status = MQTTV5_DeserializeDisconnect( &packetInfo, &disconnectInfo, &pServerRef, &serverRefLength, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /*Property length is 0.*/ packetInfo.remainingLength = 2; - pIndex = &buffer[1]; - dummy= encodeRemainingLength(pIndex,0); - status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); - TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); + pIndex = &buffer[ 1 ]; + dummy = encodeRemainingLength( pIndex, 0 ); + status = MQTTV5_DeserializeDisconnect( &packetInfo, &disconnectInfo, &pServerRef, &serverRefLength, maxPacketSize ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /*With properties*/ - pIndex = &buffer[1]; + pIndex = &buffer[ 1 ]; packetInfo.remainingLength = 29; - dummy= encodeRemainingLength(pIndex,27); + dummy = encodeRemainingLength( pIndex, 27 ); pIndex++; - pIndex = serializeutf_8(pIndex, MQTT_REASON_STRING_ID); - pIndex = serializeutf_8pair(pIndex); - pIndex= serializeutf_8(pIndex, MQTT_SERVER_REF_ID); - status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); + pIndex = serializeutf_8( pIndex, MQTT_REASON_STRING_ID ); + pIndex = serializeutf_8pair( pIndex ); + pIndex = serializeutf_8( pIndex, MQTT_SERVER_REF_ID ); + status = MQTTV5_DeserializeDisconnect( &packetInfo, &disconnectInfo, &pServerRef, &serverRefLength, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /*Invalid property id.*/ - pIndex = &buffer[1]; + pIndex = &buffer[ 1 ]; packetInfo.remainingLength = 9; - dummy= encodeRemainingLength(pIndex,7); + dummy = encodeRemainingLength( pIndex, 7 ); pIndex++; - pIndex = serializeutf_8(pIndex, MQTT_SESSION_EXPIRY_ID); - status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); + pIndex = serializeutf_8( pIndex, MQTT_SESSION_EXPIRY_ID ); + status = MQTTV5_DeserializeDisconnect( &packetInfo, &disconnectInfo, &pServerRef, &serverRefLength, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); TEST_ASSERT_EQUAL_INT( 1, dummy ); /*Invalid property length.*/ - pIndex = &buffer[1]; + pIndex = &buffer[ 1 ]; packetInfo.remainingLength = 9; - dummy= encodeRemainingLength(pIndex,4); - status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); + dummy = encodeRemainingLength( pIndex, 4 ); + status = MQTTV5_DeserializeDisconnect( &packetInfo, &disconnectInfo, &pServerRef, &serverRefLength, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); - buffer[1] = 0x81; - buffer[2] = 0x00; - status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); + buffer[ 1 ] = 0x81; + buffer[ 2 ] = 0x00; + status = MQTTV5_DeserializeDisconnect( &packetInfo, &disconnectInfo, &pServerRef, &serverRefLength, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); - } +} void test_MQTT_GetIncomingPacketTypeAndLength( void ) { @@ -3262,14 +3269,12 @@ void test_MQTT_GetIncomingPacketTypeAndLength( void ) buffer[ 0 ] = MQTT_PACKET_TYPE_DISCONNECT; status = MQTT_GetIncomingPacketTypeAndLength( mockReceive, &networkContext, &mqttPacket ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); - } void test_MQTTV5_InitConnect() { - - status = MQTTV5_InitConnect(NULL); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); - status = MQTTV5_InitConnect(&properties); - TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); -} \ No newline at end of file + status = MQTTV5_InitConnect( NULL ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); + status = MQTTV5_InitConnect( &properties ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); +} diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index e92007563..7009f5bf9 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -169,14 +169,14 @@ struct NetworkContext #define MQTT_SAMPLE_TOPIC_FILTER_LENGTH3 ( sizeof( MQTT_SAMPLE_TOPIC_FILTER3 ) - 1 ) -#define TEST_TOPIC_ALIAS (2U) -#define TEST_MSG_EXPIRY (100U) -#define TEST_CONTENT_TYPE_LENGTH (2) -#define TEST_CONTENT_TYPE ("ab") -#define TEST_RESPONSE_TOPIC_LENGTH (10) -#define TEST_RESPONSE_TOPIC ("aaaaaaaaaa") -#define TEST_CORRELATION_DATA_LENGTH (5) -#define TEST_CORRELATION_DATA ("abcde") +#define TEST_TOPIC_ALIAS ( 2U ) +#define TEST_MSG_EXPIRY ( 100U ) +#define TEST_CONTENT_TYPE_LENGTH ( 2 ) +#define TEST_CONTENT_TYPE ( "ab" ) +#define TEST_RESPONSE_TOPIC_LENGTH ( 10 ) +#define TEST_RESPONSE_TOPIC ( "aaaaaaaaaa" ) +#define TEST_CORRELATION_DATA_LENGTH ( 5 ) +#define TEST_CORRELATION_DATA ( "abcde" ) /** * @brief Return values of mocked calls in MQTT_ProcessLoop(). Used by @@ -298,24 +298,26 @@ static void eventCallback( MQTTContext_t * pContext, * @param[in] pDeserializedInfo Deserialized information from the incoming packet. */ static void eventCallback1( MQTTContext_t * pContext, - MQTTPacketInfo_t * pPacketInfo, - MQTTDeserializedInfo_t * pDeserializedInfo ) + MQTTPacketInfo_t * pPacketInfo, + MQTTDeserializedInfo_t * pDeserializedInfo ) { ( void ) pContext; ( void ) pPacketInfo; ( void ) pDeserializedInfo; MQTTAckInfo_t ackInfo; - MQTTUserProperties_t user ; - memset(&user,0x0,sizeof(user)); - memset(&ackInfo, 0x0, sizeof(ackInfo)); + MQTTUserProperties_t user; + memset( &user, 0x0, sizeof( user ) ); + memset( &ackInfo, 0x0, sizeof( ackInfo ) ); /* Update the global state to indicate that event callback is invoked. */ isEventCallbackInvoked = true; pDeserializedInfo->pNextAckInfo = &ackInfo; - if(pDeserializedInfo->packetIdentifier == 1){ - ackInfo.reasonStringLength = 2; - ackInfo.pReasonString = "ab"; - ackInfo.pUserProperty= &user; - user.count = 0; + + if( pDeserializedInfo->packetIdentifier == 1 ) + { + ackInfo.reasonStringLength = 2; + ackInfo.pReasonString = "ab"; + ackInfo.pUserProperty = &user; + user.count = 0; } } @@ -334,11 +336,11 @@ static int32_t transportSendNoBytes( NetworkContext_t * pNetworkContext, } static uint8_t * MQTTV5_SerializeAckFixed_cb( uint8_t * pIndex, - uint8_t packetType, - uint16_t packetId, - size_t remainingLength, - size_t propertyLength, - int numcallbacks ) + uint8_t packetType, + uint16_t packetId, + size_t remainingLength, + size_t propertyLength, + int numcallbacks ) { ( void ) packetType; ( void ) packetId; @@ -349,11 +351,11 @@ static uint8_t * MQTTV5_SerializeAckFixed_cb( uint8_t * pIndex, return pIndex; } -static uint8_t * MQTTV5_SerializeDisconnectFixed_cb(uint8_t * pIndex, - const MQTTAckInfo_t * pAckInfo, - size_t remainingLength, - uint32_t sessionExpiry, - int numcallbacks) +static uint8_t * MQTTV5_SerializeDisconnectFixed_cb( uint8_t * pIndex, + const MQTTAckInfo_t * pAckInfo, + size_t remainingLength, + uint32_t sessionExpiry, + int numcallbacks ) { ( void ) pIndex; ( void ) pAckInfo; @@ -381,9 +383,9 @@ static uint8_t * MQTT_SerializeConnectFixedHeader_cb( uint8_t * pIndex, } static uint8_t * MQTTV5_SerializeConnectProperties_cb( uint8_t * pIndex, - const MQTTConnectProperties_t * pConnectProperties - , - int numcallbacks ) + const MQTTConnectProperties_t * pConnectProperties + , + int numcallbacks ) { ( void ) pConnectProperties; ( void ) numcallbacks; @@ -745,29 +747,27 @@ void test_MQTT_Publish( void ) status = MQTT_Publish( &mqttContext, &publishInfo, PACKET_ID ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); mqttContext.pConnectProperties = &properties; - + properties.maxPacketSize = 10000; - MQTTV5_ValidatePublishParams_ExpectAnyArgsAndReturn(MQTTSuccess); - MQTTV5_GetPublishPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); + MQTTV5_ValidatePublishParams_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTTV5_GetPublishPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_SerializePublishHeaderWithoutTopic_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); status = MQTT_Publish( &mqttContext, &publishInfo, PACKET_ID ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - MQTTV5_ValidatePublishParams_ExpectAnyArgsAndReturn(MQTTBadParameter); + MQTTV5_ValidatePublishParams_ExpectAnyArgsAndReturn( MQTTBadParameter ); status = MQTT_Publish( &mqttContext, &publishInfo, PACKET_ID ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - - /*Send With properties*/ - setupPublishProperties(&publishInfo); - MQTTV5_ValidatePublishParams_ExpectAnyArgsAndReturn(MQTTSuccess); - MQTTV5_GetPublishPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); + + /*Send With properties*/ + setupPublishProperties( &publishInfo ); + MQTTV5_ValidatePublishParams_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTTV5_GetPublishPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_SerializePublishHeaderWithoutTopic_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_SerializePublishProperties_Stub( MQTT_SerializePublishProperties_cb ); status = MQTT_Publish( &mqttContext, &publishInfo, PACKET_ID ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - - } void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths( void ) @@ -779,6 +779,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths( void ) MQTTFixedBuffer_t networkBuffer = { 0 }; MQTTConnectProperties_t properties; MQTTPacketInfo_t incomingPacket = { 0 }; + setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); /* Modify incoming packet depending on type to be tested. */ @@ -793,14 +794,13 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths( void ) stateAfterDeserialize = MQTTPubRelSend; MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); - MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( MQTTSuccess); - MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess); - MQTT_SerializeAck_ExpectAnyArgsAndReturn(MQTTSuccess); + MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_SerializeAck_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterDeserialize ); - MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess); - status = MQTT_ProcessLoop(&context); - TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); - + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess ); + status = MQTT_ProcessLoop( &context ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); } void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths2( void ) @@ -813,6 +813,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths2( void ) MQTTFixedBuffer_t networkBuffer = { 0 }; MQTTConnectProperties_t properties; MQTTPacketInfo_t incomingPacket = { 0 }; + setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); /* Modify incoming packet depending on type to be tested. */ @@ -828,16 +829,15 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths2( void ) stateAfterSerialize = MQTTPubCompPending; MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); - MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( MQTTSuccess); - MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterDeserialize ); - MQTTV5_GetAckPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); - MQTTV5_SerializeAckFixed_Stub(MQTTV5_SerializeAckFixed_cb); - MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTBadResponse); + MQTTV5_GetAckPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTTV5_SerializeAckFixed_Stub( MQTTV5_SerializeAckFixed_cb ); + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTBadResponse ); MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterSerialize ); - status = MQTT_ProcessLoop(&context); - TEST_ASSERT_EQUAL_INT(MQTTBadResponse,status); - + status = MQTT_ProcessLoop( &context ); + TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); } void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths3( void ) @@ -848,6 +848,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths3( void ) MQTTFixedBuffer_t networkBuffer = { 0 }; MQTTConnectProperties_t properties; MQTTPacketInfo_t incomingPacket = { 0 }; + setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); /* Modify incoming packet depending on type to be tested. */ @@ -861,11 +862,10 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths3( void ) modifyIncomingPacketStatus = MQTTSuccess; MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); - MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( MQTTSuccess); - MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTBadParameter); - status = MQTT_ProcessLoop(&context); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); - + MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTBadParameter ); + status = MQTT_ProcessLoop( &context ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); } void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths4( void ) @@ -878,6 +878,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths4( void ) MQTTConnectProperties_t properties; uint16_t packetId = 2; MQTTPacketInfo_t incomingPacket = { 0 }; + setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); /* Modify incoming packet depending on type to be tested. */ @@ -892,14 +893,13 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths4( void ) stateAfterDeserialize = MQTTPubRelSend; MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); - MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTTV5_DeserializeAck_ReturnThruPtr_pPacketId( &packetId ); - MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterDeserialize ); - MQTTV5_GetAckPacketSize_ExpectAnyArgsAndReturn(MQTTBadParameter); - status = MQTT_ProcessLoop(&context); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); - + MQTTV5_GetAckPacketSize_ExpectAnyArgsAndReturn( MQTTBadParameter ); + status = MQTT_ProcessLoop( &context ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); } void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths5( void ) @@ -913,6 +913,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths5( void ) MQTTConnectProperties_t properties; uint16_t packetId = 1; MQTTPacketInfo_t incomingPacket = { 0 }; + setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); /* Modify incoming packet depending on type to be tested. */ @@ -928,17 +929,16 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths5( void ) stateAfterSerialize = MQTTPubCompPending; MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); - MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTTV5_DeserializeAck_ReturnThruPtr_pPacketId( &packetId ); - MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterDeserialize ); - MQTTV5_GetAckPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); - MQTTV5_SerializeAckFixed_Stub(MQTTV5_SerializeAckFixed_cb); - MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTTV5_GetAckPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTTV5_SerializeAckFixed_Stub( MQTTV5_SerializeAckFixed_cb ); + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterSerialize ); - status = MQTT_ProcessLoop(&context); - TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); - + status = MQTT_ProcessLoop( &context ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); } void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths6( void ) @@ -950,6 +950,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths6( void ) MQTTFixedBuffer_t networkBuffer = { 0 }; MQTTConnectProperties_t properties; MQTTPacketInfo_t incomingPacket = { 0 }; + setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); /* Modify incoming packet depending on type to be tested. */ @@ -964,13 +965,12 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths6( void ) stateAfterDeserialize = MQTTPubRelPending; MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); - MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( MQTTSuccess); - MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterDeserialize ); - MQTTV5_GetAckPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); - status = MQTT_ProcessLoop(&context); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); - + MQTTV5_GetAckPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); + status = MQTT_ProcessLoop( &context ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); } void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths7( void ) @@ -983,6 +983,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths7( void ) MQTTConnectProperties_t properties; MQTTPacketInfo_t incomingPacket = { 0 }; uint16_t packetId = 1; + setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); /* Modify incoming packet depending on type to be tested. */ @@ -999,15 +1000,14 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths7( void ) stateAfterDeserialize = MQTTPubRelSend; MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); - MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTTV5_DeserializeAck_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTTV5_DeserializeAck_ReturnThruPtr_pPacketId( &packetId ); - MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess); + MQTT_UpdateStateAck_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_UpdateStateAck_ReturnThruPtr_pNewState( &stateAfterDeserialize ); - MQTTV5_GetAckPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); - MQTTV5_SerializeAckFixed_Stub(MQTTV5_SerializeAckFixed_cb); - status = MQTT_ProcessLoop(&context); - TEST_ASSERT_EQUAL_INT(MQTTSendFailed,status); - + MQTTV5_GetAckPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTTV5_SerializeAckFixed_Stub( MQTTV5_SerializeAckFixed_cb ); + status = MQTT_ProcessLoop( &context ); + TEST_ASSERT_EQUAL_INT( MQTTSendFailed, status ); } void test_MQTTV5_Disconnect() @@ -1015,59 +1015,58 @@ void test_MQTTV5_Disconnect() uint32_t sessionExpiry = 0U; MQTTStatus_t status; MQTTConnectProperties_t properties = { 0 }; - MQTTAckInfo_t ackInfo ={ 0 }; + MQTTAckInfo_t ackInfo = { 0 }; MQTTContext_t context = { 0 }; TransportInterface_t transport = { 0 }; MQTTFixedBuffer_t networkBuffer = { 0 }; - MQTTUserProperties_t userProperties ={ 0 }; + MQTTUserProperties_t userProperties = { 0 }; + setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); status = MQTT_Init( &context, &transport, getTime, eventCallback, &networkBuffer ); - TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /*Invalid parameters*/ - status = MQTTV5_Disconnect(NULL, &ackInfo, sessionExpiry); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + status = MQTTV5_Disconnect( NULL, &ackInfo, sessionExpiry ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - status = MQTTV5_Disconnect(&context, NULL, sessionExpiry); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + status = MQTTV5_Disconnect( &context, NULL, sessionExpiry ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /*Connect properties not initialized*/ - status = MQTTV5_Disconnect(&context, &ackInfo, sessionExpiry); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + status = MQTTV5_Disconnect( &context, &ackInfo, sessionExpiry ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); - /*Bad Parameters*/ + /*Bad Parameters*/ context.pConnectProperties = &properties; - MQTTV5_GetDisconnectPacketSize_ExpectAnyArgsAndReturn(MQTTBadParameter); - status = MQTTV5_Disconnect(&context, &ackInfo, sessionExpiry); - TEST_ASSERT_EQUAL_INT(MQTTBadParameter,status); + MQTTV5_GetDisconnectPacketSize_ExpectAnyArgsAndReturn( MQTTBadParameter ); + status = MQTTV5_Disconnect( &context, &ackInfo, sessionExpiry ); + TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); /*Valid parameters*/ properties.maxPacketSize = 100U; properties.sessionExpiry = 10U; - MQTTV5_GetDisconnectPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); - MQTTV5_SerializeDisconnectFixed_Stub(MQTTV5_SerializeDisconnectFixed_cb ); - status = MQTTV5_Disconnect(&context, &ackInfo, sessionExpiry); - TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); + MQTTV5_GetDisconnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTTV5_SerializeDisconnectFixed_Stub( MQTTV5_SerializeDisconnectFixed_cb ); + status = MQTTV5_Disconnect( &context, &ackInfo, sessionExpiry ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /*With reason string and user property*/ ackInfo.pUserProperty = &userProperties; ackInfo.pReasonString = "test"; ackInfo.reasonStringLength = 4; - MQTTV5_GetDisconnectPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); - MQTTV5_SerializeDisconnectFixed_Stub(MQTTV5_SerializeDisconnectFixed_cb ); - status = MQTTV5_Disconnect(&context, &ackInfo, sessionExpiry); - TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); + MQTTV5_GetDisconnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTTV5_SerializeDisconnectFixed_Stub( MQTTV5_SerializeDisconnectFixed_cb ); + status = MQTTV5_Disconnect( &context, &ackInfo, sessionExpiry ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); /*Send failed*/ context.transportInterface.send = transportSendFailure; context.transportInterface.writev = NULL; - MQTTV5_GetDisconnectPacketSize_ExpectAnyArgsAndReturn(MQTTSuccess); - MQTTV5_SerializeDisconnectFixed_Stub(MQTTV5_SerializeDisconnectFixed_cb ); - status = MQTTV5_Disconnect(&context, &ackInfo, sessionExpiry); - TEST_ASSERT_EQUAL_INT(MQTTSendFailed,status); - - + MQTTV5_GetDisconnectPacketSize_ExpectAnyArgsAndReturn( MQTTSuccess ); + MQTTV5_SerializeDisconnectFixed_Stub( MQTTV5_SerializeDisconnectFixed_cb ); + status = MQTTV5_Disconnect( &context, &ackInfo, sessionExpiry ); + TEST_ASSERT_EQUAL_INT( MQTTSendFailed, status ); } void test_MQTT_ProcessLoop_handleIncomingDisconnect( void ) @@ -1079,7 +1078,8 @@ void test_MQTT_ProcessLoop_handleIncomingDisconnect( void ) MQTTConnectProperties_t properties; MQTTAckInfo_t disconnectInfo; MQTTPacketInfo_t incomingPacket = { 0 }; - memset(&disconnectInfo, 0x0, sizeof(disconnectInfo)); + + memset( &disconnectInfo, 0x0, sizeof( disconnectInfo ) ); setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); /* Modify incoming packet depending on type to be tested. */ @@ -1092,16 +1092,13 @@ void test_MQTT_ProcessLoop_handleIncomingDisconnect( void ) incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); - MQTTV5_DeserializeDisconnect_IgnoreAndReturn(MQTTSuccess); - status = MQTT_ProcessLoop(&context); - TEST_ASSERT_EQUAL_INT(MQTTSuccess,status); + MQTTV5_DeserializeDisconnect_IgnoreAndReturn( MQTTSuccess ); + status = MQTT_ProcessLoop( &context ); + TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); - MQTTV5_DeserializeDisconnect_IgnoreAndReturn(MQTTProtocolError); - status = MQTT_ProcessLoop(&context); - TEST_ASSERT_EQUAL_INT(MQTTProtocolError,status); - - - + MQTTV5_DeserializeDisconnect_IgnoreAndReturn( MQTTProtocolError ); + status = MQTT_ProcessLoop( &context ); + TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); } diff --git a/test/unit-test/WithoutUP/core_mqtt_config.h b/test/unit-test/WithoutUP/core_mqtt_config.h index f085f2f47..a25196244 100644 --- a/test/unit-test/WithoutUP/core_mqtt_config.h +++ b/test/unit-test/WithoutUP/core_mqtt_config.h @@ -73,7 +73,7 @@ #define MQTT_SEND_TIMEOUT_MS ( 200U ) #define MQTT_VERSION_5_ENABLED ( true ) -#define MAX_USER_PROPERTY (0U) -#define MQTT_USER_PROPERTY_ENABLED (false) +#define MAX_USER_PROPERTY ( 0U ) +#define MQTT_USER_PROPERTY_ENABLED ( false ) #endif /* ifndef CORE_MQTT_CONFIG_H_ */ diff --git a/test/unit-test/WithoutUP/core_mqttv5WUP_serializer_utest.c b/test/unit-test/WithoutUP/core_mqttv5WUP_serializer_utest.c index 9e4aed530..301666a46 100644 --- a/test/unit-test/WithoutUP/core_mqttv5WUP_serializer_utest.c +++ b/test/unit-test/WithoutUP/core_mqttv5WUP_serializer_utest.c @@ -41,8 +41,8 @@ struct NetworkContext }; -#define MQTT_TEST_UTF8_STRING ("test") -#define MQTT_TEST_UTF8_STRING_LENGTH (sizeof(MQTT_TEST_UTF8_STRING) -1) +#define MQTT_TEST_UTF8_STRING ( "test" ) +#define MQTT_TEST_UTF8_STRING_LENGTH ( sizeof( MQTT_TEST_UTF8_STRING ) - 1 ) /** * @brief Set a bit in an 8-bit unsigned integer. @@ -86,10 +86,9 @@ MQTTStatus_t status; /* Called before each test method. */ void setUp( void ) { - memset(&properties, 0x0, sizeof(properties)); - memset(&connectInfo, 0x0, sizeof(connectInfo)); - memset(&packetInfo, 0x0, sizeof(packetInfo)); - + memset( &properties, 0x0, sizeof( properties ) ); + memset( &connectInfo, 0x0, sizeof( connectInfo ) ); + memset( &packetInfo, 0x0, sizeof( packetInfo ) ); } /* Called after each test method. */ @@ -188,9 +187,11 @@ static size_t encodeString( uint8_t * pDestination, return ( size_t ) ( pBuffer - pDestination ); } -static uint8_t * serializeutf_8(uint8_t *pIndex, uint8_t propertyId) +static uint8_t * serializeutf_8( uint8_t * pIndex, + uint8_t propertyId ) { - uint8_t *pIndexLocal = pIndex; + uint8_t * pIndexLocal = pIndex; + *pIndexLocal = propertyId; pIndexLocal++; size_t dummy = encodeString( pIndexLocal, MQTT_TEST_UTF8_STRING, MQTT_TEST_UTF8_STRING_LENGTH ); @@ -198,11 +199,13 @@ static uint8_t * serializeutf_8(uint8_t *pIndex, uint8_t propertyId) return pIndexLocal; } -static uint8_t * serializeutf_8pair(uint8_t *pIndex){ - uint8_t* pIndexLocal = pIndex; +static uint8_t * serializeutf_8pair( uint8_t * pIndex ) +{ + uint8_t * pIndexLocal = pIndex; + *pIndexLocal = MQTT_USER_PROPERTY_ID; pIndexLocal++; - size_t dummy = encodeString( pIndexLocal,MQTT_TEST_UTF8_STRING,MQTT_TEST_UTF8_STRING_LENGTH); + size_t dummy = encodeString( pIndexLocal, MQTT_TEST_UTF8_STRING, MQTT_TEST_UTF8_STRING_LENGTH ); pIndexLocal = &pIndexLocal[ dummy ]; dummy = encodeString( pIndexLocal, MQTT_TEST_UTF8_STRING, MQTT_TEST_UTF8_STRING_LENGTH ); pIndexLocal = &pIndexLocal[ dummy ]; @@ -211,8 +214,9 @@ static uint8_t * serializeutf_8pair(uint8_t *pIndex){ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) { - uint8_t buffer[100] = { 0 }; + uint8_t buffer[ 100 ] = { 0 }; uint8_t * pIndexLocal = buffer; + buffer[ 0 ] = 0x01; buffer[ 1 ] = 0x00; @@ -224,7 +228,7 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) pIndexLocal = &buffer[ 2 ]; size_t propertyLength = encodeRemainingLength( pIndexLocal, 13 ); pIndexLocal++; - pIndexLocal = serializeutf_8pair(pIndexLocal); + pIndexLocal = serializeutf_8pair( pIndexLocal ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); @@ -233,7 +237,7 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) pIndexLocal = &buffer[ 2 ]; propertyLength = encodeRemainingLength( pIndexLocal, 2 ); pIndexLocal++; - pIndexLocal = serializeutf_8pair(pIndexLocal); + pIndexLocal = serializeutf_8pair( pIndexLocal ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); @@ -242,7 +246,7 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) pIndexLocal = &buffer[ 2 ]; propertyLength = encodeRemainingLength( pIndexLocal, 3 ); pIndexLocal++; - pIndexLocal = serializeutf_8pair(pIndexLocal); + pIndexLocal = serializeutf_8pair( pIndexLocal ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); @@ -251,7 +255,7 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) propertyLength = encodeRemainingLength( pIndexLocal, 8 ); packetInfo.remainingLength = propertyLength + 10; pIndexLocal++; - pIndexLocal = serializeutf_8pair(pIndexLocal); + pIndexLocal = serializeutf_8pair( pIndexLocal ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); @@ -260,10 +264,9 @@ void test_MQTTV5_DeserializeConnackOnlyUserProperty( void ) pIndexLocal = &buffer[ 2 ]; propertyLength = encodeRemainingLength( pIndexLocal, 12 ); pIndexLocal++; - pIndexLocal = serializeutf_8pair(pIndexLocal); + pIndexLocal = serializeutf_8pair( pIndexLocal ); status = MQTTV5_DeserializeConnack( &properties, &packetInfo, &session ); TEST_ASSERT_EQUAL_INT( MQTTMalformedPacket, status ); - } void test_MQTTV5_DeserializeAck( void ) { @@ -273,46 +276,47 @@ void test_MQTTV5_DeserializeAck( void ) bool requestProblem = true; MQTTStatus_t status = MQTTSuccess; uint8_t buffer[ 100 ] = { 0 }; - uint8_t* pIndex = buffer; + uint8_t * pIndex = buffer; size_t dummy; + /* Verify parameters */ memset( &ackInfo, 0x00, sizeof( ackInfo ) ); packetInfo.pRemainingData = buffer; buffer[ 0 ] = 0; buffer[ 1 ] = 1; - buffer[2] = 0x00; - pIndex = &buffer[3]; + buffer[ 2 ] = 0x00; + pIndex = &buffer[ 3 ]; packetInfo.type = MQTT_PACKET_TYPE_PUBACK; - dummy= encodeRemainingLength(pIndex,20); + dummy = encodeRemainingLength( pIndex, 20 ); packetInfo.remainingLength = dummy + 23; pIndex++; - pIndex = serializeutf_8(pIndex, MQTT_REASON_STRING_ID); - pIndex = serializeutf_8pair(pIndex); + pIndex = serializeutf_8( pIndex, MQTT_REASON_STRING_ID ); + pIndex = serializeutf_8pair( pIndex ); status = MQTTV5_DeserializeAck( &packetInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - } +} - void test_MQTTV5_DeserializeDisconnect() - { +void test_MQTTV5_DeserializeDisconnect() +{ MQTTAckInfo_t disconnectInfo; const char * pServerRef; - uint16_t serverRefLength; + uint16_t serverRefLength; int32_t maxPacketSize = 100U; uint8_t buffer[ 100 ] = { 0 }; - uint8_t* pIndex = buffer; + uint8_t * pIndex = buffer; size_t dummy; - memset(&disconnectInfo, 0x0, sizeof(disconnectInfo)); + + memset( &disconnectInfo, 0x0, sizeof( disconnectInfo ) ); /*With properties*/ - pIndex = &buffer[1]; + pIndex = &buffer[ 1 ]; packetInfo.pRemainingData = buffer; - dummy= encodeRemainingLength(pIndex,27); + dummy = encodeRemainingLength( pIndex, 27 ); packetInfo.remainingLength = 28 + dummy; pIndex++; - pIndex = serializeutf_8(pIndex, MQTT_REASON_STRING_ID); - pIndex = serializeutf_8pair(pIndex); - pIndex= serializeutf_8(pIndex, MQTT_SERVER_REF_ID); - status = MQTTV5_DeserializeDisconnect(&packetInfo,&disconnectInfo,&pServerRef,&serverRefLength,maxPacketSize); + pIndex = serializeutf_8( pIndex, MQTT_REASON_STRING_ID ); + pIndex = serializeutf_8pair( pIndex ); + pIndex = serializeutf_8( pIndex, MQTT_SERVER_REF_ID ); + status = MQTTV5_DeserializeDisconnect( &packetInfo, &disconnectInfo, &pServerRef, &serverRefLength, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); - - } \ No newline at end of file +} From c5bf16853d0f1b31476f09d26eb39a28ee5d844a Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Tue, 16 Jul 2024 18:10:26 +0000 Subject: [PATCH 75/82] MQTTV5 --- test/unit-test/MQTTv5/core_mqttv5_utest.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index 7009f5bf9..f3e825f3f 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -803,7 +803,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths( void ) TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); } -void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths2( void ) +void test_MQTT_ProcessLoop_handleIncomingAck_Error_Paths1( void ) { MQTTStatus_t status; MQTTPublishState_t stateAfterDeserialize; @@ -816,7 +816,6 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths2( void ) setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); - /* Modify incoming packet depending on type to be tested. */ incomingPacket.type = MQTT_PACKET_TYPE_PUBREC; incomingPacket.remainingLength = MQTT_SAMPLE_REMAINING_LENGTH; incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; @@ -840,7 +839,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths2( void ) TEST_ASSERT_EQUAL_INT( MQTTBadResponse, status ); } -void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths3( void ) +void test_MQTT_ProcessLoop_handleIncomingAck_Error_Paths2( void ) { MQTTStatus_t status; MQTTContext_t context = { 0 }; @@ -851,7 +850,6 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths3( void ) setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); - /* Modify incoming packet depending on type to be tested. */ status = MQTT_Init( &context, &transport, getTime, eventCallback1, &networkBuffer ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); incomingPacket.type = MQTT_PACKET_TYPE_PUBREC; @@ -868,7 +866,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths3( void ) TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); } -void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths4( void ) +void test_MQTT_ProcessLoop_handleIncomingAck_Error_Paths3( void ) { MQTTStatus_t status; MQTTPublishState_t stateAfterDeserialize; @@ -881,7 +879,6 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths4( void ) setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); - /* Modify incoming packet depending on type to be tested. */ incomingPacket.type = MQTT_PACKET_TYPE_PUBREC; incomingPacket.remainingLength = MQTT_SAMPLE_REMAINING_LENGTH; incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; @@ -902,7 +899,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths4( void ) TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); } -void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths5( void ) +void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths2( void ) { MQTTStatus_t status; MQTTPublishState_t stateAfterDeserialize; @@ -916,7 +913,6 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths5( void ) setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); - /* Modify incoming packet depending on type to be tested. */ incomingPacket.type = MQTT_PACKET_TYPE_PUBREC; incomingPacket.remainingLength = MQTT_SAMPLE_REMAINING_LENGTH; incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; @@ -941,7 +937,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths5( void ) TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); } -void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths6( void ) +void test_MQTT_ProcessLoop_handleIncomingAck_Error_Paths4( void ) { MQTTStatus_t status; MQTTPublishState_t stateAfterDeserialize; @@ -953,7 +949,6 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths6( void ) setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); - /* Modify incoming packet depending on type to be tested. */ incomingPacket.type = MQTT_PACKET_TYPE_PUBREC; incomingPacket.remainingLength = MQTT_SAMPLE_REMAINING_LENGTH; incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; @@ -973,7 +968,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths6( void ) TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); } -void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths7( void ) +void test_MQTT_ProcessLoop_handleIncomingAck_Error_Paths5( void ) { MQTTStatus_t status; MQTTPublishState_t stateAfterDeserialize; @@ -986,7 +981,6 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths7( void ) setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); - /* Modify incoming packet depending on type to be tested. */ incomingPacket.type = MQTT_PACKET_TYPE_PUBREC; incomingPacket.remainingLength = MQTT_SAMPLE_REMAINING_LENGTH; incomingPacket.headerLength = MQTT_SAMPLE_REMAINING_LENGTH; From 5dbf93bc6c6e92c8f97cc124d0292273e0a3a543 Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Wed, 17 Jul 2024 06:15:17 +0000 Subject: [PATCH 76/82] MQTTv5 --- source/core_mqtt.c | 20 +++ source/core_mqtt_serializer.c | 156 +++++++++++++++++- source/include/core_mqtt.h | 2 +- test/unit-test/MQTT/core_mqtt_config.h | 1 - .../MQTT/core_mqtt_serializer_utest.c | 1 - test/unit-test/MQTT/core_mqtt_utest.c | 3 - 6 files changed, 175 insertions(+), 8 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 162d40cec..33de6f6e5 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -813,6 +813,23 @@ static bool matchTopicFilter( const char * pTopicName, uint16_t packetId, MQTTPublishState_t publishState, MQTTAckInfo_t * pAckInfo ); + /** + * @brief Send acks for received QoS 1/2 publishes with properties. + * + * @param[in] pContext MQTT Connection context. + * @param[in] pAckInfo Reason code and properties. + * @param[in] remainingLength Remaining lenght of the packet. + * @param[in] sessionExpiry Session expiry interval. + * + * + * + * @return #MQTTSuccess, #MQTTBadParameter, #MQTTIllegalState or #MQTTSendFailed. + */ + + static MQTTStatus_t sendDisconnectWithoutCopyV5( MQTTContext_t * pContext, + const MQTTAckInfo_t * pAckInfo, + size_t remainingLength, + uint32_t sessionExpiry ); /*-----------------------------------------------------------*/ @@ -859,6 +876,8 @@ static bool matchTopicFilter( const char * pTopicName, for( ; i < size; i++ ) { pUserVector->userId[ i ] = MQTT_USER_PROPERTY_ID; + + /*Encode the key with the user property id.*/ vectorsAdded = addEncodedStringToVectorWithId( pUserVector->serializedUserKeyLength[ i ], userProperty[ i ].pKey, userProperty[ i ].keyLength, @@ -868,6 +887,7 @@ static bool matchTopicFilter( const char * pTopicName, iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; + /*Encode the value*/ vectorsAdded = addEncodedStringToVector( pUserVector->serializedUserValueLength[ i ], userProperty[ i ].pValue, userProperty[ i ].valueLength, diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 2677bc571..aa4666491 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -307,44 +307,197 @@ */ #define MQTT_PUBLISH_ACK_PACKET_SIZE_WITH_REASON ( 3UL ) - +/** + * @brief The Connection is accepted. + */ #define MQTT_REASON_SUCCESS ( 0x00 ) +/** + * @brief The Client wishes to disconnect but requires +that the Server also publishes its Will Message. + */ #define MQTT_REASON_SEND_WILL ( 0x04 ) +/** + * @brief The message is accepted but there are no +subscribers. + */ #define MQTT_REASON_NO_MATCHING_SUBSCRIBERS ( 0x10 ) +/** + * @brief The Server does not wish to reveal the reason for the +failure, or none of the other Reason Codes apply. + */ #define MQTT_REASON_UNSPECIFIED_ERR ( 0x80 ) +/** + * @brief Data within the CONNECT packet could not be +correctly parsed. + */ #define MQTT_REASON_MALFORMED_PACKET ( 0x81 ) + /** + * @brief Data in the CONNECT packet does not conform to this +specification. + */ #define MQTT_REASON_PROTOCOL_ERR ( 0x82 ) + /** + * @brief The CONNECT is valid but is not accepted by this +Server. + */ #define MQTT_REASON_IMPL_SPECIFIC_ERR ( 0x83 ) + /** + * @brief The Server does not support the version of the MQTT +protocol requested by the Client. + */ #define MQTT_REASON_UNSUPPORTED_PROTO_VER ( 0x84 ) + /** + * @brief The Client Identifier is a valid string but is not allowed +by the Server. + */ #define MQTT_REASON_CLIENT_ID_NOT_VALID ( 0x85 ) + /** + * @brief The Server does not accept the User Name or +Password specified by the Client. + */ #define MQTT_REASON_BAD_USER_OR_PASS ( 0x86 ) + /** + * @brief The Client is not authorized to connect. + */ #define MQTT_REASON_NOT_AUTHORIZED ( 0x87 ) + /** + * @brief The MQTT Server is not available. + */ #define MQTT_REASON_SERVER_UNAVAILABLE ( 0x88 ) + /** + * @brief The Server is busy, try again later. + */ #define MQTT_REASON_SERVER_BUSY ( 0x89 ) + /** + * @brief This Client has been banned by administrative action. + */ #define MQTT_REASON_BANNED ( 0x8A ) + /** + * @brief The Server is shutting down. + */ #define MQTT_REASON_SERVER_SHUTTING_DOWN ( 0x8B ) + /** + * @brief The authentication method is not supported or does not +match the authentication method currently in use. + */ #define MQTT_REASON_BAD_AUTH_METHOD ( 0x8C ) + /** + * @brief The Connection is closed because no packet +has been received for 1.5 times the Keepalive +time. + */ #define MQTT_REASON_KEEP_ALIVE_TIMEOUT ( 0x8D ) + /** + * @brief Another Connection using the same ClientID +has connected causing this Connection to be +closed. + */ #define MQTT_REASON_SESSION_TAKEN_OVER ( 0x8E ) + /** + * @brief The Topic Filter is correctly formed, but is not +accepted by this Server. + */ #define MQTT_REASON_TOPIC_FILTER_INVALID ( 0x8F ) + /** + * @ingroup mqtt_constants + * @brief The Topic Name is not malformed, but is not +accepted by this Server. + */ #define MQTT_REASON_TOPIC_NAME_INVALID ( 0x90 ) + /** + * @brief The Packet Identifier is already in use. + */ #define MQTT_REASON_PACKET_ID_IN_USE ( 0x91 ) + /** + * @ingroup mqtt_constants + * @brief The Packet Identifier is not known. + */ #define MQTT_REASON_PACKET_ID_NOT_FOUND ( 0x92 ) + /** + * @brief The Client or Server has received more than +Receive Maximum publication for which it has +not sent PUBACK or PUBCOMP. + */ #define MQTT_REASON_RX_MAX_EXCEEDED ( 0x93 ) + /** + * @brief The Connection is accepted. + */ #define MQTT_REASON_TOPIC_ALIAS_INVALID ( 0x94 ) + /** + * @brief The packet exceeded the maximum +permissible size. + */ #define MQTT_REASON_PACKET_TOO_LARGE ( 0x95 ) + /** + * @ingroup mqtt_constants + * @brief The Connection is accepted. + */ #define MQTT_REASON_MSG_RATE_TOO_HIGH ( 0x96 ) + /** + * @brief An implementation or administrative imposed limit has +been exceeded. + */ #define MQTT_REASON_QUOTA_EXCEEDED ( 0x97 ) + /** + * @brief The Connection is closed due to an +administrative action. + */ #define MQTT_REASON_ADMIN_ACTION ( 0x98 ) + /** + * @ingroup mqtt_constants + * @brief The Payload does not match the specified Payload +Format Indicator. + */ #define MQTT_REASON_PAYLOAD_FORMAT_INVALID ( 0x99 ) + /** + * @ingroup mqtt_constants + * @brief The Server does not support retained messages, and +Will Retain was set to 1. + */ #define MQTT_REASON_RETAIN_NOT_SUPPORTED ( 0x9A ) + /** + * @ingroup mqtt_constants + * @brief The Server does not support the QoS. + */ #define MQTT_REASON_QOS_NOT_SUPPORTED ( 0x9B ) + /** + * @ingroup mqtt_constants + * @brief The Client should temporarily use another server. + */ #define MQTT_REASON_USE_ANOTHER_SERVER ( 0x9C ) + /** + * @ingroup mqtt_constants + * @brief The Client should permanently use another server. + */ #define MQTT_REASON_SERVER_MOVED ( 0x9D ) + /** + * @ingroup mqtt_constants + * @brief The Server does not support Shared +Subscriptions. + */ #define MQTT_REASON_SS_NOT_SUPPORTED ( 0x9E ) + /** + * @ingroup mqtt_constants + * @brief The connection rate limit has been exceeded. + */ #define MQTT_REASON_CON_RATE_EXCEED ( 0x9F ) + /** + * @ingroup mqtt_constants + * @brief The maximum connection time authorized for +this connection has been exceeded. + */ #define MQTT_REASON_MAX_CON_TIME ( 0xA0 ) + /** + * @ingroup mqtt_constants + * @brief The Server does not support Subscription +Identifiers; the subscription is not accepted. + */ #define MQTT_REASON_SUB_ID_NOT_SUP ( 0xA1 ) + /** + * @ingroup mqtt_constants + * @brief The Server does not support Wildcard +Subscriptions; the subscription is not accepted. + */ #define MQTT_REASON_WILDCARD_SUB_NOT_SUP ( 0xA2 ) #endif /* if ( MQTT_VERSION_5_ENABLED ) */ @@ -3692,7 +3845,6 @@ uint8_t * MQTT_SerializeConnectFixedHeader( uint8_t * pIndex, /* The string "MQTT" is placed at the beginning of the CONNECT packet's variable * header. This string is 4 bytes long. */ - pIndexLocal = encodeString( pIndexLocal, "MQTT", 4 ); /* The MQTT protocol version is the second field of the variable header. */ diff --git a/source/include/core_mqtt.h b/source/include/core_mqtt.h index 7b5d7d91a..1218be0b1 100644 --- a/source/include/core_mqtt.h +++ b/source/include/core_mqtt.h @@ -1036,7 +1036,7 @@ const char * MQTT_Status_strerror( MQTTStatus_t status ); * * @param[in] pContext Initialized and connected MQTT context. * @param[in] pDisconnectInfo Reason code and properties to encode - * @param[in] pContext + * @param[in] sessionExpiry Session expiry interval. * @return #MQTTNoMemory if the #MQTTContext_t.networkBuffer is too small to * hold the MQTT packet; * #MQTTBadParameter if invalid parameters are passed; diff --git a/test/unit-test/MQTT/core_mqtt_config.h b/test/unit-test/MQTT/core_mqtt_config.h index b7ebab232..e1ddfeb73 100644 --- a/test/unit-test/MQTT/core_mqtt_config.h +++ b/test/unit-test/MQTT/core_mqtt_config.h @@ -73,5 +73,4 @@ #define MQTT_SEND_TIMEOUT_MS ( 20U ) - #endif /* ifndef CORE_MQTT_CONFIG_H_ */ diff --git a/test/unit-test/MQTT/core_mqtt_serializer_utest.c b/test/unit-test/MQTT/core_mqtt_serializer_utest.c index 58f03b809..1a51f5b49 100644 --- a/test/unit-test/MQTT/core_mqtt_serializer_utest.c +++ b/test/unit-test/MQTT/core_mqtt_serializer_utest.c @@ -2884,5 +2884,4 @@ void test_MQTT_SerializeDisconnect_Happy_Path() TEST_ASSERT_EQUAL( MQTTSuccess, mqttStatus ); } - /* ========================================================================== */ diff --git a/test/unit-test/MQTT/core_mqtt_utest.c b/test/unit-test/MQTT/core_mqtt_utest.c index d7d53f4c7..5a382ec3a 100644 --- a/test/unit-test/MQTT/core_mqtt_utest.c +++ b/test/unit-test/MQTT/core_mqtt_utest.c @@ -1116,7 +1116,6 @@ void test_MQTT_Init_Happy_Path( void ) TEST_ASSERT_EQUAL_MEMORY( &networkBuffer, &context.networkBuffer, sizeof( networkBuffer ) ); } - /** * @brief Test that any NULL parameter causes MQTT_Init to return MQTTBadParameter. */ @@ -1176,8 +1175,6 @@ static uint8_t * MQTT_SerializeConnectFixedHeader_cb( uint8_t * pIndex, /** * @brief Test MQTT_Connect, except for receiving the CONNACK. */ - - void test_MQTT_Connect_sendConnect_writev_error( void ) { MQTTContext_t mqttContext = { 0 }; From 889d4ba9403b3e001a4b3eb39b8a6a5757b10e92 Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Wed, 17 Jul 2024 10:48:31 +0000 Subject: [PATCH 77/82] MQTTv5 --- source/core_mqtt.c | 16 +- source/core_mqtt_serializer.c | 101 +++--- source/include/core_mqtt.h | 2 +- source/include/core_mqtt_serializer.h | 462 +++++++++++++++++++++++++- 4 files changed, 526 insertions(+), 55 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 33de6f6e5..39ab9a09d 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -1141,7 +1141,7 @@ static bool matchTopicFilter( const char * pTopicName, } static MQTTStatus_t sendDisconnectWithoutCopyV5( MQTTContext_t * pContext, - const MQTTAckInfo_t * pAckInfo, + const MQTTAckInfo_t * pDisconnectInfo, size_t remainingLength, uint32_t sessionExpiry ) { @@ -1177,10 +1177,10 @@ static bool matchTopicFilter( const char * pTopicName, uint8_t * pIndex = fixedHeader; TransportOutVector_t * iterator = pIoVector; assert( pContext != NULL ); - assert( pAckInfo != NULL ); + assert( pDisconnectInfo != NULL ); /* Only for fixed size fields. */ - pIndex = MQTTV5_SerializeDisconnectFixed( pIndex, pAckInfo, remainingLength, sessionExpiry ); + pIndex = MQTTV5_SerializeDisconnectFixed( pIndex, pDisconnectInfo, remainingLength, sessionExpiry ); iterator->iov_base = fixedHeader; /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-182 */ /* More details at: https://github.com/FreeRTOS/coreMQTT/blob/main/MISRA.md#rule-108 */ @@ -1192,11 +1192,11 @@ static bool matchTopicFilter( const char * pTopicName, ioVectorLength++; /* Encode the reason string if provided. */ - if( pAckInfo->reasonStringLength != 0U ) + if( pDisconnectInfo->reasonStringLength != 0U ) { vectorsAdded = addEncodedStringToVectorWithId( serializedReasonStringLength, - pAckInfo->pReasonString, - pAckInfo->reasonStringLength, + pDisconnectInfo->pReasonString, + pDisconnectInfo->reasonStringLength, iterator, &totalMessageLength, &reasonStringId ); /* Update the iterator to point to the next empty slot. */ @@ -1206,9 +1206,9 @@ static bool matchTopicFilter( const char * pTopicName, #if ( MQTT_USER_PROPERTY_ENABLED ) /*Encode the user properties if provided.*/ - if( pAckInfo->pUserProperty != NULL ) + if( pDisconnectInfo->pUserProperty != NULL ) { - ioVectorLength += sendUserProperties( pAckInfo->pUserProperty, &userVector, &totalMessageLength, &iterator ); + ioVectorLength += sendUserProperties( pDisconnectInfo->pUserProperty, &userVector, &totalMessageLength, &iterator ); } #endif diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index aa4666491..d5330549b 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -1163,9 +1163,10 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @brief Prints the appropriate message for the PUBREL, PUBACK response code if logs * are enabled. * - * @param[in] responseCode MQTT Verion 5 standard PUBREL, PUBACK response code. + * @param[in] reasonCode MQTT Verion 5 standard PUBREL, PUBACK response code. + * @param[in] packetIdentifier Packet id of the ack packet. * - * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket. +* @return #MQTTSuccess, #MQTTServerRefused and #MQTTProtocolError. */ static MQTTStatus_t logAckResponseV5( uint8_t reasonCode, uint16_t packetIdentifier ); @@ -1174,9 +1175,10 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @brief Prints the appropriate message for the CONNACK response code if logs * are enabled. * - * @param[in] responseCode MQTT Verion 5 standard CONNACK response code. - * - * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket. + * @param[in] reasonCode MQTT Verion 5 standard CONNACK response code. + * @param[in] packetIdentifier Packet id of the ack packet. + + * @return #MQTTSuccess, #MQTTServerRefused and #MQTTProtocolError. */ static MQTTStatus_t logSimpleAckResponseV5( uint8_t reasonCode, uint16_t packetIdentifier ); @@ -1206,21 +1208,45 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[out] pAckInfo Structure to store the ack properties. * @param[in] requestProblem To validate the packet. * - * @return #MQTTSuccess, #MQTTBadresponse, #MQTTProtocolError and #MQTTMalformedPacket. + * @return #MQTTSuccess, #MQTTBadResponse, #MQTTProtocolError and #MQTTMalformedPacket. */ static MQTTStatus_t deserializeSimpleAckV5( const MQTTPacketInfo_t * pAck, uint16_t * pPacketIdentifier, MQTTAckInfo_t * pAckInfo, bool requestProblem ); - +/** + * @brief Serialize the publish properties in the given buffer. + * + * @param[in] pPublishInfo MQTT PUBLISH packet parameters. + * @param[in] pIndex Pointer to the current index of the buffer. + * + * @return Pointer to the new index of the buffer. + */ static uint8_t * serializePublishProperties( const MQTTPublishInfo_t * pPublishInfo, uint8_t * pIndex ); - static void seriailizeDisconnectPacketV5( const MQTTAckInfo_t * pAckInfo, +/** + * @brief Serialize an MQTT CONNECT packet in the given buffer. + * + * @param[in] pDisconnectInfo MQTT DISCONNECT packet parameters. + * @param[out] pFixedBuffer Buffer for packet serialization. + * @param[in] remainingLength Remaining Length of MQTT DISCONNECT packet. + * @param[in] sessionExpiry Session Expiry Interval. + * + */ + static void seriailizeDisconnectPacketV5( const MQTTAckInfo_t * pDisconnectInfo, const MQTTFixedBuffer_t * pFixedBuffer, size_t remainingLength, uint32_t sessionExpiry ); - +/** + * @brief Prints and validates the appropriate message for the Disconnect response code if logs + * are enabled. + * + * @param[in] reasonCode MQTT Verion 5 standard DISCONNECT response code. + * @param[in] incoming To differentiate between outgoing and incoming disconnect. + * + * @return #MQTTSuccess,#MQTTBadParameter and #MQTTProtocolError. + */ static MQTTStatus_t validateDisconnectResponseV5( uint8_t reasonCode, bool incoming ); /*-----------------------------------------------------------*/ @@ -5675,7 +5701,7 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, return status; } - MQTTStatus_t MQTTV5_GetDisconnectPacketSize( MQTTAckInfo_t * pAckInfo, + MQTTStatus_t MQTTV5_GetDisconnectPacketSize( MQTTAckInfo_t * pDisconnectInfo, size_t * pRemainingLength, size_t * pPacketSize, uint32_t maxPacketSize, @@ -5688,11 +5714,11 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, size_t propertyLength = 0U; /*Validate the arguments.*/ - if( ( pAckInfo == NULL ) || ( pRemainingLength == NULL ) || ( pPacketSize == NULL ) ) + if( ( pDisconnectInfo == NULL ) || ( pRemainingLength == NULL ) || ( pPacketSize == NULL ) ) { - LogError( ( "Argument cannot be NULL: pAckInfo=%p, " + LogError( ( "Argument cannot be NULL: pDisconnectInfo=%p, " "pRemainingLength=%p, pPacketSize=%p.", - ( void * ) pAckInfo, + ( void * ) pDisconnectInfo, ( void * ) pRemainingLength, ( void * ) pPacketSize ) ); status = MQTTBadParameter; @@ -5708,7 +5734,7 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, LogError( ( "If the Session Expiry in the CONNECT packet was zero, then it is a Protocol Error to set a non-zero Session Expiry Interval in the DISCONNECT packet." ) ); status = MQTTBadParameter; } - else if( validateDisconnectResponseV5( pAckInfo->reasonCode, false ) != MQTTSuccess ) + else if( validateDisconnectResponseV5( pDisconnectInfo->reasonCode, false ) != MQTTSuccess ) { LogError( ( "Invalid reason code." ) ); status = MQTTBadParameter; @@ -5725,24 +5751,24 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, } /*Validate the reason string if provided.*/ - if( pAckInfo->reasonStringLength != 0U ) + if( pDisconnectInfo->reasonStringLength != 0U ) { - if( pAckInfo->pReasonString == NULL ) + if(pDisconnectInfo->pReasonString == NULL ) { status = MQTTBadParameter; } else { - propertyLength += pAckInfo->reasonStringLength; + propertyLength += pDisconnectInfo->reasonStringLength; propertyLength += MQTT_UTF8_LENGTH_SIZE; } } } #if ( MQTT_USER_PROPERTY_ENABLED ) - if( ( status == MQTTSuccess ) && ( pAckInfo->pUserProperty != NULL ) ) + if( ( status == MQTTSuccess ) && ( pDisconnectInfo->pUserProperty != NULL ) ) { - status = MQTT_GetUserPropertySize( pAckInfo->pUserProperty->userProperty, pAckInfo->pUserProperty->count, &propertyLength ); + status = MQTT_GetUserPropertySize( pDisconnectInfo->pUserProperty->userProperty, pDisconnectInfo->pUserProperty->count, &propertyLength ); } #endif @@ -5752,7 +5778,7 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, if( ( propertyLength + 4U ) < MQTT_MAX_REMAINING_LENGTH ) { /*We have successfully calculated the property length.*/ - pAckInfo->propertyLength = propertyLength; + pDisconnectInfo->propertyLength = propertyLength; length += remainingLengthEncodedSize( propertyLength ) + propertyLength; *pRemainingLength = length; } @@ -5781,22 +5807,23 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, } uint8_t * MQTTV5_SerializeDisconnectFixed( uint8_t * pIndex, - const MQTTAckInfo_t * pAckInfo, + const MQTTAckInfo_t * pDisconnectInfo, size_t remainingLength, uint32_t sessionExpiry ) { uint8_t * pIndexLocal = pIndex; - + assert( pDisconnectInfo != NULL ); + assert( pIndex != NULL ); /* The first byte in the publish ack packet is the control packet type. */ *pIndexLocal = MQTT_PACKET_TYPE_DISCONNECT; pIndexLocal++; /*After the packet type fixed header has remaining length.*/ pIndexLocal = encodeRemainingLength( pIndexLocal, remainingLength ); /*Encode the reason code.*/ - *pIndexLocal = pAckInfo->reasonCode; + *pIndexLocal = pDisconnectInfo->reasonCode; pIndexLocal++; /*Encode the property length.*/ - pIndexLocal = encodeRemainingLength( pIndexLocal, pAckInfo->propertyLength ); + pIndexLocal = encodeRemainingLength( pIndexLocal, pDisconnectInfo->propertyLength ); /*Encode the session expiry if provided. */ if( sessionExpiry != 0U ) @@ -5813,37 +5840,37 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, return pIndexLocal; } - static void seriailizeDisconnectPacketV5( const MQTTAckInfo_t * pAckInfo, + static void seriailizeDisconnectPacketV5( const MQTTAckInfo_t * pDisconnectInfo, const MQTTFixedBuffer_t * pFixedBuffer, size_t remainingLength, uint32_t sessionExpiry ) { uint8_t * pIndex = NULL; - assert( pAckInfo != NULL ); + assert( pDisconnectInfo != NULL ); assert( pFixedBuffer != NULL ); assert( pFixedBuffer->pBuffer != NULL ); pIndex = pFixedBuffer->pBuffer; /* Serialize the header including reason code and property length */ - pIndex = MQTTV5_SerializeDisconnectFixed( pIndex, pAckInfo, + pIndex = MQTTV5_SerializeDisconnectFixed( pIndex, pDisconnectInfo, remainingLength, sessionExpiry ); /*Serialize the reason string if provided.*/ - if( pAckInfo->reasonStringLength != 0U ) + if( pDisconnectInfo->reasonStringLength != 0U ) { *pIndex = MQTT_REASON_STRING_ID; pIndex++; - pIndex = encodeString( pIndex, pAckInfo->pReasonString, pAckInfo->reasonStringLength ); + pIndex = encodeString( pIndex, pDisconnectInfo->pReasonString, pDisconnectInfo->reasonStringLength ); } #if ( MQTT_USER_PROPERTY_ENABLED ) /*Serialize the user properties if provided.*/ - if( pAckInfo->pUserProperty != NULL ) + if( pDisconnectInfo->pUserProperty != NULL ) { uint32_t i = 0; - uint32_t size = pAckInfo->pUserProperty->count; - const MQTTUserProperty_t * pUserProperty = pAckInfo->pUserProperty->userProperty; + uint32_t size = pDisconnectInfo->pUserProperty->count; + const MQTTUserProperty_t * pUserProperty = pDisconnectInfo->pUserProperty->userProperty; for( ; i < size; i++ ) { @@ -5861,7 +5888,7 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, } - MQTTStatus_t MQTTV5_SerializeDisconnectWithProperty( const MQTTAckInfo_t * pAckInfo, + MQTTStatus_t MQTTV5_SerializeDisconnectWithProperty( const MQTTAckInfo_t * pDisconnectInfo, size_t remainingLength, const MQTTFixedBuffer_t * pFixedBuffer, uint32_t sessionExpiry ) @@ -5870,11 +5897,11 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, size_t packetSize = 0; /* Validate arguments. */ - if( ( pAckInfo == NULL ) || ( pFixedBuffer == NULL ) ) + if( ( pDisconnectInfo == NULL ) || ( pFixedBuffer == NULL ) ) { - LogError( ( "Argument cannot be NULL: pAckInfo=%p, " + LogError( ( "Argument cannot be NULL: pDisconnectInfo=%p, " "pFixedBuffer=%p.", - ( void * ) pAckInfo, + ( void * ) pDisconnectInfo, ( void * ) pFixedBuffer ) ); status = MQTTBadParameter; } @@ -5899,7 +5926,7 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, } else { - seriailizeDisconnectPacketV5( pAckInfo, pFixedBuffer, remainingLength, sessionExpiry ); + seriailizeDisconnectPacketV5( pDisconnectInfo, pFixedBuffer, remainingLength, sessionExpiry ); } } diff --git a/source/include/core_mqtt.h b/source/include/core_mqtt.h index 1218be0b1..821f2ec04 100644 --- a/source/include/core_mqtt.h +++ b/source/include/core_mqtt.h @@ -1047,7 +1047,7 @@ const char * MQTT_Status_strerror( MQTTStatus_t status ); MQTTStatus_t MQTTV5_Disconnect( MQTTContext_t * pContext, MQTTAckInfo_t * pDisconnectInfo, uint32_t sessionExpiry ); -/* @[declare_mqtt_disconnect] */ +/* @[declare_mqttv5_disconnect] */ /* *INDENT-OFF* */ #ifdef __cplusplus diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index f2d2cd847..65760d6f4 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -966,7 +966,7 @@ MQTTStatus_t MQTT_GetPublishPacketSize( const MQTTPublishInfo_t * pPublishInfo, * consider using #MQTT_SerializePublishHeader, which will serialize * only the PUBLISH header into the buffer. * - * #MQTT_GetPublishPacketSize should be called with @p pPublishInfo before + * #MQTT_GetPublishPacketSize or #MQTTV5_GetPublishPacketSize (for version 5 users) should be called with @p pPublishInfo before * invoking this function to get the size of the required #MQTTFixedBuffer_t and * @p remainingLength. The @p remainingLength must be the same as returned by * #MQTT_GetPublishPacketSize. The #MQTTFixedBuffer_t must be at least as large @@ -1003,6 +1003,7 @@ MQTTStatus_t MQTT_GetPublishPacketSize( const MQTTPublishInfo_t * pPublishInfo, * status = MQTT_GetPublishPacketSize( * &publishInfo, &remainingLength, &packetSize * ); + * // or call MQTTV5_GetPublishPacketSize * assert( status == MQTTSuccess ); * assert( packetSize <= BUFFER_SIZE ); * @@ -1678,16 +1679,39 @@ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackPropert bool * pSessionPresent ); /* @[declare_mqttv5_deserializeconnack] */ - -/* @[declare_mqttv5_deserializeconnack] */ +/** + * @brief Initialize an MQTTConnectProperties_t. + * + * This function can be called on an #MQTTConnectProperties_t to set the properties to their default value before calling MQTT_Connect or #MQTTV5_GetConnectPacketSize. + * + * @param[in] pConnectProperties The connect properties to initialize. + * + * @return #MQTTBadParameter if invalid parameters are passed; + * #MQTTSuccess otherwise. + * + * Example + * @code{c} + * + * MQTTConnectProperties_t connectProperties; + * + * // Clear context. + * memset( ( void * ) &connectProperties, 0x00, sizeof( MQTTConnectProperties_t ) ); + * + * status = MQTTV5_InitConnect(&connectProperties); + * + * if( status == MQTTSuccess ) + * { + * //Set the values for connect properties. + * } + * @endcode + */ +/* @[declare_mqttv5_initconnect] */ MQTTStatus_t MQTTV5_InitConnect(MQTTConnectProperties_t *pConnectProperties); /* @[declare_mqttv5_initconnect] */ /** * @brief Get the size and Remaining Length of an MQTT Version 5 CONNECT packet . * - * #MQTTV5_InitConnect can be called with @p pConnectProperties and before invoking this function - * to set the values to their default values. * This function must be called before #MQTT_SerializeConnect in order to get * the size of the MQTT CONNECT packet that is generated from #MQTTConnectInfo_t, * MQTTConnectProperties_t and optional #MQTTPublishInfo_t. The size of the #MQTTFixedBuffer_t supplied @@ -1781,7 +1805,7 @@ MQTTStatus_t MQTTV5_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, * * // Assume connectInfo and willInfo are initialized. Get the size requirement for * // the connect packet. - * status = MQTT_GetConnectPacketSize( + * status = MQTTV5_GetConnectPacketSize( * &connectInfo, &willInfo,&connectProperties &remainingLength, &packetSize * ); * assert( status == MQTTSuccess ); @@ -1805,45 +1829,465 @@ MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, /* @[declare_mqttv5_serializeconnect] */ +/** + * @brief Validate the publish parameters present in the given publish structure @p pPublishInfo. + * + * This function must be called before #MQTTV5_GetPublishPacketSize in order to validate the publish parameters. + * + * @param[in] pPublishInfo MQTT publish packet parameters. + * @param[in] topicAliasMax Maximum topic alias allowed by the server. + * @param[in] retainAvailable Whether server allows retain or not. + * @param[in] maxQos Maximum QoS supported by the server. + * + * @return #MQTTBadParameter if invalid parameters are passed; + * #MQTTSuccess otherwise. + * + * Example + * @code{c} + * + * // Variables used in this example. + * MQTTStatus_t status; + * MQTTPublishInfo_t publishInfo = {0}; + * uint16_t topicAliasMax; + * uint8_t retainAvailable; + * uint8_t maxQos; + * + * //Set the publish info parameters. + * + * //Validate the publish packet + * status = MQTTV5_ValidatePublishParams(&ublishInfo,topicAliasMax,retainAvailable,maxQos); + * + * if( status == MQTTSuccess ) + * { + * // Get the packet size and serialize the publish packet. + * } + * @endcode + */ +/* @[declare_mqttv5_validatepublishparams] */ MQTTStatus_t MQTTV5_ValidatePublishParams(const MQTTPublishInfo_t* pPublishInfo, uint16_t topicAliasMax, uint8_t retainAvailable, uint8_t maxQos); +/* @[declare_mqttv5_validatepublishparams] */ + + +/** + * @brief Get the packet size and remaining length of an MQTT PUBLISH packet. + * + * #MQTTV5_ValidatePublishParams should be called with @p pPublishInfo before invoking this function + * to validate the publish parameters.This function must be called before #MQTT_SerializePublish + * in order to get the size of the MQTT PUBLISH packet that is generated from #MQTTPublishInfo_t. + * The size of the #MQTTFixedBuffer_t supplied to #MQTT_SerializePublish must be + * at least @p pPacketSize. The provided @p pPublishInfo is valid for + * serialization with #MQTT_SerializePublish only if this function returns + * #MQTTSuccess. The remaining length returned in @p pRemainingLength and the + * packet size returned in @p pPacketSize are valid only if this function + * returns #MQTTSuccess. + * + * @param[in] pPublishInfo MQTT PUBLISH packet parameters. + * @param[out] pRemainingLength The Remaining Length of the MQTT PUBLISH packet. + * @param[out] pPacketSize The total size of the MQTT PUBLISH packet. + * @param[in] maxPacketSize Maximum packet size allowed by the server. + * + * @return #MQTTBadParameter if the packet would exceed the size allowed by the + * MQTT spec or if invalid parameters are passed; #MQTTSuccess otherwise. + * + * Example + * @code{c} + * + * // Variables used in this example. + * MQTTStatus_t status; + * MQTTPublishInfo_t publishInfo = { 0 }; + * uint16_t topicAliasMax; + * uint8_t retainAvailable; + * uint8_t maxQos; + * size_t remainingLength = 0, packetSize = 0; + * + * // Initialize the publish info. + * publishInfo.qos = MQTTQoS0; + * publishInfo.pTopicName = "/some/topic/name"; + * publishInfo.topicNameLength = strlen( publishInfo.pTopicName ); + * publishInfo.pPayload = "Hello World!"; + * publishInfo.payloadLength = strlen( "Hello World!" ); + * + * //Set the publish properties. + * + * status = MQTTV5_ValidatePublishParams(&publishInfo,topicAliasMax,retainAvailable,maxQos); + * // Get the size requirement for the publish packet. + * status = MQTTV5_GetPublishPacketSize( + * &publishInfo, &remainingLength, &packetSize, maxPacketSize + * ); + * + * if( status == MQTTSuccess ) + * { + * // The application should allocate or use a static #MQTTFixedBuffer_t + * // of size >= packetSize to serialize the publish. + * } + * @endcode + */ +/* @[declare_mqttv5_getpublishpacketsize] */ MQTTStatus_t MQTTV5_GetPublishPacketSize(MQTTPublishInfo_t * pPublishInfo, size_t * pRemainingLength, size_t * pPacketSize , uint32_t maxPacketSize); +/* @[declare_mqttv5_getpublishpacketsize] */ +/** + * @brief Deserialize an MQTT PUBACK, PUBREC, PUBREL, PUBCOMP, or PINGRESP. + * + * @param[in] pIncomingPacket #MQTTPacketInfo_t containing the buffer. + * @param[out] pPacketId The packet ID of obtained from the buffer. + * @param[out] pAckInfo Struct to store the deserialized ack information. + * @param[in] requestProblem Request problem value set in the connect packet. + * @param[in] maxPacketSize Maximum packet size allowed by the client. + * + * @return #MQTTBadParameter, #MQTTBadResponse, #MQTTServerRefused, #MQTTProtocolError, #MQTTMalformedPacket or #MQTTSuccess. + * + * Example + * @code{c} + * + * // Variables used in this example. + * MQTTStatus_t status; + * MQTTPacketInfo_t incomingPacket; + * uint16_t packetId; + * MQTTAckInfo_t ackInfo = {0}; + * bool requestProblem; + * uint32_t maxPacketSize; + * bool sessionPresent; + * + * // Receive an incoming packet and populate all fields. The details are out of scope + * // for this example. + * receiveIncomingPacket( &incomingPacket ); + * + * // Deserialize ack information if the incoming packet is a publish ack. + * status = MQTTV5_DeserializeAck(&incomingPacket, + &packetId, + &ackInfo, + requestProblem, + maxPacketSize); + * if( status == MQTTSuccess ) + * { + * // Ack information is now available. + * } + * } + * @endcode + */ +/* @[declare_mqttv5_deserializeack] */ MQTTStatus_t MQTTV5_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, uint16_t * pPacketId, MQTTAckInfo_t *pAckInfo, bool requestProblem,uint32_t maxPacketSize); +/* @[declare_mqttv5_deserializeack] */ + +/** + * @brief Get the size of an MQTT DISCONNECT packet. + * + * @param[in] pAckInfo MQTT PUBLISH ACK packet parameters. + * @param[out] pRemainingLength The Remaining Length of the MQTT DISCONNECT packet. + * @param[out] pPacketSize The size of the MQTT DISCONNECT packet. + * @param[in] maxPacketSize Maximum packet size allowed by the server. + * + * @return #MQTTSuccess, or #MQTTBadParameter if parameters are invalid + * + * Example + * @code{c} + * + * // Variables used in this example. + * MQTTStatus_t status; + * MQTTAckInfo_t disconnectInfo ={0}; + * size_t remainingLength =0; + * size_t packetSize = 0; + * uint32_t maxPacketSize; + * + * //Set the parameters. + * // Get the size requirement for the disconnect packet. + * status = MQTTV5_GetAckPacketSize(&disconnectInfo,&remainingLength,&packetSize,maxPacketSize); + * + * if( status == MQTTSuccess ) + * { + * // The application should allocate or use a static #MQTTFixedBuffer_t + * // of size >= packetSize to serialize the ack packet. + * } + * @endcode + */ +/* @[declare_mqttv5_getdackpacketsize] */ MQTTStatus_t MQTTV5_GetAckPacketSize( MQTTAckInfo_t *pAckInfo, size_t* pRemainingLength,size_t * pPacketSize, uint32_t maxPacketSize); +/* @[declare_mqttv5_getdackpacketsize] */ + +/** + * @fn uint8_t * MQTTV5_SerializeAckFixed(uint8_t * pIndex, + uint8_t packetType, + uint16_t packetId, + size_t remainingLength, + size_t propertyLength); + * @brief Serialize the fixed size part of the ack packet header. + * + * @param[out] pIndex Pointer to the buffer where the header is to + * be serialized. + * @param[in] packetType Type of publish ack + * @param[in] packetId Packed identifier of the ack packet. + * @param[in] remainingLength Remaining length of the ack packet. + * @param[in] propertyLength Property length of the ack packet. + * + * + * @return A pointer to the end of the encoded string. + */ +/** + * @cond DOXYGEN_IGNORE + * Doxygen should ignore this definition, this function is private. + */ uint8_t * MQTTV5_SerializeAckFixed(uint8_t * pIndex, uint8_t packetType, uint16_t packetId, size_t remainingLength, size_t propertyLength); +/** @endcond */ +/** + * @brief Serialize an MQTT DISCONNECT packet into the given buffer. + * + * The input #MQTTFixedBuffer_t.size must be at least as large as the size + * returned by #MQTTV5_GetAckPacketSize. + * + * @note If reason code is success and property length is zero then #MQTT_SerializeAck can also be used. + * + * @param[in] pAckInfo Struct containing information about the publish ack. + * @param[in] remainingLength The remaining length of the packet to be + * serialized. + * @param[out] pFixedBuffer Buffer for packet serialization. + * @param[in] packetType Type of publish ack. + * @param[in] packetId Packed identifier of the ack packet. + * + * @return #MQTTNoMemory if pFixedBuffer is too small to hold the MQTT packet; + * #MQTTBadParameter if invalid parameters are passed; + * #MQTTSuccess otherwise. + * + * Example + * @code{c} + * + * // Variables used in this example. + * MQTTStatus_t status; + * MQTTFixedBuffer_t fixedBuffer; + * uint8_t buffer[ BUFFER_SIZE ]; + * MQTTAckInfo_t ackInfo; + * uint16_t sessionExpiry; + * + * fixedBuffer.pBuffer = buffer; + * fixedBuffer.size = BUFFER_SIZE; + * // Variables used in this example. + * MQTTStatus_t status; + * MQTTAckInfo_t disconnectInfo ={0}; + * size_t remainingLength =0; + * size_t packetSize = 0; + * uint8_t packetType; + * uint8_t packedId; + * uint32_t maxPacketSize; + * //set the parameters. + * // Get the size requirement for the ack packet. + * status = MQTTV5_GetAckPacketSize(&disconnectInfo,&remainingLength,&packetSize,maxPacketSize); + * + * + * assert( status == MQTTSuccess ); + * assert( packetSize <= BUFFER_SIZE ); + * + * // Serialize the disconnect into the fixed buffer. + * MQTTV5_SerializePubAckWithProperty( &ackInfo, + remainingLength, + &fixedBuffer, + packetType, + packetId); + * * if( status == MQTTSuccess ) + * { + * // The ack packet can now be sent to the broker. + * } + * + * @endcode + */ +/* @[declare_mqttv5_serializepubackwithproperty] */ MQTTStatus_t MQTTV5_SerializePubAckWithProperty( const MQTTAckInfo_t *pAckInfo, size_t remainingLength, const MQTTFixedBuffer_t * pFixedBuffer, uint8_t packetType, uint16_t packetId); +/* @[declare_mqttv5_serializepubackwithproperty] */ + + +/** + * @brief Get the size of an MQTT DISCONNECT packet. + * + * @param[in] pDisconnectInfo MQTT DISCONNECT packet parameters. + * @param[out] pRemainingLength The Remaining Length of the MQTT DISCONNECT packet. + * @param[out] pPacketSize The size of the MQTT DISCONNECT packet. + * @param[in] maxPacketSize Maximum packet size allowed by the server. + * @param[in] sessionExpiry Session expiry interval in the disconnect packet. + * @param[in] prevSessionExpiry Session expiry interval set in the connect packet. + * + * @return #MQTTSuccess, or #MQTTBadParameter if parameters are invalid + * + * Example + * @code{c} + * + * // Variables used in this example. + * MQTTStatus_t status; + * MQTTAckInfo_t disconnectInfo ={0}; + * size_t remainingLength =0; + * size_t packetSize = 0; + * uint32_t maxPacketSize; + * uint32_t sessionExpiry; + * uint32_t prevSessionExpiry + * + * //Set the parameters. + * // Get the size requirement for the disconnect packet. + * status = MQTTV5_GetDisconnectPacketSize(&disconnectInfo,&remainingLength,&packetSize,maxPacketSize, sessionExpiry,prevSessionExpiry ); + * + * if( status == MQTTSuccess ) + * { + * // The application should allocate or use a static #MQTTFixedBuffer_t + * // of size >= packetSize to serialize the disconnect. + * } + * @endcode + */ +/* @[declare_mqttv5_getdisconnectpacketsize] */ +MQTTStatus_t MQTTV5_GetDisconnectPacketSize( MQTTAckInfo_t* pDisconnectInfo, size_t * pRemainingLength, size_t * pPacketSize,uint32_t maxPacketSize, uint32_t sessionExpiry,uint32_t prevSessionExpiry ); +/* @[declare_mqttv5_getdisconnectpacketsize] */ -MQTTStatus_t MQTTV5_GetDisconnectPacketSize( MQTTAckInfo_t* pAckInfo, size_t * pRemainingLength, size_t * pPacketSize,uint32_t maxPacketSize, uint32_t sessionExpiry,uint32_t prevSessionExpiry ); +/** + * @fn uint8_t * MQTTV5_SerializeDisconnectFixed(uint8_t * pIndex, + const MQTTAckInfo_t * pDisconnectInfo, + size_t remainingLength, + uint32_t sessionExpiry); + * @brief Serialize the fixed part of the disconnect packet header. + * + * @param[out] pIndex Pointer to the buffer where the fixed size parameters is to + * be serialized. + * @param[in] pDisconnectInfo The disconnect information. + * @param[in] remainingLength The remaining length of the packet to be + * serialized. + * @param[in] sessionExpiry Session expiry to be serialized. + * + * @return A pointer to the end of the encoded string. + */ + +/** + * @cond DOXYGEN_IGNORE + * Doxygen should ignore this definition, this function is private. + */ uint8_t * MQTTV5_SerializeDisconnectFixed(uint8_t * pIndex, - const MQTTAckInfo_t * pAckInfo, + const MQTTAckInfo_t * pDisconnectInfo, size_t remainingLength, uint32_t sessionExpiry); +/** @endcond */ + +/** + * @brief Deserialize an MQTT Disconnect packet. + * + * @param[in] pPacket #MQTTPacketInfo_t containing the buffer. + * @param[out] pDisconnectInfo Struct containing information about the disconnect. + * @param[out] pServerRef The server reference obtained from the buffer. + * @param[out] pServerRefLength The server reference length obtained from the buffer. + * @param[in] maxPacketSize MAximum packet size allowed by the client. + * + * @return #MQTTBadParameter, #MQTTBadResponse, #MQTTServerRefused, #MQTTProtocolError, #MQTTMalformedPacket or #MQTTSuccess. + * + * Example + * @code{c} + * + * // Variables used in this example. + * MQTTStatus_t status; + * MQTTPacketInfo_t incomingPacket; + * MQTTAckInfo_t disconnectInfo; + * const char * serverRef; + * uint16_t serverRefLength; + * uint32_t maxPacketSize; + * // Receive an incoming packet and populate all fields. The details are out of scope + * // for this example. + * receiveIncomingPacket( &incomingPacket ); + * + * // Deserialize disconnect information. + * if( ( incomingPacket.type) == MQTT_PACKET_TYPE_DISCONNECT ) + * { + * status = MQTTV5_DeserializeDisconnect(&incomingPacket, + &disconnectInfo, + &serverRef, + &serverRefLength, + maxPacketSize ); + * if( status == MQTTSuccess ) + * { + * // Disconnect information is available. + * } + * } + * @endcode + */ +/* @[declare_mqttv5_deserializedisconnect] */ MQTTStatus_t MQTTV5_DeserializeDisconnect( const MQTTPacketInfo_t * pPacket, MQTTAckInfo_t *pDisconnectInfo, const char ** pServerRef, uint16_t * pServerRefLength, uint32_t maxPacketSize ); -MQTTStatus_t MQTTV5_SerializeDisconnectWithProperty( const MQTTAckInfo_t *pAckInfo, +/* @[declare_mqttv5_deserializedisconnect] */ + + +/** + * @brief Serialize an MQTT DISCONNECT packet into the given buffer. + * + * The input #MQTTFixedBuffer_t.size must be at least as large as the size + * returned by #MQTTV5_GetDisconnectPacketSize. + * + * @param[in] pDisconnectInfo Struct containing information about the disconnect. + * @param[in] remainingLength The remaining length of the packet to be + * serialized. + * @param[out] pFixedBuffer Buffer for packet serialization. + * @param[in] sessionExpiry Session expiry to be serialized. + * + * @return #MQTTNoMemory if pFixedBuffer is too small to hold the MQTT packet; + * #MQTTBadParameter if invalid parameters are passed; + * #MQTTSuccess otherwise. + * + * Example + * @code{c} + * + * // Variables used in this example. + * MQTTStatus_t status; + * MQTTFixedBuffer_t fixedBuffer; + * uint8_t buffer[ BUFFER_SIZE ]; + * MQTTAckInfo_t disconnectInfo; + * uint16_t sessionExpiry; + * + * fixedBuffer.pBuffer = buffer; + * fixedBuffer.size = BUFFER_SIZE; + * // Variables used in this example. + * MQTTStatus_t status; + * MQTTAckInfo_t disconnectInfo ={0}; + * size_t remainingLength =0; + * size_t packetSize = 0; + * uint32_t maxPacketSize; + * uint32_t sessionExpiry; + * uint32_t prevSessionExpiry + * + * //set the parameters. + * // Get the size requirement for the disconnect packet. + * status = MQTTV5_GetDisconnectPacketSize(&disconnectInfo,&remainingLength,&packetSize,maxPacketSize, sessionExpiry,prevSessionExpiry ); + * + * assert( status == MQTTSuccess ); + * assert( packetSize <= BUFFER_SIZE ); + * + * // Serialize the disconnect into the fixed buffer. + * MQTTV5_SerializeDisconnectWithProperty( &disconnectInfo, + remainingLenght, + &fixedBuffer, + sessionExpiry); + * + * if( status == MQTTSuccess ) + * { + * // The disconnect packet can now be sent to the broker. + * } + * @endcode + */ +/* @[declare_mqttv5_serializedisconnectwithproperty] */ +MQTTStatus_t MQTTV5_SerializeDisconnectWithProperty( const MQTTAckInfo_t *pDisconnectInfo, size_t remainingLength, const MQTTFixedBuffer_t * pFixedBuffer, uint32_t sessionExpiry); +/* @[declare_mqttv5_serializedisconnectwithproperty] */ /* *INDENT-OFF* */ #ifdef __cplusplus From d39a120cd787487450af8644284b480c1b58d119 Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Thu, 18 Jul 2024 08:14:42 +0000 Subject: [PATCH 78/82] MQTTv5 --- source/core_mqtt_serializer.c | 12 ------------ source/include/core_mqtt_serializer.h | 18 +++++++++--------- test/unit-test/MQTTv5/cmock_opaque_types.h | 2 +- test/unit-test/MQTTv5/core_mqtt_config.h | 2 +- .../MQTTv5/core_mqttv5_serializer_utest.c | 2 +- .../unit-test/MQTTv5/core_mqttv5_state_utest.c | 2 +- test/unit-test/MQTTv5/core_mqttv5_utest.c | 18 +++++++++--------- test/unit-test/WithoutUP/cmock_opaque_types.h | 2 +- test/unit-test/WithoutUP/core_mqtt_config.h | 2 +- .../core_mqttv5WUP_serializer_utest.c | 2 +- 10 files changed, 25 insertions(+), 37 deletions(-) diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 4f395d033..47b8e907f 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -409,7 +409,6 @@ accepted by this Server. */ #define MQTT_REASON_PACKET_ID_IN_USE ( 0x91 ) /** - * @ingroup mqtt_constants * @brief The Packet Identifier is not known. */ #define MQTT_REASON_PACKET_ID_NOT_FOUND ( 0x92 ) @@ -429,7 +428,6 @@ permissible size. */ #define MQTT_REASON_PACKET_TOO_LARGE ( 0x95 ) /** - * @ingroup mqtt_constants * @brief The Connection is accepted. */ #define MQTT_REASON_MSG_RATE_TOO_HIGH ( 0x96 ) @@ -444,57 +442,47 @@ administrative action. */ #define MQTT_REASON_ADMIN_ACTION ( 0x98 ) /** - * @ingroup mqtt_constants * @brief The Payload does not match the specified Payload Format Indicator. */ #define MQTT_REASON_PAYLOAD_FORMAT_INVALID ( 0x99 ) /** - * @ingroup mqtt_constants * @brief The Server does not support retained messages, and Will Retain was set to 1. */ #define MQTT_REASON_RETAIN_NOT_SUPPORTED ( 0x9A ) /** - * @ingroup mqtt_constants * @brief The Server does not support the QoS. */ #define MQTT_REASON_QOS_NOT_SUPPORTED ( 0x9B ) /** - * @ingroup mqtt_constants * @brief The Client should temporarily use another server. */ #define MQTT_REASON_USE_ANOTHER_SERVER ( 0x9C ) /** - * @ingroup mqtt_constants * @brief The Client should permanently use another server. */ #define MQTT_REASON_SERVER_MOVED ( 0x9D ) /** - * @ingroup mqtt_constants * @brief The Server does not support Shared Subscriptions. */ #define MQTT_REASON_SS_NOT_SUPPORTED ( 0x9E ) /** - * @ingroup mqtt_constants * @brief The connection rate limit has been exceeded. */ #define MQTT_REASON_CON_RATE_EXCEED ( 0x9F ) /** - * @ingroup mqtt_constants * @brief The maximum connection time authorized for this connection has been exceeded. */ #define MQTT_REASON_MAX_CON_TIME ( 0xA0 ) /** - * @ingroup mqtt_constants * @brief The Server does not support Subscription Identifiers; the subscription is not accepted. */ #define MQTT_REASON_SUB_ID_NOT_SUP ( 0xA1 ) /** - * @ingroup mqtt_constants * @brief The Server does not support Wildcard Subscriptions; the subscription is not accepted. */ diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index 4cf71b972..514f4e53d 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -105,8 +105,8 @@ typedef enum MQTTStatus incomplete data; it should be called again (probably after a delay). */ - MQTTMalformedPacket=0x81, - MQTTProtocolError=0x82 + MQTTMalformedPacket=0x81,/**A malformed packet was received from the server. */ + MQTTProtocolError=0x82 /**A packet with protocol error was received from the server. */ } MQTTStatus_t; @@ -1712,7 +1712,7 @@ MQTTStatus_t MQTTV5_InitConnect(MQTTConnectProperties_t *pConnectProperties); /** * @brief Get the size and Remaining Length of an MQTT Version 5 CONNECT packet . * - * This function must be called before #MQTT_SerializeConnect in order to get + * This function must be called before #MQTTV5_SerializeConnect in order to get * the size of the MQTT CONNECT packet that is generated from #MQTTConnectInfo_t, * MQTTConnectProperties_t and optional #MQTTPublishInfo_t. The size of the #MQTTFixedBuffer_t supplied * to #MQTT_SerializeConnect must be at least @p pPacketSize. The provided @@ -1750,8 +1750,8 @@ MQTTStatus_t MQTTV5_InitConnect(MQTTConnectProperties_t *pConnectProperties); * initializeConnectProperties( &connectProperties ); * * // Get the size requirement for the connect packet. - * status = MQTT_GetConnectPacketSize( - * &connectInfo, &willInfo, &remainingLength, &packetSize + * status = MQTTV5_GetConnectPacketSize( + * &connectInfo, &willInfo, &connectProperties, &remainingLength, &packetSize * ); * * if( status == MQTTSuccess ) @@ -1775,13 +1775,13 @@ MQTTStatus_t MQTTV5_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, * #MQTTV5_GetConnectPacketSize should be called with @p pConnectInfo, @p pConnectProperties and * @p pWillInfo before invoking this function to get the size of the required * #MQTTFixedBuffer_t and @p remainingLength. The @p remainingLength must be - * the same as returned by #MQTT_GetConnectPacketSize. The #MQTTFixedBuffer_t - * must be at least as large as the size returned by #MQTT_GetConnectPacketSize. + * the same as returned by #MQTTV5_GetConnectPacketSize. The #MQTTFixedBuffer_t + * must be at least as large as the size returned by #MQTTV5_GetConnectPacketSize. * * @param[in] pConnectInfo MQTT CONNECT packet parameters. * @param[in] pWillInfo Last Will and Testament. Pass NULL if not used. * @param[in] pConnectProperties MQTT CONNECT properties parameters. - * @param[in] remainingLength Remaining Length provided by #MQTT_GetConnectPacketSize. + * @param[in] remainingLength Remaining Length provided by #MQTTV5_GetConnectPacketSize. * @param[out] pFixedBuffer Buffer for packet serialization. * * @return #MQTTNoMemory if pFixedBuffer is too small to hold the MQTT packet; @@ -1812,7 +1812,7 @@ MQTTStatus_t MQTTV5_GetConnectPacketSize(const MQTTConnectInfo_t* pConnectInfo, * assert( packetSize <= BUFFER_SIZE ); * * // Serialize the connect packet into the fixed buffer. - * status = MQTT_SerializeConnect( &connectInfo, &willInfo,&connectProperties,remainingLength, &fixedBuffer ); + * status = MQTTV5_SerializeConnect( &connectInfo, &willInfo,&connectProperties,remainingLength, &fixedBuffer ); * * if( status == MQTTSuccess ) * { diff --git a/test/unit-test/MQTTv5/cmock_opaque_types.h b/test/unit-test/MQTTv5/cmock_opaque_types.h index 04e2fbc76..d29ef7b9b 100644 --- a/test/unit-test/MQTTv5/cmock_opaque_types.h +++ b/test/unit-test/MQTTv5/cmock_opaque_types.h @@ -1,5 +1,5 @@ /* - * coreMQTT v2.3.0 + * coreMQTT * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT diff --git a/test/unit-test/MQTTv5/core_mqtt_config.h b/test/unit-test/MQTTv5/core_mqtt_config.h index b41daf985..35eec5b01 100644 --- a/test/unit-test/MQTTv5/core_mqtt_config.h +++ b/test/unit-test/MQTTv5/core_mqtt_config.h @@ -1,5 +1,5 @@ /* - * coreMQTT v2.3.0 + * coreMQTT * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index c8a1d3126..d7fed285d 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -1,5 +1,5 @@ /* - * coreMQTT v2.3.0 + * coreMQTT * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT diff --git a/test/unit-test/MQTTv5/core_mqttv5_state_utest.c b/test/unit-test/MQTTv5/core_mqttv5_state_utest.c index 5703496a4..d3bdc4278 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_state_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_state_utest.c @@ -1,5 +1,5 @@ /* - * coreMQTT v2.3.0 + * coreMQTT * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index f3e825f3f..0a6c5aafd 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -1,5 +1,5 @@ /* - * coreMQTT v2.3.0 + * coreMQTT * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT @@ -545,7 +545,7 @@ void test_MQTT_Connect() TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); } -void test_MQTT_Connect_happy_path() +void test_MQTT_Connect_error_path() { MQTTContext_t mqttContext = { 0 }; MQTTConnectInfo_t connectInfo = { 0 }; @@ -813,7 +813,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Error_Paths1( void ) MQTTFixedBuffer_t networkBuffer = { 0 }; MQTTConnectProperties_t properties; MQTTPacketInfo_t incomingPacket = { 0 }; - + /*Update state returns bad response.*/ setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); incomingPacket.type = MQTT_PACKET_TYPE_PUBREC; @@ -847,7 +847,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Error_Paths2( void ) MQTTFixedBuffer_t networkBuffer = { 0 }; MQTTConnectProperties_t properties; MQTTPacketInfo_t incomingPacket = { 0 }; - + /*Update state returns bad response.*/ setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); status = MQTT_Init( &context, &transport, getTime, eventCallback1, &networkBuffer ); @@ -876,7 +876,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Error_Paths3( void ) MQTTConnectProperties_t properties; uint16_t packetId = 2; MQTTPacketInfo_t incomingPacket = { 0 }; - + /*Invalid packet parameters.*/ setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); incomingPacket.type = MQTT_PACKET_TYPE_PUBREC; @@ -910,7 +910,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths2( void ) MQTTConnectProperties_t properties; uint16_t packetId = 1; MQTTPacketInfo_t incomingPacket = { 0 }; - + /*Using event call back to set reason string and user properties,*/ setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); incomingPacket.type = MQTT_PACKET_TYPE_PUBREC; @@ -946,7 +946,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Error_Paths4( void ) MQTTFixedBuffer_t networkBuffer = { 0 }; MQTTConnectProperties_t properties; MQTTPacketInfo_t incomingPacket = { 0 }; - + /*Invalid packet parameters.*/ setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); incomingPacket.type = MQTT_PACKET_TYPE_PUBREC; @@ -978,7 +978,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Error_Paths5( void ) MQTTConnectProperties_t properties; MQTTPacketInfo_t incomingPacket = { 0 }; uint16_t packetId = 1; - + /*Unable to send the packet using transport interface.*/ setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); incomingPacket.type = MQTT_PACKET_TYPE_PUBREC; @@ -1076,7 +1076,6 @@ void test_MQTT_ProcessLoop_handleIncomingDisconnect( void ) memset( &disconnectInfo, 0x0, sizeof( disconnectInfo ) ); setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); - /* Modify incoming packet depending on type to be tested. */ status = MQTT_Init( &context, &transport, getTime, eventCallback1, &networkBuffer ); TEST_ASSERT_EQUAL( MQTTSuccess, status ); context.pDisconnectInfo = &disconnectInfo; @@ -1090,6 +1089,7 @@ void test_MQTT_ProcessLoop_handleIncomingDisconnect( void ) status = MQTT_ProcessLoop( &context ); TEST_ASSERT_EQUAL_INT( MQTTSuccess, status ); + /*Invalid packet parameters.*/ MQTT_ProcessIncomingPacketTypeAndLength_ExpectAnyArgsAndReturn( MQTTSuccess ); MQTT_ProcessIncomingPacketTypeAndLength_ReturnThruPtr_pIncomingPacket( &incomingPacket ); MQTTV5_DeserializeDisconnect_IgnoreAndReturn( MQTTProtocolError ); diff --git a/test/unit-test/WithoutUP/cmock_opaque_types.h b/test/unit-test/WithoutUP/cmock_opaque_types.h index 04e2fbc76..d29ef7b9b 100644 --- a/test/unit-test/WithoutUP/cmock_opaque_types.h +++ b/test/unit-test/WithoutUP/cmock_opaque_types.h @@ -1,5 +1,5 @@ /* - * coreMQTT v2.3.0 + * coreMQTT * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT diff --git a/test/unit-test/WithoutUP/core_mqtt_config.h b/test/unit-test/WithoutUP/core_mqtt_config.h index a25196244..636473e4d 100644 --- a/test/unit-test/WithoutUP/core_mqtt_config.h +++ b/test/unit-test/WithoutUP/core_mqtt_config.h @@ -1,5 +1,5 @@ /* - * coreMQTT v2.3.0 + * coreMQTT * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT diff --git a/test/unit-test/WithoutUP/core_mqttv5WUP_serializer_utest.c b/test/unit-test/WithoutUP/core_mqttv5WUP_serializer_utest.c index 301666a46..2e19d9285 100644 --- a/test/unit-test/WithoutUP/core_mqttv5WUP_serializer_utest.c +++ b/test/unit-test/WithoutUP/core_mqttv5WUP_serializer_utest.c @@ -1,5 +1,5 @@ /* - * coreMQTT v2.3.0 + * coreMQTT * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT From 5d0ac4bd09ee807fa65f6bcebe26b900b1fe3cd2 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Thu, 18 Jul 2024 08:11:54 +0000 Subject: [PATCH 79/82] Uncrustify: triggered by comment. --- source/core_mqtt.c | 13 +- source/core_mqtt_serializer.c | 226 +++++++++++++--------- source/include/core_mqtt_serializer.h | 34 ++-- test/unit-test/MQTTv5/core_mqttv5_utest.c | 6 + 4 files changed, 163 insertions(+), 116 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index e43bb5f93..11be85744 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -813,23 +813,24 @@ static bool matchTopicFilter( const char * pTopicName, uint16_t packetId, MQTTPublishState_t publishState, MQTTAckInfo_t * pAckInfo ); - /** + +/** * @brief Send acks for received QoS 1/2 publishes with properties. * * @param[in] pContext MQTT Connection context. * @param[in] pAckInfo Reason code and properties. * @param[in] remainingLength Remaining lenght of the packet. * @param[in] sessionExpiry Session expiry interval. - * + * * * * @return #MQTTSuccess, #MQTTBadParameter, #MQTTIllegalState or #MQTTSendFailed. */ - + static MQTTStatus_t sendDisconnectWithoutCopyV5( MQTTContext_t * pContext, const MQTTAckInfo_t * pAckInfo, size_t remainingLength, - uint32_t sessionExpiry ); + uint32_t sessionExpiry ); /*-----------------------------------------------------------*/ @@ -887,7 +888,7 @@ static bool matchTopicFilter( const char * pTopicName, iterator = &iterator[ vectorsAdded ]; ioVectorLength += vectorsAdded; - /*Encode the value*/ + /*Encode the value*/ vectorsAdded = addEncodedStringToVector( pUserVector->serializedUserValueLength[ i ], userProperty[ i ].pValue, userProperty[ i ].valueLength, @@ -2312,7 +2313,7 @@ static MQTTStatus_t handlePublishAcks( MQTTContext_t * pContext, packetIdentifier, publishRecordState ); } - #else /* if ( !MQTT_VERSION_5_ENABLED ) */ + #else /* if ( !MQTT_VERSION_5_ENABLED ) */ if( status == MQTTSuccess ) { deserializedInfo.packetIdentifier = packetIdentifier; diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 47b8e907f..1c769a5b9 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -311,180 +311,217 @@ * @brief The Connection is accepted. */ #define MQTT_REASON_SUCCESS ( 0x00 ) + /** - * @brief The Client wishes to disconnect but requires -that the Server also publishes its Will Message. + * @brief The Client wishes to disconnect but requires + * that the Server also publishes its Will Message. */ #define MQTT_REASON_SEND_WILL ( 0x04 ) + /** - * @brief The message is accepted but there are no -subscribers. + * @brief The message is accepted but there are no + * subscribers. */ #define MQTT_REASON_NO_MATCHING_SUBSCRIBERS ( 0x10 ) + /** - * @brief The Server does not wish to reveal the reason for the -failure, or none of the other Reason Codes apply. + * @brief The Server does not wish to reveal the reason for the + * failure, or none of the other Reason Codes apply. */ #define MQTT_REASON_UNSPECIFIED_ERR ( 0x80 ) + /** - * @brief Data within the CONNECT packet could not be -correctly parsed. + * @brief Data within the CONNECT packet could not be + * correctly parsed. */ #define MQTT_REASON_MALFORMED_PACKET ( 0x81 ) - /** - * @brief Data in the CONNECT packet does not conform to this -specification. + +/** + * @brief Data in the CONNECT packet does not conform to this + * specification. */ #define MQTT_REASON_PROTOCOL_ERR ( 0x82 ) - /** - * @brief The CONNECT is valid but is not accepted by this -Server. + +/** + * @brief The CONNECT is valid but is not accepted by this + * Server. */ #define MQTT_REASON_IMPL_SPECIFIC_ERR ( 0x83 ) - /** - * @brief The Server does not support the version of the MQTT -protocol requested by the Client. + +/** + * @brief The Server does not support the version of the MQTT + * protocol requested by the Client. */ #define MQTT_REASON_UNSUPPORTED_PROTO_VER ( 0x84 ) - /** - * @brief The Client Identifier is a valid string but is not allowed -by the Server. + +/** + * @brief The Client Identifier is a valid string but is not allowed + * by the Server. */ #define MQTT_REASON_CLIENT_ID_NOT_VALID ( 0x85 ) - /** - * @brief The Server does not accept the User Name or -Password specified by the Client. + +/** + * @brief The Server does not accept the User Name or + * Password specified by the Client. */ #define MQTT_REASON_BAD_USER_OR_PASS ( 0x86 ) - /** + +/** * @brief The Client is not authorized to connect. */ #define MQTT_REASON_NOT_AUTHORIZED ( 0x87 ) - /** + +/** * @brief The MQTT Server is not available. */ #define MQTT_REASON_SERVER_UNAVAILABLE ( 0x88 ) - /** + +/** * @brief The Server is busy, try again later. */ #define MQTT_REASON_SERVER_BUSY ( 0x89 ) - /** + +/** * @brief This Client has been banned by administrative action. */ #define MQTT_REASON_BANNED ( 0x8A ) - /** + +/** * @brief The Server is shutting down. */ #define MQTT_REASON_SERVER_SHUTTING_DOWN ( 0x8B ) - /** - * @brief The authentication method is not supported or does not -match the authentication method currently in use. + +/** + * @brief The authentication method is not supported or does not + * match the authentication method currently in use. */ #define MQTT_REASON_BAD_AUTH_METHOD ( 0x8C ) - /** - * @brief The Connection is closed because no packet -has been received for 1.5 times the Keepalive -time. + +/** + * @brief The Connection is closed because no packet + * has been received for 1.5 times the Keepalive + * time. */ #define MQTT_REASON_KEEP_ALIVE_TIMEOUT ( 0x8D ) - /** + +/** * @brief Another Connection using the same ClientID -has connected causing this Connection to be -closed. + * has connected causing this Connection to be + * closed. */ #define MQTT_REASON_SESSION_TAKEN_OVER ( 0x8E ) - /** - * @brief The Topic Filter is correctly formed, but is not -accepted by this Server. + +/** + * @brief The Topic Filter is correctly formed, but is not + * accepted by this Server. */ #define MQTT_REASON_TOPIC_FILTER_INVALID ( 0x8F ) - /** + +/** * @ingroup mqtt_constants - * @brief The Topic Name is not malformed, but is not -accepted by this Server. + * @brief The Topic Name is not malformed, but is not + * accepted by this Server. */ #define MQTT_REASON_TOPIC_NAME_INVALID ( 0x90 ) - /** - * @brief The Packet Identifier is already in use. + +/** + * @brief The Packet Identifier is already in use. */ #define MQTT_REASON_PACKET_ID_IN_USE ( 0x91 ) - /** + +/** * @brief The Packet Identifier is not known. */ #define MQTT_REASON_PACKET_ID_NOT_FOUND ( 0x92 ) - /** - * @brief The Client or Server has received more than -Receive Maximum publication for which it has -not sent PUBACK or PUBCOMP. + +/** + * @brief The Client or Server has received more than + * Receive Maximum publication for which it has + * not sent PUBACK or PUBCOMP. */ #define MQTT_REASON_RX_MAX_EXCEEDED ( 0x93 ) - /** + +/** * @brief The Connection is accepted. */ #define MQTT_REASON_TOPIC_ALIAS_INVALID ( 0x94 ) - /** - * @brief The packet exceeded the maximum -permissible size. + +/** + * @brief The packet exceeded the maximum + * permissible size. */ #define MQTT_REASON_PACKET_TOO_LARGE ( 0x95 ) - /** + +/** * @brief The Connection is accepted. */ #define MQTT_REASON_MSG_RATE_TOO_HIGH ( 0x96 ) - /** - * @brief An implementation or administrative imposed limit has -been exceeded. + +/** + * @brief An implementation or administrative imposed limit has + * been exceeded. */ #define MQTT_REASON_QUOTA_EXCEEDED ( 0x97 ) - /** - * @brief The Connection is closed due to an -administrative action. + +/** + * @brief The Connection is closed due to an + * administrative action. */ #define MQTT_REASON_ADMIN_ACTION ( 0x98 ) - /** - * @brief The Payload does not match the specified Payload -Format Indicator. + +/** + * @brief The Payload does not match the specified Payload + * Format Indicator. */ #define MQTT_REASON_PAYLOAD_FORMAT_INVALID ( 0x99 ) - /** - * @brief The Server does not support retained messages, and -Will Retain was set to 1. + +/** + * @brief The Server does not support retained messages, and + * Will Retain was set to 1. */ #define MQTT_REASON_RETAIN_NOT_SUPPORTED ( 0x9A ) - /** + +/** * @brief The Server does not support the QoS. */ #define MQTT_REASON_QOS_NOT_SUPPORTED ( 0x9B ) - /** + +/** * @brief The Client should temporarily use another server. */ #define MQTT_REASON_USE_ANOTHER_SERVER ( 0x9C ) - /** + +/** * @brief The Client should permanently use another server. */ #define MQTT_REASON_SERVER_MOVED ( 0x9D ) - /** - * @brief The Server does not support Shared -Subscriptions. + +/** + * @brief The Server does not support Shared + * Subscriptions. */ #define MQTT_REASON_SS_NOT_SUPPORTED ( 0x9E ) - /** + +/** * @brief The connection rate limit has been exceeded. */ #define MQTT_REASON_CON_RATE_EXCEED ( 0x9F ) - /** - * @brief The maximum connection time authorized for -this connection has been exceeded. + +/** + * @brief The maximum connection time authorized for + * this connection has been exceeded. */ #define MQTT_REASON_MAX_CON_TIME ( 0xA0 ) - /** - * @brief The Server does not support Subscription -Identifiers; the subscription is not accepted. + +/** + * @brief The Server does not support Subscription + * Identifiers; the subscription is not accepted. */ #define MQTT_REASON_SUB_ID_NOT_SUP ( 0xA1 ) - /** - * @brief The Server does not support Wildcard -Subscriptions; the subscription is not accepted. + +/** + * @brief The Server does not support Wildcard + * Subscriptions; the subscription is not accepted. */ #define MQTT_REASON_WILDCARD_SUB_NOT_SUP ( 0xA2 ) @@ -908,7 +945,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); size_t * pPropertyLength, const uint8_t ** pIndex ); - #else /* if ( MQTT_USER_PROPERTY_ENABLED ) */ + #else /* if ( MQTT_USER_PROPERTY_ENABLED ) */ /** * @brief Validate the length and decode a user property. @@ -1154,7 +1191,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[in] reasonCode MQTT Verion 5 standard PUBREL, PUBACK response code. * @param[in] packetIdentifier Packet id of the ack packet. * -* @return #MQTTSuccess, #MQTTServerRefused and #MQTTProtocolError. + * @return #MQTTSuccess, #MQTTServerRefused and #MQTTProtocolError. */ static MQTTStatus_t logAckResponseV5( uint8_t reasonCode, uint16_t packetIdentifier ); @@ -1165,7 +1202,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * * @param[in] reasonCode MQTT Verion 5 standard CONNACK response code. * @param[in] packetIdentifier Packet id of the ack packet. - + * * @return #MQTTSuccess, #MQTTServerRefused and #MQTTProtocolError. */ static MQTTStatus_t logSimpleAckResponseV5( uint8_t reasonCode, @@ -1202,12 +1239,13 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); uint16_t * pPacketIdentifier, MQTTAckInfo_t * pAckInfo, bool requestProblem ); + /** * @brief Serialize the publish properties in the given buffer. * * @param[in] pPublishInfo MQTT PUBLISH packet parameters. * @param[in] pIndex Pointer to the current index of the buffer. - * + * * @return Pointer to the new index of the buffer. */ static uint8_t * serializePublishProperties( const MQTTPublishInfo_t * pPublishInfo, @@ -1220,12 +1258,13 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[out] pFixedBuffer Buffer for packet serialization. * @param[in] remainingLength Remaining Length of MQTT DISCONNECT packet. * @param[in] sessionExpiry Session Expiry Interval. - * + * */ static void seriailizeDisconnectPacketV5( const MQTTAckInfo_t * pDisconnectInfo, const MQTTFixedBuffer_t * pFixedBuffer, size_t remainingLength, uint32_t sessionExpiry ); + /** * @brief Prints and validates the appropriate message for the Disconnect response code if logs * are enabled. @@ -1355,7 +1394,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); return status; } - #else /* if ( MQTT_USER_PROPERTY_ENABLED ) */ + #else /* if ( MQTT_USER_PROPERTY_ENABLED ) */ static MQTTStatus_t decodeAndDiscard( size_t * pPropertyLength, const uint8_t ** pIndex ) { @@ -5741,7 +5780,7 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, /*Validate the reason string if provided.*/ if( pDisconnectInfo->reasonStringLength != 0U ) { - if(pDisconnectInfo->pReasonString == NULL ) + if( pDisconnectInfo->pReasonString == NULL ) { status = MQTTBadParameter; } @@ -5754,9 +5793,9 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, } #if ( MQTT_USER_PROPERTY_ENABLED ) - if( ( status == MQTTSuccess ) && ( pDisconnectInfo->pUserProperty != NULL ) ) + if( ( status == MQTTSuccess ) && ( pDisconnectInfo->pUserProperty != NULL ) ) { - status = MQTT_GetUserPropertySize( pDisconnectInfo->pUserProperty->userProperty, pDisconnectInfo->pUserProperty->count, &propertyLength ); + status = MQTT_GetUserPropertySize( pDisconnectInfo->pUserProperty->userProperty, pDisconnectInfo->pUserProperty->count, &propertyLength ); } #endif @@ -5800,6 +5839,7 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, uint32_t sessionExpiry ) { uint8_t * pIndexLocal = pIndex; + assert( pDisconnectInfo != NULL ); assert( pIndex != NULL ); /* The first byte in the publish ack packet is the control packet type. */ diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index 514f4e53d..791ebb8c8 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -1693,7 +1693,7 @@ MQTTStatus_t MQTTV5_DeserializeConnack( MQTTConnectProperties_t *pConnackPropert * @code{c} * * MQTTConnectProperties_t connectProperties; - * + * * // Clear context. * memset( ( void * ) &connectProperties, 0x00, sizeof( MQTTConnectProperties_t ) ); * @@ -1853,7 +1853,7 @@ MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, * uint8_t maxQos; * * //Set the publish info parameters. - * + * * //Validate the publish packet * status = MQTTV5_ValidatePublishParams(&ublishInfo,topicAliasMax,retainAvailable,maxQos); * @@ -1885,7 +1885,7 @@ MQTTStatus_t MQTTV5_ValidatePublishParams(const MQTTPublishInfo_t* pPublishInfo, * @param[out] pRemainingLength The Remaining Length of the MQTT PUBLISH packet. * @param[out] pPacketSize The total size of the MQTT PUBLISH packet. * @param[in] maxPacketSize Maximum packet size allowed by the server. - * + * * @return #MQTTBadParameter if the packet would exceed the size allowed by the * MQTT spec or if invalid parameters are passed; #MQTTSuccess otherwise. * @@ -1908,7 +1908,7 @@ MQTTStatus_t MQTTV5_ValidatePublishParams(const MQTTPublishInfo_t* pPublishInfo, * publishInfo.payloadLength = strlen( "Hello World!" ); * * //Set the publish properties. - * + * * status = MQTTV5_ValidatePublishParams(&publishInfo,topicAliasMax,retainAvailable,maxQos); * // Get the size requirement for the publish packet. @@ -1983,7 +1983,7 @@ MQTTStatus_t MQTTV5_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, * @param[out] pRemainingLength The Remaining Length of the MQTT DISCONNECT packet. * @param[out] pPacketSize The size of the MQTT DISCONNECT packet. * @param[in] maxPacketSize Maximum packet size allowed by the server. - * + * * @return #MQTTSuccess, or #MQTTBadParameter if parameters are invalid * * Example @@ -1995,7 +1995,7 @@ MQTTStatus_t MQTTV5_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, * size_t remainingLength =0; * size_t packetSize = 0; * uint32_t maxPacketSize; - * + * * //Set the parameters. * // Get the size requirement for the disconnect packet. * status = MQTTV5_GetAckPacketSize(&disconnectInfo,&remainingLength,&packetSize,maxPacketSize); @@ -2025,7 +2025,7 @@ MQTTStatus_t MQTTV5_GetAckPacketSize( MQTTAckInfo_t *pAckInfo, size_t* pRemainin * @param[in] packetId Packed identifier of the ack packet. * @param[in] remainingLength Remaining length of the ack packet. * @param[in] propertyLength Property length of the ack packet. - * + * * * @return A pointer to the end of the encoded string. */ @@ -2046,10 +2046,10 @@ uint8_t * MQTTV5_SerializeAckFixed(uint8_t * pIndex, * * The input #MQTTFixedBuffer_t.size must be at least as large as the size * returned by #MQTTV5_GetAckPacketSize. - * + * * @note If reason code is success and property length is zero then #MQTT_SerializeAck can also be used. - * - * @param[in] pAckInfo Struct containing information about the publish ack. + * + * @param[in] pAckInfo Struct containing information about the publish ack. * @param[in] remainingLength The remaining length of the packet to be * serialized. * @param[out] pFixedBuffer Buffer for packet serialization. @@ -2098,7 +2098,7 @@ uint8_t * MQTTV5_SerializeAckFixed(uint8_t * pIndex, * { * // The ack packet can now be sent to the broker. * } - * + * * @endcode */ /* @[declare_mqttv5_serializepubackwithproperty] */ @@ -2119,7 +2119,7 @@ MQTTStatus_t MQTTV5_SerializePubAckWithProperty( const MQTTAckInfo_t *pAckInfo, * @param[in] maxPacketSize Maximum packet size allowed by the server. * @param[in] sessionExpiry Session expiry interval in the disconnect packet. * @param[in] prevSessionExpiry Session expiry interval set in the connect packet. - * + * * @return #MQTTSuccess, or #MQTTBadParameter if parameters are invalid * * Example @@ -2133,7 +2133,7 @@ MQTTStatus_t MQTTV5_SerializePubAckWithProperty( const MQTTAckInfo_t *pAckInfo, * uint32_t maxPacketSize; * uint32_t sessionExpiry; * uint32_t prevSessionExpiry - * + * * //Set the parameters. * // Get the size requirement for the disconnect packet. * status = MQTTV5_GetDisconnectPacketSize(&disconnectInfo,&remainingLength,&packetSize,maxPacketSize, sessionExpiry,prevSessionExpiry ); @@ -2181,7 +2181,7 @@ uint8_t * MQTTV5_SerializeDisconnectFixed(uint8_t * pIndex, * @brief Deserialize an MQTT Disconnect packet. * * @param[in] pPacket #MQTTPacketInfo_t containing the buffer. - * @param[out] pDisconnectInfo Struct containing information about the disconnect. + * @param[out] pDisconnectInfo Struct containing information about the disconnect. * @param[out] pServerRef The server reference obtained from the buffer. * @param[out] pServerRefLength The server reference length obtained from the buffer. * @param[in] maxPacketSize MAximum packet size allowed by the client. @@ -2231,8 +2231,8 @@ uint8_t * MQTTV5_SerializeDisconnectFixed(uint8_t * pIndex, * * The input #MQTTFixedBuffer_t.size must be at least as large as the size * returned by #MQTTV5_GetDisconnectPacketSize. - * - * @param[in] pDisconnectInfo Struct containing information about the disconnect. + * + * @param[in] pDisconnectInfo Struct containing information about the disconnect. * @param[in] remainingLength The remaining length of the packet to be * serialized. * @param[out] pFixedBuffer Buffer for packet serialization. @@ -2262,7 +2262,7 @@ uint8_t * MQTTV5_SerializeDisconnectFixed(uint8_t * pIndex, * uint32_t maxPacketSize; * uint32_t sessionExpiry; * uint32_t prevSessionExpiry - * + * * //set the parameters. * // Get the size requirement for the disconnect packet. * status = MQTTV5_GetDisconnectPacketSize(&disconnectInfo,&remainingLength,&packetSize,maxPacketSize, sessionExpiry,prevSessionExpiry ); diff --git a/test/unit-test/MQTTv5/core_mqttv5_utest.c b/test/unit-test/MQTTv5/core_mqttv5_utest.c index 0a6c5aafd..bb8f4afd9 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_utest.c @@ -813,6 +813,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Error_Paths1( void ) MQTTFixedBuffer_t networkBuffer = { 0 }; MQTTConnectProperties_t properties; MQTTPacketInfo_t incomingPacket = { 0 }; + /*Update state returns bad response.*/ setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); @@ -847,6 +848,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Error_Paths2( void ) MQTTFixedBuffer_t networkBuffer = { 0 }; MQTTConnectProperties_t properties; MQTTPacketInfo_t incomingPacket = { 0 }; + /*Update state returns bad response.*/ setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); @@ -876,6 +878,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Error_Paths3( void ) MQTTConnectProperties_t properties; uint16_t packetId = 2; MQTTPacketInfo_t incomingPacket = { 0 }; + /*Invalid packet parameters.*/ setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); @@ -910,6 +913,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Happy_Paths2( void ) MQTTConnectProperties_t properties; uint16_t packetId = 1; MQTTPacketInfo_t incomingPacket = { 0 }; + /*Using event call back to set reason string and user properties,*/ setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); @@ -946,6 +950,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Error_Paths4( void ) MQTTFixedBuffer_t networkBuffer = { 0 }; MQTTConnectProperties_t properties; MQTTPacketInfo_t incomingPacket = { 0 }; + /*Invalid packet parameters.*/ setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); @@ -978,6 +983,7 @@ void test_MQTT_ProcessLoop_handleIncomingAck_Error_Paths5( void ) MQTTConnectProperties_t properties; MQTTPacketInfo_t incomingPacket = { 0 }; uint16_t packetId = 1; + /*Unable to send the packet using transport interface.*/ setupTransportInterface( &transport ); setupNetworkBuffer( &networkBuffer ); From e2de0bdad19df023eb7e07e15ad309d518920f98 Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Thu, 18 Jul 2024 08:36:21 +0000 Subject: [PATCH 80/82] MQTTv5 --- source/core_mqtt.c | 2 +- source/core_mqtt_serializer.c | 22 +++++++++---------- source/include/core_mqtt_serializer.h | 8 +++---- .../MQTTv5/core_mqttv5_serializer_utest.c | 4 ++-- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 11be85744..7a871479c 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -819,7 +819,7 @@ static bool matchTopicFilter( const char * pTopicName, * * @param[in] pContext MQTT Connection context. * @param[in] pAckInfo Reason code and properties. - * @param[in] remainingLength Remaining lenght of the packet. + * @param[in] remainingLength Remaining length of the packet. * @param[in] sessionExpiry Session expiry interval. * * diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 1c769a5b9..ba2bf6183 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -1178,7 +1178,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[in] pFixedBuffer Buffer for packet serialization. * */ - static void seriailizePubAckPacketV5( const MQTTAckInfo_t * pAckInfo, + static void serializePubAckPacketV5( const MQTTAckInfo_t * pAckInfo, uint8_t packetType, uint16_t packetId, size_t remainingLength, @@ -1213,7 +1213,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * * @param[out] pAckInfo To store the decoded property. * @param[out] pIndex Pointer to the current index of the buffer. - * @param[out] remainingLength Reamining length of the incoming packet. + * @param[out] remainingLength Remaining length of the incoming packet. * * * @return #MQTTSuccess, #MQTTProtocolError and #MQTTMalformedPacket @@ -1260,7 +1260,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * @param[in] sessionExpiry Session Expiry Interval. * */ - static void seriailizeDisconnectPacketV5( const MQTTAckInfo_t * pDisconnectInfo, + static void serializeDisconnectPacketV5( const MQTTAckInfo_t * pDisconnectInfo, const MQTTFixedBuffer_t * pFixedBuffer, size_t remainingLength, uint32_t sessionExpiry ); @@ -2392,7 +2392,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); return status; } - static void seriailizePubAckPacketV5( const MQTTAckInfo_t * pAckInfo, + static void serializePubAckPacketV5( const MQTTAckInfo_t * pAckInfo, uint8_t packetType, uint16_t packetId, size_t remainingLength, @@ -2556,7 +2556,7 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); { while( ( propertyLength > 0U ) && ( status == MQTTSuccess ) ) { - /*Decode the poperty id.*/ + /*Decode the property id.*/ uint8_t packetId = *pLocalIndex; bool reasonString = false; pLocalIndex = &pLocalIndex[ 1 ]; @@ -5186,7 +5186,7 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, pIndexLocal = &pIndexLocal[ 4 ]; } - /*Serialze the topic alias if provided*/ + /*Serialize the topic alias if provided*/ if( pPublishInfo->topicAlias != 0U ) { @@ -5441,7 +5441,7 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, } else if( ( pPublishInfo->retain == true ) && ( retainAvailable == 0U ) ) { - LogError( ( "Retain is not avaialble." ) ); + LogError( ( "Retain is not available." ) ); status = MQTTBadParameter; } else if( ( pPublishInfo->qos != MQTTQoS0 ) && ( maxQos == 0U ) ) @@ -5721,7 +5721,7 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, } else { - seriailizePubAckPacketV5( pAckInfo, packetType, packetId, remainingLength, pFixedBuffer ); + serializePubAckPacketV5( pAckInfo, packetType, packetId, remainingLength, pFixedBuffer ); } } @@ -5868,7 +5868,7 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, return pIndexLocal; } - static void seriailizeDisconnectPacketV5( const MQTTAckInfo_t * pDisconnectInfo, + static void serializeDisconnectPacketV5( const MQTTAckInfo_t * pDisconnectInfo, const MQTTFixedBuffer_t * pFixedBuffer, size_t remainingLength, uint32_t sessionExpiry ) @@ -5954,7 +5954,7 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, } else { - seriailizeDisconnectPacketV5( pDisconnectInfo, pFixedBuffer, remainingLength, sessionExpiry ); + serializeDisconnectPacketV5( pDisconnectInfo, pFixedBuffer, remainingLength, sessionExpiry ); } } @@ -6034,7 +6034,7 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, { while( ( propertyLength > 0U ) && ( status == MQTTSuccess ) ) { - /*Decode the poperty id.*/ + /*Decode the property id.*/ uint8_t propertyId = *pIndex; bool reasonString = false; bool serverRef = false; diff --git a/source/include/core_mqtt_serializer.h b/source/include/core_mqtt_serializer.h index 791ebb8c8..151ce76da 100644 --- a/source/include/core_mqtt_serializer.h +++ b/source/include/core_mqtt_serializer.h @@ -1855,7 +1855,7 @@ MQTTStatus_t MQTTV5_SerializeConnect(const MQTTConnectInfo_t* pConnectInfo, * //Set the publish info parameters. * * //Validate the publish packet - * status = MQTTV5_ValidatePublishParams(&ublishInfo,topicAliasMax,retainAvailable,maxQos); + * status = MQTTV5_ValidatePublishParams(&publishInfo,topicAliasMax,retainAvailable,maxQos); * * if( status == MQTTSuccess ) * { @@ -2007,9 +2007,9 @@ MQTTStatus_t MQTTV5_DeserializeAck( const MQTTPacketInfo_t * pIncomingPacket, * } * @endcode */ -/* @[declare_mqttv5_getdackpacketsize] */ +/* @[declare_mqttv5_getackpacketsize] */ MQTTStatus_t MQTTV5_GetAckPacketSize( MQTTAckInfo_t *pAckInfo, size_t* pRemainingLength,size_t * pPacketSize, uint32_t maxPacketSize); -/* @[declare_mqttv5_getdackpacketsize] */ +/* @[declare_mqttv5_getackpacketsize] */ /** * @fn uint8_t * MQTTV5_SerializeAckFixed(uint8_t * pIndex, @@ -2272,7 +2272,7 @@ uint8_t * MQTTV5_SerializeDisconnectFixed(uint8_t * pIndex, * * // Serialize the disconnect into the fixed buffer. * MQTTV5_SerializeDisconnectWithProperty( &disconnectInfo, - remainingLenght, + remainingLength, &fixedBuffer, sessionExpiry); * diff --git a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c index d7fed285d..2da446624 100644 --- a/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c +++ b/test/unit-test/MQTTv5/core_mqttv5_serializer_utest.c @@ -2444,7 +2444,7 @@ void test_MQTTV5_SerializeConnect_Happy_Paths() verifySerializedConnectPacket( &connectInfo, &publishInfo, &properties, remainingLength, &networkBuffer ); - /* Repeat with NULL ppublishInfo. */ + /* Repeat with NULL publishInfo. */ mqttStatus = MQTTV5_GetConnectPacketSize( &connectInfo, NULL, &properties, @@ -2753,7 +2753,7 @@ void test_MQTTV5_DeserializeAck_puback( void ) TEST_ASSERT_EQUAL_INT( MQTTProtocolError, status ); requestProblem = true; - /*User properties not initilaized.*/ + /*User properties not initialized.*/ status = MQTTV5_DeserializeAck( &mqttPacketInfo, &packetIdentifier, &ackInfo, requestProblem, maxPacketSize ); TEST_ASSERT_EQUAL_INT( MQTTBadParameter, status ); From b2e91fae442ddee2f7219557ac5377e5f8817a8a Mon Sep 17 00:00:00 2001 From: Pooja Toshniwal Date: Thu, 18 Jul 2024 08:42:03 +0000 Subject: [PATCH 81/82] Uncrustify: triggered by comment. --- source/core_mqtt_serializer.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index ba2bf6183..6188a00bc 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -1179,10 +1179,10 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * */ static void serializePubAckPacketV5( const MQTTAckInfo_t * pAckInfo, - uint8_t packetType, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t * pFixedBuffer ); + uint8_t packetType, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t * pFixedBuffer ); /** * @brief Prints the appropriate message for the PUBREL, PUBACK response code if logs @@ -1261,9 +1261,9 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); * */ static void serializeDisconnectPacketV5( const MQTTAckInfo_t * pDisconnectInfo, - const MQTTFixedBuffer_t * pFixedBuffer, - size_t remainingLength, - uint32_t sessionExpiry ); + const MQTTFixedBuffer_t * pFixedBuffer, + size_t remainingLength, + uint32_t sessionExpiry ); /** * @brief Prints and validates the appropriate message for the Disconnect response code if logs @@ -2393,10 +2393,10 @@ static MQTTStatus_t deserializePingresp( const MQTTPacketInfo_t * pPingresp ); } static void serializePubAckPacketV5( const MQTTAckInfo_t * pAckInfo, - uint8_t packetType, - uint16_t packetId, - size_t remainingLength, - const MQTTFixedBuffer_t * pFixedBuffer ) + uint8_t packetType, + uint16_t packetId, + size_t remainingLength, + const MQTTFixedBuffer_t * pFixedBuffer ) { uint8_t * pIndex = NULL; @@ -5869,9 +5869,9 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, } static void serializeDisconnectPacketV5( const MQTTAckInfo_t * pDisconnectInfo, - const MQTTFixedBuffer_t * pFixedBuffer, - size_t remainingLength, - uint32_t sessionExpiry ) + const MQTTFixedBuffer_t * pFixedBuffer, + size_t remainingLength, + uint32_t sessionExpiry ) { uint8_t * pIndex = NULL; From a0dc920748560241f0c79c526e1d2c7f08623f93 Mon Sep 17 00:00:00 2001 From: Pooja-Toshniwal Date: Fri, 19 Jul 2024 07:29:03 +0000 Subject: [PATCH 82/82] MQTTv5 --- source/core_mqtt.c | 4 ++-- source/core_mqtt_serializer.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source/core_mqtt.c b/source/core_mqtt.c index 7a871479c..463d51a7f 100644 --- a/source/core_mqtt.c +++ b/source/core_mqtt.c @@ -818,7 +818,7 @@ static bool matchTopicFilter( const char * pTopicName, * @brief Send acks for received QoS 1/2 publishes with properties. * * @param[in] pContext MQTT Connection context. - * @param[in] pAckInfo Reason code and properties. + * @param[in] pDisconnectInfo Reason code and properties. * @param[in] remainingLength Remaining length of the packet. * @param[in] sessionExpiry Session expiry interval. * @@ -828,7 +828,7 @@ static bool matchTopicFilter( const char * pTopicName, */ static MQTTStatus_t sendDisconnectWithoutCopyV5( MQTTContext_t * pContext, - const MQTTAckInfo_t * pAckInfo, + const MQTTAckInfo_t * pDisconnectInfo, size_t remainingLength, uint32_t sessionExpiry ); diff --git a/source/core_mqtt_serializer.c b/source/core_mqtt_serializer.c index 6188a00bc..055168ac8 100644 --- a/source/core_mqtt_serializer.c +++ b/source/core_mqtt_serializer.c @@ -5968,7 +5968,7 @@ MQTTStatus_t MQTT_ProcessIncomingPacketTypeAndLength( const uint8_t * pBuffer, uint32_t maxPacketSize ) { MQTTStatus_t status = MQTTSuccess; - const uint8_t * pIndex; + const uint8_t * pIndex = NULL; size_t propertyLength = 0U; /*Validate the arguments*/